diff --git a/examples/simple-chatbot-fullstack/README.md b/examples/simple-chatbot-fullstack/README.md
new file mode 100644
index 000000000..746a22c23
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/README.md
@@ -0,0 +1,60 @@
+# Simple Chatbot Full Stack
+
+A full-stack implementation of an AI chatbot with real-time audio/video interaction.
+
+## Structure
+
+- `server/` - Python-based bot server using FastAPI
+- `client/` - JavaScript client using RTVI and Daily.co for WebRTC
+
+## Setup
+
+### Server Setup
+
+1. Navigate to the server directory:
+ ```bash
+ cd server
+ ```
+2. Create and activate a virtual environment:
+ ```bash
+ python3 -m venv venv
+ source venv/bin/activate # On Windows: venv\Scripts\activate
+ ```
+3. Install requirements:
+ ```bash
+ pip install -r requirements.txt
+ ```
+4. Copy env.example to .env and add your credentials
+5. Start the server:
+ ```bash
+ python server.py
+ ```
+
+### Client Setup
+
+1. Navigate to the client directory:
+ ```bash
+ cd client
+ ```
+2. Install dependencies:
+ ```bash
+ npm install
+ ```
+3. Start the development server:
+ ```bash
+ npm run dev
+ ```
+4. Open the URL shown in the terminal (usually http://localhost:5173)
+
+## Usage
+
+1. Start the server (it will run on port 7860)
+2. Start the client server (it will run on port 5173)
+3. Open http://localhost:5173 in your browser
+4. Click "Connect" to start a session with the bot
+
+## Requirements
+
+- Python 3.10+
+- Node.js 14+
+- Modern web browser with WebRTC support
diff --git a/examples/simple-chatbot-fullstack/examples/browser-only/README.md b/examples/simple-chatbot-fullstack/examples/browser-only/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/index.html b/examples/simple-chatbot-fullstack/examples/javascript/index.html
new file mode 100644
index 000000000..d6f4bfcb1
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/index.html
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ AI Chatbot
+
+
+
+
+
+
+ Status: Disconnected
+
+
+ Connect
+ Disconnect
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/esbuild b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/esbuild
new file mode 120000
index 000000000..c83ac0707
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/esbuild
@@ -0,0 +1 @@
+../esbuild/bin/esbuild
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/nanoid b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/nanoid
new file mode 120000
index 000000000..e2be547bc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/nanoid
@@ -0,0 +1 @@
+../nanoid/bin/nanoid.cjs
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/rollup b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/rollup
new file mode 120000
index 000000000..5939621ca
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/rollup
@@ -0,0 +1 @@
+../rollup/dist/bin/rollup
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/uuid b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/uuid
new file mode 120000
index 000000000..588f70ecc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/uuid
@@ -0,0 +1 @@
+../uuid/dist/bin/uuid
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/vite b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/vite
new file mode 120000
index 000000000..6d1e3beaf
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.bin/vite
@@ -0,0 +1 @@
+../vite/bin/vite.js
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.package-lock.json b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.package-lock.json
new file mode 100644
index 000000000..ba4254fd9
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.package-lock.json
@@ -0,0 +1,593 @@
+{
+ "name": "client",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "node_modules/@babel/runtime": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
+ "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@daily-co/daily-js": {
+ "version": "0.72.2",
+ "resolved": "https://registry.npmjs.org/@daily-co/daily-js/-/daily-js-0.72.2.tgz",
+ "integrity": "sha512-beUN/V4S4++ZYIUAfRnRt/rUjc2jkCrc2YxghMEyUPxjZy1n73OCtbty68RDMpSYkIs89ailJaUNRLcPhIuMaw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@sentry/browser": "^7.60.1",
+ "bowser": "^2.8.1",
+ "dequal": "^2.0.3",
+ "events": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@daily-co/realtime-ai-daily": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@daily-co/realtime-ai-daily/-/realtime-ai-daily-0.2.1.tgz",
+ "integrity": "sha512-F3S0+bpWx7ALx9kNCSNUkTUAflsDv1DyGW2XLKDG8YsYhaT8WXXBJw6kTKUvV2BF9lzJrI0gg911ATbZMgJyRA==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@daily-co/daily-js": "^0.72.1",
+ "realtime-ai": "0.2.1"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz",
+ "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.28.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.0.tgz",
+ "integrity": "sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@sentry-internal/feedback": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.120.0.tgz",
+ "integrity": "sha512-+nU2PXMAyrYyK64PlfxXyRZ+LIl6IWAcdnBeX916WqOJy2WWmtdOrAX8muVwLVIXHzp1EMG1nEZgtpL/Vr2XKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@sentry-internal/replay-canvas": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.120.0.tgz",
+ "integrity": "sha512-ZEFZBP+Jxmy/8IY7IZDZVPqAJ6pPxAFo1lNTd8xfpbno3WAtHw0FLewLfjrFt0zfIgCk8EXj4PW355zRP3C2NQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "7.120.0",
+ "@sentry/replay": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@sentry-internal/tracing": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.0.tgz",
+ "integrity": "sha512-VymJoIGMV0PcTJyshka9uJ1sKpR7bHooqW5jTEr6g0dYAwB723fPXHjVW+7SETF7i5+yr2KMprYKreqRidKyKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sentry/browser": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.120.0.tgz",
+ "integrity": "sha512-2hRE3QPLBBX+qqZEHY2IbJv4YvfXY7m/bWmNjN15phyNK3oBcm2Pa8ZiKUYrk8u/4DCEGzNUlhOmFgaxwSfpNw==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry-internal/feedback": "7.120.0",
+ "@sentry-internal/replay-canvas": "7.120.0",
+ "@sentry-internal/tracing": "7.120.0",
+ "@sentry/core": "7.120.0",
+ "@sentry/integrations": "7.120.0",
+ "@sentry/replay": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sentry/core": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.0.tgz",
+ "integrity": "sha512-uTc2sUQ0heZrMI31oFOHGxjKgw16MbV3C2mcT7qcrb6UmSGR9WqPOXZhnVVuzPWCnQ8B5IPPVdynK//J+9/m6g==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sentry/integrations": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.0.tgz",
+ "integrity": "sha512-/Hs9MgSmG4JFNyeQkJ+MWh/fxO/U38Pz0VSH3hDrfyCjI8vH9Vz9inGEQXgB9Ke4eH8XnhsQ7xPnM27lWJts6g==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0",
+ "localforage": "^1.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sentry/replay": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.120.0.tgz",
+ "integrity": "sha512-wV9fIYwNtMvFOHQB5eSm+kCorRXsX5+v1DxyTC8Lee1hfzcUQ2Wvqh75VktpXuM9TeZE8h7aQ4Wo4qCgTUdtvA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry-internal/tracing": "7.120.0",
+ "@sentry/core": "7.120.0",
+ "@sentry/types": "7.120.0",
+ "@sentry/utils": "7.120.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@sentry/types": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.0.tgz",
+ "integrity": "sha512-3mvELhBQBo6EljcRrJzfpGJYHKIZuBXmqh0y8prh03SWE62pwRL614GIYtd4YOC6OP1gfPn8S8h9w3dD5bF5HA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sentry/utils": {
+ "version": "7.120.0",
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.0.tgz",
+ "integrity": "sha512-XZsPcBHoYu4+HYn14IOnhabUZgCF99Xn4IdWn8Hjs/c+VPtuAVDhRTsfPyPrpY3OcN8DgO5fZX4qcv/6kNbX1A==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/types": "7.120.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/events": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.3.tgz",
+ "integrity": "sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==",
+ "license": "MIT"
+ },
+ "node_modules/bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+ "license": "MIT"
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz",
+ "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.24.0",
+ "@esbuild/android-arm": "0.24.0",
+ "@esbuild/android-arm64": "0.24.0",
+ "@esbuild/android-x64": "0.24.0",
+ "@esbuild/darwin-arm64": "0.24.0",
+ "@esbuild/darwin-x64": "0.24.0",
+ "@esbuild/freebsd-arm64": "0.24.0",
+ "@esbuild/freebsd-x64": "0.24.0",
+ "@esbuild/linux-arm": "0.24.0",
+ "@esbuild/linux-arm64": "0.24.0",
+ "@esbuild/linux-ia32": "0.24.0",
+ "@esbuild/linux-loong64": "0.24.0",
+ "@esbuild/linux-mips64el": "0.24.0",
+ "@esbuild/linux-ppc64": "0.24.0",
+ "@esbuild/linux-riscv64": "0.24.0",
+ "@esbuild/linux-s390x": "0.24.0",
+ "@esbuild/linux-x64": "0.24.0",
+ "@esbuild/netbsd-x64": "0.24.0",
+ "@esbuild/openbsd-arm64": "0.24.0",
+ "@esbuild/openbsd-x64": "0.24.0",
+ "@esbuild/sunos-x64": "0.24.0",
+ "@esbuild/win32-arm64": "0.24.0",
+ "@esbuild/win32-ia32": "0.24.0",
+ "@esbuild/win32-x64": "0.24.0"
+ }
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "license": "MIT"
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/lie": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
+ "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
+ "license": "MIT",
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
+ "node_modules/localforage": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
+ "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lie": "3.1.1"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
+ "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/postcss": {
+ "version": "8.4.49",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
+ "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/realtime-ai": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/realtime-ai/-/realtime-ai-0.2.1.tgz",
+ "integrity": "sha512-2zhCO9V9zdoBwusjq6FkiEF3yrwyJryLUo+OMYPU0rkXYh4SVcIP1dx06qbEMRTuaB9U2wEWvqxPaEQnXNzovw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@types/events": "^3.0.3",
+ "clone-deep": "^4.0.1",
+ "events": "^3.3.0",
+ "typed-emitter": "^2.1.0",
+ "uuid": "^10.0.0"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "license": "MIT"
+ },
+ "node_modules/rollup": {
+ "version": "4.28.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.0.tgz",
+ "integrity": "sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.6"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.28.0",
+ "@rollup/rollup-android-arm64": "4.28.0",
+ "@rollup/rollup-darwin-arm64": "4.28.0",
+ "@rollup/rollup-darwin-x64": "4.28.0",
+ "@rollup/rollup-freebsd-arm64": "4.28.0",
+ "@rollup/rollup-freebsd-x64": "4.28.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.28.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.28.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.28.0",
+ "@rollup/rollup-linux-arm64-musl": "4.28.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.28.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.28.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.28.0",
+ "@rollup/rollup-linux-x64-gnu": "4.28.0",
+ "@rollup/rollup-linux-x64-musl": "4.28.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.28.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.28.0",
+ "@rollup/rollup-win32-x64-msvc": "4.28.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD",
+ "optional": true
+ },
+ "node_modules/typed-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz",
+ "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==",
+ "license": "MIT",
+ "optionalDependencies": {
+ "rxjs": "*"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
+ "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.2.tgz",
+ "integrity": "sha512-XdQ+VsY2tJpBsKGs0wf3U/+azx8BBpYRHFAyKm5VeEZNOJZRB63q7Sc8Iup3k0TrN3KO6QgyzFf+opSbfY1y0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.24.0",
+ "postcss": "^8.4.49",
+ "rollup": "^4.23.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ }
+ }
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js
new file mode 100644
index 000000000..19f818e53
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js
@@ -0,0 +1,6138 @@
+import {
+ $08bedc6ef0d1c66c$export$59b4786f333aac02,
+ $08bedc6ef0d1c66c$export$e0624a511a2c4e9,
+ $2665d8e6d1596258$export$86495b081fef8e52,
+ $bff4129f8f902365$export$69aa9ab0334b212
+} from "./chunk-MC2NFNB2.js";
+
+// node_modules/@daily-co/daily-js/dist/daily-esm.js
+function e(e2, t2) {
+ if (null == e2) return {};
+ var n2, r2, i2 = function(e3, t3) {
+ if (null == e3) return {};
+ var n3, r3, i3 = {}, o3 = Object.keys(e3);
+ for (r3 = 0; r3 < o3.length; r3++) n3 = o3[r3], t3.indexOf(n3) >= 0 || (i3[n3] = e3[n3]);
+ return i3;
+ }(e2, t2);
+ if (Object.getOwnPropertySymbols) {
+ var o2 = Object.getOwnPropertySymbols(e2);
+ for (r2 = 0; r2 < o2.length; r2++) n2 = o2[r2], t2.indexOf(n2) >= 0 || Object.prototype.propertyIsEnumerable.call(e2, n2) && (i2[n2] = e2[n2]);
+ }
+ return i2;
+}
+function t(e2, t2) {
+ if (!(e2 instanceof t2)) throw new TypeError("Cannot call a class as a function");
+}
+function n(e2) {
+ return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e3) {
+ return typeof e3;
+ } : function(e3) {
+ return e3 && "function" == typeof Symbol && e3.constructor === Symbol && e3 !== Symbol.prototype ? "symbol" : typeof e3;
+ }, n(e2);
+}
+function r(e2) {
+ var t2 = function(e3, t3) {
+ if ("object" !== n(e3) || null === e3) return e3;
+ var r2 = e3[Symbol.toPrimitive];
+ if (void 0 !== r2) {
+ var i2 = r2.call(e3, t3 || "default");
+ if ("object" !== n(i2)) return i2;
+ throw new TypeError("@@toPrimitive must return a primitive value.");
+ }
+ return ("string" === t3 ? String : Number)(e3);
+ }(e2, "string");
+ return "symbol" === n(t2) ? t2 : String(t2);
+}
+function i(e2, t2) {
+ for (var n2 = 0; n2 < t2.length; n2++) {
+ var i2 = t2[n2];
+ i2.enumerable = i2.enumerable || false, i2.configurable = true, "value" in i2 && (i2.writable = true), Object.defineProperty(e2, r(i2.key), i2);
+ }
+}
+function o(e2, t2, n2) {
+ return t2 && i(e2.prototype, t2), n2 && i(e2, n2), Object.defineProperty(e2, "prototype", { writable: false }), e2;
+}
+function a(e2) {
+ if (void 0 === e2) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return e2;
+}
+function s(e2, t2) {
+ return s = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e3, t3) {
+ return e3.__proto__ = t3, e3;
+ }, s(e2, t2);
+}
+function c(e2, t2) {
+ if ("function" != typeof t2 && null !== t2) throw new TypeError("Super expression must either be null or a function");
+ e2.prototype = Object.create(t2 && t2.prototype, { constructor: { value: e2, writable: true, configurable: true } }), Object.defineProperty(e2, "prototype", { writable: false }), t2 && s(e2, t2);
+}
+function l(e2, t2) {
+ if (t2 && ("object" === n(t2) || "function" == typeof t2)) return t2;
+ if (void 0 !== t2) throw new TypeError("Derived constructors may only return object or undefined");
+ return a(e2);
+}
+function u(e2) {
+ return u = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e3) {
+ return e3.__proto__ || Object.getPrototypeOf(e3);
+ }, u(e2);
+}
+function d(e2, t2, n2) {
+ return (t2 = r(t2)) in e2 ? Object.defineProperty(e2, t2, { value: n2, enumerable: true, configurable: true, writable: true }) : e2[t2] = n2, e2;
+}
+function h(e2, t2, n2, r2, i2, o2, a2) {
+ try {
+ var s2 = e2[o2](a2), c2 = s2.value;
+ } catch (e3) {
+ return void n2(e3);
+ }
+ s2.done ? t2(c2) : Promise.resolve(c2).then(r2, i2);
+}
+function p(e2) {
+ return function() {
+ var t2 = this, n2 = arguments;
+ return new Promise(function(r2, i2) {
+ var o2 = e2.apply(t2, n2);
+ function a2(e3) {
+ h(o2, r2, i2, a2, s2, "next", e3);
+ }
+ function s2(e3) {
+ h(o2, r2, i2, a2, s2, "throw", e3);
+ }
+ a2(void 0);
+ });
+ };
+}
+function f(e2, t2) {
+ (null == t2 || t2 > e2.length) && (t2 = e2.length);
+ for (var n2 = 0, r2 = new Array(t2); n2 < t2; n2++) r2[n2] = e2[n2];
+ return r2;
+}
+function g(e2, t2) {
+ return function(e3) {
+ if (Array.isArray(e3)) return e3;
+ }(e2) || function(e3, t3) {
+ var n2 = null == e3 ? null : "undefined" != typeof Symbol && e3[Symbol.iterator] || e3["@@iterator"];
+ if (null != n2) {
+ var r2, i2, o2, a2, s2 = [], c2 = true, l2 = false;
+ try {
+ if (o2 = (n2 = n2.call(e3)).next, 0 === t3) {
+ if (Object(n2) !== n2) return;
+ c2 = false;
+ } else for (; !(c2 = (r2 = o2.call(n2)).done) && (s2.push(r2.value), s2.length !== t3); c2 = true) ;
+ } catch (e4) {
+ l2 = true, i2 = e4;
+ } finally {
+ try {
+ if (!c2 && null != n2.return && (a2 = n2.return(), Object(a2) !== a2)) return;
+ } finally {
+ if (l2) throw i2;
+ }
+ }
+ return s2;
+ }
+ }(e2, t2) || function(e3, t3) {
+ if (e3) {
+ if ("string" == typeof e3) return f(e3, t3);
+ var n2 = Object.prototype.toString.call(e3).slice(8, -1);
+ return "Object" === n2 && e3.constructor && (n2 = e3.constructor.name), "Map" === n2 || "Set" === n2 ? Array.from(e3) : "Arguments" === n2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2) ? f(e3, t3) : void 0;
+ }
+ }(e2, t2) || function() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }();
+}
+var v;
+var m = {};
+var y = { get exports() {
+ return m;
+}, set exports(e2) {
+ m = e2;
+} };
+var _ = "object" == typeof Reflect ? Reflect : null;
+var b = _ && "function" == typeof _.apply ? _.apply : function(e2, t2, n2) {
+ return Function.prototype.apply.call(e2, t2, n2);
+};
+v = _ && "function" == typeof _.ownKeys ? _.ownKeys : Object.getOwnPropertySymbols ? function(e2) {
+ return Object.getOwnPropertyNames(e2).concat(Object.getOwnPropertySymbols(e2));
+} : function(e2) {
+ return Object.getOwnPropertyNames(e2);
+};
+var w = Number.isNaN || function(e2) {
+ return e2 != e2;
+};
+function S() {
+ S.init.call(this);
+}
+y.exports = S, m.once = function(e2, t2) {
+ return new Promise(function(n2, r2) {
+ function i2(n3) {
+ e2.removeListener(t2, o2), r2(n3);
+ }
+ function o2() {
+ "function" == typeof e2.removeListener && e2.removeListener("error", i2), n2([].slice.call(arguments));
+ }
+ j(e2, t2, o2, { once: true }), "error" !== t2 && function(e3, t3, n3) {
+ "function" == typeof e3.on && j(e3, "error", t3, n3);
+ }(e2, i2, { once: true });
+ });
+}, S.EventEmitter = S, S.prototype._events = void 0, S.prototype._eventsCount = 0, S.prototype._maxListeners = void 0;
+var k = 10;
+function E(e2) {
+ if ("function" != typeof e2) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e2);
+}
+function C(e2) {
+ return void 0 === e2._maxListeners ? S.defaultMaxListeners : e2._maxListeners;
+}
+function M(e2, t2, n2, r2) {
+ var i2, o2, a2, s2;
+ if (E(n2), void 0 === (o2 = e2._events) ? (o2 = e2._events = /* @__PURE__ */ Object.create(null), e2._eventsCount = 0) : (void 0 !== o2.newListener && (e2.emit("newListener", t2, n2.listener ? n2.listener : n2), o2 = e2._events), a2 = o2[t2]), void 0 === a2) a2 = o2[t2] = n2, ++e2._eventsCount;
+ else if ("function" == typeof a2 ? a2 = o2[t2] = r2 ? [n2, a2] : [a2, n2] : r2 ? a2.unshift(n2) : a2.push(n2), (i2 = C(e2)) > 0 && a2.length > i2 && !a2.warned) {
+ a2.warned = true;
+ var c2 = new Error("Possible EventEmitter memory leak detected. " + a2.length + " " + String(t2) + " listeners added. Use emitter.setMaxListeners() to increase limit");
+ c2.name = "MaxListenersExceededWarning", c2.emitter = e2, c2.type = t2, c2.count = a2.length, s2 = c2, console && console.warn && console.warn(s2);
+ }
+ return e2;
+}
+function T() {
+ if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = true, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
+}
+function O(e2, t2, n2) {
+ var r2 = { fired: false, wrapFn: void 0, target: e2, type: t2, listener: n2 }, i2 = T.bind(r2);
+ return i2.listener = n2, r2.wrapFn = i2, i2;
+}
+function P(e2, t2, n2) {
+ var r2 = e2._events;
+ if (void 0 === r2) return [];
+ var i2 = r2[t2];
+ return void 0 === i2 ? [] : "function" == typeof i2 ? n2 ? [i2.listener || i2] : [i2] : n2 ? function(e3) {
+ for (var t3 = new Array(e3.length), n3 = 0; n3 < t3.length; ++n3) t3[n3] = e3[n3].listener || e3[n3];
+ return t3;
+ }(i2) : D(i2, i2.length);
+}
+function A(e2) {
+ var t2 = this._events;
+ if (void 0 !== t2) {
+ var n2 = t2[e2];
+ if ("function" == typeof n2) return 1;
+ if (void 0 !== n2) return n2.length;
+ }
+ return 0;
+}
+function D(e2, t2) {
+ for (var n2 = new Array(t2), r2 = 0; r2 < t2; ++r2) n2[r2] = e2[r2];
+ return n2;
+}
+function j(e2, t2, n2, r2) {
+ if ("function" == typeof e2.on) r2.once ? e2.once(t2, n2) : e2.on(t2, n2);
+ else {
+ if ("function" != typeof e2.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof e2);
+ e2.addEventListener(t2, function i2(o2) {
+ r2.once && e2.removeEventListener(t2, i2), n2(o2);
+ });
+ }
+}
+Object.defineProperty(S, "defaultMaxListeners", { enumerable: true, get: function() {
+ return k;
+}, set: function(e2) {
+ if ("number" != typeof e2 || e2 < 0 || w(e2)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e2 + ".");
+ k = e2;
+} }), S.init = function() {
+ void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
+}, S.prototype.setMaxListeners = function(e2) {
+ if ("number" != typeof e2 || e2 < 0 || w(e2)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e2 + ".");
+ return this._maxListeners = e2, this;
+}, S.prototype.getMaxListeners = function() {
+ return C(this);
+}, S.prototype.emit = function(e2) {
+ for (var t2 = [], n2 = 1; n2 < arguments.length; n2++) t2.push(arguments[n2]);
+ var r2 = "error" === e2, i2 = this._events;
+ if (void 0 !== i2) r2 = r2 && void 0 === i2.error;
+ else if (!r2) return false;
+ if (r2) {
+ var o2;
+ if (t2.length > 0 && (o2 = t2[0]), o2 instanceof Error) throw o2;
+ var a2 = new Error("Unhandled error." + (o2 ? " (" + o2.message + ")" : ""));
+ throw a2.context = o2, a2;
+ }
+ var s2 = i2[e2];
+ if (void 0 === s2) return false;
+ if ("function" == typeof s2) b(s2, this, t2);
+ else {
+ var c2 = s2.length, l2 = D(s2, c2);
+ for (n2 = 0; n2 < c2; ++n2) b(l2[n2], this, t2);
+ }
+ return true;
+}, S.prototype.addListener = function(e2, t2) {
+ return M(this, e2, t2, false);
+}, S.prototype.on = S.prototype.addListener, S.prototype.prependListener = function(e2, t2) {
+ return M(this, e2, t2, true);
+}, S.prototype.once = function(e2, t2) {
+ return E(t2), this.on(e2, O(this, e2, t2)), this;
+}, S.prototype.prependOnceListener = function(e2, t2) {
+ return E(t2), this.prependListener(e2, O(this, e2, t2)), this;
+}, S.prototype.removeListener = function(e2, t2) {
+ var n2, r2, i2, o2, a2;
+ if (E(t2), void 0 === (r2 = this._events)) return this;
+ if (void 0 === (n2 = r2[e2])) return this;
+ if (n2 === t2 || n2.listener === t2) 0 == --this._eventsCount ? this._events = /* @__PURE__ */ Object.create(null) : (delete r2[e2], r2.removeListener && this.emit("removeListener", e2, n2.listener || t2));
+ else if ("function" != typeof n2) {
+ for (i2 = -1, o2 = n2.length - 1; o2 >= 0; o2--) if (n2[o2] === t2 || n2[o2].listener === t2) {
+ a2 = n2[o2].listener, i2 = o2;
+ break;
+ }
+ if (i2 < 0) return this;
+ 0 === i2 ? n2.shift() : function(e3, t3) {
+ for (; t3 + 1 < e3.length; t3++) e3[t3] = e3[t3 + 1];
+ e3.pop();
+ }(n2, i2), 1 === n2.length && (r2[e2] = n2[0]), void 0 !== r2.removeListener && this.emit("removeListener", e2, a2 || t2);
+ }
+ return this;
+}, S.prototype.off = S.prototype.removeListener, S.prototype.removeAllListeners = function(e2) {
+ var t2, n2, r2;
+ if (void 0 === (n2 = this._events)) return this;
+ if (void 0 === n2.removeListener) return 0 === arguments.length ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : void 0 !== n2[e2] && (0 == --this._eventsCount ? this._events = /* @__PURE__ */ Object.create(null) : delete n2[e2]), this;
+ if (0 === arguments.length) {
+ var i2, o2 = Object.keys(n2);
+ for (r2 = 0; r2 < o2.length; ++r2) "removeListener" !== (i2 = o2[r2]) && this.removeAllListeners(i2);
+ return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this;
+ }
+ if ("function" == typeof (t2 = n2[e2])) this.removeListener(e2, t2);
+ else if (void 0 !== t2) for (r2 = t2.length - 1; r2 >= 0; r2--) this.removeListener(e2, t2[r2]);
+ return this;
+}, S.prototype.listeners = function(e2) {
+ return P(this, e2, true);
+}, S.prototype.rawListeners = function(e2) {
+ return P(this, e2, false);
+}, S.listenerCount = function(e2, t2) {
+ return "function" == typeof e2.listenerCount ? e2.listenerCount(t2) : A.call(e2, t2);
+}, S.prototype.listenerCount = A, S.prototype.eventNames = function() {
+ return this._eventsCount > 0 ? v(this._events) : [];
+};
+var x = Object.prototype.hasOwnProperty;
+function L(e2, t2, n2) {
+ for (n2 of e2.keys()) if (I(n2, t2)) return n2;
+}
+function I(e2, t2) {
+ var n2, r2, i2;
+ if (e2 === t2) return true;
+ if (e2 && t2 && (n2 = e2.constructor) === t2.constructor) {
+ if (n2 === Date) return e2.getTime() === t2.getTime();
+ if (n2 === RegExp) return e2.toString() === t2.toString();
+ if (n2 === Array) {
+ if ((r2 = e2.length) === t2.length) for (; r2-- && I(e2[r2], t2[r2]); ) ;
+ return -1 === r2;
+ }
+ if (n2 === Set) {
+ if (e2.size !== t2.size) return false;
+ for (r2 of e2) {
+ if ((i2 = r2) && "object" == typeof i2 && !(i2 = L(t2, i2))) return false;
+ if (!t2.has(i2)) return false;
+ }
+ return true;
+ }
+ if (n2 === Map) {
+ if (e2.size !== t2.size) return false;
+ for (r2 of e2) {
+ if ((i2 = r2[0]) && "object" == typeof i2 && !(i2 = L(t2, i2))) return false;
+ if (!I(r2[1], t2.get(i2))) return false;
+ }
+ return true;
+ }
+ if (n2 === ArrayBuffer) e2 = new Uint8Array(e2), t2 = new Uint8Array(t2);
+ else if (n2 === DataView) {
+ if ((r2 = e2.byteLength) === t2.byteLength) for (; r2-- && e2.getInt8(r2) === t2.getInt8(r2); ) ;
+ return -1 === r2;
+ }
+ if (ArrayBuffer.isView(e2)) {
+ if ((r2 = e2.byteLength) === t2.byteLength) for (; r2-- && e2[r2] === t2[r2]; ) ;
+ return -1 === r2;
+ }
+ if (!n2 || "object" == typeof e2) {
+ for (n2 in r2 = 0, e2) {
+ if (x.call(e2, n2) && ++r2 && !x.call(t2, n2)) return false;
+ if (!(n2 in t2) || !I(e2[n2], t2[n2])) return false;
+ }
+ return Object.keys(t2).length === r2;
+ }
+ }
+ return e2 != e2 && t2 != t2;
+}
+var N = { "Amazon Silk": "amazon_silk", "Android Browser": "android", Bada: "bada", BlackBerry: "blackberry", Chrome: "chrome", Chromium: "chromium", Electron: "electron", Epiphany: "epiphany", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", "Internet Explorer": "ie", "K-Meleon": "k_meleon", Maxthon: "maxthon", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", Opera: "opera", "Opera Coast": "opera_coast", PhantomJS: "phantomjs", Puffin: "puffin", QupZilla: "qupzilla", QQ: "qq", QQLite: "qqlite", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", "Yandex Browser": "yandex", Roku: "roku" };
+var R = { amazon_silk: "Amazon Silk", android: "Android Browser", bada: "Bada", blackberry: "BlackBerry", chrome: "Chrome", chromium: "Chromium", electron: "Electron", epiphany: "Epiphany", firefox: "Firefox", focus: "Focus", generic: "Generic", googlebot: "Googlebot", google_search: "Google Search", ie: "Internet Explorer", k_meleon: "K-Meleon", maxthon: "Maxthon", edge: "Microsoft Edge", mz: "MZ Browser", naver: "NAVER Whale Browser", opera: "Opera", opera_coast: "Opera Coast", phantomjs: "PhantomJS", puffin: "Puffin", qupzilla: "QupZilla", qq: "QQ Browser", qqlite: "QQ Browser Lite", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", sleipnir: "Sleipnir", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yandex: "Yandex Browser" };
+var B = { tablet: "tablet", mobile: "mobile", desktop: "desktop", tv: "tv" };
+var F = { WindowsPhone: "Windows Phone", Windows: "Windows", MacOS: "macOS", iOS: "iOS", Android: "Android", WebOS: "WebOS", BlackBerry: "BlackBerry", Bada: "Bada", Tizen: "Tizen", Linux: "Linux", ChromeOS: "Chrome OS", PlayStation4: "PlayStation 4", Roku: "Roku" };
+var U = { EdgeHTML: "EdgeHTML", Blink: "Blink", Trident: "Trident", Presto: "Presto", Gecko: "Gecko", WebKit: "WebKit" };
+var V = class _V {
+ static getFirstMatch(e2, t2) {
+ const n2 = t2.match(e2);
+ return n2 && n2.length > 0 && n2[1] || "";
+ }
+ static getSecondMatch(e2, t2) {
+ const n2 = t2.match(e2);
+ return n2 && n2.length > 1 && n2[2] || "";
+ }
+ static matchAndReturnConst(e2, t2, n2) {
+ if (e2.test(t2)) return n2;
+ }
+ static getWindowsVersionName(e2) {
+ switch (e2) {
+ case "NT":
+ return "NT";
+ case "XP":
+ case "NT 5.1":
+ return "XP";
+ case "NT 5.0":
+ return "2000";
+ case "NT 5.2":
+ return "2003";
+ case "NT 6.0":
+ return "Vista";
+ case "NT 6.1":
+ return "7";
+ case "NT 6.2":
+ return "8";
+ case "NT 6.3":
+ return "8.1";
+ case "NT 10.0":
+ return "10";
+ default:
+ return;
+ }
+ }
+ static getMacOSVersionName(e2) {
+ const t2 = e2.split(".").splice(0, 2).map((e3) => parseInt(e3, 10) || 0);
+ if (t2.push(0), 10 === t2[0]) switch (t2[1]) {
+ case 5:
+ return "Leopard";
+ case 6:
+ return "Snow Leopard";
+ case 7:
+ return "Lion";
+ case 8:
+ return "Mountain Lion";
+ case 9:
+ return "Mavericks";
+ case 10:
+ return "Yosemite";
+ case 11:
+ return "El Capitan";
+ case 12:
+ return "Sierra";
+ case 13:
+ return "High Sierra";
+ case 14:
+ return "Mojave";
+ case 15:
+ return "Catalina";
+ default:
+ return;
+ }
+ }
+ static getAndroidVersionName(e2) {
+ const t2 = e2.split(".").splice(0, 2).map((e3) => parseInt(e3, 10) || 0);
+ if (t2.push(0), !(1 === t2[0] && t2[1] < 5)) return 1 === t2[0] && t2[1] < 6 ? "Cupcake" : 1 === t2[0] && t2[1] >= 6 ? "Donut" : 2 === t2[0] && t2[1] < 2 ? "Eclair" : 2 === t2[0] && 2 === t2[1] ? "Froyo" : 2 === t2[0] && t2[1] > 2 ? "Gingerbread" : 3 === t2[0] ? "Honeycomb" : 4 === t2[0] && t2[1] < 1 ? "Ice Cream Sandwich" : 4 === t2[0] && t2[1] < 4 ? "Jelly Bean" : 4 === t2[0] && t2[1] >= 4 ? "KitKat" : 5 === t2[0] ? "Lollipop" : 6 === t2[0] ? "Marshmallow" : 7 === t2[0] ? "Nougat" : 8 === t2[0] ? "Oreo" : 9 === t2[0] ? "Pie" : void 0;
+ }
+ static getVersionPrecision(e2) {
+ return e2.split(".").length;
+ }
+ static compareVersions(e2, t2, n2 = false) {
+ const r2 = _V.getVersionPrecision(e2), i2 = _V.getVersionPrecision(t2);
+ let o2 = Math.max(r2, i2), a2 = 0;
+ const s2 = _V.map([e2, t2], (e3) => {
+ const t3 = o2 - _V.getVersionPrecision(e3), n3 = e3 + new Array(t3 + 1).join(".0");
+ return _V.map(n3.split("."), (e4) => new Array(20 - e4.length).join("0") + e4).reverse();
+ });
+ for (n2 && (a2 = o2 - Math.min(r2, i2)), o2 -= 1; o2 >= a2; ) {
+ if (s2[0][o2] > s2[1][o2]) return 1;
+ if (s2[0][o2] === s2[1][o2]) {
+ if (o2 === a2) return 0;
+ o2 -= 1;
+ } else if (s2[0][o2] < s2[1][o2]) return -1;
+ }
+ }
+ static map(e2, t2) {
+ const n2 = [];
+ let r2;
+ if (Array.prototype.map) return Array.prototype.map.call(e2, t2);
+ for (r2 = 0; r2 < e2.length; r2 += 1) n2.push(t2(e2[r2]));
+ return n2;
+ }
+ static find(e2, t2) {
+ let n2, r2;
+ if (Array.prototype.find) return Array.prototype.find.call(e2, t2);
+ for (n2 = 0, r2 = e2.length; n2 < r2; n2 += 1) {
+ const r3 = e2[n2];
+ if (t2(r3, n2)) return r3;
+ }
+ }
+ static assign(e2, ...t2) {
+ const n2 = e2;
+ let r2, i2;
+ if (Object.assign) return Object.assign(e2, ...t2);
+ for (r2 = 0, i2 = t2.length; r2 < i2; r2 += 1) {
+ const e3 = t2[r2];
+ if ("object" == typeof e3 && null !== e3) {
+ Object.keys(e3).forEach((t3) => {
+ n2[t3] = e3[t3];
+ });
+ }
+ }
+ return e2;
+ }
+ static getBrowserAlias(e2) {
+ return N[e2];
+ }
+ static getBrowserTypeByAlias(e2) {
+ return R[e2] || "";
+ }
+};
+var J = /version\/(\d+(\.?_?\d+)+)/i;
+var $ = [{ test: [/googlebot/i], describe(e2) {
+ const t2 = { name: "Googlebot" }, n2 = V.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/opera/i], describe(e2) {
+ const t2 = { name: "Opera" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/opr\/|opios/i], describe(e2) {
+ const t2 = { name: "Opera" }, n2 = V.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/SamsungBrowser/i], describe(e2) {
+ const t2 = { name: "Samsung Internet for Android" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/Whale/i], describe(e2) {
+ const t2 = { name: "NAVER Whale Browser" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/MZBrowser/i], describe(e2) {
+ const t2 = { name: "MZ Browser" }, n2 = V.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/focus/i], describe(e2) {
+ const t2 = { name: "Focus" }, n2 = V.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/swing/i], describe(e2) {
+ const t2 = { name: "Swing" }, n2 = V.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/coast/i], describe(e2) {
+ const t2 = { name: "Opera Coast" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe(e2) {
+ const t2 = { name: "Opera Touch" }, n2 = V.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/yabrowser/i], describe(e2) {
+ const t2 = { name: "Yandex Browser" }, n2 = V.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/ucbrowser/i], describe(e2) {
+ const t2 = { name: "UC Browser" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/Maxthon|mxios/i], describe(e2) {
+ const t2 = { name: "Maxthon" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/epiphany/i], describe(e2) {
+ const t2 = { name: "Epiphany" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/puffin/i], describe(e2) {
+ const t2 = { name: "Puffin" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/sleipnir/i], describe(e2) {
+ const t2 = { name: "Sleipnir" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/k-meleon/i], describe(e2) {
+ const t2 = { name: "K-Meleon" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/micromessenger/i], describe(e2) {
+ const t2 = { name: "WeChat" }, n2 = V.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/qqbrowser/i], describe(e2) {
+ const t2 = { name: /qqbrowserlite/i.test(e2) ? "QQ Browser Lite" : "QQ Browser" }, n2 = V.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/msie|trident/i], describe(e2) {
+ const t2 = { name: "Internet Explorer" }, n2 = V.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/\sedg\//i], describe(e2) {
+ const t2 = { name: "Microsoft Edge" }, n2 = V.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/edg([ea]|ios)/i], describe(e2) {
+ const t2 = { name: "Microsoft Edge" }, n2 = V.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/vivaldi/i], describe(e2) {
+ const t2 = { name: "Vivaldi" }, n2 = V.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/seamonkey/i], describe(e2) {
+ const t2 = { name: "SeaMonkey" }, n2 = V.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/sailfish/i], describe(e2) {
+ const t2 = { name: "Sailfish" }, n2 = V.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/silk/i], describe(e2) {
+ const t2 = { name: "Amazon Silk" }, n2 = V.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/phantom/i], describe(e2) {
+ const t2 = { name: "PhantomJS" }, n2 = V.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/slimerjs/i], describe(e2) {
+ const t2 = { name: "SlimerJS" }, n2 = V.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe(e2) {
+ const t2 = { name: "BlackBerry" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/(web|hpw)[o0]s/i], describe(e2) {
+ const t2 = { name: "WebOS Browser" }, n2 = V.getFirstMatch(J, e2) || V.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/bada/i], describe(e2) {
+ const t2 = { name: "Bada" }, n2 = V.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/tizen/i], describe(e2) {
+ const t2 = { name: "Tizen" }, n2 = V.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/qupzilla/i], describe(e2) {
+ const t2 = { name: "QupZilla" }, n2 = V.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/firefox|iceweasel|fxios/i], describe(e2) {
+ const t2 = { name: "Firefox" }, n2 = V.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/electron/i], describe(e2) {
+ const t2 = { name: "Electron" }, n2 = V.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/MiuiBrowser/i], describe(e2) {
+ const t2 = { name: "Miui" }, n2 = V.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/chromium/i], describe(e2) {
+ const t2 = { name: "Chromium" }, n2 = V.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, e2) || V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/chrome|crios|crmo/i], describe(e2) {
+ const t2 = { name: "Chrome" }, n2 = V.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/GSA/i], describe(e2) {
+ const t2 = { name: "Google Search" }, n2 = V.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test(e2) {
+ const t2 = !e2.test(/like android/i), n2 = e2.test(/android/i);
+ return t2 && n2;
+}, describe(e2) {
+ const t2 = { name: "Android Browser" }, n2 = V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/playstation 4/i], describe(e2) {
+ const t2 = { name: "PlayStation 4" }, n2 = V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/safari|applewebkit/i], describe(e2) {
+ const t2 = { name: "Safari" }, n2 = V.getFirstMatch(J, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/.*/i], describe(e2) {
+ const t2 = -1 !== e2.search("\\(") ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /;
+ return { name: V.getFirstMatch(t2, e2), version: V.getSecondMatch(t2, e2) };
+} }];
+var G = [{ test: [/Roku\/DVP/], describe(e2) {
+ const t2 = V.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, e2);
+ return { name: F.Roku, version: t2 };
+} }, { test: [/windows phone/i], describe(e2) {
+ const t2 = V.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, e2);
+ return { name: F.WindowsPhone, version: t2 };
+} }, { test: [/windows /i], describe(e2) {
+ const t2 = V.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, e2), n2 = V.getWindowsVersionName(t2);
+ return { name: F.Windows, version: t2, versionName: n2 };
+} }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe(e2) {
+ const t2 = { name: F.iOS }, n2 = V.getSecondMatch(/(Version\/)(\d[\d.]+)/, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/macintosh/i], describe(e2) {
+ const t2 = V.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, e2).replace(/[_\s]/g, "."), n2 = V.getMacOSVersionName(t2), r2 = { name: F.MacOS, version: t2 };
+ return n2 && (r2.versionName = n2), r2;
+} }, { test: [/(ipod|iphone|ipad)/i], describe(e2) {
+ const t2 = V.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, e2).replace(/[_\s]/g, ".");
+ return { name: F.iOS, version: t2 };
+} }, { test(e2) {
+ const t2 = !e2.test(/like android/i), n2 = e2.test(/android/i);
+ return t2 && n2;
+}, describe(e2) {
+ const t2 = V.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, e2), n2 = V.getAndroidVersionName(t2), r2 = { name: F.Android, version: t2 };
+ return n2 && (r2.versionName = n2), r2;
+} }, { test: [/(web|hpw)[o0]s/i], describe(e2) {
+ const t2 = V.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, e2), n2 = { name: F.WebOS };
+ return t2 && t2.length && (n2.version = t2), n2;
+} }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe(e2) {
+ const t2 = V.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, e2) || V.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, e2) || V.getFirstMatch(/\bbb(\d+)/i, e2);
+ return { name: F.BlackBerry, version: t2 };
+} }, { test: [/bada/i], describe(e2) {
+ const t2 = V.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, e2);
+ return { name: F.Bada, version: t2 };
+} }, { test: [/tizen/i], describe(e2) {
+ const t2 = V.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, e2);
+ return { name: F.Tizen, version: t2 };
+} }, { test: [/linux/i], describe: () => ({ name: F.Linux }) }, { test: [/CrOS/], describe: () => ({ name: F.ChromeOS }) }, { test: [/PlayStation 4/], describe(e2) {
+ const t2 = V.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, e2);
+ return { name: F.PlayStation4, version: t2 };
+} }];
+var q = [{ test: [/googlebot/i], describe: () => ({ type: "bot", vendor: "Google" }) }, { test: [/huawei/i], describe(e2) {
+ const t2 = V.getFirstMatch(/(can-l01)/i, e2) && "Nova", n2 = { type: B.mobile, vendor: "Huawei" };
+ return t2 && (n2.model = t2), n2;
+} }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: () => ({ type: B.tablet, vendor: "Nexus" }) }, { test: [/ipad/i], describe: () => ({ type: B.tablet, vendor: "Apple", model: "iPad" }) }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: () => ({ type: B.tablet, vendor: "Apple", model: "iPad" }) }, { test: [/kftt build/i], describe: () => ({ type: B.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" }) }, { test: [/silk/i], describe: () => ({ type: B.tablet, vendor: "Amazon" }) }, { test: [/tablet(?! pc)/i], describe: () => ({ type: B.tablet }) }, { test(e2) {
+ const t2 = e2.test(/ipod|iphone/i), n2 = e2.test(/like (ipod|iphone)/i);
+ return t2 && !n2;
+}, describe(e2) {
+ const t2 = V.getFirstMatch(/(ipod|iphone)/i, e2);
+ return { type: B.mobile, vendor: "Apple", model: t2 };
+} }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: () => ({ type: B.mobile, vendor: "Nexus" }) }, { test: [/[^-]mobi/i], describe: () => ({ type: B.mobile }) }, { test: (e2) => "blackberry" === e2.getBrowserName(true), describe: () => ({ type: B.mobile, vendor: "BlackBerry" }) }, { test: (e2) => "bada" === e2.getBrowserName(true), describe: () => ({ type: B.mobile }) }, { test: (e2) => "windows phone" === e2.getBrowserName(), describe: () => ({ type: B.mobile, vendor: "Microsoft" }) }, { test(e2) {
+ const t2 = Number(String(e2.getOSVersion()).split(".")[0]);
+ return "android" === e2.getOSName(true) && t2 >= 3;
+}, describe: () => ({ type: B.tablet }) }, { test: (e2) => "android" === e2.getOSName(true), describe: () => ({ type: B.mobile }) }, { test: (e2) => "macos" === e2.getOSName(true), describe: () => ({ type: B.desktop, vendor: "Apple" }) }, { test: (e2) => "windows" === e2.getOSName(true), describe: () => ({ type: B.desktop }) }, { test: (e2) => "linux" === e2.getOSName(true), describe: () => ({ type: B.desktop }) }, { test: (e2) => "playstation 4" === e2.getOSName(true), describe: () => ({ type: B.tv }) }, { test: (e2) => "roku" === e2.getOSName(true), describe: () => ({ type: B.tv }) }];
+var Y = [{ test: (e2) => "microsoft edge" === e2.getBrowserName(true), describe(e2) {
+ if (/\sedg\//i.test(e2)) return { name: U.Blink };
+ const t2 = V.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, e2);
+ return { name: U.EdgeHTML, version: t2 };
+} }, { test: [/trident/i], describe(e2) {
+ const t2 = { name: U.Trident }, n2 = V.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: (e2) => e2.test(/presto/i), describe(e2) {
+ const t2 = { name: U.Presto }, n2 = V.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test(e2) {
+ const t2 = e2.test(/gecko/i), n2 = e2.test(/like gecko/i);
+ return t2 && !n2;
+}, describe(e2) {
+ const t2 = { name: U.Gecko }, n2 = V.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }, { test: [/(apple)?webkit\/537\.36/i], describe: () => ({ name: U.Blink }) }, { test: [/(apple)?webkit/i], describe(e2) {
+ const t2 = { name: U.WebKit }, n2 = V.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, e2);
+ return n2 && (t2.version = n2), t2;
+} }];
+var z = class {
+ constructor(e2, t2 = false) {
+ if (null == e2 || "" === e2) throw new Error("UserAgent parameter can't be empty");
+ this._ua = e2, this.parsedResult = {}, true !== t2 && this.parse();
+ }
+ getUA() {
+ return this._ua;
+ }
+ test(e2) {
+ return e2.test(this._ua);
+ }
+ parseBrowser() {
+ this.parsedResult.browser = {};
+ const e2 = V.find($, (e3) => {
+ if ("function" == typeof e3.test) return e3.test(this);
+ if (e3.test instanceof Array) return e3.test.some((e4) => this.test(e4));
+ throw new Error("Browser's test function is not valid");
+ });
+ return e2 && (this.parsedResult.browser = e2.describe(this.getUA())), this.parsedResult.browser;
+ }
+ getBrowser() {
+ return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser();
+ }
+ getBrowserName(e2) {
+ return e2 ? String(this.getBrowser().name).toLowerCase() || "" : this.getBrowser().name || "";
+ }
+ getBrowserVersion() {
+ return this.getBrowser().version;
+ }
+ getOS() {
+ return this.parsedResult.os ? this.parsedResult.os : this.parseOS();
+ }
+ parseOS() {
+ this.parsedResult.os = {};
+ const e2 = V.find(G, (e3) => {
+ if ("function" == typeof e3.test) return e3.test(this);
+ if (e3.test instanceof Array) return e3.test.some((e4) => this.test(e4));
+ throw new Error("Browser's test function is not valid");
+ });
+ return e2 && (this.parsedResult.os = e2.describe(this.getUA())), this.parsedResult.os;
+ }
+ getOSName(e2) {
+ const { name: t2 } = this.getOS();
+ return e2 ? String(t2).toLowerCase() || "" : t2 || "";
+ }
+ getOSVersion() {
+ return this.getOS().version;
+ }
+ getPlatform() {
+ return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform();
+ }
+ getPlatformType(e2 = false) {
+ const { type: t2 } = this.getPlatform();
+ return e2 ? String(t2).toLowerCase() || "" : t2 || "";
+ }
+ parsePlatform() {
+ this.parsedResult.platform = {};
+ const e2 = V.find(q, (e3) => {
+ if ("function" == typeof e3.test) return e3.test(this);
+ if (e3.test instanceof Array) return e3.test.some((e4) => this.test(e4));
+ throw new Error("Browser's test function is not valid");
+ });
+ return e2 && (this.parsedResult.platform = e2.describe(this.getUA())), this.parsedResult.platform;
+ }
+ getEngine() {
+ return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine();
+ }
+ getEngineName(e2) {
+ return e2 ? String(this.getEngine().name).toLowerCase() || "" : this.getEngine().name || "";
+ }
+ parseEngine() {
+ this.parsedResult.engine = {};
+ const e2 = V.find(Y, (e3) => {
+ if ("function" == typeof e3.test) return e3.test(this);
+ if (e3.test instanceof Array) return e3.test.some((e4) => this.test(e4));
+ throw new Error("Browser's test function is not valid");
+ });
+ return e2 && (this.parsedResult.engine = e2.describe(this.getUA())), this.parsedResult.engine;
+ }
+ parse() {
+ return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;
+ }
+ getResult() {
+ return V.assign({}, this.parsedResult);
+ }
+ satisfies(e2) {
+ const t2 = {};
+ let n2 = 0;
+ const r2 = {};
+ let i2 = 0;
+ if (Object.keys(e2).forEach((o2) => {
+ const a2 = e2[o2];
+ "string" == typeof a2 ? (r2[o2] = a2, i2 += 1) : "object" == typeof a2 && (t2[o2] = a2, n2 += 1);
+ }), n2 > 0) {
+ const e3 = Object.keys(t2), n3 = V.find(e3, (e4) => this.isOS(e4));
+ if (n3) {
+ const e4 = this.satisfies(t2[n3]);
+ if (void 0 !== e4) return e4;
+ }
+ const r3 = V.find(e3, (e4) => this.isPlatform(e4));
+ if (r3) {
+ const e4 = this.satisfies(t2[r3]);
+ if (void 0 !== e4) return e4;
+ }
+ }
+ if (i2 > 0) {
+ const e3 = Object.keys(r2), t3 = V.find(e3, (e4) => this.isBrowser(e4, true));
+ if (void 0 !== t3) return this.compareVersion(r2[t3]);
+ }
+ }
+ isBrowser(e2, t2 = false) {
+ const n2 = this.getBrowserName().toLowerCase();
+ let r2 = e2.toLowerCase();
+ const i2 = V.getBrowserTypeByAlias(r2);
+ return t2 && i2 && (r2 = i2.toLowerCase()), r2 === n2;
+ }
+ compareVersion(e2) {
+ let t2 = [0], n2 = e2, r2 = false;
+ const i2 = this.getBrowserVersion();
+ if ("string" == typeof i2) return ">" === e2[0] || "<" === e2[0] ? (n2 = e2.substr(1), "=" === e2[1] ? (r2 = true, n2 = e2.substr(2)) : t2 = [], ">" === e2[0] ? t2.push(1) : t2.push(-1)) : "=" === e2[0] ? n2 = e2.substr(1) : "~" === e2[0] && (r2 = true, n2 = e2.substr(1)), t2.indexOf(V.compareVersions(i2, n2, r2)) > -1;
+ }
+ isOS(e2) {
+ return this.getOSName(true) === String(e2).toLowerCase();
+ }
+ isPlatform(e2) {
+ return this.getPlatformType(true) === String(e2).toLowerCase();
+ }
+ isEngine(e2) {
+ return this.getEngineName(true) === String(e2).toLowerCase();
+ }
+ is(e2, t2 = false) {
+ return this.isBrowser(e2, t2) || this.isOS(e2) || this.isPlatform(e2);
+ }
+ some(e2 = []) {
+ return e2.some((e3) => this.is(e3));
+ }
+};
+var W = class {
+ static getParser(e2, t2 = false) {
+ if ("string" != typeof e2) throw new Error("UserAgent should be a string");
+ return new z(e2, t2);
+ }
+ static parse(e2) {
+ return new z(e2).getResult();
+ }
+ static get BROWSER_MAP() {
+ return R;
+ }
+ static get ENGINE_MAP() {
+ return U;
+ }
+ static get OS_MAP() {
+ return F;
+ }
+ static get PLATFORMS_MAP() {
+ return B;
+ }
+};
+function H() {
+ return Date.now() + Math.random().toString();
+}
+function Q() {
+ throw new Error("Method must be implemented in subclass");
+}
+function K(e2, t2) {
+ return null != t2 && t2.proxyUrl ? t2.proxyUrl + ("/" === t2.proxyUrl.slice(-1) ? "" : "/") + e2.substring(8) : e2;
+}
+function X(e2) {
+ return null != e2 && e2.callObjectBundleUrlOverride ? e2.callObjectBundleUrlOverride : K("https://c.daily.co/call-machine/versioned/".concat("0.72.2", "/static/call-machine-object-bundle.js"), e2);
+}
+function Z(e2) {
+ try {
+ new URL(e2);
+ } catch (e3) {
+ return false;
+ }
+ return true;
+}
+var ee = Object.prototype.toString;
+function te(e2) {
+ switch (ee.call(e2)) {
+ case "[object Error]":
+ case "[object Exception]":
+ case "[object DOMException]":
+ return true;
+ default:
+ return ue(e2, Error);
+ }
+}
+function ne(e2, t2) {
+ return ee.call(e2) === `[object ${t2}]`;
+}
+function re(e2) {
+ return ne(e2, "ErrorEvent");
+}
+function ie(e2) {
+ return ne(e2, "DOMError");
+}
+function oe(e2) {
+ return ne(e2, "String");
+}
+function ae(e2) {
+ return null === e2 || "object" != typeof e2 && "function" != typeof e2;
+}
+function se(e2) {
+ return ne(e2, "Object");
+}
+function ce(e2) {
+ return "undefined" != typeof Event && ue(e2, Event);
+}
+function le(e2) {
+ return Boolean(e2 && e2.then && "function" == typeof e2.then);
+}
+function ue(e2, t2) {
+ try {
+ return e2 instanceof t2;
+ } catch (e3) {
+ return false;
+ }
+}
+function de(e2, t2 = 0) {
+ return "string" != typeof e2 || 0 === t2 || e2.length <= t2 ? e2 : `${e2.slice(0, t2)}...`;
+}
+function he(e2, t2) {
+ if (!Array.isArray(e2)) return "";
+ const n2 = [];
+ for (let t3 = 0; t3 < e2.length; t3++) {
+ const r2 = e2[t3];
+ try {
+ n2.push(String(r2));
+ } catch (e3) {
+ n2.push("[value cannot be serialized]");
+ }
+ }
+ return n2.join(t2);
+}
+function pe(e2, t2, n2 = false) {
+ return !!oe(e2) && (ne(t2, "RegExp") ? t2.test(e2) : !!oe(t2) && (n2 ? e2 === t2 : e2.includes(t2)));
+}
+function fe(e2, t2 = [], n2 = false) {
+ return t2.some((t3) => pe(e2, t3, n2));
+}
+function ge(e2, t2, n2 = 250, r2, i2, o2, a2) {
+ if (!(o2.exception && o2.exception.values && a2 && ue(a2.originalException, Error))) return;
+ const s2 = o2.exception.values.length > 0 ? o2.exception.values[o2.exception.values.length - 1] : void 0;
+ var c2, l2;
+ s2 && (o2.exception.values = (c2 = ve(e2, t2, i2, a2.originalException, r2, o2.exception.values, s2, 0), l2 = n2, c2.map((e3) => (e3.value && (e3.value = de(e3.value, l2)), e3))));
+}
+function ve(e2, t2, n2, r2, i2, o2, a2, s2) {
+ if (o2.length >= n2 + 1) return o2;
+ let c2 = [...o2];
+ if (ue(r2[i2], Error)) {
+ me(a2, s2);
+ const o3 = e2(t2, r2[i2]), l2 = c2.length;
+ ye(o3, i2, l2, s2), c2 = ve(e2, t2, n2, r2[i2], i2, [o3, ...c2], o3, l2);
+ }
+ return Array.isArray(r2.errors) && r2.errors.forEach((r3, o3) => {
+ if (ue(r3, Error)) {
+ me(a2, s2);
+ const l2 = e2(t2, r3), u2 = c2.length;
+ ye(l2, `errors[${o3}]`, u2, s2), c2 = ve(e2, t2, n2, r3, i2, [l2, ...c2], l2, u2);
+ }
+ }), c2;
+}
+function me(e2, t2) {
+ e2.mechanism = e2.mechanism || { type: "generic", handled: true }, e2.mechanism = { ...e2.mechanism, is_exception_group: true, exception_id: t2 };
+}
+function ye(e2, t2, n2, r2) {
+ e2.mechanism = e2.mechanism || { type: "generic", handled: true }, e2.mechanism = { ...e2.mechanism, type: "chained", source: t2, exception_id: n2, parent_id: r2 };
+}
+function _e(e2) {
+ return e2 && e2.Math == Math ? e2 : void 0;
+}
+var be = "object" == typeof globalThis && _e(globalThis) || "object" == typeof window && _e(window) || "object" == typeof self && _e(self) || "object" == typeof global && _e(global) || /* @__PURE__ */ function() {
+ return this;
+}() || {};
+function we() {
+ return be;
+}
+function Se(e2, t2, n2) {
+ const r2 = n2 || be, i2 = r2.__SENTRY__ = r2.__SENTRY__ || {};
+ return i2[e2] || (i2[e2] = t2());
+}
+var ke = we();
+var Ee = 80;
+function Ce(e2, t2 = {}) {
+ try {
+ let n2 = e2;
+ const r2 = 5, i2 = [];
+ let o2 = 0, a2 = 0;
+ const s2 = " > ", c2 = s2.length;
+ let l2;
+ const u2 = Array.isArray(t2) ? t2 : t2.keyAttrs, d2 = !Array.isArray(t2) && t2.maxStringLength || Ee;
+ for (; n2 && o2++ < r2 && (l2 = Me(n2, u2), !("html" === l2 || o2 > 1 && a2 + i2.length * c2 + l2.length >= d2)); ) i2.push(l2), a2 += l2.length, n2 = n2.parentNode;
+ return i2.reverse().join(s2);
+ } catch (e3) {
+ return "";
+ }
+}
+function Me(e2, t2) {
+ const n2 = e2, r2 = [];
+ let i2, o2, a2, s2, c2;
+ if (!n2 || !n2.tagName) return "";
+ r2.push(n2.tagName.toLowerCase());
+ const l2 = t2 && t2.length ? t2.filter((e3) => n2.getAttribute(e3)).map((e3) => [e3, n2.getAttribute(e3)]) : null;
+ if (l2 && l2.length) l2.forEach((e3) => {
+ r2.push(`[${e3[0]}="${e3[1]}"]`);
+ });
+ else if (n2.id && r2.push(`#${n2.id}`), i2 = n2.className, i2 && oe(i2)) for (o2 = i2.split(/\s+/), c2 = 0; c2 < o2.length; c2++) r2.push(`.${o2[c2]}`);
+ const u2 = ["aria-label", "type", "name", "title", "alt"];
+ for (c2 = 0; c2 < u2.length; c2++) a2 = u2[c2], s2 = n2.getAttribute(a2), s2 && r2.push(`[${a2}="${s2}"]`);
+ return r2.join("");
+}
+var Te = ["debug", "info", "warn", "error", "log", "assert", "trace"];
+function Oe(e2) {
+ if (!("console" in be)) return e2();
+ const t2 = be.console, n2 = {};
+ Te.forEach((e3) => {
+ const r2 = t2[e3] && t2[e3].__sentry_original__;
+ e3 in t2 && r2 && (n2[e3] = t2[e3], t2[e3] = r2);
+ });
+ try {
+ return e2();
+ } finally {
+ Object.keys(n2).forEach((e3) => {
+ t2[e3] = n2[e3];
+ });
+ }
+}
+function Pe() {
+ let e2 = false;
+ const t2 = { enable: () => {
+ e2 = true;
+ }, disable: () => {
+ e2 = false;
+ } };
+ return "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__ ? Te.forEach((n2) => {
+ t2[n2] = (...t3) => {
+ e2 && Oe(() => {
+ be.console[n2](`Sentry Logger [${n2}]:`, ...t3);
+ });
+ };
+ }) : Te.forEach((e3) => {
+ t2[e3] = () => {
+ };
+ }), t2;
+}
+var Ae;
+Ae = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__ ? Se("logger", Pe) : Pe();
+var De = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
+function je(e2, t2 = false) {
+ const { host: n2, path: r2, pass: i2, port: o2, projectId: a2, protocol: s2, publicKey: c2 } = e2;
+ return `${s2}://${c2}${t2 && i2 ? `:${i2}` : ""}@${n2}${o2 ? `:${o2}` : ""}/${r2 ? `${r2}/` : r2}${a2}`;
+}
+function xe(e2) {
+ return { protocol: e2.protocol, publicKey: e2.publicKey || "", pass: e2.pass || "", host: e2.host, port: e2.port || "", path: e2.path || "", projectId: e2.projectId };
+}
+function Le(e2) {
+ const t2 = "string" == typeof e2 ? function(e3) {
+ const t3 = De.exec(e3);
+ if (!t3) return void console.error(`Invalid Sentry Dsn: ${e3}`);
+ const [n2, r2, i2 = "", o2, a2 = "", s2] = t3.slice(1);
+ let c2 = "", l2 = s2;
+ const u2 = l2.split("/");
+ if (u2.length > 1 && (c2 = u2.slice(0, -1).join("/"), l2 = u2.pop()), l2) {
+ const e4 = l2.match(/^\d+/);
+ e4 && (l2 = e4[0]);
+ }
+ return xe({ host: o2, pass: i2, path: c2, projectId: l2, port: a2, protocol: n2, publicKey: r2 });
+ }(e2) : xe(e2);
+ if (t2 && function(e3) {
+ if ("undefined" != typeof __SENTRY_DEBUG__ && !__SENTRY_DEBUG__) return true;
+ const { port: t3, projectId: n2, protocol: r2 } = e3;
+ return !(["protocol", "publicKey", "host", "projectId"].find((t4) => !e3[t4] && (Ae.error(`Invalid Sentry Dsn: ${t4} missing`), true)) || (n2.match(/^\d+$/) ? /* @__PURE__ */ function(e4) {
+ return "http" === e4 || "https" === e4;
+ }(r2) ? t3 && isNaN(parseInt(t3, 10)) && (Ae.error(`Invalid Sentry Dsn: Invalid port ${t3}`), 1) : (Ae.error(`Invalid Sentry Dsn: Invalid protocol ${r2}`), 1) : (Ae.error(`Invalid Sentry Dsn: Invalid projectId ${n2}`), 1)));
+ }(t2)) return t2;
+}
+var Ie = class extends Error {
+ constructor(e2, t2 = "warn") {
+ super(e2), this.message = e2, this.name = new.target.prototype.constructor.name, Object.setPrototypeOf(this, new.target.prototype), this.logLevel = t2;
+ }
+};
+function Ne(e2, t2, n2) {
+ if (!(t2 in e2)) return;
+ const r2 = e2[t2], i2 = n2(r2);
+ if ("function" == typeof i2) try {
+ Be(i2, r2);
+ } catch (e3) {
+ }
+ e2[t2] = i2;
+}
+function Re(e2, t2, n2) {
+ Object.defineProperty(e2, t2, { value: n2, writable: true, configurable: true });
+}
+function Be(e2, t2) {
+ const n2 = t2.prototype || {};
+ e2.prototype = t2.prototype = n2, Re(e2, "__sentry_original__", t2);
+}
+function Fe(e2) {
+ return e2.__sentry_original__;
+}
+function Ue(e2) {
+ if (te(e2)) return { message: e2.message, name: e2.name, stack: e2.stack, ...Je(e2) };
+ if (ce(e2)) {
+ const t2 = { type: e2.type, target: Ve(e2.target), currentTarget: Ve(e2.currentTarget), ...Je(e2) };
+ return "undefined" != typeof CustomEvent && ue(e2, CustomEvent) && (t2.detail = e2.detail), t2;
+ }
+ return e2;
+}
+function Ve(e2) {
+ try {
+ return t2 = e2, "undefined" != typeof Element && ue(t2, Element) ? Ce(e2) : Object.prototype.toString.call(e2);
+ } catch (e3) {
+ return "";
+ }
+ var t2;
+}
+function Je(e2) {
+ if ("object" == typeof e2 && null !== e2) {
+ const t2 = {};
+ for (const n2 in e2) Object.prototype.hasOwnProperty.call(e2, n2) && (t2[n2] = e2[n2]);
+ return t2;
+ }
+ return {};
+}
+function $e(e2) {
+ return Ge(e2, /* @__PURE__ */ new Map());
+}
+function Ge(e2, t2) {
+ if (se(e2)) {
+ const n2 = t2.get(e2);
+ if (void 0 !== n2) return n2;
+ const r2 = {};
+ t2.set(e2, r2);
+ for (const n3 of Object.keys(e2)) void 0 !== e2[n3] && (r2[n3] = Ge(e2[n3], t2));
+ return r2;
+ }
+ if (Array.isArray(e2)) {
+ const n2 = t2.get(e2);
+ if (void 0 !== n2) return n2;
+ const r2 = [];
+ return t2.set(e2, r2), e2.forEach((e3) => {
+ r2.push(Ge(e3, t2));
+ }), r2;
+ }
+ return e2;
+}
+var qe = "";
+function Ye(e2) {
+ try {
+ return e2 && "function" == typeof e2 && e2.name || qe;
+ } catch (e3) {
+ return qe;
+ }
+}
+var ze = we();
+function We(e2) {
+ return e2 && /^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e2.toString());
+}
+function He() {
+ if (!function() {
+ if (!("fetch" in ze)) return false;
+ try {
+ return new Headers(), new Request("http://www.example.com"), new Response(), true;
+ } catch (e3) {
+ return false;
+ }
+ }()) return false;
+ if (We(ze.fetch)) return true;
+ let e2 = false;
+ const t2 = ze.document;
+ if (t2 && "function" == typeof t2.createElement) try {
+ const n2 = t2.createElement("iframe");
+ n2.hidden = true, t2.head.appendChild(n2), n2.contentWindow && n2.contentWindow.fetch && (e2 = We(n2.contentWindow.fetch)), t2.head.removeChild(n2);
+ } catch (e3) {
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", e3);
+ }
+ return e2;
+}
+var Qe = we();
+var Ke = we();
+var Xe = "__sentry_xhr_v2__";
+var Ze = {};
+var et = {};
+function tt(e2) {
+ if (!et[e2]) switch (et[e2] = true, e2) {
+ case "console":
+ !function() {
+ if (!("console" in Ke)) return;
+ Te.forEach(function(e3) {
+ e3 in Ke.console && Ne(Ke.console, e3, function(t2) {
+ return function(...n2) {
+ rt("console", { args: n2, level: e3 }), t2 && t2.apply(Ke.console, n2);
+ };
+ });
+ });
+ }();
+ break;
+ case "dom":
+ !function() {
+ if (!("document" in Ke)) return;
+ const e3 = rt.bind(null, "dom"), t2 = ut(e3, true);
+ Ke.document.addEventListener("click", t2, false), Ke.document.addEventListener("keypress", t2, false), ["EventTarget", "Node"].forEach((t3) => {
+ const n2 = Ke[t3] && Ke[t3].prototype;
+ n2 && n2.hasOwnProperty && n2.hasOwnProperty("addEventListener") && (Ne(n2, "addEventListener", function(t4) {
+ return function(n3, r2, i2) {
+ if ("click" === n3 || "keypress" == n3) try {
+ const r3 = this, o2 = r3.__sentry_instrumentation_handlers__ = r3.__sentry_instrumentation_handlers__ || {}, a2 = o2[n3] = o2[n3] || { refCount: 0 };
+ if (!a2.handler) {
+ const r4 = ut(e3);
+ a2.handler = r4, t4.call(this, n3, r4, i2);
+ }
+ a2.refCount++;
+ } catch (e4) {
+ }
+ return t4.call(this, n3, r2, i2);
+ };
+ }), Ne(n2, "removeEventListener", function(e4) {
+ return function(t4, n3, r2) {
+ if ("click" === t4 || "keypress" == t4) try {
+ const n4 = this, i2 = n4.__sentry_instrumentation_handlers__ || {}, o2 = i2[t4];
+ o2 && (o2.refCount--, o2.refCount <= 0 && (e4.call(this, t4, o2.handler, r2), o2.handler = void 0, delete i2[t4]), 0 === Object.keys(i2).length && delete n4.__sentry_instrumentation_handlers__);
+ } catch (e5) {
+ }
+ return e4.call(this, t4, n3, r2);
+ };
+ }));
+ });
+ }();
+ break;
+ case "xhr":
+ !function() {
+ if (!("XMLHttpRequest" in Ke)) return;
+ const e3 = XMLHttpRequest.prototype;
+ Ne(e3, "open", function(e4) {
+ return function(...t2) {
+ const n2 = t2[1], r2 = this[Xe] = { method: oe(t2[0]) ? t2[0].toUpperCase() : t2[0], url: t2[1], request_headers: {} };
+ oe(n2) && "POST" === r2.method && n2.match(/sentry_key/) && (this.__sentry_own_request__ = true);
+ const i2 = () => {
+ const e5 = this[Xe];
+ if (e5 && 4 === this.readyState) {
+ try {
+ e5.status_code = this.status;
+ } catch (e6) {
+ }
+ rt("xhr", { args: t2, endTimestamp: Date.now(), startTimestamp: Date.now(), xhr: this });
+ }
+ };
+ return "onreadystatechange" in this && "function" == typeof this.onreadystatechange ? Ne(this, "onreadystatechange", function(e5) {
+ return function(...t3) {
+ return i2(), e5.apply(this, t3);
+ };
+ }) : this.addEventListener("readystatechange", i2), Ne(this, "setRequestHeader", function(e5) {
+ return function(...t3) {
+ const [n3, r3] = t3, i3 = this[Xe];
+ return i3 && (i3.request_headers[n3.toLowerCase()] = r3), e5.apply(this, t3);
+ };
+ }), e4.apply(this, t2);
+ };
+ }), Ne(e3, "send", function(e4) {
+ return function(...t2) {
+ const n2 = this[Xe];
+ return n2 && void 0 !== t2[0] && (n2.body = t2[0]), rt("xhr", { args: t2, startTimestamp: Date.now(), xhr: this }), e4.apply(this, t2);
+ };
+ });
+ }();
+ break;
+ case "fetch":
+ !function() {
+ if (!He()) return;
+ Ne(Ke, "fetch", function(e3) {
+ return function(...t2) {
+ const { method: n2, url: r2 } = function(e4) {
+ if (0 === e4.length) return { method: "GET", url: "" };
+ if (2 === e4.length) {
+ const [t4, n3] = e4;
+ return { url: ot(t4), method: it(n3, "method") ? String(n3.method).toUpperCase() : "GET" };
+ }
+ const t3 = e4[0];
+ return { url: ot(t3), method: it(t3, "method") ? String(t3.method).toUpperCase() : "GET" };
+ }(t2), i2 = { args: t2, fetchData: { method: n2, url: r2 }, startTimestamp: Date.now() };
+ return rt("fetch", { ...i2 }), e3.apply(Ke, t2).then((e4) => (rt("fetch", { ...i2, endTimestamp: Date.now(), response: e4 }), e4), (e4) => {
+ throw rt("fetch", { ...i2, endTimestamp: Date.now(), error: e4 }), e4;
+ });
+ };
+ });
+ }();
+ break;
+ case "history":
+ !function() {
+ if (!function() {
+ const e4 = Qe.chrome, t3 = e4 && e4.app && e4.app.runtime, n2 = "history" in Qe && !!Qe.history.pushState && !!Qe.history.replaceState;
+ return !t3 && n2;
+ }()) return;
+ const e3 = Ke.onpopstate;
+ function t2(e4) {
+ return function(...t3) {
+ const n2 = t3.length > 2 ? t3[2] : void 0;
+ if (n2) {
+ const e5 = at, t4 = String(n2);
+ at = t4, rt("history", { from: e5, to: t4 });
+ }
+ return e4.apply(this, t3);
+ };
+ }
+ Ke.onpopstate = function(...t3) {
+ const n2 = Ke.location.href, r2 = at;
+ if (at = n2, rt("history", { from: r2, to: n2 }), e3) try {
+ return e3.apply(this, t3);
+ } catch (e4) {
+ }
+ }, Ne(Ke.history, "pushState", t2), Ne(Ke.history, "replaceState", t2);
+ }();
+ break;
+ case "error":
+ dt = Ke.onerror, Ke.onerror = function(e3, t2, n2, r2, i2) {
+ return rt("error", { column: r2, error: i2, line: n2, msg: e3, url: t2 }), !(!dt || dt.__SENTRY_LOADER__) && dt.apply(this, arguments);
+ }, Ke.onerror.__SENTRY_INSTRUMENTED__ = true;
+ break;
+ case "unhandledrejection":
+ ht = Ke.onunhandledrejection, Ke.onunhandledrejection = function(e3) {
+ return rt("unhandledrejection", e3), !(ht && !ht.__SENTRY_LOADER__) || ht.apply(this, arguments);
+ }, Ke.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;
+ break;
+ default:
+ return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("unknown instrumentation type:", e2));
+ }
+}
+function nt(e2, t2) {
+ Ze[e2] = Ze[e2] || [], Ze[e2].push(t2), tt(e2);
+}
+function rt(e2, t2) {
+ if (e2 && Ze[e2]) for (const n2 of Ze[e2] || []) try {
+ n2(t2);
+ } catch (t3) {
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error(`Error while triggering instrumentation handler.
+Type: ${e2}
+Name: ${Ye(n2)}
+Error:`, t3);
+ }
+}
+function it(e2, t2) {
+ return !!e2 && "object" == typeof e2 && !!e2[t2];
+}
+function ot(e2) {
+ return "string" == typeof e2 ? e2 : e2 ? it(e2, "url") ? e2.url : e2.toString ? e2.toString() : "" : "";
+}
+var at;
+var st = 1e3;
+var ct;
+var lt;
+function ut(e2, t2 = false) {
+ return (n2) => {
+ if (!n2 || lt === n2) return;
+ if (function(e3) {
+ if ("keypress" !== e3.type) return false;
+ try {
+ const t3 = e3.target;
+ if (!t3 || !t3.tagName) return true;
+ if ("INPUT" === t3.tagName || "TEXTAREA" === t3.tagName || t3.isContentEditable) return false;
+ } catch (e4) {
+ }
+ return true;
+ }(n2)) return;
+ const r2 = "keypress" === n2.type ? "input" : n2.type;
+ (void 0 === ct || function(e3, t3) {
+ if (!e3) return true;
+ if (e3.type !== t3.type) return true;
+ try {
+ if (e3.target !== t3.target) return true;
+ } catch (e4) {
+ }
+ return false;
+ }(lt, n2)) && (e2({ event: n2, name: r2, global: t2 }), lt = n2), clearTimeout(ct), ct = Ke.setTimeout(() => {
+ ct = void 0;
+ }, st);
+ };
+}
+var dt = null;
+var ht = null;
+function pt() {
+ const e2 = be, t2 = e2.crypto || e2.msCrypto;
+ if (t2 && t2.randomUUID) return t2.randomUUID().replace(/-/g, "");
+ const n2 = t2 && t2.getRandomValues ? () => t2.getRandomValues(new Uint8Array(1))[0] : () => 16 * Math.random();
+ return ("10000000100040008000" + 1e11).replace(/[018]/g, (e3) => (e3 ^ (15 & n2()) >> e3 / 4).toString(16));
+}
+function ft(e2) {
+ return e2.exception && e2.exception.values ? e2.exception.values[0] : void 0;
+}
+function gt(e2) {
+ const { message: t2, event_id: n2 } = e2;
+ if (t2) return t2;
+ const r2 = ft(e2);
+ return r2 ? r2.type && r2.value ? `${r2.type}: ${r2.value}` : r2.type || r2.value || n2 || "" : n2 || "";
+}
+function vt(e2, t2, n2) {
+ const r2 = e2.exception = e2.exception || {}, i2 = r2.values = r2.values || [], o2 = i2[0] = i2[0] || {};
+ o2.value || (o2.value = t2 || ""), o2.type || (o2.type = n2 || "Error");
+}
+function mt(e2, t2) {
+ const n2 = ft(e2);
+ if (!n2) return;
+ const r2 = n2.mechanism;
+ if (n2.mechanism = { type: "generic", handled: true, ...r2, ...t2 }, t2 && "data" in t2) {
+ const e3 = { ...r2 && r2.data, ...t2.data };
+ n2.mechanism.data = e3;
+ }
+}
+function yt(e2) {
+ if (e2 && e2.__sentry_captured__) return true;
+ try {
+ Re(e2, "__sentry_captured__", true);
+ } catch (e3) {
+ }
+ return false;
+}
+function _t(e2, t2 = 100, n2 = 1 / 0) {
+ try {
+ return wt("", e2, t2, n2);
+ } catch (e3) {
+ return { ERROR: `**non-serializable** (${e3})` };
+ }
+}
+function bt(e2, t2 = 3, n2 = 102400) {
+ const r2 = _t(e2, t2);
+ return i2 = r2, function(e3) {
+ return ~-encodeURI(e3).split(/%..|./).length;
+ }(JSON.stringify(i2)) > n2 ? bt(e2, t2 - 1, n2) : r2;
+ var i2;
+}
+function wt(e2, t2, n2 = 1 / 0, r2 = 1 / 0, i2 = /* @__PURE__ */ function() {
+ const e3 = "function" == typeof WeakSet, t3 = e3 ? /* @__PURE__ */ new WeakSet() : [];
+ return [function(n3) {
+ if (e3) return !!t3.has(n3) || (t3.add(n3), false);
+ for (let e4 = 0; e4 < t3.length; e4++) if (t3[e4] === n3) return true;
+ return t3.push(n3), false;
+ }, function(n3) {
+ if (e3) t3.delete(n3);
+ else for (let e4 = 0; e4 < t3.length; e4++) if (t3[e4] === n3) {
+ t3.splice(e4, 1);
+ break;
+ }
+ }];
+}()) {
+ const [o2, a2] = i2;
+ if (null == t2 || ["number", "boolean", "string"].includes(typeof t2) && ("number" != typeof (s2 = t2) || s2 == s2)) return t2;
+ var s2;
+ const c2 = function(e3, t3) {
+ try {
+ if ("domain" === e3 && t3 && "object" == typeof t3 && t3._events) return "[Domain]";
+ if ("domainEmitter" === e3) return "[DomainEmitter]";
+ if ("undefined" != typeof global && t3 === global) return "[Global]";
+ if ("undefined" != typeof window && t3 === window) return "[Window]";
+ if ("undefined" != typeof document && t3 === document) return "[Document]";
+ if (function(e4) {
+ return se(e4) && "nativeEvent" in e4 && "preventDefault" in e4 && "stopPropagation" in e4;
+ }(t3)) return "[SyntheticEvent]";
+ if ("number" == typeof t3 && t3 != t3) return "[NaN]";
+ if ("function" == typeof t3) return `[Function: ${Ye(t3)}]`;
+ if ("symbol" == typeof t3) return `[${String(t3)}]`;
+ if ("bigint" == typeof t3) return `[BigInt: ${String(t3)}]`;
+ const n3 = function(e4) {
+ const t4 = Object.getPrototypeOf(e4);
+ return t4 ? t4.constructor.name : "null prototype";
+ }(t3);
+ return /^HTML(\w*)Element$/.test(n3) ? `[HTMLElement: ${n3}]` : `[object ${n3}]`;
+ } catch (e4) {
+ return `**non-serializable** (${e4})`;
+ }
+ }(e2, t2);
+ if (!c2.startsWith("[object ")) return c2;
+ if (t2.__sentry_skip_normalization__) return t2;
+ const l2 = "number" == typeof t2.__sentry_override_normalization_depth__ ? t2.__sentry_override_normalization_depth__ : n2;
+ if (0 === l2) return c2.replace("object ", "");
+ if (o2(t2)) return "[Circular ~]";
+ const u2 = t2;
+ if (u2 && "function" == typeof u2.toJSON) try {
+ return wt("", u2.toJSON(), l2 - 1, r2, i2);
+ } catch (e3) {
+ }
+ const d2 = Array.isArray(t2) ? [] : {};
+ let h2 = 0;
+ const p2 = Ue(t2);
+ for (const e3 in p2) {
+ if (!Object.prototype.hasOwnProperty.call(p2, e3)) continue;
+ if (h2 >= r2) {
+ d2[e3] = "[MaxProperties ~]";
+ break;
+ }
+ const t3 = p2[e3];
+ d2[e3] = wt(e3, t3, l2 - 1, r2, i2), h2++;
+ }
+ return a2(t2), d2;
+}
+var St;
+function kt(e2) {
+ return new Ct((t2) => {
+ t2(e2);
+ });
+}
+function Et(e2) {
+ return new Ct((t2, n2) => {
+ n2(e2);
+ });
+}
+!function(e2) {
+ e2[e2.PENDING = 0] = "PENDING";
+ e2[e2.RESOLVED = 1] = "RESOLVED";
+ e2[e2.REJECTED = 2] = "REJECTED";
+}(St || (St = {}));
+var Ct = class _Ct {
+ __init() {
+ this._state = St.PENDING;
+ }
+ __init2() {
+ this._handlers = [];
+ }
+ constructor(e2) {
+ _Ct.prototype.__init.call(this), _Ct.prototype.__init2.call(this), _Ct.prototype.__init3.call(this), _Ct.prototype.__init4.call(this), _Ct.prototype.__init5.call(this), _Ct.prototype.__init6.call(this);
+ try {
+ e2(this._resolve, this._reject);
+ } catch (e3) {
+ this._reject(e3);
+ }
+ }
+ then(e2, t2) {
+ return new _Ct((n2, r2) => {
+ this._handlers.push([false, (t3) => {
+ if (e2) try {
+ n2(e2(t3));
+ } catch (e3) {
+ r2(e3);
+ }
+ else n2(t3);
+ }, (e3) => {
+ if (t2) try {
+ n2(t2(e3));
+ } catch (e4) {
+ r2(e4);
+ }
+ else r2(e3);
+ }]), this._executeHandlers();
+ });
+ }
+ catch(e2) {
+ return this.then((e3) => e3, e2);
+ }
+ finally(e2) {
+ return new _Ct((t2, n2) => {
+ let r2, i2;
+ return this.then((t3) => {
+ i2 = false, r2 = t3, e2 && e2();
+ }, (t3) => {
+ i2 = true, r2 = t3, e2 && e2();
+ }).then(() => {
+ i2 ? n2(r2) : t2(r2);
+ });
+ });
+ }
+ __init3() {
+ this._resolve = (e2) => {
+ this._setResult(St.RESOLVED, e2);
+ };
+ }
+ __init4() {
+ this._reject = (e2) => {
+ this._setResult(St.REJECTED, e2);
+ };
+ }
+ __init5() {
+ this._setResult = (e2, t2) => {
+ this._state === St.PENDING && (le(t2) ? t2.then(this._resolve, this._reject) : (this._state = e2, this._value = t2, this._executeHandlers()));
+ };
+ }
+ __init6() {
+ this._executeHandlers = () => {
+ if (this._state === St.PENDING) return;
+ const e2 = this._handlers.slice();
+ this._handlers = [], e2.forEach((e3) => {
+ e3[0] || (this._state === St.RESOLVED && e3[1](this._value), this._state === St.REJECTED && e3[2](this._value), e3[0] = true);
+ });
+ };
+ }
+};
+function Mt(e2) {
+ const t2 = [];
+ function n2(e3) {
+ return t2.splice(t2.indexOf(e3), 1)[0];
+ }
+ return { $: t2, add: function(r2) {
+ if (!(void 0 === e2 || t2.length < e2)) return Et(new Ie("Not adding Promise because buffer limit was reached."));
+ const i2 = r2();
+ return -1 === t2.indexOf(i2) && t2.push(i2), i2.then(() => n2(i2)).then(null, () => n2(i2).then(null, () => {
+ })), i2;
+ }, drain: function(e3) {
+ return new Ct((n3, r2) => {
+ let i2 = t2.length;
+ if (!i2) return n3(true);
+ const o2 = setTimeout(() => {
+ e3 && e3 > 0 && n3(false);
+ }, e3);
+ t2.forEach((e4) => {
+ kt(e4).then(() => {
+ --i2 || (clearTimeout(o2), n3(true));
+ }, r2);
+ });
+ });
+ } };
+}
+function Tt(e2) {
+ if (!e2) return {};
+ const t2 = e2.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
+ if (!t2) return {};
+ const n2 = t2[6] || "", r2 = t2[8] || "";
+ return { host: t2[4], path: t2[5], protocol: t2[2], search: n2, hash: r2, relative: t2[5] + n2 + r2 };
+}
+var Ot = ["fatal", "error", "warning", "log", "info", "debug"];
+var Pt = we();
+var At = { nowSeconds: () => Date.now() / 1e3 };
+var Dt = "undefined" != typeof __SENTRY_BROWSER_BUNDLE__ && __SENTRY_BROWSER_BUNDLE__ || "[object process]" !== Object.prototype.toString.call("undefined" != typeof process ? process : 0) ? function() {
+ const { performance: e2 } = Pt;
+ if (!e2 || !e2.now) return;
+ return { now: () => e2.now(), timeOrigin: Date.now() - e2.now() };
+}() : function() {
+ try {
+ return (e2 = module, t2 = "perf_hooks", e2.require(t2)).performance;
+ } catch (e3) {
+ return;
+ }
+ var e2, t2;
+}();
+var jt = void 0 === Dt ? At : { nowSeconds: () => (Dt.timeOrigin + Dt.now()) / 1e3 };
+var xt = At.nowSeconds.bind(At);
+var Lt = jt.nowSeconds.bind(jt);
+function It(e2, t2 = []) {
+ return [e2, t2];
+}
+function Nt(e2, t2) {
+ const [n2, r2] = e2;
+ return [n2, [...r2, t2]];
+}
+function Rt(e2, t2) {
+ const n2 = e2[1];
+ for (const e3 of n2) {
+ if (t2(e3, e3[0].type)) return true;
+ }
+ return false;
+}
+function Bt(e2, t2) {
+ return (t2 || new TextEncoder()).encode(e2);
+}
+function Ft(e2, t2) {
+ const [n2, r2] = e2;
+ let i2 = JSON.stringify(n2);
+ function o2(e3) {
+ "string" == typeof i2 ? i2 = "string" == typeof e3 ? i2 + e3 : [Bt(i2, t2), e3] : i2.push("string" == typeof e3 ? Bt(e3, t2) : e3);
+ }
+ for (const e3 of r2) {
+ const [t3, n3] = e3;
+ if (o2(`
+${JSON.stringify(t3)}
+`), "string" == typeof n3 || n3 instanceof Uint8Array) o2(n3);
+ else {
+ let e4;
+ try {
+ e4 = JSON.stringify(n3);
+ } catch (t4) {
+ e4 = JSON.stringify(_t(n3));
+ }
+ o2(e4);
+ }
+ }
+ return "string" == typeof i2 ? i2 : function(e3) {
+ const t3 = e3.reduce((e4, t4) => e4 + t4.length, 0), n3 = new Uint8Array(t3);
+ let r3 = 0;
+ for (const t4 of e3) n3.set(t4, r3), r3 += t4.length;
+ return n3;
+ }(i2);
+}
+function Ut(e2, t2) {
+ const n2 = "string" == typeof e2.data ? Bt(e2.data, t2) : e2.data;
+ return [$e({ type: "attachment", length: n2.length, filename: e2.filename, content_type: e2.contentType, attachment_type: e2.attachmentType }), n2];
+}
+(() => {
+ const { performance: e2 } = Pt;
+ if (!e2 || !e2.now) return;
+ const t2 = 36e5, n2 = e2.now(), r2 = Date.now(), i2 = e2.timeOrigin ? Math.abs(e2.timeOrigin + n2 - r2) : t2, o2 = i2 < t2, a2 = e2.timing && e2.timing.navigationStart, s2 = "number" == typeof a2 ? Math.abs(a2 + n2 - r2) : t2;
+ (o2 || s2 < t2) && (i2 <= s2 && e2.timeOrigin);
+})();
+var Vt = { session: "session", sessions: "session", attachment: "attachment", transaction: "transaction", event: "error", client_report: "internal", user_report: "default", profile: "profile", replay_event: "replay", replay_recording: "replay", check_in: "monitor" };
+function Jt(e2) {
+ return Vt[e2];
+}
+function $t(e2) {
+ if (!e2 || !e2.sdk) return;
+ const { name: t2, version: n2 } = e2.sdk;
+ return { name: t2, version: n2 };
+}
+var Gt = 6e4;
+function qt(e2, { statusCode: t2, headers: n2 }, r2 = Date.now()) {
+ const i2 = { ...e2 }, o2 = n2 && n2["x-sentry-rate-limits"], a2 = n2 && n2["retry-after"];
+ if (o2) for (const e3 of o2.trim().split(",")) {
+ const [t3, n3] = e3.split(":", 2), o3 = parseInt(t3, 10), a3 = 1e3 * (isNaN(o3) ? 60 : o3);
+ if (n3) for (const e4 of n3.split(";")) i2[e4] = r2 + a3;
+ else i2.all = r2 + a3;
+ }
+ else a2 ? i2.all = r2 + function(e3, t3 = Date.now()) {
+ const n3 = parseInt(`${e3}`, 10);
+ if (!isNaN(n3)) return 1e3 * n3;
+ const r3 = Date.parse(`${e3}`);
+ return isNaN(r3) ? Gt : r3 - t3;
+ }(a2, r2) : 429 === t2 && (i2.all = r2 + 6e4);
+ return i2;
+}
+var Yt = "production";
+function zt(e2) {
+ const t2 = Lt(), n2 = { sid: pt(), init: true, timestamp: t2, started: t2, duration: 0, status: "ok", errors: 0, ignoreDuration: false, toJSON: () => function(e3) {
+ return $e({ sid: `${e3.sid}`, init: e3.init, started: new Date(1e3 * e3.started).toISOString(), timestamp: new Date(1e3 * e3.timestamp).toISOString(), status: e3.status, errors: e3.errors, did: "number" == typeof e3.did || "string" == typeof e3.did ? `${e3.did}` : void 0, duration: e3.duration, attrs: { release: e3.release, environment: e3.environment, ip_address: e3.ipAddress, user_agent: e3.userAgent } });
+ }(n2) };
+ return e2 && Wt(n2, e2), n2;
+}
+function Wt(e2, t2 = {}) {
+ if (t2.user && (!e2.ipAddress && t2.user.ip_address && (e2.ipAddress = t2.user.ip_address), e2.did || t2.did || (e2.did = t2.user.id || t2.user.email || t2.user.username)), e2.timestamp = t2.timestamp || Lt(), t2.ignoreDuration && (e2.ignoreDuration = t2.ignoreDuration), t2.sid && (e2.sid = 32 === t2.sid.length ? t2.sid : pt()), void 0 !== t2.init && (e2.init = t2.init), !e2.did && t2.did && (e2.did = `${t2.did}`), "number" == typeof t2.started && (e2.started = t2.started), e2.ignoreDuration) e2.duration = void 0;
+ else if ("number" == typeof t2.duration) e2.duration = t2.duration;
+ else {
+ const t3 = e2.timestamp - e2.started;
+ e2.duration = t3 >= 0 ? t3 : 0;
+ }
+ t2.release && (e2.release = t2.release), t2.environment && (e2.environment = t2.environment), !e2.ipAddress && t2.ipAddress && (e2.ipAddress = t2.ipAddress), !e2.userAgent && t2.userAgent && (e2.userAgent = t2.userAgent), "number" == typeof t2.errors && (e2.errors = t2.errors), t2.status && (e2.status = t2.status);
+}
+var Ht = class _Ht {
+ constructor() {
+ this._notifyingListeners = false, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = Xt();
+ }
+ static clone(e2) {
+ const t2 = new _Ht();
+ return e2 && (t2._breadcrumbs = [...e2._breadcrumbs], t2._tags = { ...e2._tags }, t2._extra = { ...e2._extra }, t2._contexts = { ...e2._contexts }, t2._user = e2._user, t2._level = e2._level, t2._span = e2._span, t2._session = e2._session, t2._transactionName = e2._transactionName, t2._fingerprint = e2._fingerprint, t2._eventProcessors = [...e2._eventProcessors], t2._requestSession = e2._requestSession, t2._attachments = [...e2._attachments], t2._sdkProcessingMetadata = { ...e2._sdkProcessingMetadata }, t2._propagationContext = { ...e2._propagationContext }), t2;
+ }
+ addScopeListener(e2) {
+ this._scopeListeners.push(e2);
+ }
+ addEventProcessor(e2) {
+ return this._eventProcessors.push(e2), this;
+ }
+ setUser(e2) {
+ return this._user = e2 || {}, this._session && Wt(this._session, { user: e2 }), this._notifyScopeListeners(), this;
+ }
+ getUser() {
+ return this._user;
+ }
+ getRequestSession() {
+ return this._requestSession;
+ }
+ setRequestSession(e2) {
+ return this._requestSession = e2, this;
+ }
+ setTags(e2) {
+ return this._tags = { ...this._tags, ...e2 }, this._notifyScopeListeners(), this;
+ }
+ setTag(e2, t2) {
+ return this._tags = { ...this._tags, [e2]: t2 }, this._notifyScopeListeners(), this;
+ }
+ setExtras(e2) {
+ return this._extra = { ...this._extra, ...e2 }, this._notifyScopeListeners(), this;
+ }
+ setExtra(e2, t2) {
+ return this._extra = { ...this._extra, [e2]: t2 }, this._notifyScopeListeners(), this;
+ }
+ setFingerprint(e2) {
+ return this._fingerprint = e2, this._notifyScopeListeners(), this;
+ }
+ setLevel(e2) {
+ return this._level = e2, this._notifyScopeListeners(), this;
+ }
+ setTransactionName(e2) {
+ return this._transactionName = e2, this._notifyScopeListeners(), this;
+ }
+ setContext(e2, t2) {
+ return null === t2 ? delete this._contexts[e2] : this._contexts[e2] = t2, this._notifyScopeListeners(), this;
+ }
+ setSpan(e2) {
+ return this._span = e2, this._notifyScopeListeners(), this;
+ }
+ getSpan() {
+ return this._span;
+ }
+ getTransaction() {
+ const e2 = this.getSpan();
+ return e2 && e2.transaction;
+ }
+ setSession(e2) {
+ return e2 ? this._session = e2 : delete this._session, this._notifyScopeListeners(), this;
+ }
+ getSession() {
+ return this._session;
+ }
+ update(e2) {
+ if (!e2) return this;
+ if ("function" == typeof e2) {
+ const t2 = e2(this);
+ return t2 instanceof _Ht ? t2 : this;
+ }
+ return e2 instanceof _Ht ? (this._tags = { ...this._tags, ...e2._tags }, this._extra = { ...this._extra, ...e2._extra }, this._contexts = { ...this._contexts, ...e2._contexts }, e2._user && Object.keys(e2._user).length && (this._user = e2._user), e2._level && (this._level = e2._level), e2._fingerprint && (this._fingerprint = e2._fingerprint), e2._requestSession && (this._requestSession = e2._requestSession), e2._propagationContext && (this._propagationContext = e2._propagationContext)) : se(e2) && (this._tags = { ...this._tags, ...e2.tags }, this._extra = { ...this._extra, ...e2.extra }, this._contexts = { ...this._contexts, ...e2.contexts }, e2.user && (this._user = e2.user), e2.level && (this._level = e2.level), e2.fingerprint && (this._fingerprint = e2.fingerprint), e2.requestSession && (this._requestSession = e2.requestSession), e2.propagationContext && (this._propagationContext = e2.propagationContext)), this;
+ }
+ clear() {
+ return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._requestSession = void 0, this._span = void 0, this._session = void 0, this._notifyScopeListeners(), this._attachments = [], this._propagationContext = Xt(), this;
+ }
+ addBreadcrumb(e2, t2) {
+ const n2 = "number" == typeof t2 ? t2 : 100;
+ if (n2 <= 0) return this;
+ const r2 = { timestamp: xt(), ...e2 };
+ return this._breadcrumbs = [...this._breadcrumbs, r2].slice(-n2), this._notifyScopeListeners(), this;
+ }
+ getLastBreadcrumb() {
+ return this._breadcrumbs[this._breadcrumbs.length - 1];
+ }
+ clearBreadcrumbs() {
+ return this._breadcrumbs = [], this._notifyScopeListeners(), this;
+ }
+ addAttachment(e2) {
+ return this._attachments.push(e2), this;
+ }
+ getAttachments() {
+ return this._attachments;
+ }
+ clearAttachments() {
+ return this._attachments = [], this;
+ }
+ applyToEvent(e2, t2 = {}) {
+ if (this._extra && Object.keys(this._extra).length && (e2.extra = { ...this._extra, ...e2.extra }), this._tags && Object.keys(this._tags).length && (e2.tags = { ...this._tags, ...e2.tags }), this._user && Object.keys(this._user).length && (e2.user = { ...this._user, ...e2.user }), this._contexts && Object.keys(this._contexts).length && (e2.contexts = { ...this._contexts, ...e2.contexts }), this._level && (e2.level = this._level), this._transactionName && (e2.transaction = this._transactionName), this._span) {
+ e2.contexts = { trace: this._span.getTraceContext(), ...e2.contexts };
+ const t3 = this._span.transaction;
+ if (t3) {
+ e2.sdkProcessingMetadata = { dynamicSamplingContext: t3.getDynamicSamplingContext(), ...e2.sdkProcessingMetadata };
+ const n2 = t3.name;
+ n2 && (e2.tags = { transaction: n2, ...e2.tags });
+ }
+ }
+ return this._applyFingerprint(e2), e2.breadcrumbs = [...e2.breadcrumbs || [], ...this._breadcrumbs], e2.breadcrumbs = e2.breadcrumbs.length > 0 ? e2.breadcrumbs : void 0, e2.sdkProcessingMetadata = { ...e2.sdkProcessingMetadata, ...this._sdkProcessingMetadata, propagationContext: this._propagationContext }, this._notifyEventProcessors([...Qt(), ...this._eventProcessors], e2, t2);
+ }
+ setSDKProcessingMetadata(e2) {
+ return this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...e2 }, this;
+ }
+ setPropagationContext(e2) {
+ return this._propagationContext = e2, this;
+ }
+ getPropagationContext() {
+ return this._propagationContext;
+ }
+ _notifyEventProcessors(e2, t2, n2, r2 = 0) {
+ return new Ct((i2, o2) => {
+ const a2 = e2[r2];
+ if (null === t2 || "function" != typeof a2) i2(t2);
+ else {
+ const s2 = a2({ ...t2 }, n2);
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && a2.id && null === s2 && Ae.log(`Event processor "${a2.id}" dropped event`), le(s2) ? s2.then((t3) => this._notifyEventProcessors(e2, t3, n2, r2 + 1).then(i2)).then(null, o2) : this._notifyEventProcessors(e2, s2, n2, r2 + 1).then(i2).then(null, o2);
+ }
+ });
+ }
+ _notifyScopeListeners() {
+ this._notifyingListeners || (this._notifyingListeners = true, this._scopeListeners.forEach((e2) => {
+ e2(this);
+ }), this._notifyingListeners = false);
+ }
+ _applyFingerprint(e2) {
+ var t2;
+ e2.fingerprint = e2.fingerprint ? (t2 = e2.fingerprint, Array.isArray(t2) ? t2 : [t2]) : [], this._fingerprint && (e2.fingerprint = e2.fingerprint.concat(this._fingerprint)), e2.fingerprint && !e2.fingerprint.length && delete e2.fingerprint;
+ }
+};
+function Qt() {
+ return Se("globalEventProcessors", () => []);
+}
+function Kt(e2) {
+ Qt().push(e2);
+}
+function Xt() {
+ return { traceId: pt(), spanId: pt().substring(16), sampled: false };
+}
+var Zt = 4;
+var en = 100;
+var tn = class {
+ constructor(e2, t2 = new Ht(), n2 = Zt) {
+ this._version = n2, this._stack = [{ scope: t2 }], e2 && this.bindClient(e2);
+ }
+ isOlderThan(e2) {
+ return this._version < e2;
+ }
+ bindClient(e2) {
+ this.getStackTop().client = e2, e2 && e2.setupIntegrations && e2.setupIntegrations();
+ }
+ pushScope() {
+ const e2 = Ht.clone(this.getScope());
+ return this.getStack().push({ client: this.getClient(), scope: e2 }), e2;
+ }
+ popScope() {
+ return !(this.getStack().length <= 1) && !!this.getStack().pop();
+ }
+ withScope(e2) {
+ const t2 = this.pushScope();
+ try {
+ e2(t2);
+ } finally {
+ this.popScope();
+ }
+ }
+ getClient() {
+ return this.getStackTop().client;
+ }
+ getScope() {
+ return this.getStackTop().scope;
+ }
+ getStack() {
+ return this._stack;
+ }
+ getStackTop() {
+ return this._stack[this._stack.length - 1];
+ }
+ captureException(e2, t2) {
+ const n2 = this._lastEventId = t2 && t2.event_id ? t2.event_id : pt(), r2 = new Error("Sentry syntheticException");
+ return this._withClient((i2, o2) => {
+ i2.captureException(e2, { originalException: e2, syntheticException: r2, ...t2, event_id: n2 }, o2);
+ }), n2;
+ }
+ captureMessage(e2, t2, n2) {
+ const r2 = this._lastEventId = n2 && n2.event_id ? n2.event_id : pt(), i2 = new Error(e2);
+ return this._withClient((o2, a2) => {
+ o2.captureMessage(e2, t2, { originalException: e2, syntheticException: i2, ...n2, event_id: r2 }, a2);
+ }), r2;
+ }
+ captureEvent(e2, t2) {
+ const n2 = t2 && t2.event_id ? t2.event_id : pt();
+ return e2.type || (this._lastEventId = n2), this._withClient((r2, i2) => {
+ r2.captureEvent(e2, { ...t2, event_id: n2 }, i2);
+ }), n2;
+ }
+ lastEventId() {
+ return this._lastEventId;
+ }
+ addBreadcrumb(e2, t2) {
+ const { scope: n2, client: r2 } = this.getStackTop();
+ if (!r2) return;
+ const { beforeBreadcrumb: i2 = null, maxBreadcrumbs: o2 = en } = r2.getOptions && r2.getOptions() || {};
+ if (o2 <= 0) return;
+ const a2 = { timestamp: xt(), ...e2 }, s2 = i2 ? Oe(() => i2(a2, t2)) : a2;
+ null !== s2 && (r2.emit && r2.emit("beforeAddBreadcrumb", s2, t2), n2.addBreadcrumb(s2, o2));
+ }
+ setUser(e2) {
+ this.getScope().setUser(e2);
+ }
+ setTags(e2) {
+ this.getScope().setTags(e2);
+ }
+ setExtras(e2) {
+ this.getScope().setExtras(e2);
+ }
+ setTag(e2, t2) {
+ this.getScope().setTag(e2, t2);
+ }
+ setExtra(e2, t2) {
+ this.getScope().setExtra(e2, t2);
+ }
+ setContext(e2, t2) {
+ this.getScope().setContext(e2, t2);
+ }
+ configureScope(e2) {
+ const { scope: t2, client: n2 } = this.getStackTop();
+ n2 && e2(t2);
+ }
+ run(e2) {
+ const t2 = rn(this);
+ try {
+ e2(this);
+ } finally {
+ rn(t2);
+ }
+ }
+ getIntegration(e2) {
+ const t2 = this.getClient();
+ if (!t2) return null;
+ try {
+ return t2.getIntegration(e2);
+ } catch (t3) {
+ return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Cannot retrieve integration ${e2.id} from the current Hub`), null;
+ }
+ }
+ startTransaction(e2, t2) {
+ const n2 = this._callExtensionMethod("startTransaction", e2, t2);
+ return "undefined" != typeof __SENTRY_DEBUG__ && !__SENTRY_DEBUG__ || n2 || console.warn("Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n"), n2;
+ }
+ traceHeaders() {
+ return this._callExtensionMethod("traceHeaders");
+ }
+ captureSession(e2 = false) {
+ if (e2) return this.endSession();
+ this._sendSessionUpdate();
+ }
+ endSession() {
+ const e2 = this.getStackTop().scope, t2 = e2.getSession();
+ t2 && function(e3, t3) {
+ let n2 = {};
+ t3 ? n2 = { status: t3 } : "ok" === e3.status && (n2 = { status: "exited" }), Wt(e3, n2);
+ }(t2), this._sendSessionUpdate(), e2.setSession();
+ }
+ startSession(e2) {
+ const { scope: t2, client: n2 } = this.getStackTop(), { release: r2, environment: i2 = Yt } = n2 && n2.getOptions() || {}, { userAgent: o2 } = be.navigator || {}, a2 = zt({ release: r2, environment: i2, user: t2.getUser(), ...o2 && { userAgent: o2 }, ...e2 }), s2 = t2.getSession && t2.getSession();
+ return s2 && "ok" === s2.status && Wt(s2, { status: "exited" }), this.endSession(), t2.setSession(a2), a2;
+ }
+ shouldSendDefaultPii() {
+ const e2 = this.getClient(), t2 = e2 && e2.getOptions();
+ return Boolean(t2 && t2.sendDefaultPii);
+ }
+ _sendSessionUpdate() {
+ const { scope: e2, client: t2 } = this.getStackTop(), n2 = e2.getSession();
+ n2 && t2 && t2.captureSession && t2.captureSession(n2);
+ }
+ _withClient(e2) {
+ const { scope: t2, client: n2 } = this.getStackTop();
+ n2 && e2(n2, t2);
+ }
+ _callExtensionMethod(e2, ...t2) {
+ const n2 = nn().__SENTRY__;
+ if (n2 && n2.extensions && "function" == typeof n2.extensions[e2]) return n2.extensions[e2].apply(this, t2);
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Extension method ${e2} couldn't be found, doing nothing.`);
+ }
+};
+function nn() {
+ return be.__SENTRY__ = be.__SENTRY__ || { extensions: {}, hub: void 0 }, be;
+}
+function rn(e2) {
+ const t2 = nn(), n2 = an(t2);
+ return sn(t2, e2), n2;
+}
+function on() {
+ const e2 = nn();
+ if (e2.__SENTRY__ && e2.__SENTRY__.acs) {
+ const t2 = e2.__SENTRY__.acs.getCurrentHub();
+ if (t2) return t2;
+ }
+ return function(e3 = nn()) {
+ t2 = e3, t2 && t2.__SENTRY__ && t2.__SENTRY__.hub && !an(e3).isOlderThan(Zt) || sn(e3, new tn());
+ var t2;
+ return an(e3);
+ }(e2);
+}
+function an(e2) {
+ return Se("hub", () => new tn(), e2);
+}
+function sn(e2, t2) {
+ if (!e2) return false;
+ return (e2.__SENTRY__ = e2.__SENTRY__ || {}).hub = t2, true;
+}
+var cn = "7";
+function ln(e2, t2) {
+ return n2 = { sentry_key: e2.publicKey, sentry_version: cn, ...t2 && { sentry_client: `${t2.name}/${t2.version}` } }, Object.keys(n2).map((e3) => `${encodeURIComponent(e3)}=${encodeURIComponent(n2[e3])}`).join("&");
+ var n2;
+}
+function un(e2, t2, n2, r2) {
+ const i2 = $t(n2), o2 = e2.type && "replay_event" !== e2.type ? e2.type : "event";
+ !function(e3, t3) {
+ t3 && (e3.sdk = e3.sdk || {}, e3.sdk.name = e3.sdk.name || t3.name, e3.sdk.version = e3.sdk.version || t3.version, e3.sdk.integrations = [...e3.sdk.integrations || [], ...t3.integrations || []], e3.sdk.packages = [...e3.sdk.packages || [], ...t3.packages || []]);
+ }(e2, n2 && n2.sdk);
+ const a2 = function(e3, t3, n3, r3) {
+ const i3 = e3.sdkProcessingMetadata && e3.sdkProcessingMetadata.dynamicSamplingContext;
+ return { event_id: e3.event_id, sent_at: (/* @__PURE__ */ new Date()).toISOString(), ...t3 && { sdk: t3 }, ...!!n3 && { dsn: je(r3) }, ...i3 && { trace: $e({ ...i3 }) } };
+ }(e2, i2, r2, t2);
+ delete e2.sdkProcessingMetadata;
+ return It(a2, [[{ type: o2 }, e2]]);
+}
+var dn = [];
+function hn(e2, t2) {
+ t2[e2.name] = e2, -1 === dn.indexOf(e2.name) && (e2.setupOnce(Kt, on), dn.push(e2.name), ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log(`Integration installed: ${e2.name}`));
+}
+function pn(e2, t2, n2, r2) {
+ const { normalizeDepth: i2 = 3, normalizeMaxBreadth: o2 = 1e3 } = e2, a2 = { ...t2, event_id: t2.event_id || n2.event_id || pt(), timestamp: t2.timestamp || xt() }, s2 = n2.integrations || e2.integrations.map((e3) => e3.name);
+ !function(e3, t3) {
+ const { environment: n3, release: r3, dist: i3, maxValueLength: o3 = 250 } = t3;
+ "environment" in e3 || (e3.environment = "environment" in t3 ? n3 : Yt);
+ void 0 === e3.release && void 0 !== r3 && (e3.release = r3);
+ void 0 === e3.dist && void 0 !== i3 && (e3.dist = i3);
+ e3.message && (e3.message = de(e3.message, o3));
+ const a3 = e3.exception && e3.exception.values && e3.exception.values[0];
+ a3 && a3.value && (a3.value = de(a3.value, o3));
+ const s3 = e3.request;
+ s3 && s3.url && (s3.url = de(s3.url, o3));
+ }(a2, e2), function(e3, t3) {
+ t3.length > 0 && (e3.sdk = e3.sdk || {}, e3.sdk.integrations = [...e3.sdk.integrations || [], ...t3]);
+ }(a2, s2), void 0 === t2.type && function(e3, t3) {
+ const n3 = be._sentryDebugIds;
+ if (!n3) return;
+ let r3;
+ const i3 = fn.get(t3);
+ i3 ? r3 = i3 : (r3 = /* @__PURE__ */ new Map(), fn.set(t3, r3));
+ const o3 = Object.keys(n3).reduce((e4, i4) => {
+ let o4;
+ const a3 = r3.get(i4);
+ a3 ? o4 = a3 : (o4 = t3(i4), r3.set(i4, o4));
+ for (let t4 = o4.length - 1; t4 >= 0; t4--) {
+ const r4 = o4[t4];
+ if (r4.filename) {
+ e4[r4.filename] = n3[i4];
+ break;
+ }
+ }
+ return e4;
+ }, {});
+ try {
+ e3.exception.values.forEach((e4) => {
+ e4.stacktrace.frames.forEach((e5) => {
+ e5.filename && (e5.debug_id = o3[e5.filename]);
+ });
+ });
+ } catch (e4) {
+ }
+ }(a2, e2.stackParser);
+ let c2 = r2;
+ n2.captureContext && (c2 = Ht.clone(c2).update(n2.captureContext));
+ let l2 = kt(a2);
+ if (c2) {
+ if (c2.getAttachments) {
+ const e3 = [...n2.attachments || [], ...c2.getAttachments()];
+ e3.length && (n2.attachments = e3);
+ }
+ l2 = c2.applyToEvent(a2, n2);
+ }
+ return l2.then((e3) => (e3 && function(e4) {
+ const t3 = {};
+ try {
+ e4.exception.values.forEach((e5) => {
+ e5.stacktrace.frames.forEach((e6) => {
+ e6.debug_id && (e6.abs_path ? t3[e6.abs_path] = e6.debug_id : e6.filename && (t3[e6.filename] = e6.debug_id), delete e6.debug_id);
+ });
+ });
+ } catch (e5) {
+ }
+ if (0 === Object.keys(t3).length) return;
+ e4.debug_meta = e4.debug_meta || {}, e4.debug_meta.images = e4.debug_meta.images || [];
+ const n3 = e4.debug_meta.images;
+ Object.keys(t3).forEach((e5) => {
+ n3.push({ type: "sourcemap", code_file: e5, debug_id: t3[e5] });
+ });
+ }(e3), "number" == typeof i2 && i2 > 0 ? function(e4, t3, n3) {
+ if (!e4) return null;
+ const r3 = { ...e4, ...e4.breadcrumbs && { breadcrumbs: e4.breadcrumbs.map((e5) => ({ ...e5, ...e5.data && { data: _t(e5.data, t3, n3) } })) }, ...e4.user && { user: _t(e4.user, t3, n3) }, ...e4.contexts && { contexts: _t(e4.contexts, t3, n3) }, ...e4.extra && { extra: _t(e4.extra, t3, n3) } };
+ e4.contexts && e4.contexts.trace && r3.contexts && (r3.contexts.trace = e4.contexts.trace, e4.contexts.trace.data && (r3.contexts.trace.data = _t(e4.contexts.trace.data, t3, n3)));
+ e4.spans && (r3.spans = e4.spans.map((e5) => (e5.data && (e5.data = _t(e5.data, t3, n3)), e5)));
+ return r3;
+ }(e3, i2, o2) : e3));
+}
+var fn = /* @__PURE__ */ new WeakMap();
+var gn = "Not capturing exception because it's already been captured.";
+var vn = class _vn {
+ __init() {
+ this._integrations = {};
+ }
+ __init2() {
+ this._integrationsInitialized = false;
+ }
+ __init3() {
+ this._numProcessing = 0;
+ }
+ __init4() {
+ this._outcomes = {};
+ }
+ __init5() {
+ this._hooks = {};
+ }
+ constructor(e2) {
+ if (_vn.prototype.__init.call(this), _vn.prototype.__init2.call(this), _vn.prototype.__init3.call(this), _vn.prototype.__init4.call(this), _vn.prototype.__init5.call(this), this._options = e2, e2.dsn ? this._dsn = Le(e2.dsn) : ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("No DSN provided, client will not do anything."), this._dsn) {
+ const t2 = function(e3, t3 = {}) {
+ const n2 = "string" == typeof t3 ? t3 : t3.tunnel, r2 = "string" != typeof t3 && t3._metadata ? t3._metadata.sdk : void 0;
+ return n2 || `${function(e4) {
+ return `${function(e5) {
+ const t4 = e5.protocol ? `${e5.protocol}:` : "", n3 = e5.port ? `:${e5.port}` : "";
+ return `${t4}//${e5.host}${n3}${e5.path ? `/${e5.path}` : ""}/api/`;
+ }(e4)}${e4.projectId}/envelope/`;
+ }(e3)}?${ln(e3, r2)}`;
+ }(this._dsn, e2);
+ this._transport = e2.transport({ recordDroppedEvent: this.recordDroppedEvent.bind(this), ...e2.transportOptions, url: t2 });
+ }
+ }
+ captureException(e2, t2, n2) {
+ if (yt(e2)) return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log(gn));
+ let r2 = t2 && t2.event_id;
+ return this._process(this.eventFromException(e2, t2).then((e3) => this._captureEvent(e3, t2, n2)).then((e3) => {
+ r2 = e3;
+ })), r2;
+ }
+ captureMessage(e2, t2, n2, r2) {
+ let i2 = n2 && n2.event_id;
+ const o2 = ae(e2) ? this.eventFromMessage(String(e2), t2, n2) : this.eventFromException(e2, n2);
+ return this._process(o2.then((e3) => this._captureEvent(e3, n2, r2)).then((e3) => {
+ i2 = e3;
+ })), i2;
+ }
+ captureEvent(e2, t2, n2) {
+ if (t2 && t2.originalException && yt(t2.originalException)) return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log(gn));
+ let r2 = t2 && t2.event_id;
+ return this._process(this._captureEvent(e2, t2, n2).then((e3) => {
+ r2 = e3;
+ })), r2;
+ }
+ captureSession(e2) {
+ this._isEnabled() ? "string" != typeof e2.release ? ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("Discarded session because of missing or non-string release") : (this.sendSession(e2), Wt(e2, { init: false })) : ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("SDK not enabled, will not capture session.");
+ }
+ getDsn() {
+ return this._dsn;
+ }
+ getOptions() {
+ return this._options;
+ }
+ getSdkMetadata() {
+ return this._options._metadata;
+ }
+ getTransport() {
+ return this._transport;
+ }
+ flush(e2) {
+ const t2 = this._transport;
+ return t2 ? this._isClientDoneProcessing(e2).then((n2) => t2.flush(e2).then((e3) => n2 && e3)) : kt(true);
+ }
+ close(e2) {
+ return this.flush(e2).then((e3) => (this.getOptions().enabled = false, e3));
+ }
+ setupIntegrations() {
+ this._isEnabled() && !this._integrationsInitialized && (this._integrations = function(e2) {
+ const t2 = {};
+ return e2.forEach((e3) => {
+ e3 && hn(e3, t2);
+ }), t2;
+ }(this._options.integrations), this._integrationsInitialized = true);
+ }
+ getIntegrationById(e2) {
+ return this._integrations[e2];
+ }
+ getIntegration(e2) {
+ try {
+ return this._integrations[e2.id] || null;
+ } catch (t2) {
+ return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Cannot retrieve integration ${e2.id} from the current Client`), null;
+ }
+ }
+ addIntegration(e2) {
+ hn(e2, this._integrations);
+ }
+ sendEvent(e2, t2 = {}) {
+ if (this._dsn) {
+ let n2 = un(e2, this._dsn, this._options._metadata, this._options.tunnel);
+ for (const e3 of t2.attachments || []) n2 = Nt(n2, Ut(e3, this._options.transportOptions && this._options.transportOptions.textEncoder));
+ const r2 = this._sendEnvelope(n2);
+ r2 && r2.then((t3) => this.emit("afterSendEvent", e2, t3), null);
+ }
+ }
+ sendSession(e2) {
+ if (this._dsn) {
+ const t2 = function(e3, t3, n2, r2) {
+ const i2 = $t(n2);
+ return It({ sent_at: (/* @__PURE__ */ new Date()).toISOString(), ...i2 && { sdk: i2 }, ...!!r2 && { dsn: je(t3) } }, ["aggregates" in e3 ? [{ type: "sessions" }, e3] : [{ type: "session" }, e3.toJSON()]]);
+ }(e2, this._dsn, this._options._metadata, this._options.tunnel);
+ this._sendEnvelope(t2);
+ }
+ }
+ recordDroppedEvent(e2, t2, n2) {
+ if (this._options.sendClientReports) {
+ const n3 = `${e2}:${t2}`;
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log(`Adding outcome: "${n3}"`), this._outcomes[n3] = this._outcomes[n3] + 1 || 1;
+ }
+ }
+ on(e2, t2) {
+ this._hooks[e2] || (this._hooks[e2] = []), this._hooks[e2].push(t2);
+ }
+ emit(e2, ...t2) {
+ this._hooks[e2] && this._hooks[e2].forEach((e3) => e3(...t2));
+ }
+ _updateSessionFromEvent(e2, t2) {
+ let n2 = false, r2 = false;
+ const i2 = t2.exception && t2.exception.values;
+ if (i2) {
+ r2 = true;
+ for (const e3 of i2) {
+ const t3 = e3.mechanism;
+ if (t3 && false === t3.handled) {
+ n2 = true;
+ break;
+ }
+ }
+ }
+ const o2 = "ok" === e2.status;
+ (o2 && 0 === e2.errors || o2 && n2) && (Wt(e2, { ...n2 && { status: "crashed" }, errors: e2.errors || Number(r2 || n2) }), this.captureSession(e2));
+ }
+ _isClientDoneProcessing(e2) {
+ return new Ct((t2) => {
+ let n2 = 0;
+ const r2 = setInterval(() => {
+ 0 == this._numProcessing ? (clearInterval(r2), t2(true)) : (n2 += 1, e2 && n2 >= e2 && (clearInterval(r2), t2(false)));
+ }, 1);
+ });
+ }
+ _isEnabled() {
+ return false !== this.getOptions().enabled && void 0 !== this._dsn;
+ }
+ _prepareEvent(e2, t2, n2) {
+ const r2 = this.getOptions(), i2 = Object.keys(this._integrations);
+ return !t2.integrations && i2.length > 0 && (t2.integrations = i2), pn(r2, e2, t2, n2).then((e3) => {
+ if (null === e3) return e3;
+ const { propagationContext: t3 } = e3.sdkProcessingMetadata || {};
+ if (!(e3.contexts && e3.contexts.trace) && t3) {
+ const { traceId: r3, spanId: i3, parentSpanId: o2, dsc: a2 } = t3;
+ e3.contexts = { trace: { trace_id: r3, span_id: i3, parent_span_id: o2 }, ...e3.contexts };
+ const s2 = a2 || function(e4, t4, n3) {
+ const r4 = t4.getOptions(), { publicKey: i4 } = t4.getDsn() || {}, { segment: o3 } = n3 && n3.getUser() || {}, a3 = $e({ environment: r4.environment || Yt, release: r4.release, user_segment: o3, public_key: i4, trace_id: e4 });
+ return t4.emit && t4.emit("createDsc", a3), a3;
+ }(r3, this, n2);
+ e3.sdkProcessingMetadata = { dynamicSamplingContext: s2, ...e3.sdkProcessingMetadata };
+ }
+ return e3;
+ });
+ }
+ _captureEvent(e2, t2 = {}, n2) {
+ return this._processEvent(e2, t2, n2).then((e3) => e3.event_id, (e3) => {
+ if ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) {
+ const t3 = e3;
+ "log" === t3.logLevel ? Ae.log(t3.message) : Ae.warn(t3);
+ }
+ });
+ }
+ _processEvent(e2, t2, n2) {
+ const r2 = this.getOptions(), { sampleRate: i2 } = r2;
+ if (!this._isEnabled()) return Et(new Ie("SDK not enabled, will not capture event.", "log"));
+ const o2 = yn(e2), a2 = mn(e2), s2 = e2.type || "error", c2 = `before send for type \`${s2}\``;
+ if (a2 && "number" == typeof i2 && Math.random() > i2) return this.recordDroppedEvent("sample_rate", "error", e2), Et(new Ie(`Discarding event because it's not included in the random sample (sampling rate = ${i2})`, "log"));
+ const l2 = "replay_event" === s2 ? "replay" : s2;
+ return this._prepareEvent(e2, t2, n2).then((n3) => {
+ if (null === n3) throw this.recordDroppedEvent("event_processor", l2, e2), new Ie("An event processor returned `null`, will not send event.", "log");
+ if (t2.data && true === t2.data.__sentry__) return n3;
+ const i3 = function(e3, t3, n4) {
+ const { beforeSend: r3, beforeSendTransaction: i4 } = e3;
+ if (mn(t3) && r3) return r3(t3, n4);
+ if (yn(t3) && i4) return i4(t3, n4);
+ return t3;
+ }(r2, n3, t2);
+ return function(e3, t3) {
+ const n4 = `${t3} must return \`null\` or a valid event.`;
+ if (le(e3)) return e3.then((e4) => {
+ if (!se(e4) && null !== e4) throw new Ie(n4);
+ return e4;
+ }, (e4) => {
+ throw new Ie(`${t3} rejected with ${e4}`);
+ });
+ if (!se(e3) && null !== e3) throw new Ie(n4);
+ return e3;
+ }(i3, c2);
+ }).then((r3) => {
+ if (null === r3) throw this.recordDroppedEvent("before_send", l2, e2), new Ie(`${c2} returned \`null\`, will not send event.`, "log");
+ const i3 = n2 && n2.getSession();
+ !o2 && i3 && this._updateSessionFromEvent(i3, r3);
+ const a3 = r3.transaction_info;
+ if (o2 && a3 && r3.transaction !== e2.transaction) {
+ const e3 = "custom";
+ r3.transaction_info = { ...a3, source: e3 };
+ }
+ return this.sendEvent(r3, t2), r3;
+ }).then(null, (e3) => {
+ if (e3 instanceof Ie) throw e3;
+ throw this.captureException(e3, { data: { __sentry__: true }, originalException: e3 }), new Ie(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
+Reason: ${e3}`);
+ });
+ }
+ _process(e2) {
+ this._numProcessing++, e2.then((e3) => (this._numProcessing--, e3), (e3) => (this._numProcessing--, e3));
+ }
+ _sendEnvelope(e2) {
+ if (this._transport && this._dsn) return this.emit("beforeEnvelope", e2), this._transport.send(e2).then(null, (e3) => {
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error("Error while sending event:", e3);
+ });
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error("Transport disabled");
+ }
+ _clearOutcomes() {
+ const e2 = this._outcomes;
+ return this._outcomes = {}, Object.keys(e2).map((t2) => {
+ const [n2, r2] = t2.split(":");
+ return { reason: n2, category: r2, quantity: e2[t2] };
+ });
+ }
+};
+function mn(e2) {
+ return void 0 === e2.type;
+}
+function yn(e2) {
+ return "transaction" === e2.type;
+}
+var _n = 30;
+function bn(e2, t2, n2 = Mt(e2.bufferSize || _n)) {
+ let r2 = {};
+ function i2(i3) {
+ const o2 = [];
+ if (Rt(i3, (t3, n3) => {
+ const i4 = Jt(n3);
+ if (function(e3, t4, n4 = Date.now()) {
+ return function(e4, t5) {
+ return e4[t5] || e4.all || 0;
+ }(e3, t4) > n4;
+ }(r2, i4)) {
+ const r3 = wn(t3, n3);
+ e2.recordDroppedEvent("ratelimit_backoff", i4, r3);
+ } else o2.push(t3);
+ }), 0 === o2.length) return kt();
+ const a2 = It(i3[0], o2), s2 = (t3) => {
+ Rt(a2, (n3, r3) => {
+ const i4 = wn(n3, r3);
+ e2.recordDroppedEvent(t3, Jt(r3), i4);
+ });
+ };
+ return n2.add(() => t2({ body: Ft(a2, e2.textEncoder) }).then((e3) => (void 0 !== e3.statusCode && (e3.statusCode < 200 || e3.statusCode >= 300) && ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Sentry responded with status code ${e3.statusCode} to sent event.`), r2 = qt(r2, e3), e3), (e3) => {
+ throw s2("network_error"), e3;
+ })).then((e3) => e3, (e3) => {
+ if (e3 instanceof Ie) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error("Skipped sending event because buffer is full."), s2("queue_overflow"), kt();
+ throw e3;
+ });
+ }
+ return i2.__sentry__baseTransport__ = true, { send: i2, flush: (e3) => n2.drain(e3) };
+}
+function wn(e2, t2) {
+ if ("event" === t2 || "transaction" === t2) return Array.isArray(e2) ? e2[1] : void 0;
+}
+var Sn = "7.60.1";
+var kn;
+var En = class _En {
+ constructor() {
+ _En.prototype.__init.call(this);
+ }
+ static __initStatic() {
+ this.id = "FunctionToString";
+ }
+ __init() {
+ this.name = _En.id;
+ }
+ setupOnce() {
+ kn = Function.prototype.toString;
+ try {
+ Function.prototype.toString = function(...e2) {
+ const t2 = Fe(this) || this;
+ return kn.apply(t2, e2);
+ };
+ } catch (e2) {
+ }
+ }
+};
+En.__initStatic();
+var Cn = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/];
+var Mn = [/^.*healthcheck.*$/, /^.*healthy.*$/, /^.*live.*$/, /^.*ready.*$/, /^.*heartbeat.*$/, /^.*\/health$/, /^.*\/healthz$/];
+var Tn = class _Tn {
+ static __initStatic() {
+ this.id = "InboundFilters";
+ }
+ __init() {
+ this.name = _Tn.id;
+ }
+ constructor(e2 = {}) {
+ this._options = e2, _Tn.prototype.__init.call(this);
+ }
+ setupOnce(e2, t2) {
+ const n2 = (e3) => {
+ const n3 = t2();
+ if (n3) {
+ const t3 = n3.getIntegration(_Tn);
+ if (t3) {
+ const r2 = n3.getClient(), i2 = r2 ? r2.getOptions() : {}, o2 = function(e4 = {}, t4 = {}) {
+ return { allowUrls: [...e4.allowUrls || [], ...t4.allowUrls || []], denyUrls: [...e4.denyUrls || [], ...t4.denyUrls || []], ignoreErrors: [...e4.ignoreErrors || [], ...t4.ignoreErrors || [], ...e4.disableErrorDefaults ? [] : Cn], ignoreTransactions: [...e4.ignoreTransactions || [], ...t4.ignoreTransactions || [], ...e4.disableTransactionDefaults ? [] : Mn], ignoreInternal: void 0 === e4.ignoreInternal || e4.ignoreInternal };
+ }(t3._options, i2);
+ return function(e4, t4) {
+ if (t4.ignoreInternal && function(e5) {
+ try {
+ return "SentryError" === e5.exception.values[0].type;
+ } catch (e6) {
+ }
+ return false;
+ }(e4)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Event dropped due to being internal Sentry Error.
+Event: ${gt(e4)}`), true;
+ if (function(e5, t5) {
+ if (e5.type || !t5 || !t5.length) return false;
+ return function(e6) {
+ if (e6.message) return [e6.message];
+ if (e6.exception) {
+ const { values: t6 } = e6.exception;
+ try {
+ const { type: e7 = "", value: n4 = "" } = t6 && t6[t6.length - 1] || {};
+ return [`${n4}`, `${e7}: ${n4}`];
+ } catch (t7) {
+ return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error(`Cannot extract message for event ${gt(e6)}`), [];
+ }
+ }
+ return [];
+ }(e5).some((e6) => fe(e6, t5));
+ }(e4, t4.ignoreErrors)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Event dropped due to being matched by \`ignoreErrors\` option.
+Event: ${gt(e4)}`), true;
+ if (function(e5, t5) {
+ if ("transaction" !== e5.type || !t5 || !t5.length) return false;
+ const n4 = e5.transaction;
+ return !!n4 && fe(n4, t5);
+ }(e4, t4.ignoreTransactions)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.
+Event: ${gt(e4)}`), true;
+ if (function(e5, t5) {
+ if (!t5 || !t5.length) return false;
+ const n4 = On(e5);
+ return !!n4 && fe(n4, t5);
+ }(e4, t4.denyUrls)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Event dropped due to being matched by \`denyUrls\` option.
+Event: ${gt(e4)}.
+Url: ${On(e4)}`), true;
+ if (!function(e5, t5) {
+ if (!t5 || !t5.length) return true;
+ const n4 = On(e5);
+ return !n4 || fe(n4, t5);
+ }(e4, t4.allowUrls)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`Event dropped due to not being matched by \`allowUrls\` option.
+Event: ${gt(e4)}.
+Url: ${On(e4)}`), true;
+ return false;
+ }(e3, o2) ? null : e3;
+ }
+ }
+ return e3;
+ };
+ n2.id = this.name, e2(n2);
+ }
+};
+function On(e2) {
+ try {
+ let t2;
+ try {
+ t2 = e2.exception.values[0].stacktrace.frames;
+ } catch (e3) {
+ }
+ return t2 ? function(e3 = []) {
+ for (let t3 = e3.length - 1; t3 >= 0; t3--) {
+ const n2 = e3[t3];
+ if (n2 && "" !== n2.filename && "[native code]" !== n2.filename) return n2.filename || null;
+ }
+ return null;
+ }(t2) : null;
+ } catch (t2) {
+ return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.error(`Cannot extract url for event ${gt(e2)}`), null;
+ }
+}
+Tn.__initStatic();
+var Pn = Object.freeze({ __proto__: null, FunctionToString: En, InboundFilters: Tn });
+var An = be;
+var Dn = 0;
+function jn() {
+ return Dn > 0;
+}
+function xn(e2, t2 = {}, n2) {
+ if ("function" != typeof e2) return e2;
+ try {
+ const t3 = e2.__sentry_wrapped__;
+ if (t3) return t3;
+ if (Fe(e2)) return e2;
+ } catch (t3) {
+ return e2;
+ }
+ const r2 = function() {
+ const r3 = Array.prototype.slice.call(arguments);
+ try {
+ n2 && "function" == typeof n2 && n2.apply(this, arguments);
+ const i3 = r3.map((e3) => xn(e3, t2));
+ return e2.apply(this, i3);
+ } catch (e3) {
+ throw Dn++, setTimeout(() => {
+ Dn--;
+ }), i2 = (n3) => {
+ var i3, o2;
+ n3.addEventProcessor((e4) => (t2.mechanism && (vt(e4, void 0, void 0), mt(e4, t2.mechanism)), e4.extra = { ...e4.extra, arguments: r3 }, e4)), i3 = e3, on().captureException(i3, { captureContext: o2 });
+ }, on().withScope(i2), e3;
+ }
+ var i2;
+ };
+ try {
+ for (const t3 in e2) Object.prototype.hasOwnProperty.call(e2, t3) && (r2[t3] = e2[t3]);
+ } catch (e3) {
+ }
+ Be(r2, e2), Re(e2, "__sentry_wrapped__", r2);
+ try {
+ Object.getOwnPropertyDescriptor(r2, "name").configurable && Object.defineProperty(r2, "name", { get: () => e2.name });
+ } catch (e3) {
+ }
+ return r2;
+}
+function Ln(e2, t2) {
+ const n2 = Nn(e2, t2), r2 = { type: t2 && t2.name, value: Bn(t2) };
+ return n2.length && (r2.stacktrace = { frames: n2 }), void 0 === r2.type && "" === r2.value && (r2.value = "Unrecoverable error caught"), r2;
+}
+function In(e2, t2) {
+ return { exception: { values: [Ln(e2, t2)] } };
+}
+function Nn(e2, t2) {
+ const n2 = t2.stacktrace || t2.stack || "", r2 = function(e3) {
+ if (e3) {
+ if ("number" == typeof e3.framesToPop) return e3.framesToPop;
+ if (Rn.test(e3.message)) return 1;
+ }
+ return 0;
+ }(t2);
+ try {
+ return e2(n2, r2);
+ } catch (e3) {
+ }
+ return [];
+}
+var Rn = /Minified React error #\d+;/i;
+function Bn(e2) {
+ const t2 = e2 && e2.message;
+ return t2 ? t2.error && "string" == typeof t2.error.message ? t2.error.message : t2 : "No error message";
+}
+function Fn(e2, t2, n2, r2, i2) {
+ let o2;
+ if (re(t2) && t2.error) {
+ return In(e2, t2.error);
+ }
+ if (ie(t2) || ne(t2, "DOMException")) {
+ const i3 = t2;
+ if ("stack" in t2) o2 = In(e2, t2);
+ else {
+ const t3 = i3.name || (ie(i3) ? "DOMError" : "DOMException"), a2 = i3.message ? `${t3}: ${i3.message}` : t3;
+ o2 = Un(e2, a2, n2, r2), vt(o2, a2);
+ }
+ return "code" in i3 && (o2.tags = { ...o2.tags, "DOMException.code": `${i3.code}` }), o2;
+ }
+ if (te(t2)) return In(e2, t2);
+ if (se(t2) || ce(t2)) {
+ return o2 = function(e3, t3, n3, r3) {
+ const i3 = on().getClient(), o3 = i3 && i3.getOptions().normalizeDepth, a2 = { exception: { values: [{ type: ce(t3) ? t3.constructor.name : r3 ? "UnhandledRejection" : "Error", value: Vn(t3, { isUnhandledRejection: r3 }) }] }, extra: { __serialized__: bt(t3, o3) } };
+ if (n3) {
+ const t4 = Nn(e3, n3);
+ t4.length && (a2.exception.values[0].stacktrace = { frames: t4 });
+ }
+ return a2;
+ }(e2, t2, n2, i2), mt(o2, { synthetic: true }), o2;
+ }
+ return o2 = Un(e2, t2, n2, r2), vt(o2, `${t2}`, void 0), mt(o2, { synthetic: true }), o2;
+}
+function Un(e2, t2, n2, r2) {
+ const i2 = { message: t2 };
+ if (r2 && n2) {
+ const r3 = Nn(e2, n2);
+ r3.length && (i2.exception = { values: [{ value: t2, stacktrace: { frames: r3 } }] });
+ }
+ return i2;
+}
+function Vn(e2, { isUnhandledRejection: t2 }) {
+ const n2 = function(e3, t3 = 40) {
+ const n3 = Object.keys(Ue(e3));
+ if (n3.sort(), !n3.length) return "[object has no keys]";
+ if (n3[0].length >= t3) return de(n3[0], t3);
+ for (let e4 = n3.length; e4 > 0; e4--) {
+ const r3 = n3.slice(0, e4).join(", ");
+ if (!(r3.length > t3)) return e4 === n3.length ? r3 : de(r3, t3);
+ }
+ return "";
+ }(e2), r2 = t2 ? "promise rejection" : "exception";
+ if (re(e2)) return `Event \`ErrorEvent\` captured as ${r2} with message \`${e2.message}\``;
+ if (ce(e2)) {
+ return `Event \`${function(e3) {
+ try {
+ const t3 = Object.getPrototypeOf(e3);
+ return t3 ? t3.constructor.name : void 0;
+ } catch (e4) {
+ }
+ }(e2)}\` (type=${e2.type}) captured as ${r2}`;
+ }
+ return `Object captured as ${r2} with keys: ${n2}`;
+}
+var Jn = 1024;
+var $n = "Breadcrumbs";
+var Gn = class _Gn {
+ static __initStatic() {
+ this.id = $n;
+ }
+ __init() {
+ this.name = _Gn.id;
+ }
+ constructor(e2) {
+ _Gn.prototype.__init.call(this), this.options = { console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true, ...e2 };
+ }
+ setupOnce() {
+ this.options.console && nt("console", qn), this.options.dom && nt("dom", /* @__PURE__ */ function(e2) {
+ function t2(t3) {
+ let n2, r2 = "object" == typeof e2 ? e2.serializeAttribute : void 0, i2 = "object" == typeof e2 && "number" == typeof e2.maxStringLength ? e2.maxStringLength : void 0;
+ i2 && i2 > Jn && (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${i2} was configured. Sentry will use 1024 instead.`), i2 = Jn), "string" == typeof r2 && (r2 = [r2]);
+ try {
+ const e3 = t3.event;
+ n2 = function(e4) {
+ return !!e4 && !!e4.target;
+ }(e3) ? Ce(e3.target, { keyAttrs: r2, maxStringLength: i2 }) : Ce(e3, { keyAttrs: r2, maxStringLength: i2 });
+ } catch (e3) {
+ n2 = "";
+ }
+ 0 !== n2.length && on().addBreadcrumb({ category: `ui.${t3.name}`, message: n2 }, { event: t3.event, name: t3.name, global: t3.global });
+ }
+ return t2;
+ }(this.options.dom)), this.options.xhr && nt("xhr", Yn), this.options.fetch && nt("fetch", zn), this.options.history && nt("history", Wn);
+ }
+ addSentryBreadcrumb(e2) {
+ this.options.sentry && on().addBreadcrumb({ category: "sentry." + ("transaction" === e2.type ? "transaction" : "event"), event_id: e2.event_id, level: e2.level, message: gt(e2) }, { event: e2 });
+ }
+};
+function qn(e2) {
+ for (let t3 = 0; t3 < e2.args.length; t3++) if ("ref=Ref<" === e2.args[t3]) {
+ e2.args[t3 + 1] = "viewRef";
+ break;
+ }
+ const t2 = { category: "console", data: { arguments: e2.args, logger: "console" }, level: (n2 = e2.level, "warn" === n2 ? "warning" : Ot.includes(n2) ? n2 : "log"), message: he(e2.args, " ") };
+ var n2;
+ if ("assert" === e2.level) {
+ if (false !== e2.args[0]) return;
+ t2.message = `Assertion failed: ${he(e2.args.slice(1), " ") || "console.assert"}`, t2.data.arguments = e2.args.slice(1);
+ }
+ on().addBreadcrumb(t2, { input: e2.args, level: e2.level });
+}
+function Yn(e2) {
+ const { startTimestamp: t2, endTimestamp: n2 } = e2, r2 = e2.xhr[Xe];
+ if (!t2 || !n2 || !r2) return;
+ const { method: i2, url: o2, status_code: a2, body: s2 } = r2, c2 = { method: i2, url: o2, status_code: a2 }, l2 = { xhr: e2.xhr, input: s2, startTimestamp: t2, endTimestamp: n2 };
+ on().addBreadcrumb({ category: "xhr", data: c2, type: "http" }, l2);
+}
+function zn(e2) {
+ const { startTimestamp: t2, endTimestamp: n2 } = e2;
+ if (n2 && (!e2.fetchData.url.match(/sentry_key/) || "POST" !== e2.fetchData.method)) if (e2.error) {
+ const r2 = e2.fetchData, i2 = { data: e2.error, input: e2.args, startTimestamp: t2, endTimestamp: n2 };
+ on().addBreadcrumb({ category: "fetch", data: r2, level: "error", type: "http" }, i2);
+ } else {
+ const r2 = { ...e2.fetchData, status_code: e2.response && e2.response.status }, i2 = { input: e2.args, response: e2.response, startTimestamp: t2, endTimestamp: n2 };
+ on().addBreadcrumb({ category: "fetch", data: r2, type: "http" }, i2);
+ }
+}
+function Wn(e2) {
+ let t2 = e2.from, n2 = e2.to;
+ const r2 = Tt(An.location.href);
+ let i2 = Tt(t2);
+ const o2 = Tt(n2);
+ i2.path || (i2 = r2), r2.protocol === o2.protocol && r2.host === o2.host && (n2 = o2.relative), r2.protocol === i2.protocol && r2.host === i2.host && (t2 = i2.relative), on().addBreadcrumb({ category: "navigation", data: { from: t2, to: n2 } });
+}
+Gn.__initStatic();
+var Hn = class extends vn {
+ constructor(e2) {
+ const t2 = An.SENTRY_SDK_SOURCE || "npm";
+ e2._metadata = e2._metadata || {}, e2._metadata.sdk = e2._metadata.sdk || { name: "sentry.javascript.browser", packages: [{ name: `${t2}:@sentry/browser`, version: Sn }], version: Sn }, super(e2), e2.sendClientReports && An.document && An.document.addEventListener("visibilitychange", () => {
+ "hidden" === An.document.visibilityState && this._flushOutcomes();
+ });
+ }
+ eventFromException(e2, t2) {
+ return function(e3, t3, n2, r2) {
+ const i2 = Fn(e3, t3, n2 && n2.syntheticException || void 0, r2);
+ return mt(i2), i2.level = "error", n2 && n2.event_id && (i2.event_id = n2.event_id), kt(i2);
+ }(this._options.stackParser, e2, t2, this._options.attachStacktrace);
+ }
+ eventFromMessage(e2, t2 = "info", n2) {
+ return function(e3, t3, n3 = "info", r2, i2) {
+ const o2 = Un(e3, t3, r2 && r2.syntheticException || void 0, i2);
+ return o2.level = n3, r2 && r2.event_id && (o2.event_id = r2.event_id), kt(o2);
+ }(this._options.stackParser, e2, t2, n2, this._options.attachStacktrace);
+ }
+ sendEvent(e2, t2) {
+ const n2 = this.getIntegrationById($n);
+ n2 && n2.addSentryBreadcrumb && n2.addSentryBreadcrumb(e2), super.sendEvent(e2, t2);
+ }
+ captureUserFeedback(e2) {
+ if (!this._isEnabled()) return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("SDK not enabled, will not capture user feedback."));
+ const t2 = function(e3, { metadata: t3, tunnel: n2, dsn: r2 }) {
+ const i2 = { event_id: e3.event_id, sent_at: (/* @__PURE__ */ new Date()).toISOString(), ...t3 && t3.sdk && { sdk: { name: t3.sdk.name, version: t3.sdk.version } }, ...!!n2 && !!r2 && { dsn: je(r2) } }, o2 = /* @__PURE__ */ function(e4) {
+ return [{ type: "user_report" }, e4];
+ }(e3);
+ return It(i2, [o2]);
+ }(e2, { metadata: this.getSdkMetadata(), dsn: this.getDsn(), tunnel: this.getOptions().tunnel });
+ this._sendEnvelope(t2);
+ }
+ _prepareEvent(e2, t2, n2) {
+ return e2.platform = e2.platform || "javascript", super._prepareEvent(e2, t2, n2);
+ }
+ _flushOutcomes() {
+ const e2 = this._clearOutcomes();
+ if (0 === e2.length) return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log("No outcomes to send"));
+ if (!this._dsn) return void (("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log("No dsn provided, will not send outcomes"));
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log("Sending outcomes:", e2);
+ const t2 = (n2 = e2, It((r2 = this._options.tunnel && je(this._dsn)) ? { dsn: r2 } : {}, [[{ type: "client_report" }, { timestamp: i2 || xt(), discarded_events: n2 }]]));
+ var n2, r2, i2;
+ this._sendEnvelope(t2);
+ }
+};
+var Qn;
+function Kn(e2, t2 = function() {
+ if (Qn) return Qn;
+ if (We(An.fetch)) return Qn = An.fetch.bind(An);
+ const e3 = An.document;
+ let t3 = An.fetch;
+ if (e3 && "function" == typeof e3.createElement) try {
+ const n2 = e3.createElement("iframe");
+ n2.hidden = true, e3.head.appendChild(n2);
+ const r2 = n2.contentWindow;
+ r2 && r2.fetch && (t3 = r2.fetch), e3.head.removeChild(n2);
+ } catch (e4) {
+ ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", e4);
+ }
+ return Qn = t3.bind(An);
+}()) {
+ let n2 = 0, r2 = 0;
+ return bn(e2, function(i2) {
+ const o2 = i2.body.length;
+ n2 += o2, r2++;
+ const a2 = { body: i2.body, method: "POST", referrerPolicy: "origin", headers: e2.headers, keepalive: n2 <= 6e4 && r2 < 15, ...e2.fetchOptions };
+ try {
+ return t2(e2.url, a2).then((e3) => (n2 -= o2, r2--, { statusCode: e3.status, headers: { "x-sentry-rate-limits": e3.headers.get("X-Sentry-Rate-Limits"), "retry-after": e3.headers.get("Retry-After") } }));
+ } catch (e3) {
+ return Qn = void 0, n2 -= o2, r2--, Et(e3);
+ }
+ });
+}
+var Xn = class _Xn {
+ static __initStatic() {
+ this.id = "GlobalHandlers";
+ }
+ __init() {
+ this.name = _Xn.id;
+ }
+ __init2() {
+ this._installFunc = { onerror: Zn, onunhandledrejection: er };
+ }
+ constructor(e2) {
+ _Xn.prototype.__init.call(this), _Xn.prototype.__init2.call(this), this._options = { onerror: true, onunhandledrejection: true, ...e2 };
+ }
+ setupOnce() {
+ Error.stackTraceLimit = 50;
+ const e2 = this._options;
+ for (const n2 in e2) {
+ const r2 = this._installFunc[n2];
+ r2 && e2[n2] && (t2 = n2, ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.log(`Global Handler attached: ${t2}`), r2(), this._installFunc[n2] = void 0);
+ }
+ var t2;
+ }
+};
+function Zn() {
+ nt("error", (e2) => {
+ const [t2, n2, r2] = rr();
+ if (!t2.getIntegration(Xn)) return;
+ const { msg: i2, url: o2, line: a2, column: s2, error: c2 } = e2;
+ if (jn() || c2 && c2.__sentry_own_request__) return;
+ const l2 = void 0 === c2 && oe(i2) ? function(e3, t3, n3, r3) {
+ const i3 = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
+ let o3 = re(e3) ? e3.message : e3, a3 = "Error";
+ const s3 = o3.match(i3);
+ s3 && (a3 = s3[1], o3 = s3[2]);
+ const c3 = { exception: { values: [{ type: a3, value: o3 }] } };
+ return tr(c3, t3, n3, r3);
+ }(i2, o2, a2, s2) : tr(Fn(n2, c2 || i2, void 0, r2, false), o2, a2, s2);
+ l2.level = "error", nr(t2, c2, l2, "onerror");
+ });
+}
+function er() {
+ nt("unhandledrejection", (e2) => {
+ const [t2, n2, r2] = rr();
+ if (!t2.getIntegration(Xn)) return;
+ let i2 = e2;
+ try {
+ "reason" in e2 ? i2 = e2.reason : "detail" in e2 && "reason" in e2.detail && (i2 = e2.detail.reason);
+ } catch (e3) {
+ }
+ if (jn() || i2 && i2.__sentry_own_request__) return true;
+ const o2 = ae(i2) ? { exception: { values: [{ type: "UnhandledRejection", value: `Non-Error promise rejection captured with value: ${String(i2)}` }] } } : Fn(n2, i2, void 0, r2, true);
+ o2.level = "error", nr(t2, i2, o2, "onunhandledrejection");
+ });
+}
+function tr(e2, t2, n2, r2) {
+ const i2 = e2.exception = e2.exception || {}, o2 = i2.values = i2.values || [], a2 = o2[0] = o2[0] || {}, s2 = a2.stacktrace = a2.stacktrace || {}, c2 = s2.frames = s2.frames || [], l2 = isNaN(parseInt(r2, 10)) ? void 0 : r2, u2 = isNaN(parseInt(n2, 10)) ? void 0 : n2, d2 = oe(t2) && t2.length > 0 ? t2 : function() {
+ try {
+ return ke.document.location.href;
+ } catch (e3) {
+ return "";
+ }
+ }();
+ return 0 === c2.length && c2.push({ colno: l2, filename: d2, function: "?", in_app: true, lineno: u2 }), e2;
+}
+function nr(e2, t2, n2, r2) {
+ mt(n2, { handled: false, type: r2 }), e2.captureEvent(n2, { originalException: t2 });
+}
+function rr() {
+ const e2 = on(), t2 = e2.getClient(), n2 = t2 && t2.getOptions() || { stackParser: () => [], attachStacktrace: false };
+ return [e2, n2.stackParser, n2.attachStacktrace];
+}
+Xn.__initStatic();
+var ir = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"];
+var or = class _or {
+ static __initStatic() {
+ this.id = "TryCatch";
+ }
+ __init() {
+ this.name = _or.id;
+ }
+ constructor(e2) {
+ _or.prototype.__init.call(this), this._options = { XMLHttpRequest: true, eventTarget: true, requestAnimationFrame: true, setInterval: true, setTimeout: true, ...e2 };
+ }
+ setupOnce() {
+ this._options.setTimeout && Ne(An, "setTimeout", ar), this._options.setInterval && Ne(An, "setInterval", ar), this._options.requestAnimationFrame && Ne(An, "requestAnimationFrame", sr), this._options.XMLHttpRequest && "XMLHttpRequest" in An && Ne(XMLHttpRequest.prototype, "send", cr);
+ const e2 = this._options.eventTarget;
+ if (e2) {
+ (Array.isArray(e2) ? e2 : ir).forEach(lr);
+ }
+ }
+};
+function ar(e2) {
+ return function(...t2) {
+ const n2 = t2[0];
+ return t2[0] = xn(n2, { mechanism: { data: { function: Ye(e2) }, handled: true, type: "instrument" } }), e2.apply(this, t2);
+ };
+}
+function sr(e2) {
+ return function(t2) {
+ return e2.apply(this, [xn(t2, { mechanism: { data: { function: "requestAnimationFrame", handler: Ye(e2) }, handled: true, type: "instrument" } })]);
+ };
+}
+function cr(e2) {
+ return function(...t2) {
+ const n2 = this;
+ return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach((e3) => {
+ e3 in n2 && "function" == typeof n2[e3] && Ne(n2, e3, function(t3) {
+ const n3 = { mechanism: { data: { function: e3, handler: Ye(t3) }, handled: true, type: "instrument" } }, r2 = Fe(t3);
+ return r2 && (n3.mechanism.data.handler = Ye(r2)), xn(t3, n3);
+ });
+ }), e2.apply(this, t2);
+ };
+}
+function lr(e2) {
+ const t2 = An, n2 = t2[e2] && t2[e2].prototype;
+ n2 && n2.hasOwnProperty && n2.hasOwnProperty("addEventListener") && (Ne(n2, "addEventListener", function(t3) {
+ return function(n3, r2, i2) {
+ try {
+ "function" == typeof r2.handleEvent && (r2.handleEvent = xn(r2.handleEvent, { mechanism: { data: { function: "handleEvent", handler: Ye(r2), target: e2 }, handled: true, type: "instrument" } }));
+ } catch (e3) {
+ }
+ return t3.apply(this, [n3, xn(r2, { mechanism: { data: { function: "addEventListener", handler: Ye(r2), target: e2 }, handled: true, type: "instrument" } }), i2]);
+ };
+ }), Ne(n2, "removeEventListener", function(e3) {
+ return function(t3, n3, r2) {
+ const i2 = n3;
+ try {
+ const n4 = i2 && i2.__sentry_wrapped__;
+ n4 && e3.call(this, t3, n4, r2);
+ } catch (e4) {
+ }
+ return e3.call(this, t3, i2, r2);
+ };
+ }));
+}
+or.__initStatic();
+var ur = class _ur {
+ static __initStatic() {
+ this.id = "LinkedErrors";
+ }
+ __init() {
+ this.name = _ur.id;
+ }
+ constructor(e2 = {}) {
+ _ur.prototype.__init.call(this), this._key = e2.key || "cause", this._limit = e2.limit || 5;
+ }
+ setupOnce(e2, t2) {
+ e2((e3, n2) => {
+ const r2 = t2(), i2 = r2.getClient(), o2 = r2.getIntegration(_ur);
+ if (!i2 || !o2) return e3;
+ const a2 = i2.getOptions();
+ return ge(Ln, a2.stackParser, a2.maxValueLength, o2._key, o2._limit, e3, n2), e3;
+ });
+ }
+};
+ur.__initStatic();
+var dr = class _dr {
+ constructor() {
+ _dr.prototype.__init.call(this);
+ }
+ static __initStatic() {
+ this.id = "HttpContext";
+ }
+ __init() {
+ this.name = _dr.id;
+ }
+ setupOnce() {
+ Kt((e2) => {
+ if (on().getIntegration(_dr)) {
+ if (!An.navigator && !An.location && !An.document) return e2;
+ const t2 = e2.request && e2.request.url || An.location && An.location.href, { referrer: n2 } = An.document || {}, { userAgent: r2 } = An.navigator || {}, i2 = { ...e2.request && e2.request.headers, ...n2 && { Referer: n2 }, ...r2 && { "User-Agent": r2 } }, o2 = { ...e2.request, ...t2 && { url: t2 }, headers: i2 };
+ return { ...e2, request: o2 };
+ }
+ return e2;
+ });
+ }
+};
+dr.__initStatic();
+var hr = class _hr {
+ constructor() {
+ _hr.prototype.__init.call(this);
+ }
+ static __initStatic() {
+ this.id = "Dedupe";
+ }
+ __init() {
+ this.name = _hr.id;
+ }
+ setupOnce(e2, t2) {
+ const n2 = (e3) => {
+ if (e3.type) return e3;
+ const n3 = t2().getIntegration(_hr);
+ if (n3) {
+ try {
+ if (function(e4, t3) {
+ if (!t3) return false;
+ if (function(e5, t4) {
+ const n4 = e5.message, r2 = t4.message;
+ if (!n4 && !r2) return false;
+ if (n4 && !r2 || !n4 && r2) return false;
+ if (n4 !== r2) return false;
+ if (!fr(e5, t4)) return false;
+ if (!pr(e5, t4)) return false;
+ return true;
+ }(e4, t3)) return true;
+ if (function(e5, t4) {
+ const n4 = gr(t4), r2 = gr(e5);
+ if (!n4 || !r2) return false;
+ if (n4.type !== r2.type || n4.value !== r2.value) return false;
+ if (!fr(e5, t4)) return false;
+ if (!pr(e5, t4)) return false;
+ return true;
+ }(e4, t3)) return true;
+ return false;
+ }(e3, n3._previousEvent)) return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && Ae.warn("Event dropped due to being a duplicate of previously captured event."), null;
+ } catch (t3) {
+ return n3._previousEvent = e3;
+ }
+ return n3._previousEvent = e3;
+ }
+ return e3;
+ };
+ n2.id = this.name, e2(n2);
+ }
+};
+function pr(e2, t2) {
+ let n2 = vr(e2), r2 = vr(t2);
+ if (!n2 && !r2) return true;
+ if (n2 && !r2 || !n2 && r2) return false;
+ if (r2.length !== n2.length) return false;
+ for (let e3 = 0; e3 < r2.length; e3++) {
+ const t3 = r2[e3], i2 = n2[e3];
+ if (t3.filename !== i2.filename || t3.lineno !== i2.lineno || t3.colno !== i2.colno || t3.function !== i2.function) return false;
+ }
+ return true;
+}
+function fr(e2, t2) {
+ let n2 = e2.fingerprint, r2 = t2.fingerprint;
+ if (!n2 && !r2) return true;
+ if (n2 && !r2 || !n2 && r2) return false;
+ try {
+ return !(n2.join("") !== r2.join(""));
+ } catch (e3) {
+ return false;
+ }
+}
+function gr(e2) {
+ return e2.exception && e2.exception.values && e2.exception.values[0];
+}
+function vr(e2) {
+ const t2 = e2.exception;
+ if (t2) try {
+ return t2.values[0].stacktrace.frames;
+ } catch (e3) {
+ return;
+ }
+}
+hr.__initStatic();
+var mr = Object.freeze({ __proto__: null, Breadcrumbs: Gn, Dedupe: hr, GlobalHandlers: Xn, HttpContext: dr, LinkedErrors: ur, TryCatch: or });
+var yr = {};
+An.Sentry && An.Sentry.Integrations && (yr = An.Sentry.Integrations);
+var _r = { ...yr, ...Pn, ...mr };
+var br = "new";
+var wr = "loading";
+var Sr = "loaded";
+var kr = "joining-meeting";
+var Er = "joined-meeting";
+var Cr = "left-meeting";
+var Mr = "error";
+var xr = "unknown";
+var Lr = "full";
+var Rr = "base";
+var Br = "*";
+var ri = "iframe-ready-for-launch-config";
+var ii = "iframe-launch-config";
+var oi = "theme-updated";
+var ai = "loading";
+var si = "load-attempt-failed";
+var ci = "loaded";
+var li = "started-camera";
+var ui = "camera-error";
+var di = "joining-meeting";
+var hi = "joined-meeting";
+var pi = "left-meeting";
+var fi = "participant-joined";
+var gi = "participant-updated";
+var vi = "participant-left";
+var mi = "participant-counts-updated";
+var yi = "access-state-updated";
+var _i = "meeting-session-summary-updated";
+var bi = "meeting-session-state-updated";
+var Si = "waiting-participant-added";
+var ki = "waiting-participant-updated";
+var Ei = "waiting-participant-removed";
+var Ci = "track-started";
+var Mi = "track-stopped";
+var Ti = "transcription-started";
+var Oi = "transcription-stopped";
+var Pi = "transcription-error";
+var Ai = "recording-started";
+var Di = "recording-stopped";
+var ji = "recording-stats";
+var xi = "recording-error";
+var Li = "recording-upload-completed";
+var Ii = "recording-data";
+var Ni = "app-message";
+var Ri = "transcription-message";
+var Bi = "remote-media-player-started";
+var Fi = "remote-media-player-updated";
+var Ui = "remote-media-player-stopped";
+var Vi = "local-screen-share-started";
+var Ji = "local-screen-share-stopped";
+var $i = "local-screen-share-canceled";
+var Gi = "active-speaker-change";
+var qi = "active-speaker-mode-change";
+var Yi = "network-quality-change";
+var zi = "network-connection";
+var Wi = "cpu-load-change";
+var Hi = "face-counts-updated";
+var Qi = "fullscreen";
+var Ki = "exited-fullscreen";
+var Xi = "live-streaming-started";
+var Zi = "live-streaming-updated";
+var eo = "live-streaming-stopped";
+var to = "live-streaming-error";
+var no = "lang-updated";
+var ro = "receive-settings-updated";
+var io = "input-settings-updated";
+var oo = "nonfatal-error";
+var ao = "error";
+var so = 4096;
+var co = 102400;
+var lo = "iframe-call-message";
+var uo = "local-screen-start";
+var ho = "daily-method-update-live-streaming-endpoints";
+var po = "transmit-log";
+var fo = "daily-custom-track";
+var go = { NONE: "none", BGBLUR: "background-blur", BGIMAGE: "background-image", FACE_DETECTION: "face-detection" };
+var vo = { NONE: "none", NOISE_CANCELLATION: "noise-cancellation" };
+var mo = { PLAY: "play", PAUSE: "pause" };
+var yo = 10;
+var _o = ["jpg", "png", "jpeg"];
+var bo = "add-endpoints";
+var wo = "remove-endpoints";
+var So = "sip-call-transfer";
+function ko() {
+ return !Eo() && "undefined" != typeof window && window.navigator && window.navigator.userAgent ? window.navigator.userAgent : "";
+}
+function Eo() {
+ return "undefined" != typeof navigator && navigator.product && "ReactNative" === navigator.product;
+}
+function Co() {
+ return navigator && navigator.mediaDevices && navigator.mediaDevices.getUserMedia;
+}
+function Mo() {
+ return !!(navigator && navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) && (function(e2, t2) {
+ if (!e2 || !t2) return true;
+ switch (e2) {
+ case "Chrome":
+ return t2.major >= 75;
+ case "Safari":
+ return RTCRtpTransceiver.prototype.hasOwnProperty("currentDirection") && !(13 === t2.major && 0 === t2.minor && 0 === t2.point);
+ case "Firefox":
+ return t2.major >= 67;
+ }
+ return true;
+ }(Lo(), Io()) || Eo());
+}
+function To() {
+ if (Eo()) return false;
+ if (!document) return false;
+ var e2 = document.createElement("iframe");
+ return !!e2.requestFullscreen || !!e2.webkitRequestFullscreen;
+}
+var Oo = function() {
+ try {
+ var e2 = document.createElement("canvas"), t2 = null != e2.getContext("webgl2");
+ return e2.remove(), t2;
+ } catch (e3) {
+ return false;
+ }
+}();
+function Po() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
+ return !Eo() && (!!Oo && (e2 ? function() {
+ if (xo()) return false;
+ return ["Chrome", "Firefox"].includes(Lo());
+ }() : function() {
+ if (xo()) return false;
+ var e3 = Lo();
+ if ("Safari" === e3) {
+ var t2 = Fo();
+ if (t2.major < 15 || 15 === t2.major && t2.minor < 4) return false;
+ }
+ if ("Chrome" === e3) {
+ return No().major >= 77;
+ }
+ if ("Firefox" === e3) {
+ return Uo().major >= 97;
+ }
+ return ["Chrome", "Firefox", "Safari"].includes(e3);
+ }()));
+}
+function Ao() {
+ if (Eo()) return false;
+ if (jo()) return false;
+ if ("undefined" == typeof AudioWorkletNode) return false;
+ switch (Lo()) {
+ case "Chrome":
+ case "Firefox":
+ return true;
+ case "Safari":
+ return Io().major >= 17;
+ }
+ return false;
+}
+function Do() {
+ return Co() && !function() {
+ var e2, t2 = Lo();
+ if (!ko()) return true;
+ switch (t2) {
+ case "Chrome":
+ return (e2 = No()).major && e2.major > 0 && e2.major < 75;
+ case "Firefox":
+ return (e2 = Uo()).major < 91;
+ case "Safari":
+ return (e2 = Fo()).major < 13 || 13 === e2.major && e2.minor < 1;
+ default:
+ return true;
+ }
+ }();
+}
+function jo() {
+ return ko().match(/Linux; Android/);
+}
+function xo() {
+ var e2, t2, n2 = ko(), r2 = n2.match(/Mac/) && (!Eo() && "undefined" != typeof window && null !== (e2 = window) && void 0 !== e2 && null !== (t2 = e2.navigator) && void 0 !== t2 && t2.maxTouchPoints ? window.navigator.maxTouchPoints : 0) >= 5;
+ return !!(n2.match(/Mobi/) || n2.match(/Android/) || r2) || (!!ko().match(/DailyAnd\//) || void 0);
+}
+function Lo() {
+ if ("undefined" != typeof window) {
+ var e2 = ko();
+ return Ro() ? "Safari" : e2.indexOf("Edge") > -1 ? "Edge" : e2.match(/Chrome\//) ? "Chrome" : e2.indexOf("Safari") > -1 || Bo() ? "Safari" : e2.indexOf("Firefox") > -1 ? "Firefox" : e2.indexOf("MSIE") > -1 || e2.indexOf(".NET") > -1 ? "IE" : "Unknown Browser";
+ }
+}
+function Io() {
+ switch (Lo()) {
+ case "Chrome":
+ return No();
+ case "Safari":
+ return Fo();
+ case "Firefox":
+ return Uo();
+ case "Edge":
+ return function() {
+ var e2 = 0, t2 = 0;
+ if ("undefined" != typeof window) {
+ var n2 = ko().match(/Edge\/(\d+).(\d+)/);
+ if (n2) try {
+ e2 = parseInt(n2[1]), t2 = parseInt(n2[2]);
+ } catch (e3) {
+ }
+ }
+ return { major: e2, minor: t2 };
+ }();
+ }
+}
+function No() {
+ var e2 = 0, t2 = 0, n2 = 0, r2 = 0, i2 = false;
+ if ("undefined" != typeof window) {
+ var o2 = ko(), a2 = o2.match(/Chrome\/(\d+).(\d+).(\d+).(\d+)/);
+ if (a2) try {
+ e2 = parseInt(a2[1]), t2 = parseInt(a2[2]), n2 = parseInt(a2[3]), r2 = parseInt(a2[4]), i2 = o2.indexOf("OPR/") > -1;
+ } catch (e3) {
+ }
+ }
+ return { major: e2, minor: t2, build: n2, patch: r2, opera: i2 };
+}
+function Ro() {
+ return !!ko().match(/iPad|iPhone|iPod/i) && Co();
+}
+function Bo() {
+ return ko().indexOf("AppleWebKit/605.1.15") > -1;
+}
+function Fo() {
+ var e2 = 0, t2 = 0, n2 = 0;
+ if ("undefined" != typeof window) {
+ var r2 = ko().match(/Version\/(\d+).(\d+)(.(\d+))?/);
+ if (r2) try {
+ e2 = parseInt(r2[1]), t2 = parseInt(r2[2]), n2 = parseInt(r2[4]);
+ } catch (e3) {
+ }
+ else (Ro() || Bo()) && (e2 = 14, t2 = 0, n2 = 3);
+ }
+ return { major: e2, minor: t2, point: n2 };
+}
+function Uo() {
+ var e2 = 0, t2 = 0;
+ if ("undefined" != typeof window) {
+ var n2 = ko().match(/Firefox\/(\d+).(\d+)/);
+ if (n2) try {
+ e2 = parseInt(n2[1]), t2 = parseInt(n2[2]);
+ } catch (e3) {
+ }
+ }
+ return { major: e2, minor: t2 };
+}
+var Vo = function() {
+ function e2() {
+ t(this, e2);
+ }
+ return o(e2, [{ key: "addListenerForMessagesFromCallMachine", value: function(e3, t2, n2) {
+ Q();
+ } }, { key: "addListenerForMessagesFromDailyJs", value: function(e3, t2, n2) {
+ Q();
+ } }, { key: "sendMessageToCallMachine", value: function(e3, t2, n2, r2) {
+ Q();
+ } }, { key: "sendMessageToDailyJs", value: function(e3, t2) {
+ Q();
+ } }, { key: "removeListener", value: function(e3) {
+ Q();
+ } }]), e2;
+}();
+function Jo(e2, t2) {
+ var n2 = Object.keys(e2);
+ if (Object.getOwnPropertySymbols) {
+ var r2 = Object.getOwnPropertySymbols(e2);
+ t2 && (r2 = r2.filter(function(t3) {
+ return Object.getOwnPropertyDescriptor(e2, t3).enumerable;
+ })), n2.push.apply(n2, r2);
+ }
+ return n2;
+}
+function $o(e2) {
+ for (var t2 = 1; t2 < arguments.length; t2++) {
+ var n2 = null != arguments[t2] ? arguments[t2] : {};
+ t2 % 2 ? Jo(Object(n2), true).forEach(function(t3) {
+ d(e2, t3, n2[t3]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(n2)) : Jo(Object(n2)).forEach(function(t3) {
+ Object.defineProperty(e2, t3, Object.getOwnPropertyDescriptor(n2, t3));
+ });
+ }
+ return e2;
+}
+function Go(e2) {
+ var t2 = function() {
+ if ("undefined" == typeof Reflect || !Reflect.construct) return false;
+ if (Reflect.construct.sham) return false;
+ if ("function" == typeof Proxy) return true;
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+ })), true;
+ } catch (e3) {
+ return false;
+ }
+ }();
+ return function() {
+ var n2, r2 = u(e2);
+ if (t2) {
+ var i2 = u(this).constructor;
+ n2 = Reflect.construct(r2, arguments, i2);
+ } else n2 = r2.apply(this, arguments);
+ return l(this, n2);
+ };
+}
+var qo = function(e2) {
+ c(r2, Vo);
+ var n2 = Go(r2);
+ function r2() {
+ var e3;
+ return t(this, r2), (e3 = n2.call(this))._wrappedListeners = {}, e3._messageCallbacks = {}, e3;
+ }
+ return o(r2, [{ key: "addListenerForMessagesFromCallMachine", value: function(e3, t2, n3) {
+ var r3 = this, i2 = function(i3) {
+ if (i3.data && "iframe-call-message" === i3.data.what && (!i3.data.callClientId || i3.data.callClientId === t2) && (!i3.data.from || "module" !== i3.data.from)) {
+ var o2 = $o({}, i3.data);
+ if (delete o2.from, o2.callbackStamp && r3._messageCallbacks[o2.callbackStamp]) {
+ var a2 = o2.callbackStamp;
+ r3._messageCallbacks[a2].call(n3, o2), delete r3._messageCallbacks[a2];
+ }
+ delete o2.what, delete o2.callbackStamp, e3.call(n3, o2);
+ }
+ };
+ this._wrappedListeners[e3] = i2, window.addEventListener("message", i2);
+ } }, { key: "addListenerForMessagesFromDailyJs", value: function(e3, t2, n3) {
+ var r3 = function(r4) {
+ var i2;
+ if (!(!r4.data || r4.data.what !== lo || !r4.data.action || r4.data.from && "module" !== r4.data.from || r4.data.callClientId && t2 && r4.data.callClientId !== t2 || null != r4 && null !== (i2 = r4.data) && void 0 !== i2 && i2.callFrameId)) {
+ var o2 = r4.data;
+ e3.call(n3, o2);
+ }
+ };
+ this._wrappedListeners[e3] = r3, window.addEventListener("message", r3);
+ } }, { key: "sendMessageToCallMachine", value: function(e3, t2, n3, r3) {
+ if (!n3) throw new Error("undefined callClientId. Are you trying to use a DailyCall instance previously destroyed?");
+ var i2 = $o({}, e3);
+ if (i2.what = lo, i2.from = "module", i2.callClientId = n3, t2) {
+ var o2 = H();
+ this._messageCallbacks[o2] = t2, i2.callbackStamp = o2;
+ }
+ var a2 = r3 ? r3.contentWindow : window, s2 = this._callMachineTargetOrigin(r3);
+ s2 && a2.postMessage(i2, s2);
+ } }, { key: "sendMessageToDailyJs", value: function(e3, t2) {
+ e3.what = lo, e3.callClientId = t2, e3.from = "embedded", window.postMessage(e3, this._targetOriginFromWindowLocation());
+ } }, { key: "removeListener", value: function(e3) {
+ var t2 = this._wrappedListeners[e3];
+ t2 && (window.removeEventListener("message", t2), delete this._wrappedListeners[e3]);
+ } }, { key: "forwardPackagedMessageToCallMachine", value: function(e3, t2, n3) {
+ var r3 = $o({}, e3);
+ r3.callClientId = n3;
+ var i2 = t2 ? t2.contentWindow : window, o2 = this._callMachineTargetOrigin(t2);
+ o2 && i2.postMessage(r3, o2);
+ } }, { key: "addListenerForPackagedMessagesFromCallMachine", value: function(e3, t2) {
+ var n3 = function(n4) {
+ if (n4.data && "iframe-call-message" === n4.data.what && (!n4.data.callClientId || n4.data.callClientId === t2) && (!n4.data.from || "module" !== n4.data.from)) {
+ var r3 = n4.data;
+ e3(r3);
+ }
+ };
+ return this._wrappedListeners[e3] = n3, window.addEventListener("message", n3), e3;
+ } }, { key: "removeListenerForPackagedMessagesFromCallMachine", value: function(e3) {
+ var t2 = this._wrappedListeners[e3];
+ t2 && (window.removeEventListener("message", t2), delete this._wrappedListeners[e3]);
+ } }, { key: "_callMachineTargetOrigin", value: function(e3) {
+ return e3 ? e3.src ? new URL(e3.src).origin : void 0 : this._targetOriginFromWindowLocation();
+ } }, { key: "_targetOriginFromWindowLocation", value: function() {
+ return "file:" === window.location.protocol ? "*" : window.location.origin;
+ } }]), r2;
+}();
+function Yo(e2, t2) {
+ var n2 = Object.keys(e2);
+ if (Object.getOwnPropertySymbols) {
+ var r2 = Object.getOwnPropertySymbols(e2);
+ t2 && (r2 = r2.filter(function(t3) {
+ return Object.getOwnPropertyDescriptor(e2, t3).enumerable;
+ })), n2.push.apply(n2, r2);
+ }
+ return n2;
+}
+function zo(e2) {
+ var t2 = function() {
+ if ("undefined" == typeof Reflect || !Reflect.construct) return false;
+ if (Reflect.construct.sham) return false;
+ if ("function" == typeof Proxy) return true;
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+ })), true;
+ } catch (e3) {
+ return false;
+ }
+ }();
+ return function() {
+ var n2, r2 = u(e2);
+ if (t2) {
+ var i2 = u(this).constructor;
+ n2 = Reflect.construct(r2, arguments, i2);
+ } else n2 = r2.apply(this, arguments);
+ return l(this, n2);
+ };
+}
+var Wo = function(e2) {
+ c(r2, Vo);
+ var n2 = zo(r2);
+ function r2() {
+ var e3;
+ return t(this, r2), e3 = n2.call(this), global.callMachineToDailyJsEmitter = global.callMachineToDailyJsEmitter || new m.EventEmitter(), global.dailyJsToCallMachineEmitter = global.dailyJsToCallMachineEmitter || new m.EventEmitter(), e3._wrappedListeners = {}, e3._messageCallbacks = {}, e3;
+ }
+ return o(r2, [{ key: "addListenerForMessagesFromCallMachine", value: function(e3, t2, n3) {
+ this._addListener(e3, global.callMachineToDailyJsEmitter, t2, n3, "received call machine message");
+ } }, { key: "addListenerForMessagesFromDailyJs", value: function(e3, t2, n3) {
+ this._addListener(e3, global.dailyJsToCallMachineEmitter, t2, n3, "received daily-js message");
+ } }, { key: "sendMessageToCallMachine", value: function(e3, t2, n3) {
+ this._sendMessage(e3, global.dailyJsToCallMachineEmitter, n3, t2, "sending message to call machine");
+ } }, { key: "sendMessageToDailyJs", value: function(e3, t2) {
+ this._sendMessage(e3, global.callMachineToDailyJsEmitter, t2, null, "sending message to daily-js");
+ } }, { key: "removeListener", value: function(e3) {
+ var t2 = this._wrappedListeners[e3];
+ t2 && (global.callMachineToDailyJsEmitter.removeListener("message", t2), global.dailyJsToCallMachineEmitter.removeListener("message", t2), delete this._wrappedListeners[e3]);
+ } }, { key: "_addListener", value: function(e3, t2, n3, r3, i2) {
+ var o2 = this, a2 = function(t3) {
+ if (t3.callClientId === n3) {
+ if (t3.callbackStamp && o2._messageCallbacks[t3.callbackStamp]) {
+ var i3 = t3.callbackStamp;
+ o2._messageCallbacks[i3].call(r3, t3), delete o2._messageCallbacks[i3];
+ }
+ e3.call(r3, t3);
+ }
+ };
+ this._wrappedListeners[e3] = a2, t2.addListener("message", a2);
+ } }, { key: "_sendMessage", value: function(e3, t2, n3, r3, i2) {
+ var o2 = function(e4) {
+ for (var t3 = 1; t3 < arguments.length; t3++) {
+ var n4 = null != arguments[t3] ? arguments[t3] : {};
+ t3 % 2 ? Yo(Object(n4), true).forEach(function(t4) {
+ d(e4, t4, n4[t4]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e4, Object.getOwnPropertyDescriptors(n4)) : Yo(Object(n4)).forEach(function(t4) {
+ Object.defineProperty(e4, t4, Object.getOwnPropertyDescriptor(n4, t4));
+ });
+ }
+ return e4;
+ }({}, e3);
+ if (o2.callClientId = n3, r3) {
+ var a2 = H();
+ this._messageCallbacks[a2] = r3, o2.callbackStamp = a2;
+ }
+ t2.emit("message", o2);
+ } }]), r2;
+}();
+var Ho = "replace";
+var Qo = "shallow-merge";
+var Ko = [Ho, Qo];
+var Xo = function() {
+ function e2() {
+ var n2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, r2 = n2.data, i2 = n2.mergeStrategy, o2 = void 0 === i2 ? Ho : i2;
+ t(this, e2), e2._validateMergeStrategy(o2), e2._validateData(r2, o2), this.mergeStrategy = o2, this.data = r2;
+ }
+ return o(e2, [{ key: "isNoOp", value: function() {
+ return e2.isNoOpUpdate(this.data, this.mergeStrategy);
+ } }], [{ key: "isNoOpUpdate", value: function(e3, t2) {
+ return 0 === Object.keys(e3).length && t2 === Qo;
+ } }, { key: "_validateMergeStrategy", value: function(e3) {
+ if (!Ko.includes(e3)) throw Error("Unrecognized mergeStrategy provided. Options are: [".concat(Ko, "]"));
+ } }, { key: "_validateData", value: function(e3, t2) {
+ if (!function(e4) {
+ if (null == e4 || "object" !== n(e4)) return false;
+ var t3 = Object.getPrototypeOf(e4);
+ return null == t3 || t3 === Object.prototype;
+ }(e3)) throw Error("Meeting session data must be a plain (map-like) object");
+ var r2;
+ try {
+ if (r2 = JSON.stringify(e3), t2 === Ho) {
+ var i2 = JSON.parse(r2);
+ I(i2, e3) || console.warn("The meeting session data provided will be modified when serialized.", i2, e3);
+ } else if (t2 === Qo) {
+ for (var o2 in e3) if (Object.hasOwnProperty.call(e3, o2) && void 0 !== e3[o2]) {
+ var a2 = JSON.parse(JSON.stringify(e3[o2]));
+ I(e3[o2], a2) || console.warn("At least one key in the meeting session data provided will be modified when serialized.", a2, e3[o2]);
+ }
+ }
+ } catch (e4) {
+ throw Error("Meeting session data must be serializable to JSON: ".concat(e4));
+ }
+ if (r2.length > co) throw Error("Meeting session data is too large (".concat(r2.length, " characters). Maximum size suppported is ").concat(co, "."));
+ } }]), e2;
+}();
+function Zo(e2, t2, n2) {
+ return Zo = function() {
+ if ("undefined" == typeof Reflect || !Reflect.construct) return false;
+ if (Reflect.construct.sham) return false;
+ if ("function" == typeof Proxy) return true;
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+ })), true;
+ } catch (e3) {
+ return false;
+ }
+ }() ? Reflect.construct.bind() : function(e3, t3, n3) {
+ var r2 = [null];
+ r2.push.apply(r2, t3);
+ var i2 = new (Function.bind.apply(e3, r2))();
+ return n3 && s(i2, n3.prototype), i2;
+ }, Zo.apply(null, arguments);
+}
+function ea(e2) {
+ var t2 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
+ return ea = function(e3) {
+ if (null === e3 || (n2 = e3, -1 === Function.toString.call(n2).indexOf("[native code]"))) return e3;
+ var n2;
+ if ("function" != typeof e3) throw new TypeError("Super expression must either be null or a function");
+ if (void 0 !== t2) {
+ if (t2.has(e3)) return t2.get(e3);
+ t2.set(e3, r2);
+ }
+ function r2() {
+ return Zo(e3, arguments, u(this).constructor);
+ }
+ return r2.prototype = Object.create(e3.prototype, { constructor: { value: r2, enumerable: false, writable: true, configurable: true } }), s(r2, e3);
+ }, ea(e2);
+}
+function ta(e2) {
+ var t2 = function() {
+ if ("undefined" == typeof Reflect || !Reflect.construct) return false;
+ if (Reflect.construct.sham) return false;
+ if ("function" == typeof Proxy) return true;
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+ })), true;
+ } catch (e3) {
+ return false;
+ }
+ }();
+ return function() {
+ var n2, r2 = u(e2);
+ if (t2) {
+ var i2 = u(this).constructor;
+ n2 = Reflect.construct(r2, arguments, i2);
+ } else n2 = r2.apply(this, arguments);
+ return l(this, n2);
+ };
+}
+function na(e2) {
+ var t2, n2 = null === (t2 = window._daily) || void 0 === t2 ? void 0 : t2.pendings;
+ if (n2) {
+ var r2 = n2.indexOf(e2);
+ -1 !== r2 && n2.splice(r2, 1);
+ }
+}
+var ra = function() {
+ function e2(n2) {
+ t(this, e2), this._currentLoad = null, this._callClientId = n2;
+ }
+ return o(e2, [{ key: "load", value: function() {
+ var e3, t2 = this, n2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, r2 = arguments.length > 1 ? arguments[1] : void 0, i2 = arguments.length > 2 ? arguments[2] : void 0;
+ if (this.loaded) return window._daily.instances[this._callClientId].callMachine.reset(), void r2(true);
+ e3 = this._callClientId, window._daily.pendings.push(e3), this._currentLoad && this._currentLoad.cancel(), this._currentLoad = new ia(n2, function() {
+ r2(false);
+ }, function(e4, n3) {
+ n3 || na(t2._callClientId), i2(e4, n3);
+ }), this._currentLoad.start();
+ } }, { key: "cancel", value: function() {
+ this._currentLoad && this._currentLoad.cancel(), na(this._callClientId);
+ } }, { key: "loaded", get: function() {
+ return this._currentLoad && this._currentLoad.succeeded;
+ } }]), e2;
+}();
+var ia = function() {
+ function e2() {
+ var n2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, r2 = arguments.length > 1 ? arguments[1] : void 0, i2 = arguments.length > 2 ? arguments[2] : void 0;
+ t(this, e2), this._attemptsRemaining = 3, this._currentAttempt = null, this._dailyConfig = n2, this._successCallback = r2, this._failureCallback = i2;
+ }
+ return o(e2, [{ key: "start", value: function() {
+ var e3 = this;
+ if (!this._currentAttempt) {
+ this._currentAttempt = new sa(this._dailyConfig, this._successCallback, function t2(n2) {
+ e3._currentAttempt.cancelled || (e3._attemptsRemaining--, e3._failureCallback(n2, e3._attemptsRemaining > 0), e3._attemptsRemaining <= 0 || setTimeout(function() {
+ e3._currentAttempt.cancelled || (e3._currentAttempt = new sa(e3._dailyConfig, e3._successCallback, t2), e3._currentAttempt.start());
+ }, 3e3));
+ }), this._currentAttempt.start();
+ }
+ } }, { key: "cancel", value: function() {
+ this._currentAttempt && this._currentAttempt.cancel();
+ } }, { key: "cancelled", get: function() {
+ return this._currentAttempt && this._currentAttempt.cancelled;
+ } }, { key: "succeeded", get: function() {
+ return this._currentAttempt && this._currentAttempt.succeeded;
+ } }]), e2;
+}();
+var oa = function(e2) {
+ c(r2, ea(Error));
+ var n2 = ta(r2);
+ function r2() {
+ return t(this, r2), n2.apply(this, arguments);
+ }
+ return o(r2);
+}();
+var aa = 2e4;
+var sa = function() {
+ function e2(n3, r2, i2) {
+ t(this, e2), this._loadAttemptImpl = Eo() || !n3.avoidEval ? new ca(n3, r2, i2) : new la(n3, r2, i2);
+ }
+ var n2;
+ return o(e2, [{ key: "start", value: (n2 = p(function* () {
+ return this._loadAttemptImpl.start();
+ }), function() {
+ return n2.apply(this, arguments);
+ }) }, { key: "cancel", value: function() {
+ this._loadAttemptImpl.cancel();
+ } }, { key: "cancelled", get: function() {
+ return this._loadAttemptImpl.cancelled;
+ } }, { key: "succeeded", get: function() {
+ return this._loadAttemptImpl.succeeded;
+ } }]), e2;
+}();
+var ca = function() {
+ function e2(n3, r3, i3) {
+ t(this, e2), this.cancelled = false, this.succeeded = false, this._networkTimedOut = false, this._networkTimeout = null, this._iosCache = "undefined" != typeof iOSCallObjectBundleCache && iOSCallObjectBundleCache, this._refetchHeaders = null, this._dailyConfig = n3, this._successCallback = r3, this._failureCallback = i3;
+ }
+ var n2, r2, i2, a2;
+ return o(e2, [{ key: "start", value: (a2 = p(function* () {
+ var e3 = X(this._dailyConfig);
+ !(yield this._tryLoadFromIOSCache(e3)) && this._loadFromNetwork(e3);
+ }), function() {
+ return a2.apply(this, arguments);
+ }) }, { key: "cancel", value: function() {
+ clearTimeout(this._networkTimeout), this.cancelled = true;
+ } }, { key: "_tryLoadFromIOSCache", value: (i2 = p(function* (e3) {
+ if (!this._iosCache) return false;
+ try {
+ var t2 = yield this._iosCache.get(e3);
+ return !!this.cancelled || !!t2 && (t2.code ? (Function('"use strict";' + t2.code)(), this.succeeded = true, this._successCallback(), true) : (this._refetchHeaders = t2.refetchHeaders, false));
+ } catch (e4) {
+ return false;
+ }
+ }), function(e3) {
+ return i2.apply(this, arguments);
+ }) }, { key: "_loadFromNetwork", value: (r2 = p(function* (e3) {
+ var t2 = this;
+ this._networkTimeout = setTimeout(function() {
+ t2._networkTimedOut = true, t2._failureCallback({ msg: "Timed out (>".concat(aa, " ms) when loading call object bundle ").concat(e3), type: "timeout" });
+ }, aa);
+ try {
+ var n3 = this._refetchHeaders ? { headers: this._refetchHeaders } : {}, r3 = yield fetch(e3, n3);
+ if (clearTimeout(this._networkTimeout), this.cancelled || this._networkTimedOut) throw new oa();
+ var i3 = yield this._getBundleCodeFromResponse(e3, r3);
+ if (this.cancelled) throw new oa();
+ Function('"use strict";' + i3)(), this._iosCache && this._iosCache.set(e3, i3, r3.headers), this.succeeded = true, this._successCallback();
+ } catch (t3) {
+ if (clearTimeout(this._networkTimeout), t3 instanceof oa || this.cancelled || this._networkTimedOut) return;
+ this._failureCallback({ msg: "Failed to load call object bundle ".concat(e3, ": ").concat(t3), type: t3.message });
+ }
+ }), function(e3) {
+ return r2.apply(this, arguments);
+ }) }, { key: "_getBundleCodeFromResponse", value: (n2 = p(function* (e3, t2) {
+ if (t2.ok) return yield t2.text();
+ if (this._iosCache && 304 === t2.status) return (yield this._iosCache.renew(e3, t2.headers)).code;
+ throw new Error("Received ".concat(t2.status, " response"));
+ }), function(e3, t2) {
+ return n2.apply(this, arguments);
+ }) }]), e2;
+}();
+var la = function() {
+ function e2(n2, r2, i2) {
+ t(this, e2), this.cancelled = false, this.succeeded = false, this._dailyConfig = n2, this._successCallback = r2, this._failureCallback = i2, this._attemptId = H(), this._networkTimeout = null, this._scriptElement = null;
+ }
+ return o(e2, [{ key: "start", value: function() {
+ window._dailyCallMachineLoadWaitlist || (window._dailyCallMachineLoadWaitlist = /* @__PURE__ */ new Set());
+ var e3 = X(this._dailyConfig);
+ "object" === ("undefined" == typeof document ? "undefined" : n(document)) ? this._startLoading(e3) : this._failureCallback({ msg: "Call object bundle must be loaded in a DOM/web context", type: "missing context" });
+ } }, { key: "cancel", value: function() {
+ this._stopLoading(), this.cancelled = true;
+ } }, { key: "_startLoading", value: function(e3) {
+ var t2 = this;
+ this._signUpForCallMachineLoadWaitlist(), this._networkTimeout = setTimeout(function() {
+ t2._stopLoading(), t2._failureCallback({ msg: "Timed out (>".concat(aa, " ms) when loading call object bundle ").concat(e3), type: "timeout" });
+ }, aa);
+ var n2 = document.getElementsByTagName("head")[0], r2 = document.createElement("script");
+ this._scriptElement = r2, r2.onload = function() {
+ t2._stopLoading(), t2.succeeded = true, t2._successCallback();
+ }, r2.onerror = function(e4) {
+ t2._stopLoading(), t2._failureCallback({ msg: "Failed to load call object bundle ".concat(e4.target.src), type: e4.message });
+ }, r2.src = e3, n2.appendChild(r2);
+ } }, { key: "_stopLoading", value: function() {
+ this._withdrawFromCallMachineLoadWaitlist(), clearTimeout(this._networkTimeout), this._scriptElement && (this._scriptElement.onload = null, this._scriptElement.onerror = null);
+ } }, { key: "_signUpForCallMachineLoadWaitlist", value: function() {
+ window._dailyCallMachineLoadWaitlist.add(this._attemptId);
+ } }, { key: "_withdrawFromCallMachineLoadWaitlist", value: function() {
+ window._dailyCallMachineLoadWaitlist.delete(this._attemptId);
+ } }]), e2;
+}();
+var ua = function(e2, t2, n2) {
+ return true === pa(e2.local, t2, n2);
+};
+var da = function(e2, t2, n2) {
+ return e2.local.streams && e2.local.streams[t2] && e2.local.streams[t2].stream && e2.local.streams[t2].stream["get".concat("video" === n2 ? "Video" : "Audio", "Tracks")]()[0];
+};
+var ha = function(e2, t2, n2, r2) {
+ var i2 = fa(e2, t2, n2, r2);
+ return i2 && i2.pendingTrack;
+};
+var pa = function(e2, t2, n2) {
+ if (!e2) return false;
+ var r2 = function(e3) {
+ switch (e3) {
+ case "avatar":
+ return true;
+ case "staged":
+ return e3;
+ default:
+ return !!e3;
+ }
+ }, i2 = e2.public.subscribedTracks;
+ return i2 && i2[t2] ? -1 === ["cam-audio", "cam-video", "screen-video", "screen-audio", "rmpAudio", "rmpVideo"].indexOf(n2) && i2[t2].custom ? [true, "staged"].includes(i2[t2].custom) ? r2(i2[t2].custom) : r2(i2[t2].custom[n2]) : r2(i2[t2][n2]) : !i2 || r2(i2.ALL);
+};
+var fa = function(e2, t2, n2, r2) {
+ var i2 = Object.values(e2.streams || {}).filter(function(e3) {
+ return e3.participantId === t2 && e3.type === n2 && e3.pendingTrack && e3.pendingTrack.kind === r2;
+ }).sort(function(e3, t3) {
+ return new Date(t3.starttime) - new Date(e3.starttime);
+ });
+ return i2 && i2[0];
+};
+var ga = function(e2, t2) {
+ var n2 = e2.local.public.customTracks;
+ if (n2 && n2[t2]) return n2[t2].track;
+};
+function va(e2, t2) {
+ for (var n2 = t2.getState(), r2 = 0, i2 = ["cam", "screen"]; r2 < i2.length; r2++) for (var o2 = i2[r2], a2 = 0, s2 = ["video", "audio"]; a2 < s2.length; a2++) {
+ var c2 = s2[a2], l2 = "cam" === o2 ? c2 : "screen".concat(c2.charAt(0).toUpperCase() + c2.slice(1)), u2 = e2.tracks[l2];
+ if (u2) {
+ var d2 = e2.local ? da(n2, o2, c2) : ha(n2, e2.session_id, o2, c2);
+ "playable" === u2.state && (u2.track = d2), u2.persistentTrack = d2;
+ }
+ }
+}
+function ma(e2, t2) {
+ try {
+ var n2 = t2.getState();
+ for (var r2 in e2.tracks) if (!ya(r2)) {
+ var i2 = e2.tracks[r2].kind;
+ if (i2) {
+ var o2 = e2.tracks[r2];
+ if (o2) {
+ var a2 = e2.local ? ga(n2, r2) : ha(n2, e2.session_id, r2, i2);
+ "playable" === o2.state && (e2.tracks[r2].track = a2), o2.persistentTrack = a2;
+ }
+ } else console.error("unknown type for custom track");
+ }
+ } catch (e3) {
+ console.error(e3);
+ }
+}
+function ya(e2) {
+ return ["video", "audio", "screenVideo", "screenAudio"].includes(e2);
+}
+function _a(e2, t2, n2) {
+ var r2 = n2.getState();
+ if (e2.local) {
+ if (e2.audio) try {
+ e2.audioTrack = r2.local.streams.cam.stream.getAudioTracks()[0], e2.audioTrack || (e2.audio = false);
+ } catch (e3) {
+ }
+ if (e2.video) try {
+ e2.videoTrack = r2.local.streams.cam.stream.getVideoTracks()[0], e2.videoTrack || (e2.video = false);
+ } catch (e3) {
+ }
+ if (e2.screen) try {
+ e2.screenVideoTrack = r2.local.streams.screen.stream.getVideoTracks()[0], e2.screenAudioTrack = r2.local.streams.screen.stream.getAudioTracks()[0], e2.screenVideoTrack || e2.screenAudioTrack || (e2.screen = false);
+ } catch (e3) {
+ }
+ } else {
+ var i2 = true;
+ try {
+ var o2 = r2.participants[e2.session_id];
+ o2 && o2.public && o2.public.rtcType && "peer-to-peer" === o2.public.rtcType.impl && o2.private && !["connected", "completed"].includes(o2.private.peeringState) && (i2 = false);
+ } catch (e3) {
+ console.error(e3);
+ }
+ if (!i2) return e2.audio = false, e2.audioTrack = false, e2.video = false, e2.videoTrack = false, e2.screen = false, void (e2.screenTrack = false);
+ try {
+ r2.streams;
+ if (e2.audio && ua(r2, e2.session_id, "cam-audio")) {
+ var a2 = ha(r2, e2.session_id, "cam", "audio");
+ a2 && (t2 && t2.audioTrack && t2.audioTrack.id === a2.id ? e2.audioTrack = a2 : a2.muted || (e2.audioTrack = a2)), e2.audioTrack || (e2.audio = false);
+ }
+ if (e2.video && ua(r2, e2.session_id, "cam-video")) {
+ var s2 = ha(r2, e2.session_id, "cam", "video");
+ s2 && (t2 && t2.videoTrack && t2.videoTrack.id === s2.id ? e2.videoTrack = s2 : s2.muted || (e2.videoTrack = s2)), e2.videoTrack || (e2.video = false);
+ }
+ if (e2.screen && ua(r2, e2.session_id, "screen-audio")) {
+ var c2 = ha(r2, e2.session_id, "screen", "audio");
+ c2 && (t2 && t2.screenAudioTrack && t2.screenAudioTrack.id === c2.id ? e2.screenAudioTrack = c2 : c2.muted || (e2.screenAudioTrack = c2));
+ }
+ if (e2.screen && ua(r2, e2.session_id, "screen-video")) {
+ var l2 = ha(r2, e2.session_id, "screen", "video");
+ l2 && (t2 && t2.screenVideoTrack && t2.screenVideoTrack.id === l2.id ? e2.screenVideoTrack = l2 : l2.muted || (e2.screenVideoTrack = l2));
+ }
+ e2.screenVideoTrack || e2.screenAudioTrack || (e2.screen = false);
+ } catch (e3) {
+ console.error("unexpected error matching up tracks", e3);
+ }
+ }
+}
+function ba(e2, t2) {
+ var n2 = "undefined" != typeof Symbol && e2[Symbol.iterator] || e2["@@iterator"];
+ if (!n2) {
+ if (Array.isArray(e2) || (n2 = function(e3, t3) {
+ if (!e3) return;
+ if ("string" == typeof e3) return wa(e3, t3);
+ var n3 = Object.prototype.toString.call(e3).slice(8, -1);
+ "Object" === n3 && e3.constructor && (n3 = e3.constructor.name);
+ if ("Map" === n3 || "Set" === n3) return Array.from(e3);
+ if ("Arguments" === n3 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n3)) return wa(e3, t3);
+ }(e2)) || t2 && e2 && "number" == typeof e2.length) {
+ n2 && (e2 = n2);
+ var r2 = 0, i2 = function() {
+ };
+ return { s: i2, n: function() {
+ return r2 >= e2.length ? { done: true } : { done: false, value: e2[r2++] };
+ }, e: function(e3) {
+ throw e3;
+ }, f: i2 };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o2, a2 = true, s2 = false;
+ return { s: function() {
+ n2 = n2.call(e2);
+ }, n: function() {
+ var e3 = n2.next();
+ return a2 = e3.done, e3;
+ }, e: function(e3) {
+ s2 = true, o2 = e3;
+ }, f: function() {
+ try {
+ a2 || null == n2.return || n2.return();
+ } finally {
+ if (s2) throw o2;
+ }
+ } };
+}
+function wa(e2, t2) {
+ (null == t2 || t2 > e2.length) && (t2 = e2.length);
+ for (var n2 = 0, r2 = new Array(t2); n2 < t2; n2++) r2[n2] = e2[n2];
+ return r2;
+}
+var Sa = /* @__PURE__ */ new Map();
+var ka = null;
+function Ea(e2, t2) {
+ var n2 = "undefined" != typeof Symbol && e2[Symbol.iterator] || e2["@@iterator"];
+ if (!n2) {
+ if (Array.isArray(e2) || (n2 = function(e3, t3) {
+ if (!e3) return;
+ if ("string" == typeof e3) return Ca(e3, t3);
+ var n3 = Object.prototype.toString.call(e3).slice(8, -1);
+ "Object" === n3 && e3.constructor && (n3 = e3.constructor.name);
+ if ("Map" === n3 || "Set" === n3) return Array.from(e3);
+ if ("Arguments" === n3 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n3)) return Ca(e3, t3);
+ }(e2)) || t2 && e2 && "number" == typeof e2.length) {
+ n2 && (e2 = n2);
+ var r2 = 0, i2 = function() {
+ };
+ return { s: i2, n: function() {
+ return r2 >= e2.length ? { done: true } : { done: false, value: e2[r2++] };
+ }, e: function(e3) {
+ throw e3;
+ }, f: i2 };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o2, a2 = true, s2 = false;
+ return { s: function() {
+ n2 = n2.call(e2);
+ }, n: function() {
+ var e3 = n2.next();
+ return a2 = e3.done, e3;
+ }, e: function(e3) {
+ s2 = true, o2 = e3;
+ }, f: function() {
+ try {
+ a2 || null == n2.return || n2.return();
+ } finally {
+ if (s2) throw o2;
+ }
+ } };
+}
+function Ca(e2, t2) {
+ (null == t2 || t2 > e2.length) && (t2 = e2.length);
+ for (var n2 = 0, r2 = new Array(t2); n2 < t2; n2++) r2[n2] = e2[n2];
+ return r2;
+}
+var Ma = /* @__PURE__ */ new Map();
+var Ta = null;
+var Oa = 3e3;
+function Pa(e2) {
+ Da() ? function(e3) {
+ Sa.has(e3) || (Sa.set(e3, {}), navigator.mediaDevices.enumerateDevices().then(function(t2) {
+ Sa.has(e3) && (Sa.get(e3).lastDevicesString = JSON.stringify(t2), ka || (ka = function() {
+ var e4 = p(function* () {
+ var e5, t3 = yield navigator.mediaDevices.enumerateDevices(), n2 = ba(Sa.keys());
+ try {
+ for (n2.s(); !(e5 = n2.n()).done; ) {
+ var r2 = e5.value, i2 = JSON.stringify(t3);
+ i2 !== Sa.get(r2).lastDevicesString && (Sa.get(r2).lastDevicesString = i2, r2(t3));
+ }
+ } catch (e6) {
+ n2.e(e6);
+ } finally {
+ n2.f();
+ }
+ });
+ return function() {
+ return e4.apply(this, arguments);
+ };
+ }(), navigator.mediaDevices.addEventListener("devicechange", ka)));
+ }).catch(function() {
+ }));
+ }(e2) : function(e3) {
+ Ma.has(e3) || (Ma.set(e3, {}), navigator.mediaDevices.enumerateDevices().then(function(t2) {
+ Ma.has(e3) && (Ma.get(e3).lastDevicesString = JSON.stringify(t2), Ta || (Ta = setInterval(p(function* () {
+ var e4, t3 = yield navigator.mediaDevices.enumerateDevices(), n2 = Ea(Ma.keys());
+ try {
+ for (n2.s(); !(e4 = n2.n()).done; ) {
+ var r2 = e4.value, i2 = JSON.stringify(t3);
+ i2 !== Ma.get(r2).lastDevicesString && (Ma.get(r2).lastDevicesString = i2, r2(t3));
+ }
+ } catch (e5) {
+ n2.e(e5);
+ } finally {
+ n2.f();
+ }
+ }), Oa)));
+ }));
+ }(e2);
+}
+function Aa(e2) {
+ Da() ? function(e3) {
+ Sa.has(e3) && (Sa.delete(e3), 0 === Sa.size && ka && (navigator.mediaDevices.removeEventListener("devicechange", ka), ka = null));
+ }(e2) : function(e3) {
+ Ma.has(e3) && (Ma.delete(e3), 0 === Ma.size && Ta && (clearInterval(Ta), Ta = null));
+ }(e2);
+}
+function Da() {
+ return Eo() || void 0 !== navigator.mediaDevices.ondevicechange;
+}
+var ja = /* @__PURE__ */ new Set();
+function xa(e2, t2) {
+ var n2 = t2.isLocalScreenVideo;
+ return e2 && "live" === e2.readyState && !function(e3, t3) {
+ return (!t3.isLocalScreenVideo || "Chrome" !== Lo()) && e3.muted && !ja.has(e3.id);
+ }(e2, { isLocalScreenVideo: n2 });
+}
+var La = ["result"];
+var Ia = ["preserveIframe"];
+function Na(e2, t2) {
+ var n2 = Object.keys(e2);
+ if (Object.getOwnPropertySymbols) {
+ var r2 = Object.getOwnPropertySymbols(e2);
+ t2 && (r2 = r2.filter(function(t3) {
+ return Object.getOwnPropertyDescriptor(e2, t3).enumerable;
+ })), n2.push.apply(n2, r2);
+ }
+ return n2;
+}
+function Ra(e2) {
+ for (var t2 = 1; t2 < arguments.length; t2++) {
+ var n2 = null != arguments[t2] ? arguments[t2] : {};
+ t2 % 2 ? Na(Object(n2), true).forEach(function(t3) {
+ d(e2, t3, n2[t3]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(n2)) : Na(Object(n2)).forEach(function(t3) {
+ Object.defineProperty(e2, t3, Object.getOwnPropertyDescriptor(n2, t3));
+ });
+ }
+ return e2;
+}
+function Ba(e2) {
+ var t2 = function() {
+ if ("undefined" == typeof Reflect || !Reflect.construct) return false;
+ if (Reflect.construct.sham) return false;
+ if ("function" == typeof Proxy) return true;
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+ })), true;
+ } catch (e3) {
+ return false;
+ }
+ }();
+ return function() {
+ var n2, r2 = u(e2);
+ if (t2) {
+ var i2 = u(this).constructor;
+ n2 = Reflect.construct(r2, arguments, i2);
+ } else n2 = r2.apply(this, arguments);
+ return l(this, n2);
+ };
+}
+function Fa(e2, t2) {
+ var n2 = "undefined" != typeof Symbol && e2[Symbol.iterator] || e2["@@iterator"];
+ if (!n2) {
+ if (Array.isArray(e2) || (n2 = function(e3, t3) {
+ if (!e3) return;
+ if ("string" == typeof e3) return Ua(e3, t3);
+ var n3 = Object.prototype.toString.call(e3).slice(8, -1);
+ "Object" === n3 && e3.constructor && (n3 = e3.constructor.name);
+ if ("Map" === n3 || "Set" === n3) return Array.from(e3);
+ if ("Arguments" === n3 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n3)) return Ua(e3, t3);
+ }(e2)) || t2 && e2 && "number" == typeof e2.length) {
+ n2 && (e2 = n2);
+ var r2 = 0, i2 = function() {
+ };
+ return { s: i2, n: function() {
+ return r2 >= e2.length ? { done: true } : { done: false, value: e2[r2++] };
+ }, e: function(e3) {
+ throw e3;
+ }, f: i2 };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o2, a2 = true, s2 = false;
+ return { s: function() {
+ n2 = n2.call(e2);
+ }, n: function() {
+ var e3 = n2.next();
+ return a2 = e3.done, e3;
+ }, e: function(e3) {
+ s2 = true, o2 = e3;
+ }, f: function() {
+ try {
+ a2 || null == n2.return || n2.return();
+ } finally {
+ if (s2) throw o2;
+ }
+ } };
+}
+function Ua(e2, t2) {
+ (null == t2 || t2 > e2.length) && (t2 = e2.length);
+ for (var n2 = 0, r2 = new Array(t2); n2 < t2; n2++) r2[n2] = e2[n2];
+ return r2;
+}
+var Va = {};
+var Ja = "video";
+var $a = "voice";
+var Ga = Eo() ? { data: {} } : { data: {}, topology: "none" };
+var qa = { present: 0, hidden: 0 };
+var Ya = { maxBitrate: { min: 1e5, max: 25e5 }, maxFramerate: { min: 1, max: 30 }, scaleResolutionDownBy: { min: 1, max: 8 } };
+var za = Object.keys(Ya);
+var Wa = ["state", "volume", "simulcastEncodings"];
+var Ha = { androidInCallNotification: { title: "string", subtitle: "string", iconName: "string", disableForCustomOverride: "boolean" }, disableAutoDeviceManagement: { audio: "boolean", video: "boolean" } };
+var Qa = { id: { iconPath: "string", iconPathDarkMode: "string", label: "string", tooltip: "string" } };
+var Ka = { id: { allow: "string", controlledBy: "'*' | 'owners' | string[]", csp: "string", iconURL: "string", label: "string", loading: "'eager' | 'lazy'", location: "'main' | 'sidebar'", name: "string", referrerPolicy: "string", sandbox: "string", src: "string", srcdoc: "string", shared: "string[] | 'owners' | boolean" } };
+var Xa = { customIntegrations: { validate: _s, help: ms() }, customTrayButtons: { validate: ys, help: "customTrayButtons should be a dictionary of the type ".concat(JSON.stringify(Qa)) }, url: { validate: function(e2) {
+ return "string" == typeof e2;
+}, help: "url should be a string" }, baseUrl: { validate: function(e2) {
+ return "string" == typeof e2;
+}, help: "baseUrl should be a string" }, token: { validate: function(e2) {
+ return "string" == typeof e2;
+}, help: "token should be a string", queryString: "t" }, dailyConfig: { validate: function(e2, t2) {
+ try {
+ return t2.validateDailyConfig(e2), true;
+ } catch (e3) {
+ console.error("Failed to validate dailyConfig", e3);
+ }
+ return false;
+}, help: "Unsupported dailyConfig. Check error logs for detailed info." }, reactNativeConfig: { validate: function(e2) {
+ return bs(e2, Ha);
+}, help: "reactNativeConfig should look like ".concat(JSON.stringify(Ha), ", all fields optional") }, lang: { validate: function(e2) {
+ return ["da", "de", "en-us", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pl", "pt", "pt-BR", "ru", "sv", "tr", "user"].includes(e2);
+}, help: "language not supported. Options are: da, de, en-us, en, es, fi, fr, it, jp, ka, nl, no, pl, pt, pt-BR, ru, sv, tr, user" }, userName: true, userData: { validate: function(e2) {
+ try {
+ return ds(e2), true;
+ } catch (e3) {
+ return console.error(e3), false;
+ }
+}, help: "invalid userData type provided" }, startVideoOff: true, startAudioOff: true, activeSpeakerMode: true, showLeaveButton: true, showLocalVideo: true, showParticipantsBar: true, showFullscreenButton: true, showUserNameChangeUI: true, iframeStyle: true, customLayout: true, cssFile: true, cssText: true, bodyClass: true, videoSource: { validate: function(e2, t2) {
+ return e2 instanceof MediaStreamTrack && (t2._sharedTracks.videoDeviceId = e2), t2._preloadCache.videoDeviceId = e2, true;
+} }, audioSource: { validate: function(e2, t2) {
+ return e2 instanceof MediaStreamTrack && (t2._sharedTracks.audioDeviceId = e2), t2._preloadCache.audioDeviceId = e2, true;
+} }, subscribeToTracksAutomatically: { validate: function(e2, t2) {
+ return t2._preloadCache.subscribeToTracksAutomatically = e2, true;
+} }, theme: { validate: function(e2) {
+ var t2 = ["accent", "accentText", "background", "backgroundAccent", "baseText", "border", "mainAreaBg", "mainAreaBgAccent", "mainAreaText", "supportiveText"], r2 = function(e3) {
+ for (var n2 = 0, r3 = Object.keys(e3); n2 < r3.length; n2++) {
+ var i2 = r3[n2];
+ if (!t2.includes(i2)) return console.error('unsupported color "'.concat(i2, '". Valid colors: ').concat(t2.join(", "))), false;
+ if (!e3[i2].match(/^#[0-9a-f]{6}|#[0-9a-f]{3}$/i)) return console.error("".concat(i2, ' theme color should be provided in valid hex color format. Received: "').concat(e3[i2], '"')), false;
+ }
+ return true;
+ };
+ return "object" === n(e2) && ("light" in e2 && "dark" in e2 || "colors" in e2) ? "light" in e2 && "dark" in e2 ? "colors" in e2.light ? "colors" in e2.dark ? r2(e2.light.colors) && r2(e2.dark.colors) : (console.error('Dark theme is missing "colors" property.', e2), false) : (console.error('Light theme is missing "colors" property.', e2), false) : r2(e2.colors) : (console.error('Theme must contain either both "light" and "dark" properties, or "colors".', e2), false);
+}, help: "unsupported theme configuration. Check error logs for detailed info." }, layoutConfig: { validate: function(e2) {
+ if ("grid" in e2) {
+ var t2 = e2.grid;
+ if ("maxTilesPerPage" in t2) {
+ if (!Number.isInteger(t2.maxTilesPerPage)) return console.error("grid.maxTilesPerPage should be an integer. You passed ".concat(t2.maxTilesPerPage, ".")), false;
+ if (t2.maxTilesPerPage > 49) return console.error("grid.maxTilesPerPage can't be larger than 49 without sacrificing browser performance. Please contact us at https://www.daily.co/contact to talk about your use case."), false;
+ }
+ if ("minTilesPerPage" in t2) {
+ if (!Number.isInteger(t2.minTilesPerPage)) return console.error("grid.minTilesPerPage should be an integer. You passed ".concat(t2.minTilesPerPage, ".")), false;
+ if (t2.minTilesPerPage < 1) return console.error("grid.minTilesPerPage can't be lower than 1."), false;
+ if ("maxTilesPerPage" in t2 && t2.minTilesPerPage > t2.maxTilesPerPage) return console.error("grid.minTilesPerPage can't be higher than grid.maxTilesPerPage."), false;
+ }
+ }
+ return true;
+}, help: "unsupported layoutConfig. Check error logs for detailed info." }, receiveSettings: { validate: function(e2) {
+ return hs(e2, { allowAllParticipantsKey: false });
+}, help: vs({ allowAllParticipantsKey: false }) }, sendSettings: { validate: function(e2, t2) {
+ return !!function(e3, t3) {
+ try {
+ return t3.validateUpdateSendSettings(e3), true;
+ } catch (e4) {
+ return console.error("Failed to validate send settings", e4), false;
+ }
+ }(e2, t2) && (t2._preloadCache.sendSettings = e2, true);
+}, help: "Invalid sendSettings provided. Check error logs for detailed info." }, inputSettings: { validate: function(e2, t2) {
+ var n2;
+ return !!ps(e2) && (t2._preloadCache.inputSettings || (t2._preloadCache.inputSettings = {}), fs(e2, null === (n2 = t2.properties) || void 0 === n2 ? void 0 : n2.dailyConfig), e2.audio && (t2._preloadCache.inputSettings.audio = e2.audio), e2.video && (t2._preloadCache.inputSettings.video = e2.video), true);
+}, help: gs() }, layout: { validate: function(e2) {
+ return "custom-v1" === e2 || "browser" === e2 || "none" === e2;
+}, help: 'layout may only be set to "custom-v1"', queryString: "layout" }, emb: { queryString: "emb" }, embHref: { queryString: "embHref" }, dailyJsVersion: { queryString: "dailyJsVersion" }, proxy: { queryString: "proxy" }, strictMode: true, allowMultipleCallInstances: true };
+var Za = { styles: { validate: function(e2) {
+ for (var t2 in e2) if ("cam" !== t2 && "screen" !== t2) return false;
+ if (e2.cam) {
+ for (var n2 in e2.cam) if ("div" !== n2 && "video" !== n2) return false;
+ }
+ if (e2.screen) {
+ for (var r2 in e2.screen) if ("div" !== r2 && "video" !== r2) return false;
+ }
+ return true;
+}, help: "styles format should be a subset of: { cam: {div: {}, video: {}}, screen: {div: {}, video: {}} }" }, setSubscribedTracks: { validate: function(e2, t2) {
+ if (t2._preloadCache.subscribeToTracksAutomatically) return false;
+ var n2 = [true, false, "staged"];
+ if (n2.includes(e2) || !Eo() && "avatar" === e2) return true;
+ var r2 = ["audio", "video", "screenAudio", "screenVideo", "rmpAudio", "rmpVideo"];
+ return function e3(t3) {
+ var i2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+ for (var o2 in t3) if ("custom" === o2) {
+ if (!n2.includes(t3[o2]) && !e3(t3[o2], true)) return false;
+ } else {
+ var a2 = !i2 && !r2.includes(o2), s2 = !n2.includes(t3[o2]);
+ if (a2 || s2) return false;
+ }
+ return true;
+ }(e2);
+}, help: "setSubscribedTracks cannot be used when setSubscribeToTracksAutomatically is enabled, and should be of the form: " + "true".concat(Eo() ? "" : " | 'avatar'", " | false | 'staged' | { [audio: true|false|'staged'], [video: true|false|'staged'], [screenAudio: true|false|'staged'], [screenVideo: true|false|'staged'] }") }, setAudio: true, setVideo: true, setScreenShare: { validate: function(e2) {
+ return false === e2;
+}, help: "setScreenShare must be false, as it's only meant for stopping remote participants' screen shares" }, eject: true, updatePermissions: { validate: function(e2) {
+ for (var t2 = 0, n2 = Object.entries(e2); t2 < n2.length; t2++) {
+ var r2 = g(n2[t2], 2), i2 = r2[0], o2 = r2[1];
+ switch (i2) {
+ case "hasPresence":
+ if ("boolean" != typeof o2) return false;
+ break;
+ case "canSend":
+ if (o2 instanceof Set || o2 instanceof Array || Array.isArray(o2)) {
+ var a2, s2 = ["video", "audio", "screenVideo", "screenAudio", "customVideo", "customAudio"], c2 = Fa(o2);
+ try {
+ for (c2.s(); !(a2 = c2.n()).done; ) {
+ var l2 = a2.value;
+ if (!s2.includes(l2)) return false;
+ }
+ } catch (e3) {
+ c2.e(e3);
+ } finally {
+ c2.f();
+ }
+ } else if ("boolean" != typeof o2) return false;
+ (o2 instanceof Array || Array.isArray(o2)) && (e2.canSend = new Set(o2));
+ break;
+ case "canAdmin":
+ if (o2 instanceof Set || o2 instanceof Array || Array.isArray(o2)) {
+ var u2, d2 = ["participants", "streaming", "transcription"], h2 = Fa(o2);
+ try {
+ for (h2.s(); !(u2 = h2.n()).done; ) {
+ var p2 = u2.value;
+ if (!d2.includes(p2)) return false;
+ }
+ } catch (e3) {
+ h2.e(e3);
+ } finally {
+ h2.f();
+ }
+ } else if ("boolean" != typeof o2) return false;
+ (o2 instanceof Array || Array.isArray(o2)) && (e2.canAdmin = new Set(o2));
+ break;
+ default:
+ return false;
+ }
+ }
+ return true;
+}, help: "updatePermissions can take hasPresence, canSend, and canAdmin permissions. hasPresence must be a boolean. canSend can be a boolean or an Array or Set of media types (video, audio, screenVideo, screenAudio, customVideo, customAudio). canAdmin can be a boolean or an Array or Set of admin types (participants, streaming, transcription)." } };
+Promise.any || (Promise.any = function() {
+ var e2 = p(function* (e3) {
+ return new Promise(function(t2, n2) {
+ var r2 = [];
+ e3.forEach(function(i2) {
+ return Promise.resolve(i2).then(function(e4) {
+ t2(e4);
+ }).catch(function(t3) {
+ r2.push(t3), r2.length === e3.length && n2(r2);
+ });
+ });
+ });
+ });
+ return function(t2) {
+ return e2.apply(this, arguments);
+ };
+}());
+var es = function(r2) {
+ c(te2, m);
+ var i2, s2, l2, u2, h2, f2, v2, y2, _2, b2, w2, S2, k2, E2, C2, M2, T2, O2, P2, A2, D2, j2, x2, L2, N2, R2, B2, F2, U2, V2, J2, $2, G2, q2, Y2, z2, Q2, Z2, ee2 = Ba(te2);
+ function te2(e2) {
+ var n2, r3, i3, o2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ if (t(this, te2), d(a(r3 = ee2.call(this)), "startListeningForDeviceChanges", function() {
+ Pa(r3.handleDeviceChange);
+ }), d(a(r3), "stopListeningForDeviceChanges", function() {
+ Aa(r3.handleDeviceChange);
+ }), d(a(r3), "handleDeviceChange", function(e3) {
+ e3 = e3.map(function(e4) {
+ return JSON.parse(JSON.stringify(e4));
+ }), r3.emitDailyJSEvent({ action: "available-devices-updated", availableDevices: e3 });
+ }), d(a(r3), "handleNativeAppStateChange", function() {
+ var e3 = p(function* (e4) {
+ if ("destroyed" === e4) return console.warn("App has been destroyed before leaving the meeting. Cleaning up all the resources!"), void (yield r3.destroy());
+ var t2 = "active" === e4;
+ r3.disableReactNativeAutoDeviceManagement("video") || (t2 ? r3.camUnmutedBeforeLosingNativeActiveState && r3.setLocalVideo(true) : (r3.camUnmutedBeforeLosingNativeActiveState = r3.localVideo(), r3.camUnmutedBeforeLosingNativeActiveState && r3.setLocalVideo(false)));
+ });
+ return function(t2) {
+ return e3.apply(this, arguments);
+ };
+ }()), d(a(r3), "handleNativeAudioFocusChange", function(e3) {
+ r3.disableReactNativeAutoDeviceManagement("audio") || (r3._hasNativeAudioFocus = e3, r3.toggleParticipantAudioBasedOnNativeAudioFocus(), r3._hasNativeAudioFocus ? r3.micUnmutedBeforeLosingNativeAudioFocus && r3.setLocalAudio(true) : (r3.micUnmutedBeforeLosingNativeAudioFocus = r3.localAudio(), r3.setLocalAudio(false)));
+ }), d(a(r3), "handleNativeSystemScreenCaptureStop", function() {
+ r3.stopScreenShare();
+ }), r3.strictMode = void 0 === o2.strictMode || o2.strictMode, r3.allowMultipleCallInstances = null !== (n2 = o2.allowMultipleCallInstances) && void 0 !== n2 && n2, Object.keys(Va).length && (r3._logDuplicateInstanceAttempt(), !r3.allowMultipleCallInstances)) {
+ if (r3.strictMode) throw new Error("Duplicate DailyIframe instances are not allowed");
+ console.warn("Using strictMode: false to allow multiple call instances is now deprecated. Set `allowMultipleCallInstances: true`");
+ }
+ if (window._daily || (window._daily = { pendings: [], instances: {} }), r3.callClientId = H(), i3 = a(r3), Va[i3.callClientId] = i3, window._daily.instances[r3.callClientId] = {}, r3._sharedTracks = {}, window._daily.instances[r3.callClientId].tracks = r3._sharedTracks, o2.dailyJsVersion = te2.version(), r3._iframe = e2, r3._callObjectMode = "none" === o2.layout && !r3._iframe, r3._preloadCache = { subscribeToTracksAutomatically: true, audioDeviceId: null, videoDeviceId: null, outputDeviceId: null, inputSettings: null, sendSettings: null, videoTrackForNetworkConnectivityTest: null, videoTrackForConnectionQualityTest: null }, void 0 !== o2.showLocalVideo ? r3._callObjectMode ? console.error("showLocalVideo is not available in call object mode") : r3._showLocalVideo = !!o2.showLocalVideo : r3._showLocalVideo = true, void 0 !== o2.showParticipantsBar ? r3._callObjectMode ? console.error("showParticipantsBar is not available in call object mode") : r3._showParticipantsBar = !!o2.showParticipantsBar : r3._showParticipantsBar = true, void 0 !== o2.customIntegrations ? r3._callObjectMode ? console.error("customIntegrations is not available in call object mode") : r3._customIntegrations = o2.customIntegrations : r3._customIntegrations = {}, void 0 !== o2.customTrayButtons ? r3._callObjectMode ? console.error("customTrayButtons is not available in call object mode") : r3._customTrayButtons = o2.customTrayButtons : r3._customTrayButtons = {}, void 0 !== o2.activeSpeakerMode ? r3._callObjectMode ? console.error("activeSpeakerMode is not available in call object mode") : r3._activeSpeakerMode = !!o2.activeSpeakerMode : r3._activeSpeakerMode = false, o2.receiveSettings ? r3._callObjectMode ? r3._receiveSettings = o2.receiveSettings : console.error("receiveSettings is only available in call object mode") : r3._receiveSettings = {}, r3.validateProperties(o2), r3.properties = Ra({}, o2), r3._preloadCache.inputSettings || (r3._preloadCache.inputSettings = {}), o2.inputSettings && o2.inputSettings.audio && (r3._preloadCache.inputSettings.audio = o2.inputSettings.audio), o2.inputSettings && o2.inputSettings.video && (r3._preloadCache.inputSettings.video = o2.inputSettings.video), r3._callObjectLoader = r3._callObjectMode ? new ra(r3.callClientId) : null, r3._callState = br, r3._isPreparingToJoin = false, r3._accessState = { access: xr }, r3._meetingSessionSummary = {}, r3._finalSummaryOfPrevSession = {}, r3._meetingSessionState = Es(Ga, r3._callObjectMode), r3._nativeInCallAudioMode = Ja, r3._participants = {}, r3._isScreenSharing = false, r3._participantCounts = qa, r3._rmpPlayerState = {}, r3._waitingParticipants = {}, r3._network = { threshold: "good", quality: 100 }, r3._activeSpeaker = {}, r3._localAudioLevel = 0, r3._isLocalAudioLevelObserverRunning = false, r3._remoteParticipantsAudioLevel = {}, r3._isRemoteParticipantsAudioLevelObserverRunning = false, r3._maxAppMessageSize = so, r3._messageChannel = Eo() ? new Wo() : new qo(), r3._iframe && (r3._iframe.requestFullscreen ? r3._iframe.addEventListener("fullscreenchange", function() {
+ document.fullscreenElement === r3._iframe ? (r3.emitDailyJSEvent({ action: Qi }), r3.sendMessageToCallMachine({ action: Qi })) : (r3.emitDailyJSEvent({ action: Ki }), r3.sendMessageToCallMachine({ action: Ki }));
+ }) : r3._iframe.webkitRequestFullscreen && r3._iframe.addEventListener("webkitfullscreenchange", function() {
+ document.webkitFullscreenElement === r3._iframe ? (r3.emitDailyJSEvent({ action: Qi }), r3.sendMessageToCallMachine({ action: Qi })) : (r3.emitDailyJSEvent({ action: Ki }), r3.sendMessageToCallMachine({ action: Ki }));
+ })), Eo()) {
+ var s3 = r3.nativeUtils();
+ s3.addAudioFocusChangeListener && s3.removeAudioFocusChangeListener && s3.addAppStateChangeListener && s3.removeAppStateChangeListener && s3.addSystemScreenCaptureStopListener && s3.removeSystemScreenCaptureStopListener || console.warn("expected (add|remove)(AudioFocusChange|AppActiveStateChange|SystemScreenCaptureStop)Listener to be available in React Native"), r3._hasNativeAudioFocus = true, s3.addAudioFocusChangeListener(r3.handleNativeAudioFocusChange), s3.addAppStateChangeListener(r3.handleNativeAppStateChange), s3.addSystemScreenCaptureStopListener(r3.handleNativeSystemScreenCaptureStop);
+ }
+ return r3._callObjectMode && r3.startListeningForDeviceChanges(), r3._messageChannel.addListenerForMessagesFromCallMachine(r3.handleMessageFromCallMachine, r3.callClientId, a(r3)), r3;
+ }
+ return o(te2, [{ key: "destroy", value: (Z2 = p(function* () {
+ var e2, t2;
+ try {
+ yield this.leave();
+ } catch (e3) {
+ }
+ var n2 = this._iframe;
+ if (n2) {
+ var r3 = n2.parentElement;
+ r3 && r3.removeChild(n2);
+ }
+ if (this._messageChannel.removeListener(this.handleMessageFromCallMachine), Eo()) {
+ var i3 = this.nativeUtils();
+ i3.removeAudioFocusChangeListener(this.handleNativeAudioFocusChange), i3.removeAppStateChangeListener(this.handleNativeAppStateChange), i3.removeSystemScreenCaptureStopListener(this.handleNativeSystemScreenCaptureStop);
+ }
+ this._callObjectMode && this.stopListeningForDeviceChanges(), this.resetMeetingDependentVars(), this._destroyed = true, this.emitDailyJSEvent({ action: "call-instance-destroyed" }), delete Va[this.callClientId], (null === (e2 = window) || void 0 === e2 || null === (t2 = e2._daily) || void 0 === t2 ? void 0 : t2.instances) && delete window._daily.instances[this.callClientId], this.strictMode && (this.callClientId = void 0);
+ }), function() {
+ return Z2.apply(this, arguments);
+ }) }, { key: "isDestroyed", value: function() {
+ return !!this._destroyed;
+ } }, { key: "loadCss", value: function(e2) {
+ var t2 = e2.bodyClass, n2 = e2.cssFile, r3 = e2.cssText;
+ return ls(), this.sendMessageToCallMachine({ action: "load-css", cssFile: this.absoluteUrl(n2), bodyClass: t2, cssText: r3 }), this;
+ } }, { key: "iframe", value: function() {
+ return ls(), this._iframe;
+ } }, { key: "meetingState", value: function() {
+ return this._callState;
+ } }, { key: "accessState", value: function() {
+ return ss(this._callObjectMode, "accessState()"), this._accessState;
+ } }, { key: "participants", value: function() {
+ return this._participants;
+ } }, { key: "participantCounts", value: function() {
+ return this._participantCounts;
+ } }, { key: "waitingParticipants", value: function() {
+ return ss(this._callObjectMode, "waitingParticipants()"), this._waitingParticipants;
+ } }, { key: "validateParticipantProperties", value: function(e2, t2) {
+ for (var n2 in t2) {
+ if (!Za[n2]) throw new Error("unrecognized updateParticipant property ".concat(n2));
+ if (Za[n2].validate && !Za[n2].validate(t2[n2], this, this._participants[e2])) throw new Error(Za[n2].help);
+ }
+ } }, { key: "updateParticipant", value: function(e2, t2) {
+ return this._participants.local && this._participants.local.session_id === e2 && (e2 = "local"), e2 && t2 && (this.validateParticipantProperties(e2, t2), this.sendMessageToCallMachine({ action: "update-participant", id: e2, properties: t2 })), this;
+ } }, { key: "updateParticipants", value: function(e2) {
+ var t2 = this._participants.local && this._participants.local.session_id;
+ for (var n2 in e2) n2 === t2 && (n2 = "local"), n2 && e2[n2] && this.validateParticipantProperties(n2, e2[n2]);
+ return this.sendMessageToCallMachine({ action: "update-participants", participants: e2 }), this;
+ } }, { key: "updateWaitingParticipant", value: (Q2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", r3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ if (ss(this._callObjectMode, "updateWaitingParticipant()"), ns(this._callState, "updateWaitingParticipant()"), "string" != typeof t2 || "object" !== n(r3)) throw new Error("updateWaitingParticipant() must take an id string and a updates object");
+ return new Promise(function(n2, i3) {
+ e2.sendMessageToCallMachine({ action: "daily-method-update-waiting-participant", id: t2, updates: r3 }, function(e3) {
+ e3.error && i3(e3.error), e3.id || i3(new Error("unknown error in updateWaitingParticipant()")), n2({ id: e3.id });
+ });
+ });
+ }), function() {
+ return Q2.apply(this, arguments);
+ }) }, { key: "updateWaitingParticipants", value: (z2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ if (ss(this._callObjectMode, "updateWaitingParticipants()"), ns(this._callState, "updateWaitingParticipants()"), "object" !== n(t2)) throw new Error("updateWaitingParticipants() must take a mapping between ids and update objects");
+ return new Promise(function(n2, r3) {
+ e2.sendMessageToCallMachine({ action: "daily-method-update-waiting-participants", updatesById: t2 }, function(e3) {
+ e3.error && r3(e3.error), e3.ids || r3(new Error("unknown error in updateWaitingParticipants()")), n2({ ids: e3.ids });
+ });
+ });
+ }), function() {
+ return z2.apply(this, arguments);
+ }) }, { key: "requestAccess", value: (Y2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n2 = t2.access, r3 = void 0 === n2 ? { level: Lr } : n2, i3 = t2.name, o2 = void 0 === i3 ? "" : i3;
+ return ss(this._callObjectMode, "requestAccess()"), ns(this._callState, "requestAccess()"), new Promise(function(t3, n3) {
+ e2.sendMessageToCallMachine({ action: "daily-method-request-access", access: r3, name: o2 }, function(e3) {
+ e3.error && n3(e3.error), e3.access || n3(new Error("unknown error in requestAccess()")), t3({ access: e3.access, granted: e3.granted });
+ });
+ });
+ }), function() {
+ return Y2.apply(this, arguments);
+ }) }, { key: "localAudio", value: function() {
+ return this._participants.local ? !["blocked", "off"].includes(this._participants.local.tracks.audio.state) : null;
+ } }, { key: "localVideo", value: function() {
+ return this._participants.local ? !["blocked", "off"].includes(this._participants.local.tracks.video.state) : null;
+ } }, { key: "setLocalAudio", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ return "forceDiscardTrack" in t2 && (Eo() ? (console.warn("forceDiscardTrack option not supported in React Native; ignoring"), t2 = {}) : e2 && (console.warn("forceDiscardTrack option only supported when calling setLocalAudio(false); ignoring"), t2 = {})), this.sendMessageToCallMachine({ action: "local-audio", state: e2, options: t2 }), this;
+ } }, { key: "localScreenAudio", value: function() {
+ return this._participants.local ? !["blocked", "off"].includes(this._participants.local.tracks.screenAudio.state) : null;
+ } }, { key: "localScreenVideo", value: function() {
+ return this._participants.local ? !["blocked", "off"].includes(this._participants.local.tracks.screenVideo.state) : null;
+ } }, { key: "updateScreenShare", value: function(e2) {
+ if (this._isScreenSharing) return this.sendMessageToCallMachine({ action: "local-screen-update", options: e2 }), this;
+ console.warn("There is no screen share in progress. Try calling startScreenShare first.");
+ } }, { key: "setLocalVideo", value: function(e2) {
+ return this.sendMessageToCallMachine({ action: "local-video", state: e2 }), this;
+ } }, { key: "getReceiveSettings", value: (q2 = p(function* (e2) {
+ var t2 = this, r3 = (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}).showInheritedValues, i3 = void 0 !== r3 && r3;
+ if (ss(this._callObjectMode, "getReceiveSettings()"), !this._callMachineInitialized) return this._receiveSettings;
+ switch (n(e2)) {
+ case "string":
+ return new Promise(function(n2) {
+ t2.sendMessageToCallMachine({ action: "get-single-participant-receive-settings", id: e2, showInheritedValues: i3 }, function(e3) {
+ n2(e3.receiveSettings);
+ });
+ });
+ case "undefined":
+ return this._receiveSettings;
+ default:
+ throw new Error('first argument to getReceiveSettings() must be a participant id (or "base"), or there should be no arguments');
+ }
+ }), function(e2) {
+ return q2.apply(this, arguments);
+ }) }, { key: "updateReceiveSettings", value: (G2 = p(function* (e2) {
+ var t2 = this;
+ if (ss(this._callObjectMode, "updateReceiveSettings()"), !hs(e2, { allowAllParticipantsKey: true })) throw new Error(vs({ allowAllParticipantsKey: true }));
+ return ns(this._callState, "updateReceiveSettings()", "To specify receive settings earlier, use the receiveSettings config property."), new Promise(function(n2) {
+ t2.sendMessageToCallMachine({ action: "update-receive-settings", receiveSettings: e2 }, function(e3) {
+ n2({ receiveSettings: e3.receiveSettings });
+ });
+ });
+ }), function(e2) {
+ return G2.apply(this, arguments);
+ }) }, { key: "_prepInputSettingsToPresentToUser", value: function(e2) {
+ var t2, n2, r3, i3, o2, a2, s3, c2;
+ if (e2) {
+ var l3 = {}, u3 = "none" === (null === (t2 = e2.audio) || void 0 === t2 || null === (n2 = t2.processor) || void 0 === n2 ? void 0 : n2.type) && (null === (r3 = e2.audio) || void 0 === r3 || null === (i3 = r3.processor) || void 0 === i3 ? void 0 : i3._isDefaultWhenNone);
+ if (e2.audio && !u3) {
+ var d2 = Ra({}, e2.audio.processor);
+ delete d2._isDefaultWhenNone, l3.audio = Ra(Ra({}, e2.audio), {}, { processor: d2 });
+ }
+ var h3 = "none" === (null === (o2 = e2.video) || void 0 === o2 || null === (a2 = o2.processor) || void 0 === a2 ? void 0 : a2.type) && (null === (s3 = e2.video) || void 0 === s3 || null === (c2 = s3.processor) || void 0 === c2 ? void 0 : c2._isDefaultWhenNone);
+ if (e2.video && !h3) {
+ var p2 = Ra({}, e2.video.processor);
+ delete p2._isDefaultWhenNone, l3.video = Ra(Ra({}, e2.video), {}, { processor: p2 });
+ }
+ return l3;
+ }
+ } }, { key: "getInputSettings", value: function() {
+ var e2 = this;
+ return ls(), new Promise(function(t2) {
+ t2(e2._getInputSettings());
+ });
+ } }, { key: "_getInputSettings", value: function() {
+ var e2, t2, n2, r3, i3, o2, a2, s3, c2 = { processor: { type: "none", _isDefaultWhenNone: true } };
+ this._inputSettings ? (e2 = (null === (n2 = this._inputSettings) || void 0 === n2 ? void 0 : n2.video) || c2, t2 = (null === (r3 = this._inputSettings) || void 0 === r3 ? void 0 : r3.audio) || c2) : (e2 = (null === (i3 = this._preloadCache) || void 0 === i3 || null === (o2 = i3.inputSettings) || void 0 === o2 ? void 0 : o2.video) || c2, t2 = (null === (a2 = this._preloadCache) || void 0 === a2 || null === (s3 = a2.inputSettings) || void 0 === s3 ? void 0 : s3.audio) || c2);
+ var l3 = { audio: t2, video: e2 };
+ return this._prepInputSettingsToPresentToUser(l3);
+ } }, { key: "updateInputSettings", value: ($2 = p(function* (e2) {
+ var t2 = this;
+ return ls(), ps(e2) ? (e2 && (this._preloadCache.inputSettings || (this._preloadCache.inputSettings = {}), fs(e2, this.properties.dailyConfig), e2.audio && (this._preloadCache.inputSettings.audio = e2.audio), e2.video && (this._preloadCache.inputSettings.video = e2.video)), e2.video || e2.audio ? this._callObjectMode && !this._callMachineInitialized ? this._getInputSettings() : new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "update-input-settings", inputSettings: e2 }, function(e3) {
+ e3.error ? r3(e3.error) : n2({ inputSettings: t2._prepInputSettingsToPresentToUser(e3.inputSettings) });
+ });
+ }) : this._getInputSettings()) : (console.error(gs()), Promise.reject(gs()));
+ }), function(e2) {
+ return $2.apply(this, arguments);
+ }) }, { key: "setBandwidth", value: function(e2) {
+ var t2 = e2.kbs, n2 = e2.trackConstraints;
+ if (ls(), this._callMachineInitialized) return this.sendMessageToCallMachine({ action: "set-bandwidth", kbs: t2, trackConstraints: n2 }), this;
+ } }, { key: "getDailyLang", value: function() {
+ var e2 = this;
+ if (ls(), this._callMachineInitialized) return new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-daily-lang" }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, t2(e3);
+ });
+ });
+ } }, { key: "setDailyLang", value: function(e2) {
+ return ls(), this.sendMessageToCallMachine({ action: "set-daily-lang", lang: e2 }), this;
+ } }, { key: "setProxyUrl", value: function(e2) {
+ return this.sendMessageToCallMachine({ action: "set-proxy-url", proxyUrl: e2 }), this;
+ } }, { key: "setIceConfig", value: function(e2) {
+ return this.sendMessageToCallMachine({ action: "set-ice-config", iceConfig: e2 }), this;
+ } }, { key: "meetingSessionSummary", value: function() {
+ return [Cr, Mr].includes(this._callState) ? this._finalSummaryOfPrevSession : this._meetingSessionSummary;
+ } }, { key: "getMeetingSession", value: (J2 = p(function* () {
+ var e2 = this;
+ return console.warn("getMeetingSession() is deprecated: use meetingSessionSummary(), which will return immediately"), ns(this._callState, "getMeetingSession()"), new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-meeting-session" }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, t2(e3);
+ });
+ });
+ }), function() {
+ return J2.apply(this, arguments);
+ }) }, { key: "meetingSessionState", value: function() {
+ return ns(this._callState, "meetingSessionState"), this._meetingSessionState;
+ } }, { key: "setMeetingSessionData", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "replace";
+ ss(this._callObjectMode, "setMeetingSessionData()"), ns(this._callState, "setMeetingSessionData");
+ try {
+ !function(e3, t3) {
+ new Xo({ data: e3, mergeStrategy: t3 });
+ }(e2, t2);
+ } catch (e3) {
+ throw console.error(e3), e3;
+ }
+ try {
+ this.sendMessageToCallMachine({ action: "set-session-data", data: e2, mergeStrategy: t2 });
+ } catch (e3) {
+ throw new Error("Error setting meeting session data: ".concat(e3));
+ }
+ } }, { key: "setUserName", value: function(e2, t2) {
+ var n2 = this;
+ return this.properties.userName = e2, new Promise(function(r3) {
+ n2.sendMessageToCallMachine({ action: "set-user-name", name: null != e2 ? e2 : "", thisMeetingOnly: Eo() || !!t2 && !!t2.thisMeetingOnly }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, r3(e3);
+ });
+ });
+ } }, { key: "setUserData", value: (V2 = p(function* (e2) {
+ var t2 = this;
+ try {
+ ds(e2);
+ } catch (e3) {
+ throw console.error(e3), e3;
+ }
+ if (this.properties.userData = e2, this._callMachineInitialized) return new Promise(function(n2) {
+ try {
+ t2.sendMessageToCallMachine({ action: "set-user-data", userData: e2 }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, n2(e3);
+ });
+ } catch (e3) {
+ throw new Error("Error setting user data: ".concat(e3));
+ }
+ });
+ }), function(e2) {
+ return V2.apply(this, arguments);
+ }) }, { key: "validateAudioLevelInterval", value: function(e2) {
+ if (e2 && (e2 < 100 || "number" != typeof e2)) throw new Error("The interval must be a number greater than or equal to 100 milliseconds.");
+ } }, { key: "startLocalAudioLevelObserver", value: function(e2) {
+ var t2 = this;
+ if ("undefined" == typeof AudioWorkletNode && !Eo()) throw new Error("startLocalAudioLevelObserver() is not supported on this browser");
+ if (this.validateAudioLevelInterval(e2), this._callMachineInitialized) return this._isLocalAudioLevelObserverRunning = true, new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "start-local-audio-level-observer", interval: e2 }, function(e3) {
+ t2._isLocalAudioLevelObserverRunning = !e3.error, e3.error ? r3({ error: e3.error }) : n2();
+ });
+ });
+ this._preloadCache.localAudioLevelObserver = { enabled: true, interval: e2 };
+ } }, { key: "isLocalAudioLevelObserverRunning", value: function() {
+ return this._isLocalAudioLevelObserverRunning;
+ } }, { key: "stopLocalAudioLevelObserver", value: function() {
+ this._preloadCache.localAudioLevelObserver = null, this._localAudioLevel = 0, this._isLocalAudioLevelObserverRunning = false, this.sendMessageToCallMachine({ action: "stop-local-audio-level-observer" });
+ } }, { key: "startRemoteParticipantsAudioLevelObserver", value: function(e2) {
+ var t2 = this;
+ if (this.validateAudioLevelInterval(e2), this._callMachineInitialized) return this._isRemoteParticipantsAudioLevelObserverRunning = true, new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "start-remote-participants-audio-level-observer", interval: e2 }, function(e3) {
+ t2._isRemoteParticipantsAudioLevelObserverRunning = !e3.error, e3.error ? r3({ error: e3.error }) : n2();
+ });
+ });
+ this._preloadCache.remoteParticipantsAudioLevelObserver = { enabled: true, interval: e2 };
+ } }, { key: "isRemoteParticipantsAudioLevelObserverRunning", value: function() {
+ return this._isRemoteParticipantsAudioLevelObserverRunning;
+ } }, { key: "stopRemoteParticipantsAudioLevelObserver", value: function() {
+ this._preloadCache.remoteParticipantsAudioLevelObserver = null, this._remoteParticipantsAudioLevel = {}, this._isRemoteParticipantsAudioLevelObserverRunning = false, this.sendMessageToCallMachine({ action: "stop-remote-participants-audio-level-observer" });
+ } }, { key: "startCamera", value: (U2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ if (ss(this._callObjectMode, "startCamera()"), is(this._callState, this._isPreparingToJoin, "startCamera()", "Did you mean to use setLocalAudio() and/or setLocalVideo() instead?"), this.needsLoad()) try {
+ yield this.load(t2);
+ } catch (e3) {
+ return Promise.reject(e3);
+ }
+ else {
+ if (this._didPreAuth) {
+ if (t2.url && t2.url !== this.properties.url) return console.error("url in startCamera() is different than the one used in preAuth()"), Promise.reject();
+ if (t2.token && t2.token !== this.properties.token) return console.error("token in startCamera() is different than the one used in preAuth()"), Promise.reject();
+ }
+ this.validateProperties(t2), this.properties = Ra(Ra({}, this.properties), t2);
+ }
+ return new Promise(function(t3) {
+ e2.sendMessageToCallMachine({ action: "start-camera", properties: ts(e2.properties, e2.callClientId), preloadCache: ts(e2._preloadCache, e2.callClientId) }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, t3(e3);
+ });
+ });
+ }), function() {
+ return U2.apply(this, arguments);
+ }) }, { key: "validateCustomTrack", value: function(e2, t2, n2) {
+ if (n2 && n2.length > 50) throw new Error("Custom track `trackName` must not be more than 50 characters");
+ if (t2 && "music" !== t2 && "speech" !== t2 && !(t2 instanceof Object)) throw new Error("Custom track `mode` must be either `music` | `speech` | `DailyMicAudioModeSettings` or `undefined`");
+ if (!!n2 && ["cam-audio", "cam-video", "screen-video", "screen-audio", "rmpAudio", "rmpVideo", "customVideoDefaults"].includes(n2)) throw new Error("Custom track `trackName` must not match a track name already used by daily: cam-audio, cam-video, customVideoDefaults, screen-video, screen-audio, rmpAudio, rmpVideo");
+ if (!(e2 instanceof MediaStreamTrack)) throw new Error("Custom tracks provided must be instances of MediaStreamTrack");
+ } }, { key: "startCustomTrack", value: function() {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : { track, mode, trackName };
+ return ls(), ns(this._callState, "startCustomTrack()"), this.validateCustomTrack(t2.track, t2.mode, t2.trackName), new Promise(function(n2, r3) {
+ e2._sharedTracks.customTrack = t2.track, t2.track = fo, e2.sendMessageToCallMachine({ action: "start-custom-track", properties: t2 }, function(e3) {
+ e3.error ? r3({ error: e3.error }) : n2(e3.mediaTag);
+ });
+ });
+ } }, { key: "stopCustomTrack", value: function(e2) {
+ var t2 = this;
+ return ls(), ns(this._callState, "stopCustomTrack()"), new Promise(function(n2) {
+ t2.sendMessageToCallMachine({ action: "stop-custom-track", mediaTag: e2 }, function(e3) {
+ n2(e3.mediaTag);
+ });
+ });
+ } }, { key: "setCamera", value: function(e2) {
+ var t2 = this;
+ return us(), os(this._callMachineInitialized, "setCamera()"), new Promise(function(n2) {
+ t2.sendMessageToCallMachine({ action: "set-camera", cameraDeviceId: e2 }, function(e3) {
+ n2({ device: e3.device });
+ });
+ });
+ } }, { key: "setAudioDevice", value: (F2 = p(function* (e2) {
+ return us(), this.nativeUtils().setAudioDevice(e2), { deviceId: yield this.nativeUtils().getAudioDevice() };
+ }), function(e2) {
+ return F2.apply(this, arguments);
+ }) }, { key: "cycleCamera", value: function() {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ return new Promise(function(n2) {
+ e2.sendMessageToCallMachine({ action: "cycle-camera", properties: t2 }, function(e3) {
+ n2({ device: e3.device });
+ });
+ });
+ } }, { key: "cycleMic", value: function() {
+ var e2 = this;
+ return ls(), new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "cycle-mic" }, function(e3) {
+ t2({ device: e3.device });
+ });
+ });
+ } }, { key: "getCameraFacingMode", value: function() {
+ var e2 = this;
+ return us(), new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-camera-facing-mode" }, function(e3) {
+ t2(e3.facingMode);
+ });
+ });
+ } }, { key: "setInputDevicesAsync", value: (B2 = p(function* (e2) {
+ var t2 = this, n2 = e2.audioDeviceId, r3 = e2.videoDeviceId, i3 = e2.audioSource, o2 = e2.videoSource;
+ return ls(), void 0 !== i3 && (n2 = i3), void 0 !== o2 && (r3 = o2), n2 && (this._preloadCache.audioDeviceId = n2, this._sharedTracks.audioDeviceId = n2), r3 && (this._preloadCache.videoDeviceId = r3, this._sharedTracks.videoDeviceId = r3), this._callObjectMode && this.needsLoad() ? { camera: { deviceId: this._preloadCache.videoDeviceId }, mic: { deviceId: this._preloadCache.audioDeviceId }, speaker: { deviceId: this._preloadCache.outputDeviceId } } : (n2 instanceof MediaStreamTrack && (n2 = fo), r3 instanceof MediaStreamTrack && (r3 = fo), new Promise(function(e3) {
+ t2.sendMessageToCallMachine({ action: "set-input-devices", audioDeviceId: n2, videoDeviceId: r3 }, function(n3) {
+ delete n3.action, delete n3.callbackStamp, n3.returnPreloadCache ? e3({ camera: { deviceId: t2._preloadCache.videoDeviceId }, mic: { deviceId: t2._preloadCache.audioDeviceId }, speaker: { deviceId: t2._preloadCache.outputDeviceId } }) : e3(n3);
+ });
+ }));
+ }), function(e2) {
+ return B2.apply(this, arguments);
+ }) }, { key: "setOutputDeviceAsync", value: (R2 = p(function* (e2) {
+ var t2 = this, n2 = e2.outputDeviceId;
+ return ls(), n2 && (this._preloadCache.outputDeviceId = n2), this._callObjectMode && this.needsLoad() ? { camera: { deviceId: this._preloadCache.videoDeviceId }, mic: { deviceId: this._preloadCache.audioDeviceId }, speaker: { deviceId: this._preloadCache.outputDeviceId } } : new Promise(function(e3) {
+ t2.sendMessageToCallMachine({ action: "set-output-device", outputDeviceId: n2 }, function(n3) {
+ delete n3.action, delete n3.callbackStamp, n3.returnPreloadCache ? e3({ camera: { deviceId: t2._preloadCache.videoDeviceId }, mic: { deviceId: t2._preloadCache.audioDeviceId }, speaker: { deviceId: t2._preloadCache.outputDeviceId } }) : e3(n3);
+ });
+ });
+ }), function(e2) {
+ return R2.apply(this, arguments);
+ }) }, { key: "getInputDevices", value: (N2 = p(function* () {
+ var e2 = this;
+ return this._callObjectMode && this.needsLoad() ? { camera: { deviceId: this._preloadCache.videoDeviceId }, mic: { deviceId: this._preloadCache.audioDeviceId }, speaker: { deviceId: this._preloadCache.outputDeviceId } } : new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-input-devices" }, function(n2) {
+ delete n2.action, delete n2.callbackStamp, n2.returnPreloadCache ? t2({ camera: { deviceId: e2._preloadCache.videoDeviceId }, mic: { deviceId: e2._preloadCache.audioDeviceId }, speaker: { deviceId: e2._preloadCache.outputDeviceId } }) : t2(n2);
+ });
+ });
+ }), function() {
+ return N2.apply(this, arguments);
+ }) }, { key: "nativeInCallAudioMode", value: function() {
+ return us(), this._nativeInCallAudioMode;
+ } }, { key: "setNativeInCallAudioMode", value: function(e2) {
+ if (us(), [Ja, $a].includes(e2)) {
+ if (e2 !== this._nativeInCallAudioMode) return this._nativeInCallAudioMode = e2, !this.disableReactNativeAutoDeviceManagement("audio") && rs(this._callState, this._isPreparingToJoin) && this.nativeUtils().setAudioMode(this._nativeInCallAudioMode), this;
+ } else console.error("invalid in-call audio mode specified: ", e2);
+ } }, { key: "preAuth", value: (L2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ if (ss(this._callObjectMode, "preAuth()"), is(this._callState, this._isPreparingToJoin, "preAuth()"), this.needsLoad() && (yield this.load(t2)), !t2.url) throw new Error("preAuth() requires at least a url to be provided");
+ return this.validateProperties(t2), this.properties = Ra(Ra({}, this.properties), t2), new Promise(function(t3, n2) {
+ e2.sendMessageToCallMachine({ action: "daily-method-preauth", properties: ts(e2.properties, e2.callClientId), preloadCache: ts(e2._preloadCache, e2.callClientId) }, function(r3) {
+ return r3.error ? n2(r3.error) : r3.access ? (e2._didPreAuth = true, void t3({ access: r3.access })) : n2(new Error("unknown error in preAuth()"));
+ });
+ });
+ }), function() {
+ return L2.apply(this, arguments);
+ }) }, { key: "load", value: (x2 = p(function* (e2) {
+ var t2 = this;
+ if (this.needsLoad()) {
+ if (this._destroyed && (this._logUseAfterDestroy(), this.strictMode)) throw new Error("Use after destroy");
+ if (e2 && (this.validateProperties(e2), this.properties = Ra(Ra({}, this.properties), e2)), !this._callObjectMode && !this.properties.url) throw new Error("can't load iframe meeting because url property isn't set");
+ return this._updateCallState(wr), this.emitDailyJSEvent({ action: ai }), this._callObjectMode ? new Promise(function(e3, n2) {
+ t2._callObjectLoader.cancel();
+ var r3 = Date.now();
+ t2._callObjectLoader.load(t2.properties.dailyConfig, function(n3) {
+ t2._bundleLoadTime = n3 ? "no-op" : Date.now() - r3, t2._updateCallState(Sr), n3 && t2.emitDailyJSEvent({ action: ci }), e3();
+ }, function(e4, r4) {
+ if (t2.emitDailyJSEvent({ action: si }), !r4) {
+ t2._updateCallState(Mr), t2.resetMeetingDependentVars();
+ var i3 = { action: ao, errorMsg: e4.msg, error: { type: "connection-error", msg: "Failed to load call object bundle.", details: { on: "load", sourceError: e4, bundleUrl: X(t2.properties.dailyConfig) } } };
+ t2._maybeSendToSentry(i3), t2.emitDailyJSEvent(i3), n2(e4.msg);
+ }
+ });
+ }) : (this._iframe.src = K(this.assembleMeetingUrl(), this.properties.dailyConfig), new Promise(function(e3, n2) {
+ t2._loadedCallback = function(r3) {
+ t2._callState !== Mr ? (t2._updateCallState(Sr), (t2.properties.cssFile || t2.properties.cssText) && t2.loadCss(t2.properties), e3()) : n2(r3);
+ };
+ }));
+ }
+ }), function(e2) {
+ return x2.apply(this, arguments);
+ }) }, { key: "join", value: (j2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ this._testCallInProgress && this.stopTestCallQuality();
+ var n2 = false;
+ if (this.needsLoad()) {
+ this.updateIsPreparingToJoin(true);
+ try {
+ yield this.load(t2);
+ } catch (e3) {
+ return this.updateIsPreparingToJoin(false), Promise.reject(e3);
+ }
+ } else {
+ if (n2 = !(!this.properties.cssFile && !this.properties.cssText), this._didPreAuth) {
+ if (t2.url && t2.url !== this.properties.url) return console.error("url in join() is different than the one used in preAuth()"), this.updateIsPreparingToJoin(false), Promise.reject();
+ if (t2.token && t2.token !== this.properties.token) return console.error("token in join() is different than the one used in preAuth()"), this.updateIsPreparingToJoin(false), Promise.reject();
+ }
+ if (t2.url && !this._callObjectMode && t2.url && t2.url !== this.properties.url) return console.error("url in join() is different than the one used in load() (".concat(this.properties.url, " -> ").concat(t2.url, ")")), this.updateIsPreparingToJoin(false), Promise.reject();
+ this.validateProperties(t2), this.properties = Ra(Ra({}, this.properties), t2);
+ }
+ return void 0 !== t2.showLocalVideo && (this._callObjectMode ? console.error("showLocalVideo is not available in callObject mode") : this._showLocalVideo = !!t2.showLocalVideo), void 0 !== t2.showParticipantsBar && (this._callObjectMode ? console.error("showParticipantsBar is not available in callObject mode") : this._showParticipantsBar = !!t2.showParticipantsBar), this._callState === Er || this._callState === kr ? (console.warn("already joined meeting, call leave() before joining again"), void this.updateIsPreparingToJoin(false)) : (this._updateCallState(kr, false), this.emitDailyJSEvent({ action: di }), this._preloadCache.inputSettings || (this._preloadCache.inputSettings = {}), t2.inputSettings && t2.inputSettings.audio && (this._preloadCache.inputSettings.audio = t2.inputSettings.audio), t2.inputSettings && t2.inputSettings.video && (this._preloadCache.inputSettings.video = t2.inputSettings.video), this.sendMessageToCallMachine({ action: "join-meeting", properties: ts(this.properties, this.callClientId), preloadCache: ts(this._preloadCache, this.callClientId) }), new Promise(function(t3, r3) {
+ e2._joinedCallback = function(i3, o2) {
+ if (e2._callState !== Mr) {
+ if (e2._updateCallState(Er), i3) for (var a2 in i3) {
+ if (e2._callObjectMode) {
+ var s3 = e2._callMachine().store;
+ va(i3[a2], s3), ma(i3[a2], s3), _a(i3[a2], e2._participants[a2], s3);
+ }
+ e2._participants[a2] = Ra({}, i3[a2]), e2.toggleParticipantAudioBasedOnNativeAudioFocus();
+ }
+ n2 && e2.loadCss(e2.properties), t3(i3);
+ } else r3(o2);
+ };
+ }));
+ }), function() {
+ return j2.apply(this, arguments);
+ }) }, { key: "leave", value: (D2 = p(function* () {
+ var e2 = this;
+ return this._testCallInProgress && this.stopTestCallQuality(), new Promise(function(t2) {
+ e2._callState === Cr || e2._callState === Mr ? t2() : e2._callObjectLoader && !e2._callObjectLoader.loaded ? (e2._callObjectLoader.cancel(), e2._updateCallState(Cr), e2.resetMeetingDependentVars(), e2.emitDailyJSEvent({ action: Cr }), t2()) : (e2._resolveLeave = t2, e2.sendMessageToCallMachine({ action: "leave-meeting" }));
+ });
+ }), function() {
+ return D2.apply(this, arguments);
+ }) }, { key: "startScreenShare", value: (A2 = p(function* () {
+ var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ if (os(this._callMachineInitialized, "startScreenShare()"), t2.screenVideoSendSettings && this._validateVideoSendSettings("screenVideo", t2.screenVideoSendSettings), t2.mediaStream && (this._sharedTracks.screenMediaStream = t2.mediaStream, t2.mediaStream = fo), "undefined" != typeof DailyNativeUtils && void 0 !== DailyNativeUtils.isIOS && DailyNativeUtils.isIOS) {
+ var n2 = this.nativeUtils();
+ if (yield n2.isScreenBeingCaptured()) return void this.emitDailyJSEvent({ action: oo, type: "screen-share-error", errorMsg: "Could not start the screen sharing. The screen is already been captured!" });
+ n2.setSystemScreenCaptureStartCallback(function() {
+ n2.setSystemScreenCaptureStartCallback(null), e2.sendMessageToCallMachine({ action: uo, captureOptions: t2 });
+ }), n2.presentSystemScreenCapturePrompt();
+ } else this.sendMessageToCallMachine({ action: uo, captureOptions: t2 });
+ }), function() {
+ return A2.apply(this, arguments);
+ }) }, { key: "stopScreenShare", value: function() {
+ os(this._callMachineInitialized, "stopScreenShare()"), this.sendMessageToCallMachine({ action: "local-screen-stop" });
+ } }, { key: "startRecording", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ this.sendMessageToCallMachine(Ra({ action: "local-recording-start" }, e2));
+ } }, { key: "updateRecording", value: function(e2) {
+ var t2 = e2.layout, n2 = void 0 === t2 ? { preset: "default" } : t2, r3 = e2.instanceId;
+ this.sendMessageToCallMachine({ action: "daily-method-update-recording", layout: n2, instanceId: r3 });
+ } }, { key: "stopRecording", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ this.sendMessageToCallMachine(Ra({ action: "local-recording-stop" }, e2));
+ } }, { key: "startLiveStreaming", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ this.sendMessageToCallMachine(Ra({ action: "daily-method-start-live-streaming" }, e2));
+ } }, { key: "updateLiveStreaming", value: function(e2) {
+ var t2 = e2.layout, n2 = void 0 === t2 ? { preset: "default" } : t2, r3 = e2.instanceId;
+ this.sendMessageToCallMachine({ action: "daily-method-update-live-streaming", layout: n2, instanceId: r3 });
+ } }, { key: "addLiveStreamingEndpoints", value: function(e2) {
+ var t2 = e2.endpoints, n2 = e2.instanceId;
+ this.sendMessageToCallMachine({ action: ho, endpointsOp: bo, endpoints: t2, instanceId: n2 });
+ } }, { key: "removeLiveStreamingEndpoints", value: function(e2) {
+ var t2 = e2.endpoints, n2 = e2.instanceId;
+ this.sendMessageToCallMachine({ action: ho, endpointsOp: wo, endpoints: t2, instanceId: n2 });
+ } }, { key: "stopLiveStreaming", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ this.sendMessageToCallMachine(Ra({ action: "daily-method-stop-live-streaming" }, e2));
+ } }, { key: "validateDailyConfig", value: function(e2) {
+ e2.camSimulcastEncodings && (console.warn("camSimulcastEncodings is deprecated. Use sendSettings, found in DailyCallOptions, to provide camera simulcast settings."), this.validateSimulcastEncodings(e2.camSimulcastEncodings)), e2.screenSimulcastEncodings && console.warn("screenSimulcastEncodings is deprecated. Use sendSettings, found in DailyCallOptions, to provide screen simulcast settings."), jo() && e2.noAutoDefaultDeviceChange && console.warn("noAutoDefaultDeviceChange is not supported on Android, and will be ignored.");
+ } }, { key: "validateSimulcastEncodings", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
+ if (e2) {
+ if (!(e2 instanceof Array || Array.isArray(e2))) throw new Error("encodings must be an Array");
+ if (!ks(e2.length, 1, 3)) throw new Error("encodings must be an Array with between 1 to ".concat(3, " layers"));
+ for (var r3 = 0; r3 < e2.length; r3++) {
+ var i3 = e2[r3];
+ for (var o2 in this._validateEncodingLayerHasValidProperties(i3), i3) if (za.includes(o2)) {
+ if ("number" != typeof i3[o2]) throw new Error("".concat(o2, " must be a number"));
+ if (t2) {
+ var a2 = t2[o2], s3 = a2.min, c2 = a2.max;
+ if (!ks(i3[o2], s3, c2)) throw new Error("".concat(o2, " value not in range. valid range: ").concat(s3, " to ").concat(c2));
+ }
+ } else if (!["active", "scalabilityMode"].includes(o2)) throw new Error("Invalid key ".concat(o2, ", valid keys are:") + Object.values(za));
+ if (n2 && !i3.hasOwnProperty("maxBitrate")) throw new Error("maxBitrate is not specified");
+ }
+ }
+ } }, { key: "startRemoteMediaPlayer", value: (P2 = p(function* (e2) {
+ var t2 = this, n2 = e2.url, r3 = e2.settings, i3 = void 0 === r3 ? { state: mo.PLAY } : r3;
+ try {
+ !function(e3) {
+ if ("string" != typeof e3) throw new Error('url parameter must be "string" type');
+ }(n2), Ss(i3), function(e3) {
+ for (var t3 in e3) if (!Wa.includes(t3)) throw new Error("Invalid key ".concat(t3, ", valid keys are: ").concat(Wa));
+ e3.simulcastEncodings && this.validateSimulcastEncodings(e3.simulcastEncodings, Ya, true);
+ }(i3);
+ } catch (e3) {
+ throw console.error("invalid argument Error: ".concat(e3)), console.error('startRemoteMediaPlayer arguments must be of the form:\n { url: "playback url",\n settings?:\n {state: "play"|"pause", simulcastEncodings?: [{}] } }'), e3;
+ }
+ return new Promise(function(e3, r4) {
+ t2.sendMessageToCallMachine({ action: "daily-method-start-remote-media-player", url: n2, settings: i3 }, function(t3) {
+ t3.error ? r4({ error: t3.error, errorMsg: t3.errorMsg }) : e3({ session_id: t3.session_id, remoteMediaPlayerState: { state: t3.state, settings: t3.settings } });
+ });
+ });
+ }), function(e2) {
+ return P2.apply(this, arguments);
+ }) }, { key: "stopRemoteMediaPlayer", value: (O2 = p(function* (e2) {
+ var t2 = this;
+ if ("string" != typeof e2) throw new Error(" remotePlayerID must be of type string");
+ return new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "daily-method-stop-remote-media-player", session_id: e2 }, function(e3) {
+ e3.error ? r3({ error: e3.error, errorMsg: e3.errorMsg }) : n2();
+ });
+ });
+ }), function(e2) {
+ return O2.apply(this, arguments);
+ }) }, { key: "updateRemoteMediaPlayer", value: (T2 = p(function* (e2) {
+ var t2 = this, n2 = e2.session_id, r3 = e2.settings;
+ try {
+ Ss(r3);
+ } catch (e3) {
+ throw console.error("invalid argument Error: ".concat(e3)), console.error('updateRemoteMediaPlayer arguments must be of the form:\n session_id: "participant session",\n { settings?: {state: "play"|"pause"} }'), e3;
+ }
+ return new Promise(function(e3, i3) {
+ t2.sendMessageToCallMachine({ action: "daily-method-update-remote-media-player", session_id: n2, settings: r3 }, function(t3) {
+ t3.error ? i3({ error: t3.error, errorMsg: t3.errorMsg }) : e3({ session_id: t3.session_id, remoteMediaPlayerState: { state: t3.state, settings: t3.settings } });
+ });
+ });
+ }), function(e2) {
+ return T2.apply(this, arguments);
+ }) }, { key: "startTranscription", value: function(e2) {
+ ns(this._callState, "startTranscription()"), this.sendMessageToCallMachine(Ra({ action: "daily-method-start-transcription" }, e2));
+ } }, { key: "updateTranscription", value: function(e2) {
+ if (ns(this._callState, "updateTranscription()"), !e2) throw new Error("updateTranscription Error: options is mandatory");
+ if ("object" !== n(e2)) throw new Error("updateTranscription Error: options must be object type");
+ if (e2.participants && !Array.isArray(e2.participants)) throw new Error("updateTranscription Error: participants must be an array");
+ this.sendMessageToCallMachine(Ra({ action: "daily-method-update-transcription" }, e2));
+ } }, { key: "stopTranscription", value: function(e2) {
+ if (ns(this._callState, "stopTranscription()"), e2 && "object" !== n(e2)) throw new Error("stopTranscription Error: options must be object type");
+ if (e2 && !e2.instanceId) throw new Error('"instanceId" not provided');
+ this.sendMessageToCallMachine(Ra({ action: "daily-method-stop-transcription" }, e2));
+ } }, { key: "startDialOut", value: (M2 = p(function* (e2) {
+ var t2 = this;
+ ns(this._callState, "startDialOut()");
+ var n2 = function(e3) {
+ if (e3) {
+ if (!Array.isArray(e3)) throw new Error("Error starting dial out: audio codec must be an array");
+ if (e3.length <= 0) throw new Error("Error starting dial out: audio codec array specified but empty");
+ e3.forEach(function(e4) {
+ if ("string" != typeof e4) throw new Error("Error starting dial out: audio codec must be a string");
+ if ("OPUS" !== e4 && "PCMU" !== e4 && "PCMA" !== e4 && "G722" !== e4) throw new Error("Error starting dial out: audio codec must be one of OPUS, PCMU, PCMA, G722");
+ });
+ }
+ };
+ if (!e2.sipUri && !e2.phoneNumber) throw new Error("Error starting dial out: either a sip uri or phone number must be provided");
+ if (e2.sipUri && e2.phoneNumber) throw new Error("Error starting dial out: only one of sip uri or phone number must be provided");
+ if (e2.sipUri) {
+ if ("string" != typeof e2.sipUri) throw new Error("Error starting dial out: sipUri must be a string");
+ if (!e2.sipUri.startsWith("sip:")) throw new Error("Error starting dial out: Invalid SIP URI, must start with 'sip:'");
+ if (e2.video && "boolean" != typeof e2.video) throw new Error("Error starting dial out: video must be a boolean value");
+ !function(e3) {
+ if (e3 && (n2(e3.audio), e3.video)) {
+ if (!Array.isArray(e3.video)) throw new Error("Error starting dial out: video codec must be an array");
+ if (e3.video.length <= 0) throw new Error("Error starting dial out: video codec array specified but empty");
+ e3.video.forEach(function(e4) {
+ if ("string" != typeof e4) throw new Error("Error starting dial out: video codec must be a string");
+ if ("H264" !== e4 && "VP8" !== e4) throw new Error("Error starting dial out: video codec must be H264 or VP8");
+ });
+ }
+ }(e2.codecs);
+ }
+ if (e2.phoneNumber) {
+ if ("string" != typeof e2.phoneNumber) throw new Error("Error starting dial out: phoneNumber must be a string");
+ if (!/^\+\d{1,}$/.test(e2.phoneNumber)) throw new Error("Error starting dial out: Invalid phone number, must be valid phone number as per E.164");
+ e2.codecs && n2(e2.codecs.audio);
+ }
+ if (e2.callerId) {
+ if ("string" != typeof e2.callerId) throw new Error("Error starting dial out: callerId must be a string");
+ if (e2.sipUri) throw new Error("Error starting dial out: callerId not allowed with sipUri");
+ }
+ if (e2.displayName) {
+ if ("string" != typeof e2.displayName) throw new Error("Error starting dial out: displayName must be a string");
+ if (e2.displayName.length >= 200) throw new Error("Error starting dial out: displayName length must be less than 200");
+ }
+ if (e2.userId) {
+ if ("string" != typeof e2.userId) throw new Error("Error starting dial out: userId must be a string");
+ if (e2.userId.length > 36) throw new Error("Error starting dial out: userId length must be less than or equal to 36");
+ }
+ return new Promise(function(n3, r3) {
+ t2.sendMessageToCallMachine(Ra({ action: "dialout-start" }, e2), function(e3) {
+ e3.error ? r3(e3.error) : n3(e3);
+ });
+ });
+ }), function(e2) {
+ return M2.apply(this, arguments);
+ }) }, { key: "stopDialOut", value: function(e2) {
+ var t2 = this;
+ return ns(this._callState, "stopDialOut()"), new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine(Ra({ action: "dialout-stop" }, e2), function(e3) {
+ e3.error ? r3(e3.error) : n2(e3);
+ });
+ });
+ } }, { key: "sipCallTransfer", value: (C2 = p(function* (e2) {
+ var t2 = this;
+ if (ns(this._callState, "sipCallTransfer()"), !e2) throw new Error("sipCallTransfer() requires a sessionId and toEndPoint");
+ return e2.useSipRefer = false, ws(e2, "sipCallTransfer"), new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine(Ra({ action: So }, e2), function(e3) {
+ e3.error ? r3(e3.error) : n2(e3);
+ });
+ });
+ }), function(e2) {
+ return C2.apply(this, arguments);
+ }) }, { key: "sipRefer", value: (E2 = p(function* (e2) {
+ var t2 = this;
+ if (ns(this._callState, "sipRefer()"), !e2) throw new Error("sessionId and toEndPoint are mandatory parameter");
+ return e2.useSipRefer = true, ws(e2, "sipRefer"), new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine(Ra({ action: So }, e2), function(e3) {
+ e3.error ? r3(e3.error) : n2(e3);
+ });
+ });
+ }), function(e2) {
+ return E2.apply(this, arguments);
+ }) }, { key: "sendDTMF", value: (k2 = p(function* (e2) {
+ var t2 = this;
+ return ns(this._callState, "sendDTMF()"), function(e3) {
+ var t3 = e3.sessionId, n2 = e3.tones;
+ if (!t3 || !n2) throw new Error("sessionId and tones are mandatory parameter");
+ if ("string" != typeof t3 || "string" != typeof n2) throw new Error("sessionId and tones should be of string type");
+ if (n2.length > 20) throw new Error("tones string must be upto 20 characters");
+ var r3 = /[^0-9A-D*#]/g, i3 = n2.match(r3);
+ if (i3 && i3[0]) throw new Error("".concat(i3[0], " is not valid DTMF tone"));
+ }(e2), new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine(Ra({ action: "send-dtmf" }, e2), function(e3) {
+ e3.error ? r3(e3.error) : n2(e3);
+ });
+ });
+ }), function(e2) {
+ return k2.apply(this, arguments);
+ }) }, { key: "getNetworkStats", value: function() {
+ var e2 = this;
+ if (this._callState !== Er) {
+ return { stats: { latest: {} } };
+ }
+ return new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-calc-stats" }, function(n2) {
+ t2(Ra({ stats: n2.stats }, e2._network));
+ });
+ });
+ } }, { key: "testWebsocketConnectivity", value: (S2 = p(function* () {
+ var e2 = this;
+ if (as(this._testCallInProgress, "testWebsocketConnectivity()"), this.needsLoad()) try {
+ yield this.load();
+ } catch (e3) {
+ return Promise.reject(e3);
+ }
+ return new Promise(function(t2, n2) {
+ e2.sendMessageToCallMachine({ action: "test-websocket-connectivity" }, function(e3) {
+ e3.error ? n2(e3.error) : t2(e3.results);
+ });
+ });
+ }), function() {
+ return S2.apply(this, arguments);
+ }) }, { key: "abortTestWebsocketConnectivity", value: function() {
+ this.sendMessageToCallMachine({ action: "abort-test-websocket-connectivity" });
+ } }, { key: "_validateVideoTrackForNetworkTests", value: function(e2) {
+ return e2 ? e2 instanceof MediaStreamTrack ? !!xa(e2, { isLocalScreenVideo: false }) || (console.error("Video track is not playable. This test needs a live video track."), false) : (console.error("Video track needs to be of type `MediaStreamTrack`."), false) : (console.error("Missing video track. You must provide a video track in order to run this test."), false);
+ } }, { key: "testCallQuality", value: (w2 = p(function* () {
+ var t2 = this;
+ ls(), ss(this._callObjectMode, "testCallQuality()"), os(this._callMachineInitialized, "testCallQuality()", null, true), is(this._callState, this._isPreparingToJoin, "testCallQuality()");
+ var n2 = this._testCallAlreadyInProgress, r3 = function(e2) {
+ n2 || (t2._testCallInProgress = e2);
+ };
+ if (r3(true), this.needsLoad()) try {
+ var i3 = this._callState;
+ yield this.load(), this._callState = i3;
+ } catch (e2) {
+ return r3(false), Promise.reject(e2);
+ }
+ return new Promise(function(n3) {
+ t2.sendMessageToCallMachine({ action: "test-call-quality", dailyJsVersion: t2.properties.dailyJsVersion }, function(i4) {
+ var o2 = i4.results, a2 = o2.result, s3 = e(o2, La);
+ if ("failed" === a2) {
+ var c2, l3 = Ra({}, s3);
+ null !== (c2 = s3.error) && void 0 !== c2 && c2.details ? (s3.error.details = JSON.parse(s3.error.details), l3.error = Ra(Ra({}, l3.error), {}, { details: Ra({}, l3.error.details) }), l3.error.details.duringTest = "testCallQuality") : (l3.error = l3.error ? Ra({}, l3.error) : {}, l3.error.details = { duringTest: "testCallQuality" }), t2._maybeSendToSentry(l3);
+ }
+ r3(false), n3(Ra({ result: a2 }, s3));
+ });
+ });
+ }), function() {
+ return w2.apply(this, arguments);
+ }) }, { key: "stopTestCallQuality", value: function() {
+ this.sendMessageToCallMachine({ action: "stop-test-call-quality" });
+ } }, { key: "testConnectionQuality", value: (b2 = p(function* (e2) {
+ var t2;
+ Eo() ? (console.warn("testConnectionQuality() is deprecated: use testPeerToPeerCallQuality() instead"), t2 = yield this.testPeerToPeerCallQuality(e2)) : (console.warn("testConnectionQuality() is deprecated: use testCallQuality() instead"), t2 = yield this.testCallQuality());
+ var n2 = { result: t2.result, secondsElapsed: t2.secondsElapsed };
+ return t2.data && (n2.data = { maxRTT: t2.data.maxRoundTripTime, packetLoss: t2.data.avgRecvPacketLoss }), n2;
+ }), function(e2) {
+ return b2.apply(this, arguments);
+ }) }, { key: "testPeerToPeerCallQuality", value: (_2 = p(function* (e2) {
+ var t2 = this;
+ if (as(this._testCallInProgress, "testPeerToPeerCallQuality()"), this.needsLoad()) try {
+ yield this.load();
+ } catch (e3) {
+ return Promise.reject(e3);
+ }
+ var n2 = e2.videoTrack, r3 = e2.duration;
+ if (!this._validateVideoTrackForNetworkTests(n2)) throw new Error("Video track error");
+ return this._sharedTracks.videoTrackForConnectionQualityTest = n2, new Promise(function(e3, n3) {
+ t2.sendMessageToCallMachine({ action: "test-p2p-call-quality", duration: r3 }, function(t3) {
+ t3.error ? n3(t3.error) : e3(t3.results);
+ });
+ });
+ }), function(e2) {
+ return _2.apply(this, arguments);
+ }) }, { key: "stopTestConnectionQuality", value: function() {
+ Eo() ? (console.warn("stopTestConnectionQuality() is deprecated: use testPeerToPeerCallQuality() and stopTestPeerToPeerCallQuality() instead"), this.stopTestPeerToPeerCallQuality()) : (console.warn("stopTestConnectionQuality() is deprecated: use testCallQuality() and stopTestCallQuality() instead"), this.stopTestCallQuality());
+ } }, { key: "stopTestPeerToPeerCallQuality", value: function() {
+ this.sendMessageToCallMachine({ action: "stop-test-p2p-call-quality" });
+ } }, { key: "testNetworkConnectivity", value: (y2 = p(function* (e2) {
+ var t2 = this;
+ if (as(this._testCallInProgress, "testNetworkConnectivity()"), this.needsLoad()) try {
+ yield this.load();
+ } catch (e3) {
+ return Promise.reject(e3);
+ }
+ if (!this._validateVideoTrackForNetworkTests(e2)) throw new Error("Video track error");
+ return this._sharedTracks.videoTrackForNetworkConnectivityTest = e2, new Promise(function(e3, n2) {
+ t2.sendMessageToCallMachine({ action: "test-network-connectivity" }, function(t3) {
+ t3.error ? n2(t3.error) : e3(t3.results);
+ });
+ });
+ }), function(e2) {
+ return y2.apply(this, arguments);
+ }) }, { key: "abortTestNetworkConnectivity", value: function() {
+ this.sendMessageToCallMachine({ action: "abort-test-network-connectivity" });
+ } }, { key: "getCpuLoadStats", value: function() {
+ var e2 = this;
+ return new Promise(function(t2) {
+ if (e2._callState === Er) {
+ e2.sendMessageToCallMachine({ action: "get-cpu-load-stats" }, function(e3) {
+ t2(e3.cpuStats);
+ });
+ } else t2({ cpuLoadState: void 0, cpuLoadStateReason: void 0, stats: {} });
+ });
+ } }, { key: "_validateEncodingLayerHasValidProperties", value: function(e2) {
+ var t2;
+ if (!((null === (t2 = Object.keys(e2)) || void 0 === t2 ? void 0 : t2.length) > 0)) throw new Error("Empty encoding is not allowed. At least one of these valid keys should be specified:" + Object.values(za));
+ } }, { key: "_validateVideoSendSettings", value: function(e2, t2) {
+ var r3 = "screenVideo" === e2 ? ["default-screen-video", "detail-optimized", "motion-optimized", "motion-and-detail-balanced"] : ["default-video", "bandwidth-optimized", "bandwidth-and-quality-balanced", "quality-optimized", "adaptive-2-layers", "adaptive-3-layers"], i3 = "Video send settings should be either an object or one of the supported presets: ".concat(r3.join());
+ if ("string" == typeof t2) {
+ if (!r3.includes(t2)) throw new Error(i3);
+ } else {
+ if ("object" !== n(t2)) throw new Error(i3);
+ if (!t2.maxQuality && !t2.encodings && void 0 === t2.allowAdaptiveLayers) throw new Error("Video send settings must contain at least maxQuality, allowAdaptiveLayers or encodings attribute");
+ if (t2.maxQuality && -1 === ["low", "medium", "high"].indexOf(t2.maxQuality)) throw new Error("maxQuality must be either low, medium or high");
+ if (t2.encodings) {
+ var o2 = false;
+ switch (Object.keys(t2.encodings).length) {
+ case 1:
+ o2 = !t2.encodings.low;
+ break;
+ case 2:
+ o2 = !t2.encodings.low || !t2.encodings.medium;
+ break;
+ case 3:
+ o2 = !t2.encodings.low || !t2.encodings.medium || !t2.encodings.high;
+ break;
+ default:
+ o2 = true;
+ }
+ if (o2) throw new Error("Encodings must be defined as: low, low and medium, or low, medium and high.");
+ t2.encodings.low && this._validateEncodingLayerHasValidProperties(t2.encodings.low), t2.encodings.medium && this._validateEncodingLayerHasValidProperties(t2.encodings.medium), t2.encodings.high && this._validateEncodingLayerHasValidProperties(t2.encodings.high);
+ }
+ }
+ } }, { key: "validateUpdateSendSettings", value: function(e2) {
+ var t2 = this;
+ if (!e2 || 0 === Object.keys(e2).length) throw new Error("Send settings must contain at least information for one track!");
+ Object.entries(e2).forEach(function(e3) {
+ var n2 = g(e3, 2), r3 = n2[0], i3 = n2[1];
+ t2._validateVideoSendSettings(r3, i3);
+ });
+ } }, { key: "updateSendSettings", value: function(e2) {
+ var t2 = this;
+ return this.validateUpdateSendSettings(e2), this.needsLoad() ? (this._preloadCache.sendSettings = e2, { sendSettings: this._preloadCache.sendSettings }) : new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "update-send-settings", sendSettings: e2 }, function(e3) {
+ e3.error ? r3(e3.error) : n2(e3.sendSettings);
+ });
+ });
+ } }, { key: "getSendSettings", value: function() {
+ return this._sendSettings || this._preloadCache.sendSettings;
+ } }, { key: "getLocalAudioLevel", value: function() {
+ return this._localAudioLevel;
+ } }, { key: "getRemoteParticipantsAudioLevel", value: function() {
+ return this._remoteParticipantsAudioLevel;
+ } }, { key: "getActiveSpeaker", value: function() {
+ return ls(), this._activeSpeaker;
+ } }, { key: "setActiveSpeakerMode", value: function(e2) {
+ return ls(), this.sendMessageToCallMachine({ action: "set-active-speaker-mode", enabled: e2 }), this;
+ } }, { key: "activeSpeakerMode", value: function() {
+ return ls(), this._activeSpeakerMode;
+ } }, { key: "subscribeToTracksAutomatically", value: function() {
+ return this._preloadCache.subscribeToTracksAutomatically;
+ } }, { key: "setSubscribeToTracksAutomatically", value: function(e2) {
+ return ns(this._callState, "setSubscribeToTracksAutomatically()", "Use the subscribeToTracksAutomatically configuration property."), this._preloadCache.subscribeToTracksAutomatically = e2, this.sendMessageToCallMachine({ action: "daily-method-subscribe-to-tracks-automatically", enabled: e2 }), this;
+ } }, { key: "enumerateDevices", value: (v2 = p(function* () {
+ var e2 = this;
+ if (this._callObjectMode) {
+ var t2 = yield navigator.mediaDevices.enumerateDevices();
+ return "Firefox" === Lo() && Io().major > 115 && Io().major < 123 && (t2 = t2.filter(function(e3) {
+ return "audiooutput" !== e3.kind;
+ })), { devices: t2.map(function(e3) {
+ var t3 = JSON.parse(JSON.stringify(e3));
+ if (!Eo() && "videoinput" === e3.kind && e3.getCapabilities) {
+ var n2, r3 = e3.getCapabilities();
+ t3.facing = (null == r3 || null === (n2 = r3.facingMode) || void 0 === n2 ? void 0 : n2.length) >= 1 ? r3.facingMode[0] : void 0;
+ }
+ return t3;
+ }) };
+ }
+ return new Promise(function(t3) {
+ e2.sendMessageToCallMachine({ action: "enumerate-devices" }, function(e3) {
+ t3({ devices: e3.devices });
+ });
+ });
+ }), function() {
+ return v2.apply(this, arguments);
+ }) }, { key: "sendAppMessage", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "*";
+ if (ns(this._callState, "sendAppMessage()"), JSON.stringify(e2).length > this._maxAppMessageSize) throw new Error("Message data too large. Max size is " + this._maxAppMessageSize);
+ return this.sendMessageToCallMachine({ action: "app-msg", data: e2, to: t2 }), this;
+ } }, { key: "addFakeParticipant", value: function(e2) {
+ return ls(), ns(this._callState, "addFakeParticipant()"), this.sendMessageToCallMachine(Ra({ action: "add-fake-participant" }, e2)), this;
+ } }, { key: "setShowNamesMode", value: function(e2) {
+ return cs(this._callObjectMode, "setShowNamesMode()"), ls(), e2 && "always" !== e2 && "never" !== e2 ? (console.error('setShowNamesMode argument should be "always", "never", or false'), this) : (this.sendMessageToCallMachine({ action: "set-show-names", mode: e2 }), this);
+ } }, { key: "setShowLocalVideo", value: function() {
+ var e2 = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
+ return cs(this._callObjectMode, "setShowLocalVideo()"), ls(), ns(this._callState, "setShowLocalVideo()"), "boolean" != typeof e2 ? (console.error("setShowLocalVideo only accepts a boolean value"), this) : (this.sendMessageToCallMachine({ action: "set-show-local-video", show: e2 }), this._showLocalVideo = e2, this);
+ } }, { key: "showLocalVideo", value: function() {
+ return cs(this._callObjectMode, "showLocalVideo()"), ls(), this._showLocalVideo;
+ } }, { key: "setShowParticipantsBar", value: function() {
+ var e2 = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
+ return cs(this._callObjectMode, "setShowParticipantsBar()"), ls(), ns(this._callState, "setShowParticipantsBar()"), "boolean" != typeof e2 ? (console.error("setShowParticipantsBar only accepts a boolean value"), this) : (this.sendMessageToCallMachine({ action: "set-show-participants-bar", show: e2 }), this._showParticipantsBar = e2, this);
+ } }, { key: "showParticipantsBar", value: function() {
+ return cs(this._callObjectMode, "showParticipantsBar()"), ls(), this._showParticipantsBar;
+ } }, { key: "customIntegrations", value: function() {
+ return ls(), cs(this._callObjectMode, "customIntegrations()"), this._customIntegrations;
+ } }, { key: "setCustomIntegrations", value: function(e2) {
+ return ls(), cs(this._callObjectMode, "setCustomIntegrations()"), ns(this._callState, "setCustomIntegrations()"), _s(e2) ? (this.sendMessageToCallMachine({ action: "set-custom-integrations", integrations: e2 }), this._customIntegrations = e2, this) : this;
+ } }, { key: "startCustomIntegrations", value: function(e2) {
+ var t2 = this;
+ if (ls(), cs(this._callObjectMode, "startCustomIntegrations()"), ns(this._callState, "startCustomIntegrations()"), Array.isArray(e2) && e2.some(function(e3) {
+ return "string" != typeof e3;
+ }) || !Array.isArray(e2) && "string" != typeof e2) return console.error("startCustomIntegrations() only accepts string | string[]"), this;
+ var n2 = "string" == typeof e2 ? [e2] : e2, r3 = n2.filter(function(e3) {
+ return !(e3 in t2._customIntegrations);
+ });
+ return r3.length ? (console.error(`Can't find custom integration(s): "`.concat(r3.join(", "), '"')), this) : (this.sendMessageToCallMachine({ action: "start-custom-integrations", ids: n2 }), this);
+ } }, { key: "stopCustomIntegrations", value: function(e2) {
+ var t2 = this;
+ if (ls(), cs(this._callObjectMode, "stopCustomIntegrations()"), ns(this._callState, "stopCustomIntegrations()"), Array.isArray(e2) && e2.some(function(e3) {
+ return "string" != typeof e3;
+ }) || !Array.isArray(e2) && "string" != typeof e2) return console.error("stopCustomIntegrations() only accepts string | string[]"), this;
+ var n2 = "string" == typeof e2 ? [e2] : e2, r3 = n2.filter(function(e3) {
+ return !(e3 in t2._customIntegrations);
+ });
+ return r3.length ? (console.error(`Can't find custom integration(s): "`.concat(r3.join(", "), '"')), this) : (this.sendMessageToCallMachine({ action: "stop-custom-integrations", ids: n2 }), this);
+ } }, { key: "customTrayButtons", value: function() {
+ return cs(this._callObjectMode, "customTrayButtons()"), ls(), this._customTrayButtons;
+ } }, { key: "updateCustomTrayButtons", value: function(e2) {
+ return cs(this._callObjectMode, "updateCustomTrayButtons()"), ls(), ns(this._callState, "updateCustomTrayButtons()"), ys(e2) ? (this.sendMessageToCallMachine({ action: "update-custom-tray-buttons", btns: e2 }), this._customTrayButtons = e2, this) : (console.error("updateCustomTrayButtons only accepts a dictionary of the type ".concat(JSON.stringify(Qa))), this);
+ } }, { key: "theme", value: function() {
+ return cs(this._callObjectMode, "theme()"), this.properties.theme;
+ } }, { key: "setTheme", value: function(e2) {
+ var t2 = this;
+ return cs(this._callObjectMode, "setTheme()"), new Promise(function(n2, r3) {
+ try {
+ t2.validateProperties({ theme: e2 }), t2.properties.theme = Ra({}, e2), t2.sendMessageToCallMachine({ action: "set-theme", theme: t2.properties.theme });
+ try {
+ t2.emitDailyJSEvent({ action: oi, theme: t2.properties.theme });
+ } catch (e3) {
+ console.log("could not emit 'theme-updated'", e3);
+ }
+ n2(t2.properties.theme);
+ } catch (e3) {
+ r3(e3);
+ }
+ });
+ } }, { key: "requestFullscreen", value: (f2 = p(function* () {
+ if (ls(), this._iframe && !document.fullscreenElement && To()) try {
+ (yield this._iframe.requestFullscreen) ? this._iframe.requestFullscreen() : this._iframe.webkitRequestFullscreen();
+ } catch (e2) {
+ console.log("could not make video call fullscreen", e2);
+ }
+ }), function() {
+ return f2.apply(this, arguments);
+ }) }, { key: "exitFullscreen", value: function() {
+ ls(), document.fullscreenElement ? document.exitFullscreen() : document.webkitFullscreenElement && document.webkitExitFullscreen();
+ } }, { key: "getSidebarView", value: (h2 = p(function* () {
+ var e2 = this;
+ return this._callObjectMode ? (console.error("getSidebarView is not available in callObject mode"), Promise.resolve(null)) : new Promise(function(t2) {
+ e2.sendMessageToCallMachine({ action: "get-sidebar-view" }, function(e3) {
+ t2(e3.view);
+ });
+ });
+ }), function() {
+ return h2.apply(this, arguments);
+ }) }, { key: "setSidebarView", value: function(e2) {
+ return this._callObjectMode ? (console.error("setSidebarView is not available in callObject mode"), this) : (this.sendMessageToCallMachine({ action: "set-sidebar-view", view: e2 }), this);
+ } }, { key: "room", value: (u2 = p(function* () {
+ var e2 = this, t2 = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).includeRoomConfigDefaults, n2 = void 0 === t2 || t2;
+ return this._accessState.access === xr || this.needsLoad() ? this.properties.url ? { roomUrlPendingJoin: this.properties.url } : null : new Promise(function(t3) {
+ e2.sendMessageToCallMachine({ action: "lib-room-info", includeRoomConfigDefaults: n2 }, function(e3) {
+ delete e3.action, delete e3.callbackStamp, t3(e3);
+ });
+ });
+ }), function() {
+ return u2.apply(this, arguments);
+ }) }, { key: "geo", value: (l2 = p(function* () {
+ try {
+ var e2 = yield fetch("https://gs.daily.co/_ks_/x-swsl/:");
+ return { current: (yield e2.json()).geo };
+ } catch (e3) {
+ return console.error("geo lookup failed", e3), { current: "" };
+ }
+ }), function() {
+ return l2.apply(this, arguments);
+ }) }, { key: "setNetworkTopology", value: (s2 = p(function* (e2) {
+ var t2 = this;
+ return ls(), ns(this._callState, "setNetworkTopology()"), new Promise(function(n2, r3) {
+ t2.sendMessageToCallMachine({ action: "set-network-topology", opts: e2 }, function(e3) {
+ e3.error ? r3({ error: e3.error }) : n2({ workerId: e3.workerId });
+ });
+ });
+ }), function(e2) {
+ return s2.apply(this, arguments);
+ }) }, { key: "getNetworkTopology", value: (i2 = p(function* () {
+ var e2 = this;
+ return new Promise(function(t2, n2) {
+ e2.needsLoad() && t2({ topology: "none" }), e2.sendMessageToCallMachine({ action: "get-network-topology" }, function(e3) {
+ e3.error ? n2({ error: e3.error }) : t2({ topology: e3.topology });
+ });
+ });
+ }), function() {
+ return i2.apply(this, arguments);
+ }) }, { key: "setPlayNewParticipantSound", value: function(e2) {
+ if (ls(), "number" != typeof e2 && true !== e2 && false !== e2) throw new Error("argument to setShouldPlayNewParticipantSound should be true, false, or a number, but is ".concat(e2));
+ this.sendMessageToCallMachine({ action: "daily-method-set-play-ding", arg: e2 });
+ } }, { key: "on", value: function(e2, t2) {
+ return m.prototype.on.call(this, e2, t2);
+ } }, { key: "once", value: function(e2, t2) {
+ return m.prototype.once.call(this, e2, t2);
+ } }, { key: "off", value: function(e2, t2) {
+ return m.prototype.off.call(this, e2, t2);
+ } }, { key: "validateProperties", value: function(e2) {
+ for (var t2 in e2) {
+ if (!Xa[t2]) throw new Error("unrecognized property '".concat(t2, "'"));
+ if (Xa[t2].validate && !Xa[t2].validate(e2[t2], this)) throw new Error("property '".concat(t2, "': ").concat(Xa[t2].help));
+ }
+ } }, { key: "assembleMeetingUrl", value: function() {
+ var e2, t2, n2 = Ra(Ra({}, this.properties), {}, { emb: this.callClientId, embHref: encodeURIComponent(window.location.href), proxy: null !== (e2 = this.properties.dailyConfig) && void 0 !== e2 && e2.proxyUrl ? encodeURIComponent(null === (t2 = this.properties.dailyConfig) || void 0 === t2 ? void 0 : t2.proxyUrl) : void 0 }), r3 = n2.url.match(/\?/) ? "&" : "?";
+ return n2.url + r3 + Object.keys(Xa).filter(function(e3) {
+ return Xa[e3].queryString && void 0 !== n2[e3];
+ }).map(function(e3) {
+ return "".concat(Xa[e3].queryString, "=").concat(n2[e3]);
+ }).join("&");
+ } }, { key: "needsLoad", value: function() {
+ return [br, wr, Cr, Mr].includes(this._callState);
+ } }, { key: "sendMessageToCallMachine", value: function(e2, t2) {
+ if (this._destroyed && (this._logUseAfterDestroy(), this.strictMode)) throw new Error("Use after destroy");
+ this._messageChannel.sendMessageToCallMachine(e2, t2, this.callClientId, this._iframe);
+ } }, { key: "forwardPackagedMessageToCallMachine", value: function(e2) {
+ this._messageChannel.forwardPackagedMessageToCallMachine(e2, this._iframe, this.callClientId);
+ } }, { key: "addListenerForPackagedMessagesFromCallMachine", value: function(e2) {
+ return this._messageChannel.addListenerForPackagedMessagesFromCallMachine(e2, this.callClientId);
+ } }, { key: "removeListenerForPackagedMessagesFromCallMachine", value: function(e2) {
+ this._messageChannel.removeListenerForPackagedMessagesFromCallMachine(e2);
+ } }, { key: "handleMessageFromCallMachine", value: function(t2) {
+ switch (t2.action) {
+ case ri:
+ this.sendMessageToCallMachine(Ra({ action: ii }, this.properties));
+ break;
+ case "call-machine-initialized":
+ this._callMachineInitialized = true;
+ var n2 = { action: po, level: "log", code: 1011, stats: { event: "bundle load", time: "no-op" === this._bundleLoadTime ? 0 : this._bundleLoadTime, preLoaded: "no-op" === this._bundleLoadTime, url: X(this.properties.dailyConfig) } };
+ this.sendMessageToCallMachine(n2), this._delayDuplicateInstanceLog && this._logDuplicateInstanceAttempt();
+ break;
+ case ci:
+ this._loadedCallback && (this._loadedCallback(), this._loadedCallback = null), this.emitDailyJSEvent(t2);
+ break;
+ case hi:
+ var r3, i3 = Ra({}, t2);
+ delete i3.internal, this._maxAppMessageSize = (null === (r3 = t2.internal) || void 0 === r3 ? void 0 : r3._maxAppMessageSize) || so, this._joinedCallback && (this._joinedCallback(t2.participants), this._joinedCallback = null), this.emitDailyJSEvent(i3);
+ break;
+ case fi:
+ case gi:
+ if (this._callState === Cr) return;
+ if (t2.participant && t2.participant.session_id) {
+ var o2 = t2.participant.local ? "local" : t2.participant.session_id;
+ if (this._callObjectMode) {
+ var a2 = this._callMachine().store;
+ va(t2.participant, a2), ma(t2.participant, a2), _a(t2.participant, this._participants[o2], a2);
+ }
+ try {
+ this.maybeParticipantTracksStopped(this._participants[o2], t2.participant), this.maybeParticipantTracksStarted(this._participants[o2], t2.participant), this.maybeEventRecordingStopped(this._participants[o2], t2.participant), this.maybeEventRecordingStarted(this._participants[o2], t2.participant);
+ } catch (e2) {
+ console.error("track events error", e2);
+ }
+ this.compareEqualForParticipantUpdateEvent(t2.participant, this._participants[o2]) || (this._participants[o2] = Ra({}, t2.participant), this.toggleParticipantAudioBasedOnNativeAudioFocus(), this.emitDailyJSEvent(t2));
+ }
+ break;
+ case vi:
+ if (t2.participant && t2.participant.session_id) {
+ var s3 = this._participants[t2.participant.session_id];
+ s3 && this.maybeParticipantTracksStopped(s3, null), delete this._participants[t2.participant.session_id], this.emitDailyJSEvent(t2);
+ }
+ break;
+ case mi:
+ I(this._participantCounts, t2.participantCounts) || (this._participantCounts = t2.participantCounts, this.emitDailyJSEvent(t2));
+ break;
+ case yi:
+ var c2 = { access: t2.access };
+ t2.awaitingAccess && (c2.awaitingAccess = t2.awaitingAccess), I(this._accessState, c2) || (this._accessState = c2, this.emitDailyJSEvent(t2));
+ break;
+ case _i:
+ if (t2.meetingSession) {
+ this._meetingSessionSummary = t2.meetingSession, this.emitDailyJSEvent(t2);
+ var l3 = Ra(Ra({}, t2), {}, { action: "meeting-session-updated" });
+ this.emitDailyJSEvent(l3);
+ }
+ break;
+ case ao:
+ var u3;
+ this._iframe && !t2.preserveIframe && (this._iframe.src = ""), this._updateCallState(Mr), this.resetMeetingDependentVars(), this._loadedCallback && (this._loadedCallback(t2.errorMsg), this._loadedCallback = null), t2.preserveIframe;
+ var d2 = e(t2, Ia);
+ null != d2 && null !== (u3 = d2.error) && void 0 !== u3 && u3.details && (d2.error.details = JSON.parse(d2.error.details)), this._maybeSendToSentry(t2), this._joinedCallback && (this._joinedCallback(null, d2), this._joinedCallback = null), this.emitDailyJSEvent(d2);
+ break;
+ case pi:
+ this._callState !== Mr && this._updateCallState(Cr), this.resetMeetingDependentVars(), this._resolveLeave && (this._resolveLeave(), this._resolveLeave = null), this.emitDailyJSEvent(t2);
+ break;
+ case "selected-devices-updated":
+ t2.devices && this.emitDailyJSEvent(t2);
+ break;
+ case Yi:
+ var h3 = t2.threshold, p2 = t2.quality;
+ h3 === this._network.threshold && p2 === this._network.quality || (this._network.quality = p2, this._network.threshold = h3, this.emitDailyJSEvent(t2));
+ break;
+ case Wi:
+ t2 && t2.cpuLoadState && this.emitDailyJSEvent(t2);
+ break;
+ case Hi:
+ t2 && void 0 !== t2.faceCounts && this.emitDailyJSEvent(t2);
+ break;
+ case Gi:
+ var f3 = t2.activeSpeaker;
+ this._activeSpeaker.peerId !== f3.peerId && (this._activeSpeaker.peerId = f3.peerId, this.emitDailyJSEvent({ action: t2.action, activeSpeaker: this._activeSpeaker }));
+ break;
+ case "show-local-video-changed":
+ if (this._callObjectMode) return;
+ var g2 = t2.show;
+ this._showLocalVideo = g2, this.emitDailyJSEvent({ action: t2.action, show: g2 });
+ break;
+ case qi:
+ var v3 = t2.enabled;
+ this._activeSpeakerMode !== v3 && (this._activeSpeakerMode = v3, this.emitDailyJSEvent({ action: t2.action, enabled: this._activeSpeakerMode }));
+ break;
+ case Si:
+ case ki:
+ case Ei:
+ this._waitingParticipants = t2.allWaitingParticipants, this.emitDailyJSEvent({ action: t2.action, participant: t2.participant });
+ break;
+ case ro:
+ I(this._receiveSettings, t2.receiveSettings) || (this._receiveSettings = t2.receiveSettings, this.emitDailyJSEvent({ action: t2.action, receiveSettings: t2.receiveSettings }));
+ break;
+ case io:
+ if (!I(this._inputSettings, t2.inputSettings)) {
+ var m2 = this._getInputSettings();
+ this._inputSettings = t2.inputSettings, this._preloadCache.inputSettings = {}, I(m2, this._getInputSettings()) || this.emitDailyJSEvent({ action: t2.action, inputSettings: this._getInputSettings() });
+ }
+ break;
+ case "send-settings-updated":
+ I(this._sendSettings, t2.sendSettings) || (this._sendSettings = t2.sendSettings, this._preloadCache.sendSettings = null, this.emitDailyJSEvent({ action: t2.action, sendSettings: t2.sendSettings }));
+ break;
+ case "local-audio-level":
+ this._localAudioLevel = t2.audioLevel, this._preloadCache.localAudioLevelObserver = null, this.emitDailyJSEvent(t2);
+ break;
+ case "remote-participants-audio-level":
+ this._remoteParticipantsAudioLevel = t2.participantsAudioLevel, this._preloadCache.remoteParticipantsAudioLevelObserver = null, this.emitDailyJSEvent(t2);
+ break;
+ case Bi:
+ var y3 = t2.session_id;
+ this._rmpPlayerState[y3] = t2.playerState, this.emitDailyJSEvent(t2);
+ break;
+ case Ui:
+ delete this._rmpPlayerState[t2.session_id], this.emitDailyJSEvent(t2);
+ break;
+ case Fi:
+ var _3 = t2.session_id, b3 = this._rmpPlayerState[_3];
+ b3 && this.compareEqualForRMPUpdateEvent(b3, t2.remoteMediaPlayerState) || (this._rmpPlayerState[_3] = t2.remoteMediaPlayerState, this.emitDailyJSEvent(t2));
+ break;
+ case "custom-button-click":
+ case "sidebar-view-changed":
+ this.emitDailyJSEvent(t2);
+ break;
+ case bi:
+ var w3 = this._meetingSessionState.topology !== (t2.meetingSessionState && t2.meetingSessionState.topology);
+ this._meetingSessionState = Es(t2.meetingSessionState, this._callObjectMode), (this._callObjectMode || w3) && this.emitDailyJSEvent(t2);
+ break;
+ case Vi:
+ this._isScreenSharing = true, this.emitDailyJSEvent(t2);
+ break;
+ case Ji:
+ case $i:
+ this._isScreenSharing = false, this.emitDailyJSEvent(t2);
+ break;
+ case Ai:
+ case Di:
+ case ji:
+ case xi:
+ case Li:
+ case Ti:
+ case Oi:
+ case Pi:
+ case li:
+ case ui:
+ case Ni:
+ case Ri:
+ case "test-completed":
+ case zi:
+ case Ii:
+ case Xi:
+ case Zi:
+ case eo:
+ case to:
+ case oo:
+ case no:
+ case "dialin-ready":
+ case "dialin-connected":
+ case "dialin-error":
+ case "dialin-stopped":
+ case "dialin-warning":
+ case "dialout-connected":
+ case "dialout-answered":
+ case "dialout-error":
+ case "dialout-stopped":
+ case "dialout-warning":
+ this.emitDailyJSEvent(t2);
+ break;
+ case "request-fullscreen":
+ this.requestFullscreen();
+ break;
+ case "request-exit-fullscreen":
+ this.exitFullscreen();
+ }
+ } }, { key: "maybeEventRecordingStopped", value: function(e2, t2) {
+ var n2 = "record";
+ e2 && (t2.local || false !== t2[n2] || e2[n2] === t2[n2] || this.emitDailyJSEvent({ action: Di }));
+ } }, { key: "maybeEventRecordingStarted", value: function(e2, t2) {
+ var n2 = "record";
+ e2 && (t2.local || true !== t2[n2] || e2[n2] === t2[n2] || this.emitDailyJSEvent({ action: Ai }));
+ } }, { key: "maybeEventTrackStopped", value: function(e2, t2, n2, r3) {
+ e2 && ("ended" !== e2.readyState && t2 && e2.id === t2.id || this.emitDailyJSEvent({ action: Mi, track: e2, participant: n2, type: r3 }));
+ } }, { key: "maybeEventTrackStarted", value: function(e2, t2, n2, r3) {
+ t2 && (e2 && "ended" !== e2.readyState && t2.id === e2.id || this.emitDailyJSEvent({ action: Ci, track: t2, participant: n2, type: r3 }));
+ } }, { key: "maybeParticipantTracksStopped", value: function(e2, t2) {
+ if (e2) for (var n2 in e2.tracks) this.maybeEventTrackStopped(e2.tracks[n2].track, t2 && t2.tracks[n2] ? t2.tracks[n2].track : null, t2, n2);
+ } }, { key: "maybeParticipantTracksStarted", value: function(e2, t2) {
+ if (t2) for (var n2 in t2.tracks) this.maybeEventTrackStarted(e2 && e2.tracks[n2] ? e2.tracks[n2].track : null, t2.tracks[n2].track, t2, n2);
+ } }, { key: "compareEqualForRMPUpdateEvent", value: function(e2, t2) {
+ var n2, r3;
+ return e2.state === t2.state && (null === (n2 = e2.settings) || void 0 === n2 ? void 0 : n2.volume) === (null === (r3 = t2.settings) || void 0 === r3 ? void 0 : r3.volume);
+ } }, { key: "emitDailyJSEvent", value: function(e2) {
+ try {
+ e2.callClientId = this.callClientId, this.emit(e2.action, e2);
+ } catch (t2) {
+ console.log("could not emit", e2, t2);
+ }
+ } }, { key: "compareEqualForParticipantUpdateEvent", value: function(e2, t2) {
+ return !!I(e2, t2) && ((!e2.videoTrack || !t2.videoTrack || e2.videoTrack.id === t2.videoTrack.id && e2.videoTrack.muted === t2.videoTrack.muted && e2.videoTrack.enabled === t2.videoTrack.enabled) && (!e2.audioTrack || !t2.audioTrack || e2.audioTrack.id === t2.audioTrack.id && e2.audioTrack.muted === t2.audioTrack.muted && e2.audioTrack.enabled === t2.audioTrack.enabled));
+ } }, { key: "nativeUtils", value: function() {
+ return Eo() ? "undefined" == typeof DailyNativeUtils ? (console.warn("in React Native, DailyNativeUtils is expected to be available"), null) : DailyNativeUtils : null;
+ } }, { key: "updateIsPreparingToJoin", value: function(e2) {
+ this._updateCallState(this._callState, e2);
+ } }, { key: "_updateCallState", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this._isPreparingToJoin;
+ if (e2 !== this._callState || t2 !== this._isPreparingToJoin) {
+ var n2 = this._callState, r3 = this._isPreparingToJoin;
+ this._callState = e2, this._isPreparingToJoin = t2;
+ var i3 = rs(n2, r3), o2 = rs(this._callState, this._isPreparingToJoin);
+ i3 !== o2 && (this.updateKeepDeviceAwake(o2), this.updateDeviceAudioMode(o2), this.updateShowAndroidOngoingMeetingNotification(o2), this.updateNoOpRecordingEnsuringBackgroundContinuity(o2));
+ }
+ } }, { key: "resetMeetingDependentVars", value: function() {
+ this._participants = {}, this._participantCounts = qa, this._waitingParticipants = {}, this._activeSpeaker = {}, this._activeSpeakerMode = false, this._didPreAuth = false, this._accessState = { access: xr }, this._finalSummaryOfPrevSession = this._meetingSessionSummary, this._meetingSessionSummary = {}, this._meetingSessionState = Es(Ga, this._callObjectMode), this._isScreenSharing = false, this._receiveSettings = {}, this._inputSettings = void 0, this._sendSettings = {}, this._localAudioLevel = 0, this._isLocalAudioLevelObserverRunning = false, this._remoteParticipantsAudioLevel = {}, this._isRemoteParticipantsAudioLevelObserverRunning = false, this._maxAppMessageSize = so, this._callMachineInitialized = false, this._bundleLoadTime = void 0, this._preloadCache;
+ } }, { key: "updateKeepDeviceAwake", value: function(e2) {
+ Eo() && this.nativeUtils().setKeepDeviceAwake(e2, this.callClientId);
+ } }, { key: "updateDeviceAudioMode", value: function(e2) {
+ if (Eo() && !this.disableReactNativeAutoDeviceManagement("audio")) {
+ var t2 = e2 ? this._nativeInCallAudioMode : "idle";
+ this.nativeUtils().setAudioMode(t2);
+ }
+ } }, { key: "updateShowAndroidOngoingMeetingNotification", value: function(e2) {
+ if (Eo() && this.nativeUtils().setShowOngoingMeetingNotification) {
+ var t2, n2, r3, i3;
+ if (this.properties.reactNativeConfig && this.properties.reactNativeConfig.androidInCallNotification) {
+ var o2 = this.properties.reactNativeConfig.androidInCallNotification;
+ t2 = o2.title, n2 = o2.subtitle, r3 = o2.iconName, i3 = o2.disableForCustomOverride;
+ }
+ i3 && (e2 = false), this.nativeUtils().setShowOngoingMeetingNotification(e2, t2, n2, r3, this.callClientId);
+ }
+ } }, { key: "updateNoOpRecordingEnsuringBackgroundContinuity", value: function(e2) {
+ Eo() && this.nativeUtils().enableNoOpRecordingEnsuringBackgroundContinuity && this.nativeUtils().enableNoOpRecordingEnsuringBackgroundContinuity(e2);
+ } }, { key: "toggleParticipantAudioBasedOnNativeAudioFocus", value: function() {
+ var e2, t2;
+ if (Eo()) {
+ var n2 = null === (e2 = this._callMachine()) || void 0 === e2 || null === (t2 = e2.store) || void 0 === t2 ? void 0 : t2.getState();
+ for (var r3 in null == n2 ? void 0 : n2.streams) {
+ var i3 = n2.streams[r3];
+ i3 && i3.pendingTrack && "audio" === i3.pendingTrack.kind && (i3.pendingTrack.enabled = this._hasNativeAudioFocus);
+ }
+ }
+ } }, { key: "disableReactNativeAutoDeviceManagement", value: function(e2) {
+ return this.properties.reactNativeConfig && this.properties.reactNativeConfig.disableAutoDeviceManagement && this.properties.reactNativeConfig.disableAutoDeviceManagement[e2];
+ } }, { key: "absoluteUrl", value: function(e2) {
+ if (void 0 !== e2) {
+ var t2 = document.createElement("a");
+ return t2.href = e2, t2.href;
+ }
+ } }, { key: "sayHello", value: function() {
+ var e2 = "hello, world.";
+ return console.log(e2), e2;
+ } }, { key: "_logUseAfterDestroy", value: function() {
+ var e2 = Object.values(Va)[0];
+ if (this.needsLoad()) {
+ if (e2 && !e2.needsLoad()) {
+ var t2 = { action: po, level: "error", code: this.strictMode ? 9995 : 9997 };
+ e2.sendMessageToCallMachine(t2);
+ } else if (!this.strictMode) {
+ console.error("You are are attempting to use a call instance that was previously destroyed, which is unsupported. Please remove `strictMode: false` from your constructor properties to enable strict mode to track down and fix this unsupported usage.");
+ }
+ } else {
+ var n2 = { action: po, level: "error", code: this.strictMode ? 9995 : 9997 };
+ this._messageChannel.sendMessageToCallMachine(n2, null, this.callClientId, this._iframe);
+ }
+ } }, { key: "_logDuplicateInstanceAttempt", value: function() {
+ for (var e2 = 0, t2 = Object.values(Va); e2 < t2.length; e2++) {
+ var n2 = t2[e2];
+ n2._callMachineInitialized ? (n2.sendMessageToCallMachine({ action: po, level: "warn", code: this.allowMultipleCallInstances ? 9993 : 9992 }), n2._delayDuplicateInstanceLog = false) : n2._delayDuplicateInstanceLog = true;
+ }
+ } }, { key: "_maybeSendToSentry", value: function(e2) {
+ var t2, n2, r3, i3, o2, a2;
+ if (null !== (t2 = e2.error) && void 0 !== t2 && t2.type) {
+ if (!["connection-error", "end-of-life", "no-room"].includes(e2.error.type)) return;
+ }
+ var s3 = null !== (n2 = this.properties) && void 0 !== n2 && n2.url ? new URL(this.properties.url) : void 0, c2 = "production";
+ s3 && s3.host.includes(".staging.daily") && (c2 = "staging");
+ var l3, u3, d2, h3, p2, f3 = new Hn({ dsn: "https://f10f1c81e5d44a4098416c0867a8b740@o77906.ingest.sentry.io/168844", transport: Kn, integrations: [new _r.GlobalHandlers({ onunhandledrejection: false }), new _r.HttpContext()], environment: c2 }), g2 = new tn(f3, void 0, te2.version());
+ if (this.session_id && g2.setExtra("sessionId", this.session_id), this.properties) {
+ var v3 = Ra({}, this.properties);
+ v3.userName = v3.userName ? "[Filtered]" : void 0, v3.userData = v3.userData ? "[Filtered]" : void 0, v3.token = v3.token ? "[Filtered]" : void 0, g2.setExtra("properties", v3);
+ }
+ if (s3) {
+ var m2 = s3.searchParams.get("domain");
+ if (!m2) {
+ var y3 = s3.host.match(/(.*?)\./);
+ m2 = y3 && y3[1] || "";
+ }
+ m2 && g2.setTag("domain", m2);
+ }
+ e2.error && (g2.setTag("fatalErrorType", e2.error.type), g2.setExtra("errorDetails", e2.error.details), (null === (l3 = e2.error.details) || void 0 === l3 ? void 0 : l3.uri) && g2.setTag("serverAddress", e2.error.details.uri), (null === (u3 = e2.error.details) || void 0 === u3 ? void 0 : u3.workerGroup) && g2.setTag("workerGroup", e2.error.details.workerGroup), (null === (d2 = e2.error.details) || void 0 === d2 ? void 0 : d2.geoGroup) && g2.setTag("geoGroup", e2.error.details.geoGroup), (null === (h3 = e2.error.details) || void 0 === h3 ? void 0 : h3.on) && g2.setTag("connectionAttempt", e2.error.details.on), null !== (p2 = e2.error.details) && void 0 !== p2 && p2.bundleUrl && (g2.setTag("bundleUrl", e2.error.details.bundleUrl), g2.setTag("bundleError", e2.error.details.sourceError.type)));
+ g2.setTags({ callMode: this._callObjectMode ? Eo() ? "reactNative" : null !== (r3 = this.properties) && void 0 !== r3 && null !== (i3 = r3.dailyConfig) && void 0 !== i3 && null !== (o2 = i3.callMode) && void 0 !== o2 && o2.includes("prebuilt") ? this.properties.dailyConfig.callMode : "custom" : "prebuilt-frame", version: te2.version() });
+ var _3 = (null === (a2 = e2.error) || void 0 === a2 ? void 0 : a2.msg) || e2.errorMsg;
+ g2.run(function(e3) {
+ e3.captureException(new Error(_3));
+ });
+ } }, { key: "_callMachine", value: function() {
+ var e2, t2, n2;
+ return null === (e2 = window._daily) || void 0 === e2 || null === (t2 = e2.instances) || void 0 === t2 || null === (n2 = t2[this.callClientId]) || void 0 === n2 ? void 0 : n2.callMachine;
+ } }], [{ key: "supportedBrowser", value: function() {
+ if (Eo()) return { supported: true, mobile: true, name: "React Native", version: null, supportsScreenShare: true, supportsSfu: true, supportsVideoProcessing: false, supportsAudioProcessing: false };
+ var e2 = W.getParser(ko());
+ return { supported: !!Do(), mobile: "mobile" === e2.getPlatformType(), name: e2.getBrowserName(), version: e2.getBrowserVersion(), supportsFullscreen: !!To(), supportsScreenShare: !!Mo(), supportsSfu: !!Do(), supportsVideoProcessing: Po(), supportsAudioProcessing: Ao() };
+ } }, { key: "version", value: function() {
+ return "0.72.2";
+ } }, { key: "createCallObject", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ return e2.layout = "none", new te2(null, e2);
+ } }, { key: "wrap", value: function(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ if (ls(), !e2 || !e2.contentWindow || "string" != typeof e2.src) throw new Error("DailyIframe::Wrap needs an iframe-like first argument");
+ return t2.layout || (t2.customLayout ? t2.layout = "custom-v1" : t2.layout = "browser"), new te2(e2, t2);
+ } }, { key: "createFrame", value: function(e2, t2) {
+ var n2, r3;
+ ls(), e2 && t2 ? (n2 = e2, r3 = t2) : e2 && e2.append ? (n2 = e2, r3 = {}) : (n2 = document.body, r3 = e2 || {});
+ var i3 = r3.iframeStyle;
+ i3 || (i3 = n2 === document.body ? { position: "fixed", border: "1px solid black", backgroundColor: "white", width: "375px", height: "450px", right: "1em", bottom: "1em" } : { border: 0, width: "100%", height: "100%" });
+ var o2 = document.createElement("iframe");
+ window.navigator && window.navigator.userAgent.match(/Chrome\/61\./) ? o2.allow = "microphone, camera" : o2.allow = "microphone; camera; autoplay; display-capture; screen-wake-lock", o2.style.visibility = "hidden", n2.appendChild(o2), o2.style.visibility = null, Object.keys(i3).forEach(function(e3) {
+ return o2.style[e3] = i3[e3];
+ }), r3.layout || (r3.customLayout ? r3.layout = "custom-v1" : r3.layout = "browser");
+ try {
+ return new te2(o2, r3);
+ } catch (e3) {
+ throw n2.removeChild(o2), e3;
+ }
+ } }, { key: "createTransparentFrame", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ ls();
+ var t2 = document.createElement("iframe");
+ return t2.allow = "microphone; camera; autoplay", t2.style.cssText = "\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n pointer-events: none;\n ", document.body.appendChild(t2), e2.layout || (e2.layout = "custom-v1"), te2.wrap(t2, e2);
+ } }, { key: "getCallInstance", value: function() {
+ var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0;
+ return e2 ? Va[e2] : Object.values(Va)[0];
+ } }]), te2;
+}();
+function ts(e2, t2) {
+ var n2 = {};
+ for (var r2 in e2) if (e2[r2] instanceof MediaStreamTrack) n2[r2] = fo;
+ else if ("dailyConfig" === r2) {
+ if (e2[r2].modifyLocalSdpHook) {
+ var i2 = window._daily.instances[t2].customCallbacks || {};
+ i2.modifyLocalSdpHook = e2[r2].modifyLocalSdpHook, window._daily.instances[t2].customCallbacks = i2, delete e2[r2].modifyLocalSdpHook;
+ }
+ if (e2[r2].modifyRemoteSdpHook) {
+ var o2 = window._daily.instances[t2].customCallbacks || {};
+ o2.modifyRemoteSdpHook = e2[r2].modifyRemoteSdpHook, window._daily.instances[t2].customCallbacks = o2, delete e2[r2].modifyRemoteSdpHook;
+ }
+ n2[r2] = e2[r2];
+ } else n2[r2] = e2[r2];
+ return n2;
+}
+function ns(e2) {
+ var t2 = arguments.length > 2 ? arguments[2] : void 0;
+ if (e2 !== Er) {
+ var n2 = "".concat(arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "This daily-js method", " only supported after join.");
+ throw t2 && (n2 += " ".concat(t2)), console.error(n2), new Error(n2);
+ }
+}
+function rs(e2, t2) {
+ return [kr, Er].includes(e2) || t2;
+}
+function is(e2, t2) {
+ var n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "This daily-js method", r2 = arguments.length > 3 ? arguments[3] : void 0;
+ if (rs(e2, t2)) {
+ var i2 = "".concat(n2, " not supported after joining a meeting.");
+ throw r2 && (i2 += " ".concat(r2)), console.error(i2), new Error(i2);
+ }
+}
+function os(e2) {
+ var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "This daily-js method", n2 = arguments.length > 2 ? arguments[2] : void 0;
+ if (!e2) {
+ var r2 = "".concat(t2, arguments.length > 3 && void 0 !== arguments[3] && arguments[3] ? " requires preAuth() or startCamera() to initialize call state." : " requires preAuth(), startCamera(), or join() to initialize call state.");
+ throw n2 && (r2 += " ".concat(n2)), console.error(r2), new Error(r2);
+ }
+}
+function as(e2) {
+ if (e2) {
+ var t2 = "A pre-call quality test is in progress. Please try ".concat(arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "This daily-js method", " again once testing has completed. Use stopTestCallQuality() to end it early.");
+ throw console.error(t2), new Error(t2);
+ }
+}
+function ss(e2) {
+ if (!e2) {
+ var t2 = "".concat(arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "This daily-js method", " is only supported on custom callObject instances");
+ throw console.error(t2), new Error(t2);
+ }
+}
+function cs(e2) {
+ if (e2) {
+ var t2 = "".concat(arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "This daily-js method", " is only supported as part of Daily's Prebuilt");
+ throw console.error(t2), new Error(t2);
+ }
+}
+function ls() {
+ if (Eo()) throw new Error("This daily-js method is not currently supported in React Native");
+}
+function us() {
+ if (!Eo()) throw new Error("This daily-js method is only supported in React Native");
+}
+function ds(e2) {
+ if (void 0 === e2) return true;
+ var t2;
+ if ("string" == typeof e2) t2 = e2;
+ else try {
+ t2 = JSON.stringify(e2), I(JSON.parse(t2), e2) || console.warn("The userData provided will be modified when serialized.");
+ } catch (e3) {
+ throw Error("userData must be serializable to JSON: ".concat(e3));
+ }
+ if (t2.length > 4096) throw Error("userData is too large (".concat(t2.length, " characters). Maximum size suppported is ").concat(4096, "."));
+ return true;
+}
+function hs(e2, t2) {
+ for (var n2 = t2.allowAllParticipantsKey, r2 = function(e3) {
+ var t3 = ["local"];
+ return n2 || t3.push("*"), e3 && !t3.includes(e3);
+ }, i2 = function(e3) {
+ return !!(void 0 === e3.layer || Number.isInteger(e3.layer) && e3.layer >= 0 || "inherit" === e3.layer);
+ }, o2 = function(e3) {
+ return !!e3 && (!(e3.video && !i2(e3.video)) && !(e3.screenVideo && !i2(e3.screenVideo)));
+ }, a2 = 0, s2 = Object.entries(e2); a2 < s2.length; a2++) {
+ var c2 = g(s2[a2], 2), l2 = c2[0], u2 = c2[1];
+ if (!r2(l2) || !o2(u2)) return false;
+ }
+ return true;
+}
+function ps(e2) {
+ return "object" === n(e2) && (!(e2.video && ("object" !== n(e2.video) || !function(e3) {
+ var t3 = ["type", "config"];
+ if (!e3) return false;
+ if ("object" !== n(e3)) return false;
+ if (!function(e4) {
+ if ("string" != typeof e4) return false;
+ if (!Object.values(go).includes(e4)) return console.error("inputSettings video processor type invalid"), false;
+ return true;
+ }(e3.type)) return false;
+ if (e3.config) {
+ if ("object" !== n(e3.config)) return false;
+ if (!function(e4, t4) {
+ var n2 = Object.keys(t4);
+ if (0 === n2.length) return true;
+ var r3 = "invalid object in inputSettings -> video -> processor -> config";
+ switch (e4) {
+ case go.BGBLUR:
+ return n2.length > 1 || "strength" !== n2[0] ? (console.error(r3), false) : !("number" != typeof t4.strength || t4.strength <= 0 || t4.strength > 1 || isNaN(t4.strength)) || (console.error("".concat(r3, "; expected: {0 < strength <= 1}, got: ").concat(t4.strength)), false);
+ case go.BGIMAGE:
+ return !(void 0 !== t4.source && !function(e5) {
+ if ("default" === e5.source) return e5.type = "default", true;
+ if (e5.source instanceof ArrayBuffer) return true;
+ if (Z(e5.source)) return e5.type = "url", !!function(e6) {
+ var t6 = new URL(e6), n4 = t6.pathname;
+ if ("data:" === t6.protocol) try {
+ var r4 = n4.substring(n4.indexOf(":") + 1, n4.indexOf(";")).split("/")[1];
+ return _o.includes(r4);
+ } catch (e7) {
+ return console.error("failed to deduce blob content type", e7), false;
+ }
+ var i3 = n4.split(".").at(-1).toLowerCase().trim();
+ return _o.includes(i3);
+ }(e5.source) || (console.error("invalid image type; supported types: [".concat(_o.join(", "), "]")), false);
+ return t5 = e5.source, n3 = Number(t5), isNaN(n3) || !Number.isInteger(n3) || n3 <= 0 || n3 > yo ? (console.error("invalid image selection; must be an int, > 0, <= ".concat(yo)), false) : (e5.type = "daily-preselect", true);
+ var t5, n3;
+ }(t4));
+ default:
+ return true;
+ }
+ }(e3.type, e3.config)) return false;
+ }
+ return Object.keys(e3).filter(function(e4) {
+ return !t3.includes(e4);
+ }).forEach(function(t4) {
+ console.warn("invalid key inputSettings -> video -> processor : ".concat(t4)), delete e3[t4];
+ }), true;
+ }(e2.video.processor))) && !(e2.audio && ("object" !== n(e2.audio) || (r2 = e2.audio.processor, i2 = ["type"], !r2 || "object" !== n(r2) || (Object.keys(r2).filter(function(e3) {
+ return !i2.includes(e3);
+ }).forEach(function(e3) {
+ console.warn("invalid key inputSettings -> audio -> processor : ".concat(e3)), delete r2[e3];
+ }), t2 = r2.type, "string" != typeof t2 || !Object.values(vo).includes(t2) && (console.error("inputSettings audio processor type invalid"), 1))))));
+ var t2, r2, i2;
+}
+function fs(e2, t2) {
+ var n2, r2 = [];
+ e2.video && !Po(null !== (n2 = null == t2 ? void 0 : t2.useLegacyVideoProcessor) && void 0 !== n2 && n2) && (delete e2.video, r2.push("video")), e2.audio && !Ao() && (delete e2.audio, r2.push("audio")), r2.length > 0 && console.error("Ignoring settings for browser- or platform-unsupported input processor(s): ".concat(r2.join(", ")));
+}
+function gs() {
+ var e2 = Object.values(go).join(" | "), t2 = Object.values(vo).join(" | ");
+ return "inputSettings must be of the form: { video?: { processor: { type: [ ".concat(e2, " ], config?: {} } }, audio?: { processor: {type: [ ").concat(t2, " ] } } }");
+}
+function vs(e2) {
+ var t2 = e2.allowAllParticipantsKey;
+ return "receiveSettings must be of the form { [ | ".concat(Rr).concat(t2 ? ' | "'.concat(Br, '"') : "", "]: ") + '{ [video: [{ layer: [ | "inherit"] } | "inherit"]], [screenVideo: [{ layer: [ | "inherit"] } | "inherit"]] }}}';
+}
+function ms() {
+ return "customIntegrations should be an object of type ".concat(JSON.stringify(Ka), ".");
+}
+function ys(e2) {
+ if (e2 && "object" !== n(e2) || Array.isArray(e2)) return console.error("customTrayButtons should be an Object of the type ".concat(JSON.stringify(Qa), ".")), false;
+ if (e2) for (var t2 = 0, r2 = Object.entries(e2); t2 < r2.length; t2++) for (var i2 = g(r2[t2], 1)[0], o2 = 0, a2 = Object.entries(e2[i2]); o2 < a2.length; o2++) {
+ var s2 = g(a2[o2], 2), c2 = s2[0], l2 = s2[1];
+ if ("iconPath" === c2 && !Z(l2)) return console.error("customTrayButton ".concat(c2, " should be a url.")), false;
+ if ("iconPathDarkMode" === c2 && !Z(l2)) return console.error("customTrayButton ".concat(c2, " should be a url.")), false;
+ var u2 = Qa.id[c2];
+ if (!u2) return console.error("customTrayButton does not support key ".concat(c2)), false;
+ if (n(l2) !== u2) return console.error("customTrayButton ".concat(c2, " should be a ").concat(u2, ".")), false;
+ }
+ return true;
+}
+function _s(e2) {
+ if (!e2 || e2 && "object" !== n(e2) || Array.isArray(e2)) return console.error(ms()), false;
+ for (var t2 = function(e3) {
+ return "".concat(e3, " should be ").concat(Ka.id[e3]);
+ }, r2 = function(e3, t3) {
+ return console.error("customIntegration ".concat(e3, ": ").concat(t3));
+ }, i2 = 0, o2 = Object.entries(e2); i2 < o2.length; i2++) {
+ var a2 = g(o2[i2], 1)[0];
+ if (!("label" in e2[a2])) return r2(a2, "label is required"), false;
+ if (!("location" in e2[a2])) return r2(a2, "location is required"), false;
+ if (!("src" in e2[a2]) && !("srcdoc" in e2[a2])) return r2(a2, "src or srcdoc is required"), false;
+ for (var s2 = 0, c2 = Object.entries(e2[a2]); s2 < c2.length; s2++) {
+ var l2 = g(c2[s2], 2), u2 = l2[0], d2 = l2[1];
+ switch (u2) {
+ case "allow":
+ case "csp":
+ case "name":
+ case "referrerPolicy":
+ case "sandbox":
+ if ("string" != typeof d2) return r2(a2, t2(u2)), false;
+ break;
+ case "iconURL":
+ if (!Z(d2)) return r2(a2, "".concat(u2, " should be a url")), false;
+ break;
+ case "src":
+ if ("srcdoc" in e2[a2]) return r2(a2, "cannot have both src and srcdoc"), false;
+ if (!Z(d2)) return r2(a2, 'src "'.concat(d2, '" is not a valid URL')), false;
+ break;
+ case "srcdoc":
+ if ("src" in e2[a2]) return r2(a2, "cannot have both src and srcdoc"), false;
+ if ("string" != typeof d2) return r2(a2, t2(u2)), false;
+ break;
+ case "location":
+ if (!["main", "sidebar"].includes(d2)) return r2(a2, t2(u2)), false;
+ break;
+ case "controlledBy":
+ if ("*" !== d2 && "owners" !== d2 && (!Array.isArray(d2) || d2.some(function(e3) {
+ return "string" != typeof e3;
+ }))) return r2(a2, t2(u2)), false;
+ break;
+ case "shared":
+ if ((!Array.isArray(d2) || d2.some(function(e3) {
+ return "string" != typeof e3;
+ })) && "owners" !== d2 && "boolean" != typeof d2) return r2(a2, t2(u2)), false;
+ break;
+ default:
+ if (!Ka.id[u2]) return console.error("customIntegration does not support key ".concat(u2)), false;
+ }
+ }
+ }
+ return true;
+}
+function bs(e2, t2) {
+ if (void 0 === t2) return false;
+ switch (n(t2)) {
+ case "string":
+ return n(e2) === t2;
+ case "object":
+ if ("object" !== n(e2)) return false;
+ for (var r2 in e2) if (!bs(e2[r2], t2[r2])) return false;
+ return true;
+ default:
+ return false;
+ }
+}
+function ws(e2, t2) {
+ var n2 = e2.sessionId, r2 = e2.toEndPoint, i2 = e2.useSipRefer;
+ if (!n2 || !r2) throw new Error("".concat(t2, "() requires a sessionId and toEndPoint"));
+ if ("string" != typeof n2 || "string" != typeof r2) throw new Error("Invalid paramater: sessionId and toEndPoint must be of type string");
+ if (i2 && !r2.startsWith("sip:")) throw new Error('"toEndPoint" must be a "sip" address');
+ if (!r2.startsWith("sip:") && !r2.startsWith("+")) throw new Error("toEndPoint: ".concat(r2, ' must starts with either "sip:" or "+"'));
+}
+function Ss(e2) {
+ if ("object" !== n(e2)) throw new Error('RemoteMediaPlayerSettings: must be "object" type');
+ if (e2.state && !Object.values(mo).includes(e2.state)) throw new Error("Invalid value for RemoteMediaPlayerSettings.state, valid values are: " + JSON.stringify(mo));
+ if (e2.volume) {
+ if ("number" != typeof e2.volume) throw new Error('RemoteMediaPlayerSettings.volume: must be "number" type');
+ if (e2.volume < 0 || e2.volume > 2) throw new Error("RemoteMediaPlayerSettings.volume: must be between 0.0 - 2.0");
+ }
+}
+function ks(e2, t2, n2) {
+ return !("number" != typeof e2 || e2 < t2 || e2 > n2);
+}
+function Es(e2, t2) {
+ return e2 && !t2 && delete e2.data, e2;
+}
+
+// node_modules/@daily-co/realtime-ai-daily/dist/index.module.js
+function $parcel$export(e2, n2, v2, s2) {
+ Object.defineProperty(e2, n2, { get: v2, set: s2, enumerable: true, configurable: true });
+}
+var $845232e2f6d6caea$exports = {};
+$parcel$export($845232e2f6d6caea$exports, "DailyTransport", () => $845232e2f6d6caea$export$b1ca982aa1e488c1);
+var $845232e2f6d6caea$export$b1ca982aa1e488c1 = class extends (0, $2665d8e6d1596258$export$86495b081fef8e52) {
+ constructor() {
+ super();
+ this._botId = "";
+ this._selectedCam = {};
+ this._selectedMic = {};
+ }
+ initialize(options, messageHandler) {
+ this._callbacks = options.callbacks ?? {};
+ this._onMessage = messageHandler;
+ const existingInstance = (0, es).getCallInstance();
+ if (existingInstance) existingInstance.destroy();
+ this._daily = (0, es).createCallObject({
+ startVideoOff: !(options.enableCam == true),
+ startAudioOff: options.enableMic == false,
+ allowMultipleCallInstances: true,
+ dailyConfig: {}
+ });
+ this.attachEventListeners();
+ this.state = "disconnected";
+ console.debug("[RTVI Transport] Initialized");
+ }
+ get state() {
+ return this._state;
+ }
+ set state(state) {
+ var _a2, _b;
+ if (this._state === state) return;
+ this._state = state;
+ (_b = (_a2 = this._callbacks).onTransportStateChanged) == null ? void 0 : _b.call(_a2, state);
+ }
+ async getAllCams() {
+ const { devices } = await this._daily.enumerateDevices();
+ return devices.filter((d2) => d2.kind === "videoinput");
+ }
+ updateCam(camId) {
+ this._daily.setInputDevicesAsync({
+ videoDeviceId: camId
+ }).then((infos) => {
+ this._selectedCam = infos.camera;
+ });
+ }
+ get selectedCam() {
+ return this._selectedCam;
+ }
+ async getAllMics() {
+ const { devices } = await this._daily.enumerateDevices();
+ return devices.filter((d2) => d2.kind === "audioinput");
+ }
+ updateMic(micId) {
+ this._daily.setInputDevicesAsync({
+ audioDeviceId: micId
+ }).then((infos) => {
+ this._selectedMic = infos.mic;
+ });
+ }
+ get selectedMic() {
+ return this._selectedMic;
+ }
+ enableMic(enable) {
+ this._daily.setLocalAudio(enable);
+ }
+ get isMicEnabled() {
+ return this._daily.localAudio();
+ }
+ enableCam(enable) {
+ this._daily.setLocalVideo(enable);
+ }
+ get isCamEnabled() {
+ return this._daily.localVideo();
+ }
+ tracks() {
+ var _a2, _b, _c, _d, _e2, _f, _g, _h, _i2, _j, _k;
+ const participants = ((_a2 = this._daily) == null ? void 0 : _a2.participants()) ?? {};
+ const bot = participants == null ? void 0 : participants[this._botId];
+ const tracks = {
+ local: {
+ audio: (_d = (_c = (_b = participants == null ? void 0 : participants.local) == null ? void 0 : _b.tracks) == null ? void 0 : _c.audio) == null ? void 0 : _d.persistentTrack,
+ video: (_g = (_f = (_e2 = participants == null ? void 0 : participants.local) == null ? void 0 : _e2.tracks) == null ? void 0 : _f.video) == null ? void 0 : _g.persistentTrack
+ }
+ };
+ if (bot) tracks.bot = {
+ audio: (_i2 = (_h = bot == null ? void 0 : bot.tracks) == null ? void 0 : _h.audio) == null ? void 0 : _i2.persistentTrack,
+ video: (_k = (_j = bot == null ? void 0 : bot.tracks) == null ? void 0 : _j.video) == null ? void 0 : _k.persistentTrack
+ };
+ return tracks;
+ }
+ async initDevices() {
+ var _a2, _b, _c, _d, _e2, _f, _g, _h;
+ if (!this._daily) throw new (0, $08bedc6ef0d1c66c$export$59b4786f333aac02)("Transport instance not initialized");
+ this.state = "initializing";
+ const infos = await this._daily.startCamera();
+ const { devices } = await this._daily.enumerateDevices();
+ const cams = devices.filter((d2) => d2.kind === "videoinput");
+ const mics = devices.filter((d2) => d2.kind === "audioinput");
+ (_b = (_a2 = this._callbacks).onAvailableCamsUpdated) == null ? void 0 : _b.call(_a2, cams);
+ (_d = (_c = this._callbacks).onAvailableMicsUpdated) == null ? void 0 : _d.call(_c, mics);
+ this._selectedCam = infos.camera;
+ (_f = (_e2 = this._callbacks).onCamUpdated) == null ? void 0 : _f.call(_e2, infos.camera);
+ this._selectedMic = infos.mic;
+ (_h = (_g = this._callbacks).onMicUpdated) == null ? void 0 : _h.call(_g, infos.mic);
+ if (!this._daily.isLocalAudioLevelObserverRunning()) await this._daily.startLocalAudioLevelObserver(100);
+ if (!this._daily.isRemoteParticipantsAudioLevelObserverRunning()) await this._daily.startRemoteParticipantsAudioLevelObserver(100);
+ this.state = "initialized";
+ }
+ async connect(authBundle, abortController) {
+ var _a2, _b, _c;
+ if (!this._daily) throw new (0, $08bedc6ef0d1c66c$export$59b4786f333aac02)("Transport instance not initialized");
+ if (abortController.signal.aborted) return;
+ this.state = "connecting";
+ try {
+ await this._daily.join({
+ url: authBundle.room_url,
+ token: authBundle.token
+ });
+ const room = await this._daily.room();
+ if (room && "id" in room) this._expiry = (_a2 = room.config) == null ? void 0 : _a2.exp;
+ } catch (e2) {
+ this.state = "error";
+ throw new (0, $08bedc6ef0d1c66c$export$e0624a511a2c4e9)();
+ }
+ if (abortController.signal.aborted) return;
+ this.state = "connected";
+ (_c = (_b = this._callbacks).onConnected) == null ? void 0 : _c.call(_b);
+ }
+ async sendReadyMessage() {
+ return new Promise((resolve) => {
+ (async () => {
+ this._daily.on("track-started", (ev) => {
+ var _a2;
+ if (!((_a2 = ev.participant) == null ? void 0 : _a2.local)) {
+ this.state = "ready";
+ this.sendMessage((0, $bff4129f8f902365$export$69aa9ab0334b212).clientReady());
+ resolve();
+ }
+ });
+ })();
+ });
+ }
+ attachEventListeners() {
+ this._daily.on("available-devices-updated", this.handleAvailableDevicesUpdated.bind(this));
+ this._daily.on("selected-devices-updated", this.handleSelectedDevicesUpdated.bind(this));
+ this._daily.on("track-started", this.handleTrackStarted.bind(this));
+ this._daily.on("track-stopped", this.handleTrackStopped.bind(this));
+ this._daily.on("participant-joined", this.handleParticipantJoined.bind(this));
+ this._daily.on("participant-left", this.handleParticipantLeft.bind(this));
+ this._daily.on("local-audio-level", this.handleLocalAudioLevel.bind(this));
+ this._daily.on("remote-participants-audio-level", this.handleRemoteAudioLevel.bind(this));
+ this._daily.on("app-message", this.handleAppMessage.bind(this));
+ this._daily.on("left-meeting", this.handleLeftMeeting.bind(this));
+ }
+ async disconnect() {
+ this._daily.stopLocalAudioLevelObserver();
+ this._daily.stopRemoteParticipantsAudioLevelObserver();
+ await this._daily.leave();
+ await this._daily.destroy();
+ }
+ sendMessage(message) {
+ this._daily.sendAppMessage(message, "*");
+ }
+ handleAppMessage(ev) {
+ if (ev.data.label === "rtvi-ai") this._onMessage({
+ id: ev.data.id,
+ type: ev.data.type,
+ data: ev.data.data
+ });
+ }
+ handleAvailableDevicesUpdated(ev) {
+ var _a2, _b, _c, _d;
+ (_b = (_a2 = this._callbacks).onAvailableCamsUpdated) == null ? void 0 : _b.call(_a2, ev.availableDevices.filter((d2) => d2.kind === "videoinput"));
+ (_d = (_c = this._callbacks).onAvailableMicsUpdated) == null ? void 0 : _d.call(_c, ev.availableDevices.filter((d2) => d2.kind === "audioinput"));
+ }
+ handleSelectedDevicesUpdated(ev) {
+ var _a2, _b, _c, _d, _e2, _f;
+ if (((_a2 = this._selectedCam) == null ? void 0 : _a2.deviceId) !== ev.devices.camera) {
+ this._selectedCam = ev.devices.camera;
+ (_c = (_b = this._callbacks).onCamUpdated) == null ? void 0 : _c.call(_b, ev.devices.camera);
+ }
+ if (((_d = this._selectedMic) == null ? void 0 : _d.deviceId) !== ev.devices.mic) {
+ this._selectedMic = ev.devices.mic;
+ (_f = (_e2 = this._callbacks).onMicUpdated) == null ? void 0 : _f.call(_e2, ev.devices.mic);
+ }
+ }
+ handleTrackStarted(ev) {
+ var _a2, _b;
+ (_b = (_a2 = this._callbacks).onTrackStarted) == null ? void 0 : _b.call(_a2, ev.track, ev.participant ? $845232e2f6d6caea$var$dailyParticipantToParticipant(ev.participant) : void 0);
+ }
+ handleTrackStopped(ev) {
+ var _a2, _b;
+ (_b = (_a2 = this._callbacks).onTrackStopped) == null ? void 0 : _b.call(_a2, ev.track, ev.participant ? $845232e2f6d6caea$var$dailyParticipantToParticipant(ev.participant) : void 0);
+ }
+ handleParticipantJoined(ev) {
+ var _a2, _b, _c, _d;
+ const p2 = $845232e2f6d6caea$var$dailyParticipantToParticipant(ev.participant);
+ (_b = (_a2 = this._callbacks).onParticipantJoined) == null ? void 0 : _b.call(_a2, p2);
+ if (p2.local) return;
+ this._botId = ev.participant.session_id;
+ (_d = (_c = this._callbacks).onBotConnected) == null ? void 0 : _d.call(_c, p2);
+ }
+ handleParticipantLeft(ev) {
+ var _a2, _b, _c, _d;
+ const p2 = $845232e2f6d6caea$var$dailyParticipantToParticipant(ev.participant);
+ (_b = (_a2 = this._callbacks).onParticipantLeft) == null ? void 0 : _b.call(_a2, p2);
+ if (p2.local) return;
+ this._botId = "";
+ (_d = (_c = this._callbacks).onBotDisconnected) == null ? void 0 : _d.call(_c, p2);
+ }
+ handleLocalAudioLevel(ev) {
+ var _a2, _b;
+ (_b = (_a2 = this._callbacks).onLocalAudioLevel) == null ? void 0 : _b.call(_a2, ev.audioLevel);
+ }
+ handleRemoteAudioLevel(ev) {
+ var _a2, _b;
+ const participants = this._daily.participants();
+ const ids = Object.keys(ev.participantsAudioLevel);
+ for (let i2 = 0; i2 < ids.length; i2++) {
+ const id = ids[i2];
+ const level = ev.participantsAudioLevel[id];
+ (_b = (_a2 = this._callbacks).onRemoteAudioLevel) == null ? void 0 : _b.call(_a2, level, $845232e2f6d6caea$var$dailyParticipantToParticipant(participants[id]));
+ }
+ }
+ handleLeftMeeting() {
+ var _a2, _b;
+ this.state = "disconnecting";
+ this._botId = "";
+ (_b = (_a2 = this._callbacks).onDisconnected) == null ? void 0 : _b.call(_a2);
+ }
+};
+var $845232e2f6d6caea$var$dailyParticipantToParticipant = (p2) => ({
+ id: p2.user_id,
+ local: p2.local,
+ name: p2.user_name
+});
+export {
+ $845232e2f6d6caea$export$b1ca982aa1e488c1 as DailyTransport
+};
+/*! Bundled license information:
+
+@daily-co/daily-js/dist/daily-esm.js:
+ (*!
+ * Bowser - a browser detector
+ * https://github.com/lancedikson/bowser
+ * MIT License | (c) Dustin Diaz 2012-2015
+ * MIT License | (c) Denis Demchenko 2015-2019
+ *)
+*/
+//# sourceMappingURL=@daily-co_realtime-ai-daily.js.map
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js.map b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js.map
new file mode 100644
index 000000000..c3da4e361
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/@daily-co_realtime-ai-daily.js.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "sources": ["../../@daily-co/daily-js/dist/daily-esm.js", "../../@daily-co/realtime-ai-daily/dist/src/index.ts", "../../@daily-co/realtime-ai-daily/dist/src/transport.ts"],
+ "sourcesContent": ["function e(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function t(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function r(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||\"default\");if(\"object\"!==n(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===n(t)?t:String(t)}function i(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&a.length>i&&!a.warned){a.warned=!0;var c=new Error(\"Possible EventEmitter memory leak detected. \"+a.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");c.name=\"MaxListenersExceededWarning\",c.emitter=e,c.type=t,c.count=a.length,s=c,console&&console.warn&&console.warn(s)}return e}function T(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=T.bind(r);return i.listener=n,r.wrapFn=i,i}function P(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:\"function\"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw a.context=o,a}var s=i[e];if(void 0===s)return!1;if(\"function\"==typeof s)b(s,this,t);else{var c=s.length,l=D(s,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},S.prototype.listeners=function(e){return P(this,e,!0)},S.prototype.rawListeners=function(e){return P(this,e,!1)},S.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):A.call(e,t)},S.prototype.listenerCount=A,S.prototype.eventNames=function(){return this._eventsCount>0?v(this._events):[]};var x=Object.prototype.hasOwnProperty;function L(e,t,n){for(n of e.keys())if(I(n,t))return n}function I(e,t){var n,r,i;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&I(e[r],t[r]););return-1===r}if(n===Set){if(e.size!==t.size)return!1;for(r of e){if((i=r)&&\"object\"==typeof i&&!(i=L(t,i)))return!1;if(!t.has(i))return!1}return!0}if(n===Map){if(e.size!==t.size)return!1;for(r of e){if((i=r[0])&&\"object\"==typeof i&&!(i=L(t,i)))return!1;if(!I(r[1],t.get(i)))return!1}return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((r=e.byteLength)===t.byteLength)for(;r--&&e.getInt8(r)===t.getInt8(r););return-1===r}if(ArrayBuffer.isView(e)){if((r=e.byteLength)===t.byteLength)for(;r--&&e[r]===t[r];);return-1===r}if(!n||\"object\"==typeof e){for(n in r=0,e){if(x.call(e,n)&&++r&&!x.call(t,n))return!1;if(!(n in t)||!I(e[n],t[n]))return!1}return Object.keys(t).length===r}}return e!=e&&t!=t}const N={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"},R={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"},B={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"},F={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"},U={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"};class V{static getFirstMatch(e,t){const n=t.match(e);return n&&n.length>0&&n[1]||\"\"}static getSecondMatch(e,t){const n=t.match(e);return n&&n.length>1&&n[2]||\"\"}static matchAndReturnConst(e,t,n){if(e.test(t))return n}static getWindowsVersionName(e){switch(e){case\"NT\":return\"NT\";case\"XP\":case\"NT 5.1\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}}static getMacOSVersionName(e){const t=e.split(\".\").splice(0,2).map((e=>parseInt(e,10)||0));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}}static getAndroidVersionName(e){const t=e.split(\".\").splice(0,2).map((e=>parseInt(e,10)||0));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0}static getVersionPrecision(e){return e.split(\".\").length}static compareVersions(e,t,n=!1){const r=V.getVersionPrecision(e),i=V.getVersionPrecision(t);let o=Math.max(r,i),a=0;const s=V.map([e,t],(e=>{const t=o-V.getVersionPrecision(e),n=e+new Array(t+1).join(\".0\");return V.map(n.split(\".\"),(e=>new Array(20-e.length).join(\"0\")+e)).reverse()}));for(n&&(a=o-Math.min(r,i)),o-=1;o>=a;){if(s[0][o]>s[1][o])return 1;if(s[0][o]===s[1][o]){if(o===a)return 0;o-=1}else if(s[0][o]{n[t]=e[t]}))}}return e}static getBrowserAlias(e){return N[e]}static getBrowserTypeByAlias(e){return R[e]||\"\"}}const J=/version\\/(\\d+(\\.?_?\\d+)+)/i,$=[{test:[/googlebot/i],describe(e){const t={name:\"Googlebot\"},n=V.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/opera/i],describe(e){const t={name:\"Opera\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\\/|opios/i],describe(e){const t={name:\"Opera\"},n=V.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe(e){const t={name:\"Samsung Internet for Android\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe(e){const t={name:\"NAVER Whale Browser\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe(e){const t={name:\"MZ Browser\"},n=V.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/focus/i],describe(e){const t={name:\"Focus\"},n=V.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/swing/i],describe(e){const t={name:\"Swing\"},n=V.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/coast/i],describe(e){const t={name:\"Opera Coast\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe(e){const t={name:\"Opera Touch\"},n=V.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe(e){const t={name:\"Yandex Browser\"},n=V.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe(e){const t={name:\"UC Browser\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe(e){const t={name:\"Maxthon\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe(e){const t={name:\"Epiphany\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe(e){const t={name:\"Puffin\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe(e){const t={name:\"Sleipnir\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe(e){const t={name:\"K-Meleon\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe(e){const t={name:\"WeChat\"},n=V.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe(e){const t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},n=V.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe(e){const t={name:\"Internet Explorer\"},n=V.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\\sedg\\//i],describe(e){const t={name:\"Microsoft Edge\"},n=V.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe(e){const t={name:\"Microsoft Edge\"},n=V.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe(e){const t={name:\"Vivaldi\"},n=V.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe(e){const t={name:\"SeaMonkey\"},n=V.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe(e){const t={name:\"Sailfish\"},n=V.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe(e){const t={name:\"Amazon Silk\"},n=V.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe(e){const t={name:\"PhantomJS\"},n=V.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe(e){const t={name:\"SlimerJS\"},n=V.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe(e){const t={name:\"BlackBerry\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe(e){const t={name:\"WebOS Browser\"},n=V.getFirstMatch(J,e)||V.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe(e){const t={name:\"Bada\"},n=V.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe(e){const t={name:\"Tizen\"},n=V.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe(e){const t={name:\"QupZilla\"},n=V.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe(e){const t={name:\"Firefox\"},n=V.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe(e){const t={name:\"Electron\"},n=V.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe(e){const t={name:\"Miui\"},n=V.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe(e){const t={name:\"Chromium\"},n=V.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe(e){const t={name:\"Chrome\"},n=V.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe(e){const t={name:\"Google Search\"},n=V.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test(e){const t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe(e){const t={name:\"Android Browser\"},n=V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe(e){const t={name:\"PlayStation 4\"},n=V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe(e){const t={name:\"Safari\"},n=V.getFirstMatch(J,e);return n&&(t.version=n),t}},{test:[/.*/i],describe(e){const t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:V.getFirstMatch(t,e),version:V.getSecondMatch(t,e)}}}];var G=[{test:[/Roku\\/DVP/],describe(e){const t=V.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:F.Roku,version:t}}},{test:[/windows phone/i],describe(e){const t=V.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:F.WindowsPhone,version:t}}},{test:[/windows /i],describe(e){const t=V.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),n=V.getWindowsVersionName(t);return{name:F.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe(e){const t={name:F.iOS},n=V.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe(e){const t=V.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),n=V.getMacOSVersionName(t),r={name:F.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe(e){const t=V.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:F.iOS,version:t}}},{test(e){const t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe(e){const t=V.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),n=V.getAndroidVersionName(t),r={name:F.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe(e){const t=V.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),n={name:F.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe(e){const t=V.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||V.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||V.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:F.BlackBerry,version:t}}},{test:[/bada/i],describe(e){const t=V.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:F.Bada,version:t}}},{test:[/tizen/i],describe(e){const t=V.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:F.Tizen,version:t}}},{test:[/linux/i],describe:()=>({name:F.Linux})},{test:[/CrOS/],describe:()=>({name:F.ChromeOS})},{test:[/PlayStation 4/],describe(e){const t=V.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:F.PlayStation4,version:t}}}],q=[{test:[/googlebot/i],describe:()=>({type:\"bot\",vendor:\"Google\"})},{test:[/huawei/i],describe(e){const t=V.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",n={type:B.mobile,vendor:\"Huawei\"};return t&&(n.model=t),n}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:()=>({type:B.tablet,vendor:\"Nexus\"})},{test:[/ipad/i],describe:()=>({type:B.tablet,vendor:\"Apple\",model:\"iPad\"})},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:()=>({type:B.tablet,vendor:\"Apple\",model:\"iPad\"})},{test:[/kftt build/i],describe:()=>({type:B.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"})},{test:[/silk/i],describe:()=>({type:B.tablet,vendor:\"Amazon\"})},{test:[/tablet(?! pc)/i],describe:()=>({type:B.tablet})},{test(e){const t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe(e){const t=V.getFirstMatch(/(ipod|iphone)/i,e);return{type:B.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:()=>({type:B.mobile,vendor:\"Nexus\"})},{test:[/[^-]mobi/i],describe:()=>({type:B.mobile})},{test:e=>\"blackberry\"===e.getBrowserName(!0),describe:()=>({type:B.mobile,vendor:\"BlackBerry\"})},{test:e=>\"bada\"===e.getBrowserName(!0),describe:()=>({type:B.mobile})},{test:e=>\"windows phone\"===e.getBrowserName(),describe:()=>({type:B.mobile,vendor:\"Microsoft\"})},{test(e){const t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:()=>({type:B.tablet})},{test:e=>\"android\"===e.getOSName(!0),describe:()=>({type:B.mobile})},{test:e=>\"macos\"===e.getOSName(!0),describe:()=>({type:B.desktop,vendor:\"Apple\"})},{test:e=>\"windows\"===e.getOSName(!0),describe:()=>({type:B.desktop})},{test:e=>\"linux\"===e.getOSName(!0),describe:()=>({type:B.desktop})},{test:e=>\"playstation 4\"===e.getOSName(!0),describe:()=>({type:B.tv})},{test:e=>\"roku\"===e.getOSName(!0),describe:()=>({type:B.tv})}],Y=[{test:e=>\"microsoft edge\"===e.getBrowserName(!0),describe(e){if(/\\sedg\\//i.test(e))return{name:U.Blink};const t=V.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:U.EdgeHTML,version:t}}},{test:[/trident/i],describe(e){const t={name:U.Trident},n=V.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:e=>e.test(/presto/i),describe(e){const t={name:U.Presto},n=V.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test(e){const t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe(e){const t={name:U.Gecko},n=V.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:()=>({name:U.Blink})},{test:[/(apple)?webkit/i],describe(e){const t={name:U.WebKit},n=V.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}}];class z{constructor(e,t=!1){if(null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}getUA(){return this._ua}test(e){return e.test(this._ua)}parseBrowser(){this.parsedResult.browser={};const e=V.find($,(e=>{if(\"function\"==typeof e.test)return e.test(this);if(e.test instanceof Array)return e.test.some((e=>this.test(e)));throw new Error(\"Browser's test function is not valid\")}));return e&&(this.parsedResult.browser=e.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};const e=V.find(G,(e=>{if(\"function\"==typeof e.test)return e.test(this);if(e.test instanceof Array)return e.test.some((e=>this.test(e)));throw new Error(\"Browser's test function is not valid\")}));return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os}getOSName(e){const{name:t}=this.getOS();return e?String(t).toLowerCase()||\"\":t||\"\"}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(e=!1){const{type:t}=this.getPlatform();return e?String(t).toLowerCase()||\"\":t||\"\"}parsePlatform(){this.parsedResult.platform={};const e=V.find(q,(e=>{if(\"function\"==typeof e.test)return e.test(this);if(e.test instanceof Array)return e.test.some((e=>this.test(e)));throw new Error(\"Browser's test function is not valid\")}));return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"}parseEngine(){this.parsedResult.engine={};const e=V.find(Y,(e=>{if(\"function\"==typeof e.test)return e.test(this);if(e.test instanceof Array)return e.test.some((e=>this.test(e)));throw new Error(\"Browser's test function is not valid\")}));return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return V.assign({},this.parsedResult)}satisfies(e){const t={};let n=0;const r={};let i=0;if(Object.keys(e).forEach((o=>{const a=e[o];\"string\"==typeof a?(r[o]=a,i+=1):\"object\"==typeof a&&(t[o]=a,n+=1)})),n>0){const e=Object.keys(t),n=V.find(e,(e=>this.isOS(e)));if(n){const e=this.satisfies(t[n]);if(void 0!==e)return e}const r=V.find(e,(e=>this.isPlatform(e)));if(r){const e=this.satisfies(t[r]);if(void 0!==e)return e}}if(i>0){const e=Object.keys(r),t=V.find(e,(e=>this.isBrowser(e,!0)));if(void 0!==t)return this.compareVersion(r[t])}}isBrowser(e,t=!1){const n=this.getBrowserName().toLowerCase();let r=e.toLowerCase();const i=V.getBrowserTypeByAlias(r);return t&&i&&(r=i.toLowerCase()),r===n}compareVersion(e){let t=[0],n=e,r=!1;const i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(n=e.substr(1),\"=\"===e[1]?(r=!0,n=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?n=e.substr(1):\"~\"===e[0]&&(r=!0,n=e.substr(1)),t.indexOf(V.compareVersions(i,n,r))>-1}isOS(e){return this.getOSName(!0)===String(e).toLowerCase()}isPlatform(e){return this.getPlatformType(!0)===String(e).toLowerCase()}isEngine(e){return this.getEngineName(!0)===String(e).toLowerCase()}is(e,t=!1){return this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)}some(e=[]){return e.some((e=>this.is(e)))}}\n/*!\n * Bowser - a browser detector\n * https://github.com/lancedikson/bowser\n * MIT License | (c) Dustin Diaz 2012-2015\n * MIT License | (c) Denis Demchenko 2015-2019\n */class W{static getParser(e,t=!1){if(\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new z(e,t)}static parse(e){return new z(e).getResult()}static get BROWSER_MAP(){return R}static get ENGINE_MAP(){return U}static get OS_MAP(){return F}static get PLATFORMS_MAP(){return B}}function H(){return Date.now()+Math.random().toString()}function Q(){throw new Error(\"Method must be implemented in subclass\")}function K(e,t){return null!=t&&t.proxyUrl?t.proxyUrl+(\"/\"===t.proxyUrl.slice(-1)?\"\":\"/\")+e.substring(8):e}function X(e){return null!=e&&e.callObjectBundleUrlOverride?e.callObjectBundleUrlOverride:K(\"https://c.daily.co/call-machine/versioned/\".concat(\"0.72.2\",\"/static/call-machine-object-bundle.js\"),e)}function Z(e){try{new URL(e)}catch(e){return!1}return!0}const ee=Object.prototype.toString;function te(e){switch(ee.call(e)){case\"[object Error]\":case\"[object Exception]\":case\"[object DOMException]\":return!0;default:return ue(e,Error)}}function ne(e,t){return ee.call(e)===`[object ${t}]`}function re(e){return ne(e,\"ErrorEvent\")}function ie(e){return ne(e,\"DOMError\")}function oe(e){return ne(e,\"String\")}function ae(e){return null===e||\"object\"!=typeof e&&\"function\"!=typeof e}function se(e){return ne(e,\"Object\")}function ce(e){return\"undefined\"!=typeof Event&&ue(e,Event)}function le(e){return Boolean(e&&e.then&&\"function\"==typeof e.then)}function ue(e,t){try{return e instanceof t}catch(e){return!1}}function de(e,t=0){return\"string\"!=typeof e||0===t||e.length<=t?e:`${e.slice(0,t)}...`}function he(e,t){if(!Array.isArray(e))return\"\";const n=[];for(let t=0;tpe(e,t,n)))}function ge(e,t,n=250,r,i,o,a){if(!(o.exception&&o.exception.values&&a&&ue(a.originalException,Error)))return;const s=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;var c,l;s&&(o.exception.values=(c=ve(e,t,i,a.originalException,r,o.exception.values,s,0),l=n,c.map((e=>(e.value&&(e.value=de(e.value,l)),e)))))}function ve(e,t,n,r,i,o,a,s){if(o.length>=n+1)return o;let c=[...o];if(ue(r[i],Error)){me(a,s);const o=e(t,r[i]),l=c.length;ye(o,i,l,s),c=ve(e,t,n,r[i],i,[o,...c],o,l)}return Array.isArray(r.errors)&&r.errors.forEach(((r,o)=>{if(ue(r,Error)){me(a,s);const l=e(t,r),u=c.length;ye(l,`errors[${o}]`,u,s),c=ve(e,t,n,r,i,[l,...c],l,u)}})),c}function me(e,t){e.mechanism=e.mechanism||{type:\"generic\",handled:!0},e.mechanism={...e.mechanism,is_exception_group:!0,exception_id:t}}function ye(e,t,n,r){e.mechanism=e.mechanism||{type:\"generic\",handled:!0},e.mechanism={...e.mechanism,type:\"chained\",source:t,exception_id:n,parent_id:r}}function _e(e){return e&&e.Math==Math?e:void 0}const be=\"object\"==typeof globalThis&&_e(globalThis)||\"object\"==typeof window&&_e(window)||\"object\"==typeof self&&_e(self)||\"object\"==typeof global&&_e(global)||function(){return this}()||{};function we(){return be}function Se(e,t,n){const r=n||be,i=r.__SENTRY__=r.__SENTRY__||{};return i[e]||(i[e]=t())}const ke=we(),Ee=80;function Ce(e,t={}){try{let n=e;const r=5,i=[];let o=0,a=0;const s=\" > \",c=s.length;let l;const u=Array.isArray(t)?t:t.keyAttrs,d=!Array.isArray(t)&&t.maxStringLength||Ee;for(;n&&o++1&&a+i.length*c+l.length>=d));)i.push(l),a+=l.length,n=n.parentNode;return i.reverse().join(s)}catch(e){return\"\"}}function Me(e,t){const n=e,r=[];let i,o,a,s,c;if(!n||!n.tagName)return\"\";r.push(n.tagName.toLowerCase());const l=t&&t.length?t.filter((e=>n.getAttribute(e))).map((e=>[e,n.getAttribute(e)])):null;if(l&&l.length)l.forEach((e=>{r.push(`[${e[0]}=\"${e[1]}\"]`)}));else if(n.id&&r.push(`#${n.id}`),i=n.className,i&&oe(i))for(o=i.split(/\\s+/),c=0;c{const r=t[e]&&t[e].__sentry_original__;e in t&&r&&(n[e]=t[e],t[e]=r)}));try{return e()}finally{Object.keys(n).forEach((e=>{t[e]=n[e]}))}}function Pe(){let e=!1;const t={enable:()=>{e=!0},disable:()=>{e=!1}};return\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?Te.forEach((n=>{t[n]=(...t)=>{e&&Oe((()=>{be.console[n](`Sentry Logger [${n}]:`,...t)}))}})):Te.forEach((e=>{t[e]=()=>{}})),t}let Ae;Ae=\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?Se(\"logger\",Pe):Pe();const De=/^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;function je(e,t=!1){const{host:n,path:r,pass:i,port:o,projectId:a,protocol:s,publicKey:c}=e;return`${s}://${c}${t&&i?`:${i}`:\"\"}@${n}${o?`:${o}`:\"\"}/${r?`${r}/`:r}${a}`}function xe(e){return{protocol:e.protocol,publicKey:e.publicKey||\"\",pass:e.pass||\"\",host:e.host,port:e.port||\"\",path:e.path||\"\",projectId:e.projectId}}function Le(e){const t=\"string\"==typeof e?function(e){const t=De.exec(e);if(!t)return void console.error(`Invalid Sentry Dsn: ${e}`);const[n,r,i=\"\",o,a=\"\",s]=t.slice(1);let c=\"\",l=s;const u=l.split(\"/\");if(u.length>1&&(c=u.slice(0,-1).join(\"/\"),l=u.pop()),l){const e=l.match(/^\\d+/);e&&(l=e[0])}return xe({host:o,pass:i,path:c,projectId:l,port:a,protocol:n,publicKey:r})}(e):xe(e);if(t&&function(e){if(\"undefined\"!=typeof __SENTRY_DEBUG__&&!__SENTRY_DEBUG__)return!0;const{port:t,projectId:n,protocol:r}=e;return!([\"protocol\",\"publicKey\",\"host\",\"projectId\"].find((t=>!e[t]&&(Ae.error(`Invalid Sentry Dsn: ${t} missing`),!0)))||(n.match(/^\\d+$/)?function(e){return\"http\"===e||\"https\"===e}(r)?t&&isNaN(parseInt(t,10))&&(Ae.error(`Invalid Sentry Dsn: Invalid port ${t}`),1):(Ae.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),1):(Ae.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),1)))}(t))return t}class Ie extends Error{constructor(e,t=\"warn\"){super(e),this.message=e,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=t}}function Ne(e,t,n){if(!(t in e))return;const r=e[t],i=n(r);if(\"function\"==typeof i)try{Be(i,r)}catch(e){}e[t]=i}function Re(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}function Be(e,t){const n=t.prototype||{};e.prototype=t.prototype=n,Re(e,\"__sentry_original__\",t)}function Fe(e){return e.__sentry_original__}function Ue(e){if(te(e))return{message:e.message,name:e.name,stack:e.stack,...Je(e)};if(ce(e)){const t={type:e.type,target:Ve(e.target),currentTarget:Ve(e.currentTarget),...Je(e)};return\"undefined\"!=typeof CustomEvent&&ue(e,CustomEvent)&&(t.detail=e.detail),t}return e}function Ve(e){try{return t=e,\"undefined\"!=typeof Element&&ue(t,Element)?Ce(e):Object.prototype.toString.call(e)}catch(e){return\"\"}var t}function Je(e){if(\"object\"==typeof e&&null!==e){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}return{}}function $e(e){return Ge(e,new Map)}function Ge(e,t){if(se(e)){const n=t.get(e);if(void 0!==n)return n;const r={};t.set(e,r);for(const n of Object.keys(e))void 0!==e[n]&&(r[n]=Ge(e[n],t));return r}if(Array.isArray(e)){const n=t.get(e);if(void 0!==n)return n;const r=[];return t.set(e,r),e.forEach((e=>{r.push(Ge(e,t))})),r}return e}const qe=\"\";function Ye(e){try{return e&&\"function\"==typeof e&&e.name||qe}catch(e){return qe}}const ze=we();function We(e){return e&&/^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(e.toString())}function He(){if(!function(){if(!(\"fetch\"in ze))return!1;try{return new Headers,new Request(\"http://www.example.com\"),new Response,!0}catch(e){return!1}}())return!1;if(We(ze.fetch))return!0;let e=!1;const t=ze.document;if(t&&\"function\"==typeof t.createElement)try{const n=t.createElement(\"iframe\");n.hidden=!0,t.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(e=We(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \",e)}return e}const Qe=we();const Ke=we(),Xe=\"__sentry_xhr_v2__\",Ze={},et={};function tt(e){if(!et[e])switch(et[e]=!0,e){case\"console\":!function(){if(!(\"console\"in Ke))return;Te.forEach((function(e){e in Ke.console&&Ne(Ke.console,e,(function(t){return function(...n){rt(\"console\",{args:n,level:e}),t&&t.apply(Ke.console,n)}}))}))}();break;case\"dom\":!function(){if(!(\"document\"in Ke))return;const e=rt.bind(null,\"dom\"),t=ut(e,!0);Ke.document.addEventListener(\"click\",t,!1),Ke.document.addEventListener(\"keypress\",t,!1),[\"EventTarget\",\"Node\"].forEach((t=>{const n=Ke[t]&&Ke[t].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty(\"addEventListener\")&&(Ne(n,\"addEventListener\",(function(t){return function(n,r,i){if(\"click\"===n||\"keypress\"==n)try{const r=this,o=r.__sentry_instrumentation_handlers__=r.__sentry_instrumentation_handlers__||{},a=o[n]=o[n]||{refCount:0};if(!a.handler){const r=ut(e);a.handler=r,t.call(this,n,r,i)}a.refCount++}catch(e){}return t.call(this,n,r,i)}})),Ne(n,\"removeEventListener\",(function(e){return function(t,n,r){if(\"click\"===t||\"keypress\"==t)try{const n=this,i=n.__sentry_instrumentation_handlers__||{},o=i[t];o&&(o.refCount--,o.refCount<=0&&(e.call(this,t,o.handler,r),o.handler=void 0,delete i[t]),0===Object.keys(i).length&&delete n.__sentry_instrumentation_handlers__)}catch(e){}return e.call(this,t,n,r)}})))}))}();break;case\"xhr\":!function(){if(!(\"XMLHttpRequest\"in Ke))return;const e=XMLHttpRequest.prototype;Ne(e,\"open\",(function(e){return function(...t){const n=t[1],r=this[Xe]={method:oe(t[0])?t[0].toUpperCase():t[0],url:t[1],request_headers:{}};oe(n)&&\"POST\"===r.method&&n.match(/sentry_key/)&&(this.__sentry_own_request__=!0);const i=()=>{const e=this[Xe];if(e&&4===this.readyState){try{e.status_code=this.status}catch(e){}rt(\"xhr\",{args:t,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return\"onreadystatechange\"in this&&\"function\"==typeof this.onreadystatechange?Ne(this,\"onreadystatechange\",(function(e){return function(...t){return i(),e.apply(this,t)}})):this.addEventListener(\"readystatechange\",i),Ne(this,\"setRequestHeader\",(function(e){return function(...t){const[n,r]=t,i=this[Xe];return i&&(i.request_headers[n.toLowerCase()]=r),e.apply(this,t)}})),e.apply(this,t)}})),Ne(e,\"send\",(function(e){return function(...t){const n=this[Xe];return n&&void 0!==t[0]&&(n.body=t[0]),rt(\"xhr\",{args:t,startTimestamp:Date.now(),xhr:this}),e.apply(this,t)}}))}();break;case\"fetch\":!function(){if(!He())return;Ne(Ke,\"fetch\",(function(e){return function(...t){const{method:n,url:r}=function(e){if(0===e.length)return{method:\"GET\",url:\"\"};if(2===e.length){const[t,n]=e;return{url:ot(t),method:it(n,\"method\")?String(n.method).toUpperCase():\"GET\"}}const t=e[0];return{url:ot(t),method:it(t,\"method\")?String(t.method).toUpperCase():\"GET\"}}(t),i={args:t,fetchData:{method:n,url:r},startTimestamp:Date.now()};return rt(\"fetch\",{...i}),e.apply(Ke,t).then((e=>(rt(\"fetch\",{...i,endTimestamp:Date.now(),response:e}),e)),(e=>{throw rt(\"fetch\",{...i,endTimestamp:Date.now(),error:e}),e}))}}))}();break;case\"history\":!function(){if(!function(){const e=Qe.chrome,t=e&&e.app&&e.app.runtime,n=\"history\"in Qe&&!!Qe.history.pushState&&!!Qe.history.replaceState;return!t&&n}())return;const e=Ke.onpopstate;function t(e){return function(...t){const n=t.length>2?t[2]:void 0;if(n){const e=at,t=String(n);at=t,rt(\"history\",{from:e,to:t})}return e.apply(this,t)}}Ke.onpopstate=function(...t){const n=Ke.location.href,r=at;if(at=n,rt(\"history\",{from:r,to:n}),e)try{return e.apply(this,t)}catch(e){}},Ne(Ke.history,\"pushState\",t),Ne(Ke.history,\"replaceState\",t)}();break;case\"error\":dt=Ke.onerror,Ke.onerror=function(e,t,n,r,i){return rt(\"error\",{column:r,error:i,line:n,msg:e,url:t}),!(!dt||dt.__SENTRY_LOADER__)&&dt.apply(this,arguments)},Ke.onerror.__SENTRY_INSTRUMENTED__=!0;break;case\"unhandledrejection\":ht=Ke.onunhandledrejection,Ke.onunhandledrejection=function(e){return rt(\"unhandledrejection\",e),!(ht&&!ht.__SENTRY_LOADER__)||ht.apply(this,arguments)},Ke.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0;break;default:return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"unknown instrumentation type:\",e))}}function nt(e,t){Ze[e]=Ze[e]||[],Ze[e].push(t),tt(e)}function rt(e,t){if(e&&Ze[e])for(const n of Ze[e]||[])try{n(t)}catch(t){(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(`Error while triggering instrumentation handler.\\nType: ${e}\\nName: ${Ye(n)}\\nError:`,t)}}function it(e,t){return!!e&&\"object\"==typeof e&&!!e[t]}function ot(e){return\"string\"==typeof e?e:e?it(e,\"url\")?e.url:e.toString?e.toString():\"\":\"\"}let at;const st=1e3;let ct,lt;function ut(e,t=!1){return n=>{if(!n||lt===n)return;if(function(e){if(\"keypress\"!==e.type)return!1;try{const t=e.target;if(!t||!t.tagName)return!0;if(\"INPUT\"===t.tagName||\"TEXTAREA\"===t.tagName||t.isContentEditable)return!1}catch(e){}return!0}(n))return;const r=\"keypress\"===n.type?\"input\":n.type;(void 0===ct||function(e,t){if(!e)return!0;if(e.type!==t.type)return!0;try{if(e.target!==t.target)return!0}catch(e){}return!1}(lt,n))&&(e({event:n,name:r,global:t}),lt=n),clearTimeout(ct),ct=Ke.setTimeout((()=>{ct=void 0}),st)}}let dt=null;let ht=null;function pt(){const e=be,t=e.crypto||e.msCrypto;if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,\"\");const n=t&&t.getRandomValues?()=>t.getRandomValues(new Uint8Array(1))[0]:()=>16*Math.random();return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,(e=>(e^(15&n())>>e/4).toString(16)))}function ft(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function gt(e){const{message:t,event_id:n}=e;if(t)return t;const r=ft(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||\"\":n||\"\"}function vt(e,t,n){const r=e.exception=e.exception||{},i=r.values=r.values||[],o=i[0]=i[0]||{};o.value||(o.value=t||\"\"),o.type||(o.type=n||\"Error\")}function mt(e,t){const n=ft(e);if(!n)return;const r=n.mechanism;if(n.mechanism={type:\"generic\",handled:!0,...r,...t},t&&\"data\"in t){const e={...r&&r.data,...t.data};n.mechanism.data=e}}function yt(e){if(e&&e.__sentry_captured__)return!0;try{Re(e,\"__sentry_captured__\",!0)}catch(e){}return!1}function _t(e,t=100,n=1/0){try{return wt(\"\",e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function bt(e,t=3,n=102400){const r=_t(e,t);return i=r,function(e){return~-encodeURI(e).split(/%..|./).length}(JSON.stringify(i))>n?bt(e,t-1,n):r;var i}function wt(e,t,n=1/0,r=1/0,i=function(){const e=\"function\"==typeof WeakSet,t=e?new WeakSet:[];return[function(n){if(e)return!!t.has(n)||(t.add(n),!1);for(let e=0;e=r){d[e]=\"[MaxProperties ~]\";break}const t=p[e];d[e]=wt(e,t,l-1,r,i),h++}return a(t),d}var St;function kt(e){return new Ct((t=>{t(e)}))}function Et(e){return new Ct(((t,n)=>{n(e)}))}!function(e){e[e.PENDING=0]=\"PENDING\";e[e.RESOLVED=1]=\"RESOLVED\";e[e.REJECTED=2]=\"REJECTED\"}(St||(St={}));class Ct{__init(){this._state=St.PENDING}__init2(){this._handlers=[]}constructor(e){Ct.prototype.__init.call(this),Ct.prototype.__init2.call(this),Ct.prototype.__init3.call(this),Ct.prototype.__init4.call(this),Ct.prototype.__init5.call(this),Ct.prototype.__init6.call(this);try{e(this._resolve,this._reject)}catch(e){this._reject(e)}}then(e,t){return new Ct(((n,r)=>{this._handlers.push([!1,t=>{if(e)try{n(e(t))}catch(e){r(e)}else n(t)},e=>{if(t)try{n(t(e))}catch(e){r(e)}else r(e)}]),this._executeHandlers()}))}catch(e){return this.then((e=>e),e)}finally(e){return new Ct(((t,n)=>{let r,i;return this.then((t=>{i=!1,r=t,e&&e()}),(t=>{i=!0,r=t,e&&e()})).then((()=>{i?n(r):t(r)}))}))}__init3(){this._resolve=e=>{this._setResult(St.RESOLVED,e)}}__init4(){this._reject=e=>{this._setResult(St.REJECTED,e)}}__init5(){this._setResult=(e,t)=>{this._state===St.PENDING&&(le(t)?t.then(this._resolve,this._reject):(this._state=e,this._value=t,this._executeHandlers()))}}__init6(){this._executeHandlers=()=>{if(this._state===St.PENDING)return;const e=this._handlers.slice();this._handlers=[],e.forEach((e=>{e[0]||(this._state===St.RESOLVED&&e[1](this._value),this._state===St.REJECTED&&e[2](this._value),e[0]=!0)}))}}}function Mt(e){const t=[];function n(e){return t.splice(t.indexOf(e),1)[0]}return{$:t,add:function(r){if(!(void 0===e||t.lengthn(i))).then(null,(()=>n(i).then(null,(()=>{})))),i},drain:function(e){return new Ct(((n,r)=>{let i=t.length;if(!i)return n(!0);const o=setTimeout((()=>{e&&e>0&&n(!1)}),e);t.forEach((e=>{kt(e).then((()=>{--i||(clearTimeout(o),n(!0))}),r)}))}))}}}function Tt(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||\"\",r=t[8]||\"\";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}const Ot=[\"fatal\",\"error\",\"warning\",\"log\",\"info\",\"debug\"];const Pt=we(),At={nowSeconds:()=>Date.now()/1e3};const Dt=\"undefined\"!=typeof __SENTRY_BROWSER_BUNDLE__&&__SENTRY_BROWSER_BUNDLE__||\"[object process]\"!==Object.prototype.toString.call(\"undefined\"!=typeof process?process:0)?function(){const{performance:e}=Pt;if(!e||!e.now)return;return{now:()=>e.now(),timeOrigin:Date.now()-e.now()}}():function(){try{return(e=module,t=\"perf_hooks\",e.require(t)).performance}catch(e){return}var e,t}(),jt=void 0===Dt?At:{nowSeconds:()=>(Dt.timeOrigin+Dt.now())/1e3},xt=At.nowSeconds.bind(At),Lt=jt.nowSeconds.bind(jt);function It(e,t=[]){return[e,t]}function Nt(e,t){const[n,r]=e;return[n,[...r,t]]}function Rt(e,t){const n=e[1];for(const e of n){if(t(e,e[0].type))return!0}return!1}function Bt(e,t){return(t||new TextEncoder).encode(e)}function Ft(e,t){const[n,r]=e;let i=JSON.stringify(n);function o(e){\"string\"==typeof i?i=\"string\"==typeof e?i+e:[Bt(i,t),e]:i.push(\"string\"==typeof e?Bt(e,t):e)}for(const e of r){const[t,n]=e;if(o(`\\n${JSON.stringify(t)}\\n`),\"string\"==typeof n||n instanceof Uint8Array)o(n);else{let e;try{e=JSON.stringify(n)}catch(t){e=JSON.stringify(_t(n))}o(e)}}return\"string\"==typeof i?i:function(e){const t=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(i)}function Ut(e,t){const n=\"string\"==typeof e.data?Bt(e.data,t):e.data;return[$e({type:\"attachment\",length:n.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),n]}(()=>{const{performance:e}=Pt;if(!e||!e.now)return;const t=36e5,n=e.now(),r=Date.now(),i=e.timeOrigin?Math.abs(e.timeOrigin+n-r):t,o=ifunction(e){return $e({sid:`${e.sid}`,init:e.init,started:new Date(1e3*e.started).toISOString(),timestamp:new Date(1e3*e.timestamp).toISOString(),status:e.status,errors:e.errors,did:\"number\"==typeof e.did||\"string\"==typeof e.did?`${e.did}`:void 0,duration:e.duration,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}})}(n)};return e&&Wt(n,e),n}function Wt(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),e.did||t.did||(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||Lt(),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=32===t.sid.length?t.sid:pt()),void 0!==t.init&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),\"number\"==typeof t.started&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(\"number\"==typeof t.duration)e.duration=t.duration;else{const t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),\"number\"==typeof t.errors&&(e.errors=t.errors),t.status&&(e.status=t.status)}class Ht{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=Xt()}static clone(e){const t=new Ht;return e&&(t._breadcrumbs=[...e._breadcrumbs],t._tags={...e._tags},t._extra={...e._extra},t._contexts={...e._contexts},t._user=e._user,t._level=e._level,t._span=e._span,t._session=e._session,t._transactionName=e._transactionName,t._fingerprint=e._fingerprint,t._eventProcessors=[...e._eventProcessors],t._requestSession=e._requestSession,t._attachments=[...e._attachments],t._sdkProcessingMetadata={...e._sdkProcessingMetadata},t._propagationContext={...e._propagationContext}),t}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{},this._session&&Wt(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(e){return this._requestSession=e,this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return null===t?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSpan(e){return this._span=e,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const e=this.getSpan();return e&&e.transaction}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;if(\"function\"==typeof e){const t=e(this);return t instanceof Ht?t:this}return e instanceof Ht?(this._tags={...this._tags,...e._tags},this._extra={...this._extra,...e._extra},this._contexts={...this._contexts,...e._contexts},e._user&&Object.keys(e._user).length&&(this._user=e._user),e._level&&(this._level=e._level),e._fingerprint&&(this._fingerprint=e._fingerprint),e._requestSession&&(this._requestSession=e._requestSession),e._propagationContext&&(this._propagationContext=e._propagationContext)):se(e)&&(this._tags={...this._tags,...e.tags},this._extra={...this._extra,...e.extra},this._contexts={...this._contexts,...e.contexts},e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint),e.requestSession&&(this._requestSession=e.requestSession),e.propagationContext&&(this._propagationContext=e.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=Xt(),this}addBreadcrumb(e,t){const n=\"number\"==typeof t?t:100;if(n<=0)return this;const r={timestamp:xt(),...e};return this._breadcrumbs=[...this._breadcrumbs,r].slice(-n),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(e,t={}){if(this._extra&&Object.keys(this._extra).length&&(e.extra={...this._extra,...e.extra}),this._tags&&Object.keys(this._tags).length&&(e.tags={...this._tags,...e.tags}),this._user&&Object.keys(this._user).length&&(e.user={...this._user,...e.user}),this._contexts&&Object.keys(this._contexts).length&&(e.contexts={...this._contexts,...e.contexts}),this._level&&(e.level=this._level),this._transactionName&&(e.transaction=this._transactionName),this._span){e.contexts={trace:this._span.getTraceContext(),...e.contexts};const t=this._span.transaction;if(t){e.sdkProcessingMetadata={dynamicSamplingContext:t.getDynamicSamplingContext(),...e.sdkProcessingMetadata};const n=t.name;n&&(e.tags={transaction:n,...e.tags})}}return this._applyFingerprint(e),e.breadcrumbs=[...e.breadcrumbs||[],...this._breadcrumbs],e.breadcrumbs=e.breadcrumbs.length>0?e.breadcrumbs:void 0,e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...this._sdkProcessingMetadata,propagationContext:this._propagationContext},this._notifyEventProcessors([...Qt(),...this._eventProcessors],e,t)}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...e},this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}_notifyEventProcessors(e,t,n,r=0){return new Ct(((i,o)=>{const a=e[r];if(null===t||\"function\"!=typeof a)i(t);else{const s=a({...t},n);(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.id&&null===s&&Ae.log(`Event processor \"${a.id}\" dropped event`),le(s)?s.then((t=>this._notifyEventProcessors(e,t,n,r+1).then(i))).then(null,o):this._notifyEventProcessors(e,s,n,r+1).then(i).then(null,o)}}))}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((e=>{e(this)})),this._notifyingListeners=!1)}_applyFingerprint(e){var t;e.fingerprint=e.fingerprint?(t=e.fingerprint,Array.isArray(t)?t:[t]):[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}}function Qt(){return Se(\"globalEventProcessors\",(()=>[]))}function Kt(e){Qt().push(e)}function Xt(){return{traceId:pt(),spanId:pt().substring(16),sampled:!1}}const Zt=4,en=100;class tn{constructor(e,t=new Ht,n=Zt){this._version=n,this._stack=[{scope:t}],e&&this.bindClient(e)}isOlderThan(e){return this._version{i.captureException(e,{originalException:e,syntheticException:r,...t,event_id:n},o)})),n}captureMessage(e,t,n){const r=this._lastEventId=n&&n.event_id?n.event_id:pt(),i=new Error(e);return this._withClient(((o,a)=>{o.captureMessage(e,t,{originalException:e,syntheticException:i,...n,event_id:r},a)})),r}captureEvent(e,t){const n=t&&t.event_id?t.event_id:pt();return e.type||(this._lastEventId=n),this._withClient(((r,i)=>{r.captureEvent(e,{...t,event_id:n},i)})),n}lastEventId(){return this._lastEventId}addBreadcrumb(e,t){const{scope:n,client:r}=this.getStackTop();if(!r)return;const{beforeBreadcrumb:i=null,maxBreadcrumbs:o=en}=r.getOptions&&r.getOptions()||{};if(o<=0)return;const a={timestamp:xt(),...e},s=i?Oe((()=>i(a,t))):a;null!==s&&(r.emit&&r.emit(\"beforeAddBreadcrumb\",s,t),n.addBreadcrumb(s,o))}setUser(e){this.getScope().setUser(e)}setTags(e){this.getScope().setTags(e)}setExtras(e){this.getScope().setExtras(e)}setTag(e,t){this.getScope().setTag(e,t)}setExtra(e,t){this.getScope().setExtra(e,t)}setContext(e,t){this.getScope().setContext(e,t)}configureScope(e){const{scope:t,client:n}=this.getStackTop();n&&e(t)}run(e){const t=rn(this);try{e(this)}finally{rn(t)}}getIntegration(e){const t=this.getClient();if(!t)return null;try{return t.getIntegration(e)}catch(t){return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Cannot retrieve integration ${e.id} from the current Hub`),null}}startTransaction(e,t){const n=this._callExtensionMethod(\"startTransaction\",e,t);return\"undefined\"!=typeof __SENTRY_DEBUG__&&!__SENTRY_DEBUG__||n||console.warn(\"Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\\nSentry.addTracingExtensions();\\nSentry.init({...});\\n\"),n}traceHeaders(){return this._callExtensionMethod(\"traceHeaders\")}captureSession(e=!1){if(e)return this.endSession();this._sendSessionUpdate()}endSession(){const e=this.getStackTop().scope,t=e.getSession();t&&function(e,t){let n={};t?n={status:t}:\"ok\"===e.status&&(n={status:\"exited\"}),Wt(e,n)}(t),this._sendSessionUpdate(),e.setSession()}startSession(e){const{scope:t,client:n}=this.getStackTop(),{release:r,environment:i=Yt}=n&&n.getOptions()||{},{userAgent:o}=be.navigator||{},a=zt({release:r,environment:i,user:t.getUser(),...o&&{userAgent:o},...e}),s=t.getSession&&t.getSession();return s&&\"ok\"===s.status&&Wt(s,{status:\"exited\"}),this.endSession(),t.setSession(a),a}shouldSendDefaultPii(){const e=this.getClient(),t=e&&e.getOptions();return Boolean(t&&t.sendDefaultPii)}_sendSessionUpdate(){const{scope:e,client:t}=this.getStackTop(),n=e.getSession();n&&t&&t.captureSession&&t.captureSession(n)}_withClient(e){const{scope:t,client:n}=this.getStackTop();n&&e(n,t)}_callExtensionMethod(e,...t){const n=nn().__SENTRY__;if(n&&n.extensions&&\"function\"==typeof n.extensions[e])return n.extensions[e].apply(this,t);(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Extension method ${e} couldn't be found, doing nothing.`)}}function nn(){return be.__SENTRY__=be.__SENTRY__||{extensions:{},hub:void 0},be}function rn(e){const t=nn(),n=an(t);return sn(t,e),n}function on(){const e=nn();if(e.__SENTRY__&&e.__SENTRY__.acs){const t=e.__SENTRY__.acs.getCurrentHub();if(t)return t}return function(e=nn()){t=e,t&&t.__SENTRY__&&t.__SENTRY__.hub&&!an(e).isOlderThan(Zt)||sn(e,new tn);var t;return an(e)}(e)}function an(e){return Se(\"hub\",(()=>new tn),e)}function sn(e,t){if(!e)return!1;return(e.__SENTRY__=e.__SENTRY__||{}).hub=t,!0}const cn=\"7\";function ln(e,t){return n={sentry_key:e.publicKey,sentry_version:cn,...t&&{sentry_client:`${t.name}/${t.version}`}},Object.keys(n).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(n[e])}`)).join(\"&\");var n}function un(e,t,n,r){const i=$t(n),o=e.type&&\"replay_event\"!==e.type?e.type:\"event\";!function(e,t){t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]])}(e,n&&n.sdk);const a=function(e,t,n,r){const i=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:(new Date).toISOString(),...t&&{sdk:t},...!!n&&{dsn:je(r)},...i&&{trace:$e({...i})}}}(e,i,r,t);delete e.sdkProcessingMetadata;return It(a,[[{type:o},e]])}const dn=[];function hn(e,t){t[e.name]=e,-1===dn.indexOf(e.name)&&(e.setupOnce(Kt,on),dn.push(e.name),(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(`Integration installed: ${e.name}`))}function pn(e,t,n,r){const{normalizeDepth:i=3,normalizeMaxBreadth:o=1e3}=e,a={...t,event_id:t.event_id||n.event_id||pt(),timestamp:t.timestamp||xt()},s=n.integrations||e.integrations.map((e=>e.name));!function(e,t){const{environment:n,release:r,dist:i,maxValueLength:o=250}=t;\"environment\"in e||(e.environment=\"environment\"in t?n:Yt);void 0===e.release&&void 0!==r&&(e.release=r);void 0===e.dist&&void 0!==i&&(e.dist=i);e.message&&(e.message=de(e.message,o));const a=e.exception&&e.exception.values&&e.exception.values[0];a&&a.value&&(a.value=de(a.value,o));const s=e.request;s&&s.url&&(s.url=de(s.url,o))}(a,e),function(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}(a,s),void 0===t.type&&function(e,t){const n=be._sentryDebugIds;if(!n)return;let r;const i=fn.get(t);i?r=i:(r=new Map,fn.set(t,r));const o=Object.keys(n).reduce(((e,i)=>{let o;const a=r.get(i);a?o=a:(o=t(i),r.set(i,o));for(let t=o.length-1;t>=0;t--){const r=o[t];if(r.filename){e[r.filename]=n[i];break}}return e}),{});try{e.exception.values.forEach((e=>{e.stacktrace.frames.forEach((e=>{e.filename&&(e.debug_id=o[e.filename])}))}))}catch(e){}}(a,e.stackParser);let c=r;n.captureContext&&(c=Ht.clone(c).update(n.captureContext));let l=kt(a);if(c){if(c.getAttachments){const e=[...n.attachments||[],...c.getAttachments()];e.length&&(n.attachments=e)}l=c.applyToEvent(a,n)}return l.then((e=>(e&&function(e){const t={};try{e.exception.values.forEach((e=>{e.stacktrace.frames.forEach((e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)}))}))}catch(e){}if(0===Object.keys(t).length)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.keys(t).forEach((e=>{n.push({type:\"sourcemap\",code_file:e,debug_id:t[e]})}))}(e),\"number\"==typeof i&&i>0?function(e,t,n){if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map((e=>({...e,...e.data&&{data:_t(e.data,t,n)}})))},...e.user&&{user:_t(e.user,t,n)},...e.contexts&&{contexts:_t(e.contexts,t,n)},...e.extra&&{extra:_t(e.extra,t,n)}};e.contexts&&e.contexts.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=_t(e.contexts.trace.data,t,n)));e.spans&&(r.spans=e.spans.map((e=>(e.data&&(e.data=_t(e.data,t,n)),e))));return r}(e,i,o):e)))}const fn=new WeakMap;const gn=\"Not capturing exception because it's already been captured.\";class vn{__init(){this._integrations={}}__init2(){this._integrationsInitialized=!1}__init3(){this._numProcessing=0}__init4(){this._outcomes={}}__init5(){this._hooks={}}constructor(e){if(vn.prototype.__init.call(this),vn.prototype.__init2.call(this),vn.prototype.__init3.call(this),vn.prototype.__init4.call(this),vn.prototype.__init5.call(this),this._options=e,e.dsn?this._dsn=Le(e.dsn):(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"No DSN provided, client will not do anything.\"),this._dsn){const t=function(e,t={}){const n=\"string\"==typeof t?t:t.tunnel,r=\"string\"!=typeof t&&t._metadata?t._metadata.sdk:void 0;return n||`${function(e){return`${function(e){const t=e.protocol?`${e.protocol}:`:\"\",n=e.port?`:${e.port}`:\"\";return`${t}//${e.host}${n}${e.path?`/${e.path}`:\"\"}/api/`}(e)}${e.projectId}/envelope/`}(e)}?${ln(e,r)}`}(this._dsn,e);this._transport=e.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}}captureException(e,t,n){if(yt(e))return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(gn));let r=t&&t.event_id;return this._process(this.eventFromException(e,t).then((e=>this._captureEvent(e,t,n))).then((e=>{r=e}))),r}captureMessage(e,t,n,r){let i=n&&n.event_id;const o=ae(e)?this.eventFromMessage(String(e),t,n):this.eventFromException(e,n);return this._process(o.then((e=>this._captureEvent(e,n,r))).then((e=>{i=e}))),i}captureEvent(e,t,n){if(t&&t.originalException&&yt(t.originalException))return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(gn));let r=t&&t.event_id;return this._process(this._captureEvent(e,t,n).then((e=>{r=e}))),r}captureSession(e){this._isEnabled()?\"string\"!=typeof e.release?(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"Discarded session because of missing or non-string release\"):(this.sendSession(e),Wt(e,{init:!1})):(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"SDK not enabled, will not capture session.\")}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){const t=this._transport;return t?this._isClientDoneProcessing(e).then((n=>t.flush(e).then((e=>n&&e)))):kt(!0)}close(e){return this.flush(e).then((e=>(this.getOptions().enabled=!1,e)))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=function(e){const t={};return e.forEach((e=>{e&&hn(e,t)})),t}(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(e){return this._integrations[e]}getIntegration(e){try{return this._integrations[e.id]||null}catch(t){return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Cannot retrieve integration ${e.id} from the current Client`),null}}addIntegration(e){hn(e,this._integrations)}sendEvent(e,t={}){if(this._dsn){let n=un(e,this._dsn,this._options._metadata,this._options.tunnel);for(const e of t.attachments||[])n=Nt(n,Ut(e,this._options.transportOptions&&this._options.transportOptions.textEncoder));const r=this._sendEnvelope(n);r&&r.then((t=>this.emit(\"afterSendEvent\",e,t)),null)}}sendSession(e){if(this._dsn){const t=function(e,t,n,r){const i=$t(n);return It({sent_at:(new Date).toISOString(),...i&&{sdk:i},...!!r&&{dsn:je(t)}},[\"aggregates\"in e?[{type:\"sessions\"},e]:[{type:\"session\"},e.toJSON()]])}(e,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(t)}}recordDroppedEvent(e,t,n){if(this._options.sendClientReports){const n=`${e}:${t}`;(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(`Adding outcome: \"${n}\"`),this._outcomes[n]=this._outcomes[n]+1||1}}on(e,t){this._hooks[e]||(this._hooks[e]=[]),this._hooks[e].push(t)}emit(e,...t){this._hooks[e]&&this._hooks[e].forEach((e=>e(...t)))}_updateSessionFromEvent(e,t){let n=!1,r=!1;const i=t.exception&&t.exception.values;if(i){r=!0;for(const e of i){const t=e.mechanism;if(t&&!1===t.handled){n=!0;break}}}const o=\"ok\"===e.status;(o&&0===e.errors||o&&n)&&(Wt(e,{...n&&{status:\"crashed\"},errors:e.errors||Number(r||n)}),this.captureSession(e))}_isClientDoneProcessing(e){return new Ct((t=>{let n=0;const r=setInterval((()=>{0==this._numProcessing?(clearInterval(r),t(!0)):(n+=1,e&&n>=e&&(clearInterval(r),t(!1)))}),1)}))}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._dsn}_prepareEvent(e,t,n){const r=this.getOptions(),i=Object.keys(this._integrations);return!t.integrations&&i.length>0&&(t.integrations=i),pn(r,e,t,n).then((e=>{if(null===e)return e;const{propagationContext:t}=e.sdkProcessingMetadata||{};if(!(e.contexts&&e.contexts.trace)&&t){const{traceId:r,spanId:i,parentSpanId:o,dsc:a}=t;e.contexts={trace:{trace_id:r,span_id:i,parent_span_id:o},...e.contexts};const s=a||function(e,t,n){const r=t.getOptions(),{publicKey:i}=t.getDsn()||{},{segment:o}=n&&n.getUser()||{},a=$e({environment:r.environment||Yt,release:r.release,user_segment:o,public_key:i,trace_id:e});return t.emit&&t.emit(\"createDsc\",a),a}(r,this,n);e.sdkProcessingMetadata={dynamicSamplingContext:s,...e.sdkProcessingMetadata}}return e}))}_captureEvent(e,t={},n){return this._processEvent(e,t,n).then((e=>e.event_id),(e=>{if(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__){const t=e;\"log\"===t.logLevel?Ae.log(t.message):Ae.warn(t)}}))}_processEvent(e,t,n){const r=this.getOptions(),{sampleRate:i}=r;if(!this._isEnabled())return Et(new Ie(\"SDK not enabled, will not capture event.\",\"log\"));const o=yn(e),a=mn(e),s=e.type||\"error\",c=`before send for type \\`${s}\\``;if(a&&\"number\"==typeof i&&Math.random()>i)return this.recordDroppedEvent(\"sample_rate\",\"error\",e),Et(new Ie(`Discarding event because it's not included in the random sample (sampling rate = ${i})`,\"log\"));const l=\"replay_event\"===s?\"replay\":s;return this._prepareEvent(e,t,n).then((n=>{if(null===n)throw this.recordDroppedEvent(\"event_processor\",l,e),new Ie(\"An event processor returned `null`, will not send event.\",\"log\");if(t.data&&!0===t.data.__sentry__)return n;const i=function(e,t,n){const{beforeSend:r,beforeSendTransaction:i}=e;if(mn(t)&&r)return r(t,n);if(yn(t)&&i)return i(t,n);return t}(r,n,t);return function(e,t){const n=`${t} must return \\`null\\` or a valid event.`;if(le(e))return e.then((e=>{if(!se(e)&&null!==e)throw new Ie(n);return e}),(e=>{throw new Ie(`${t} rejected with ${e}`)}));if(!se(e)&&null!==e)throw new Ie(n);return e}(i,c)})).then((r=>{if(null===r)throw this.recordDroppedEvent(\"before_send\",l,e),new Ie(`${c} returned \\`null\\`, will not send event.`,\"log\");const i=n&&n.getSession();!o&&i&&this._updateSessionFromEvent(i,r);const a=r.transaction_info;if(o&&a&&r.transaction!==e.transaction){const e=\"custom\";r.transaction_info={...a,source:e}}return this.sendEvent(r,t),r})).then(null,(e=>{if(e instanceof Ie)throw e;throw this.captureException(e,{data:{__sentry__:!0},originalException:e}),new Ie(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${e}`)}))}_process(e){this._numProcessing++,e.then((e=>(this._numProcessing--,e)),(e=>(this._numProcessing--,e)))}_sendEnvelope(e){if(this._transport&&this._dsn)return this.emit(\"beforeEnvelope\",e),this._transport.send(e).then(null,(e=>{(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(\"Error while sending event:\",e)}));(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(\"Transport disabled\")}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.keys(e).map((t=>{const[n,r]=t.split(\":\");return{reason:n,category:r,quantity:e[t]}}))}}function mn(e){return void 0===e.type}function yn(e){return\"transaction\"===e.type}const _n=30;function bn(e,t,n=Mt(e.bufferSize||_n)){let r={};function i(i){const o=[];if(Rt(i,((t,n)=>{const i=Jt(n);if(function(e,t,n=Date.now()){return function(e,t){return e[t]||e.all||0}(e,t)>n}(r,i)){const r=wn(t,n);e.recordDroppedEvent(\"ratelimit_backoff\",i,r)}else o.push(t)})),0===o.length)return kt();const a=It(i[0],o),s=t=>{Rt(a,((n,r)=>{const i=wn(n,r);e.recordDroppedEvent(t,Jt(r),i)}))};return n.add((()=>t({body:Ft(a,e.textEncoder)}).then((e=>(void 0!==e.statusCode&&(e.statusCode<200||e.statusCode>=300)&&(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=qt(r,e),e)),(e=>{throw s(\"network_error\"),e})))).then((e=>e),(e=>{if(e instanceof Ie)return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(\"Skipped sending event because buffer is full.\"),s(\"queue_overflow\"),kt();throw e}))}return i.__sentry__baseTransport__=!0,{send:i,flush:e=>n.drain(e)}}function wn(e,t){if(\"event\"===t||\"transaction\"===t)return Array.isArray(e)?e[1]:void 0}const Sn=\"7.60.1\";let kn;class En{constructor(){En.prototype.__init.call(this)}static __initStatic(){this.id=\"FunctionToString\"}__init(){this.name=En.id}setupOnce(){kn=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Fe(this)||this;return kn.apply(t,e)}}catch(e){}}}En.__initStatic();const Cn=[/^Script error\\.?$/,/^Javascript error: Script error\\.? on line 0$/],Mn=[/^.*healthcheck.*$/,/^.*healthy.*$/,/^.*live.*$/,/^.*ready.*$/,/^.*heartbeat.*$/,/^.*\\/health$/,/^.*\\/healthz$/];class Tn{static __initStatic(){this.id=\"InboundFilters\"}__init(){this.name=Tn.id}constructor(e={}){this._options=e,Tn.prototype.__init.call(this)}setupOnce(e,t){const n=e=>{const n=t();if(n){const t=n.getIntegration(Tn);if(t){const r=n.getClient(),i=r?r.getOptions():{},o=function(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Cn],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[],...e.disableTransactionDefaults?[]:Mn],ignoreInternal:void 0===e.ignoreInternal||e.ignoreInternal}}(t._options,i);return function(e,t){if(t.ignoreInternal&&function(e){try{return\"SentryError\"===e.exception.values[0].type}catch(e){}return!1}(e))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${gt(e)}`),!0;if(function(e,t){if(e.type||!t||!t.length)return!1;return function(e){if(e.message)return[e.message];if(e.exception){const{values:t}=e.exception;try{const{type:e=\"\",value:n=\"\"}=t&&t[t.length-1]||{};return[`${n}`,`${e}: ${n}`]}catch(t){return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(`Cannot extract message for event ${gt(e)}`),[]}}return[]}(e).some((e=>fe(e,t)))}(e,t.ignoreErrors))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${gt(e)}`),!0;if(function(e,t){if(\"transaction\"!==e.type||!t||!t.length)return!1;const n=e.transaction;return!!n&&fe(n,t)}(e,t.ignoreTransactions))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Event dropped due to being matched by \\`ignoreTransactions\\` option.\\nEvent: ${gt(e)}`),!0;if(function(e,t){if(!t||!t.length)return!1;const n=On(e);return!!n&&fe(n,t)}(e,t.denyUrls))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${gt(e)}.\\nUrl: ${On(e)}`),!0;if(!function(e,t){if(!t||!t.length)return!0;const n=On(e);return!n||fe(n,t)}(e,t.allowUrls))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${gt(e)}.\\nUrl: ${On(e)}`),!0;return!1}(e,o)?null:e}}return e};n.id=this.name,e(n)}}function On(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch(e){}return t?function(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&\"\"!==n.filename&&\"[native code]\"!==n.filename)return n.filename||null}return null}(t):null}catch(t){return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.error(`Cannot extract url for event ${gt(e)}`),null}}Tn.__initStatic();var Pn=Object.freeze({__proto__:null,FunctionToString:En,InboundFilters:Tn});const An=be;let Dn=0;function jn(){return Dn>0}function xn(e,t={},n){if(\"function\"!=typeof e)return e;try{const t=e.__sentry_wrapped__;if(t)return t;if(Fe(e))return e}catch(t){return e}const r=function(){const r=Array.prototype.slice.call(arguments);try{n&&\"function\"==typeof n&&n.apply(this,arguments);const i=r.map((e=>xn(e,t)));return e.apply(this,i)}catch(e){throw Dn++,setTimeout((()=>{Dn--})),i=n=>{var i,o;n.addEventProcessor((e=>(t.mechanism&&(vt(e,void 0,void 0),mt(e,t.mechanism)),e.extra={...e.extra,arguments:r},e))),i=e,on().captureException(i,{captureContext:o})},on().withScope(i),e}var i};try{for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])}catch(e){}Be(r,e),Re(e,\"__sentry_wrapped__\",r);try{Object.getOwnPropertyDescriptor(r,\"name\").configurable&&Object.defineProperty(r,\"name\",{get:()=>e.name})}catch(e){}return r}function Ln(e,t){const n=Nn(e,t),r={type:t&&t.name,value:Bn(t)};return n.length&&(r.stacktrace={frames:n}),void 0===r.type&&\"\"===r.value&&(r.value=\"Unrecoverable error caught\"),r}function In(e,t){return{exception:{values:[Ln(e,t)]}}}function Nn(e,t){const n=t.stacktrace||t.stack||\"\",r=function(e){if(e){if(\"number\"==typeof e.framesToPop)return e.framesToPop;if(Rn.test(e.message))return 1}return 0}(t);try{return e(n,r)}catch(e){}return[]}const Rn=/Minified React error #\\d+;/i;function Bn(e){const t=e&&e.message;return t?t.error&&\"string\"==typeof t.error.message?t.error.message:t:\"No error message\"}function Fn(e,t,n,r,i){let o;if(re(t)&&t.error){return In(e,t.error)}if(ie(t)||ne(t,\"DOMException\")){const i=t;if(\"stack\"in t)o=In(e,t);else{const t=i.name||(ie(i)?\"DOMError\":\"DOMException\"),a=i.message?`${t}: ${i.message}`:t;o=Un(e,a,n,r),vt(o,a)}return\"code\"in i&&(o.tags={...o.tags,\"DOMException.code\":`${i.code}`}),o}if(te(t))return In(e,t);if(se(t)||ce(t)){return o=function(e,t,n,r){const i=on().getClient(),o=i&&i.getOptions().normalizeDepth,a={exception:{values:[{type:ce(t)?t.constructor.name:r?\"UnhandledRejection\":\"Error\",value:Vn(t,{isUnhandledRejection:r})}]},extra:{__serialized__:bt(t,o)}};if(n){const t=Nn(e,n);t.length&&(a.exception.values[0].stacktrace={frames:t})}return a}(e,t,n,i),mt(o,{synthetic:!0}),o}return o=Un(e,t,n,r),vt(o,`${t}`,void 0),mt(o,{synthetic:!0}),o}function Un(e,t,n,r){const i={message:t};if(r&&n){const r=Nn(e,n);r.length&&(i.exception={values:[{value:t,stacktrace:{frames:r}}]})}return i}function Vn(e,{isUnhandledRejection:t}){const n=function(e,t=40){const n=Object.keys(Ue(e));if(n.sort(),!n.length)return\"[object has no keys]\";if(n[0].length>=t)return de(n[0],t);for(let e=n.length;e>0;e--){const r=n.slice(0,e).join(\", \");if(!(r.length>t))return e===n.length?r:de(r,t)}return\"\"}(e),r=t?\"promise rejection\":\"exception\";if(re(e))return`Event \\`ErrorEvent\\` captured as ${r} with message \\`${e.message}\\``;if(ce(e)){return`Event \\`${function(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(e){}}(e)}\\` (type=${e.type}) captured as ${r}`}return`Object captured as ${r} with keys: ${n}`}const Jn=1024,$n=\"Breadcrumbs\";class Gn{static __initStatic(){this.id=$n}__init(){this.name=Gn.id}constructor(e){Gn.prototype.__init.call(this),this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e}}setupOnce(){this.options.console&&nt(\"console\",qn),this.options.dom&&nt(\"dom\",function(e){function t(t){let n,r=\"object\"==typeof e?e.serializeAttribute:void 0,i=\"object\"==typeof e&&\"number\"==typeof e.maxStringLength?e.maxStringLength:void 0;i&&i>Jn&&((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(`\\`dom.maxStringLength\\` cannot exceed 1024, but a value of ${i} was configured. Sentry will use 1024 instead.`),i=Jn),\"string\"==typeof r&&(r=[r]);try{const e=t.event;n=function(e){return!!e&&!!e.target}(e)?Ce(e.target,{keyAttrs:r,maxStringLength:i}):Ce(e,{keyAttrs:r,maxStringLength:i})}catch(e){n=\"\"}0!==n.length&&on().addBreadcrumb({category:`ui.${t.name}`,message:n},{event:t.event,name:t.name,global:t.global})}return t}(this.options.dom)),this.options.xhr&&nt(\"xhr\",Yn),this.options.fetch&&nt(\"fetch\",zn),this.options.history&&nt(\"history\",Wn)}addSentryBreadcrumb(e){this.options.sentry&&on().addBreadcrumb({category:\"sentry.\"+(\"transaction\"===e.type?\"transaction\":\"event\"),event_id:e.event_id,level:e.level,message:gt(e)},{event:e})}}function qn(e){for(let t=0;t{\"hidden\"===An.document.visibilityState&&this._flushOutcomes()}))}eventFromException(e,t){return function(e,t,n,r){const i=Fn(e,t,n&&n.syntheticException||void 0,r);return mt(i),i.level=\"error\",n&&n.event_id&&(i.event_id=n.event_id),kt(i)}(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t=\"info\",n){return function(e,t,n=\"info\",r,i){const o=Un(e,t,r&&r.syntheticException||void 0,i);return o.level=n,r&&r.event_id&&(o.event_id=r.event_id),kt(o)}(this._options.stackParser,e,t,n,this._options.attachStacktrace)}sendEvent(e,t){const n=this.getIntegrationById($n);n&&n.addSentryBreadcrumb&&n.addSentryBreadcrumb(e),super.sendEvent(e,t)}captureUserFeedback(e){if(!this._isEnabled())return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"SDK not enabled, will not capture user feedback.\"));const t=function(e,{metadata:t,tunnel:n,dsn:r}){const i={event_id:e.event_id,sent_at:(new Date).toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:je(r)}},o=function(e){return[{type:\"user_report\"},e]}(e);return It(i,[o])}(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(t)}_prepareEvent(e,t,n){return e.platform=e.platform||\"javascript\",super._prepareEvent(e,t,n)}_flushOutcomes(){const e=this._clearOutcomes();if(0===e.length)return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(\"No outcomes to send\"));if(!this._dsn)return void((\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(\"No dsn provided, will not send outcomes\"));(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(\"Sending outcomes:\",e);const t=(n=e,It((r=this._options.tunnel&&je(this._dsn))?{dsn:r}:{},[[{type:\"client_report\"},{timestamp:i||xt(),discarded_events:n}]]));var n,r,i;this._sendEnvelope(t)}}let Qn;function Kn(e,t=function(){if(Qn)return Qn;if(We(An.fetch))return Qn=An.fetch.bind(An);const e=An.document;let t=An.fetch;if(e&&\"function\"==typeof e.createElement)try{const n=e.createElement(\"iframe\");n.hidden=!0,e.head.appendChild(n);const r=n.contentWindow;r&&r.fetch&&(t=r.fetch),e.head.removeChild(n)}catch(e){(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \",e)}return Qn=t.bind(An)}()){let n=0,r=0;return bn(e,(function(i){const o=i.body.length;n+=o,r++;const a={body:i.body,method:\"POST\",referrerPolicy:\"origin\",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{return t(e.url,a).then((e=>(n-=o,r--,{statusCode:e.status,headers:{\"x-sentry-rate-limits\":e.headers.get(\"X-Sentry-Rate-Limits\"),\"retry-after\":e.headers.get(\"Retry-After\")}})))}catch(e){return Qn=void 0,n-=o,r--,Et(e)}}))}class Xn{static __initStatic(){this.id=\"GlobalHandlers\"}__init(){this.name=Xn.id}__init2(){this._installFunc={onerror:Zn,onunhandledrejection:er}}constructor(e){Xn.prototype.__init.call(this),Xn.prototype.__init2.call(this),this._options={onerror:!0,onunhandledrejection:!0,...e}}setupOnce(){Error.stackTraceLimit=50;const e=this._options;for(const n in e){const r=this._installFunc[n];r&&e[n]&&(t=n,(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.log(`Global Handler attached: ${t}`),r(),this._installFunc[n]=void 0)}var t}}function Zn(){nt(\"error\",(e=>{const[t,n,r]=rr();if(!t.getIntegration(Xn))return;const{msg:i,url:o,line:a,column:s,error:c}=e;if(jn()||c&&c.__sentry_own_request__)return;const l=void 0===c&&oe(i)?function(e,t,n,r){const i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let o=re(e)?e.message:e,a=\"Error\";const s=o.match(i);s&&(a=s[1],o=s[2]);const c={exception:{values:[{type:a,value:o}]}};return tr(c,t,n,r)}(i,o,a,s):tr(Fn(n,c||i,void 0,r,!1),o,a,s);l.level=\"error\",nr(t,c,l,\"onerror\")}))}function er(){nt(\"unhandledrejection\",(e=>{const[t,n,r]=rr();if(!t.getIntegration(Xn))return;let i=e;try{\"reason\"in e?i=e.reason:\"detail\"in e&&\"reason\"in e.detail&&(i=e.detail.reason)}catch(e){}if(jn()||i&&i.__sentry_own_request__)return!0;const o=ae(i)?{exception:{values:[{type:\"UnhandledRejection\",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}:Fn(n,i,void 0,r,!0);o.level=\"error\",nr(t,i,o,\"onunhandledrejection\")}))}function tr(e,t,n,r){const i=e.exception=e.exception||{},o=i.values=i.values||[],a=o[0]=o[0]||{},s=a.stacktrace=a.stacktrace||{},c=s.frames=s.frames||[],l=isNaN(parseInt(r,10))?void 0:r,u=isNaN(parseInt(n,10))?void 0:n,d=oe(t)&&t.length>0?t:function(){try{return ke.document.location.href}catch(e){return\"\"}}();return 0===c.length&&c.push({colno:l,filename:d,function:\"?\",in_app:!0,lineno:u}),e}function nr(e,t,n,r){mt(n,{handled:!1,type:r}),e.captureEvent(n,{originalException:t})}function rr(){const e=on(),t=e.getClient(),n=t&&t.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[e,n.stackParser,n.attachStacktrace]}Xn.__initStatic();const ir=[\"EventTarget\",\"Window\",\"Node\",\"ApplicationCache\",\"AudioTrackList\",\"ChannelMergerNode\",\"CryptoOperation\",\"EventSource\",\"FileReader\",\"HTMLUnknownElement\",\"IDBDatabase\",\"IDBRequest\",\"IDBTransaction\",\"KeyOperation\",\"MediaController\",\"MessagePort\",\"ModalWindow\",\"Notification\",\"SVGElementInstance\",\"Screen\",\"TextTrack\",\"TextTrackCue\",\"TextTrackList\",\"WebSocket\",\"WebSocketWorker\",\"Worker\",\"XMLHttpRequest\",\"XMLHttpRequestEventTarget\",\"XMLHttpRequestUpload\"];class or{static __initStatic(){this.id=\"TryCatch\"}__init(){this.name=or.id}constructor(e){or.prototype.__init.call(this),this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e}}setupOnce(){this._options.setTimeout&&Ne(An,\"setTimeout\",ar),this._options.setInterval&&Ne(An,\"setInterval\",ar),this._options.requestAnimationFrame&&Ne(An,\"requestAnimationFrame\",sr),this._options.XMLHttpRequest&&\"XMLHttpRequest\"in An&&Ne(XMLHttpRequest.prototype,\"send\",cr);const e=this._options.eventTarget;if(e){(Array.isArray(e)?e:ir).forEach(lr)}}}function ar(e){return function(...t){const n=t[0];return t[0]=xn(n,{mechanism:{data:{function:Ye(e)},handled:!0,type:\"instrument\"}}),e.apply(this,t)}}function sr(e){return function(t){return e.apply(this,[xn(t,{mechanism:{data:{function:\"requestAnimationFrame\",handler:Ye(e)},handled:!0,type:\"instrument\"}})])}}function cr(e){return function(...t){const n=this;return[\"onload\",\"onerror\",\"onprogress\",\"onreadystatechange\"].forEach((e=>{e in n&&\"function\"==typeof n[e]&&Ne(n,e,(function(t){const n={mechanism:{data:{function:e,handler:Ye(t)},handled:!0,type:\"instrument\"}},r=Fe(t);return r&&(n.mechanism.data.handler=Ye(r)),xn(t,n)}))})),e.apply(this,t)}}function lr(e){const t=An,n=t[e]&&t[e].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty(\"addEventListener\")&&(Ne(n,\"addEventListener\",(function(t){return function(n,r,i){try{\"function\"==typeof r.handleEvent&&(r.handleEvent=xn(r.handleEvent,{mechanism:{data:{function:\"handleEvent\",handler:Ye(r),target:e},handled:!0,type:\"instrument\"}}))}catch(e){}return t.apply(this,[n,xn(r,{mechanism:{data:{function:\"addEventListener\",handler:Ye(r),target:e},handled:!0,type:\"instrument\"}}),i])}})),Ne(n,\"removeEventListener\",(function(e){return function(t,n,r){const i=n;try{const n=i&&i.__sentry_wrapped__;n&&e.call(this,t,n,r)}catch(e){}return e.call(this,t,i,r)}})))}or.__initStatic();class ur{static __initStatic(){this.id=\"LinkedErrors\"}__init(){this.name=ur.id}constructor(e={}){ur.prototype.__init.call(this),this._key=e.key||\"cause\",this._limit=e.limit||5}setupOnce(e,t){e(((e,n)=>{const r=t(),i=r.getClient(),o=r.getIntegration(ur);if(!i||!o)return e;const a=i.getOptions();return ge(Ln,a.stackParser,a.maxValueLength,o._key,o._limit,e,n),e}))}}ur.__initStatic();class dr{constructor(){dr.prototype.__init.call(this)}static __initStatic(){this.id=\"HttpContext\"}__init(){this.name=dr.id}setupOnce(){Kt((e=>{if(on().getIntegration(dr)){if(!An.navigator&&!An.location&&!An.document)return e;const t=e.request&&e.request.url||An.location&&An.location.href,{referrer:n}=An.document||{},{userAgent:r}=An.navigator||{},i={...e.request&&e.request.headers,...n&&{Referer:n},...r&&{\"User-Agent\":r}},o={...e.request,...t&&{url:t},headers:i};return{...e,request:o}}return e}))}}dr.__initStatic();class hr{constructor(){hr.prototype.__init.call(this)}static __initStatic(){this.id=\"Dedupe\"}__init(){this.name=hr.id}setupOnce(e,t){const n=e=>{if(e.type)return e;const n=t().getIntegration(hr);if(n){try{if(function(e,t){if(!t)return!1;if(function(e,t){const n=e.message,r=t.message;if(!n&&!r)return!1;if(n&&!r||!n&&r)return!1;if(n!==r)return!1;if(!fr(e,t))return!1;if(!pr(e,t))return!1;return!0}(e,t))return!0;if(function(e,t){const n=gr(t),r=gr(e);if(!n||!r)return!1;if(n.type!==r.type||n.value!==r.value)return!1;if(!fr(e,t))return!1;if(!pr(e,t))return!1;return!0}(e,t))return!0;return!1}(e,n._previousEvent))return(\"undefined\"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&Ae.warn(\"Event dropped due to being a duplicate of previously captured event.\"),null}catch(t){return n._previousEvent=e}return n._previousEvent=e}return e};n.id=this.name,e(n)}}function pr(e,t){let n=vr(e),r=vr(t);if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;if(r.length!==n.length)return!1;for(let e=0;e=75;case\"Safari\":return RTCRtpTransceiver.prototype.hasOwnProperty(\"currentDirection\")&&!(13===t.major&&0===t.minor&&0===t.point);case\"Firefox\":return t.major>=67}return!0}(Lo(),Io())||Eo())}function To(){if(Eo())return!1;if(!document)return!1;var e=document.createElement(\"iframe\");return!!e.requestFullscreen||!!e.webkitRequestFullscreen}var Oo=function(){try{var e=document.createElement(\"canvas\"),t=null!=e.getContext(\"webgl2\");return e.remove(),t}catch(e){return!1}}();function Po(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!Eo()&&(!!Oo&&(e?function(){if(xo())return!1;return[\"Chrome\",\"Firefox\"].includes(Lo())}():function(){if(xo())return!1;var e=Lo();if(\"Safari\"===e){var t=Fo();if(t.major<15||15===t.major&&t.minor<4)return!1}if(\"Chrome\"===e){return No().major>=77}if(\"Firefox\"===e){return Uo().major>=97}return[\"Chrome\",\"Firefox\",\"Safari\"].includes(e)}()))}function Ao(){if(Eo())return!1;if(jo())return!1;if(\"undefined\"==typeof AudioWorkletNode)return!1;switch(Lo()){case\"Chrome\":case\"Firefox\":return!0;case\"Safari\":return Io().major>=17}return!1}function Do(){return Co()&&!function(){var e,t=Lo();if(!ko())return!0;switch(t){case\"Chrome\":return(e=No()).major&&e.major>0&&e.major<75;case\"Firefox\":return(e=Uo()).major<91;case\"Safari\":return(e=Fo()).major<13||13===e.major&&e.minor<1;default:return!0}}()}function jo(){return ko().match(/Linux; Android/)}function xo(){var e,t,n=ko(),r=n.match(/Mac/)&&(!Eo()&&\"undefined\"!=typeof window&&null!==(e=window)&&void 0!==e&&null!==(t=e.navigator)&&void 0!==t&&t.maxTouchPoints?window.navigator.maxTouchPoints:0)>=5;return!!(n.match(/Mobi/)||n.match(/Android/)||r)||(!!ko().match(/DailyAnd\\//)||void 0)}function Lo(){if(\"undefined\"!=typeof window){var e=ko();return Ro()?\"Safari\":e.indexOf(\"Edge\")>-1?\"Edge\":e.match(/Chrome\\//)?\"Chrome\":e.indexOf(\"Safari\")>-1||Bo()?\"Safari\":e.indexOf(\"Firefox\")>-1?\"Firefox\":e.indexOf(\"MSIE\")>-1||e.indexOf(\".NET\")>-1?\"IE\":\"Unknown Browser\"}}function Io(){switch(Lo()){case\"Chrome\":return No();case\"Safari\":return Fo();case\"Firefox\":return Uo();case\"Edge\":return function(){var e=0,t=0;if(\"undefined\"!=typeof window){var n=ko().match(/Edge\\/(\\d+).(\\d+)/);if(n)try{e=parseInt(n[1]),t=parseInt(n[2])}catch(e){}}return{major:e,minor:t}}()}}function No(){var e=0,t=0,n=0,r=0,i=!1;if(\"undefined\"!=typeof window){var o=ko(),a=o.match(/Chrome\\/(\\d+).(\\d+).(\\d+).(\\d+)/);if(a)try{e=parseInt(a[1]),t=parseInt(a[2]),n=parseInt(a[3]),r=parseInt(a[4]),i=o.indexOf(\"OPR/\")>-1}catch(e){}}return{major:e,minor:t,build:n,patch:r,opera:i}}function Ro(){return!!ko().match(/iPad|iPhone|iPod/i)&&Co()}function Bo(){return ko().indexOf(\"AppleWebKit/605.1.15\")>-1}function Fo(){var e=0,t=0,n=0;if(\"undefined\"!=typeof window){var r=ko().match(/Version\\/(\\d+).(\\d+)(.(\\d+))?/);if(r)try{e=parseInt(r[1]),t=parseInt(r[2]),n=parseInt(r[4])}catch(e){}else(Ro()||Bo())&&(e=14,t=0,n=3)}return{major:e,minor:t,point:n}}function Uo(){var e=0,t=0;if(\"undefined\"!=typeof window){var n=ko().match(/Firefox\\/(\\d+).(\\d+)/);if(n)try{e=parseInt(n[1]),t=parseInt(n[2])}catch(e){}}return{major:e,minor:t}}var Vo=function(){function e(){t(this,e)}return o(e,[{key:\"addListenerForMessagesFromCallMachine\",value:function(e,t,n){Q()}},{key:\"addListenerForMessagesFromDailyJs\",value:function(e,t,n){Q()}},{key:\"sendMessageToCallMachine\",value:function(e,t,n,r){Q()}},{key:\"sendMessageToDailyJs\",value:function(e,t){Q()}},{key:\"removeListener\",value:function(e){Q()}}]),e}();function Jo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $o(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=n.data,i=n.mergeStrategy,o=void 0===i?Ho:i;t(this,e),e._validateMergeStrategy(o),e._validateData(r,o),this.mergeStrategy=o,this.data=r}return o(e,[{key:\"isNoOp\",value:function(){return e.isNoOpUpdate(this.data,this.mergeStrategy)}}],[{key:\"isNoOpUpdate\",value:function(e,t){return 0===Object.keys(e).length&&t===Qo}},{key:\"_validateMergeStrategy\",value:function(e){if(!Ko.includes(e))throw Error(\"Unrecognized mergeStrategy provided. Options are: [\".concat(Ko,\"]\"))}},{key:\"_validateData\",value:function(e,t){if(!function(e){if(null==e||\"object\"!==n(e))return!1;var t=Object.getPrototypeOf(e);return null==t||t===Object.prototype}(e))throw Error(\"Meeting session data must be a plain (map-like) object\");var r;try{if(r=JSON.stringify(e),t===Ho){var i=JSON.parse(r);I(i,e)||console.warn(\"The meeting session data provided will be modified when serialized.\",i,e)}else if(t===Qo)for(var o in e)if(Object.hasOwnProperty.call(e,o)&&void 0!==e[o]){var a=JSON.parse(JSON.stringify(e[o]));I(e[o],a)||console.warn(\"At least one key in the meeting session data provided will be modified when serialized.\",a,e[o])}}catch(e){throw Error(\"Meeting session data must be serializable to JSON: \".concat(e))}if(r.length>co)throw Error(\"Meeting session data is too large (\".concat(r.length,\" characters). Maximum size suppported is \").concat(co,\".\"))}}]),e}();function Zo(e,t,n){return Zo=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&s(i,n.prototype),i},Zo.apply(null,arguments)}function ea(e){var t=\"function\"==typeof Map?new Map:void 0;return ea=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf(\"[native code]\")))return e;var n;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Zo(e,arguments,u(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),s(r,e)},ea(e)}function ta(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=u(e);if(t){var i=u(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function na(e){var t,n=null===(t=window._daily)||void 0===t?void 0:t.pendings;if(n){var r=n.indexOf(e);-1!==r&&n.splice(r,1)}}var ra=function(){function e(n){t(this,e),this._currentLoad=null,this._callClientId=n}return o(e,[{key:\"load\",value:function(){var e,t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;if(this.loaded)return window._daily.instances[this._callClientId].callMachine.reset(),void r(!0);e=this._callClientId,window._daily.pendings.push(e),this._currentLoad&&this._currentLoad.cancel(),this._currentLoad=new ia(n,(function(){r(!1)}),(function(e,n){n||na(t._callClientId),i(e,n)})),this._currentLoad.start()}},{key:\"cancel\",value:function(){this._currentLoad&&this._currentLoad.cancel(),na(this._callClientId)}},{key:\"loaded\",get:function(){return this._currentLoad&&this._currentLoad.succeeded}}]),e}(),ia=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;t(this,e),this._attemptsRemaining=3,this._currentAttempt=null,this._dailyConfig=n,this._successCallback=r,this._failureCallback=i}return o(e,[{key:\"start\",value:function(){var e=this;if(!this._currentAttempt){this._currentAttempt=new sa(this._dailyConfig,this._successCallback,(function t(n){e._currentAttempt.cancelled||(e._attemptsRemaining--,e._failureCallback(n,e._attemptsRemaining>0),e._attemptsRemaining<=0||setTimeout((function(){e._currentAttempt.cancelled||(e._currentAttempt=new sa(e._dailyConfig,e._successCallback,t),e._currentAttempt.start())}),3e3))})),this._currentAttempt.start()}}},{key:\"cancel\",value:function(){this._currentAttempt&&this._currentAttempt.cancel()}},{key:\"cancelled\",get:function(){return this._currentAttempt&&this._currentAttempt.cancelled}},{key:\"succeeded\",get:function(){return this._currentAttempt&&this._currentAttempt.succeeded}}]),e}(),oa=function(e){c(r,ea(Error));var n=ta(r);function r(){return t(this,r),n.apply(this,arguments)}return o(r)}(),aa=2e4,sa=function(){function e(n,r,i){t(this,e),this._loadAttemptImpl=Eo()||!n.avoidEval?new ca(n,r,i):new la(n,r,i)}var n;return o(e,[{key:\"start\",value:(n=p((function*(){return this._loadAttemptImpl.start()})),function(){return n.apply(this,arguments)})},{key:\"cancel\",value:function(){this._loadAttemptImpl.cancel()}},{key:\"cancelled\",get:function(){return this._loadAttemptImpl.cancelled}},{key:\"succeeded\",get:function(){return this._loadAttemptImpl.succeeded}}]),e}(),ca=function(){function e(n,r,i){t(this,e),this.cancelled=!1,this.succeeded=!1,this._networkTimedOut=!1,this._networkTimeout=null,this._iosCache=\"undefined\"!=typeof iOSCallObjectBundleCache&&iOSCallObjectBundleCache,this._refetchHeaders=null,this._dailyConfig=n,this._successCallback=r,this._failureCallback=i}var n,r,i,a;return o(e,[{key:\"start\",value:(a=p((function*(){var e=X(this._dailyConfig);!(yield this._tryLoadFromIOSCache(e))&&this._loadFromNetwork(e)})),function(){return a.apply(this,arguments)})},{key:\"cancel\",value:function(){clearTimeout(this._networkTimeout),this.cancelled=!0}},{key:\"_tryLoadFromIOSCache\",value:(i=p((function*(e){if(!this._iosCache)return!1;try{var t=yield this._iosCache.get(e);return!!this.cancelled||!!t&&(t.code?(Function('\"use strict\";'+t.code)(),this.succeeded=!0,this._successCallback(),!0):(this._refetchHeaders=t.refetchHeaders,!1))}catch(e){return!1}})),function(e){return i.apply(this,arguments)})},{key:\"_loadFromNetwork\",value:(r=p((function*(e){var t=this;this._networkTimeout=setTimeout((function(){t._networkTimedOut=!0,t._failureCallback({msg:\"Timed out (>\".concat(aa,\" ms) when loading call object bundle \").concat(e),type:\"timeout\"})}),aa);try{var n=this._refetchHeaders?{headers:this._refetchHeaders}:{},r=yield fetch(e,n);if(clearTimeout(this._networkTimeout),this.cancelled||this._networkTimedOut)throw new oa;var i=yield this._getBundleCodeFromResponse(e,r);if(this.cancelled)throw new oa;Function('\"use strict\";'+i)(),this._iosCache&&this._iosCache.set(e,i,r.headers),this.succeeded=!0,this._successCallback()}catch(t){if(clearTimeout(this._networkTimeout),t instanceof oa||this.cancelled||this._networkTimedOut)return;this._failureCallback({msg:\"Failed to load call object bundle \".concat(e,\": \").concat(t),type:t.message})}})),function(e){return r.apply(this,arguments)})},{key:\"_getBundleCodeFromResponse\",value:(n=p((function*(e,t){if(t.ok)return yield t.text();if(this._iosCache&&304===t.status)return(yield this._iosCache.renew(e,t.headers)).code;throw new Error(\"Received \".concat(t.status,\" response\"))})),function(e,t){return n.apply(this,arguments)})}]),e}(),la=function(){function e(n,r,i){t(this,e),this.cancelled=!1,this.succeeded=!1,this._dailyConfig=n,this._successCallback=r,this._failureCallback=i,this._attemptId=H(),this._networkTimeout=null,this._scriptElement=null}return o(e,[{key:\"start\",value:function(){window._dailyCallMachineLoadWaitlist||(window._dailyCallMachineLoadWaitlist=new Set);var e=X(this._dailyConfig);\"object\"===(\"undefined\"==typeof document?\"undefined\":n(document))?this._startLoading(e):this._failureCallback({msg:\"Call object bundle must be loaded in a DOM/web context\",type:\"missing context\"})}},{key:\"cancel\",value:function(){this._stopLoading(),this.cancelled=!0}},{key:\"_startLoading\",value:function(e){var t=this;this._signUpForCallMachineLoadWaitlist(),this._networkTimeout=setTimeout((function(){t._stopLoading(),t._failureCallback({msg:\"Timed out (>\".concat(aa,\" ms) when loading call object bundle \").concat(e),type:\"timeout\"})}),aa);var n=document.getElementsByTagName(\"head\")[0],r=document.createElement(\"script\");this._scriptElement=r,r.onload=function(){t._stopLoading(),t.succeeded=!0,t._successCallback()},r.onerror=function(e){t._stopLoading(),t._failureCallback({msg:\"Failed to load call object bundle \".concat(e.target.src),type:e.message})},r.src=e,n.appendChild(r)}},{key:\"_stopLoading\",value:function(){this._withdrawFromCallMachineLoadWaitlist(),clearTimeout(this._networkTimeout),this._scriptElement&&(this._scriptElement.onload=null,this._scriptElement.onerror=null)}},{key:\"_signUpForCallMachineLoadWaitlist\",value:function(){window._dailyCallMachineLoadWaitlist.add(this._attemptId)}},{key:\"_withdrawFromCallMachineLoadWaitlist\",value:function(){window._dailyCallMachineLoadWaitlist.delete(this._attemptId)}}]),e}(),ua=function(e,t,n){return!0===pa(e.local,t,n)},da=function(e,t,n){return e.local.streams&&e.local.streams[t]&&e.local.streams[t].stream&&e.local.streams[t].stream[\"get\".concat(\"video\"===n?\"Video\":\"Audio\",\"Tracks\")]()[0]},ha=function(e,t,n,r){var i=fa(e,t,n,r);return i&&i.pendingTrack},pa=function(e,t,n){if(!e)return!1;var r=function(e){switch(e){case\"avatar\":return!0;case\"staged\":return e;default:return!!e}},i=e.public.subscribedTracks;return i&&i[t]?-1===[\"cam-audio\",\"cam-video\",\"screen-video\",\"screen-audio\",\"rmpAudio\",\"rmpVideo\"].indexOf(n)&&i[t].custom?[!0,\"staged\"].includes(i[t].custom)?r(i[t].custom):r(i[t].custom[n]):r(i[t][n]):!i||r(i.ALL)},fa=function(e,t,n,r){var i=Object.values(e.streams||{}).filter((function(e){return e.participantId===t&&e.type===n&&e.pendingTrack&&e.pendingTrack.kind===r})).sort((function(e,t){return new Date(t.starttime)-new Date(e.starttime)}));return i&&i[0]},ga=function(e,t){var n=e.local.public.customTracks;if(n&&n[t])return n[t].track};function va(e,t){for(var n=t.getState(),r=0,i=[\"cam\",\"screen\"];r=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function wa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ca(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n49)return console.error(\"grid.maxTilesPerPage can't be larger than 49 without sacrificing browser performance. Please contact us at https://www.daily.co/contact to talk about your use case.\"),!1}if(\"minTilesPerPage\"in t){if(!Number.isInteger(t.minTilesPerPage))return console.error(\"grid.minTilesPerPage should be an integer. You passed \".concat(t.minTilesPerPage,\".\")),!1;if(t.minTilesPerPage<1)return console.error(\"grid.minTilesPerPage can't be lower than 1.\"),!1;if(\"maxTilesPerPage\"in t&&t.minTilesPerPage>t.maxTilesPerPage)return console.error(\"grid.minTilesPerPage can't be higher than grid.maxTilesPerPage.\"),!1}}return!0},help:\"unsupported layoutConfig. Check error logs for detailed info.\"},receiveSettings:{validate:function(e){return hs(e,{allowAllParticipantsKey:!1})},help:vs({allowAllParticipantsKey:!1})},sendSettings:{validate:function(e,t){return!!function(e,t){try{return t.validateUpdateSendSettings(e),!0}catch(e){return console.error(\"Failed to validate send settings\",e),!1}}(e,t)&&(t._preloadCache.sendSettings=e,!0)},help:\"Invalid sendSettings provided. Check error logs for detailed info.\"},inputSettings:{validate:function(e,t){var n;return!!ps(e)&&(t._preloadCache.inputSettings||(t._preloadCache.inputSettings={}),fs(e,null===(n=t.properties)||void 0===n?void 0:n.dailyConfig),e.audio&&(t._preloadCache.inputSettings.audio=e.audio),e.video&&(t._preloadCache.inputSettings.video=e.video),!0)},help:gs()},layout:{validate:function(e){return\"custom-v1\"===e||\"browser\"===e||\"none\"===e},help:'layout may only be set to \"custom-v1\"',queryString:\"layout\"},emb:{queryString:\"emb\"},embHref:{queryString:\"embHref\"},dailyJsVersion:{queryString:\"dailyJsVersion\"},proxy:{queryString:\"proxy\"},strictMode:!0,allowMultipleCallInstances:!0},Za={styles:{validate:function(e){for(var t in e)if(\"cam\"!==t&&\"screen\"!==t)return!1;if(e.cam)for(var n in e.cam)if(\"div\"!==n&&\"video\"!==n)return!1;if(e.screen)for(var r in e.screen)if(\"div\"!==r&&\"video\"!==r)return!1;return!0},help:\"styles format should be a subset of: { cam: {div: {}, video: {}}, screen: {div: {}, video: {}} }\"},setSubscribedTracks:{validate:function(e,t){if(t._preloadCache.subscribeToTracksAutomatically)return!1;var n=[!0,!1,\"staged\"];if(n.includes(e)||!Eo()&&\"avatar\"===e)return!0;var r=[\"audio\",\"video\",\"screenAudio\",\"screenVideo\",\"rmpAudio\",\"rmpVideo\"];return function e(t){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var o in t)if(\"custom\"===o){if(!n.includes(t[o])&&!e(t[o],!0))return!1}else{var a=!i&&!r.includes(o),s=!n.includes(t[o]);if(a||s)return!1}return!0}(e)},help:\"setSubscribedTracks cannot be used when setSubscribeToTracksAutomatically is enabled, and should be of the form: \"+\"true\".concat(Eo()?\"\":\" | 'avatar'\",\" | false | 'staged' | { [audio: true|false|'staged'], [video: true|false|'staged'], [screenAudio: true|false|'staged'], [screenVideo: true|false|'staged'] }\")},setAudio:!0,setVideo:!0,setScreenShare:{validate:function(e){return!1===e},help:\"setScreenShare must be false, as it's only meant for stopping remote participants' screen shares\"},eject:!0,updatePermissions:{validate:function(e){for(var t=0,n=Object.entries(e);t1&&void 0!==arguments[1]?arguments[1]:{};if(t(this,te),d(a(r=ee.call(this)),\"startListeningForDeviceChanges\",(function(){Pa(r.handleDeviceChange)})),d(a(r),\"stopListeningForDeviceChanges\",(function(){Aa(r.handleDeviceChange)})),d(a(r),\"handleDeviceChange\",(function(e){e=e.map((function(e){return JSON.parse(JSON.stringify(e))})),r.emitDailyJSEvent({action:\"available-devices-updated\",availableDevices:e})})),d(a(r),\"handleNativeAppStateChange\",function(){var e=p((function*(e){if(\"destroyed\"===e)return console.warn(\"App has been destroyed before leaving the meeting. Cleaning up all the resources!\"),void(yield r.destroy());var t=\"active\"===e;r.disableReactNativeAutoDeviceManagement(\"video\")||(t?r.camUnmutedBeforeLosingNativeActiveState&&r.setLocalVideo(!0):(r.camUnmutedBeforeLosingNativeActiveState=r.localVideo(),r.camUnmutedBeforeLosingNativeActiveState&&r.setLocalVideo(!1)))}));return function(t){return e.apply(this,arguments)}}()),d(a(r),\"handleNativeAudioFocusChange\",(function(e){r.disableReactNativeAutoDeviceManagement(\"audio\")||(r._hasNativeAudioFocus=e,r.toggleParticipantAudioBasedOnNativeAudioFocus(),r._hasNativeAudioFocus?r.micUnmutedBeforeLosingNativeAudioFocus&&r.setLocalAudio(!0):(r.micUnmutedBeforeLosingNativeAudioFocus=r.localAudio(),r.setLocalAudio(!1)))})),d(a(r),\"handleNativeSystemScreenCaptureStop\",(function(){r.stopScreenShare()})),r.strictMode=void 0===o.strictMode||o.strictMode,r.allowMultipleCallInstances=null!==(n=o.allowMultipleCallInstances)&&void 0!==n&&n,Object.keys(Va).length&&(r._logDuplicateInstanceAttempt(),!r.allowMultipleCallInstances)){if(r.strictMode)throw new Error(\"Duplicate DailyIframe instances are not allowed\");console.warn(\"Using strictMode: false to allow multiple call instances is now deprecated. Set `allowMultipleCallInstances: true`\")}if(window._daily||(window._daily={pendings:[],instances:{}}),r.callClientId=H(),i=a(r),Va[i.callClientId]=i,window._daily.instances[r.callClientId]={},r._sharedTracks={},window._daily.instances[r.callClientId].tracks=r._sharedTracks,o.dailyJsVersion=te.version(),r._iframe=e,r._callObjectMode=\"none\"===o.layout&&!r._iframe,r._preloadCache={subscribeToTracksAutomatically:!0,audioDeviceId:null,videoDeviceId:null,outputDeviceId:null,inputSettings:null,sendSettings:null,videoTrackForNetworkConnectivityTest:null,videoTrackForConnectionQualityTest:null},void 0!==o.showLocalVideo?r._callObjectMode?console.error(\"showLocalVideo is not available in call object mode\"):r._showLocalVideo=!!o.showLocalVideo:r._showLocalVideo=!0,void 0!==o.showParticipantsBar?r._callObjectMode?console.error(\"showParticipantsBar is not available in call object mode\"):r._showParticipantsBar=!!o.showParticipantsBar:r._showParticipantsBar=!0,void 0!==o.customIntegrations?r._callObjectMode?console.error(\"customIntegrations is not available in call object mode\"):r._customIntegrations=o.customIntegrations:r._customIntegrations={},void 0!==o.customTrayButtons?r._callObjectMode?console.error(\"customTrayButtons is not available in call object mode\"):r._customTrayButtons=o.customTrayButtons:r._customTrayButtons={},void 0!==o.activeSpeakerMode?r._callObjectMode?console.error(\"activeSpeakerMode is not available in call object mode\"):r._activeSpeakerMode=!!o.activeSpeakerMode:r._activeSpeakerMode=!1,o.receiveSettings?r._callObjectMode?r._receiveSettings=o.receiveSettings:console.error(\"receiveSettings is only available in call object mode\"):r._receiveSettings={},r.validateProperties(o),r.properties=Ra({},o),r._preloadCache.inputSettings||(r._preloadCache.inputSettings={}),o.inputSettings&&o.inputSettings.audio&&(r._preloadCache.inputSettings.audio=o.inputSettings.audio),o.inputSettings&&o.inputSettings.video&&(r._preloadCache.inputSettings.video=o.inputSettings.video),r._callObjectLoader=r._callObjectMode?new ra(r.callClientId):null,r._callState=br,r._isPreparingToJoin=!1,r._accessState={access:xr},r._meetingSessionSummary={},r._finalSummaryOfPrevSession={},r._meetingSessionState=Es(Ga,r._callObjectMode),r._nativeInCallAudioMode=Ja,r._participants={},r._isScreenSharing=!1,r._participantCounts=qa,r._rmpPlayerState={},r._waitingParticipants={},r._network={threshold:\"good\",quality:100},r._activeSpeaker={},r._localAudioLevel=0,r._isLocalAudioLevelObserverRunning=!1,r._remoteParticipantsAudioLevel={},r._isRemoteParticipantsAudioLevelObserverRunning=!1,r._maxAppMessageSize=so,r._messageChannel=Eo()?new Wo:new qo,r._iframe&&(r._iframe.requestFullscreen?r._iframe.addEventListener(\"fullscreenchange\",(function(){document.fullscreenElement===r._iframe?(r.emitDailyJSEvent({action:Qi}),r.sendMessageToCallMachine({action:Qi})):(r.emitDailyJSEvent({action:Ki}),r.sendMessageToCallMachine({action:Ki}))})):r._iframe.webkitRequestFullscreen&&r._iframe.addEventListener(\"webkitfullscreenchange\",(function(){document.webkitFullscreenElement===r._iframe?(r.emitDailyJSEvent({action:Qi}),r.sendMessageToCallMachine({action:Qi})):(r.emitDailyJSEvent({action:Ki}),r.sendMessageToCallMachine({action:Ki}))}))),Eo()){var s=r.nativeUtils();s.addAudioFocusChangeListener&&s.removeAudioFocusChangeListener&&s.addAppStateChangeListener&&s.removeAppStateChangeListener&&s.addSystemScreenCaptureStopListener&&s.removeSystemScreenCaptureStopListener||console.warn(\"expected (add|remove)(AudioFocusChange|AppActiveStateChange|SystemScreenCaptureStop)Listener to be available in React Native\"),r._hasNativeAudioFocus=!0,s.addAudioFocusChangeListener(r.handleNativeAudioFocusChange),s.addAppStateChangeListener(r.handleNativeAppStateChange),s.addSystemScreenCaptureStopListener(r.handleNativeSystemScreenCaptureStop)}return r._callObjectMode&&r.startListeningForDeviceChanges(),r._messageChannel.addListenerForMessagesFromCallMachine(r.handleMessageFromCallMachine,r.callClientId,a(r)),r}return o(te,[{key:\"destroy\",value:(Z=p((function*(){var e,t;try{yield this.leave()}catch(e){}var n=this._iframe;if(n){var r=n.parentElement;r&&r.removeChild(n)}if(this._messageChannel.removeListener(this.handleMessageFromCallMachine),Eo()){var i=this.nativeUtils();i.removeAudioFocusChangeListener(this.handleNativeAudioFocusChange),i.removeAppStateChangeListener(this.handleNativeAppStateChange),i.removeSystemScreenCaptureStopListener(this.handleNativeSystemScreenCaptureStop)}this._callObjectMode&&this.stopListeningForDeviceChanges(),this.resetMeetingDependentVars(),this._destroyed=!0,this.emitDailyJSEvent({action:\"call-instance-destroyed\"}),delete Va[this.callClientId],(null===(e=window)||void 0===e||null===(t=e._daily)||void 0===t?void 0:t.instances)&&delete window._daily.instances[this.callClientId],this.strictMode&&(this.callClientId=void 0)})),function(){return Z.apply(this,arguments)})},{key:\"isDestroyed\",value:function(){return!!this._destroyed}},{key:\"loadCss\",value:function(e){var t=e.bodyClass,n=e.cssFile,r=e.cssText;return ls(),this.sendMessageToCallMachine({action:\"load-css\",cssFile:this.absoluteUrl(n),bodyClass:t,cssText:r}),this}},{key:\"iframe\",value:function(){return ls(),this._iframe}},{key:\"meetingState\",value:function(){return this._callState}},{key:\"accessState\",value:function(){return ss(this._callObjectMode,\"accessState()\"),this._accessState}},{key:\"participants\",value:function(){return this._participants}},{key:\"participantCounts\",value:function(){return this._participantCounts}},{key:\"waitingParticipants\",value:function(){return ss(this._callObjectMode,\"waitingParticipants()\"),this._waitingParticipants}},{key:\"validateParticipantProperties\",value:function(e,t){for(var n in t){if(!Za[n])throw new Error(\"unrecognized updateParticipant property \".concat(n));if(Za[n].validate&&!Za[n].validate(t[n],this,this._participants[e]))throw new Error(Za[n].help)}}},{key:\"updateParticipant\",value:function(e,t){return this._participants.local&&this._participants.local.session_id===e&&(e=\"local\"),e&&t&&(this.validateParticipantProperties(e,t),this.sendMessageToCallMachine({action:\"update-participant\",id:e,properties:t})),this}},{key:\"updateParticipants\",value:function(e){var t=this._participants.local&&this._participants.local.session_id;for(var n in e)n===t&&(n=\"local\"),n&&e[n]&&this.validateParticipantProperties(n,e[n]);return this.sendMessageToCallMachine({action:\"update-participants\",participants:e}),this}},{key:\"updateWaitingParticipant\",value:(Q=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(ss(this._callObjectMode,\"updateWaitingParticipant()\"),ns(this._callState,\"updateWaitingParticipant()\"),\"string\"!=typeof t||\"object\"!==n(r))throw new Error(\"updateWaitingParticipant() must take an id string and a updates object\");return new Promise((function(n,i){e.sendMessageToCallMachine({action:\"daily-method-update-waiting-participant\",id:t,updates:r},(function(e){e.error&&i(e.error),e.id||i(new Error(\"unknown error in updateWaitingParticipant()\")),n({id:e.id})}))}))})),function(){return Q.apply(this,arguments)})},{key:\"updateWaitingParticipants\",value:(z=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(ss(this._callObjectMode,\"updateWaitingParticipants()\"),ns(this._callState,\"updateWaitingParticipants()\"),\"object\"!==n(t))throw new Error(\"updateWaitingParticipants() must take a mapping between ids and update objects\");return new Promise((function(n,r){e.sendMessageToCallMachine({action:\"daily-method-update-waiting-participants\",updatesById:t},(function(e){e.error&&r(e.error),e.ids||r(new Error(\"unknown error in updateWaitingParticipants()\")),n({ids:e.ids})}))}))})),function(){return z.apply(this,arguments)})},{key:\"requestAccess\",value:(Y=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.access,r=void 0===n?{level:Lr}:n,i=t.name,o=void 0===i?\"\":i;return ss(this._callObjectMode,\"requestAccess()\"),ns(this._callState,\"requestAccess()\"),new Promise((function(t,n){e.sendMessageToCallMachine({action:\"daily-method-request-access\",access:r,name:o},(function(e){e.error&&n(e.error),e.access||n(new Error(\"unknown error in requestAccess()\")),t({access:e.access,granted:e.granted})}))}))})),function(){return Y.apply(this,arguments)})},{key:\"localAudio\",value:function(){return this._participants.local?![\"blocked\",\"off\"].includes(this._participants.local.tracks.audio.state):null}},{key:\"localVideo\",value:function(){return this._participants.local?![\"blocked\",\"off\"].includes(this._participants.local.tracks.video.state):null}},{key:\"setLocalAudio\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return\"forceDiscardTrack\"in t&&(Eo()?(console.warn(\"forceDiscardTrack option not supported in React Native; ignoring\"),t={}):e&&(console.warn(\"forceDiscardTrack option only supported when calling setLocalAudio(false); ignoring\"),t={})),this.sendMessageToCallMachine({action:\"local-audio\",state:e,options:t}),this}},{key:\"localScreenAudio\",value:function(){return this._participants.local?![\"blocked\",\"off\"].includes(this._participants.local.tracks.screenAudio.state):null}},{key:\"localScreenVideo\",value:function(){return this._participants.local?![\"blocked\",\"off\"].includes(this._participants.local.tracks.screenVideo.state):null}},{key:\"updateScreenShare\",value:function(e){if(this._isScreenSharing)return this.sendMessageToCallMachine({action:\"local-screen-update\",options:e}),this;console.warn(\"There is no screen share in progress. Try calling startScreenShare first.\")}},{key:\"setLocalVideo\",value:function(e){return this.sendMessageToCallMachine({action:\"local-video\",state:e}),this}},{key:\"getReceiveSettings\",value:(q=p((function*(e){var t=this,r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).showInheritedValues,i=void 0!==r&&r;if(ss(this._callObjectMode,\"getReceiveSettings()\"),!this._callMachineInitialized)return this._receiveSettings;switch(n(e)){case\"string\":return new Promise((function(n){t.sendMessageToCallMachine({action:\"get-single-participant-receive-settings\",id:e,showInheritedValues:i},(function(e){n(e.receiveSettings)}))}));case\"undefined\":return this._receiveSettings;default:throw new Error('first argument to getReceiveSettings() must be a participant id (or \"base\"), or there should be no arguments')}})),function(e){return q.apply(this,arguments)})},{key:\"updateReceiveSettings\",value:(G=p((function*(e){var t=this;if(ss(this._callObjectMode,\"updateReceiveSettings()\"),!hs(e,{allowAllParticipantsKey:!0}))throw new Error(vs({allowAllParticipantsKey:!0}));return ns(this._callState,\"updateReceiveSettings()\",\"To specify receive settings earlier, use the receiveSettings config property.\"),new Promise((function(n){t.sendMessageToCallMachine({action:\"update-receive-settings\",receiveSettings:e},(function(e){n({receiveSettings:e.receiveSettings})}))}))})),function(e){return G.apply(this,arguments)})},{key:\"_prepInputSettingsToPresentToUser\",value:function(e){var t,n,r,i,o,a,s,c;if(e){var l={},u=\"none\"===(null===(t=e.audio)||void 0===t||null===(n=t.processor)||void 0===n?void 0:n.type)&&(null===(r=e.audio)||void 0===r||null===(i=r.processor)||void 0===i?void 0:i._isDefaultWhenNone);if(e.audio&&!u){var d=Ra({},e.audio.processor);delete d._isDefaultWhenNone,l.audio=Ra(Ra({},e.audio),{},{processor:d})}var h=\"none\"===(null===(o=e.video)||void 0===o||null===(a=o.processor)||void 0===a?void 0:a.type)&&(null===(s=e.video)||void 0===s||null===(c=s.processor)||void 0===c?void 0:c._isDefaultWhenNone);if(e.video&&!h){var p=Ra({},e.video.processor);delete p._isDefaultWhenNone,l.video=Ra(Ra({},e.video),{},{processor:p})}return l}}},{key:\"getInputSettings\",value:function(){var e=this;return ls(),new Promise((function(t){t(e._getInputSettings())}))}},{key:\"_getInputSettings\",value:function(){var e,t,n,r,i,o,a,s,c={processor:{type:\"none\",_isDefaultWhenNone:!0}};this._inputSettings?(e=(null===(n=this._inputSettings)||void 0===n?void 0:n.video)||c,t=(null===(r=this._inputSettings)||void 0===r?void 0:r.audio)||c):(e=(null===(i=this._preloadCache)||void 0===i||null===(o=i.inputSettings)||void 0===o?void 0:o.video)||c,t=(null===(a=this._preloadCache)||void 0===a||null===(s=a.inputSettings)||void 0===s?void 0:s.audio)||c);var l={audio:t,video:e};return this._prepInputSettingsToPresentToUser(l)}},{key:\"updateInputSettings\",value:($=p((function*(e){var t=this;return ls(),ps(e)?(e&&(this._preloadCache.inputSettings||(this._preloadCache.inputSettings={}),fs(e,this.properties.dailyConfig),e.audio&&(this._preloadCache.inputSettings.audio=e.audio),e.video&&(this._preloadCache.inputSettings.video=e.video)),e.video||e.audio?this._callObjectMode&&!this._callMachineInitialized?this._getInputSettings():new Promise((function(n,r){t.sendMessageToCallMachine({action:\"update-input-settings\",inputSettings:e},(function(e){e.error?r(e.error):n({inputSettings:t._prepInputSettingsToPresentToUser(e.inputSettings)})}))})):this._getInputSettings()):(console.error(gs()),Promise.reject(gs()))})),function(e){return $.apply(this,arguments)})},{key:\"setBandwidth\",value:function(e){var t=e.kbs,n=e.trackConstraints;if(ls(),this._callMachineInitialized)return this.sendMessageToCallMachine({action:\"set-bandwidth\",kbs:t,trackConstraints:n}),this}},{key:\"getDailyLang\",value:function(){var e=this;if(ls(),this._callMachineInitialized)return new Promise((function(t){e.sendMessageToCallMachine({action:\"get-daily-lang\"},(function(e){delete e.action,delete e.callbackStamp,t(e)}))}))}},{key:\"setDailyLang\",value:function(e){return ls(),this.sendMessageToCallMachine({action:\"set-daily-lang\",lang:e}),this}},{key:\"setProxyUrl\",value:function(e){return this.sendMessageToCallMachine({action:\"set-proxy-url\",proxyUrl:e}),this}},{key:\"setIceConfig\",value:function(e){return this.sendMessageToCallMachine({action:\"set-ice-config\",iceConfig:e}),this}},{key:\"meetingSessionSummary\",value:function(){return[Cr,Mr].includes(this._callState)?this._finalSummaryOfPrevSession:this._meetingSessionSummary}},{key:\"getMeetingSession\",value:(J=p((function*(){var e=this;return console.warn(\"getMeetingSession() is deprecated: use meetingSessionSummary(), which will return immediately\"),ns(this._callState,\"getMeetingSession()\"),new Promise((function(t){e.sendMessageToCallMachine({action:\"get-meeting-session\"},(function(e){delete e.action,delete e.callbackStamp,t(e)}))}))})),function(){return J.apply(this,arguments)})},{key:\"meetingSessionState\",value:function(){return ns(this._callState,\"meetingSessionState\"),this._meetingSessionState}},{key:\"setMeetingSessionData\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"replace\";ss(this._callObjectMode,\"setMeetingSessionData()\"),ns(this._callState,\"setMeetingSessionData\");try{!function(e,t){new Xo({data:e,mergeStrategy:t})}(e,t)}catch(e){throw console.error(e),e}try{this.sendMessageToCallMachine({action:\"set-session-data\",data:e,mergeStrategy:t})}catch(e){throw new Error(\"Error setting meeting session data: \".concat(e))}}},{key:\"setUserName\",value:function(e,t){var n=this;return this.properties.userName=e,new Promise((function(r){n.sendMessageToCallMachine({action:\"set-user-name\",name:null!=e?e:\"\",thisMeetingOnly:Eo()||!!t&&!!t.thisMeetingOnly},(function(e){delete e.action,delete e.callbackStamp,r(e)}))}))}},{key:\"setUserData\",value:(V=p((function*(e){var t=this;try{ds(e)}catch(e){throw console.error(e),e}if(this.properties.userData=e,this._callMachineInitialized)return new Promise((function(n){try{t.sendMessageToCallMachine({action:\"set-user-data\",userData:e},(function(e){delete e.action,delete e.callbackStamp,n(e)}))}catch(e){throw new Error(\"Error setting user data: \".concat(e))}}))})),function(e){return V.apply(this,arguments)})},{key:\"validateAudioLevelInterval\",value:function(e){if(e&&(e<100||\"number\"!=typeof e))throw new Error(\"The interval must be a number greater than or equal to 100 milliseconds.\")}},{key:\"startLocalAudioLevelObserver\",value:function(e){var t=this;if(\"undefined\"==typeof AudioWorkletNode&&!Eo())throw new Error(\"startLocalAudioLevelObserver() is not supported on this browser\");if(this.validateAudioLevelInterval(e),this._callMachineInitialized)return this._isLocalAudioLevelObserverRunning=!0,new Promise((function(n,r){t.sendMessageToCallMachine({action:\"start-local-audio-level-observer\",interval:e},(function(e){t._isLocalAudioLevelObserverRunning=!e.error,e.error?r({error:e.error}):n()}))}));this._preloadCache.localAudioLevelObserver={enabled:!0,interval:e}}},{key:\"isLocalAudioLevelObserverRunning\",value:function(){return this._isLocalAudioLevelObserverRunning}},{key:\"stopLocalAudioLevelObserver\",value:function(){this._preloadCache.localAudioLevelObserver=null,this._localAudioLevel=0,this._isLocalAudioLevelObserverRunning=!1,this.sendMessageToCallMachine({action:\"stop-local-audio-level-observer\"})}},{key:\"startRemoteParticipantsAudioLevelObserver\",value:function(e){var t=this;if(this.validateAudioLevelInterval(e),this._callMachineInitialized)return this._isRemoteParticipantsAudioLevelObserverRunning=!0,new Promise((function(n,r){t.sendMessageToCallMachine({action:\"start-remote-participants-audio-level-observer\",interval:e},(function(e){t._isRemoteParticipantsAudioLevelObserverRunning=!e.error,e.error?r({error:e.error}):n()}))}));this._preloadCache.remoteParticipantsAudioLevelObserver={enabled:!0,interval:e}}},{key:\"isRemoteParticipantsAudioLevelObserverRunning\",value:function(){return this._isRemoteParticipantsAudioLevelObserverRunning}},{key:\"stopRemoteParticipantsAudioLevelObserver\",value:function(){this._preloadCache.remoteParticipantsAudioLevelObserver=null,this._remoteParticipantsAudioLevel={},this._isRemoteParticipantsAudioLevelObserverRunning=!1,this.sendMessageToCallMachine({action:\"stop-remote-participants-audio-level-observer\"})}},{key:\"startCamera\",value:(U=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(ss(this._callObjectMode,\"startCamera()\"),is(this._callState,this._isPreparingToJoin,\"startCamera()\",\"Did you mean to use setLocalAudio() and/or setLocalVideo() instead?\"),this.needsLoad())try{yield this.load(t)}catch(e){return Promise.reject(e)}else{if(this._didPreAuth){if(t.url&&t.url!==this.properties.url)return console.error(\"url in startCamera() is different than the one used in preAuth()\"),Promise.reject();if(t.token&&t.token!==this.properties.token)return console.error(\"token in startCamera() is different than the one used in preAuth()\"),Promise.reject()}this.validateProperties(t),this.properties=Ra(Ra({},this.properties),t)}return new Promise((function(t){e.sendMessageToCallMachine({action:\"start-camera\",properties:ts(e.properties,e.callClientId),preloadCache:ts(e._preloadCache,e.callClientId)},(function(e){delete e.action,delete e.callbackStamp,t(e)}))}))})),function(){return U.apply(this,arguments)})},{key:\"validateCustomTrack\",value:function(e,t,n){if(n&&n.length>50)throw new Error(\"Custom track `trackName` must not be more than 50 characters\");if(t&&\"music\"!==t&&\"speech\"!==t&&!(t instanceof Object))throw new Error(\"Custom track `mode` must be either `music` | `speech` | `DailyMicAudioModeSettings` or `undefined`\");if(!!n&&[\"cam-audio\",\"cam-video\",\"screen-video\",\"screen-audio\",\"rmpAudio\",\"rmpVideo\",\"customVideoDefaults\"].includes(n))throw new Error(\"Custom track `trackName` must not match a track name already used by daily: cam-audio, cam-video, customVideoDefaults, screen-video, screen-audio, rmpAudio, rmpVideo\");if(!(e instanceof MediaStreamTrack))throw new Error(\"Custom tracks provided must be instances of MediaStreamTrack\")}},{key:\"startCustomTrack\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{track:track,mode:mode,trackName:trackName};return ls(),ns(this._callState,\"startCustomTrack()\"),this.validateCustomTrack(t.track,t.mode,t.trackName),new Promise((function(n,r){e._sharedTracks.customTrack=t.track,t.track=fo,e.sendMessageToCallMachine({action:\"start-custom-track\",properties:t},(function(e){e.error?r({error:e.error}):n(e.mediaTag)}))}))}},{key:\"stopCustomTrack\",value:function(e){var t=this;return ls(),ns(this._callState,\"stopCustomTrack()\"),new Promise((function(n){t.sendMessageToCallMachine({action:\"stop-custom-track\",mediaTag:e},(function(e){n(e.mediaTag)}))}))}},{key:\"setCamera\",value:function(e){var t=this;return us(),os(this._callMachineInitialized,\"setCamera()\"),new Promise((function(n){t.sendMessageToCallMachine({action:\"set-camera\",cameraDeviceId:e},(function(e){n({device:e.device})}))}))}},{key:\"setAudioDevice\",value:(F=p((function*(e){return us(),this.nativeUtils().setAudioDevice(e),{deviceId:yield this.nativeUtils().getAudioDevice()}})),function(e){return F.apply(this,arguments)})},{key:\"cycleCamera\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(n){e.sendMessageToCallMachine({action:\"cycle-camera\",properties:t},(function(e){n({device:e.device})}))}))}},{key:\"cycleMic\",value:function(){var e=this;return ls(),new Promise((function(t){e.sendMessageToCallMachine({action:\"cycle-mic\"},(function(e){t({device:e.device})}))}))}},{key:\"getCameraFacingMode\",value:function(){var e=this;return us(),new Promise((function(t){e.sendMessageToCallMachine({action:\"get-camera-facing-mode\"},(function(e){t(e.facingMode)}))}))}},{key:\"setInputDevicesAsync\",value:(B=p((function*(e){var t=this,n=e.audioDeviceId,r=e.videoDeviceId,i=e.audioSource,o=e.videoSource;return ls(),void 0!==i&&(n=i),void 0!==o&&(r=o),n&&(this._preloadCache.audioDeviceId=n,this._sharedTracks.audioDeviceId=n),r&&(this._preloadCache.videoDeviceId=r,this._sharedTracks.videoDeviceId=r),this._callObjectMode&&this.needsLoad()?{camera:{deviceId:this._preloadCache.videoDeviceId},mic:{deviceId:this._preloadCache.audioDeviceId},speaker:{deviceId:this._preloadCache.outputDeviceId}}:(n instanceof MediaStreamTrack&&(n=fo),r instanceof MediaStreamTrack&&(r=fo),new Promise((function(e){t.sendMessageToCallMachine({action:\"set-input-devices\",audioDeviceId:n,videoDeviceId:r},(function(n){delete n.action,delete n.callbackStamp,n.returnPreloadCache?e({camera:{deviceId:t._preloadCache.videoDeviceId},mic:{deviceId:t._preloadCache.audioDeviceId},speaker:{deviceId:t._preloadCache.outputDeviceId}}):e(n)}))})))})),function(e){return B.apply(this,arguments)})},{key:\"setOutputDeviceAsync\",value:(R=p((function*(e){var t=this,n=e.outputDeviceId;return ls(),n&&(this._preloadCache.outputDeviceId=n),this._callObjectMode&&this.needsLoad()?{camera:{deviceId:this._preloadCache.videoDeviceId},mic:{deviceId:this._preloadCache.audioDeviceId},speaker:{deviceId:this._preloadCache.outputDeviceId}}:new Promise((function(e){t.sendMessageToCallMachine({action:\"set-output-device\",outputDeviceId:n},(function(n){delete n.action,delete n.callbackStamp,n.returnPreloadCache?e({camera:{deviceId:t._preloadCache.videoDeviceId},mic:{deviceId:t._preloadCache.audioDeviceId},speaker:{deviceId:t._preloadCache.outputDeviceId}}):e(n)}))}))})),function(e){return R.apply(this,arguments)})},{key:\"getInputDevices\",value:(N=p((function*(){var e=this;return this._callObjectMode&&this.needsLoad()?{camera:{deviceId:this._preloadCache.videoDeviceId},mic:{deviceId:this._preloadCache.audioDeviceId},speaker:{deviceId:this._preloadCache.outputDeviceId}}:new Promise((function(t){e.sendMessageToCallMachine({action:\"get-input-devices\"},(function(n){delete n.action,delete n.callbackStamp,n.returnPreloadCache?t({camera:{deviceId:e._preloadCache.videoDeviceId},mic:{deviceId:e._preloadCache.audioDeviceId},speaker:{deviceId:e._preloadCache.outputDeviceId}}):t(n)}))}))})),function(){return N.apply(this,arguments)})},{key:\"nativeInCallAudioMode\",value:function(){return us(),this._nativeInCallAudioMode}},{key:\"setNativeInCallAudioMode\",value:function(e){if(us(),[Ja,$a].includes(e)){if(e!==this._nativeInCallAudioMode)return this._nativeInCallAudioMode=e,!this.disableReactNativeAutoDeviceManagement(\"audio\")&&rs(this._callState,this._isPreparingToJoin)&&this.nativeUtils().setAudioMode(this._nativeInCallAudioMode),this}else console.error(\"invalid in-call audio mode specified: \",e)}},{key:\"preAuth\",value:(L=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(ss(this._callObjectMode,\"preAuth()\"),is(this._callState,this._isPreparingToJoin,\"preAuth()\"),this.needsLoad()&&(yield this.load(t)),!t.url)throw new Error(\"preAuth() requires at least a url to be provided\");return this.validateProperties(t),this.properties=Ra(Ra({},this.properties),t),new Promise((function(t,n){e.sendMessageToCallMachine({action:\"daily-method-preauth\",properties:ts(e.properties,e.callClientId),preloadCache:ts(e._preloadCache,e.callClientId)},(function(r){return r.error?n(r.error):r.access?(e._didPreAuth=!0,void t({access:r.access})):n(new Error(\"unknown error in preAuth()\"))}))}))})),function(){return L.apply(this,arguments)})},{key:\"load\",value:(x=p((function*(e){var t=this;if(this.needsLoad()){if(this._destroyed&&(this._logUseAfterDestroy(),this.strictMode))throw new Error(\"Use after destroy\");if(e&&(this.validateProperties(e),this.properties=Ra(Ra({},this.properties),e)),!this._callObjectMode&&!this.properties.url)throw new Error(\"can't load iframe meeting because url property isn't set\");return this._updateCallState(wr),this.emitDailyJSEvent({action:ai}),this._callObjectMode?new Promise((function(e,n){t._callObjectLoader.cancel();var r=Date.now();t._callObjectLoader.load(t.properties.dailyConfig,(function(n){t._bundleLoadTime=n?\"no-op\":Date.now()-r,t._updateCallState(Sr),n&&t.emitDailyJSEvent({action:ci}),e()}),(function(e,r){if(t.emitDailyJSEvent({action:si}),!r){t._updateCallState(Mr),t.resetMeetingDependentVars();var i={action:ao,errorMsg:e.msg,error:{type:\"connection-error\",msg:\"Failed to load call object bundle.\",details:{on:\"load\",sourceError:e,bundleUrl:X(t.properties.dailyConfig)}}};t._maybeSendToSentry(i),t.emitDailyJSEvent(i),n(e.msg)}}))})):(this._iframe.src=K(this.assembleMeetingUrl(),this.properties.dailyConfig),new Promise((function(e,n){t._loadedCallback=function(r){t._callState!==Mr?(t._updateCallState(Sr),(t.properties.cssFile||t.properties.cssText)&&t.loadCss(t.properties),e()):n(r)}})))}})),function(e){return x.apply(this,arguments)})},{key:\"join\",value:(j=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._testCallInProgress&&this.stopTestCallQuality();var n=!1;if(this.needsLoad()){this.updateIsPreparingToJoin(!0);try{yield this.load(t)}catch(e){return this.updateIsPreparingToJoin(!1),Promise.reject(e)}}else{if(n=!(!this.properties.cssFile&&!this.properties.cssText),this._didPreAuth){if(t.url&&t.url!==this.properties.url)return console.error(\"url in join() is different than the one used in preAuth()\"),this.updateIsPreparingToJoin(!1),Promise.reject();if(t.token&&t.token!==this.properties.token)return console.error(\"token in join() is different than the one used in preAuth()\"),this.updateIsPreparingToJoin(!1),Promise.reject()}if(t.url&&!this._callObjectMode&&t.url&&t.url!==this.properties.url)return console.error(\"url in join() is different than the one used in load() (\".concat(this.properties.url,\" -> \").concat(t.url,\")\")),this.updateIsPreparingToJoin(!1),Promise.reject();this.validateProperties(t),this.properties=Ra(Ra({},this.properties),t)}return void 0!==t.showLocalVideo&&(this._callObjectMode?console.error(\"showLocalVideo is not available in callObject mode\"):this._showLocalVideo=!!t.showLocalVideo),void 0!==t.showParticipantsBar&&(this._callObjectMode?console.error(\"showParticipantsBar is not available in callObject mode\"):this._showParticipantsBar=!!t.showParticipantsBar),this._callState===Er||this._callState===kr?(console.warn(\"already joined meeting, call leave() before joining again\"),void this.updateIsPreparingToJoin(!1)):(this._updateCallState(kr,!1),this.emitDailyJSEvent({action:di}),this._preloadCache.inputSettings||(this._preloadCache.inputSettings={}),t.inputSettings&&t.inputSettings.audio&&(this._preloadCache.inputSettings.audio=t.inputSettings.audio),t.inputSettings&&t.inputSettings.video&&(this._preloadCache.inputSettings.video=t.inputSettings.video),this.sendMessageToCallMachine({action:\"join-meeting\",properties:ts(this.properties,this.callClientId),preloadCache:ts(this._preloadCache,this.callClientId)}),new Promise((function(t,r){e._joinedCallback=function(i,o){if(e._callState!==Mr){if(e._updateCallState(Er),i)for(var a in i){if(e._callObjectMode){var s=e._callMachine().store;va(i[a],s),ma(i[a],s),_a(i[a],e._participants[a],s)}e._participants[a]=Ra({},i[a]),e.toggleParticipantAudioBasedOnNativeAudioFocus()}n&&e.loadCss(e.properties),t(i)}else r(o)}})))})),function(){return j.apply(this,arguments)})},{key:\"leave\",value:(D=p((function*(){var e=this;return this._testCallInProgress&&this.stopTestCallQuality(),new Promise((function(t){e._callState===Cr||e._callState===Mr?t():e._callObjectLoader&&!e._callObjectLoader.loaded?(e._callObjectLoader.cancel(),e._updateCallState(Cr),e.resetMeetingDependentVars(),e.emitDailyJSEvent({action:Cr}),t()):(e._resolveLeave=t,e.sendMessageToCallMachine({action:\"leave-meeting\"}))}))})),function(){return D.apply(this,arguments)})},{key:\"startScreenShare\",value:(A=p((function*(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(os(this._callMachineInitialized,\"startScreenShare()\"),t.screenVideoSendSettings&&this._validateVideoSendSettings(\"screenVideo\",t.screenVideoSendSettings),t.mediaStream&&(this._sharedTracks.screenMediaStream=t.mediaStream,t.mediaStream=fo),\"undefined\"!=typeof DailyNativeUtils&&void 0!==DailyNativeUtils.isIOS&&DailyNativeUtils.isIOS){var n=this.nativeUtils();if(yield n.isScreenBeingCaptured())return void this.emitDailyJSEvent({action:oo,type:\"screen-share-error\",errorMsg:\"Could not start the screen sharing. The screen is already been captured!\"});n.setSystemScreenCaptureStartCallback((function(){n.setSystemScreenCaptureStartCallback(null),e.sendMessageToCallMachine({action:uo,captureOptions:t})})),n.presentSystemScreenCapturePrompt()}else this.sendMessageToCallMachine({action:uo,captureOptions:t})})),function(){return A.apply(this,arguments)})},{key:\"stopScreenShare\",value:function(){os(this._callMachineInitialized,\"stopScreenShare()\"),this.sendMessageToCallMachine({action:\"local-screen-stop\"})}},{key:\"startRecording\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToCallMachine(Ra({action:\"local-recording-start\"},e))}},{key:\"updateRecording\",value:function(e){var t=e.layout,n=void 0===t?{preset:\"default\"}:t,r=e.instanceId;this.sendMessageToCallMachine({action:\"daily-method-update-recording\",layout:n,instanceId:r})}},{key:\"stopRecording\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToCallMachine(Ra({action:\"local-recording-stop\"},e))}},{key:\"startLiveStreaming\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToCallMachine(Ra({action:\"daily-method-start-live-streaming\"},e))}},{key:\"updateLiveStreaming\",value:function(e){var t=e.layout,n=void 0===t?{preset:\"default\"}:t,r=e.instanceId;this.sendMessageToCallMachine({action:\"daily-method-update-live-streaming\",layout:n,instanceId:r})}},{key:\"addLiveStreamingEndpoints\",value:function(e){var t=e.endpoints,n=e.instanceId;this.sendMessageToCallMachine({action:ho,endpointsOp:bo,endpoints:t,instanceId:n})}},{key:\"removeLiveStreamingEndpoints\",value:function(e){var t=e.endpoints,n=e.instanceId;this.sendMessageToCallMachine({action:ho,endpointsOp:wo,endpoints:t,instanceId:n})}},{key:\"stopLiveStreaming\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToCallMachine(Ra({action:\"daily-method-stop-live-streaming\"},e))}},{key:\"validateDailyConfig\",value:function(e){e.camSimulcastEncodings&&(console.warn(\"camSimulcastEncodings is deprecated. Use sendSettings, found in DailyCallOptions, to provide camera simulcast settings.\"),this.validateSimulcastEncodings(e.camSimulcastEncodings)),e.screenSimulcastEncodings&&console.warn(\"screenSimulcastEncodings is deprecated. Use sendSettings, found in DailyCallOptions, to provide screen simulcast settings.\"),jo()&&e.noAutoDefaultDeviceChange&&console.warn(\"noAutoDefaultDeviceChange is not supported on Android, and will be ignored.\")}},{key:\"validateSimulcastEncodings\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(!(e instanceof Array||Array.isArray(e)))throw new Error(\"encodings must be an Array\");if(!ks(e.length,1,3))throw new Error(\"encodings must be an Array with between 1 to \".concat(3,\" layers\"));for(var r=0;r=200)throw new Error(\"Error starting dial out: displayName length must be less than 200\")}if(e.userId){if(\"string\"!=typeof e.userId)throw new Error(\"Error starting dial out: userId must be a string\");if(e.userId.length>36)throw new Error(\"Error starting dial out: userId length must be less than or equal to 36\")}return new Promise((function(n,r){t.sendMessageToCallMachine(Ra({action:\"dialout-start\"},e),(function(e){e.error?r(e.error):n(e)}))}))})),function(e){return M.apply(this,arguments)})},{key:\"stopDialOut\",value:function(e){var t=this;return ns(this._callState,\"stopDialOut()\"),new Promise((function(n,r){t.sendMessageToCallMachine(Ra({action:\"dialout-stop\"},e),(function(e){e.error?r(e.error):n(e)}))}))}},{key:\"sipCallTransfer\",value:(C=p((function*(e){var t=this;if(ns(this._callState,\"sipCallTransfer()\"),!e)throw new Error(\"sipCallTransfer() requires a sessionId and toEndPoint\");return e.useSipRefer=!1,ws(e,\"sipCallTransfer\"),new Promise((function(n,r){t.sendMessageToCallMachine(Ra({action:So},e),(function(e){e.error?r(e.error):n(e)}))}))})),function(e){return C.apply(this,arguments)})},{key:\"sipRefer\",value:(E=p((function*(e){var t=this;if(ns(this._callState,\"sipRefer()\"),!e)throw new Error(\"sessionId and toEndPoint are mandatory parameter\");return e.useSipRefer=!0,ws(e,\"sipRefer\"),new Promise((function(n,r){t.sendMessageToCallMachine(Ra({action:So},e),(function(e){e.error?r(e.error):n(e)}))}))})),function(e){return E.apply(this,arguments)})},{key:\"sendDTMF\",value:(k=p((function*(e){var t=this;return ns(this._callState,\"sendDTMF()\"),function(e){var t=e.sessionId,n=e.tones;if(!t||!n)throw new Error(\"sessionId and tones are mandatory parameter\");if(\"string\"!=typeof t||\"string\"!=typeof n)throw new Error(\"sessionId and tones should be of string type\");if(n.length>20)throw new Error(\"tones string must be upto 20 characters\");var r=/[^0-9A-D*#]/g,i=n.match(r);if(i&&i[0])throw new Error(\"\".concat(i[0],\" is not valid DTMF tone\"))}(e),new Promise((function(n,r){t.sendMessageToCallMachine(Ra({action:\"send-dtmf\"},e),(function(e){e.error?r(e.error):n(e)}))}))})),function(e){return k.apply(this,arguments)})},{key:\"getNetworkStats\",value:function(){var e=this;if(this._callState!==Er){return{stats:{latest:{}}}}return new Promise((function(t){e.sendMessageToCallMachine({action:\"get-calc-stats\"},(function(n){t(Ra({stats:n.stats},e._network))}))}))}},{key:\"testWebsocketConnectivity\",value:(S=p((function*(){var e=this;if(as(this._testCallInProgress,\"testWebsocketConnectivity()\"),this.needsLoad())try{yield this.load()}catch(e){return Promise.reject(e)}return new Promise((function(t,n){e.sendMessageToCallMachine({action:\"test-websocket-connectivity\"},(function(e){e.error?n(e.error):t(e.results)}))}))})),function(){return S.apply(this,arguments)})},{key:\"abortTestWebsocketConnectivity\",value:function(){this.sendMessageToCallMachine({action:\"abort-test-websocket-connectivity\"})}},{key:\"_validateVideoTrackForNetworkTests\",value:function(e){return e?e instanceof MediaStreamTrack?!!xa(e,{isLocalScreenVideo:!1})||(console.error(\"Video track is not playable. This test needs a live video track.\"),!1):(console.error(\"Video track needs to be of type `MediaStreamTrack`.\"),!1):(console.error(\"Missing video track. You must provide a video track in order to run this test.\"),!1)}},{key:\"testCallQuality\",value:(w=p((function*(){var t=this;ls(),ss(this._callObjectMode,\"testCallQuality()\"),os(this._callMachineInitialized,\"testCallQuality()\",null,!0),is(this._callState,this._isPreparingToJoin,\"testCallQuality()\");var n=this._testCallAlreadyInProgress,r=function(e){n||(t._testCallInProgress=e)};if(r(!0),this.needsLoad())try{var i=this._callState;yield this.load(),this._callState=i}catch(e){return r(!1),Promise.reject(e)}return new Promise((function(n){t.sendMessageToCallMachine({action:\"test-call-quality\",dailyJsVersion:t.properties.dailyJsVersion},(function(i){var o=i.results,a=o.result,s=e(o,La);if(\"failed\"===a){var c,l=Ra({},s);null!==(c=s.error)&&void 0!==c&&c.details?(s.error.details=JSON.parse(s.error.details),l.error=Ra(Ra({},l.error),{},{details:Ra({},l.error.details)}),l.error.details.duringTest=\"testCallQuality\"):(l.error=l.error?Ra({},l.error):{},l.error.details={duringTest:\"testCallQuality\"}),t._maybeSendToSentry(l)}r(!1),n(Ra({result:a},s))}))}))})),function(){return w.apply(this,arguments)})},{key:\"stopTestCallQuality\",value:function(){this.sendMessageToCallMachine({action:\"stop-test-call-quality\"})}},{key:\"testConnectionQuality\",value:(b=p((function*(e){var t;Eo()?(console.warn(\"testConnectionQuality() is deprecated: use testPeerToPeerCallQuality() instead\"),t=yield this.testPeerToPeerCallQuality(e)):(console.warn(\"testConnectionQuality() is deprecated: use testCallQuality() instead\"),t=yield this.testCallQuality());var n={result:t.result,secondsElapsed:t.secondsElapsed};return t.data&&(n.data={maxRTT:t.data.maxRoundTripTime,packetLoss:t.data.avgRecvPacketLoss}),n})),function(e){return b.apply(this,arguments)})},{key:\"testPeerToPeerCallQuality\",value:(_=p((function*(e){var t=this;if(as(this._testCallInProgress,\"testPeerToPeerCallQuality()\"),this.needsLoad())try{yield this.load()}catch(e){return Promise.reject(e)}var n=e.videoTrack,r=e.duration;if(!this._validateVideoTrackForNetworkTests(n))throw new Error(\"Video track error\");return this._sharedTracks.videoTrackForConnectionQualityTest=n,new Promise((function(e,n){t.sendMessageToCallMachine({action:\"test-p2p-call-quality\",duration:r},(function(t){t.error?n(t.error):e(t.results)}))}))})),function(e){return _.apply(this,arguments)})},{key:\"stopTestConnectionQuality\",value:function(){Eo()?(console.warn(\"stopTestConnectionQuality() is deprecated: use testPeerToPeerCallQuality() and stopTestPeerToPeerCallQuality() instead\"),this.stopTestPeerToPeerCallQuality()):(console.warn(\"stopTestConnectionQuality() is deprecated: use testCallQuality() and stopTestCallQuality() instead\"),this.stopTestCallQuality())}},{key:\"stopTestPeerToPeerCallQuality\",value:function(){this.sendMessageToCallMachine({action:\"stop-test-p2p-call-quality\"})}},{key:\"testNetworkConnectivity\",value:(y=p((function*(e){var t=this;if(as(this._testCallInProgress,\"testNetworkConnectivity()\"),this.needsLoad())try{yield this.load()}catch(e){return Promise.reject(e)}if(!this._validateVideoTrackForNetworkTests(e))throw new Error(\"Video track error\");return this._sharedTracks.videoTrackForNetworkConnectivityTest=e,new Promise((function(e,n){t.sendMessageToCallMachine({action:\"test-network-connectivity\"},(function(t){t.error?n(t.error):e(t.results)}))}))})),function(e){return y.apply(this,arguments)})},{key:\"abortTestNetworkConnectivity\",value:function(){this.sendMessageToCallMachine({action:\"abort-test-network-connectivity\"})}},{key:\"getCpuLoadStats\",value:function(){var e=this;return new Promise((function(t){if(e._callState===Er){e.sendMessageToCallMachine({action:\"get-cpu-load-stats\"},(function(e){t(e.cpuStats)}))}else t({cpuLoadState:void 0,cpuLoadStateReason:void 0,stats:{}})}))}},{key:\"_validateEncodingLayerHasValidProperties\",value:function(e){var t;if(!((null===(t=Object.keys(e))||void 0===t?void 0:t.length)>0))throw new Error(\"Empty encoding is not allowed. At least one of these valid keys should be specified:\"+Object.values(za))}},{key:\"_validateVideoSendSettings\",value:function(e,t){var r=\"screenVideo\"===e?[\"default-screen-video\",\"detail-optimized\",\"motion-optimized\",\"motion-and-detail-balanced\"]:[\"default-video\",\"bandwidth-optimized\",\"bandwidth-and-quality-balanced\",\"quality-optimized\",\"adaptive-2-layers\",\"adaptive-3-layers\"],i=\"Video send settings should be either an object or one of the supported presets: \".concat(r.join());if(\"string\"==typeof t){if(!r.includes(t))throw new Error(i)}else{if(\"object\"!==n(t))throw new Error(i);if(!t.maxQuality&&!t.encodings&&void 0===t.allowAdaptiveLayers)throw new Error(\"Video send settings must contain at least maxQuality, allowAdaptiveLayers or encodings attribute\");if(t.maxQuality&&-1===[\"low\",\"medium\",\"high\"].indexOf(t.maxQuality))throw new Error(\"maxQuality must be either low, medium or high\");if(t.encodings){var o=!1;switch(Object.keys(t.encodings).length){case 1:o=!t.encodings.low;break;case 2:o=!t.encodings.low||!t.encodings.medium;break;case 3:o=!t.encodings.low||!t.encodings.medium||!t.encodings.high;break;default:o=!0}if(o)throw new Error(\"Encodings must be defined as: low, low and medium, or low, medium and high.\");t.encodings.low&&this._validateEncodingLayerHasValidProperties(t.encodings.low),t.encodings.medium&&this._validateEncodingLayerHasValidProperties(t.encodings.medium),t.encodings.high&&this._validateEncodingLayerHasValidProperties(t.encodings.high)}}}},{key:\"validateUpdateSendSettings\",value:function(e){var t=this;if(!e||0===Object.keys(e).length)throw new Error(\"Send settings must contain at least information for one track!\");Object.entries(e).forEach((function(e){var n=g(e,2),r=n[0],i=n[1];t._validateVideoSendSettings(r,i)}))}},{key:\"updateSendSettings\",value:function(e){var t=this;return this.validateUpdateSendSettings(e),this.needsLoad()?(this._preloadCache.sendSettings=e,{sendSettings:this._preloadCache.sendSettings}):new Promise((function(n,r){t.sendMessageToCallMachine({action:\"update-send-settings\",sendSettings:e},(function(e){e.error?r(e.error):n(e.sendSettings)}))}))}},{key:\"getSendSettings\",value:function(){return this._sendSettings||this._preloadCache.sendSettings}},{key:\"getLocalAudioLevel\",value:function(){return this._localAudioLevel}},{key:\"getRemoteParticipantsAudioLevel\",value:function(){return this._remoteParticipantsAudioLevel}},{key:\"getActiveSpeaker\",value:function(){return ls(),this._activeSpeaker}},{key:\"setActiveSpeakerMode\",value:function(e){return ls(),this.sendMessageToCallMachine({action:\"set-active-speaker-mode\",enabled:e}),this}},{key:\"activeSpeakerMode\",value:function(){return ls(),this._activeSpeakerMode}},{key:\"subscribeToTracksAutomatically\",value:function(){return this._preloadCache.subscribeToTracksAutomatically}},{key:\"setSubscribeToTracksAutomatically\",value:function(e){return ns(this._callState,\"setSubscribeToTracksAutomatically()\",\"Use the subscribeToTracksAutomatically configuration property.\"),this._preloadCache.subscribeToTracksAutomatically=e,this.sendMessageToCallMachine({action:\"daily-method-subscribe-to-tracks-automatically\",enabled:e}),this}},{key:\"enumerateDevices\",value:(v=p((function*(){var e=this;if(this._callObjectMode){var t=yield navigator.mediaDevices.enumerateDevices();return\"Firefox\"===Lo()&&Io().major>115&&Io().major<123&&(t=t.filter((function(e){return\"audiooutput\"!==e.kind}))),{devices:t.map((function(e){var t=JSON.parse(JSON.stringify(e));if(!Eo()&&\"videoinput\"===e.kind&&e.getCapabilities){var n,r=e.getCapabilities();t.facing=(null==r||null===(n=r.facingMode)||void 0===n?void 0:n.length)>=1?r.facingMode[0]:void 0}return t}))}}return new Promise((function(t){e.sendMessageToCallMachine({action:\"enumerate-devices\"},(function(e){t({devices:e.devices})}))}))})),function(){return v.apply(this,arguments)})},{key:\"sendAppMessage\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"*\";if(ns(this._callState,\"sendAppMessage()\"),JSON.stringify(e).length>this._maxAppMessageSize)throw new Error(\"Message data too large. Max size is \"+this._maxAppMessageSize);return this.sendMessageToCallMachine({action:\"app-msg\",data:e,to:t}),this}},{key:\"addFakeParticipant\",value:function(e){return ls(),ns(this._callState,\"addFakeParticipant()\"),this.sendMessageToCallMachine(Ra({action:\"add-fake-participant\"},e)),this}},{key:\"setShowNamesMode\",value:function(e){return cs(this._callObjectMode,\"setShowNamesMode()\"),ls(),e&&\"always\"!==e&&\"never\"!==e?(console.error('setShowNamesMode argument should be \"always\", \"never\", or false'),this):(this.sendMessageToCallMachine({action:\"set-show-names\",mode:e}),this)}},{key:\"setShowLocalVideo\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cs(this._callObjectMode,\"setShowLocalVideo()\"),ls(),ns(this._callState,\"setShowLocalVideo()\"),\"boolean\"!=typeof e?(console.error(\"setShowLocalVideo only accepts a boolean value\"),this):(this.sendMessageToCallMachine({action:\"set-show-local-video\",show:e}),this._showLocalVideo=e,this)}},{key:\"showLocalVideo\",value:function(){return cs(this._callObjectMode,\"showLocalVideo()\"),ls(),this._showLocalVideo}},{key:\"setShowParticipantsBar\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cs(this._callObjectMode,\"setShowParticipantsBar()\"),ls(),ns(this._callState,\"setShowParticipantsBar()\"),\"boolean\"!=typeof e?(console.error(\"setShowParticipantsBar only accepts a boolean value\"),this):(this.sendMessageToCallMachine({action:\"set-show-participants-bar\",show:e}),this._showParticipantsBar=e,this)}},{key:\"showParticipantsBar\",value:function(){return cs(this._callObjectMode,\"showParticipantsBar()\"),ls(),this._showParticipantsBar}},{key:\"customIntegrations\",value:function(){return ls(),cs(this._callObjectMode,\"customIntegrations()\"),this._customIntegrations}},{key:\"setCustomIntegrations\",value:function(e){return ls(),cs(this._callObjectMode,\"setCustomIntegrations()\"),ns(this._callState,\"setCustomIntegrations()\"),_s(e)?(this.sendMessageToCallMachine({action:\"set-custom-integrations\",integrations:e}),this._customIntegrations=e,this):this}},{key:\"startCustomIntegrations\",value:function(e){var t=this;if(ls(),cs(this._callObjectMode,\"startCustomIntegrations()\"),ns(this._callState,\"startCustomIntegrations()\"),Array.isArray(e)&&e.some((function(e){return\"string\"!=typeof e}))||!Array.isArray(e)&&\"string\"!=typeof e)return console.error(\"startCustomIntegrations() only accepts string | string[]\"),this;var n=\"string\"==typeof e?[e]:e,r=n.filter((function(e){return!(e in t._customIntegrations)}));return r.length?(console.error(\"Can't find custom integration(s): \\\"\".concat(r.join(\", \"),'\"')),this):(this.sendMessageToCallMachine({action:\"start-custom-integrations\",ids:n}),this)}},{key:\"stopCustomIntegrations\",value:function(e){var t=this;if(ls(),cs(this._callObjectMode,\"stopCustomIntegrations()\"),ns(this._callState,\"stopCustomIntegrations()\"),Array.isArray(e)&&e.some((function(e){return\"string\"!=typeof e}))||!Array.isArray(e)&&\"string\"!=typeof e)return console.error(\"stopCustomIntegrations() only accepts string | string[]\"),this;var n=\"string\"==typeof e?[e]:e,r=n.filter((function(e){return!(e in t._customIntegrations)}));return r.length?(console.error(\"Can't find custom integration(s): \\\"\".concat(r.join(\", \"),'\"')),this):(this.sendMessageToCallMachine({action:\"stop-custom-integrations\",ids:n}),this)}},{key:\"customTrayButtons\",value:function(){return cs(this._callObjectMode,\"customTrayButtons()\"),ls(),this._customTrayButtons}},{key:\"updateCustomTrayButtons\",value:function(e){return cs(this._callObjectMode,\"updateCustomTrayButtons()\"),ls(),ns(this._callState,\"updateCustomTrayButtons()\"),ys(e)?(this.sendMessageToCallMachine({action:\"update-custom-tray-buttons\",btns:e}),this._customTrayButtons=e,this):(console.error(\"updateCustomTrayButtons only accepts a dictionary of the type \".concat(JSON.stringify(Qa))),this)}},{key:\"theme\",value:function(){return cs(this._callObjectMode,\"theme()\"),this.properties.theme}},{key:\"setTheme\",value:function(e){var t=this;return cs(this._callObjectMode,\"setTheme()\"),new Promise((function(n,r){try{t.validateProperties({theme:e}),t.properties.theme=Ra({},e),t.sendMessageToCallMachine({action:\"set-theme\",theme:t.properties.theme});try{t.emitDailyJSEvent({action:oi,theme:t.properties.theme})}catch(e){console.log(\"could not emit 'theme-updated'\",e)}n(t.properties.theme)}catch(e){r(e)}}))}},{key:\"requestFullscreen\",value:(f=p((function*(){if(ls(),this._iframe&&!document.fullscreenElement&&To())try{(yield this._iframe.requestFullscreen)?this._iframe.requestFullscreen():this._iframe.webkitRequestFullscreen()}catch(e){console.log(\"could not make video call fullscreen\",e)}})),function(){return f.apply(this,arguments)})},{key:\"exitFullscreen\",value:function(){ls(),document.fullscreenElement?document.exitFullscreen():document.webkitFullscreenElement&&document.webkitExitFullscreen()}},{key:\"getSidebarView\",value:(h=p((function*(){var e=this;return this._callObjectMode?(console.error(\"getSidebarView is not available in callObject mode\"),Promise.resolve(null)):new Promise((function(t){e.sendMessageToCallMachine({action:\"get-sidebar-view\"},(function(e){t(e.view)}))}))})),function(){return h.apply(this,arguments)})},{key:\"setSidebarView\",value:function(e){return this._callObjectMode?(console.error(\"setSidebarView is not available in callObject mode\"),this):(this.sendMessageToCallMachine({action:\"set-sidebar-view\",view:e}),this)}},{key:\"room\",value:(u=p((function*(){var e=this,t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).includeRoomConfigDefaults,n=void 0===t||t;return this._accessState.access===xr||this.needsLoad()?this.properties.url?{roomUrlPendingJoin:this.properties.url}:null:new Promise((function(t){e.sendMessageToCallMachine({action:\"lib-room-info\",includeRoomConfigDefaults:n},(function(e){delete e.action,delete e.callbackStamp,t(e)}))}))})),function(){return u.apply(this,arguments)})},{key:\"geo\",value:(l=p((function*(){try{var e=yield fetch(\"https://gs.daily.co/_ks_/x-swsl/:\");return{current:(yield e.json()).geo}}catch(e){return console.error(\"geo lookup failed\",e),{current:\"\"}}})),function(){return l.apply(this,arguments)})},{key:\"setNetworkTopology\",value:(s=p((function*(e){var t=this;return ls(),ns(this._callState,\"setNetworkTopology()\"),new Promise((function(n,r){t.sendMessageToCallMachine({action:\"set-network-topology\",opts:e},(function(e){e.error?r({error:e.error}):n({workerId:e.workerId})}))}))})),function(e){return s.apply(this,arguments)})},{key:\"getNetworkTopology\",value:(i=p((function*(){var e=this;return new Promise((function(t,n){e.needsLoad()&&t({topology:\"none\"}),e.sendMessageToCallMachine({action:\"get-network-topology\"},(function(e){e.error?n({error:e.error}):t({topology:e.topology})}))}))})),function(){return i.apply(this,arguments)})},{key:\"setPlayNewParticipantSound\",value:function(e){if(ls(),\"number\"!=typeof e&&!0!==e&&!1!==e)throw new Error(\"argument to setShouldPlayNewParticipantSound should be true, false, or a number, but is \".concat(e));this.sendMessageToCallMachine({action:\"daily-method-set-play-ding\",arg:e})}},{key:\"on\",value:function(e,t){return m.prototype.on.call(this,e,t)}},{key:\"once\",value:function(e,t){return m.prototype.once.call(this,e,t)}},{key:\"off\",value:function(e,t){return m.prototype.off.call(this,e,t)}},{key:\"validateProperties\",value:function(e){for(var t in e){if(!Xa[t])throw new Error(\"unrecognized property '\".concat(t,\"'\"));if(Xa[t].validate&&!Xa[t].validate(e[t],this))throw new Error(\"property '\".concat(t,\"': \").concat(Xa[t].help))}}},{key:\"assembleMeetingUrl\",value:function(){var e,t,n=Ra(Ra({},this.properties),{},{emb:this.callClientId,embHref:encodeURIComponent(window.location.href),proxy:null!==(e=this.properties.dailyConfig)&&void 0!==e&&e.proxyUrl?encodeURIComponent(null===(t=this.properties.dailyConfig)||void 0===t?void 0:t.proxyUrl):void 0}),r=n.url.match(/\\?/)?\"&\":\"?\";return n.url+r+Object.keys(Xa).filter((function(e){return Xa[e].queryString&&void 0!==n[e]})).map((function(e){return\"\".concat(Xa[e].queryString,\"=\").concat(n[e])})).join(\"&\")}},{key:\"needsLoad\",value:function(){return[br,wr,Cr,Mr].includes(this._callState)}},{key:\"sendMessageToCallMachine\",value:function(e,t){if(this._destroyed&&(this._logUseAfterDestroy(),this.strictMode))throw new Error(\"Use after destroy\");this._messageChannel.sendMessageToCallMachine(e,t,this.callClientId,this._iframe)}},{key:\"forwardPackagedMessageToCallMachine\",value:function(e){this._messageChannel.forwardPackagedMessageToCallMachine(e,this._iframe,this.callClientId)}},{key:\"addListenerForPackagedMessagesFromCallMachine\",value:function(e){return this._messageChannel.addListenerForPackagedMessagesFromCallMachine(e,this.callClientId)}},{key:\"removeListenerForPackagedMessagesFromCallMachine\",value:function(e){this._messageChannel.removeListenerForPackagedMessagesFromCallMachine(e)}},{key:\"handleMessageFromCallMachine\",value:function(t){switch(t.action){case ri:this.sendMessageToCallMachine(Ra({action:ii},this.properties));break;case\"call-machine-initialized\":this._callMachineInitialized=!0;var n={action:po,level:\"log\",code:1011,stats:{event:\"bundle load\",time:\"no-op\"===this._bundleLoadTime?0:this._bundleLoadTime,preLoaded:\"no-op\"===this._bundleLoadTime,url:X(this.properties.dailyConfig)}};this.sendMessageToCallMachine(n),this._delayDuplicateInstanceLog&&this._logDuplicateInstanceAttempt();break;case ci:this._loadedCallback&&(this._loadedCallback(),this._loadedCallback=null),this.emitDailyJSEvent(t);break;case hi:var r,i=Ra({},t);delete i.internal,this._maxAppMessageSize=(null===(r=t.internal)||void 0===r?void 0:r._maxAppMessageSize)||so,this._joinedCallback&&(this._joinedCallback(t.participants),this._joinedCallback=null),this.emitDailyJSEvent(i);break;case fi:case gi:if(this._callState===Cr)return;if(t.participant&&t.participant.session_id){var o=t.participant.local?\"local\":t.participant.session_id;if(this._callObjectMode){var a=this._callMachine().store;va(t.participant,a),ma(t.participant,a),_a(t.participant,this._participants[o],a)}try{this.maybeParticipantTracksStopped(this._participants[o],t.participant),this.maybeParticipantTracksStarted(this._participants[o],t.participant),this.maybeEventRecordingStopped(this._participants[o],t.participant),this.maybeEventRecordingStarted(this._participants[o],t.participant)}catch(e){console.error(\"track events error\",e)}this.compareEqualForParticipantUpdateEvent(t.participant,this._participants[o])||(this._participants[o]=Ra({},t.participant),this.toggleParticipantAudioBasedOnNativeAudioFocus(),this.emitDailyJSEvent(t))}break;case vi:if(t.participant&&t.participant.session_id){var s=this._participants[t.participant.session_id];s&&this.maybeParticipantTracksStopped(s,null),delete this._participants[t.participant.session_id],this.emitDailyJSEvent(t)}break;case mi:I(this._participantCounts,t.participantCounts)||(this._participantCounts=t.participantCounts,this.emitDailyJSEvent(t));break;case yi:var c={access:t.access};t.awaitingAccess&&(c.awaitingAccess=t.awaitingAccess),I(this._accessState,c)||(this._accessState=c,this.emitDailyJSEvent(t));break;case _i:if(t.meetingSession){this._meetingSessionSummary=t.meetingSession,this.emitDailyJSEvent(t);var l=Ra(Ra({},t),{},{action:\"meeting-session-updated\"});this.emitDailyJSEvent(l)}break;case ao:var u;this._iframe&&!t.preserveIframe&&(this._iframe.src=\"\"),this._updateCallState(Mr),this.resetMeetingDependentVars(),this._loadedCallback&&(this._loadedCallback(t.errorMsg),this._loadedCallback=null),t.preserveIframe;var d=e(t,Ia);null!=d&&null!==(u=d.error)&&void 0!==u&&u.details&&(d.error.details=JSON.parse(d.error.details)),this._maybeSendToSentry(t),this._joinedCallback&&(this._joinedCallback(null,d),this._joinedCallback=null),this.emitDailyJSEvent(d);break;case pi:this._callState!==Mr&&this._updateCallState(Cr),this.resetMeetingDependentVars(),this._resolveLeave&&(this._resolveLeave(),this._resolveLeave=null),this.emitDailyJSEvent(t);break;case\"selected-devices-updated\":t.devices&&this.emitDailyJSEvent(t);break;case Yi:var h=t.threshold,p=t.quality;h===this._network.threshold&&p===this._network.quality||(this._network.quality=p,this._network.threshold=h,this.emitDailyJSEvent(t));break;case Wi:t&&t.cpuLoadState&&this.emitDailyJSEvent(t);break;case Hi:t&&void 0!==t.faceCounts&&this.emitDailyJSEvent(t);break;case Gi:var f=t.activeSpeaker;this._activeSpeaker.peerId!==f.peerId&&(this._activeSpeaker.peerId=f.peerId,this.emitDailyJSEvent({action:t.action,activeSpeaker:this._activeSpeaker}));break;case\"show-local-video-changed\":if(this._callObjectMode)return;var g=t.show;this._showLocalVideo=g,this.emitDailyJSEvent({action:t.action,show:g});break;case qi:var v=t.enabled;this._activeSpeakerMode!==v&&(this._activeSpeakerMode=v,this.emitDailyJSEvent({action:t.action,enabled:this._activeSpeakerMode}));break;case Si:case ki:case Ei:this._waitingParticipants=t.allWaitingParticipants,this.emitDailyJSEvent({action:t.action,participant:t.participant});break;case ro:I(this._receiveSettings,t.receiveSettings)||(this._receiveSettings=t.receiveSettings,this.emitDailyJSEvent({action:t.action,receiveSettings:t.receiveSettings}));break;case io:if(!I(this._inputSettings,t.inputSettings)){var m=this._getInputSettings();this._inputSettings=t.inputSettings,this._preloadCache.inputSettings={},I(m,this._getInputSettings())||this.emitDailyJSEvent({action:t.action,inputSettings:this._getInputSettings()})}break;case\"send-settings-updated\":I(this._sendSettings,t.sendSettings)||(this._sendSettings=t.sendSettings,this._preloadCache.sendSettings=null,this.emitDailyJSEvent({action:t.action,sendSettings:t.sendSettings}));break;case\"local-audio-level\":this._localAudioLevel=t.audioLevel,this._preloadCache.localAudioLevelObserver=null,this.emitDailyJSEvent(t);break;case\"remote-participants-audio-level\":this._remoteParticipantsAudioLevel=t.participantsAudioLevel,this._preloadCache.remoteParticipantsAudioLevelObserver=null,this.emitDailyJSEvent(t);break;case Bi:var y=t.session_id;this._rmpPlayerState[y]=t.playerState,this.emitDailyJSEvent(t);break;case Ui:delete this._rmpPlayerState[t.session_id],this.emitDailyJSEvent(t);break;case Fi:var _=t.session_id,b=this._rmpPlayerState[_];b&&this.compareEqualForRMPUpdateEvent(b,t.remoteMediaPlayerState)||(this._rmpPlayerState[_]=t.remoteMediaPlayerState,this.emitDailyJSEvent(t));break;case\"custom-button-click\":case\"sidebar-view-changed\":this.emitDailyJSEvent(t);break;case bi:var w=this._meetingSessionState.topology!==(t.meetingSessionState&&t.meetingSessionState.topology);this._meetingSessionState=Es(t.meetingSessionState,this._callObjectMode),(this._callObjectMode||w)&&this.emitDailyJSEvent(t);break;case Vi:this._isScreenSharing=!0,this.emitDailyJSEvent(t);break;case Ji:case $i:this._isScreenSharing=!1,this.emitDailyJSEvent(t);break;case Ai:case Di:case ji:case xi:case Li:case Ti:case Oi:case Pi:case li:case ui:case Ni:case Ri:case\"test-completed\":case zi:case Ii:case Xi:case Zi:case eo:case to:case oo:case no:case\"dialin-ready\":case\"dialin-connected\":case\"dialin-error\":case\"dialin-stopped\":case\"dialin-warning\":case\"dialout-connected\":case\"dialout-answered\":case\"dialout-error\":case\"dialout-stopped\":case\"dialout-warning\":this.emitDailyJSEvent(t);break;case\"request-fullscreen\":this.requestFullscreen();break;case\"request-exit-fullscreen\":this.exitFullscreen()}}},{key:\"maybeEventRecordingStopped\",value:function(e,t){var n=\"record\";e&&(t.local||!1!==t[n]||e[n]===t[n]||this.emitDailyJSEvent({action:Di}))}},{key:\"maybeEventRecordingStarted\",value:function(e,t){var n=\"record\";e&&(t.local||!0!==t[n]||e[n]===t[n]||this.emitDailyJSEvent({action:Ai}))}},{key:\"maybeEventTrackStopped\",value:function(e,t,n,r){e&&(\"ended\"!==e.readyState&&t&&e.id===t.id||this.emitDailyJSEvent({action:Mi,track:e,participant:n,type:r}))}},{key:\"maybeEventTrackStarted\",value:function(e,t,n,r){t&&(e&&\"ended\"!==e.readyState&&t.id===e.id||this.emitDailyJSEvent({action:Ci,track:t,participant:n,type:r}))}},{key:\"maybeParticipantTracksStopped\",value:function(e,t){if(e)for(var n in e.tracks)this.maybeEventTrackStopped(e.tracks[n].track,t&&t.tracks[n]?t.tracks[n].track:null,t,n)}},{key:\"maybeParticipantTracksStarted\",value:function(e,t){if(t)for(var n in t.tracks)this.maybeEventTrackStarted(e&&e.tracks[n]?e.tracks[n].track:null,t.tracks[n].track,t,n)}},{key:\"compareEqualForRMPUpdateEvent\",value:function(e,t){var n,r;return e.state===t.state&&(null===(n=e.settings)||void 0===n?void 0:n.volume)===(null===(r=t.settings)||void 0===r?void 0:r.volume)}},{key:\"emitDailyJSEvent\",value:function(e){try{e.callClientId=this.callClientId,this.emit(e.action,e)}catch(t){console.log(\"could not emit\",e,t)}}},{key:\"compareEqualForParticipantUpdateEvent\",value:function(e,t){return!!I(e,t)&&((!e.videoTrack||!t.videoTrack||e.videoTrack.id===t.videoTrack.id&&e.videoTrack.muted===t.videoTrack.muted&&e.videoTrack.enabled===t.videoTrack.enabled)&&(!e.audioTrack||!t.audioTrack||e.audioTrack.id===t.audioTrack.id&&e.audioTrack.muted===t.audioTrack.muted&&e.audioTrack.enabled===t.audioTrack.enabled))}},{key:\"nativeUtils\",value:function(){return Eo()?\"undefined\"==typeof DailyNativeUtils?(console.warn(\"in React Native, DailyNativeUtils is expected to be available\"),null):DailyNativeUtils:null}},{key:\"updateIsPreparingToJoin\",value:function(e){this._updateCallState(this._callState,e)}},{key:\"_updateCallState\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._isPreparingToJoin;if(e!==this._callState||t!==this._isPreparingToJoin){var n=this._callState,r=this._isPreparingToJoin;this._callState=e,this._isPreparingToJoin=t;var i=rs(n,r),o=rs(this._callState,this._isPreparingToJoin);i!==o&&(this.updateKeepDeviceAwake(o),this.updateDeviceAudioMode(o),this.updateShowAndroidOngoingMeetingNotification(o),this.updateNoOpRecordingEnsuringBackgroundContinuity(o))}}},{key:\"resetMeetingDependentVars\",value:function(){this._participants={},this._participantCounts=qa,this._waitingParticipants={},this._activeSpeaker={},this._activeSpeakerMode=!1,this._didPreAuth=!1,this._accessState={access:xr},this._finalSummaryOfPrevSession=this._meetingSessionSummary,this._meetingSessionSummary={},this._meetingSessionState=Es(Ga,this._callObjectMode),this._isScreenSharing=!1,this._receiveSettings={},this._inputSettings=void 0,this._sendSettings={},this._localAudioLevel=0,this._isLocalAudioLevelObserverRunning=!1,this._remoteParticipantsAudioLevel={},this._isRemoteParticipantsAudioLevelObserverRunning=!1,this._maxAppMessageSize=so,this._callMachineInitialized=!1,this._bundleLoadTime=void 0,this._preloadCache}},{key:\"updateKeepDeviceAwake\",value:function(e){Eo()&&this.nativeUtils().setKeepDeviceAwake(e,this.callClientId)}},{key:\"updateDeviceAudioMode\",value:function(e){if(Eo()&&!this.disableReactNativeAutoDeviceManagement(\"audio\")){var t=e?this._nativeInCallAudioMode:\"idle\";this.nativeUtils().setAudioMode(t)}}},{key:\"updateShowAndroidOngoingMeetingNotification\",value:function(e){if(Eo()&&this.nativeUtils().setShowOngoingMeetingNotification){var t,n,r,i;if(this.properties.reactNativeConfig&&this.properties.reactNativeConfig.androidInCallNotification){var o=this.properties.reactNativeConfig.androidInCallNotification;t=o.title,n=o.subtitle,r=o.iconName,i=o.disableForCustomOverride}i&&(e=!1),this.nativeUtils().setShowOngoingMeetingNotification(e,t,n,r,this.callClientId)}}},{key:\"updateNoOpRecordingEnsuringBackgroundContinuity\",value:function(e){Eo()&&this.nativeUtils().enableNoOpRecordingEnsuringBackgroundContinuity&&this.nativeUtils().enableNoOpRecordingEnsuringBackgroundContinuity(e)}},{key:\"toggleParticipantAudioBasedOnNativeAudioFocus\",value:function(){var e,t;if(Eo()){var n=null===(e=this._callMachine())||void 0===e||null===(t=e.store)||void 0===t?void 0:t.getState();for(var r in null==n?void 0:n.streams){var i=n.streams[r];i&&i.pendingTrack&&\"audio\"===i.pendingTrack.kind&&(i.pendingTrack.enabled=this._hasNativeAudioFocus)}}}},{key:\"disableReactNativeAutoDeviceManagement\",value:function(e){return this.properties.reactNativeConfig&&this.properties.reactNativeConfig.disableAutoDeviceManagement&&this.properties.reactNativeConfig.disableAutoDeviceManagement[e]}},{key:\"absoluteUrl\",value:function(e){if(void 0!==e){var t=document.createElement(\"a\");return t.href=e,t.href}}},{key:\"sayHello\",value:function(){var e=\"hello, world.\";return console.log(e),e}},{key:\"_logUseAfterDestroy\",value:function(){var e=Object.values(Va)[0];if(this.needsLoad()){if(e&&!e.needsLoad()){var t={action:po,level:\"error\",code:this.strictMode?9995:9997};e.sendMessageToCallMachine(t)}else if(!this.strictMode){console.error(\"You are are attempting to use a call instance that was previously destroyed, which is unsupported. Please remove `strictMode: false` from your constructor properties to enable strict mode to track down and fix this unsupported usage.\")}}else{var n={action:po,level:\"error\",code:this.strictMode?9995:9997};this._messageChannel.sendMessageToCallMachine(n,null,this.callClientId,this._iframe)}}},{key:\"_logDuplicateInstanceAttempt\",value:function(){for(var e=0,t=Object.values(Va);e0&&void 0!==arguments[0]?arguments[0]:{};return e.layout=\"none\",new te(null,e)}},{key:\"wrap\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(ls(),!e||!e.contentWindow||\"string\"!=typeof e.src)throw new Error(\"DailyIframe::Wrap needs an iframe-like first argument\");return t.layout||(t.customLayout?t.layout=\"custom-v1\":t.layout=\"browser\"),new te(e,t)}},{key:\"createFrame\",value:function(e,t){var n,r;ls(),e&&t?(n=e,r=t):e&&e.append?(n=e,r={}):(n=document.body,r=e||{});var i=r.iframeStyle;i||(i=n===document.body?{position:\"fixed\",border:\"1px solid black\",backgroundColor:\"white\",width:\"375px\",height:\"450px\",right:\"1em\",bottom:\"1em\"}:{border:0,width:\"100%\",height:\"100%\"});var o=document.createElement(\"iframe\");window.navigator&&window.navigator.userAgent.match(/Chrome\\/61\\./)?o.allow=\"microphone, camera\":o.allow=\"microphone; camera; autoplay; display-capture; screen-wake-lock\",o.style.visibility=\"hidden\",n.appendChild(o),o.style.visibility=null,Object.keys(i).forEach((function(e){return o.style[e]=i[e]})),r.layout||(r.customLayout?r.layout=\"custom-v1\":r.layout=\"browser\");try{return new te(o,r)}catch(e){throw n.removeChild(o),e}}},{key:\"createTransparentFrame\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ls();var t=document.createElement(\"iframe\");return t.allow=\"microphone; camera; autoplay\",t.style.cssText=\"\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0;\\n pointer-events: none;\\n \",document.body.appendChild(t),e.layout||(e.layout=\"custom-v1\"),te.wrap(t,e)}},{key:\"getCallInstance\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;return e?Va[e]:Object.values(Va)[0]}}]),te}();function ts(e,t){var n={};for(var r in e)if(e[r]instanceof MediaStreamTrack)n[r]=fo;else if(\"dailyConfig\"===r){if(e[r].modifyLocalSdpHook){var i=window._daily.instances[t].customCallbacks||{};i.modifyLocalSdpHook=e[r].modifyLocalSdpHook,window._daily.instances[t].customCallbacks=i,delete e[r].modifyLocalSdpHook}if(e[r].modifyRemoteSdpHook){var o=window._daily.instances[t].customCallbacks||{};o.modifyRemoteSdpHook=e[r].modifyRemoteSdpHook,window._daily.instances[t].customCallbacks=o,delete e[r].modifyRemoteSdpHook}n[r]=e[r]}else n[r]=e[r];return n}function ns(e){var t=arguments.length>2?arguments[2]:void 0;if(e!==Er){var n=\"\".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"This daily-js method\",\" only supported after join.\");throw t&&(n+=\" \".concat(t)),console.error(n),new Error(n)}}function rs(e,t){return[kr,Er].includes(e)||t}function is(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"This daily-js method\",r=arguments.length>3?arguments[3]:void 0;if(rs(e,t)){var i=\"\".concat(n,\" not supported after joining a meeting.\");throw r&&(i+=\" \".concat(r)),console.error(i),new Error(i)}}function os(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"This daily-js method\",n=arguments.length>2?arguments[2]:void 0;if(!e){var r=\"\".concat(t,arguments.length>3&&void 0!==arguments[3]&&arguments[3]?\" requires preAuth() or startCamera() to initialize call state.\":\" requires preAuth(), startCamera(), or join() to initialize call state.\");throw n&&(r+=\" \".concat(n)),console.error(r),new Error(r)}}function as(e){if(e){var t=\"A pre-call quality test is in progress. Please try \".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"This daily-js method\",\" again once testing has completed. Use stopTestCallQuality() to end it early.\");throw console.error(t),new Error(t)}}function ss(e){if(!e){var t=\"\".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"This daily-js method\",\" is only supported on custom callObject instances\");throw console.error(t),new Error(t)}}function cs(e){if(e){var t=\"\".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"This daily-js method\",\" is only supported as part of Daily's Prebuilt\");throw console.error(t),new Error(t)}}function ls(){if(Eo())throw new Error(\"This daily-js method is not currently supported in React Native\")}function us(){if(!Eo())throw new Error(\"This daily-js method is only supported in React Native\")}function ds(e){if(void 0===e)return!0;var t;if(\"string\"==typeof e)t=e;else try{t=JSON.stringify(e),I(JSON.parse(t),e)||console.warn(\"The userData provided will be modified when serialized.\")}catch(e){throw Error(\"userData must be serializable to JSON: \".concat(e))}if(t.length>4096)throw Error(\"userData is too large (\".concat(t.length,\" characters). Maximum size suppported is \").concat(4096,\".\"));return!0}function hs(e,t){for(var n=t.allowAllParticipantsKey,r=function(e){var t=[\"local\"];return n||t.push(\"*\"),e&&!t.includes(e)},i=function(e){return!!(void 0===e.layer||Number.isInteger(e.layer)&&e.layer>=0||\"inherit\"===e.layer)},o=function(e){return!!e&&(!(e.video&&!i(e.video))&&!(e.screenVideo&&!i(e.screenVideo)))},a=0,s=Object.entries(e);a video -> processor -> config\";switch(e){case go.BGBLUR:return n.length>1||\"strength\"!==n[0]?(console.error(r),!1):!(\"number\"!=typeof t.strength||t.strength<=0||t.strength>1||isNaN(t.strength))||(console.error(\"\".concat(r,\"; expected: {0 < strength <= 1}, got: \").concat(t.strength)),!1);case go.BGIMAGE:return!(void 0!==t.source&&!function(e){if(\"default\"===e.source)return e.type=\"default\",!0;if(e.source instanceof ArrayBuffer)return!0;if(Z(e.source))return e.type=\"url\",!!function(e){var t=new URL(e),n=t.pathname;if(\"data:\"===t.protocol)try{var r=n.substring(n.indexOf(\":\")+1,n.indexOf(\";\")).split(\"/\")[1];return _o.includes(r)}catch(e){return console.error(\"failed to deduce blob content type\",e),!1}var i=n.split(\".\").at(-1).toLowerCase().trim();return _o.includes(i)}(e.source)||(console.error(\"invalid image type; supported types: [\".concat(_o.join(\", \"),\"]\")),!1);return t=e.source,n=Number(t),isNaN(n)||!Number.isInteger(n)||n<=0||n>yo?(console.error(\"invalid image selection; must be an int, > 0, <= \".concat(yo)),!1):(e.type=\"daily-preselect\",!0);var t,n}(t));default:return!0}}(e.type,e.config))return!1}return Object.keys(e).filter((function(e){return!t.includes(e)})).forEach((function(t){console.warn(\"invalid key inputSettings -> video -> processor : \".concat(t)),delete e[t]})),!0}(e.video.processor)))&&!(e.audio&&(\"object\"!==n(e.audio)||(r=e.audio.processor,i=[\"type\"],!r||\"object\"!==n(r)||(Object.keys(r).filter((function(e){return!i.includes(e)})).forEach((function(e){console.warn(\"invalid key inputSettings -> audio -> processor : \".concat(e)),delete r[e]})),t=r.type,\"string\"!=typeof t||!Object.values(vo).includes(t)&&(console.error(\"inputSettings audio processor type invalid\"),1))))));var t,r,i}function fs(e,t){var n,r=[];e.video&&!Po(null!==(n=null==t?void 0:t.useLegacyVideoProcessor)&&void 0!==n&&n)&&(delete e.video,r.push(\"video\")),e.audio&&!Ao()&&(delete e.audio,r.push(\"audio\")),r.length>0&&console.error(\"Ignoring settings for browser- or platform-unsupported input processor(s): \".concat(r.join(\", \")))}function gs(){var e=Object.values(go).join(\" | \"),t=Object.values(vo).join(\" | \");return\"inputSettings must be of the form: { video?: { processor: { type: [ \".concat(e,\" ], config?: {} } }, audio?: { processor: {type: [ \").concat(t,\" ] } } }\")}function vs(e){var t=e.allowAllParticipantsKey;return\"receiveSettings must be of the form { [ | \".concat(Rr).concat(t?' | \"'.concat(Br,'\"'):\"\",\"]: \")+'{ [video: [{ layer: [ | \"inherit\"] } | \"inherit\"]], [screenVideo: [{ layer: [ | \"inherit\"] } | \"inherit\"]] }}}'}function ms(){return\"customIntegrations should be an object of type \".concat(JSON.stringify(Ka),\".\")}function ys(e){if(e&&\"object\"!==n(e)||Array.isArray(e))return console.error(\"customTrayButtons should be an Object of the type \".concat(JSON.stringify(Qa),\".\")),!1;if(e)for(var t=0,r=Object.entries(e);t2)throw new Error(\"RemoteMediaPlayerSettings.volume: must be between 0.0 - 2.0\")}}function ks(e,t,n){return!(\"number\"!=typeof e||en)}function Es(e,t){return e&&!t&&delete e.data,e}export{Lr as DAILY_ACCESS_LEVEL_FULL,Ir as DAILY_ACCESS_LEVEL_LOBBY,Nr as DAILY_ACCESS_LEVEL_NONE,xr as DAILY_ACCESS_UNKNOWN,Kr as DAILY_CAMERA_ERROR_CAM_AND_MIC_IN_USE,Hr as DAILY_CAMERA_ERROR_CAM_IN_USE,ti as DAILY_CAMERA_ERROR_CONSTRAINTS,Qr as DAILY_CAMERA_ERROR_MIC_IN_USE,ei as DAILY_CAMERA_ERROR_NOT_FOUND,Xr as DAILY_CAMERA_ERROR_PERMISSIONS,Zr as DAILY_CAMERA_ERROR_UNDEF_MEDIADEVICES,ni as DAILY_CAMERA_ERROR_UNKNOWN,yi as DAILY_EVENT_ACCESS_STATE_UPDATED,Gi as DAILY_EVENT_ACTIVE_SPEAKER_CHANGE,qi as DAILY_EVENT_ACTIVE_SPEAKER_MODE_CHANGE,Ni as DAILY_EVENT_APP_MSG,ui as DAILY_EVENT_CAMERA_ERROR,Wi as DAILY_EVENT_CPU_LOAD_CHANGE,ao as DAILY_EVENT_ERROR,Ki as DAILY_EVENT_EXIT_FULLSCREEN,Hi as DAILY_EVENT_FACE_COUNTS_UPDATED,Qi as DAILY_EVENT_FULLSCREEN,ii as DAILY_EVENT_IFRAME_LAUNCH_CONFIG,ri as DAILY_EVENT_IFRAME_READY_FOR_LAUNCH_CONFIG,io as DAILY_EVENT_INPUT_SETTINGS_UPDATED,hi as DAILY_EVENT_JOINED_MEETING,di as DAILY_EVENT_JOINING_MEETING,no as DAILY_EVENT_LANG_UPDATED,pi as DAILY_EVENT_LEFT_MEETING,to as DAILY_EVENT_LIVE_STREAMING_ERROR,Xi as DAILY_EVENT_LIVE_STREAMING_STARTED,eo as DAILY_EVENT_LIVE_STREAMING_STOPPED,Zi as DAILY_EVENT_LIVE_STREAMING_UPDATED,ci as DAILY_EVENT_LOADED,ai as DAILY_EVENT_LOADING,si as DAILY_EVENT_LOAD_ATTEMPT_FAILED,$i as DAILY_EVENT_LOCAL_SCREEN_SHARE_CANCELED,Vi as DAILY_EVENT_LOCAL_SCREEN_SHARE_STARTED,Ji as DAILY_EVENT_LOCAL_SCREEN_SHARE_STOPPED,wi as DAILY_EVENT_MEETING_SESSION_DATA_ERROR,bi as DAILY_EVENT_MEETING_SESSION_STATE_UPDATED,_i as DAILY_EVENT_MEETING_SESSION_SUMMARY_UPDATED,zi as DAILY_EVENT_NETWORK_CONNECTION,Yi as DAILY_EVENT_NETWORK_QUALITY_CHANGE,oo as DAILY_EVENT_NONFATAL_ERROR,mi as DAILY_EVENT_PARTICIPANT_COUNTS_UPDATED,fi as DAILY_EVENT_PARTICIPANT_JOINED,vi as DAILY_EVENT_PARTICIPANT_LEFT,gi as DAILY_EVENT_PARTICIPANT_UPDATED,ro as DAILY_EVENT_RECEIVE_SETTINGS_UPDATED,Ii as DAILY_EVENT_RECORDING_DATA,xi as DAILY_EVENT_RECORDING_ERROR,Ai as DAILY_EVENT_RECORDING_STARTED,ji as DAILY_EVENT_RECORDING_STATS,Di as DAILY_EVENT_RECORDING_STOPPED,Li as DAILY_EVENT_RECORDING_UPLOAD_COMPLETED,Bi as DAILY_EVENT_REMOTE_MEDIA_PLAYER_STARTED,Ui as DAILY_EVENT_REMOTE_MEDIA_PLAYER_STOPPED,Fi as DAILY_EVENT_REMOTE_MEDIA_PLAYER_UPDATED,li as DAILY_EVENT_STARTED_CAMERA,oi as DAILY_EVENT_THEME_UPDATED,Ci as DAILY_EVENT_TRACK_STARTED,Mi as DAILY_EVENT_TRACK_STOPPED,Pi as DAILY_EVENT_TRANSCRIPTION_ERROR,Ri as DAILY_EVENT_TRANSCRIPTION_MSG,Ti as DAILY_EVENT_TRANSCRIPTION_STARTED,Oi as DAILY_EVENT_TRANSCRIPTION_STOPPED,Si as DAILY_EVENT_WAITING_PARTICIPANT_ADDED,Ei as DAILY_EVENT_WAITING_PARTICIPANT_REMOVED,ki as DAILY_EVENT_WAITING_PARTICIPANT_UPDATED,Wr as DAILY_FATAL_ERROR_CONNECTION,Fr as DAILY_FATAL_ERROR_EJECTED,Yr as DAILY_FATAL_ERROR_EOL,Jr as DAILY_FATAL_ERROR_EXP_ROOM,$r as DAILY_FATAL_ERROR_EXP_TOKEN,qr as DAILY_FATAL_ERROR_MEETING_FULL,Ur as DAILY_FATAL_ERROR_NBF_ROOM,Vr as DAILY_FATAL_ERROR_NBF_TOKEN,zr as DAILY_FATAL_ERROR_NOT_ALLOWED,Gr as DAILY_FATAL_ERROR_NO_ROOM,Br as DAILY_RECEIVE_SETTINGS_ALL_PARTICIPANTS_KEY,Rr as DAILY_RECEIVE_SETTINGS_BASE_KEY,Mr as DAILY_STATE_ERROR,Er as DAILY_STATE_JOINED,kr as DAILY_STATE_JOINING,Cr as DAILY_STATE_LEFT,br as DAILY_STATE_NEW,Tr as DAILY_TRACK_STATE_BLOCKED,Dr as DAILY_TRACK_STATE_INTERRUPTED,Ar as DAILY_TRACK_STATE_LOADING,Or as DAILY_TRACK_STATE_OFF,jr as DAILY_TRACK_STATE_PLAYABLE,Pr as DAILY_TRACK_STATE_SENDABLE,es as default};\n", "export * from \"./transport\";\n", "import Daily, {\n DailyCall,\n DailyEventObjectAppMessage,\n DailyEventObjectAvailableDevicesUpdated,\n DailyEventObjectLocalAudioLevel,\n DailyEventObjectParticipant,\n DailyEventObjectParticipantLeft,\n DailyEventObjectRemoteParticipantsAudioLevel,\n DailyEventObjectSelectedDevicesUpdated,\n DailyEventObjectTrack,\n DailyParticipant,\n} from \"@daily-co/daily-js\";\nimport {\n Participant,\n Tracks,\n Transport,\n TransportStartError,\n TransportState,\n RTVIClientOptions,\n RTVIMessage,\n RTVIError,\n} from \"realtime-ai\";\n\nexport interface DailyTransportAuthBundle {\n room_url: string;\n token: string;\n}\n\nexport class DailyTransport extends Transport {\n private declare _daily: DailyCall;\n private _botId: string = \"\";\n private _selectedCam: MediaDeviceInfo | Record = {};\n private _selectedMic: MediaDeviceInfo | Record = {};\n\n constructor() {\n super();\n }\n\n public initialize(\n options: RTVIClientOptions,\n messageHandler: (ev: RTVIMessage) => void\n ): void {\n this._callbacks = options.callbacks ?? {};\n this._onMessage = messageHandler;\n\n const existingInstance = Daily.getCallInstance();\n if (existingInstance) {\n void existingInstance.destroy();\n }\n\n this._daily = Daily.createCallObject({\n startVideoOff: !(options.enableCam == true),\n startAudioOff: options.enableMic == false,\n allowMultipleCallInstances: true,\n dailyConfig: {},\n });\n\n this.attachEventListeners();\n\n this.state = \"disconnected\";\n\n console.debug(\"[RTVI Transport] Initialized\");\n }\n\n get state(): TransportState {\n return this._state;\n }\n\n private set state(state: TransportState) {\n if (this._state === state) return;\n\n this._state = state;\n this._callbacks.onTransportStateChanged?.(state);\n }\n\n async getAllCams() {\n const { devices } = await this._daily.enumerateDevices();\n return devices.filter((d) => d.kind === \"videoinput\");\n }\n\n updateCam(camId: string) {\n this._daily\n .setInputDevicesAsync({\n videoDeviceId: camId,\n })\n .then((infos) => {\n this._selectedCam = infos.camera;\n });\n }\n\n get selectedCam() {\n return this._selectedCam;\n }\n\n async getAllMics() {\n const { devices } = await this._daily.enumerateDevices();\n return devices.filter((d) => d.kind === \"audioinput\");\n }\n\n updateMic(micId: string) {\n this._daily\n .setInputDevicesAsync({\n audioDeviceId: micId,\n })\n .then((infos) => {\n this._selectedMic = infos.mic;\n });\n }\n\n get selectedMic() {\n return this._selectedMic;\n }\n\n enableMic(enable: boolean) {\n this._daily.setLocalAudio(enable);\n }\n\n get isMicEnabled() {\n return this._daily.localAudio();\n }\n\n enableCam(enable: boolean) {\n this._daily.setLocalVideo(enable);\n }\n\n get isCamEnabled() {\n return this._daily.localVideo();\n }\n\n tracks() {\n const participants = this._daily?.participants() ?? {};\n const bot = participants?.[this._botId];\n\n const tracks: Tracks = {\n local: {\n audio: participants?.local?.tracks?.audio?.persistentTrack,\n video: participants?.local?.tracks?.video?.persistentTrack,\n },\n };\n\n if (bot) {\n tracks.bot = {\n audio: bot?.tracks?.audio?.persistentTrack,\n video: bot?.tracks?.video?.persistentTrack,\n };\n }\n\n return tracks;\n }\n\n async initDevices() {\n if (!this._daily) {\n throw new RTVIError(\"Transport instance not initialized\");\n }\n\n this.state = \"initializing\";\n\n const infos = await this._daily.startCamera();\n const { devices } = await this._daily.enumerateDevices();\n const cams = devices.filter((d) => d.kind === \"videoinput\");\n const mics = devices.filter((d) => d.kind === \"audioinput\");\n this._callbacks.onAvailableCamsUpdated?.(cams);\n this._callbacks.onAvailableMicsUpdated?.(mics);\n this._selectedCam = infos.camera;\n this._callbacks.onCamUpdated?.(infos.camera as MediaDeviceInfo);\n this._selectedMic = infos.mic;\n this._callbacks.onMicUpdated?.(infos.mic as MediaDeviceInfo);\n\n // Instantiate audio observers\n if (!this._daily.isLocalAudioLevelObserverRunning())\n await this._daily.startLocalAudioLevelObserver(100);\n if (!this._daily.isRemoteParticipantsAudioLevelObserverRunning())\n await this._daily.startRemoteParticipantsAudioLevelObserver(100);\n\n this.state = \"initialized\";\n }\n\n async connect(\n authBundle: DailyTransportAuthBundle,\n abortController: AbortController\n ) {\n if (!this._daily) {\n throw new RTVIError(\"Transport instance not initialized\");\n }\n\n if (abortController.signal.aborted) return;\n\n this.state = \"connecting\";\n\n try {\n await this._daily.join({\n url: authBundle.room_url,\n token: authBundle.token,\n });\n\n const room = await this._daily.room();\n if (room && \"id\" in room) {\n this._expiry = room.config?.exp;\n }\n } catch (e) {\n this.state = \"error\";\n throw new TransportStartError();\n }\n\n if (abortController.signal.aborted) return;\n\n this.state = \"connected\";\n\n this._callbacks.onConnected?.();\n }\n\n async sendReadyMessage(): Promise {\n return new Promise((resolve) => {\n (async () => {\n this._daily.on(\"track-started\", (ev) => {\n if (!ev.participant?.local) {\n this.state = \"ready\";\n this.sendMessage(RTVIMessage.clientReady());\n resolve();\n }\n });\n })();\n });\n }\n\n private attachEventListeners() {\n this._daily.on(\n \"available-devices-updated\",\n this.handleAvailableDevicesUpdated.bind(this)\n );\n this._daily.on(\n \"selected-devices-updated\",\n this.handleSelectedDevicesUpdated.bind(this)\n );\n\n this._daily.on(\"track-started\", this.handleTrackStarted.bind(this));\n this._daily.on(\"track-stopped\", this.handleTrackStopped.bind(this));\n this._daily.on(\n \"participant-joined\",\n this.handleParticipantJoined.bind(this)\n );\n this._daily.on(\"participant-left\", this.handleParticipantLeft.bind(this));\n this._daily.on(\"local-audio-level\", this.handleLocalAudioLevel.bind(this));\n this._daily.on(\n \"remote-participants-audio-level\",\n this.handleRemoteAudioLevel.bind(this)\n );\n this._daily.on(\"app-message\", this.handleAppMessage.bind(this));\n this._daily.on(\"left-meeting\", this.handleLeftMeeting.bind(this));\n }\n\n async disconnect() {\n this._daily.stopLocalAudioLevelObserver();\n this._daily.stopRemoteParticipantsAudioLevelObserver();\n\n await this._daily.leave();\n await this._daily.destroy();\n }\n\n public sendMessage(message: RTVIMessage) {\n this._daily.sendAppMessage(message, \"*\");\n }\n\n private handleAppMessage(ev: DailyEventObjectAppMessage) {\n // Bubble any messages with rtvi-ai label\n if (ev.data.label === \"rtvi-ai\") {\n this._onMessage({\n id: ev.data.id,\n type: ev.data.type,\n data: ev.data.data,\n } as RTVIMessage);\n }\n }\n\n private handleAvailableDevicesUpdated(\n ev: DailyEventObjectAvailableDevicesUpdated\n ) {\n this._callbacks.onAvailableCamsUpdated?.(\n ev.availableDevices.filter((d) => d.kind === \"videoinput\")\n );\n this._callbacks.onAvailableMicsUpdated?.(\n ev.availableDevices.filter((d) => d.kind === \"audioinput\")\n );\n }\n\n private handleSelectedDevicesUpdated(\n ev: DailyEventObjectSelectedDevicesUpdated\n ) {\n if (this._selectedCam?.deviceId !== ev.devices.camera) {\n this._selectedCam = ev.devices.camera;\n this._callbacks.onCamUpdated?.(ev.devices.camera as MediaDeviceInfo);\n }\n if (this._selectedMic?.deviceId !== ev.devices.mic) {\n this._selectedMic = ev.devices.mic;\n this._callbacks.onMicUpdated?.(ev.devices.mic as MediaDeviceInfo);\n }\n }\n\n private handleTrackStarted(ev: DailyEventObjectTrack) {\n this._callbacks.onTrackStarted?.(\n ev.track,\n ev.participant ? dailyParticipantToParticipant(ev.participant) : undefined\n );\n }\n\n private handleTrackStopped(ev: DailyEventObjectTrack) {\n this._callbacks.onTrackStopped?.(\n ev.track,\n ev.participant ? dailyParticipantToParticipant(ev.participant) : undefined\n );\n }\n\n private handleParticipantJoined(ev: DailyEventObjectParticipant) {\n const p = dailyParticipantToParticipant(ev.participant);\n\n this._callbacks.onParticipantJoined?.(p);\n\n if (p.local) return;\n\n this._botId = ev.participant.session_id;\n\n this._callbacks.onBotConnected?.(p);\n }\n\n private handleParticipantLeft(ev: DailyEventObjectParticipantLeft) {\n const p = dailyParticipantToParticipant(ev.participant);\n\n this._callbacks.onParticipantLeft?.(p);\n\n if (p.local) return;\n\n this._botId = \"\";\n\n this._callbacks.onBotDisconnected?.(p);\n }\n\n private handleLocalAudioLevel(ev: DailyEventObjectLocalAudioLevel) {\n this._callbacks.onLocalAudioLevel?.(ev.audioLevel);\n }\n\n private handleRemoteAudioLevel(\n ev: DailyEventObjectRemoteParticipantsAudioLevel\n ) {\n const participants = this._daily.participants();\n const ids = Object.keys(ev.participantsAudioLevel);\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i];\n const level = ev.participantsAudioLevel[id];\n this._callbacks.onRemoteAudioLevel?.(\n level,\n dailyParticipantToParticipant(participants[id])\n );\n }\n }\n\n private handleLeftMeeting() {\n this.state = \"disconnecting\";\n this._botId = \"\";\n this._callbacks.onDisconnected?.();\n }\n}\n\nconst dailyParticipantToParticipant = (p: DailyParticipant): Participant => ({\n id: p.user_id,\n local: p.local,\n name: p.user_name,\n});\n"],
+ "mappings": "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",
+ "names": ["e", "t", "n", "r", "i", "o", "a", "s", "c", "l", "u", "d", "h", "p", "e", "t", "n", "r", "i", "o", "a", "s", "c", "l", "u", "d", "h", "p", "te", "f", "v", "y", "_", "b", "w", "S", "k", "E", "C", "M", "T", "O", "P", "A", "D", "j", "x", "L", "N", "R", "B", "F", "U", "V", "J", "$", "G", "q", "Y", "z", "Q", "Z", "ee", "g", "m", "_a", "d", "_e", "_i", "e", "p", "i"]
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/_metadata.json b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/_metadata.json
new file mode 100644
index 000000000..5d5a449e4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/_metadata.json
@@ -0,0 +1,25 @@
+{
+ "hash": "5b0fc1aa",
+ "configHash": "b261e656",
+ "lockfileHash": "49cc3cc9",
+ "browserHash": "0db32c31",
+ "optimized": {
+ "@daily-co/realtime-ai-daily": {
+ "src": "../../@daily-co/realtime-ai-daily/dist/index.module.js",
+ "file": "@daily-co_realtime-ai-daily.js",
+ "fileHash": "1c7897e6",
+ "needsInterop": false
+ },
+ "realtime-ai": {
+ "src": "../../realtime-ai/dist/index.module.js",
+ "file": "realtime-ai.js",
+ "fileHash": "ba7c0239",
+ "needsInterop": false
+ }
+ },
+ "chunks": {
+ "chunk-MC2NFNB2": {
+ "file": "chunk-MC2NFNB2.js"
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js
new file mode 100644
index 000000000..40b59b7a1
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js
@@ -0,0 +1,2290 @@
+var __create = Object.create;
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __getProtoOf = Object.getPrototypeOf;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __commonJS = (cb, mod) => function __require() {
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
+ // If the importer is in node compatibility mode or this is not an ESM
+ // file that has been converted to a CommonJS file using a Babel-
+ // compatible transform (i.e. "__esModule" has not been set), then set
+ // "default" to the CommonJS "module.exports" for node compatibility.
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
+ mod
+));
+
+// node_modules/kind-of/index.js
+var require_kind_of = __commonJS({
+ "node_modules/kind-of/index.js"(exports, module) {
+ var toString = Object.prototype.toString;
+ module.exports = function kindOf(val) {
+ if (val === void 0) return "undefined";
+ if (val === null) return "null";
+ var type = typeof val;
+ if (type === "boolean") return "boolean";
+ if (type === "string") return "string";
+ if (type === "number") return "number";
+ if (type === "symbol") return "symbol";
+ if (type === "function") {
+ return isGeneratorFn(val) ? "generatorfunction" : "function";
+ }
+ if (isArray(val)) return "array";
+ if (isBuffer(val)) return "buffer";
+ if (isArguments(val)) return "arguments";
+ if (isDate(val)) return "date";
+ if (isError(val)) return "error";
+ if (isRegexp(val)) return "regexp";
+ switch (ctorName(val)) {
+ case "Symbol":
+ return "symbol";
+ case "Promise":
+ return "promise";
+ // Set, Map, WeakSet, WeakMap
+ case "WeakMap":
+ return "weakmap";
+ case "WeakSet":
+ return "weakset";
+ case "Map":
+ return "map";
+ case "Set":
+ return "set";
+ // 8-bit typed arrays
+ case "Int8Array":
+ return "int8array";
+ case "Uint8Array":
+ return "uint8array";
+ case "Uint8ClampedArray":
+ return "uint8clampedarray";
+ // 16-bit typed arrays
+ case "Int16Array":
+ return "int16array";
+ case "Uint16Array":
+ return "uint16array";
+ // 32-bit typed arrays
+ case "Int32Array":
+ return "int32array";
+ case "Uint32Array":
+ return "uint32array";
+ case "Float32Array":
+ return "float32array";
+ case "Float64Array":
+ return "float64array";
+ }
+ if (isGeneratorObj(val)) {
+ return "generator";
+ }
+ type = toString.call(val);
+ switch (type) {
+ case "[object Object]":
+ return "object";
+ // iterators
+ case "[object Map Iterator]":
+ return "mapiterator";
+ case "[object Set Iterator]":
+ return "setiterator";
+ case "[object String Iterator]":
+ return "stringiterator";
+ case "[object Array Iterator]":
+ return "arrayiterator";
+ }
+ return type.slice(8, -1).toLowerCase().replace(/\s/g, "");
+ };
+ function ctorName(val) {
+ return typeof val.constructor === "function" ? val.constructor.name : null;
+ }
+ function isArray(val) {
+ if (Array.isArray) return Array.isArray(val);
+ return val instanceof Array;
+ }
+ function isError(val) {
+ return val instanceof Error || typeof val.message === "string" && val.constructor && typeof val.constructor.stackTraceLimit === "number";
+ }
+ function isDate(val) {
+ if (val instanceof Date) return true;
+ return typeof val.toDateString === "function" && typeof val.getDate === "function" && typeof val.setDate === "function";
+ }
+ function isRegexp(val) {
+ if (val instanceof RegExp) return true;
+ return typeof val.flags === "string" && typeof val.ignoreCase === "boolean" && typeof val.multiline === "boolean" && typeof val.global === "boolean";
+ }
+ function isGeneratorFn(name, val) {
+ return ctorName(name) === "GeneratorFunction";
+ }
+ function isGeneratorObj(val) {
+ return typeof val.throw === "function" && typeof val.return === "function" && typeof val.next === "function";
+ }
+ function isArguments(val) {
+ try {
+ if (typeof val.length === "number" && typeof val.callee === "function") {
+ return true;
+ }
+ } catch (err) {
+ if (err.message.indexOf("callee") !== -1) {
+ return true;
+ }
+ }
+ return false;
+ }
+ function isBuffer(val) {
+ if (val.constructor && typeof val.constructor.isBuffer === "function") {
+ return val.constructor.isBuffer(val);
+ }
+ return false;
+ }
+ }
+});
+
+// node_modules/shallow-clone/index.js
+var require_shallow_clone = __commonJS({
+ "node_modules/shallow-clone/index.js"(exports, module) {
+ "use strict";
+ var valueOf = Symbol.prototype.valueOf;
+ var typeOf = require_kind_of();
+ function clone(val, deep) {
+ switch (typeOf(val)) {
+ case "array":
+ return val.slice();
+ case "object":
+ return Object.assign({}, val);
+ case "date":
+ return new val.constructor(Number(val));
+ case "map":
+ return new Map(val);
+ case "set":
+ return new Set(val);
+ case "buffer":
+ return cloneBuffer(val);
+ case "symbol":
+ return cloneSymbol(val);
+ case "arraybuffer":
+ return cloneArrayBuffer(val);
+ case "float32array":
+ case "float64array":
+ case "int16array":
+ case "int32array":
+ case "int8array":
+ case "uint16array":
+ case "uint32array":
+ case "uint8clampedarray":
+ case "uint8array":
+ return cloneTypedArray(val);
+ case "regexp":
+ return cloneRegExp(val);
+ case "error":
+ return Object.create(val);
+ default: {
+ return val;
+ }
+ }
+ }
+ function cloneRegExp(val) {
+ const flags = val.flags !== void 0 ? val.flags : /\w+$/.exec(val) || void 0;
+ const re = new val.constructor(val.source, flags);
+ re.lastIndex = val.lastIndex;
+ return re;
+ }
+ function cloneArrayBuffer(val) {
+ const res = new val.constructor(val.byteLength);
+ new Uint8Array(res).set(new Uint8Array(val));
+ return res;
+ }
+ function cloneTypedArray(val, deep) {
+ return new val.constructor(val.buffer, val.byteOffset, val.length);
+ }
+ function cloneBuffer(val) {
+ const len = val.length;
+ const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);
+ val.copy(buf);
+ return buf;
+ }
+ function cloneSymbol(val) {
+ return valueOf ? Object(valueOf.call(val)) : {};
+ }
+ module.exports = clone;
+ }
+});
+
+// node_modules/isobject/index.js
+var require_isobject = __commonJS({
+ "node_modules/isobject/index.js"(exports, module) {
+ "use strict";
+ module.exports = function isObject(val) {
+ return val != null && typeof val === "object" && Array.isArray(val) === false;
+ };
+ }
+});
+
+// node_modules/is-plain-object/index.js
+var require_is_plain_object = __commonJS({
+ "node_modules/is-plain-object/index.js"(exports, module) {
+ "use strict";
+ var isObject = require_isobject();
+ function isObjectObject(o) {
+ return isObject(o) === true && Object.prototype.toString.call(o) === "[object Object]";
+ }
+ module.exports = function isPlainObject(o) {
+ var ctor, prot;
+ if (isObjectObject(o) === false) return false;
+ ctor = o.constructor;
+ if (typeof ctor !== "function") return false;
+ prot = ctor.prototype;
+ if (isObjectObject(prot) === false) return false;
+ if (prot.hasOwnProperty("isPrototypeOf") === false) {
+ return false;
+ }
+ return true;
+ };
+ }
+});
+
+// node_modules/clone-deep/index.js
+var require_clone_deep = __commonJS({
+ "node_modules/clone-deep/index.js"(exports, module) {
+ "use strict";
+ var clone = require_shallow_clone();
+ var typeOf = require_kind_of();
+ var isPlainObject = require_is_plain_object();
+ function cloneDeep(val, instanceClone) {
+ switch (typeOf(val)) {
+ case "object":
+ return cloneObjectDeep(val, instanceClone);
+ case "array":
+ return cloneArrayDeep(val, instanceClone);
+ default: {
+ return clone(val);
+ }
+ }
+ }
+ function cloneObjectDeep(val, instanceClone) {
+ if (typeof instanceClone === "function") {
+ return instanceClone(val);
+ }
+ if (instanceClone || isPlainObject(val)) {
+ const res = new val.constructor();
+ for (let key in val) {
+ res[key] = cloneDeep(val[key], instanceClone);
+ }
+ return res;
+ }
+ return val;
+ }
+ function cloneArrayDeep(val, instanceClone) {
+ const res = new val.constructor(val.length);
+ for (let i = 0; i < val.length; i++) {
+ res[i] = cloneDeep(val[i], instanceClone);
+ }
+ return res;
+ }
+ module.exports = cloneDeep;
+ }
+});
+
+// node_modules/events/events.js
+var require_events = __commonJS({
+ "node_modules/events/events.js"(exports, module) {
+ "use strict";
+ var R = typeof Reflect === "object" ? Reflect : null;
+ var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {
+ return Function.prototype.apply.call(target, receiver, args);
+ };
+ var ReflectOwnKeys;
+ if (R && typeof R.ownKeys === "function") {
+ ReflectOwnKeys = R.ownKeys;
+ } else if (Object.getOwnPropertySymbols) {
+ ReflectOwnKeys = function ReflectOwnKeys2(target) {
+ return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
+ };
+ } else {
+ ReflectOwnKeys = function ReflectOwnKeys2(target) {
+ return Object.getOwnPropertyNames(target);
+ };
+ }
+ function ProcessEmitWarning(warning) {
+ if (console && console.warn) console.warn(warning);
+ }
+ var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {
+ return value !== value;
+ };
+ function EventEmitter() {
+ EventEmitter.init.call(this);
+ }
+ module.exports = EventEmitter;
+ module.exports.once = once;
+ EventEmitter.EventEmitter = EventEmitter;
+ EventEmitter.prototype._events = void 0;
+ EventEmitter.prototype._eventsCount = 0;
+ EventEmitter.prototype._maxListeners = void 0;
+ var defaultMaxListeners = 10;
+ function checkListener(listener) {
+ if (typeof listener !== "function") {
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
+ }
+ }
+ Object.defineProperty(EventEmitter, "defaultMaxListeners", {
+ enumerable: true,
+ get: function() {
+ return defaultMaxListeners;
+ },
+ set: function(arg) {
+ if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {
+ throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + ".");
+ }
+ defaultMaxListeners = arg;
+ }
+ });
+ EventEmitter.init = function() {
+ if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {
+ this._events = /* @__PURE__ */ Object.create(null);
+ this._eventsCount = 0;
+ }
+ this._maxListeners = this._maxListeners || void 0;
+ };
+ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
+ if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + ".");
+ }
+ this._maxListeners = n;
+ return this;
+ };
+ function _getMaxListeners(that) {
+ if (that._maxListeners === void 0)
+ return EventEmitter.defaultMaxListeners;
+ return that._maxListeners;
+ }
+ EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
+ return _getMaxListeners(this);
+ };
+ EventEmitter.prototype.emit = function emit(type) {
+ var args = [];
+ for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
+ var doError = type === "error";
+ var events = this._events;
+ if (events !== void 0)
+ doError = doError && events.error === void 0;
+ else if (!doError)
+ return false;
+ if (doError) {
+ var er;
+ if (args.length > 0)
+ er = args[0];
+ if (er instanceof Error) {
+ throw er;
+ }
+ var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));
+ err.context = er;
+ throw err;
+ }
+ var handler = events[type];
+ if (handler === void 0)
+ return false;
+ if (typeof handler === "function") {
+ ReflectApply(handler, this, args);
+ } else {
+ var len = handler.length;
+ var listeners = arrayClone(handler, len);
+ for (var i = 0; i < len; ++i)
+ ReflectApply(listeners[i], this, args);
+ }
+ return true;
+ };
+ function _addListener(target, type, listener, prepend) {
+ var m;
+ var events;
+ var existing;
+ checkListener(listener);
+ events = target._events;
+ if (events === void 0) {
+ events = target._events = /* @__PURE__ */ Object.create(null);
+ target._eventsCount = 0;
+ } else {
+ if (events.newListener !== void 0) {
+ target.emit(
+ "newListener",
+ type,
+ listener.listener ? listener.listener : listener
+ );
+ events = target._events;
+ }
+ existing = events[type];
+ }
+ if (existing === void 0) {
+ existing = events[type] = listener;
+ ++target._eventsCount;
+ } else {
+ if (typeof existing === "function") {
+ existing = events[type] = prepend ? [listener, existing] : [existing, listener];
+ } else if (prepend) {
+ existing.unshift(listener);
+ } else {
+ existing.push(listener);
+ }
+ m = _getMaxListeners(target);
+ if (m > 0 && existing.length > m && !existing.warned) {
+ existing.warned = true;
+ var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");
+ w.name = "MaxListenersExceededWarning";
+ w.emitter = target;
+ w.type = type;
+ w.count = existing.length;
+ ProcessEmitWarning(w);
+ }
+ }
+ return target;
+ }
+ EventEmitter.prototype.addListener = function addListener(type, listener) {
+ return _addListener(this, type, listener, false);
+ };
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
+ EventEmitter.prototype.prependListener = function prependListener(type, listener) {
+ return _addListener(this, type, listener, true);
+ };
+ function onceWrapper() {
+ if (!this.fired) {
+ this.target.removeListener(this.type, this.wrapFn);
+ this.fired = true;
+ if (arguments.length === 0)
+ return this.listener.call(this.target);
+ return this.listener.apply(this.target, arguments);
+ }
+ }
+ function _onceWrap(target, type, listener) {
+ var state = { fired: false, wrapFn: void 0, target, type, listener };
+ var wrapped = onceWrapper.bind(state);
+ wrapped.listener = listener;
+ state.wrapFn = wrapped;
+ return wrapped;
+ }
+ EventEmitter.prototype.once = function once2(type, listener) {
+ checkListener(listener);
+ this.on(type, _onceWrap(this, type, listener));
+ return this;
+ };
+ EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
+ checkListener(listener);
+ this.prependListener(type, _onceWrap(this, type, listener));
+ return this;
+ };
+ EventEmitter.prototype.removeListener = function removeListener(type, listener) {
+ var list, events, position, i, originalListener;
+ checkListener(listener);
+ events = this._events;
+ if (events === void 0)
+ return this;
+ list = events[type];
+ if (list === void 0)
+ return this;
+ if (list === listener || list.listener === listener) {
+ if (--this._eventsCount === 0)
+ this._events = /* @__PURE__ */ Object.create(null);
+ else {
+ delete events[type];
+ if (events.removeListener)
+ this.emit("removeListener", type, list.listener || listener);
+ }
+ } else if (typeof list !== "function") {
+ position = -1;
+ for (i = list.length - 1; i >= 0; i--) {
+ if (list[i] === listener || list[i].listener === listener) {
+ originalListener = list[i].listener;
+ position = i;
+ break;
+ }
+ }
+ if (position < 0)
+ return this;
+ if (position === 0)
+ list.shift();
+ else {
+ spliceOne(list, position);
+ }
+ if (list.length === 1)
+ events[type] = list[0];
+ if (events.removeListener !== void 0)
+ this.emit("removeListener", type, originalListener || listener);
+ }
+ return this;
+ };
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
+ EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {
+ var listeners, events, i;
+ events = this._events;
+ if (events === void 0)
+ return this;
+ if (events.removeListener === void 0) {
+ if (arguments.length === 0) {
+ this._events = /* @__PURE__ */ Object.create(null);
+ this._eventsCount = 0;
+ } else if (events[type] !== void 0) {
+ if (--this._eventsCount === 0)
+ this._events = /* @__PURE__ */ Object.create(null);
+ else
+ delete events[type];
+ }
+ return this;
+ }
+ if (arguments.length === 0) {
+ var keys = Object.keys(events);
+ var key;
+ for (i = 0; i < keys.length; ++i) {
+ key = keys[i];
+ if (key === "removeListener") continue;
+ this.removeAllListeners(key);
+ }
+ this.removeAllListeners("removeListener");
+ this._events = /* @__PURE__ */ Object.create(null);
+ this._eventsCount = 0;
+ return this;
+ }
+ listeners = events[type];
+ if (typeof listeners === "function") {
+ this.removeListener(type, listeners);
+ } else if (listeners !== void 0) {
+ for (i = listeners.length - 1; i >= 0; i--) {
+ this.removeListener(type, listeners[i]);
+ }
+ }
+ return this;
+ };
+ function _listeners(target, type, unwrap) {
+ var events = target._events;
+ if (events === void 0)
+ return [];
+ var evlistener = events[type];
+ if (evlistener === void 0)
+ return [];
+ if (typeof evlistener === "function")
+ return unwrap ? [evlistener.listener || evlistener] : [evlistener];
+ return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
+ }
+ EventEmitter.prototype.listeners = function listeners(type) {
+ return _listeners(this, type, true);
+ };
+ EventEmitter.prototype.rawListeners = function rawListeners(type) {
+ return _listeners(this, type, false);
+ };
+ EventEmitter.listenerCount = function(emitter, type) {
+ if (typeof emitter.listenerCount === "function") {
+ return emitter.listenerCount(type);
+ } else {
+ return listenerCount.call(emitter, type);
+ }
+ };
+ EventEmitter.prototype.listenerCount = listenerCount;
+ function listenerCount(type) {
+ var events = this._events;
+ if (events !== void 0) {
+ var evlistener = events[type];
+ if (typeof evlistener === "function") {
+ return 1;
+ } else if (evlistener !== void 0) {
+ return evlistener.length;
+ }
+ }
+ return 0;
+ }
+ EventEmitter.prototype.eventNames = function eventNames() {
+ return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
+ };
+ function arrayClone(arr, n) {
+ var copy = new Array(n);
+ for (var i = 0; i < n; ++i)
+ copy[i] = arr[i];
+ return copy;
+ }
+ function spliceOne(list, index) {
+ for (; index + 1 < list.length; index++)
+ list[index] = list[index + 1];
+ list.pop();
+ }
+ function unwrapListeners(arr) {
+ var ret = new Array(arr.length);
+ for (var i = 0; i < ret.length; ++i) {
+ ret[i] = arr[i].listener || arr[i];
+ }
+ return ret;
+ }
+ function once(emitter, name) {
+ return new Promise(function(resolve, reject) {
+ function errorListener(err) {
+ emitter.removeListener(name, resolver);
+ reject(err);
+ }
+ function resolver() {
+ if (typeof emitter.removeListener === "function") {
+ emitter.removeListener("error", errorListener);
+ }
+ resolve([].slice.call(arguments));
+ }
+ ;
+ eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
+ if (name !== "error") {
+ addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
+ }
+ });
+ }
+ function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
+ if (typeof emitter.on === "function") {
+ eventTargetAgnosticAddListener(emitter, "error", handler, flags);
+ }
+ }
+ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
+ if (typeof emitter.on === "function") {
+ if (flags.once) {
+ emitter.once(name, listener);
+ } else {
+ emitter.on(name, listener);
+ }
+ } else if (typeof emitter.addEventListener === "function") {
+ emitter.addEventListener(name, function wrapListener(arg) {
+ if (flags.once) {
+ emitter.removeEventListener(name, wrapListener);
+ }
+ listener(arg);
+ });
+ } else {
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
+ }
+ }
+ }
+});
+
+// node_modules/realtime-ai/dist/index.module.js
+var import_clone_deep = __toESM(require_clone_deep());
+var import_events = __toESM(require_events());
+
+// node_modules/uuid/dist/esm-browser/regex.js
+var regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
+
+// node_modules/uuid/dist/esm-browser/validate.js
+function validate(uuid) {
+ return typeof uuid === "string" && regex_default.test(uuid);
+}
+var validate_default = validate;
+
+// node_modules/uuid/dist/esm-browser/parse.js
+function parse(uuid) {
+ if (!validate_default(uuid)) {
+ throw TypeError("Invalid UUID");
+ }
+ var v;
+ var arr = new Uint8Array(16);
+ arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
+ arr[1] = v >>> 16 & 255;
+ arr[2] = v >>> 8 & 255;
+ arr[3] = v & 255;
+ arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
+ arr[5] = v & 255;
+ arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
+ arr[7] = v & 255;
+ arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
+ arr[9] = v & 255;
+ arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
+ arr[11] = v / 4294967296 & 255;
+ arr[12] = v >>> 24 & 255;
+ arr[13] = v >>> 16 & 255;
+ arr[14] = v >>> 8 & 255;
+ arr[15] = v & 255;
+ return arr;
+}
+var parse_default = parse;
+
+// node_modules/uuid/dist/esm-browser/stringify.js
+var byteToHex = [];
+for (i = 0; i < 256; ++i) {
+ byteToHex.push((i + 256).toString(16).slice(1));
+}
+var i;
+function unsafeStringify(arr, offset = 0) {
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
+}
+
+// node_modules/uuid/dist/esm-browser/rng.js
+var getRandomValues;
+var rnds8 = new Uint8Array(16);
+function rng() {
+ if (!getRandomValues) {
+ getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
+ if (!getRandomValues) {
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
+ }
+ }
+ return getRandomValues(rnds8);
+}
+
+// node_modules/uuid/dist/esm-browser/v35.js
+function stringToBytes(str) {
+ str = unescape(encodeURIComponent(str));
+ var bytes = [];
+ for (var i = 0; i < str.length; ++i) {
+ bytes.push(str.charCodeAt(i));
+ }
+ return bytes;
+}
+var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
+var URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
+function v35(name, version, hashfunc) {
+ function generateUUID(value, namespace, buf, offset) {
+ var _namespace;
+ if (typeof value === "string") {
+ value = stringToBytes(value);
+ }
+ if (typeof namespace === "string") {
+ namespace = parse_default(namespace);
+ }
+ if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {
+ throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
+ }
+ var bytes = new Uint8Array(16 + value.length);
+ bytes.set(namespace);
+ bytes.set(value, namespace.length);
+ bytes = hashfunc(bytes);
+ bytes[6] = bytes[6] & 15 | version;
+ bytes[8] = bytes[8] & 63 | 128;
+ if (buf) {
+ offset = offset || 0;
+ for (var i = 0; i < 16; ++i) {
+ buf[offset + i] = bytes[i];
+ }
+ return buf;
+ }
+ return unsafeStringify(bytes);
+ }
+ try {
+ generateUUID.name = name;
+ } catch (err) {
+ }
+ generateUUID.DNS = DNS;
+ generateUUID.URL = URL;
+ return generateUUID;
+}
+
+// node_modules/uuid/dist/esm-browser/md5.js
+function md5(bytes) {
+ if (typeof bytes === "string") {
+ var msg = unescape(encodeURIComponent(bytes));
+ bytes = new Uint8Array(msg.length);
+ for (var i = 0; i < msg.length; ++i) {
+ bytes[i] = msg.charCodeAt(i);
+ }
+ }
+ return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));
+}
+function md5ToHexEncodedArray(input) {
+ var output = [];
+ var length32 = input.length * 32;
+ var hexTab = "0123456789abcdef";
+ for (var i = 0; i < length32; i += 8) {
+ var x = input[i >> 5] >>> i % 32 & 255;
+ var hex = parseInt(hexTab.charAt(x >>> 4 & 15) + hexTab.charAt(x & 15), 16);
+ output.push(hex);
+ }
+ return output;
+}
+function getOutputLength(inputLength8) {
+ return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;
+}
+function wordsToMd5(x, len) {
+ x[len >> 5] |= 128 << len % 32;
+ x[getOutputLength(len) - 1] = len;
+ var a = 1732584193;
+ var b = -271733879;
+ var c = -1732584194;
+ var d = 271733878;
+ for (var i = 0; i < x.length; i += 16) {
+ var olda = a;
+ var oldb = b;
+ var oldc = c;
+ var oldd = d;
+ a = md5ff(a, b, c, d, x[i], 7, -680876936);
+ d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);
+ c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);
+ b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);
+ a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);
+ d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);
+ c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);
+ b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);
+ a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);
+ d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);
+ c = md5ff(c, d, a, b, x[i + 10], 17, -42063);
+ b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);
+ a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);
+ d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);
+ c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);
+ b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);
+ a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);
+ d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);
+ c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);
+ b = md5gg(b, c, d, a, x[i], 20, -373897302);
+ a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);
+ d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);
+ c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);
+ b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);
+ a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);
+ d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);
+ c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);
+ b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);
+ a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);
+ d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);
+ c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);
+ b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);
+ a = md5hh(a, b, c, d, x[i + 5], 4, -378558);
+ d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);
+ c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);
+ b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);
+ a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);
+ d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);
+ c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);
+ b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);
+ a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);
+ d = md5hh(d, a, b, c, x[i], 11, -358537222);
+ c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);
+ b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);
+ a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);
+ d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);
+ c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);
+ b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);
+ a = md5ii(a, b, c, d, x[i], 6, -198630844);
+ d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);
+ c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);
+ b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);
+ a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);
+ d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);
+ c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);
+ b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);
+ a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);
+ d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);
+ c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);
+ b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);
+ a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);
+ d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);
+ c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);
+ b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);
+ a = safeAdd(a, olda);
+ b = safeAdd(b, oldb);
+ c = safeAdd(c, oldc);
+ d = safeAdd(d, oldd);
+ }
+ return [a, b, c, d];
+}
+function bytesToWords(input) {
+ if (input.length === 0) {
+ return [];
+ }
+ var length8 = input.length * 8;
+ var output = new Uint32Array(getOutputLength(length8));
+ for (var i = 0; i < length8; i += 8) {
+ output[i >> 5] |= (input[i / 8] & 255) << i % 32;
+ }
+ return output;
+}
+function safeAdd(x, y) {
+ var lsw = (x & 65535) + (y & 65535);
+ var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+ return msw << 16 | lsw & 65535;
+}
+function bitRotateLeft(num, cnt) {
+ return num << cnt | num >>> 32 - cnt;
+}
+function md5cmn(q, a, b, x, s, t) {
+ return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);
+}
+function md5ff(a, b, c, d, x, s, t) {
+ return md5cmn(b & c | ~b & d, a, b, x, s, t);
+}
+function md5gg(a, b, c, d, x, s, t) {
+ return md5cmn(b & d | c & ~d, a, b, x, s, t);
+}
+function md5hh(a, b, c, d, x, s, t) {
+ return md5cmn(b ^ c ^ d, a, b, x, s, t);
+}
+function md5ii(a, b, c, d, x, s, t) {
+ return md5cmn(c ^ (b | ~d), a, b, x, s, t);
+}
+var md5_default = md5;
+
+// node_modules/uuid/dist/esm-browser/v3.js
+var v3 = v35("v3", 48, md5_default);
+
+// node_modules/uuid/dist/esm-browser/native.js
+var randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
+var native_default = {
+ randomUUID
+};
+
+// node_modules/uuid/dist/esm-browser/v4.js
+function v4(options, buf, offset) {
+ if (native_default.randomUUID && !buf && !options) {
+ return native_default.randomUUID();
+ }
+ options = options || {};
+ var rnds = options.random || (options.rng || rng)();
+ rnds[6] = rnds[6] & 15 | 64;
+ rnds[8] = rnds[8] & 63 | 128;
+ if (buf) {
+ offset = offset || 0;
+ for (var i = 0; i < 16; ++i) {
+ buf[offset + i] = rnds[i];
+ }
+ return buf;
+ }
+ return unsafeStringify(rnds);
+}
+var v4_default = v4;
+
+// node_modules/uuid/dist/esm-browser/sha1.js
+function f(s, x, y, z) {
+ switch (s) {
+ case 0:
+ return x & y ^ ~x & z;
+ case 1:
+ return x ^ y ^ z;
+ case 2:
+ return x & y ^ x & z ^ y & z;
+ case 3:
+ return x ^ y ^ z;
+ }
+}
+function ROTL(x, n) {
+ return x << n | x >>> 32 - n;
+}
+function sha1(bytes) {
+ var K = [1518500249, 1859775393, 2400959708, 3395469782];
+ var H = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
+ if (typeof bytes === "string") {
+ var msg = unescape(encodeURIComponent(bytes));
+ bytes = [];
+ for (var i = 0; i < msg.length; ++i) {
+ bytes.push(msg.charCodeAt(i));
+ }
+ } else if (!Array.isArray(bytes)) {
+ bytes = Array.prototype.slice.call(bytes);
+ }
+ bytes.push(128);
+ var l = bytes.length / 4 + 2;
+ var N = Math.ceil(l / 16);
+ var M = new Array(N);
+ for (var _i = 0; _i < N; ++_i) {
+ var arr = new Uint32Array(16);
+ for (var j = 0; j < 16; ++j) {
+ arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];
+ }
+ M[_i] = arr;
+ }
+ M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);
+ M[N - 1][14] = Math.floor(M[N - 1][14]);
+ M[N - 1][15] = (bytes.length - 1) * 8 & 4294967295;
+ for (var _i2 = 0; _i2 < N; ++_i2) {
+ var W = new Uint32Array(80);
+ for (var t = 0; t < 16; ++t) {
+ W[t] = M[_i2][t];
+ }
+ for (var _t = 16; _t < 80; ++_t) {
+ W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);
+ }
+ var a = H[0];
+ var b = H[1];
+ var c = H[2];
+ var d = H[3];
+ var e = H[4];
+ for (var _t2 = 0; _t2 < 80; ++_t2) {
+ var s = Math.floor(_t2 / 20);
+ var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;
+ e = d;
+ d = c;
+ c = ROTL(b, 30) >>> 0;
+ b = a;
+ a = T;
+ }
+ H[0] = H[0] + a >>> 0;
+ H[1] = H[1] + b >>> 0;
+ H[2] = H[2] + c >>> 0;
+ H[3] = H[3] + d >>> 0;
+ H[4] = H[4] + e >>> 0;
+ }
+ return [H[0] >> 24 & 255, H[0] >> 16 & 255, H[0] >> 8 & 255, H[0] & 255, H[1] >> 24 & 255, H[1] >> 16 & 255, H[1] >> 8 & 255, H[1] & 255, H[2] >> 24 & 255, H[2] >> 16 & 255, H[2] >> 8 & 255, H[2] & 255, H[3] >> 24 & 255, H[3] >> 16 & 255, H[3] >> 8 & 255, H[3] & 255, H[4] >> 24 & 255, H[4] >> 16 & 255, H[4] >> 8 & 255, H[4] & 255];
+}
+var sha1_default = sha1;
+
+// node_modules/uuid/dist/esm-browser/v5.js
+var v5 = v35("v5", 80, sha1_default);
+
+// node_modules/realtime-ai/dist/index.module.js
+function $parcel$export(e, n, v, s) {
+ Object.defineProperty(e, n, { get: v, set: s, enumerable: true, configurable: true });
+}
+function $parcel$interopDefault(a) {
+ return a && a.__esModule ? a.default : a;
+}
+var $d881613f2029ce0c$exports = {};
+$parcel$export($d881613f2029ce0c$exports, "httpActionGenerator", () => $d881613f2029ce0c$export$8728b60ea57bf43e);
+async function $d881613f2029ce0c$export$8728b60ea57bf43e(actionUrl, action, params, handleResponse) {
+ try {
+ console.debug("[RTVI] Fetch action", actionUrl, action);
+ const headers = new Headers({
+ ...Object.fromEntries((params.headers ?? new Headers()).entries())
+ });
+ if (!headers.has("Content-Type")) headers.set("Content-Type", "application/json");
+ headers.set("Cache-Control", "no-cache");
+ headers.set("Connection", "keep-alive");
+ const response = await fetch(actionUrl, {
+ method: "POST",
+ headers,
+ body: JSON.stringify({
+ ...params.requestData,
+ actions: [
+ action
+ ]
+ })
+ });
+ const contentType = response.headers.get("content-type");
+ if (!response.ok) {
+ const errorMessage = await response.text();
+ throw new (0, $08bedc6ef0d1c66c$export$59b4786f333aac02)(`Failed to resolve action: ${errorMessage}`, response.status);
+ }
+ if (response.body && (contentType == null ? void 0 : contentType.includes("text/event-stream"))) {
+ const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
+ let buffer = "";
+ while (true) {
+ const { value, done } = await reader.read();
+ if (done) break;
+ buffer += value;
+ let boundary = buffer.indexOf("\n\n");
+ while (boundary !== -1) {
+ const message = buffer.slice(0, boundary);
+ buffer = buffer.slice(boundary + 2);
+ const lines = message.split("\n");
+ let encodedData = "";
+ for (const line of lines) {
+ const colonIndex = line.indexOf(":");
+ if (colonIndex !== -1) encodedData += line.slice(colonIndex + 1).trim();
+ }
+ try {
+ const jsonData = atob(encodedData);
+ const parsedData = JSON.parse(jsonData);
+ handleResponse(parsedData);
+ } catch (error) {
+ console.error("[RTVI] Failed to parse JSON:", error);
+ throw error;
+ }
+ boundary = buffer.indexOf("\n\n");
+ }
+ }
+ } else {
+ const data = await response.json();
+ handleResponse(data);
+ }
+ } catch (error) {
+ console.error("[RTVI] Error during fetch:", error);
+ throw error;
+ }
+}
+var $74c1449bc91bda44$exports = {};
+$parcel$export($74c1449bc91bda44$exports, "RTVIClient", () => $74c1449bc91bda44$export$fa42a01c1d60f4a1);
+var $a2e2958c9fde306f$exports = {};
+$a2e2958c9fde306f$exports = JSON.parse('{"name":"realtime-ai","version":"0.2.1","license":"BSD-2-Clause","main":"dist/index.js","module":"dist/index.module.js","types":"dist/index.d.ts","source":"src/index.ts","repository":{"type":"git","url":"git+https://github.com/rtvi-ai/rtvi-client-web.git"},"files":["dist","package.json","README.md"],"scripts":{"build":"jest --silent && parcel build --no-cache","dev":"parcel watch","lint":"eslint src/ --report-unused-disable-directives --max-warnings 0","test":"jest"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"devDependencies":{"@jest/globals":"^29.7.0","@types/clone-deep":"^4.0.4","@types/jest":"^29.5.12","@types/uuid":"^10.0.0","@typescript-eslint/eslint-plugin":"^7.16.0","@typescript-eslint/parser":"^7.16.0","eslint":"9.11.1","eslint-config-prettier":"^9.1.0","eslint-plugin-simple-import-sort":"^12.1.1","jest":"^29.7.0","ts-jest":"^29.2.5"},"dependencies":{"@types/events":"^3.0.3","clone-deep":"^4.0.1","events":"^3.3.0","typed-emitter":"^2.1.0","uuid":"^10.0.0"}}');
+var $08bedc6ef0d1c66c$exports = {};
+$parcel$export($08bedc6ef0d1c66c$exports, "RTVIError", () => $08bedc6ef0d1c66c$export$59b4786f333aac02);
+$parcel$export($08bedc6ef0d1c66c$exports, "ConnectionTimeoutError", () => $08bedc6ef0d1c66c$export$c67992fa684a81a6);
+$parcel$export($08bedc6ef0d1c66c$exports, "StartBotError", () => $08bedc6ef0d1c66c$export$e7544ab812238a61);
+$parcel$export($08bedc6ef0d1c66c$exports, "TransportStartError", () => $08bedc6ef0d1c66c$export$e0624a511a2c4e9);
+$parcel$export($08bedc6ef0d1c66c$exports, "BotNotReadyError", () => $08bedc6ef0d1c66c$export$885fb96b850e8fbb);
+$parcel$export($08bedc6ef0d1c66c$exports, "ConfigUpdateError", () => $08bedc6ef0d1c66c$export$4eda4fd287fbbca5);
+$parcel$export($08bedc6ef0d1c66c$exports, "VoiceError", () => $08bedc6ef0d1c66c$export$975d7330b0c579b7);
+var $08bedc6ef0d1c66c$export$59b4786f333aac02 = class extends Error {
+ constructor(message, status) {
+ super(message);
+ this.status = status;
+ }
+};
+var $08bedc6ef0d1c66c$export$c67992fa684a81a6 = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+ constructor(message) {
+ super(message ?? "Bot did not enter ready state within the specified timeout period.");
+ }
+};
+var $08bedc6ef0d1c66c$export$e7544ab812238a61 = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+ constructor(message, status) {
+ super(message ?? `Failed to connect / invalid auth bundle from base url`, status ?? 500);
+ this.error = "invalid-request-error";
+ }
+};
+var $08bedc6ef0d1c66c$export$e0624a511a2c4e9 = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+ constructor(message) {
+ super(message ?? "Unable to connect to transport");
+ }
+};
+var $08bedc6ef0d1c66c$export$885fb96b850e8fbb = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+ constructor(message) {
+ super(message ?? "Attempt to call action on transport when not in 'ready' state.");
+ }
+};
+var $08bedc6ef0d1c66c$export$4eda4fd287fbbca5 = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+ constructor(message) {
+ super(message ?? "Unable to update configuration");
+ this.status = 400;
+ }
+};
+var $08bedc6ef0d1c66c$export$975d7330b0c579b7 = class extends $08bedc6ef0d1c66c$export$59b4786f333aac02 {
+};
+function $9e3641858ff8efee$export$f1586721024c4dab(_target, propertyKey, descriptor) {
+ const originalMethod = descriptor.value;
+ descriptor.value = function(...args) {
+ if (this.state === "ready") return originalMethod.apply(this, args);
+ else throw new (0, $08bedc6ef0d1c66c$export$885fb96b850e8fbb)(`Attempt to call ${propertyKey.toString()} when transport not in ready state. Await connect() first.`);
+ };
+ return descriptor;
+}
+function $9e3641858ff8efee$export$5c35b4fe6fa8c9a6(...states) {
+ states = [
+ "ready",
+ ...states
+ ];
+ return function(_target, propertyKey, descriptor) {
+ const originalGetter = descriptor.get;
+ descriptor.get = function() {
+ if (states.includes(this.state)) return originalGetter == null ? void 0 : originalGetter.apply(this);
+ else throw new (0, $08bedc6ef0d1c66c$export$885fb96b850e8fbb)(`Attempt to call ${propertyKey.toString()} when transport not in ${states}. Await connect() first.`);
+ };
+ return descriptor;
+ };
+}
+var $cbe8e0de0049ed6e$exports = {};
+$parcel$export($cbe8e0de0049ed6e$exports, "RTVIEvent", () => $cbe8e0de0049ed6e$export$6b4624d233c61fcb);
+var $cbe8e0de0049ed6e$export$6b4624d233c61fcb;
+(function(RTVIEvent) {
+ RTVIEvent["MessageError"] = "messageError";
+ RTVIEvent["Error"] = "error";
+ RTVIEvent["Connected"] = "connected";
+ RTVIEvent["Disconnected"] = "disconnected";
+ RTVIEvent["TransportStateChanged"] = "transportStateChanged";
+ RTVIEvent["Config"] = "config";
+ RTVIEvent["ConfigDescribe"] = "configDescribe";
+ RTVIEvent["ActionsAvailable"] = "actionsAvailable";
+ RTVIEvent["ParticipantConnected"] = "participantConnected";
+ RTVIEvent["ParticipantLeft"] = "participantLeft";
+ RTVIEvent["TrackStarted"] = "trackStarted";
+ RTVIEvent["TrackedStopped"] = "trackStopped";
+ RTVIEvent["AvailableCamsUpdated"] = "availableCamsUpdated";
+ RTVIEvent["AvailableMicsUpdated"] = "availableMicsUpdated";
+ RTVIEvent["CamUpdated"] = "camUpdated";
+ RTVIEvent["MicUpdated"] = "micUpdated";
+ RTVIEvent["BotConnected"] = "botConnected";
+ RTVIEvent["BotReady"] = "botReady";
+ RTVIEvent["BotDisconnected"] = "botDisconnected";
+ RTVIEvent["BotStartedSpeaking"] = "botStartedSpeaking";
+ RTVIEvent["BotStoppedSpeaking"] = "botStoppedSpeaking";
+ RTVIEvent["RemoteAudioLevel"] = "remoteAudioLevel";
+ RTVIEvent["UserStartedSpeaking"] = "userStartedSpeaking";
+ RTVIEvent["UserStoppedSpeaking"] = "userStoppedSpeaking";
+ RTVIEvent["LocalAudioLevel"] = "localAudioLevel";
+ RTVIEvent["Metrics"] = "metrics";
+ RTVIEvent["UserTranscript"] = "userTranscript";
+ RTVIEvent["BotTranscript"] = "botTranscript";
+ RTVIEvent["BotLlmText"] = "botLlmText";
+ RTVIEvent["BotLlmStarted"] = "botLlmStarted";
+ RTVIEvent["BotLlmStopped"] = "botLlmStopped";
+ RTVIEvent["BotTtsText"] = "botTtsText";
+ RTVIEvent["BotTtsStarted"] = "botTtsStarted";
+ RTVIEvent["BotTtsStopped"] = "botTtsStopped";
+ RTVIEvent["LLMFunctionCall"] = "llmFunctionCall";
+ RTVIEvent["LLMFunctionCallStart"] = "llmFunctionCallStart";
+ RTVIEvent["LLMJsonCompletion"] = "llmJsonCompletion";
+ RTVIEvent["StorageItemStored"] = "storageItemStored";
+ RTVIEvent["BotText"] = "botText";
+})($cbe8e0de0049ed6e$export$6b4624d233c61fcb || ($cbe8e0de0049ed6e$export$6b4624d233c61fcb = {}));
+var $505461462111ea0b$exports = {};
+$parcel$export($505461462111ea0b$exports, "RTVIClientHelper", () => $505461462111ea0b$export$23bc637255b2a471);
+var $505461462111ea0b$export$23bc637255b2a471 = class {
+ constructor(options) {
+ this._options = options;
+ }
+ set client(client) {
+ this._client = client;
+ }
+ set service(service) {
+ this._service = service;
+ }
+};
+var $bff4129f8f902365$exports = {};
+$parcel$export($bff4129f8f902365$exports, "RTVI_MESSAGE_LABEL", () => $bff4129f8f902365$export$882b13c7fda338f5);
+$parcel$export($bff4129f8f902365$exports, "RTVIMessageType", () => $bff4129f8f902365$export$38b3db05cbf0e240);
+$parcel$export($bff4129f8f902365$exports, "RTVIMessage", () => $bff4129f8f902365$export$69aa9ab0334b212);
+$parcel$export($bff4129f8f902365$exports, "RTVI_ACTION_TYPE", () => $bff4129f8f902365$export$28ad8d0d400d3e2d);
+$parcel$export($bff4129f8f902365$exports, "RTVIActionRequest", () => $bff4129f8f902365$export$378529d7a8bead8b);
+$parcel$export($bff4129f8f902365$exports, "MessageDispatcher", () => $bff4129f8f902365$export$e9a960646cc432aa);
+$parcel$export($bff4129f8f902365$exports, "VoiceMessage", () => $bff4129f8f902365$export$3336fb47fe34a146);
+var $bff4129f8f902365$export$882b13c7fda338f5 = "rtvi-ai";
+var $bff4129f8f902365$export$38b3db05cbf0e240;
+(function(RTVIMessageType) {
+ RTVIMessageType["CLIENT_READY"] = "client-ready";
+ RTVIMessageType["UPDATE_CONFIG"] = "update-config";
+ RTVIMessageType["GET_CONFIG"] = "get-config";
+ RTVIMessageType["DESCRIBE_CONFIG"] = "describe-config";
+ RTVIMessageType["DESCRIBE_ACTIONS"] = "describe-actions";
+ RTVIMessageType["BOT_READY"] = "bot-ready";
+ RTVIMessageType["ERROR"] = "error";
+ RTVIMessageType["ERROR_RESPONSE"] = "error-response";
+ RTVIMessageType["CONFIG"] = "config";
+ RTVIMessageType["CONFIG_AVAILABLE"] = "config-available";
+ RTVIMessageType["CONFIG_ERROR"] = "config-error";
+ RTVIMessageType["ACTIONS_AVAILABLE"] = "actions-available";
+ RTVIMessageType["ACTION_RESPONSE"] = "action-response";
+ RTVIMessageType["METRICS"] = "metrics";
+ RTVIMessageType["USER_TRANSCRIPTION"] = "user-transcription";
+ RTVIMessageType["BOT_TRANSCRIPTION"] = "bot-transcription";
+ RTVIMessageType["USER_STARTED_SPEAKING"] = "user-started-speaking";
+ RTVIMessageType["USER_STOPPED_SPEAKING"] = "user-stopped-speaking";
+ RTVIMessageType["BOT_STARTED_SPEAKING"] = "bot-started-speaking";
+ RTVIMessageType["BOT_STOPPED_SPEAKING"] = "bot-stopped-speaking";
+ RTVIMessageType["USER_LLM_TEXT"] = "user-llm-text";
+ RTVIMessageType["BOT_LLM_TEXT"] = "bot-llm-text";
+ RTVIMessageType["BOT_LLM_STARTED"] = "bot-llm-started";
+ RTVIMessageType["BOT_LLM_STOPPED"] = "bot-llm-stopped";
+ RTVIMessageType["BOT_TTS_TEXT"] = "bot-tts-text";
+ RTVIMessageType["BOT_TTS_STARTED"] = "bot-tts-started";
+ RTVIMessageType["BOT_TTS_STOPPED"] = "bot-tts-stopped";
+ RTVIMessageType["STORAGE_ITEM_STORED"] = "storage-item-stored";
+})($bff4129f8f902365$export$38b3db05cbf0e240 || ($bff4129f8f902365$export$38b3db05cbf0e240 = {}));
+var $bff4129f8f902365$export$69aa9ab0334b212 = class _$bff4129f8f902365$export$69aa9ab0334b212 {
+ constructor(type, data, id) {
+ this.label = $bff4129f8f902365$export$882b13c7fda338f5;
+ this.type = type;
+ this.data = data;
+ this.id = id || (0, v4_default)().slice(0, 8);
+ }
+ // Outbound message types
+ static clientReady() {
+ return new _$bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.CLIENT_READY, {});
+ }
+ static updateConfig(config, interrupt = false) {
+ return new _$bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.UPDATE_CONFIG, {
+ config,
+ interrupt
+ });
+ }
+ static describeConfig() {
+ return new _$bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.DESCRIBE_CONFIG, {});
+ }
+ static getBotConfig() {
+ return new _$bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.GET_CONFIG, {});
+ }
+ static describeActions() {
+ return new _$bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.DESCRIBE_ACTIONS, {});
+ }
+};
+var $bff4129f8f902365$export$28ad8d0d400d3e2d = "action";
+var $bff4129f8f902365$export$378529d7a8bead8b = class extends $bff4129f8f902365$export$69aa9ab0334b212 {
+ constructor(data) {
+ super($bff4129f8f902365$export$28ad8d0d400d3e2d, data);
+ }
+};
+var $bff4129f8f902365$export$e9a960646cc432aa = class {
+ constructor(client) {
+ this._queue = new Array();
+ this._gcTime = 1e4;
+ this._queue = [];
+ this._client = client;
+ }
+ dispatch(message) {
+ const promise = new Promise((resolve, reject) => {
+ this._queue.push({
+ message,
+ timestamp: Date.now(),
+ resolve,
+ reject
+ });
+ });
+ console.debug("[MessageDispatcher] dispatch", message);
+ this._client.sendMessage(message);
+ this._gc();
+ return promise;
+ }
+ async dispatchAction(action, onMessage) {
+ const promise = new Promise((resolve, reject) => {
+ this._queue.push({
+ message: action,
+ timestamp: Date.now(),
+ resolve,
+ reject
+ });
+ });
+ console.debug("[MessageDispatcher] action", action);
+ if (this._client.connected)
+ this._client.sendMessage(action);
+ else {
+ const actionUrl = this._client.constructUrl("action");
+ try {
+ await (0, $d881613f2029ce0c$export$8728b60ea57bf43e)(actionUrl, action, this._client.params, (response) => {
+ onMessage(response);
+ });
+ } catch (e) {
+ onMessage(new $bff4129f8f902365$export$69aa9ab0334b212($bff4129f8f902365$export$38b3db05cbf0e240.ERROR_RESPONSE, `Action endpoint '${actionUrl}' returned an error response`, action.id));
+ }
+ }
+ this._gc();
+ return promise;
+ }
+ _resolveReject(message, resolve = true) {
+ const queuedMessage = this._queue.find((msg) => msg.message.id === message.id);
+ if (queuedMessage) {
+ if (resolve) {
+ console.debug("[MessageDispatcher] Resolve", message);
+ queuedMessage.resolve(message.type === $bff4129f8f902365$export$38b3db05cbf0e240.ACTION_RESPONSE ? message : message);
+ } else {
+ console.debug("[MessageDispatcher] Reject", message);
+ queuedMessage.reject(message);
+ }
+ this._queue = this._queue.filter((msg) => msg.message.id !== message.id);
+ console.debug("[MessageDispatcher] Queue", this._queue);
+ }
+ return message;
+ }
+ resolve(message) {
+ return this._resolveReject(message, true);
+ }
+ reject(message) {
+ return this._resolveReject(message, false);
+ }
+ _gc() {
+ this._queue = this._queue.filter((msg) => {
+ return Date.now() - msg.timestamp < this._gcTime;
+ });
+ console.debug("[MessageDispatcher] GC", this._queue);
+ }
+};
+var $bff4129f8f902365$export$3336fb47fe34a146 = class extends $bff4129f8f902365$export$69aa9ab0334b212 {
+};
+var $74c1449bc91bda44$var$__decorate = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var $74c1449bc91bda44$var$defaultEndpoints = {
+ connect: "/connect",
+ action: "/action"
+};
+var $74c1449bc91bda44$var$RTVIEventEmitter = class extends (0, import_events.default) {
+};
+var $74c1449bc91bda44$export$fa42a01c1d60f4a1 = class extends $74c1449bc91bda44$var$RTVIEventEmitter {
+ constructor(options) {
+ super();
+ this.params = {
+ ...options.params,
+ endpoints: {
+ ...$74c1449bc91bda44$var$defaultEndpoints,
+ ...options.params.endpoints ?? {}
+ }
+ };
+ this._helpers = {};
+ this._transport = options.transport;
+ const wrappedCallbacks = {
+ ...options.callbacks,
+ onMessageError: (message) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onMessageError) == null ? void 0 : _b.call(_a, message);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).MessageError, message);
+ },
+ onError: (message) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onError) == null ? void 0 : _b.call(_a, message);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).Error, message);
+ },
+ onConnected: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onConnected) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).Connected);
+ },
+ onDisconnected: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onDisconnected) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).Disconnected);
+ },
+ onTransportStateChanged: (state) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onTransportStateChanged) == null ? void 0 : _b.call(_a, state);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).TransportStateChanged, state);
+ },
+ onConfig: (config) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onConfig) == null ? void 0 : _b.call(_a, config);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).Config, config);
+ },
+ onConfigDescribe: (configDescription) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onConfigDescribe) == null ? void 0 : _b.call(_a, configDescription);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).ConfigDescribe, configDescription);
+ },
+ onActionsAvailable: (actionsAvailable) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onActionsAvailable) == null ? void 0 : _b.call(_a, actionsAvailable);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).ActionsAvailable, actionsAvailable);
+ },
+ onParticipantJoined: (p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onParticipantJoined) == null ? void 0 : _b.call(_a, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).ParticipantConnected, p);
+ },
+ onParticipantLeft: (p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onParticipantLeft) == null ? void 0 : _b.call(_a, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).ParticipantLeft, p);
+ },
+ onTrackStarted: (track, p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onTrackStarted) == null ? void 0 : _b.call(_a, track, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).TrackStarted, track, p);
+ },
+ onTrackStopped: (track, p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onTrackStopped) == null ? void 0 : _b.call(_a, track, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).TrackedStopped, track, p);
+ },
+ onAvailableCamsUpdated: (cams) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onAvailableCamsUpdated) == null ? void 0 : _b.call(_a, cams);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).AvailableCamsUpdated, cams);
+ },
+ onAvailableMicsUpdated: (mics) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onAvailableMicsUpdated) == null ? void 0 : _b.call(_a, mics);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).AvailableMicsUpdated, mics);
+ },
+ onCamUpdated: (cam) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onCamUpdated) == null ? void 0 : _b.call(_a, cam);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).CamUpdated, cam);
+ },
+ onMicUpdated: (mic) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onMicUpdated) == null ? void 0 : _b.call(_a, mic);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).MicUpdated, mic);
+ },
+ onBotConnected: (p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotConnected) == null ? void 0 : _b.call(_a, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotConnected, p);
+ },
+ onBotReady: (botReadyData) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotReady) == null ? void 0 : _b.call(_a, botReadyData);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotReady, botReadyData);
+ },
+ onBotDisconnected: (p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotDisconnected) == null ? void 0 : _b.call(_a, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotDisconnected, p);
+ },
+ onBotStartedSpeaking: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotStartedSpeaking) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotStartedSpeaking);
+ },
+ onBotStoppedSpeaking: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotStoppedSpeaking) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotStoppedSpeaking);
+ },
+ onRemoteAudioLevel: (level, p) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onRemoteAudioLevel) == null ? void 0 : _b.call(_a, level, p);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).RemoteAudioLevel, level, p);
+ },
+ onUserStartedSpeaking: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onUserStartedSpeaking) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).UserStartedSpeaking);
+ },
+ onUserStoppedSpeaking: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onUserStoppedSpeaking) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).UserStoppedSpeaking);
+ },
+ onLocalAudioLevel: (level) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onLocalAudioLevel) == null ? void 0 : _b.call(_a, level);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).LocalAudioLevel, level);
+ },
+ onUserTranscript: (data) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onUserTranscript) == null ? void 0 : _b.call(_a, data);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).UserTranscript, data);
+ },
+ onBotTranscript: (text) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotTranscript) == null ? void 0 : _b.call(_a, text);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotTranscript, text);
+ },
+ onBotLlmText: (text) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotLlmText) == null ? void 0 : _b.call(_a, text);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotLlmText, text);
+ },
+ onBotLlmStarted: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotLlmStarted) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotLlmStarted);
+ },
+ onBotLlmStopped: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotLlmStopped) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotLlmStopped);
+ },
+ onBotTtsText: (text) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotTtsText) == null ? void 0 : _b.call(_a, text);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotTtsText, text);
+ },
+ onBotTtsStarted: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotTtsStarted) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotTtsStarted);
+ },
+ onBotTtsStopped: () => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotTtsStopped) == null ? void 0 : _b.call(_a);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotTtsStopped);
+ },
+ onStorageItemStored: (data) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onStorageItemStored) == null ? void 0 : _b.call(_a, data);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).StorageItemStored, data);
+ },
+ /**
+ * @deprecated Use BotLlmText instead
+ */
+ onBotText: (text) => {
+ var _a, _b;
+ (_b = (_a = options == null ? void 0 : options.callbacks) == null ? void 0 : _a.onBotText) == null ? void 0 : _b.call(_a, text);
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).BotText, text);
+ }
+ };
+ this._options = {
+ ...options,
+ callbacks: wrappedCallbacks,
+ enableMic: options.enableMic ?? true,
+ enableCam: options.enableCam ?? false
+ };
+ this._initialize();
+ console.debug("[RTVI Client] Initialized", this.version);
+ }
+ constructUrl(endpoint) {
+ var _a;
+ if (!this.params.baseUrl) throw new $08bedc6ef0d1c66c$export$59b4786f333aac02("Base URL not set. Please set rtviClient.params.baseUrl");
+ const baseUrl = this.params.baseUrl.replace(/\/+$/, "");
+ return baseUrl + (((_a = this.params.endpoints) == null ? void 0 : _a[endpoint]) ?? "");
+ }
+ // ------ Transport methods
+ /**
+ * Initialize local media devices
+ */
+ async initDevices() {
+ console.debug("[RTVI Client] Initializing devices...");
+ await this._transport.initDevices();
+ }
+ /**
+ * Connect the voice client session with chosen transport
+ * Call async (await) to handle errors
+ */
+ async connect() {
+ if ([
+ "authenticating",
+ "connecting",
+ "connected",
+ "ready"
+ ].includes(this._transport.state)) throw new $08bedc6ef0d1c66c$export$59b4786f333aac02("Voice client has already been started. Please call disconnect() before starting again.");
+ this._abortController = new AbortController();
+ return new Promise((resolve, reject) => {
+ (async () => {
+ var _a, _b;
+ this._startResolve = resolve;
+ if (this._transport.state === "disconnected") await this._transport.initDevices();
+ this._transport.state = "authenticating";
+ if (this._options.timeout) this._handshakeTimeout = setTimeout(async () => {
+ var _a2;
+ (_a2 = this._abortController) == null ? void 0 : _a2.abort();
+ await this.disconnect();
+ this._transport.state = "error";
+ reject(new $08bedc6ef0d1c66c$export$c67992fa684a81a6());
+ }, this._options.timeout);
+ let authBundle;
+ const customConnectHandler = this._options.customConnectHandler;
+ const connectUrl = this.constructUrl("connect");
+ this.params = {
+ ...this.params,
+ requestData: {
+ ...this.params.requestData,
+ rtvi_client_version: this.version
+ }
+ };
+ console.debug("[RTVI Client] Connecting...", connectUrl);
+ console.debug("[RTVI Client] Start params", this.params);
+ try {
+ if (customConnectHandler) authBundle = await customConnectHandler(this.params, this._handshakeTimeout, this._abortController);
+ else authBundle = await fetch(connectUrl, {
+ method: "POST",
+ mode: "cors",
+ headers: new Headers({
+ "Content-Type": "application/json",
+ ...Object.fromEntries((this.params.headers ?? new Headers()).entries())
+ }),
+ body: JSON.stringify({
+ services: this._options.services,
+ config: this.params.config ?? this._options.config,
+ ...this._options.customBodyParams,
+ ...this.params.requestData
+ }),
+ signal: (_a = this._abortController) == null ? void 0 : _a.signal
+ }).then((res) => {
+ clearTimeout(this._handshakeTimeout);
+ if (res.ok) return res.json();
+ return Promise.reject(res);
+ });
+ } catch (e) {
+ clearTimeout(this._handshakeTimeout);
+ if ((_b = this._abortController) == null ? void 0 : _b.signal.aborted) return;
+ this._transport.state = "error";
+ if (e instanceof Response) {
+ const errorResp = await e.json();
+ reject(new $08bedc6ef0d1c66c$export$e7544ab812238a61(errorResp.info ?? errorResp.detail ?? e.statusText, e.status));
+ } else reject(new $08bedc6ef0d1c66c$export$e7544ab812238a61());
+ return;
+ }
+ console.debug("[RTVI Client] Auth bundle received", authBundle);
+ try {
+ await this._transport.connect(authBundle, this._abortController);
+ } catch (e) {
+ clearTimeout(this._handshakeTimeout);
+ reject(e);
+ return;
+ }
+ await this._transport.sendReadyMessage();
+ })();
+ });
+ }
+ /**
+ * Disconnect the voice client from the transport
+ * Reset / reinitialize transport and abort any pending requests
+ */
+ async disconnect() {
+ if (this._abortController) this._abortController.abort();
+ clearTimeout(this._handshakeTimeout);
+ await this._transport.disconnect();
+ this._initialize();
+ }
+ _initialize() {
+ this._transport = this._options.transport;
+ this._transport.initialize(this._options, this.handleMessage.bind(this));
+ this._messageDispatcher = new (0, $bff4129f8f902365$export$e9a960646cc432aa)(this);
+ }
+ /**
+ * Get the current state of the transport
+ */
+ get connected() {
+ return [
+ "connected",
+ "ready"
+ ].includes(this._transport.state);
+ }
+ get state() {
+ return this._transport.state;
+ }
+ get version() {
+ return (0, $parcel$interopDefault($a2e2958c9fde306f$exports)).version;
+ }
+ // ------ Device methods
+ async getAllMics() {
+ return await this._transport.getAllMics();
+ }
+ async getAllCams() {
+ return await this._transport.getAllCams();
+ }
+ get selectedMic() {
+ return this._transport.selectedMic;
+ }
+ get selectedCam() {
+ return this._transport.selectedCam;
+ }
+ updateMic(micId) {
+ this._transport.updateMic(micId);
+ }
+ updateCam(camId) {
+ this._transport.updateCam(camId);
+ }
+ enableMic(enable) {
+ this._transport.enableMic(enable);
+ }
+ get isMicEnabled() {
+ return this._transport.isMicEnabled;
+ }
+ enableCam(enable) {
+ this._transport.enableCam(enable);
+ }
+ get isCamEnabled() {
+ return this._transport.isCamEnabled;
+ }
+ tracks() {
+ return this._transport.tracks();
+ }
+ // ------ Config methods
+ /**
+ * Request the bot to send the current configuration
+ * @returns Promise - Promise that resolves with the bot's configuration
+ */
+ async getConfig() {
+ const configMsg = await this._messageDispatcher.dispatch((0, $bff4129f8f902365$export$69aa9ab0334b212).getBotConfig());
+ return configMsg.data.config;
+ }
+ /**
+ * Update pipeline and services
+ * @param config - RTVIClientConfigOption[] partial object with the new configuration
+ * @param interrupt - boolean flag to interrupt the current pipeline, or wait until the next turn
+ * @returns Promise - Promise that resolves with the updated configuration
+ */
+ async updateConfig(config, interrupt = false) {
+ console.debug("[RTVI Client] Updating config", config);
+ return this._messageDispatcher.dispatch((0, $bff4129f8f902365$export$69aa9ab0334b212).updateConfig(config, interrupt));
+ }
+ /**
+ * Request bot describe the current configuration options
+ * @returns Promise - Promise that resolves with the bot's configuration description
+ */
+ async describeConfig() {
+ return this._messageDispatcher.dispatch((0, $bff4129f8f902365$export$69aa9ab0334b212).describeConfig());
+ }
+ /**
+ * Returns configuration options for specified service key
+ * @param serviceKey - Service name to get options for (e.g. "llm")
+ * @param config? - Optional RTVIClientConfigOption[] to query (vs. using remote config)
+ * @returns RTVIClientConfigOption | undefined - Configuration options array for the service with specified key or undefined
+ */
+ async getServiceOptionsFromConfig(serviceKey, config) {
+ if (!config && this.state !== "ready") throw new $08bedc6ef0d1c66c$export$885fb96b850e8fbb("getServiceOptionsFromConfig called without config array before bot is ready");
+ return Promise.resolve().then(async () => {
+ if (!serviceKey) {
+ console.debug("Target service name is required");
+ return void 0;
+ }
+ const passedConfig = config ?? await this.getConfig();
+ const configServiceKey = passedConfig.find((config2) => config2.service === serviceKey);
+ if (!configServiceKey) {
+ console.debug("No service with name " + serviceKey + " not found in config");
+ return void 0;
+ }
+ return configServiceKey;
+ });
+ }
+ /**
+ * Returns configuration option value (unknown) for specified service key and option name
+ * @param serviceKey - Service name to get options for (e.g. "llm")
+ * @optional option Name of option return from the config (e.g. "model")
+ * @returns Promise - Service configuration option value or undefined
+ */
+ async getServiceOptionValueFromConfig(serviceKey, option, config) {
+ const configServiceKey = await this.getServiceOptionsFromConfig(serviceKey, config);
+ if (!configServiceKey) {
+ console.debug("Service with name " + serviceKey + " not found in config");
+ return void 0;
+ }
+ const optionValue = configServiceKey.options.find((o) => o.name === option);
+ return optionValue ? optionValue.value : void 0;
+ }
+ _updateOrAddOption(existingOptions, newOption) {
+ const existingOptionIndex = existingOptions.findIndex((item) => item.name === newOption.name);
+ if (existingOptionIndex !== -1)
+ return existingOptions.map((item, index) => index === existingOptionIndex ? {
+ ...item,
+ value: newOption.value
+ } : item);
+ else
+ return [
+ ...existingOptions,
+ {
+ name: newOption.name,
+ value: newOption.value
+ }
+ ];
+ }
+ /**
+ * Returns config with updated option(s) for specified service key and option name
+ * Note: does not update current config, only returns a new object (call updateConfig to apply changes)
+ * @param serviceKey - Service name to get options for (e.g. "llm")
+ * @param option - Service name to get options for (e.g. "model")
+ * @param config - Optional RTVIClientConfigOption[] to update (vs. using current config)
+ * @returns Promise - Configuration options array with updated option(s) or undefined
+ */
+ async setServiceOptionInConfig(serviceKey, option, config) {
+ const newConfig = (0, import_clone_deep.default)(config ?? await this.getConfig());
+ const serviceOptions = await this.getServiceOptionsFromConfig(serviceKey, newConfig);
+ if (!serviceOptions) {
+ console.debug("Service with name '" + serviceKey + "' not found in config");
+ return newConfig;
+ }
+ const optionsArray = Array.isArray(option) ? option : [
+ option
+ ];
+ for (const opt of optionsArray) {
+ const existingItem = newConfig.find((item) => item.service === serviceKey);
+ const updatedOptions = existingItem ? this._updateOrAddOption(existingItem.options, opt) : [
+ {
+ name: opt.name,
+ value: opt.value
+ }
+ ];
+ if (existingItem) existingItem.options = updatedOptions;
+ else newConfig.push({
+ service: serviceKey,
+ options: updatedOptions
+ });
+ }
+ return newConfig;
+ }
+ /**
+ * Returns config object with updated properties from passed array.
+ * @param configOptions - Array of RTVIClientConfigOption[] to update
+ * @param config? - Optional RTVIClientConfigOption[] to update (vs. using current config)
+ * @returns Promise - Configuration options
+ */
+ async setConfigOptions(configOptions, config) {
+ let accumulator = (0, import_clone_deep.default)(config ?? await this.getConfig());
+ for (const configOption of configOptions) accumulator = await this.setServiceOptionInConfig(configOption.service, configOption.options, accumulator) || accumulator;
+ return accumulator;
+ }
+ // ------ Actions
+ /**
+ * Dispatch an action message to the bot or http single-turn endpoint
+ */
+ async action(action) {
+ return this._messageDispatcher.dispatchAction(new (0, $bff4129f8f902365$export$378529d7a8bead8b)(action), this.handleMessage.bind(this));
+ }
+ /**
+ * Describe available / registered actions the bot has
+ * @returns Promise - Promise that resolves with the bot's actions
+ */
+ async describeActions() {
+ return this._messageDispatcher.dispatch((0, $bff4129f8f902365$export$69aa9ab0334b212).describeActions());
+ }
+ // ------ Transport methods
+ /**
+ * Get the session expiry time for the transport session (if applicable)
+ * @returns number - Expiry time in milliseconds
+ */
+ get transportExpiry() {
+ return this._transport.expiry;
+ }
+ // ------ Messages
+ /**
+ * Directly send a message to the bot via the transport
+ * @param message - RTVIMessage object to send
+ */
+ sendMessage(message) {
+ this._transport.sendMessage(message);
+ }
+ handleMessage(ev) {
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S;
+ console.debug("[RTVI Message]", ev);
+ switch (ev.type) {
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_READY:
+ clearTimeout(this._handshakeTimeout);
+ (_a = this._startResolve) == null ? void 0 : _a.call(this, ev.data);
+ (_c = (_b = this._options.callbacks) == null ? void 0 : _b.onBotReady) == null ? void 0 : _c.call(_b, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).CONFIG_AVAILABLE:
+ this._messageDispatcher.resolve(ev);
+ (_e = (_d = this._options.callbacks) == null ? void 0 : _d.onConfigDescribe) == null ? void 0 : _e.call(_d, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).CONFIG: {
+ const resp = this._messageDispatcher.resolve(ev);
+ (_g = (_f = this._options.callbacks) == null ? void 0 : _f.onConfig) == null ? void 0 : _g.call(_f, resp.data.config);
+ break;
+ }
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).ACTIONS_AVAILABLE:
+ this._messageDispatcher.resolve(ev);
+ (_i = (_h = this._options.callbacks) == null ? void 0 : _h.onActionsAvailable) == null ? void 0 : _i.call(_h, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).ACTION_RESPONSE:
+ this._messageDispatcher.resolve(ev);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).ERROR_RESPONSE: {
+ const resp = this._messageDispatcher.reject(ev);
+ (_k = (_j = this._options.callbacks) == null ? void 0 : _j.onMessageError) == null ? void 0 : _k.call(_j, resp);
+ break;
+ }
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).ERROR:
+ (_m = (_l = this._options.callbacks) == null ? void 0 : _l.onError) == null ? void 0 : _m.call(_l, ev);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).USER_STARTED_SPEAKING:
+ (_o = (_n = this._options.callbacks) == null ? void 0 : _n.onUserStartedSpeaking) == null ? void 0 : _o.call(_n);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).USER_STOPPED_SPEAKING:
+ (_q = (_p = this._options.callbacks) == null ? void 0 : _p.onUserStoppedSpeaking) == null ? void 0 : _q.call(_p);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_STARTED_SPEAKING:
+ (_s = (_r = this._options.callbacks) == null ? void 0 : _r.onBotStartedSpeaking) == null ? void 0 : _s.call(_r);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_STOPPED_SPEAKING:
+ (_u = (_t = this._options.callbacks) == null ? void 0 : _t.onBotStoppedSpeaking) == null ? void 0 : _u.call(_t);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).USER_TRANSCRIPTION: {
+ const TranscriptData = ev.data;
+ (_w = (_v = this._options.callbacks) == null ? void 0 : _v.onUserTranscript) == null ? void 0 : _w.call(_v, TranscriptData);
+ break;
+ }
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_TRANSCRIPTION:
+ (_y = (_x = this._options.callbacks) == null ? void 0 : _x.onBotTranscript) == null ? void 0 : _y.call(_x, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_LLM_TEXT:
+ (_A = (_z = this._options.callbacks) == null ? void 0 : _z.onBotLlmText) == null ? void 0 : _A.call(_z, ev.data);
+ (_C = (_B = this._options.callbacks) == null ? void 0 : _B.onBotText) == null ? void 0 : _C.call(_B, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_LLM_STARTED:
+ (_E = (_D = this._options.callbacks) == null ? void 0 : _D.onBotLlmStarted) == null ? void 0 : _E.call(_D);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_LLM_STOPPED:
+ (_G = (_F = this._options.callbacks) == null ? void 0 : _F.onBotLlmStopped) == null ? void 0 : _G.call(_F);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_TTS_TEXT:
+ (_I = (_H = this._options.callbacks) == null ? void 0 : _H.onBotTtsText) == null ? void 0 : _I.call(_H, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_TTS_STARTED:
+ (_K = (_J = this._options.callbacks) == null ? void 0 : _J.onBotTtsStarted) == null ? void 0 : _K.call(_J);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).BOT_TTS_STOPPED:
+ (_M = (_L = this._options.callbacks) == null ? void 0 : _L.onBotTtsStopped) == null ? void 0 : _M.call(_L);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).METRICS:
+ this.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).Metrics, ev.data);
+ (_O = (_N = this._options.callbacks) == null ? void 0 : _N.onMetrics) == null ? void 0 : _O.call(_N, ev.data);
+ break;
+ case (0, $bff4129f8f902365$export$38b3db05cbf0e240).STORAGE_ITEM_STORED:
+ (_Q = (_P = this._options.callbacks) == null ? void 0 : _P.onStorageItemStored) == null ? void 0 : _Q.call(_P, ev.data);
+ break;
+ default: {
+ let match = false;
+ for (const helper of Object.values(this._helpers)) if (helper.getMessageTypes().includes(ev.type)) {
+ match = true;
+ helper.handleMessage(ev);
+ }
+ if (!match) (_S = (_R = this._options.callbacks) == null ? void 0 : _R.onGenericMessage) == null ? void 0 : _S.call(_R, ev.data);
+ }
+ }
+ }
+ // ------ Helpers
+ /**
+ * Register a new helper to the client
+ * This (optionally) provides a way to reference helpers directly
+ * from the client and use the event dispatcher
+ * @param service - Target service for this helper
+ * @param helper - Helper instance
+ * @returns RTVIClientHelper - Registered helper instance
+ */
+ registerHelper(service, helper) {
+ if (this._helpers[service]) throw new Error(`Helper with name '${service}' already registered`);
+ if (!(helper instanceof (0, $505461462111ea0b$export$23bc637255b2a471))) throw new Error(`Helper must be an instance of RTVIClientHelper`);
+ helper.service = service;
+ helper.client = this;
+ this._helpers[service] = helper;
+ return this._helpers[service];
+ }
+ getHelper(service) {
+ const helper = this._helpers[service];
+ if (!helper) {
+ console.debug(`Helper targeting service '${service}' not found`);
+ return void 0;
+ }
+ return helper;
+ }
+ unregisterHelper(service) {
+ if (!this._helpers[service]) return;
+ delete this._helpers[service];
+ }
+ // ------ Deprecated
+ /**
+ * @deprecated use connect() instead
+ */
+ async start() {
+ return this.connect();
+ }
+ /**
+ * @deprecated use getConfig instead
+ * @returns Promise - Promise that resolves with the bot's configuration
+ */
+ async getBotConfig() {
+ console.warn("VoiceClient.getBotConfig is deprecated. Use getConfig instead.");
+ return this.getConfig();
+ }
+ /**
+ * @deprecated This getter is deprecated and will be removed in future versions. Use getConfig instead.
+ * Current client configuration
+ * For the most up-to-date configuration, use getBotConfig method
+ * @returns RTVIClientConfigOption[] - Array of configuration options
+ */
+ get config() {
+ console.warn("VoiceClient.config is deprecated. Use getConfig instead.");
+ return this._options.config;
+ }
+ /**
+ * Get registered services from voice client constructor options
+ * @deprecated Services not accessible via the client instance
+ */
+ get services() {
+ console.warn("VoiceClient.services is deprecated.");
+ return this._options.services;
+ }
+ /**
+ * @deprecated Services not accessible via the client instance
+ */
+ set services(services) {
+ console.warn("VoiceClient.services is deprecated.");
+ if (![
+ "authenticating",
+ "connecting",
+ "connected",
+ "ready"
+ ].includes(this._transport.state)) this._options.services = services;
+ else throw new $08bedc6ef0d1c66c$export$59b4786f333aac02("Cannot set services while transport is connected");
+ }
+};
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "getConfig", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "updateConfig", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "describeConfig", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "describeActions", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$5c35b4fe6fa8c9a6)("connected", "ready")
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "transportExpiry", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "sendMessage", null);
+$74c1449bc91bda44$var$__decorate([
+ (0, $9e3641858ff8efee$export$f1586721024c4dab)
+], $74c1449bc91bda44$export$fa42a01c1d60f4a1.prototype, "getBotConfig", null);
+var $4a333e41af7a850f$exports = {};
+$parcel$export($4a333e41af7a850f$exports, "LLMMessageType", () => $4a333e41af7a850f$export$441bcd2e10762760);
+$parcel$export($4a333e41af7a850f$exports, "LLMHelper", () => $4a333e41af7a850f$export$3cf39a62d076dd5c);
+var $4a333e41af7a850f$export$441bcd2e10762760;
+(function(LLMMessageType) {
+ LLMMessageType["LLM_FUNCTION_CALL"] = "llm-function-call";
+ LLMMessageType["LLM_FUNCTION_CALL_START"] = "llm-function-call-start";
+ LLMMessageType["LLM_FUNCTION_CALL_RESULT"] = "llm-function-call-result";
+ LLMMessageType["LLM_JSON_COMPLETION"] = "llm-json-completion";
+})($4a333e41af7a850f$export$441bcd2e10762760 || ($4a333e41af7a850f$export$441bcd2e10762760 = {}));
+var $4a333e41af7a850f$export$3cf39a62d076dd5c = class extends (0, $505461462111ea0b$export$23bc637255b2a471) {
+ constructor(options) {
+ super(options);
+ this._functionCallCallback = null;
+ }
+ getMessageTypes() {
+ return Object.values($4a333e41af7a850f$export$441bcd2e10762760);
+ }
+ // --- Actions
+ /**
+ * Retrieve the bot's current LLM context.
+ * @returns Promise
+ */
+ async getContext() {
+ if (this._client.state !== "ready") throw new $08bedc6ef0d1c66c$export$885fb96b850e8fbb("getContext called while transport not in ready state");
+ const actionResponseMsg = await this._client.action({
+ service: this._service,
+ action: "get_context"
+ });
+ return actionResponseMsg.data.result;
+ }
+ /**
+ * Update the bot's LLM context.
+ * If this is called while the transport is not in the ready state, the local context will be updated
+ * @param context LLMContext - The new context
+ * @param interrupt boolean - Whether to interrupt the bot, or wait until it has finished speaking
+ * @returns Promise
+ */
+ async setContext(context, interrupt = false) {
+ if (this._client.state !== "ready") throw new $08bedc6ef0d1c66c$export$885fb96b850e8fbb("setContext called while transport not in ready state");
+ const actionResponse = await this._client.action({
+ service: this._service,
+ action: "set_context",
+ arguments: [
+ {
+ name: "messages",
+ value: context.messages
+ },
+ {
+ name: "interrupt",
+ value: interrupt
+ }
+ ]
+ });
+ return !!actionResponse.data.result;
+ }
+ /**
+ * Append a new message to the LLM context.
+ * If this is called while the transport is not in the ready state, the local context will be updated
+ * @param context LLMContextMessage
+ * @param runImmediately boolean - wait until pipeline is idle before running
+ * @returns boolean
+ */
+ async appendToMessages(context, runImmediately = false) {
+ if (this._client.state !== "ready") throw new $08bedc6ef0d1c66c$export$885fb96b850e8fbb("setContext called while transport not in ready state");
+ const actionResponse = await this._client.action({
+ service: this._service,
+ action: "append_to_messages",
+ arguments: [
+ {
+ name: "messages",
+ value: [
+ context
+ ]
+ },
+ {
+ name: "run_immediately",
+ value: runImmediately
+ }
+ ]
+ });
+ return !!actionResponse.data.result;
+ }
+ /**
+ * Run the bot's current LLM context.
+ * Useful when appending messages to the context without runImmediately set to true.
+ * Will do nothing if the bot is not in the ready state.
+ * @param interrupt boolean - Whether to interrupt the bot, or wait until it has finished speaking
+ * @returns Promise
+ */
+ async run(interrupt = false) {
+ if (this._client.state !== "ready") return;
+ return this._client.action({
+ service: this._service,
+ action: "run",
+ arguments: [
+ {
+ name: "interrupt",
+ value: interrupt
+ }
+ ]
+ });
+ }
+ // --- Handlers
+ /**
+ * If the LLM wants to call a function, RTVI will invoke the callback defined
+ * here. Whatever the callback returns will be sent to the LLM as the function result.
+ * @param callback
+ * @returns void
+ */
+ handleFunctionCall(callback) {
+ this._functionCallCallback = callback;
+ }
+ handleMessage(ev) {
+ var _a, _b, _c, _d, _e, _f;
+ switch (ev.type) {
+ case $4a333e41af7a850f$export$441bcd2e10762760.LLM_JSON_COMPLETION:
+ (_b = (_a = this._options.callbacks) == null ? void 0 : _a.onLLMJsonCompletion) == null ? void 0 : _b.call(_a, ev.data);
+ this._client.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).LLMJsonCompletion, ev.data);
+ break;
+ case $4a333e41af7a850f$export$441bcd2e10762760.LLM_FUNCTION_CALL: {
+ const d = ev.data;
+ (_d = (_c = this._options.callbacks) == null ? void 0 : _c.onLLMFunctionCall) == null ? void 0 : _d.call(_c, ev.data);
+ this._client.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).LLMFunctionCall, ev.data);
+ if (this._functionCallCallback) {
+ const fn = {
+ functionName: d.function_name,
+ arguments: d.args
+ };
+ if (this._client.state === "ready") this._functionCallCallback(fn).then((result) => {
+ this._client.sendMessage(new (0, $bff4129f8f902365$export$69aa9ab0334b212)($4a333e41af7a850f$export$441bcd2e10762760.LLM_FUNCTION_CALL_RESULT, {
+ function_name: d.function_name,
+ tool_call_id: d.tool_call_id,
+ arguments: d.args,
+ result
+ }));
+ });
+ else throw new $08bedc6ef0d1c66c$export$885fb96b850e8fbb("Attempted to send a function call result from bot while transport not in ready state");
+ }
+ break;
+ }
+ case $4a333e41af7a850f$export$441bcd2e10762760.LLM_FUNCTION_CALL_START: {
+ const e = ev.data;
+ (_f = (_e = this._options.callbacks) == null ? void 0 : _e.onLLMFunctionCallStart) == null ? void 0 : _f.call(_e, e.function_name);
+ this._client.emit((0, $cbe8e0de0049ed6e$export$6b4624d233c61fcb).LLMFunctionCallStart, e.function_name);
+ break;
+ }
+ }
+ }
+};
+var $2665d8e6d1596258$exports = {};
+$parcel$export($2665d8e6d1596258$exports, "Transport", () => $2665d8e6d1596258$export$86495b081fef8e52);
+var $2665d8e6d1596258$export$86495b081fef8e52 = class {
+ constructor() {
+ this._state = "disconnected";
+ this._expiry = void 0;
+ }
+ get expiry() {
+ return this._expiry;
+ }
+};
+
+export {
+ $d881613f2029ce0c$export$8728b60ea57bf43e,
+ $08bedc6ef0d1c66c$export$59b4786f333aac02,
+ $08bedc6ef0d1c66c$export$c67992fa684a81a6,
+ $08bedc6ef0d1c66c$export$e7544ab812238a61,
+ $08bedc6ef0d1c66c$export$e0624a511a2c4e9,
+ $08bedc6ef0d1c66c$export$885fb96b850e8fbb,
+ $08bedc6ef0d1c66c$export$4eda4fd287fbbca5,
+ $08bedc6ef0d1c66c$export$975d7330b0c579b7,
+ $cbe8e0de0049ed6e$export$6b4624d233c61fcb,
+ $505461462111ea0b$export$23bc637255b2a471,
+ $bff4129f8f902365$export$882b13c7fda338f5,
+ $bff4129f8f902365$export$38b3db05cbf0e240,
+ $bff4129f8f902365$export$69aa9ab0334b212,
+ $bff4129f8f902365$export$28ad8d0d400d3e2d,
+ $bff4129f8f902365$export$378529d7a8bead8b,
+ $bff4129f8f902365$export$e9a960646cc432aa,
+ $bff4129f8f902365$export$3336fb47fe34a146,
+ $74c1449bc91bda44$export$fa42a01c1d60f4a1,
+ $4a333e41af7a850f$export$441bcd2e10762760,
+ $4a333e41af7a850f$export$3cf39a62d076dd5c,
+ $2665d8e6d1596258$export$86495b081fef8e52
+};
+/*! Bundled license information:
+
+shallow-clone/index.js:
+ (*!
+ * shallow-clone
+ *
+ * Copyright (c) 2015-present, Jon Schlinkert.
+ * Released under the MIT License.
+ *)
+
+isobject/index.js:
+ (*!
+ * isobject
+ *
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ *)
+
+is-plain-object/index.js:
+ (*!
+ * is-plain-object
+ *
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ *)
+*/
+//# sourceMappingURL=chunk-MC2NFNB2.js.map
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js.map b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js.map
new file mode 100644
index 000000000..7c38e124c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/chunk-MC2NFNB2.js.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "sources": ["../../kind-of/index.js", "../../shallow-clone/index.js", "../../isobject/index.js", "../../is-plain-object/index.js", "../../clone-deep/index.js", "../../events/events.js", "../../uuid/dist/esm-browser/regex.js", "../../uuid/dist/esm-browser/validate.js", "../../uuid/dist/esm-browser/parse.js", "../../uuid/dist/esm-browser/stringify.js", "../../uuid/dist/esm-browser/rng.js", "../../uuid/dist/esm-browser/v35.js", "../../uuid/dist/esm-browser/md5.js", "../../uuid/dist/esm-browser/v3.js", "../../uuid/dist/esm-browser/native.js", "../../uuid/dist/esm-browser/v4.js", "../../uuid/dist/esm-browser/sha1.js", "../../uuid/dist/esm-browser/v5.js", "../../realtime-ai/dist/rtvi-client-js/src/index.ts", "../../realtime-ai/dist/rtvi-client-js/src/actions.ts", "../../realtime-ai/dist/rtvi-client-js/src/client.ts", "../../realtime-ai/dist/rtvi-client-js/package.json", "../../realtime-ai/dist/rtvi-client-js/src/decorators.ts", "../../realtime-ai/dist/rtvi-client-js/src/errors.ts", "../../realtime-ai/dist/rtvi-client-js/src/events.ts", "../../realtime-ai/dist/rtvi-client-js/src/helpers/index.ts", "../../realtime-ai/dist/rtvi-client-js/src/messages.ts", "../../realtime-ai/dist/rtvi-client-js/src/helpers/llm.ts", "../../realtime-ai/dist/rtvi-client-js/src/transport.ts"],
+ "sourcesContent": ["var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n", "/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n", "/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n", "/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n", "'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n", "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n", "export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;", "import REGEX from './regex.js';\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\nexport default validate;", "import validate from './validate.js';\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n var v;\n var arr = new Uint8Array(16);\n\n // Parse ########-....-....-....-............\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff;\n\n // Parse ........-####-....-....-............\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff;\n\n // Parse ........-....-####-....-............\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff;\n\n // Parse ........-....-....-####-............\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff;\n\n // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\nexport default parse;", "import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;", "// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}", "import { unsafeStringify } from './stringify.js';\nimport parse from './parse.js';\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n return bytes;\n}\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n\n // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return unsafeStringify(bytes);\n }\n\n // Function#name is not settable on some platforms (#270)\n try {\n generateUUID.name = name;\n } catch (err) {}\n\n // For CommonJS default export support\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}", "/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n\n/*\n * Convert an array of little-endian words to an array of bytes\n */\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n return output;\n}\n\n/**\n * Calculate output length with padding and bit length\n */\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n return [a, b, c, d];\n}\n\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n return output;\n}\n\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nexport default md5;", "import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;", "var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;", "// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n case 1:\n return x ^ y ^ z;\n case 2:\n return x & y ^ x & z ^ y & z;\n case 3:\n return x ^ y ^ z;\n }\n}\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n M[_i] = arr;\n }\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\nexport default sha1;", "import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;", "export * from \"./actions\";\nexport * from \"./client\";\nexport * from \"./errors\";\nexport * from \"./events\";\nexport * from \"./helpers\";\nexport * from \"./helpers/llm\";\nexport * from \"./messages\";\nexport * from \"./transport\";\n", "import { RTVIClientParams, RTVIError } from \".\";\nimport { RTVIActionRequest, RTVIActionResponse } from \"./messages\";\n\nexport async function httpActionGenerator(\n actionUrl: string,\n action: RTVIActionRequest,\n params: RTVIClientParams,\n handleResponse: (response: RTVIActionResponse) => void\n): Promise {\n try {\n console.debug(\"[RTVI] Fetch action\", actionUrl, action);\n\n const headers = new Headers({\n ...Object.fromEntries((params.headers ?? new Headers()).entries()),\n });\n\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json\");\n }\n headers.set(\"Cache-Control\", \"no-cache\");\n headers.set(\"Connection\", \"keep-alive\");\n\n // Perform the fetch request\n const response = await fetch(actionUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify({ ...params.requestData, actions: [action] }),\n });\n\n // Check the response content type\n const contentType = response.headers.get(\"content-type\");\n\n // Handle non-ok response status\n if (!response.ok) {\n const errorMessage = await response.text();\n throw new RTVIError(\n `Failed to resolve action: ${errorMessage}`,\n response.status\n );\n }\n\n if (response.body && contentType?.includes(\"text/event-stream\")) {\n // Parse streamed responses\n const reader = response.body\n .pipeThrough(new TextDecoderStream())\n .getReader();\n\n let buffer = \"\";\n\n while (true) {\n const { value, done } = await reader.read();\n if (done) break;\n\n buffer += value;\n\n let boundary = buffer.indexOf(\"\\n\\n\");\n while (boundary !== -1) {\n const message = buffer.slice(0, boundary);\n buffer = buffer.slice(boundary + 2);\n\n // Split on the first \":\" to extract the JSON part\n const lines = message.split(\"\\n\");\n let encodedData = \"\";\n for (const line of lines) {\n const colonIndex = line.indexOf(\":\");\n if (colonIndex !== -1) {\n encodedData += line.slice(colonIndex + 1).trim();\n }\n }\n\n try {\n const jsonData = atob(encodedData);\n const parsedData = JSON.parse(jsonData);\n handleResponse(parsedData);\n } catch (error) {\n console.error(\"[RTVI] Failed to parse JSON:\", error);\n throw error;\n }\n\n boundary = buffer.indexOf(\"\\n\\n\");\n }\n }\n } else {\n // For regular non-streamed responses, parse and handle the data as JSON\n const data = await response.json();\n handleResponse(data);\n }\n } catch (error) {\n console.error(\"[RTVI] Error during fetch:\", error);\n throw error;\n }\n}\n/*\n//@TODO: implement abortController when mode changes / bad things happen\nexport async function dispatchAction(\n this: RTVIClient,\n action: RTVIActionRequest\n): Promise {\n const promise = new Promise((resolve, reject) => {\n (async () => {\n if (this.connected) {\n return this._messageDispatcher.dispatch(action);\n } else {\n const actionUrl = this.constructUrl(\"action\");\n try {\n const result = await httpActionGenerator(\n actionUrl,\n action,\n this.params,\n (response) => {\n this.handleMessage(response);\n }\n );\n resolve(result);\n } catch (error) {\n reject(error);\n }\n }\n })();\n });\n\n return promise as Promise;\n}\n*/\n", "import cloneDeep from \"clone-deep\";\nimport EventEmitter from \"events\";\nimport TypedEmitter from \"typed-emitter\";\n\nimport packageJson from \"../package.json\";\nimport { getIfTransportInState, transportReady } from \"./decorators\";\nimport * as RTVIErrors from \"./errors\";\nimport { RTVIEvent, RTVIEvents } from \"./events\";\nimport { RTVIClientHelper, RTVIClientHelpers } from \"./helpers\";\nimport {\n BotLLMTextData,\n BotReadyData,\n BotTTSTextData,\n ConfigData,\n MessageDispatcher,\n PipecatMetricsData,\n RTVIActionRequest,\n RTVIActionRequestData,\n RTVIActionResponse,\n RTVIMessage,\n RTVIMessageType,\n StorageItemStoredData,\n TranscriptData,\n} from \"./messages\";\nimport { Participant, Tracks, Transport, TransportState } from \"./transport\";\n\nexport type ConfigOption = {\n name: string;\n value: unknown;\n};\n\nexport type RTVIClientConfigOption = {\n service: string;\n options: ConfigOption[];\n};\n\nexport type RTVIURLEndpoints = \"connect\" | \"action\";\n\nconst defaultEndpoints: Record = {\n connect: \"/connect\",\n action: \"/action\",\n};\n\nexport type RTVIClientParams = {\n baseUrl: string;\n} & Partial<{\n headers?: Headers;\n endpoints: Partial>;\n requestData?: object;\n config?: RTVIClientConfigOption[];\n}> & {\n [key: string]: unknown;\n };\n\nexport interface RTVIClientOptions {\n /**\n * Parameters passed as JSON stringified body params to all endpoints (e.g. connect)\n */\n params: RTVIClientParams;\n\n /**\n * Transport class for media streaming\n */\n transport: Transport;\n\n /**\n * Optional callback methods for RTVI events\n */\n callbacks?: RTVIEventCallbacks;\n\n /**\n * Handshake timeout\n *\n * How long should the client wait for the bot ready event (when authenticating / requesting an agent)\n * Defaults to no timeout (undefined)\n */\n timeout?: number;\n\n /**\n * Enable user mic input\n *\n * Default to true\n */\n enableMic?: boolean;\n\n /**\n * Enable user cam input\n *\n * Default to false\n */\n enableCam?: boolean;\n\n /**\n * Custom start method handler for retrieving auth bundle for transport\n * @param baseUrl\n * @param params\n * @param timeout\n * @param abortController\n * @returns Promise\n */\n customConnectHandler?: (\n params: RTVIClientParams,\n timeout: ReturnType | undefined,\n abortController: AbortController\n ) => Promise;\n\n // ----- @deprecated options\n\n /**\n * Base URL for auth handlers and transport services\n *\n * Defaults to a POST request with a the config object as the body\n * @deprecated Use params.baseUrl instead\n */\n baseUrl?: string;\n\n /**\n * Service key value pairs (e.g. {llm: \"openai\"} )\n * @deprecated Set on the server-side or pass services as part of\n * params.requestData\n */\n services?: VoiceClientServices;\n\n /**\n * Service configuration options for services and further customization\n * @deprecated Use params.config instead\n */\n config?: VoiceClientConfigOption[];\n\n /**\n * Custom HTTP headers to be send with the POST request to baseUrl\n * @deprecated Use headers instead\n */\n customHeaders?: { [key: string]: string };\n\n /**\n * Custom request parameters to send with the POST request to baseUrl\n * @deprecated Use params.requestData instead\n */\n customBodyParams?: object;\n}\n\nexport type RTVIEventCallbacks = Partial<{\n onGenericMessage: (data: unknown) => void;\n onMessageError: (message: RTVIMessage) => void;\n onError: (message: RTVIMessage) => void;\n onConnected: () => void;\n onDisconnected: () => void;\n onTransportStateChanged: (state: TransportState) => void;\n onConfig: (config: RTVIClientConfigOption[]) => void;\n onConfigDescribe: (configDescription: unknown) => void;\n onActionsAvailable: (actions: unknown) => void;\n onBotConnected: (participant: Participant) => void;\n onBotReady: (botReadyData: BotReadyData) => void;\n onBotDisconnected: (participant: Participant) => void;\n onParticipantJoined: (participant: Participant) => void;\n onParticipantLeft: (participant: Participant) => void;\n onMetrics: (data: PipecatMetricsData) => void;\n\n onAvailableCamsUpdated: (cams: MediaDeviceInfo[]) => void;\n onAvailableMicsUpdated: (mics: MediaDeviceInfo[]) => void;\n onCamUpdated: (cam: MediaDeviceInfo) => void;\n onMicUpdated: (mic: MediaDeviceInfo) => void;\n onTrackStarted: (track: MediaStreamTrack, participant?: Participant) => void;\n onTrackStopped: (track: MediaStreamTrack, participant?: Participant) => void;\n onLocalAudioLevel: (level: number) => void;\n onRemoteAudioLevel: (level: number, participant: Participant) => void;\n\n onBotStartedSpeaking: () => void;\n onBotStoppedSpeaking: () => void;\n onUserStartedSpeaking: () => void;\n onUserStoppedSpeaking: () => void;\n onUserTranscript: (data: TranscriptData) => void;\n onBotTranscript: (data: BotLLMTextData) => void;\n\n onBotLlmText: (data: BotLLMTextData) => void;\n onBotLlmStarted: () => void;\n onBotLlmStopped: () => void;\n onBotTtsText: (data: BotTTSTextData) => void;\n onBotTtsStarted: () => void;\n onBotTtsStopped: () => void;\n\n onStorageItemStored: (data: StorageItemStoredData) => void;\n\n /**\n * @deprecated Use onBotLlmText instead\n */\n onBotText: (data: BotLLMTextData) => void;\n}>;\n\nabstract class RTVIEventEmitter extends (EventEmitter as unknown as new () => TypedEmitter) {}\n\nexport class RTVIClient extends RTVIEventEmitter {\n public params: RTVIClientParams;\n protected _options: RTVIClientOptions;\n private _abortController: AbortController | undefined;\n private _handshakeTimeout: ReturnType | undefined;\n private _helpers: RTVIClientHelpers;\n private _startResolve: ((value: unknown) => void) | undefined;\n protected _transport: Transport;\n protected declare _messageDispatcher: MessageDispatcher;\n\n constructor(options: RTVIClientOptions) {\n super();\n\n this.params = {\n ...options.params,\n endpoints: {\n ...defaultEndpoints,\n ...(options.params.endpoints ?? {}),\n },\n };\n\n this._helpers = {};\n this._transport = options.transport;\n\n // Wrap transport callbacks with event triggers\n // This allows for either functional callbacks or .on / .off event listeners\n const wrappedCallbacks: RTVIEventCallbacks = {\n ...options.callbacks,\n onMessageError: (message: RTVIMessage) => {\n options?.callbacks?.onMessageError?.(message);\n this.emit(RTVIEvent.MessageError, message);\n },\n onError: (message: RTVIMessage) => {\n options?.callbacks?.onError?.(message);\n this.emit(RTVIEvent.Error, message);\n },\n onConnected: () => {\n options?.callbacks?.onConnected?.();\n this.emit(RTVIEvent.Connected);\n },\n onDisconnected: () => {\n options?.callbacks?.onDisconnected?.();\n this.emit(RTVIEvent.Disconnected);\n },\n onTransportStateChanged: (state: TransportState) => {\n options?.callbacks?.onTransportStateChanged?.(state);\n this.emit(RTVIEvent.TransportStateChanged, state);\n },\n onConfig: (config: RTVIClientConfigOption[]) => {\n options?.callbacks?.onConfig?.(config);\n this.emit(RTVIEvent.Config, config);\n },\n onConfigDescribe: (configDescription: unknown) => {\n options?.callbacks?.onConfigDescribe?.(configDescription);\n this.emit(RTVIEvent.ConfigDescribe, configDescription);\n },\n onActionsAvailable: (actionsAvailable: unknown) => {\n options?.callbacks?.onActionsAvailable?.(actionsAvailable);\n this.emit(RTVIEvent.ActionsAvailable, actionsAvailable);\n },\n onParticipantJoined: (p) => {\n options?.callbacks?.onParticipantJoined?.(p);\n this.emit(RTVIEvent.ParticipantConnected, p);\n },\n onParticipantLeft: (p) => {\n options?.callbacks?.onParticipantLeft?.(p);\n this.emit(RTVIEvent.ParticipantLeft, p);\n },\n onTrackStarted: (track, p) => {\n options?.callbacks?.onTrackStarted?.(track, p);\n this.emit(RTVIEvent.TrackStarted, track, p);\n },\n onTrackStopped: (track, p) => {\n options?.callbacks?.onTrackStopped?.(track, p);\n this.emit(RTVIEvent.TrackedStopped, track, p);\n },\n onAvailableCamsUpdated: (cams) => {\n options?.callbacks?.onAvailableCamsUpdated?.(cams);\n this.emit(RTVIEvent.AvailableCamsUpdated, cams);\n },\n onAvailableMicsUpdated: (mics) => {\n options?.callbacks?.onAvailableMicsUpdated?.(mics);\n this.emit(RTVIEvent.AvailableMicsUpdated, mics);\n },\n onCamUpdated: (cam) => {\n options?.callbacks?.onCamUpdated?.(cam);\n this.emit(RTVIEvent.CamUpdated, cam);\n },\n onMicUpdated: (mic) => {\n options?.callbacks?.onMicUpdated?.(mic);\n this.emit(RTVIEvent.MicUpdated, mic);\n },\n onBotConnected: (p) => {\n options?.callbacks?.onBotConnected?.(p);\n this.emit(RTVIEvent.BotConnected, p);\n },\n onBotReady: (botReadyData: BotReadyData) => {\n options?.callbacks?.onBotReady?.(botReadyData);\n this.emit(RTVIEvent.BotReady, botReadyData);\n },\n onBotDisconnected: (p) => {\n options?.callbacks?.onBotDisconnected?.(p);\n this.emit(RTVIEvent.BotDisconnected, p);\n },\n onBotStartedSpeaking: () => {\n options?.callbacks?.onBotStartedSpeaking?.();\n this.emit(RTVIEvent.BotStartedSpeaking);\n },\n onBotStoppedSpeaking: () => {\n options?.callbacks?.onBotStoppedSpeaking?.();\n this.emit(RTVIEvent.BotStoppedSpeaking);\n },\n onRemoteAudioLevel: (level, p) => {\n options?.callbacks?.onRemoteAudioLevel?.(level, p);\n this.emit(RTVIEvent.RemoteAudioLevel, level, p);\n },\n onUserStartedSpeaking: () => {\n options?.callbacks?.onUserStartedSpeaking?.();\n this.emit(RTVIEvent.UserStartedSpeaking);\n },\n onUserStoppedSpeaking: () => {\n options?.callbacks?.onUserStoppedSpeaking?.();\n this.emit(RTVIEvent.UserStoppedSpeaking);\n },\n onLocalAudioLevel: (level) => {\n options?.callbacks?.onLocalAudioLevel?.(level);\n this.emit(RTVIEvent.LocalAudioLevel, level);\n },\n onUserTranscript: (data) => {\n options?.callbacks?.onUserTranscript?.(data);\n this.emit(RTVIEvent.UserTranscript, data);\n },\n onBotTranscript: (text) => {\n options?.callbacks?.onBotTranscript?.(text);\n this.emit(RTVIEvent.BotTranscript, text);\n },\n onBotLlmText: (text) => {\n options?.callbacks?.onBotLlmText?.(text);\n this.emit(RTVIEvent.BotLlmText, text);\n },\n onBotLlmStarted: () => {\n options?.callbacks?.onBotLlmStarted?.();\n this.emit(RTVIEvent.BotLlmStarted);\n },\n onBotLlmStopped: () => {\n options?.callbacks?.onBotLlmStopped?.();\n this.emit(RTVIEvent.BotLlmStopped);\n },\n onBotTtsText: (text) => {\n options?.callbacks?.onBotTtsText?.(text);\n this.emit(RTVIEvent.BotTtsText, text);\n },\n onBotTtsStarted: () => {\n options?.callbacks?.onBotTtsStarted?.();\n this.emit(RTVIEvent.BotTtsStarted);\n },\n onBotTtsStopped: () => {\n options?.callbacks?.onBotTtsStopped?.();\n this.emit(RTVIEvent.BotTtsStopped);\n },\n onStorageItemStored: (data) => {\n options?.callbacks?.onStorageItemStored?.(data);\n this.emit(RTVIEvent.StorageItemStored, data);\n },\n\n /**\n * @deprecated Use BotLlmText instead\n */\n onBotText: (text) => {\n options?.callbacks?.onBotText?.(text);\n this.emit(RTVIEvent.BotText, text);\n },\n };\n\n // Update options to reference wrapped callbacks and config defaults\n this._options = {\n ...options,\n callbacks: wrappedCallbacks,\n enableMic: options.enableMic ?? true,\n enableCam: options.enableCam ?? false,\n };\n\n // Instantiate the transport class and bind message handler\n this._initialize();\n\n // Get package version number\n console.debug(\"[RTVI Client] Initialized\", this.version);\n }\n\n public constructUrl(endpoint: RTVIURLEndpoints): string {\n if (!this.params.baseUrl) {\n throw new RTVIErrors.RTVIError(\n \"Base URL not set. Please set rtviClient.params.baseUrl\"\n );\n }\n const baseUrl = this.params.baseUrl.replace(/\\/+$/, \"\");\n return baseUrl + (this.params.endpoints?.[endpoint] ?? \"\");\n }\n // ------ Transport methods\n\n /**\n * Initialize local media devices\n */\n public async initDevices() {\n console.debug(\"[RTVI Client] Initializing devices...\");\n await this._transport.initDevices();\n }\n\n /**\n * Connect the voice client session with chosen transport\n * Call async (await) to handle errors\n */\n public async connect(): Promise {\n if (\n [\"authenticating\", \"connecting\", \"connected\", \"ready\"].includes(\n this._transport.state\n )\n ) {\n throw new RTVIErrors.RTVIError(\n \"Voice client has already been started. Please call disconnect() before starting again.\"\n );\n }\n\n this._abortController = new AbortController();\n\n // Establish transport session and await bot ready signal\n return new Promise((resolve, reject) => {\n (async () => {\n this._startResolve = resolve;\n\n if (this._transport.state === \"disconnected\") {\n await this._transport.initDevices();\n }\n\n this._transport.state = \"authenticating\";\n\n // Set a timer for the bot to enter a ready state, otherwise abort the attempt\n if (this._options.timeout) {\n this._handshakeTimeout = setTimeout(async () => {\n this._abortController?.abort();\n await this.disconnect();\n this._transport.state = \"error\";\n reject(new RTVIErrors.ConnectionTimeoutError());\n }, this._options.timeout);\n }\n\n let authBundle: unknown;\n const customConnectHandler = this._options.customConnectHandler;\n const connectUrl = this.constructUrl(\"connect\");\n\n this.params = {\n ...this.params,\n requestData: {\n ...this.params.requestData,\n rtvi_client_version: this.version,\n },\n };\n\n console.debug(\"[RTVI Client] Connecting...\", connectUrl);\n console.debug(\"[RTVI Client] Start params\", this.params);\n\n try {\n if (customConnectHandler) {\n authBundle = await customConnectHandler(\n this.params,\n this._handshakeTimeout,\n this._abortController!\n );\n } else {\n authBundle = await fetch(connectUrl, {\n method: \"POST\",\n mode: \"cors\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n ...Object.fromEntries(\n (this.params.headers ?? new Headers()).entries()\n ),\n }),\n body: JSON.stringify({\n services: this._options.services, // @deprecated\n config: this.params.config ?? this._options.config, // @deprecated\n ...this._options.customBodyParams, // @deprecated\n ...this.params.requestData,\n }),\n signal: this._abortController?.signal,\n }).then((res) => {\n clearTimeout(this._handshakeTimeout);\n\n if (res.ok) {\n return res.json();\n }\n\n return Promise.reject(res);\n });\n }\n } catch (e) {\n clearTimeout(this._handshakeTimeout);\n // Handle errors if the request was not aborted\n if (this._abortController?.signal.aborted) {\n return;\n }\n this._transport.state = \"error\";\n if (e instanceof Response) {\n const errorResp = await e.json();\n reject(\n new RTVIErrors.StartBotError(\n errorResp.info ?? errorResp.detail ?? e.statusText,\n e.status\n )\n );\n } else {\n reject(new RTVIErrors.StartBotError());\n }\n return;\n }\n\n console.debug(\"[RTVI Client] Auth bundle received\", authBundle);\n\n try {\n await this._transport.connect(\n authBundle,\n this._abortController as AbortController\n );\n } catch (e) {\n clearTimeout(this._handshakeTimeout);\n reject(e);\n return;\n }\n\n await this._transport.sendReadyMessage();\n })();\n });\n }\n\n /**\n * Disconnect the voice client from the transport\n * Reset / reinitialize transport and abort any pending requests\n */\n public async disconnect(): Promise {\n if (this._abortController) {\n this._abortController.abort();\n }\n\n clearTimeout(this._handshakeTimeout);\n\n await this._transport.disconnect();\n\n this._initialize();\n }\n\n private _initialize() {\n // Reset transport\n this._transport = this._options.transport;\n this._transport.initialize(this._options, this.handleMessage.bind(this));\n\n // Create a new message dispatch queue for async message handling\n this._messageDispatcher = new MessageDispatcher(this);\n }\n\n /**\n * Get the current state of the transport\n */\n public get connected(): boolean {\n return [\"connected\", \"ready\"].includes(this._transport.state);\n }\n\n public get state(): TransportState {\n return this._transport.state;\n }\n\n public get version(): string {\n return packageJson.version;\n }\n\n // ------ Device methods\n\n public async getAllMics(): Promise {\n return await this._transport.getAllMics();\n }\n\n public async getAllCams(): Promise {\n return await this._transport.getAllCams();\n }\n\n public get selectedMic() {\n return this._transport.selectedMic;\n }\n\n public get selectedCam() {\n return this._transport.selectedCam;\n }\n\n public updateMic(micId: string) {\n this._transport.updateMic(micId);\n }\n\n public updateCam(camId: string) {\n this._transport.updateCam(camId);\n }\n\n public enableMic(enable: boolean) {\n this._transport.enableMic(enable);\n }\n\n public get isMicEnabled(): boolean {\n return this._transport.isMicEnabled;\n }\n\n public enableCam(enable: boolean) {\n this._transport.enableCam(enable);\n }\n\n public get isCamEnabled(): boolean {\n return this._transport.isCamEnabled;\n }\n\n public tracks(): Tracks {\n return this._transport.tracks();\n }\n\n // ------ Config methods\n\n /**\n * Request the bot to send the current configuration\n * @returns Promise - Promise that resolves with the bot's configuration\n */\n @transportReady\n public async getConfig(): Promise {\n const configMsg = await this._messageDispatcher.dispatch(\n RTVIMessage.getBotConfig()\n );\n return (configMsg.data as ConfigData).config as RTVIClientConfigOption[];\n }\n\n /**\n * Update pipeline and services\n * @param config - RTVIClientConfigOption[] partial object with the new configuration\n * @param interrupt - boolean flag to interrupt the current pipeline, or wait until the next turn\n * @returns Promise - Promise that resolves with the updated configuration\n */\n @transportReady\n public async updateConfig(\n config: RTVIClientConfigOption[],\n interrupt: boolean = false\n ): Promise {\n console.debug(\"[RTVI Client] Updating config\", config);\n // Only send the partial config if the bot is ready to prevent\n // potential racing conditions whilst pipeline is instantiating\n return this._messageDispatcher.dispatch(\n RTVIMessage.updateConfig(config, interrupt)\n );\n }\n\n /**\n * Request bot describe the current configuration options\n * @returns Promise - Promise that resolves with the bot's configuration description\n */\n @transportReady\n public async describeConfig(): Promise {\n return this._messageDispatcher.dispatch(RTVIMessage.describeConfig());\n }\n\n /**\n * Returns configuration options for specified service key\n * @param serviceKey - Service name to get options for (e.g. \"llm\")\n * @param config? - Optional RTVIClientConfigOption[] to query (vs. using remote config)\n * @returns RTVIClientConfigOption | undefined - Configuration options array for the service with specified key or undefined\n */\n public async getServiceOptionsFromConfig(\n serviceKey: string,\n config?: RTVIClientConfigOption[]\n ): Promise {\n if (!config && this.state !== \"ready\") {\n throw new RTVIErrors.BotNotReadyError(\n \"getServiceOptionsFromConfig called without config array before bot is ready\"\n );\n }\n\n return Promise.resolve().then(async () => {\n // Check if we have registered service with name service\n if (!serviceKey) {\n console.debug(\"Target service name is required\");\n return undefined;\n }\n\n const passedConfig: RTVIClientConfigOption[] =\n config ?? (await this.getConfig());\n\n // Find matching service name in the config and update the messages\n const configServiceKey = passedConfig.find(\n (config: RTVIClientConfigOption) => config.service === serviceKey\n );\n\n if (!configServiceKey) {\n console.debug(\n \"No service with name \" + serviceKey + \" not found in config\"\n );\n return undefined;\n }\n\n // Return a new object, as to not mutate existing state\n return configServiceKey;\n });\n }\n\n /**\n * Returns configuration option value (unknown) for specified service key and option name\n * @param serviceKey - Service name to get options for (e.g. \"llm\")\n * @optional option Name of option return from the config (e.g. \"model\")\n * @returns Promise - Service configuration option value or undefined\n */\n public async getServiceOptionValueFromConfig(\n serviceKey: string,\n option: string,\n config?: RTVIClientConfigOption[]\n ): Promise {\n const configServiceKey: RTVIClientConfigOption | undefined =\n await this.getServiceOptionsFromConfig(serviceKey, config);\n\n if (!configServiceKey) {\n console.debug(\"Service with name \" + serviceKey + \" not found in config\");\n return undefined;\n }\n\n // Find matching option key in the service config\n const optionValue: ConfigOption | undefined = configServiceKey.options.find(\n (o: ConfigOption) => o.name === option\n );\n\n return optionValue ? (optionValue as ConfigOption).value : undefined;\n }\n\n private _updateOrAddOption(\n existingOptions: ConfigOption[],\n newOption: ConfigOption\n ): ConfigOption[] {\n const existingOptionIndex = existingOptions.findIndex(\n (item) => item.name === newOption.name\n );\n if (existingOptionIndex !== -1) {\n // Update existing option\n return existingOptions.map((item, index) =>\n index === existingOptionIndex\n ? { ...item, value: newOption.value }\n : item\n );\n } else {\n // Add new option\n return [\n ...existingOptions,\n { name: newOption.name, value: newOption.value },\n ];\n }\n }\n\n /**\n * Returns config with updated option(s) for specified service key and option name\n * Note: does not update current config, only returns a new object (call updateConfig to apply changes)\n * @param serviceKey - Service name to get options for (e.g. \"llm\")\n * @param option - Service name to get options for (e.g. \"model\")\n * @param config - Optional RTVIClientConfigOption[] to update (vs. using current config)\n * @returns Promise - Configuration options array with updated option(s) or undefined\n */\n public async setServiceOptionInConfig(\n serviceKey: string,\n option: ConfigOption | ConfigOption[],\n config?: RTVIClientConfigOption[]\n ): Promise {\n const newConfig: RTVIClientConfigOption[] = cloneDeep(\n config ?? (await this.getConfig())\n );\n\n const serviceOptions = await this.getServiceOptionsFromConfig(\n serviceKey,\n newConfig\n );\n\n if (!serviceOptions) {\n console.debug(\n \"Service with name '\" + serviceKey + \"' not found in config\"\n );\n return newConfig;\n }\n\n const optionsArray = Array.isArray(option) ? option : [option];\n\n for (const opt of optionsArray) {\n const existingItem = newConfig.find(\n (item) => item.service === serviceKey\n );\n const updatedOptions = existingItem\n ? this._updateOrAddOption(existingItem.options, opt)\n : [{ name: opt.name, value: opt.value }];\n\n if (existingItem) {\n existingItem.options = updatedOptions;\n } else {\n newConfig.push({ service: serviceKey, options: updatedOptions });\n }\n }\n\n return newConfig;\n }\n\n /**\n * Returns config object with updated properties from passed array.\n * @param configOptions - Array of RTVIClientConfigOption[] to update\n * @param config? - Optional RTVIClientConfigOption[] to update (vs. using current config)\n * @returns Promise - Configuration options\n */\n public async setConfigOptions(\n configOptions: RTVIClientConfigOption[],\n config?: RTVIClientConfigOption[]\n ): Promise {\n let accumulator: RTVIClientConfigOption[] = cloneDeep(\n config ?? (await this.getConfig())\n );\n\n for (const configOption of configOptions) {\n accumulator =\n (await this.setServiceOptionInConfig(\n configOption.service,\n configOption.options,\n accumulator\n )) || accumulator;\n }\n return accumulator;\n }\n\n // ------ Actions\n\n /**\n * Dispatch an action message to the bot or http single-turn endpoint\n */\n public async action(\n action: RTVIActionRequestData\n ): Promise {\n return this._messageDispatcher.dispatchAction(\n new RTVIActionRequest(action),\n this.handleMessage.bind(this)\n );\n }\n\n /**\n * Describe available / registered actions the bot has\n * @returns Promise - Promise that resolves with the bot's actions\n */\n @transportReady\n public async describeActions(): Promise {\n return this._messageDispatcher.dispatch(RTVIMessage.describeActions());\n }\n\n // ------ Transport methods\n\n /**\n * Get the session expiry time for the transport session (if applicable)\n * @returns number - Expiry time in milliseconds\n */\n @getIfTransportInState(\"connected\", \"ready\")\n public get transportExpiry(): number | undefined {\n return this._transport.expiry;\n }\n\n // ------ Messages\n\n /**\n * Directly send a message to the bot via the transport\n * @param message - RTVIMessage object to send\n */\n @transportReady\n public sendMessage(message: RTVIMessage): void {\n this._transport.sendMessage(message);\n }\n\n protected handleMessage(ev: RTVIMessage): void {\n console.debug(\"[RTVI Message]\", ev);\n\n switch (ev.type) {\n case RTVIMessageType.BOT_READY:\n clearTimeout(this._handshakeTimeout);\n this._startResolve?.(ev.data as BotReadyData);\n this._options.callbacks?.onBotReady?.(ev.data as BotReadyData);\n break;\n case RTVIMessageType.CONFIG_AVAILABLE: {\n this._messageDispatcher.resolve(ev);\n this._options.callbacks?.onConfigDescribe?.(ev.data);\n break;\n }\n case RTVIMessageType.CONFIG: {\n const resp = this._messageDispatcher.resolve(ev);\n this._options.callbacks?.onConfig?.((resp.data as ConfigData).config);\n break;\n }\n case RTVIMessageType.ACTIONS_AVAILABLE: {\n this._messageDispatcher.resolve(ev);\n this._options.callbacks?.onActionsAvailable?.(ev.data);\n break;\n }\n case RTVIMessageType.ACTION_RESPONSE: {\n this._messageDispatcher.resolve(ev);\n break;\n }\n case RTVIMessageType.ERROR_RESPONSE: {\n const resp = this._messageDispatcher.reject(ev);\n this._options.callbacks?.onMessageError?.(resp as RTVIMessage);\n break;\n }\n case RTVIMessageType.ERROR:\n this._options.callbacks?.onError?.(ev);\n break;\n case RTVIMessageType.USER_STARTED_SPEAKING:\n this._options.callbacks?.onUserStartedSpeaking?.();\n break;\n case RTVIMessageType.USER_STOPPED_SPEAKING:\n this._options.callbacks?.onUserStoppedSpeaking?.();\n break;\n case RTVIMessageType.BOT_STARTED_SPEAKING:\n this._options.callbacks?.onBotStartedSpeaking?.();\n break;\n case RTVIMessageType.BOT_STOPPED_SPEAKING:\n this._options.callbacks?.onBotStoppedSpeaking?.();\n break;\n case RTVIMessageType.USER_TRANSCRIPTION: {\n const TranscriptData = ev.data as TranscriptData;\n this._options.callbacks?.onUserTranscript?.(TranscriptData);\n break;\n }\n case RTVIMessageType.BOT_TRANSCRIPTION: {\n this._options.callbacks?.onBotTranscript?.(ev.data as BotLLMTextData);\n break;\n }\n case RTVIMessageType.BOT_LLM_TEXT:\n this._options.callbacks?.onBotLlmText?.(ev.data as BotLLMTextData);\n this._options.callbacks?.onBotText?.(ev.data as BotLLMTextData); // @deprecated\n break;\n case RTVIMessageType.BOT_LLM_STARTED:\n this._options.callbacks?.onBotLlmStarted?.();\n break;\n case RTVIMessageType.BOT_LLM_STOPPED:\n this._options.callbacks?.onBotLlmStopped?.();\n break;\n case RTVIMessageType.BOT_TTS_TEXT:\n this._options.callbacks?.onBotTtsText?.(ev.data as BotTTSTextData);\n break;\n case RTVIMessageType.BOT_TTS_STARTED:\n this._options.callbacks?.onBotTtsStarted?.();\n break;\n case RTVIMessageType.BOT_TTS_STOPPED:\n this._options.callbacks?.onBotTtsStopped?.();\n break;\n case RTVIMessageType.METRICS:\n this.emit(RTVIEvent.Metrics, ev.data as PipecatMetricsData);\n this._options.callbacks?.onMetrics?.(ev.data as PipecatMetricsData);\n break;\n case RTVIMessageType.STORAGE_ITEM_STORED:\n this._options.callbacks?.onStorageItemStored?.(\n ev.data as StorageItemStoredData\n );\n break;\n default: {\n let match: boolean = false;\n // Pass message to registered helpers\n for (const helper of Object.values(\n this._helpers\n ) as RTVIClientHelper[]) {\n if (helper.getMessageTypes().includes(ev.type)) {\n match = true;\n helper.handleMessage(ev);\n }\n }\n if (!match) {\n this._options.callbacks?.onGenericMessage?.(ev.data);\n }\n }\n }\n }\n\n // ------ Helpers\n\n /**\n * Register a new helper to the client\n * This (optionally) provides a way to reference helpers directly\n * from the client and use the event dispatcher\n * @param service - Target service for this helper\n * @param helper - Helper instance\n * @returns RTVIClientHelper - Registered helper instance\n */\n public registerHelper(\n service: string,\n helper: RTVIClientHelper\n ): RTVIClientHelper {\n if (this._helpers[service]) {\n throw new Error(`Helper with name '${service}' already registered`);\n }\n\n // Check helper is instance of RTVIClientHelper\n if (!(helper instanceof RTVIClientHelper)) {\n throw new Error(`Helper must be an instance of RTVIClientHelper`);\n }\n\n helper.service = service;\n helper.client = this;\n\n this._helpers[service] = helper;\n\n return this._helpers[service];\n }\n\n public getHelper(service: string): T | undefined {\n const helper = this._helpers[service];\n if (!helper) {\n console.debug(`Helper targeting service '${service}' not found`);\n return undefined;\n }\n return helper as T;\n }\n\n public unregisterHelper(service: string) {\n if (!this._helpers[service]) {\n return;\n }\n delete this._helpers[service];\n }\n\n // ------ Deprecated\n\n /**\n * @deprecated use connect() instead\n */\n public async start(): Promise {\n return this.connect();\n }\n\n /**\n * @deprecated use getConfig instead\n * @returns Promise - Promise that resolves with the bot's configuration\n */\n @transportReady\n public async getBotConfig(): Promise {\n console.warn(\n \"VoiceClient.getBotConfig is deprecated. Use getConfig instead.\"\n );\n return this.getConfig();\n }\n\n /**\n * @deprecated This getter is deprecated and will be removed in future versions. Use getConfig instead.\n * Current client configuration\n * For the most up-to-date configuration, use getBotConfig method\n * @returns RTVIClientConfigOption[] - Array of configuration options\n */\n public get config(): RTVIClientConfigOption[] {\n console.warn(\"VoiceClient.config is deprecated. Use getConfig instead.\");\n return this._options.config!;\n }\n\n /**\n * Get registered services from voice client constructor options\n * @deprecated Services not accessible via the client instance\n */\n public get services(): VoiceClientServices {\n console.warn(\"VoiceClient.services is deprecated.\");\n return this._options.services!;\n }\n\n /**\n * @deprecated Services not accessible via the client instance\n */\n public set services(services: VoiceClientServices) {\n console.warn(\"VoiceClient.services is deprecated.\");\n if (\n ![\"authenticating\", \"connecting\", \"connected\", \"ready\"].includes(\n this._transport.state\n )\n ) {\n this._options.services = services;\n } else {\n throw new RTVIErrors.RTVIError(\n \"Cannot set services while transport is connected\"\n );\n }\n }\n}\n\n// ----- Deprecated types\n\n/**\n * @deprecated Use RTVIClientConfigOption.\n */\nexport type VoiceClientConfigOption = RTVIClientConfigOption;\n\n/**\n * @deprecated No longer used.\n */\nexport type VoiceClientServices = { [key: string]: string };\n", "{\n \"name\": \"realtime-ai\",\n \"version\": \"0.2.1\",\n \"license\": \"BSD-2-Clause\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.module.js\",\n \"types\": \"dist/index.d.ts\",\n \"source\": \"src/index.ts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/rtvi-ai/rtvi-client-web.git\"\n },\n \"files\": [\n \"dist\",\n \"package.json\",\n \"README.md\"\n ],\n \"scripts\": {\n \"build\": \"jest --silent && parcel build --no-cache\",\n \"dev\": \"parcel watch\",\n \"lint\": \"eslint src/ --report-unused-disable-directives --max-warnings 0\",\n \"test\": \"jest\"\n },\n \"jest\": {\n \"preset\": \"ts-jest\",\n \"testEnvironment\": \"node\"\n },\n \"devDependencies\": {\n \"@jest/globals\": \"^29.7.0\",\n \"@types/clone-deep\": \"^4.0.4\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/uuid\": \"^10.0.0\",\n \"@typescript-eslint/eslint-plugin\": \"^7.16.0\",\n \"@typescript-eslint/parser\": \"^7.16.0\",\n \"eslint\": \"9.11.1\",\n \"eslint-config-prettier\": \"^9.1.0\",\n \"eslint-plugin-simple-import-sort\": \"^12.1.1\",\n \"jest\": \"^29.7.0\",\n \"ts-jest\": \"^29.2.5\"\n },\n \"dependencies\": {\n \"@types/events\": \"^3.0.3\",\n \"clone-deep\": \"^4.0.1\",\n \"events\": \"^3.3.0\",\n \"typed-emitter\": \"^2.1.0\",\n \"uuid\": \"^10.0.0\"\n }\n}", "import { RTVIClient } from \".\";\nimport { BotNotReadyError } from \"./errors\";\n\nexport function transportReady(\n _target: T,\n propertyKey: string | symbol,\n descriptor: PropertyDescriptor\n): PropertyDescriptor | void {\n const originalMethod = descriptor.value;\n\n descriptor.value = function (this: T, ...args: unknown[]) {\n if (this.state === \"ready\") {\n return originalMethod.apply(this, args);\n } else {\n throw new BotNotReadyError(\n `Attempt to call ${propertyKey.toString()} when transport not in ready state. Await connect() first.`\n );\n }\n };\n\n return descriptor;\n}\nexport function transportInState(states: string[]) {\n return function (\n _target: T,\n propertyKey: string | symbol,\n descriptor: PropertyDescriptor\n ): PropertyDescriptor | void {\n const originalMethod = descriptor.value;\n\n descriptor.get = function (this: T, ...args: unknown[]) {\n if (states.includes(this.state)) {\n return originalMethod.apply(this, args);\n } else {\n throw new BotNotReadyError(\n `Attempt to call ${propertyKey.toString()} when transport not in ${states}.`\n );\n }\n };\n\n return descriptor;\n };\n}\n\nexport function getIfTransportInState(\n ...states: string[]\n) {\n states = [\"ready\", ...states];\n\n return function (\n _target: T,\n propertyKey: string | symbol,\n descriptor: PropertyDescriptor\n ): PropertyDescriptor | void {\n const originalGetter = descriptor.get;\n\n descriptor.get = function (this: T) {\n if (states.includes(this.state)) {\n return originalGetter?.apply(this);\n } else {\n throw new BotNotReadyError(\n `Attempt to call ${propertyKey.toString()} when transport not in ${states}. Await connect() first.`\n );\n }\n };\n\n return descriptor;\n };\n}\n", "export class RTVIError extends Error {\n readonly status: number | undefined;\n\n constructor(message?: string, status?: number | undefined) {\n super(message);\n this.status = status;\n }\n}\n\nexport class ConnectionTimeoutError extends RTVIError {\n constructor(message?: string | undefined) {\n super(\n message ??\n \"Bot did not enter ready state within the specified timeout period.\"\n );\n }\n}\n\nexport class StartBotError extends RTVIError {\n readonly error: string = \"invalid-request-error\";\n constructor(message?: string | undefined, status?: number) {\n super(\n message ?? `Failed to connect / invalid auth bundle from base url`,\n status ?? 500\n );\n }\n}\n\nexport class TransportStartError extends RTVIError {\n constructor(message?: string | undefined) {\n super(message ?? \"Unable to connect to transport\");\n }\n}\n\nexport class BotNotReadyError extends RTVIError {\n constructor(message?: string | undefined) {\n super(\n message ??\n \"Attempt to call action on transport when not in 'ready' state.\"\n );\n }\n}\n\nexport class ConfigUpdateError extends RTVIError {\n override readonly status = 400;\n constructor(message?: string | undefined) {\n super(message ?? \"Unable to update configuration\");\n }\n}\n\n/**\n * @deprecated Use RTVIError instead.\n */\nexport class VoiceError extends RTVIError {}\n", "import { RTVIClientConfigOption } from \".\";\nimport { LLMFunctionCallData } from \"./helpers/llm\";\nimport {\n BotLLMTextData,\n BotReadyData,\n BotTTSTextData,\n PipecatMetricsData,\n RTVIMessage,\n StorageItemStoredData,\n TranscriptData,\n} from \"./messages\";\nimport { Participant, TransportState } from \"./transport\";\n\nexport enum RTVIEvent {\n MessageError = \"messageError\",\n Error = \"error\",\n\n Connected = \"connected\",\n Disconnected = \"disconnected\",\n TransportStateChanged = \"transportStateChanged\",\n\n Config = \"config\",\n ConfigDescribe = \"configDescribe\",\n ActionsAvailable = \"actionsAvailable\",\n\n ParticipantConnected = \"participantConnected\",\n ParticipantLeft = \"participantLeft\",\n TrackStarted = \"trackStarted\",\n TrackedStopped = \"trackStopped\",\n\n AvailableCamsUpdated = \"availableCamsUpdated\",\n AvailableMicsUpdated = \"availableMicsUpdated\",\n CamUpdated = \"camUpdated\",\n MicUpdated = \"micUpdated\",\n\n BotConnected = \"botConnected\",\n BotReady = \"botReady\",\n BotDisconnected = \"botDisconnected\",\n BotStartedSpeaking = \"botStartedSpeaking\",\n BotStoppedSpeaking = \"botStoppedSpeaking\",\n RemoteAudioLevel = \"remoteAudioLevel\",\n\n UserStartedSpeaking = \"userStartedSpeaking\",\n UserStoppedSpeaking = \"userStoppedSpeaking\",\n LocalAudioLevel = \"localAudioLevel\",\n\n Metrics = \"metrics\",\n\n UserTranscript = \"userTranscript\",\n BotTranscript = \"botTranscript\",\n\n BotLlmText = \"botLlmText\",\n BotLlmStarted = \"botLlmStarted\",\n BotLlmStopped = \"botLlmStopped\",\n\n BotTtsText = \"botTtsText\",\n BotTtsStarted = \"botTtsStarted\",\n BotTtsStopped = \"botTtsStopped\",\n\n LLMFunctionCall = \"llmFunctionCall\",\n LLMFunctionCallStart = \"llmFunctionCallStart\",\n LLMJsonCompletion = \"llmJsonCompletion\",\n\n StorageItemStored = \"storageItemStored\",\n\n /**\n * @deprecated Use BotLlmText instead\n */\n BotText = \"botText\",\n}\n\nexport type RTVIEvents = Partial<{\n connected: () => void;\n disconnected: () => void;\n transportStateChanged: (state: TransportState) => void;\n\n config: (config: RTVIClientConfigOption[]) => void;\n configUpdated: (config: RTVIClientConfigOption[]) => void;\n configDescribe: (configDescription: unknown) => void;\n actionsAvailable: (actions: unknown) => void;\n\n participantConnected: (participant: Participant) => void;\n participantLeft: (participant: Participant) => void;\n trackStarted: (track: MediaStreamTrack, participant?: Participant) => void;\n trackStopped: (track: MediaStreamTrack, participant?: Participant) => void;\n\n availableCamsUpdated: (cams: MediaDeviceInfo[]) => void;\n availableMicsUpdated: (cams: MediaDeviceInfo[]) => void;\n camUpdated: (cam: MediaDeviceInfo) => void;\n micUpdated: (cam: MediaDeviceInfo) => void;\n\n botReady: (botData: BotReadyData) => void;\n botConnected: (participant: Participant) => void;\n botDisconnected: (participant: Participant) => void;\n botStartedSpeaking: () => void;\n botStoppedSpeaking: () => void;\n remoteAudioLevel: (level: number, p: Participant) => void;\n\n userStartedSpeaking: () => void;\n userStoppedSpeaking: () => void;\n localAudioLevel: (level: number) => void;\n\n metrics: (data: PipecatMetricsData) => void;\n\n userTranscript: (data: TranscriptData) => void;\n botTranscript: (data: BotLLMTextData) => void;\n\n botLlmText: (data: BotLLMTextData) => void;\n botLlmStarted: () => void;\n botLlmStopped: () => void;\n\n botTtsText: (data: BotTTSTextData) => void;\n botTtsStarted: () => void;\n botTtsStopped: () => void;\n\n error: (message: RTVIMessage) => void;\n messageError: (message: RTVIMessage) => void;\n\n llmFunctionCall: (func: LLMFunctionCallData) => void;\n llmFunctionCallStart: (functionName: string) => void;\n llmJsonCompletion: (data: string) => void;\n\n storageItemStored: (data: StorageItemStoredData) => void;\n\n /**\n * @deprecated Use BotLlmText instead\n */\n botText: (data: BotLLMTextData) => void;\n}>;\n\nexport type RTVIEventHandler = E extends keyof RTVIEvents\n ? RTVIEvents[E]\n : never;\n\n/**\n * @deprecated Use RTVIEventHandler instead.\n */\nexport type VoiceEventHandler = RTVIEventHandler;\n/**\n * @deprecated Use RTVIEvents instead.\n */\nexport type VoiceEvents = RTVIEvents;\n", "import { RTVIClient } from \"../client\";\nimport { RTVIMessage } from \"../messages\";\n\nexport type RTVIClientHelpers = Partial>;\n\nexport type RTVIClientHelperCallbacks = Partial;\n\nexport interface RTVIClientHelperOptions {\n /**\n * Callback methods for events / messages\n */\n callbacks?: RTVIClientHelperCallbacks;\n}\n\nexport abstract class RTVIClientHelper {\n protected _options: RTVIClientHelperOptions;\n protected declare _client: RTVIClient;\n protected declare _service: string;\n\n constructor(options: RTVIClientHelperOptions) {\n this._options = options;\n }\n\n public abstract handleMessage(ev: RTVIMessage): void;\n public abstract getMessageTypes(): string[];\n public set client(client: RTVIClient) {\n this._client = client;\n }\n public set service(service: string) {\n this._service = service;\n }\n}\n", "import { v4 as uuidv4 } from \"uuid\";\n\nimport { httpActionGenerator } from \"./actions\";\nimport { RTVIClient, RTVIClientConfigOption } from \"./client\";\n\nexport const RTVI_MESSAGE_LABEL = \"rtvi-ai\";\n\nexport enum RTVIMessageType {\n // Outbound\n CLIENT_READY = \"client-ready\",\n UPDATE_CONFIG = \"update-config\",\n GET_CONFIG = \"get-config\",\n DESCRIBE_CONFIG = \"describe-config\",\n DESCRIBE_ACTIONS = \"describe-actions\",\n\n // Inbound\n BOT_READY = \"bot-ready\", // Bot is connected and ready to receive messages\n ERROR = \"error\", // Bot initialization error\n ERROR_RESPONSE = \"error-response\", // Error response from the bot in response to an action\n CONFIG = \"config\", // Bot configuration\n CONFIG_AVAILABLE = \"config-available\", // Configuration options available on the bot\n CONFIG_ERROR = \"config-error\", // Configuration options have changed failed\n ACTIONS_AVAILABLE = \"actions-available\", // Actions available on the bot\n ACTION_RESPONSE = \"action-response\", // Action response from the bot\n METRICS = \"metrics\", // RTVI reporting metrics\n USER_TRANSCRIPTION = \"user-transcription\", // Local user speech to text transcription (partials and finals)\n BOT_TRANSCRIPTION = \"bot-transcription\", // Bot full text transcription (sentence aggregated)\n USER_STARTED_SPEAKING = \"user-started-speaking\", // User started speaking\n USER_STOPPED_SPEAKING = \"user-stopped-speaking\", // User stopped speaking\n BOT_STARTED_SPEAKING = \"bot-started-speaking\", // Bot started speaking\n BOT_STOPPED_SPEAKING = \"bot-stopped-speaking\", // Bot stopped speaking\n // Service-specific\n USER_LLM_TEXT = \"user-llm-text\", // Aggregated user input text which is sent to LLM\n BOT_LLM_TEXT = \"bot-llm-text\", // Streamed token returned by the LLM\n BOT_LLM_STARTED = \"bot-llm-started\", // Bot LLM inference starts\n BOT_LLM_STOPPED = \"bot-llm-stopped\", // Bot LLM inference stops\n BOT_TTS_TEXT = \"bot-tts-text\", // Bot TTS text output (streamed word as it is spoken)\n BOT_TTS_STARTED = \"bot-tts-started\", // Bot TTS response starts\n BOT_TTS_STOPPED = \"bot-tts-stopped\", // Bot TTS response stops\n // Storage\n STORAGE_ITEM_STORED = \"storage-item-stored\", // Item was stored to configured storage, if applicable\n}\n\n// ----- Message Data Types\n\nexport type ConfigData = {\n config: RTVIClientConfigOption[];\n};\n\nexport type BotReadyData = {\n config: RTVIClientConfigOption[];\n version: string;\n};\n\nexport type PipecatMetricData = {\n processor: string;\n value: number;\n};\n\nexport type PipecatMetricsData = {\n processing?: PipecatMetricData[];\n ttfb?: PipecatMetricData[];\n characters?: PipecatMetricData[];\n};\n\nexport type TranscriptData = {\n text: string;\n final: boolean;\n timestamp: string;\n user_id: string;\n};\n\nexport type BotLLMTextData = {\n text: string;\n};\n\nexport type BotTTSTextData = {\n text: string;\n};\n\nexport type StorageItemStoredData = {\n action: string;\n items: unknown;\n};\n\n// ----- Message Classes\n\nexport type RTVIMessageActionResponse = {\n id: string;\n label: string;\n type: string;\n data: { result: unknown };\n};\n\nexport class RTVIMessage {\n id: string;\n label: string = RTVI_MESSAGE_LABEL;\n type: string;\n data: unknown;\n\n constructor(type: string, data: unknown, id?: string) {\n this.type = type;\n this.data = data;\n this.id = id || uuidv4().slice(0, 8);\n }\n\n // Outbound message types\n static clientReady(): RTVIMessage {\n return new RTVIMessage(RTVIMessageType.CLIENT_READY, {});\n }\n\n static updateConfig(\n config: RTVIClientConfigOption[],\n interrupt: boolean = false\n ): RTVIMessage {\n return new RTVIMessage(RTVIMessageType.UPDATE_CONFIG, {\n config,\n interrupt,\n });\n }\n\n static describeConfig(): RTVIMessage {\n return new RTVIMessage(RTVIMessageType.DESCRIBE_CONFIG, {});\n }\n\n static getBotConfig(): RTVIMessage {\n return new RTVIMessage(RTVIMessageType.GET_CONFIG, {});\n }\n\n static describeActions(): RTVIMessage {\n return new RTVIMessage(RTVIMessageType.DESCRIBE_ACTIONS, {});\n }\n}\n\n// ----- Action Types\n\nexport const RTVI_ACTION_TYPE = \"action\";\n\nexport type RTVIActionRequestData = {\n service: string;\n action: string;\n arguments?: { name: string; value: unknown }[];\n};\n\nexport class RTVIActionRequest extends RTVIMessage {\n constructor(data: RTVIActionRequestData) {\n super(RTVI_ACTION_TYPE, data);\n }\n}\n\nexport type RTVIActionResponse = {\n id: string;\n label: string;\n type: string;\n data: { result: unknown };\n};\n\n// ----- Message Dispatcher\n\ninterface QueuedRTVIMessage {\n message: RTVIMessage;\n timestamp: number;\n resolve: (value: unknown) => void;\n reject: (reason?: unknown) => void;\n}\n\nexport class MessageDispatcher {\n private _client: RTVIClient;\n private _gcTime: number;\n private _queue = new Array();\n\n constructor(client: RTVIClient) {\n this._gcTime = 10000; // How long to wait before resolving the message\n this._queue = [];\n this._client = client;\n }\n\n public dispatch(message: RTVIMessage): Promise {\n const promise = new Promise((resolve, reject) => {\n this._queue.push({\n message,\n timestamp: Date.now(),\n resolve,\n reject,\n });\n });\n\n console.debug(\"[MessageDispatcher] dispatch\", message);\n\n this._client.sendMessage(message);\n\n this._gc();\n\n return promise as Promise;\n }\n\n public async dispatchAction(\n action: RTVIActionRequest,\n onMessage: (message: RTVIMessage) => void\n ): Promise {\n const promise = new Promise((resolve, reject) => {\n this._queue.push({\n message: action,\n timestamp: Date.now(),\n resolve,\n reject,\n });\n });\n\n console.debug(\"[MessageDispatcher] action\", action);\n\n if (this._client.connected) {\n // Send message to transport when connected\n this._client.sendMessage(action);\n } else {\n const actionUrl = this._client.constructUrl(\"action\");\n\n try {\n // Dispatch action via HTTP when disconnected\n await httpActionGenerator(\n actionUrl,\n action,\n this._client.params,\n (response: RTVIActionResponse) => {\n onMessage(response);\n }\n );\n // On HTTP success (resolve), send `action` message (for callbacks)\n } catch (e) {\n onMessage(\n new RTVIMessage(\n RTVIMessageType.ERROR_RESPONSE,\n `Action endpoint '${actionUrl}' returned an error response`,\n action.id\n )\n );\n }\n }\n\n this._gc();\n\n return promise as Promise;\n }\n\n private _resolveReject(\n message: RTVIMessage,\n resolve: boolean = true\n ): RTVIMessage {\n const queuedMessage = this._queue.find(\n (msg) => msg.message.id === message.id\n );\n\n if (queuedMessage) {\n if (resolve) {\n console.debug(\"[MessageDispatcher] Resolve\", message);\n queuedMessage.resolve(\n message.type === RTVIMessageType.ACTION_RESPONSE\n ? (message as RTVIMessageActionResponse)\n : (message as RTVIMessage)\n );\n } else {\n console.debug(\"[MessageDispatcher] Reject\", message);\n queuedMessage.reject(message as RTVIMessage);\n }\n // Remove message from queue\n this._queue = this._queue.filter((msg) => msg.message.id !== message.id);\n console.debug(\"[MessageDispatcher] Queue\", this._queue);\n }\n\n return message;\n }\n\n public resolve(message: RTVIMessage): RTVIMessage {\n return this._resolveReject(message, true);\n }\n\n public reject(message: RTVIMessage): RTVIMessage {\n return this._resolveReject(message, false);\n }\n\n private _gc() {\n this._queue = this._queue.filter((msg) => {\n return Date.now() - msg.timestamp < this._gcTime;\n });\n console.debug(\"[MessageDispatcher] GC\", this._queue);\n }\n}\n\n// ----- Deprecated\n\n/**\n * @deprecated Use RTVIMessageActionResponse instead.\n */\nexport type VoiceMessageActionResponse = RTVIMessageActionResponse;\n/**\n * @deprecated Use RTVIMessageType instead.\n */\nexport type VoiceMessageType = RTVIMessageType;\n/**\n * @deprecated Use RTVIMessage instead.\n */\nexport class VoiceMessage extends RTVIMessage {}\n", "import * as RTVIErrors from \"./../errors\";\nimport { RTVIEvent } from \"./../events\";\nimport {\n RTVIActionRequestData,\n RTVIActionResponse,\n RTVIMessage,\n} from \"./../messages\";\nimport { RTVIClientHelper, RTVIClientHelperOptions } from \".\";\n\n// --- Types\n\nexport type LLMFunctionCallData = {\n function_name: string;\n tool_call_id: string;\n args: unknown;\n result?: unknown;\n};\n\nexport type LLMContextMessage = {\n role: string;\n content: unknown;\n};\n\nexport type LLMContext = Partial<{\n messages?: LLMContextMessage[];\n tools?: [];\n}>;\n\nexport type FunctionCallParams = {\n functionName: string;\n arguments: unknown;\n};\n\nexport type FunctionCallCallback = (fn: FunctionCallParams) => Promise;\n\n// --- Message types\nexport enum LLMMessageType {\n LLM_FUNCTION_CALL = \"llm-function-call\",\n LLM_FUNCTION_CALL_START = \"llm-function-call-start\",\n LLM_FUNCTION_CALL_RESULT = \"llm-function-call-result\",\n LLM_JSON_COMPLETION = \"llm-json-completion\",\n}\n\n// --- Callbacks\nexport type LLMHelperCallbacks = Partial<{\n onLLMJsonCompletion: (jsonString: string) => void;\n onLLMFunctionCall: (func: LLMFunctionCallData) => void;\n onLLMFunctionCallStart: (functionName: string) => void;\n onLLMMessage: (message: LLMContextMessage) => void;\n}>;\n\n// --- Interface and class\nexport interface LLMHelperOptions extends RTVIClientHelperOptions {\n callbacks?: LLMHelperCallbacks;\n}\n\nexport class LLMHelper extends RTVIClientHelper {\n protected declare _options: LLMHelperOptions;\n private _functionCallCallback: FunctionCallCallback | null;\n\n constructor(options: LLMHelperOptions) {\n super(options);\n\n this._functionCallCallback = null;\n }\n\n public getMessageTypes(): string[] {\n return Object.values(LLMMessageType) as string[];\n }\n\n // --- Actions\n\n /**\n * Retrieve the bot's current LLM context.\n * @returns Promise\n */\n public async getContext(): Promise {\n if (this._client.state !== \"ready\") {\n throw new RTVIErrors.BotNotReadyError(\n \"getContext called while transport not in ready state\"\n );\n }\n const actionResponseMsg: RTVIActionResponse = await this._client.action({\n service: this._service,\n action: \"get_context\",\n } as RTVIActionRequestData);\n return actionResponseMsg.data.result as LLMContext;\n }\n\n /**\n * Update the bot's LLM context.\n * If this is called while the transport is not in the ready state, the local context will be updated\n * @param context LLMContext - The new context\n * @param interrupt boolean - Whether to interrupt the bot, or wait until it has finished speaking\n * @returns Promise\n */\n\n public async setContext(\n context: LLMContext,\n interrupt: boolean = false\n ): Promise {\n if (this._client.state !== \"ready\") {\n throw new RTVIErrors.BotNotReadyError(\n \"setContext called while transport not in ready state\"\n );\n }\n\n const actionResponse: RTVIActionResponse = (await this._client.action({\n service: this._service,\n action: \"set_context\",\n arguments: [\n {\n name: \"messages\",\n value: context.messages,\n },\n {\n name: \"interrupt\",\n value: interrupt,\n },\n ],\n } as RTVIActionRequestData)) as RTVIActionResponse;\n\n return !!actionResponse.data.result;\n }\n\n /**\n * Append a new message to the LLM context.\n * If this is called while the transport is not in the ready state, the local context will be updated\n * @param context LLMContextMessage\n * @param runImmediately boolean - wait until pipeline is idle before running\n * @returns boolean\n */\n\n public async appendToMessages(\n context: LLMContextMessage,\n runImmediately: boolean = false\n ): Promise {\n if (this._client.state !== \"ready\") {\n throw new RTVIErrors.BotNotReadyError(\n \"setContext called while transport not in ready state\"\n );\n }\n\n const actionResponse = (await this._client.action({\n service: this._service,\n action: \"append_to_messages\",\n arguments: [\n {\n name: \"messages\",\n value: [context],\n },\n {\n name: \"run_immediately\",\n value: runImmediately,\n },\n ],\n } as RTVIActionRequestData)) as RTVIActionResponse;\n return !!actionResponse.data.result;\n }\n\n /**\n * Run the bot's current LLM context.\n * Useful when appending messages to the context without runImmediately set to true.\n * Will do nothing if the bot is not in the ready state.\n * @param interrupt boolean - Whether to interrupt the bot, or wait until it has finished speaking\n * @returns Promise\n */\n public async run(interrupt: boolean = false): Promise {\n if (this._client.state !== \"ready\") {\n return;\n }\n\n return this._client.action({\n service: this._service,\n action: \"run\",\n arguments: [\n {\n name: \"interrupt\",\n value: interrupt,\n },\n ],\n } as RTVIActionRequestData);\n }\n\n // --- Handlers\n\n /**\n * If the LLM wants to call a function, RTVI will invoke the callback defined\n * here. Whatever the callback returns will be sent to the LLM as the function result.\n * @param callback\n * @returns void\n */\n public handleFunctionCall(callback: FunctionCallCallback): void {\n this._functionCallCallback = callback;\n }\n\n public handleMessage(ev: RTVIMessage): void {\n switch (ev.type) {\n case LLMMessageType.LLM_JSON_COMPLETION:\n this._options.callbacks?.onLLMJsonCompletion?.(ev.data as string);\n this._client.emit(RTVIEvent.LLMJsonCompletion, ev.data as string);\n break;\n case LLMMessageType.LLM_FUNCTION_CALL: {\n const d = ev.data as LLMFunctionCallData;\n this._options.callbacks?.onLLMFunctionCall?.(\n ev.data as LLMFunctionCallData\n );\n this._client.emit(\n RTVIEvent.LLMFunctionCall,\n ev.data as LLMFunctionCallData\n );\n if (this._functionCallCallback) {\n const fn = {\n functionName: d.function_name,\n arguments: d.args,\n };\n if (this._client.state === \"ready\") {\n this._functionCallCallback(fn).then((result) => {\n this._client.sendMessage(\n new RTVIMessage(LLMMessageType.LLM_FUNCTION_CALL_RESULT, {\n function_name: d.function_name,\n tool_call_id: d.tool_call_id,\n arguments: d.args,\n result,\n })\n );\n });\n } else {\n throw new RTVIErrors.BotNotReadyError(\n \"Attempted to send a function call result from bot while transport not in ready state\"\n );\n }\n }\n break;\n }\n case LLMMessageType.LLM_FUNCTION_CALL_START: {\n const e = ev.data as LLMFunctionCallData;\n this._options.callbacks?.onLLMFunctionCallStart?.(\n e.function_name as string\n );\n this._client.emit(RTVIEvent.LLMFunctionCallStart, e.function_name);\n break;\n }\n }\n }\n}\n", "import { RTVIClientOptions, RTVIEventCallbacks } from \"./client\";\nimport { RTVIMessage } from \"./messages\";\n\nexport type TransportState =\n | \"disconnected\"\n | \"initializing\"\n | \"initialized\"\n | \"authenticating\"\n | \"connecting\"\n | \"connected\"\n | \"ready\"\n | \"disconnecting\"\n | \"error\";\n\nexport type Participant = {\n id: string;\n name: string;\n local: boolean;\n};\n\nexport type Tracks = {\n local: {\n audio?: MediaStreamTrack;\n video?: MediaStreamTrack;\n };\n bot?: {\n audio?: MediaStreamTrack;\n video?: MediaStreamTrack;\n };\n};\n\nexport abstract class Transport {\n protected declare _options: RTVIClientOptions;\n protected declare _onMessage: (ev: RTVIMessage) => void;\n protected declare _callbacks: RTVIEventCallbacks;\n protected _state: TransportState = \"disconnected\";\n protected _expiry?: number = undefined;\n\n constructor() {}\n\n abstract initialize(\n options: RTVIClientOptions,\n messageHandler: (ev: RTVIMessage) => void\n ): void;\n\n abstract initDevices(): Promise;\n\n abstract connect(\n authBundle: unknown,\n abortController: AbortController\n ): Promise;\n abstract disconnect(): Promise;\n abstract sendReadyMessage(): void;\n\n abstract getAllMics(): Promise;\n abstract getAllCams(): Promise;\n\n abstract updateMic(micId: string): void;\n abstract updateCam(camId: string): void;\n\n abstract get selectedMic(): MediaDeviceInfo | Record;\n abstract get selectedCam(): MediaDeviceInfo | Record;\n\n abstract enableMic(enable: boolean): void;\n abstract enableCam(enable: boolean): void;\n\n abstract get isCamEnabled(): boolean;\n abstract get isMicEnabled(): boolean;\n\n abstract sendMessage(message: RTVIMessage): void;\n\n abstract get state(): TransportState;\n abstract set state(state: TransportState);\n\n get expiry(): number | undefined {\n return this._expiry;\n }\n\n abstract tracks(): Tracks;\n}\n"],
+ "mappings": "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",
+ "names": ["ReflectApply", "ReflectOwnKeys", "NumberIsNaN", "once", "$8c5bX$events", "_a", "config", "$8c5bX$clonedeep"]
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/package.json b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/package.json
new file mode 100644
index 000000000..3dbc1ca59
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js
new file mode 100644
index 000000000..f1fd8ad1c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js
@@ -0,0 +1,46 @@
+import {
+ $08bedc6ef0d1c66c$export$4eda4fd287fbbca5,
+ $08bedc6ef0d1c66c$export$59b4786f333aac02,
+ $08bedc6ef0d1c66c$export$885fb96b850e8fbb,
+ $08bedc6ef0d1c66c$export$975d7330b0c579b7,
+ $08bedc6ef0d1c66c$export$c67992fa684a81a6,
+ $08bedc6ef0d1c66c$export$e0624a511a2c4e9,
+ $08bedc6ef0d1c66c$export$e7544ab812238a61,
+ $2665d8e6d1596258$export$86495b081fef8e52,
+ $4a333e41af7a850f$export$3cf39a62d076dd5c,
+ $4a333e41af7a850f$export$441bcd2e10762760,
+ $505461462111ea0b$export$23bc637255b2a471,
+ $74c1449bc91bda44$export$fa42a01c1d60f4a1,
+ $bff4129f8f902365$export$28ad8d0d400d3e2d,
+ $bff4129f8f902365$export$3336fb47fe34a146,
+ $bff4129f8f902365$export$378529d7a8bead8b,
+ $bff4129f8f902365$export$38b3db05cbf0e240,
+ $bff4129f8f902365$export$69aa9ab0334b212,
+ $bff4129f8f902365$export$882b13c7fda338f5,
+ $bff4129f8f902365$export$e9a960646cc432aa,
+ $cbe8e0de0049ed6e$export$6b4624d233c61fcb,
+ $d881613f2029ce0c$export$8728b60ea57bf43e
+} from "./chunk-MC2NFNB2.js";
+export {
+ $08bedc6ef0d1c66c$export$885fb96b850e8fbb as BotNotReadyError,
+ $08bedc6ef0d1c66c$export$4eda4fd287fbbca5 as ConfigUpdateError,
+ $08bedc6ef0d1c66c$export$c67992fa684a81a6 as ConnectionTimeoutError,
+ $4a333e41af7a850f$export$3cf39a62d076dd5c as LLMHelper,
+ $4a333e41af7a850f$export$441bcd2e10762760 as LLMMessageType,
+ $bff4129f8f902365$export$e9a960646cc432aa as MessageDispatcher,
+ $bff4129f8f902365$export$378529d7a8bead8b as RTVIActionRequest,
+ $74c1449bc91bda44$export$fa42a01c1d60f4a1 as RTVIClient,
+ $505461462111ea0b$export$23bc637255b2a471 as RTVIClientHelper,
+ $08bedc6ef0d1c66c$export$59b4786f333aac02 as RTVIError,
+ $cbe8e0de0049ed6e$export$6b4624d233c61fcb as RTVIEvent,
+ $bff4129f8f902365$export$69aa9ab0334b212 as RTVIMessage,
+ $bff4129f8f902365$export$38b3db05cbf0e240 as RTVIMessageType,
+ $bff4129f8f902365$export$28ad8d0d400d3e2d as RTVI_ACTION_TYPE,
+ $bff4129f8f902365$export$882b13c7fda338f5 as RTVI_MESSAGE_LABEL,
+ $08bedc6ef0d1c66c$export$e7544ab812238a61 as StartBotError,
+ $2665d8e6d1596258$export$86495b081fef8e52 as Transport,
+ $08bedc6ef0d1c66c$export$e0624a511a2c4e9 as TransportStartError,
+ $08bedc6ef0d1c66c$export$975d7330b0c579b7 as VoiceError,
+ $bff4129f8f902365$export$3336fb47fe34a146 as VoiceMessage,
+ $d881613f2029ce0c$export$8728b60ea57bf43e as httpActionGenerator
+};
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js.map b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js.map
new file mode 100644
index 000000000..98652118b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/.vite/deps/realtime-ai.js.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "sources": [],
+ "sourcesContent": [],
+ "mappings": "",
+ "names": []
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/LICENSE b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/LICENSE
new file mode 100644
index 000000000..f31575ec7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/README.md b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/README.md
new file mode 100644
index 000000000..2f3368ef5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/README.md
@@ -0,0 +1,19 @@
+# @babel/runtime
+
+> babel's modular runtime helpers
+
+See our website [@babel/runtime](https://babeljs.io/docs/babel-runtime) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/runtime
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/runtime
+```
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/AwaitValue.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/AwaitValue.js
new file mode 100644
index 000000000..52a7e69a5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/AwaitValue.js
@@ -0,0 +1,4 @@
+function _AwaitValue(t) {
+ this.wrapped = t;
+}
+module.exports = _AwaitValue, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/OverloadYield.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/OverloadYield.js
new file mode 100644
index 000000000..0eca88c7c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/OverloadYield.js
@@ -0,0 +1,4 @@
+function _OverloadYield(e, d) {
+ this.v = e, this.k = d;
+}
+module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js
new file mode 100644
index 000000000..0ff780eba
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js
@@ -0,0 +1,9 @@
+function _applyDecoratedDescriptor(i, e, r, n, l) {
+ var a = {};
+ return Object.keys(n).forEach(function (i) {
+ a[i] = n[i];
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) {
+ return n(i, e, r) || r;
+ }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;
+}
+module.exports = _applyDecoratedDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs.js
new file mode 100644
index 000000000..3770c5aee
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs.js
@@ -0,0 +1,236 @@
+var _typeof = require("./typeof.js")["default"];
+var setFunctionName = require("./setFunctionName.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function old_createMetadataMethodsForProperty(e, t, a, r) {
+ return {
+ getMetadata: function getMetadata(o) {
+ old_assertNotFinished(r, "getMetadata"), old_assertMetadataKey(o);
+ var i = e[o];
+ if (void 0 !== i) if (1 === t) {
+ var n = i["public"];
+ if (void 0 !== n) return n[a];
+ } else if (2 === t) {
+ var l = i["private"];
+ if (void 0 !== l) return l.get(a);
+ } else if (Object.hasOwnProperty.call(i, "constructor")) return i.constructor;
+ },
+ setMetadata: function setMetadata(o, i) {
+ old_assertNotFinished(r, "setMetadata"), old_assertMetadataKey(o);
+ var n = e[o];
+ if (void 0 === n && (n = e[o] = {}), 1 === t) {
+ var l = n["public"];
+ void 0 === l && (l = n["public"] = {}), l[a] = i;
+ } else if (2 === t) {
+ var s = n.priv;
+ void 0 === s && (s = n["private"] = new Map()), s.set(a, i);
+ } else n.constructor = i;
+ }
+ };
+}
+function old_convertMetadataMapToFinal(e, t) {
+ var a = e[Symbol.metadata || Symbol["for"]("Symbol.metadata")],
+ r = Object.getOwnPropertySymbols(t);
+ if (0 !== r.length) {
+ for (var o = 0; o < r.length; o++) {
+ var i = r[o],
+ n = t[i],
+ l = a ? a[i] : null,
+ s = n["public"],
+ c = l ? l["public"] : null;
+ s && c && Object.setPrototypeOf(s, c);
+ var d = n["private"];
+ if (d) {
+ var u = Array.from(d.values()),
+ f = l ? l["private"] : null;
+ f && (u = u.concat(f)), n["private"] = u;
+ }
+ l && Object.setPrototypeOf(n, l);
+ }
+ a && Object.setPrototypeOf(t, a), e[Symbol.metadata || Symbol["for"]("Symbol.metadata")] = t;
+ }
+}
+function old_createAddInitializerMethod(e, t) {
+ return function (a) {
+ old_assertNotFinished(t, "addInitializer"), old_assertCallable(a, "An initializer"), e.push(a);
+ };
+}
+function old_memberDec(e, t, a, r, o, i, n, l, s) {
+ var c;
+ switch (i) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var d,
+ u,
+ f = {
+ kind: c,
+ name: l ? "#" + t : toPropertyKey(t),
+ isStatic: n,
+ isPrivate: l
+ },
+ p = {
+ v: !1
+ };
+ if (0 !== i && (f.addInitializer = old_createAddInitializerMethod(o, p)), l) {
+ d = 2, u = Symbol(t);
+ var v = {};
+ 0 === i ? (v.get = a.get, v.set = a.set) : 2 === i ? v.get = function () {
+ return a.value;
+ } : (1 !== i && 3 !== i || (v.get = function () {
+ return a.get.call(this);
+ }), 1 !== i && 4 !== i || (v.set = function (e) {
+ a.set.call(this, e);
+ })), f.access = v;
+ } else d = 1, u = t;
+ try {
+ return e(s, Object.assign(f, old_createMetadataMethodsForProperty(r, d, u, p)));
+ } finally {
+ p.v = !0;
+ }
+}
+function old_assertNotFinished(e, t) {
+ if (e.v) throw Error("attempted to call " + t + " after decoration was finished");
+}
+function old_assertMetadataKey(e) {
+ if ("symbol" != _typeof(e)) throw new TypeError("Metadata keys must be symbols, received: " + e);
+}
+function old_assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+}
+function old_assertValidReturnValue(e, t) {
+ var a = _typeof(t);
+ if (1 === e) {
+ if ("object" !== a || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && old_assertCallable(t.get, "accessor.get"), void 0 !== t.set && old_assertCallable(t.set, "accessor.set"), void 0 !== t.init && old_assertCallable(t.init, "accessor.init"), void 0 !== t.initializer && old_assertCallable(t.initializer, "accessor.initializer");
+ } else if ("function" !== a) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+}
+function old_getInit(e) {
+ var t;
+ return null == (t = e.init) && (t = e.initializer) && void 0 !== console && console.warn(".initializer has been renamed to .init as of March 2022"), t;
+}
+function old_applyMemberDec(e, t, a, r, o, i, n, l, s) {
+ var c,
+ d,
+ u,
+ f,
+ p,
+ v,
+ y,
+ h = a[0];
+ if (n ? (0 === o || 1 === o ? (c = {
+ get: a[3],
+ set: a[4]
+ }, u = "get") : 3 === o ? (c = {
+ get: a[3]
+ }, u = "get") : 4 === o ? (c = {
+ set: a[3]
+ }, u = "set") : c = {
+ value: a[3]
+ }, 0 !== o && (1 === o && setFunctionName(a[4], "#" + r, "set"), setFunctionName(a[3], "#" + r, u))) : 0 !== o && (c = Object.getOwnPropertyDescriptor(t, r)), 1 === o ? f = {
+ get: c.get,
+ set: c.set
+ } : 2 === o ? f = c.value : 3 === o ? f = c.get : 4 === o && (f = c.set), "function" == typeof h) void 0 !== (p = old_memberDec(h, r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? d = p : 1 === o ? (d = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = {
+ get: v,
+ set: y
+ }) : f = p);else for (var m = h.length - 1; m >= 0; m--) {
+ var b;
+ void 0 !== (p = old_memberDec(h[m], r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? b = p : 1 === o ? (b = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = {
+ get: v,
+ set: y
+ }) : f = p, void 0 !== b && (void 0 === d ? d = b : "function" == typeof d ? d = [d, b] : d.push(b)));
+ }
+ if (0 === o || 1 === o) {
+ if (void 0 === d) d = function d(e, t) {
+ return t;
+ };else if ("function" != typeof d) {
+ var g = d;
+ d = function d(e, t) {
+ for (var a = t, r = 0; r < g.length; r++) a = g[r].call(e, a);
+ return a;
+ };
+ } else {
+ var _ = d;
+ d = function d(e, t) {
+ return _.call(e, t);
+ };
+ }
+ e.push(d);
+ }
+ 0 !== o && (1 === o ? (c.get = f.get, c.set = f.set) : 2 === o ? c.value = f : 3 === o ? c.get = f : 4 === o && (c.set = f), n ? 1 === o ? (e.push(function (e, t) {
+ return f.get.call(e, t);
+ }), e.push(function (e, t) {
+ return f.set.call(e, t);
+ })) : 2 === o ? e.push(f) : e.push(function (e, t) {
+ return f.call(e, t);
+ }) : Object.defineProperty(t, r, c));
+}
+function old_applyMemberDecs(e, t, a, r, o) {
+ for (var i, n, l = new Map(), s = new Map(), c = 0; c < o.length; c++) {
+ var d = o[c];
+ if (Array.isArray(d)) {
+ var u,
+ f,
+ p,
+ v = d[1],
+ y = d[2],
+ h = d.length > 3,
+ m = v >= 5;
+ if (m ? (u = t, f = r, 0 != (v -= 5) && (p = n = n || [])) : (u = t.prototype, f = a, 0 !== v && (p = i = i || [])), 0 !== v && !h) {
+ var b = m ? s : l,
+ g = b.get(y) || 0;
+ if (!0 === g || 3 === g && 4 !== v || 4 === g && 3 !== v) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + y);
+ !g && v > 2 ? b.set(y, v) : b.set(y, !0);
+ }
+ old_applyMemberDec(e, u, d, y, v, m, h, f, p);
+ }
+ }
+ old_pushInitializers(e, i), old_pushInitializers(e, n);
+}
+function old_pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var a = 0; a < t.length; a++) t[a].call(e);
+ return e;
+ });
+}
+function old_applyClassDecs(e, t, a, r) {
+ if (r.length > 0) {
+ for (var o = [], i = t, n = t.name, l = r.length - 1; l >= 0; l--) {
+ var s = {
+ v: !1
+ };
+ try {
+ var c = Object.assign({
+ kind: "class",
+ name: n,
+ addInitializer: old_createAddInitializerMethod(o, s)
+ }, old_createMetadataMethodsForProperty(a, 0, n, s)),
+ d = r[l](i, c);
+ } finally {
+ s.v = !0;
+ }
+ void 0 !== d && (old_assertValidReturnValue(10, d), i = d);
+ }
+ e.push(i, function () {
+ for (var e = 0; e < o.length; e++) o[e].call(i);
+ });
+ }
+}
+function applyDecs(e, t, a) {
+ var r = [],
+ o = {},
+ i = {};
+ return old_applyMemberDecs(r, e, i, o, t), old_convertMetadataMapToFinal(e.prototype, i), old_applyClassDecs(r, e, o, a), old_convertMetadataMapToFinal(e, o), r;
+}
+module.exports = applyDecs, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203.js
new file mode 100644
index 000000000..d3da33382
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203.js
@@ -0,0 +1,184 @@
+var _typeof = require("./typeof.js")["default"];
+function applyDecs2203Factory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function memberDec(e, t, r, a, n, i, s, o) {
+ var c;
+ switch (n) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var l,
+ u,
+ f = {
+ kind: c,
+ name: s ? "#" + t : t,
+ "static": i,
+ "private": s
+ },
+ p = {
+ v: !1
+ };
+ 0 !== n && (f.addInitializer = createAddInitializerMethod(a, p)), 0 === n ? s ? (l = r.get, u = r.set) : (l = function l() {
+ return this[t];
+ }, u = function u(e) {
+ this[t] = e;
+ }) : 2 === n ? l = function l() {
+ return r.value;
+ } : (1 !== n && 3 !== n || (l = function l() {
+ return r.get.call(this);
+ }), 1 !== n && 4 !== n || (u = function u(e) {
+ r.set.call(this, e);
+ })), f.access = l && u ? {
+ get: l,
+ set: u
+ } : l ? {
+ get: l
+ } : {
+ set: u
+ };
+ try {
+ return e(o, f);
+ } finally {
+ p.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function applyMemberDec(e, t, r, a, n, i, s, o) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h = r[0];
+ if (s ? c = 0 === n || 1 === n ? {
+ get: r[3],
+ set: r[4]
+ } : 3 === n ? {
+ get: r[3]
+ } : 4 === n ? {
+ set: r[3]
+ } : {
+ value: r[3]
+ } : 0 !== n && (c = Object.getOwnPropertyDescriptor(t, a)), 1 === n ? u = {
+ get: c.get,
+ set: c.set
+ } : 2 === n ? u = c.value : 3 === n ? u = c.get : 4 === n && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? l = f : 1 === n ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f);else for (var v = h.length - 1; v >= 0; v--) {
+ var g;
+ void 0 !== (f = memberDec(h[v], a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? g = f : 1 === n ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g)));
+ }
+ if (0 === n || 1 === n) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var y = l;
+ l = function l(e, t) {
+ for (var r = t, a = 0; a < y.length; a++) r = y[a].call(e, r);
+ return r;
+ };
+ } else {
+ var m = l;
+ l = function l(e, t) {
+ return m.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== n && (1 === n ? (c.get = u.get, c.set = u.set) : 2 === n ? c.value = u : 3 === n ? c.get = u : 4 === n && (c.set = u), s ? 1 === n ? (e.push(function (e, t) {
+ return u.get.call(e, t);
+ }), e.push(function (e, t) {
+ return u.set.call(e, t);
+ })) : 2 === n ? e.push(u) : e.push(function (e, t) {
+ return u.call(e, t);
+ }) : Object.defineProperty(t, a, c));
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r) {
+ var a = [];
+ return function (e, t, r) {
+ for (var a, n, i = new Map(), s = new Map(), o = 0; o < r.length; o++) {
+ var c = r[o];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = t, 0 != (f -= 5) && (u = n = n || [])) : (l = t.prototype, 0 !== f && (u = a = a || [])), 0 !== f && !d) {
+ var v = h ? s : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ !g && f > 2 ? v.set(p, f) : v.set(p, !0);
+ }
+ applyMemberDec(e, l, c, p, f, h, d, u);
+ }
+ }
+ pushInitializers(e, a), pushInitializers(e, n);
+ }(a, e, t), function (e, t, r) {
+ if (r.length > 0) {
+ for (var a = [], n = t, i = t.name, s = r.length - 1; s >= 0; s--) {
+ var o = {
+ v: !1
+ };
+ try {
+ var c = r[s](n, {
+ kind: "class",
+ name: i,
+ addInitializer: createAddInitializerMethod(a, o)
+ });
+ } finally {
+ o.v = !0;
+ }
+ void 0 !== c && (assertValidReturnValue(10, c), n = c);
+ }
+ e.push(n, function () {
+ for (var e = 0; e < a.length; e++) a[e].call(n);
+ });
+ }
+ }(a, e, r), a;
+ };
+}
+var applyDecs2203Impl;
+function applyDecs2203(e, t, r) {
+ return (applyDecs2203Impl = applyDecs2203Impl || applyDecs2203Factory())(e, t, r);
+}
+module.exports = applyDecs2203, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203R.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203R.js
new file mode 100644
index 000000000..725419b5b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2203R.js
@@ -0,0 +1,191 @@
+var _typeof = require("./typeof.js")["default"];
+var setFunctionName = require("./setFunctionName.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function applyDecs2203RFactory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function memberDec(e, t, r, n, a, i, o, s) {
+ var c;
+ switch (a) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var l,
+ u,
+ f = {
+ kind: c,
+ name: o ? "#" + t : toPropertyKey(t),
+ "static": i,
+ "private": o
+ },
+ p = {
+ v: !1
+ };
+ 0 !== a && (f.addInitializer = createAddInitializerMethod(n, p)), 0 === a ? o ? (l = r.get, u = r.set) : (l = function l() {
+ return this[t];
+ }, u = function u(e) {
+ this[t] = e;
+ }) : 2 === a ? l = function l() {
+ return r.value;
+ } : (1 !== a && 3 !== a || (l = function l() {
+ return r.get.call(this);
+ }), 1 !== a && 4 !== a || (u = function u(e) {
+ r.set.call(this, e);
+ })), f.access = l && u ? {
+ get: l,
+ set: u
+ } : l ? {
+ get: l
+ } : {
+ set: u
+ };
+ try {
+ return e(s, f);
+ } finally {
+ p.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function applyMemberDec(e, t, r, n, a, i, o, s) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h,
+ v = r[0];
+ if (o ? (0 === a || 1 === a ? (c = {
+ get: r[3],
+ set: r[4]
+ }, u = "get") : 3 === a ? (c = {
+ get: r[3]
+ }, u = "get") : 4 === a ? (c = {
+ set: r[3]
+ }, u = "set") : c = {
+ value: r[3]
+ }, 0 !== a && (1 === a && setFunctionName(r[4], "#" + n, "set"), setFunctionName(r[3], "#" + n, u))) : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? f = {
+ get: c.get,
+ set: c.set
+ } : 2 === a ? f = c.value : 3 === a ? f = c.get : 4 === a && (f = c.set), "function" == typeof v) void 0 !== (p = memberDec(v, n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? l = p : 1 === a ? (l = p.init, d = p.get || f.get, h = p.set || f.set, f = {
+ get: d,
+ set: h
+ }) : f = p);else for (var g = v.length - 1; g >= 0; g--) {
+ var y;
+ void 0 !== (p = memberDec(v[g], n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? y = p : 1 === a ? (y = p.init, d = p.get || f.get, h = p.set || f.set, f = {
+ get: d,
+ set: h
+ }) : f = p, void 0 !== y && (void 0 === l ? l = y : "function" == typeof l ? l = [l, y] : l.push(y)));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var m = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < m.length; n++) r = m[n].call(e, r);
+ return r;
+ };
+ } else {
+ var b = l;
+ l = function l(e, t) {
+ return b.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (c.get = f.get, c.set = f.set) : 2 === a ? c.value = f : 3 === a ? c.get = f : 4 === a && (c.set = f), o ? 1 === a ? (e.push(function (e, t) {
+ return f.get.call(e, t);
+ }), e.push(function (e, t) {
+ return f.set.call(e, t);
+ })) : 2 === a ? e.push(f) : e.push(function (e, t) {
+ return f.call(e, t);
+ }) : Object.defineProperty(t, n, c));
+ }
+ function applyMemberDecs(e, t) {
+ for (var r, n, a = [], i = new Map(), o = new Map(), s = 0; s < t.length; s++) {
+ var c = t[s];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = e, 0 != (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) {
+ var v = h ? o : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ !g && f > 2 ? v.set(p, f) : v.set(p, !0);
+ }
+ applyMemberDec(a, l, c, p, f, h, d, u);
+ }
+ }
+ return pushInitializers(a, r), pushInitializers(a, n), a;
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r) {
+ return {
+ e: applyMemberDecs(e, t),
+ get c() {
+ return function (e, t) {
+ if (t.length > 0) {
+ for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) {
+ var o = {
+ v: !1
+ };
+ try {
+ var s = t[i](n, {
+ kind: "class",
+ name: a,
+ addInitializer: createAddInitializerMethod(r, o)
+ });
+ } finally {
+ o.v = !0;
+ }
+ void 0 !== s && (assertValidReturnValue(10, s), n = s);
+ }
+ return [n, function () {
+ for (var e = 0; e < r.length; e++) r[e].call(n);
+ }];
+ }
+ }(e, r);
+ }
+ };
+ };
+}
+function applyDecs2203R(e, t, r) {
+ return (module.exports = applyDecs2203R = applyDecs2203RFactory(), module.exports.__esModule = true, module.exports["default"] = module.exports)(e, t, r);
+}
+module.exports = applyDecs2203R, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2301.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2301.js
new file mode 100644
index 000000000..fc2c13076
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2301.js
@@ -0,0 +1,222 @@
+var _typeof = require("./typeof.js")["default"];
+var checkInRHS = require("./checkInRHS.js");
+var setFunctionName = require("./setFunctionName.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function applyDecs2301Factory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function assertInstanceIfPrivate(e, t) {
+ if (!e(t)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ function memberDec(e, t, r, n, a, i, s, o, c) {
+ var u;
+ switch (a) {
+ case 1:
+ u = "accessor";
+ break;
+ case 2:
+ u = "method";
+ break;
+ case 3:
+ u = "getter";
+ break;
+ case 4:
+ u = "setter";
+ break;
+ default:
+ u = "field";
+ }
+ var l,
+ f,
+ p = {
+ kind: u,
+ name: s ? "#" + t : toPropertyKey(t),
+ "static": i,
+ "private": s
+ },
+ d = {
+ v: !1
+ };
+ if (0 !== a && (p.addInitializer = createAddInitializerMethod(n, d)), s || 0 !== a && 2 !== a) {
+ if (2 === a) l = function l(e) {
+ return assertInstanceIfPrivate(c, e), r.value;
+ };else {
+ var h = 0 === a || 1 === a;
+ (h || 3 === a) && (l = s ? function (e) {
+ return assertInstanceIfPrivate(c, e), r.get.call(e);
+ } : function (e) {
+ return r.get.call(e);
+ }), (h || 4 === a) && (f = s ? function (e, t) {
+ assertInstanceIfPrivate(c, e), r.set.call(e, t);
+ } : function (e, t) {
+ r.set.call(e, t);
+ });
+ }
+ } else l = function l(e) {
+ return e[t];
+ }, 0 === a && (f = function f(e, r) {
+ e[t] = r;
+ });
+ var v = s ? c.bind() : function (e) {
+ return t in e;
+ };
+ p.access = l && f ? {
+ get: l,
+ set: f,
+ has: v
+ } : l ? {
+ get: l,
+ has: v
+ } : {
+ set: f,
+ has: v
+ };
+ try {
+ return e(o, p);
+ } finally {
+ d.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function curryThis2(e) {
+ return function (t) {
+ e(this, t);
+ };
+ }
+ function applyMemberDec(e, t, r, n, a, i, s, o, c) {
+ var u,
+ l,
+ f,
+ p,
+ d,
+ h,
+ v,
+ y,
+ g = r[0];
+ if (s ? (0 === a || 1 === a ? (u = {
+ get: (d = r[3], function () {
+ return d(this);
+ }),
+ set: curryThis2(r[4])
+ }, f = "get") : 3 === a ? (u = {
+ get: r[3]
+ }, f = "get") : 4 === a ? (u = {
+ set: r[3]
+ }, f = "set") : u = {
+ value: r[3]
+ }, 0 !== a && (1 === a && setFunctionName(u.set, "#" + n, "set"), setFunctionName(u[f || "value"], "#" + n, f))) : 0 !== a && (u = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? p = {
+ get: u.get,
+ set: u.set
+ } : 2 === a ? p = u.value : 3 === a ? p = u.get : 4 === a && (p = u.set), "function" == typeof g) void 0 !== (h = memberDec(g, n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? l = h : 1 === a ? (l = h.init, v = h.get || p.get, y = h.set || p.set, p = {
+ get: v,
+ set: y
+ }) : p = h);else for (var m = g.length - 1; m >= 0; m--) {
+ var b;
+ void 0 !== (h = memberDec(g[m], n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? b = h : 1 === a ? (b = h.init, v = h.get || p.get, y = h.set || p.set, p = {
+ get: v,
+ set: y
+ }) : p = h, void 0 !== b && (void 0 === l ? l = b : "function" == typeof l ? l = [l, b] : l.push(b)));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var I = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < I.length; n++) r = I[n].call(e, r);
+ return r;
+ };
+ } else {
+ var w = l;
+ l = function l(e, t) {
+ return w.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (u.get = p.get, u.set = p.set) : 2 === a ? u.value = p : 3 === a ? u.get = p : 4 === a && (u.set = p), s ? 1 === a ? (e.push(function (e, t) {
+ return p.get.call(e, t);
+ }), e.push(function (e, t) {
+ return p.set.call(e, t);
+ })) : 2 === a ? e.push(p) : e.push(function (e, t) {
+ return p.call(e, t);
+ }) : Object.defineProperty(t, n, u));
+ }
+ function applyMemberDecs(e, t, r) {
+ for (var n, a, i, s = [], o = new Map(), c = new Map(), u = 0; u < t.length; u++) {
+ var l = t[u];
+ if (Array.isArray(l)) {
+ var f,
+ p,
+ d = l[1],
+ h = l[2],
+ v = l.length > 3,
+ y = d >= 5,
+ g = r;
+ if (y ? (f = e, 0 != (d -= 5) && (p = a = a || []), v && !i && (i = function i(t) {
+ return checkInRHS(t) === e;
+ }), g = i) : (f = e.prototype, 0 !== d && (p = n = n || [])), 0 !== d && !v) {
+ var m = y ? c : o,
+ b = m.get(h) || 0;
+ if (!0 === b || 3 === b && 4 !== d || 4 === b && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ !b && d > 2 ? m.set(h, d) : m.set(h, !0);
+ }
+ applyMemberDec(s, f, l, h, d, y, v, p, g);
+ }
+ }
+ return pushInitializers(s, n), pushInitializers(s, a), s;
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r, n) {
+ return {
+ e: applyMemberDecs(e, t, n),
+ get c() {
+ return function (e, t) {
+ if (t.length > 0) {
+ for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) {
+ var s = {
+ v: !1
+ };
+ try {
+ var o = t[i](n, {
+ kind: "class",
+ name: a,
+ addInitializer: createAddInitializerMethod(r, s)
+ });
+ } finally {
+ s.v = !0;
+ }
+ void 0 !== o && (assertValidReturnValue(10, o), n = o);
+ }
+ return [n, function () {
+ for (var e = 0; e < r.length; e++) r[e].call(n);
+ }];
+ }
+ }(e, r);
+ }
+ };
+ };
+}
+function applyDecs2301(e, t, r, n) {
+ return (module.exports = applyDecs2301 = applyDecs2301Factory(), module.exports.__esModule = true, module.exports["default"] = module.exports)(e, t, r, n);
+}
+module.exports = applyDecs2301, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2305.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2305.js
new file mode 100644
index 000000000..744c35212
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2305.js
@@ -0,0 +1,133 @@
+var _typeof = require("./typeof.js")["default"];
+var checkInRHS = require("./checkInRHS.js");
+var setFunctionName = require("./setFunctionName.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function applyDecs2305(e, t, r, n, o, a) {
+ function i(e, t, r) {
+ return function (n, o) {
+ return r && r(n), e[t].call(n, o);
+ };
+ }
+ function c(e, t) {
+ for (var r = 0; r < e.length; r++) e[r].call(t);
+ return t;
+ }
+ function s(e, t, r, n) {
+ if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined"));
+ return e;
+ }
+ function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) {
+ function m(e) {
+ if (!h(e)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ var y,
+ v = t[0],
+ g = t[3],
+ b = !u;
+ if (!b) {
+ r || Array.isArray(v) || (v = [v]);
+ var w = {},
+ S = [],
+ A = 3 === o ? "get" : 4 === o || d ? "set" : "value";
+ f ? (p || d ? w = {
+ get: setFunctionName(function () {
+ return g(this);
+ }, n, "get"),
+ set: function set(e) {
+ t[4](this, e);
+ }
+ } : w[A] = g, p || setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n));
+ }
+ for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) {
+ var D = v[j],
+ E = r ? v[j - 1] : void 0,
+ I = {},
+ O = {
+ kind: ["field", "accessor", "method", "getter", "setter", "class"][o],
+ name: n,
+ metadata: a,
+ addInitializer: function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ s(t, "An initializer", "be", !0), c.push(t);
+ }.bind(null, I)
+ };
+ try {
+ if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else {
+ var k, F;
+ O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) {
+ return m(e), w.value;
+ } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) {
+ return e[n];
+ }, (o < 2 || 4 === o) && (F = function F(e, t) {
+ e[n] = t;
+ }));
+ var N = O.access = {
+ has: f ? h.bind() : function (e) {
+ return n in e;
+ }
+ };
+ if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? {
+ get: w.get,
+ set: w.set
+ } : w[A], O), d) {
+ if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P);
+ }
+ } finally {
+ I.v = !0;
+ }
+ }
+ return (p || d) && u.push(function (e, t) {
+ for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t);
+ return t;
+ }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P;
+ }
+ function u(e, t) {
+ return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), {
+ configurable: !0,
+ enumerable: !0,
+ value: t
+ });
+ }
+ if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")];
+ var f = Object.create(null == l ? null : l),
+ p = function (e, t, r, n) {
+ var o,
+ a,
+ i = [],
+ s = function s(t) {
+ return checkInRHS(t) === e;
+ },
+ u = new Map();
+ function l(e) {
+ e && i.push(c.bind(null, e));
+ }
+ for (var f = 0; f < t.length; f++) {
+ var p = t[f];
+ if (Array.isArray(p)) {
+ var d = p[1],
+ h = p[2],
+ m = p.length > 3,
+ y = 16 & d,
+ v = !!(8 & d),
+ g = 0 == (d &= 7),
+ b = h + "/" + v;
+ if (!g && !m) {
+ var w = u.get(b);
+ if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ u.set(b, !(d > 2) || d);
+ }
+ applyDec(v ? e : e.prototype, p, y, m ? "#" + h : toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r);
+ }
+ }
+ return l(o), l(a), i;
+ }(e, t, o, f);
+ return r.length || u(e, f), {
+ e: p,
+ get c() {
+ var t = [];
+ return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)];
+ }
+ };
+}
+module.exports = applyDecs2305, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2311.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2311.js
new file mode 100644
index 000000000..5f00a3113
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/applyDecs2311.js
@@ -0,0 +1,124 @@
+var _typeof = require("./typeof.js")["default"];
+var checkInRHS = require("./checkInRHS.js");
+var setFunctionName = require("./setFunctionName.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function applyDecs2311(e, t, n, r, o, i) {
+ var a,
+ c,
+ u,
+ s,
+ f,
+ l,
+ p,
+ d = Symbol.metadata || Symbol["for"]("Symbol.metadata"),
+ m = Object.defineProperty,
+ h = Object.create,
+ y = [h(null), h(null)],
+ v = t.length;
+ function g(t, n, r) {
+ return function (o, i) {
+ n && (i = o, o = e);
+ for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);
+ return r ? i : o;
+ };
+ }
+ function b(e, t, n, r) {
+ if ("function" != typeof e && (r || void 0 !== e)) throw new TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined"));
+ return e;
+ }
+ function applyDec(e, t, n, r, o, i, u, s, f, l, p) {
+ function d(e) {
+ if (!p(e)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ var h = [].concat(t[0]),
+ v = t[3],
+ w = !u,
+ D = 1 === o,
+ S = 3 === o,
+ j = 4 === o,
+ E = 2 === o;
+ function I(t, n, r) {
+ return function (o, i) {
+ return n && (i = o, o = e), r && r(o), P[t].call(o, i);
+ };
+ }
+ if (!w) {
+ var P = {},
+ k = [],
+ F = S ? "get" : j || D ? "set" : "value";
+ if (f ? (l || D ? P = {
+ get: setFunctionName(function () {
+ return v(this);
+ }, r, "get"),
+ set: function set(e) {
+ t[4](this, e);
+ }
+ } : P[F] = v, l || setFunctionName(P[F], r, E ? "" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {
+ if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error("Decorating two elements with the same name (" + P[F].name + ") is not supported yet");
+ y[+s][r] = o < 3 ? 1 : o;
+ }
+ }
+ for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {
+ var T = b(h[O], "A decorator", "be", !0),
+ z = n ? h[O - 1] : void 0,
+ A = {},
+ H = {
+ kind: ["field", "accessor", "method", "getter", "setter", "class"][o],
+ name: r,
+ metadata: a,
+ addInitializer: function (e, t) {
+ if (e.v) throw new TypeError("attempted to call addInitializer after decoration was finished");
+ b(t, "An initializer", "be", !0), i.push(t);
+ }.bind(null, A)
+ };
+ if (w) c = T.call(z, N, H), A.v = 1, b(c, "class decorators", "return") && (N = c);else if (H["static"] = s, H["private"] = f, c = H.access = {
+ has: f ? p.bind() : function (e) {
+ return r in e;
+ }
+ }, j || (c.get = f ? E ? function (e) {
+ return d(e), P.value;
+ } : I("get", 0, d) : function (e) {
+ return e[r];
+ }), E || S || (c.set = f ? I("set", 0, d) : function (e, t) {
+ e[r] = t;
+ }), N = T.call(z, D ? {
+ get: P.get,
+ set: P.set
+ } : P[F], H), A.v = 1, D) {
+ if ("object" == _typeof(N) && N) (c = b(N.get, "accessor.get")) && (P.get = c), (c = b(N.set, "accessor.set")) && (P.set = c), (c = b(N.init, "accessor.init")) && k.unshift(c);else if (void 0 !== N) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined");
+ } else b(N, (l ? "field" : "method") + " decorators", "return") && (l ? k.unshift(N) : P[F] = N);
+ }
+ return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I("get", s), I("set", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;
+ }
+ function w(e) {
+ return m(e, d, {
+ configurable: !0,
+ enumerable: !0,
+ value: a
+ });
+ }
+ return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {
+ e && f.push(g(e));
+ }, p = function p(t, r) {
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i],
+ c = a[1],
+ l = 7 & c;
+ if ((8 & c) == t && !l == r) {
+ var p = a[2],
+ d = !!a[3],
+ m = 16 & c;
+ applyDec(t ? e : e.prototype, a, m, d ? "#" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {
+ return checkInRHS(t) === e;
+ } : o);
+ }
+ }
+ }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {
+ e: c,
+ get c() {
+ var n = [];
+ return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];
+ }
+ };
+}
+module.exports = applyDecs2311, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayLikeToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayLikeToArray.js
new file mode 100644
index 000000000..19787e319
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayLikeToArray.js
@@ -0,0 +1,6 @@
+function _arrayLikeToArray(r, a) {
+ (null == a || a > r.length) && (a = r.length);
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
+ return n;
+}
+module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithHoles.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithHoles.js
new file mode 100644
index 000000000..78bdd9319
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithHoles.js
@@ -0,0 +1,4 @@
+function _arrayWithHoles(r) {
+ if (Array.isArray(r)) return r;
+}
+module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js
new file mode 100644
index 000000000..42218f54a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js
@@ -0,0 +1,5 @@
+var arrayLikeToArray = require("./arrayLikeToArray.js");
+function _arrayWithoutHoles(r) {
+ if (Array.isArray(r)) return arrayLikeToArray(r);
+}
+module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertClassBrand.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertClassBrand.js
new file mode 100644
index 000000000..e63ed8f46
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertClassBrand.js
@@ -0,0 +1,5 @@
+function _assertClassBrand(e, t, n) {
+ if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
+ throw new TypeError("Private element is not present on this object");
+}
+module.exports = _assertClassBrand, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertThisInitialized.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertThisInitialized.js
new file mode 100644
index 000000000..02594fbe2
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/assertThisInitialized.js
@@ -0,0 +1,5 @@
+function _assertThisInitialized(e) {
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return e;
+}
+module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js
new file mode 100644
index 000000000..023568e08
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js
@@ -0,0 +1,24 @@
+var OverloadYield = require("./OverloadYield.js");
+function _asyncGeneratorDelegate(t) {
+ var e = {},
+ n = !1;
+ function pump(e, r) {
+ return n = !0, r = new Promise(function (n) {
+ n(t[e](r));
+ }), {
+ done: !1,
+ value: new OverloadYield(r, 1)
+ };
+ }
+ return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () {
+ return this;
+ }, e.next = function (t) {
+ return n ? (n = !1, t) : pump("next", t);
+ }, "function" == typeof t["throw"] && (e["throw"] = function (t) {
+ if (n) throw n = !1, t;
+ return pump("throw", t);
+ }), "function" == typeof t["return"] && (e["return"] = function (t) {
+ return n ? (n = !1, t) : pump("return", t);
+ }), e;
+}
+module.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncIterator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncIterator.js
new file mode 100644
index 000000000..9c0c95cfc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncIterator.js
@@ -0,0 +1,45 @@
+function _asyncIterator(r) {
+ var n,
+ t,
+ o,
+ e = 2;
+ for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {
+ if (t && null != (n = r[t])) return n.call(r);
+ if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));
+ t = "@@asyncIterator", o = "@@iterator";
+ }
+ throw new TypeError("Object is not async iterable");
+}
+function AsyncFromSyncIterator(r) {
+ function AsyncFromSyncIteratorContinuation(r) {
+ if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object."));
+ var n = r.done;
+ return Promise.resolve(r.value).then(function (r) {
+ return {
+ value: r,
+ done: n
+ };
+ });
+ }
+ return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {
+ this.s = r, this.n = r.next;
+ }, AsyncFromSyncIterator.prototype = {
+ s: null,
+ n: null,
+ next: function next() {
+ return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
+ },
+ "return": function _return(r) {
+ var n = this.s["return"];
+ return void 0 === n ? Promise.resolve({
+ value: r,
+ done: !0
+ }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
+ },
+ "throw": function _throw(r) {
+ var n = this.s["return"];
+ return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
+ }
+ }, new AsyncFromSyncIterator(r);
+}
+module.exports = _asyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncToGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncToGenerator.js
new file mode 100644
index 000000000..a080339bf
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/asyncToGenerator.js
@@ -0,0 +1,26 @@
+function asyncGeneratorStep(n, t, e, r, o, a, c) {
+ try {
+ var i = n[a](c),
+ u = i.value;
+ } catch (n) {
+ return void e(n);
+ }
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
+}
+function _asyncToGenerator(n) {
+ return function () {
+ var t = this,
+ e = arguments;
+ return new Promise(function (r, o) {
+ var a = n.apply(t, e);
+ function _next(n) {
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
+ }
+ function _throw(n) {
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
+ }
+ _next(void 0);
+ });
+ };
+}
+module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js
new file mode 100644
index 000000000..2d6fab916
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js
@@ -0,0 +1,5 @@
+var OverloadYield = require("./OverloadYield.js");
+function _awaitAsyncGenerator(e) {
+ return new OverloadYield(e, 0);
+}
+module.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/callSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/callSuper.js
new file mode 100644
index 000000000..38eaf7f8b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/callSuper.js
@@ -0,0 +1,7 @@
+var getPrototypeOf = require("./getPrototypeOf.js");
+var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
+var possibleConstructorReturn = require("./possibleConstructorReturn.js");
+function _callSuper(t, o, e) {
+ return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));
+}
+module.exports = _callSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkInRHS.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkInRHS.js
new file mode 100644
index 000000000..4eea13d92
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkInRHS.js
@@ -0,0 +1,6 @@
+var _typeof = require("./typeof.js")["default"];
+function _checkInRHS(e) {
+ if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null"));
+ return e;
+}
+module.exports = _checkInRHS, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js
new file mode 100644
index 000000000..33ad54c96
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js
@@ -0,0 +1,4 @@
+function _checkPrivateRedeclaration(e, t) {
+ if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
+}
+module.exports = _checkPrivateRedeclaration, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js
new file mode 100644
index 000000000..9998b8355
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js
@@ -0,0 +1,10 @@
+function _classApplyDescriptorDestructureSet(e, t) {
+ if (t.set) return "__destrObj" in t || (t.__destrObj = {
+ set value(r) {
+ t.set.call(e, r);
+ }
+ }), t.__destrObj;
+ if (!t.writable) throw new TypeError("attempted to set read only private field");
+ return t;
+}
+module.exports = _classApplyDescriptorDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js
new file mode 100644
index 000000000..ab6272454
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js
@@ -0,0 +1,4 @@
+function _classApplyDescriptorGet(e, t) {
+ return t.get ? t.get.call(e) : t.value;
+}
+module.exports = _classApplyDescriptorGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js
new file mode 100644
index 000000000..0975f95fb
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js
@@ -0,0 +1,7 @@
+function _classApplyDescriptorSet(e, t, l) {
+ if (t.set) t.set.call(e, l);else {
+ if (!t.writable) throw new TypeError("attempted to set read only private field");
+ t.value = l;
+ }
+}
+module.exports = _classApplyDescriptorSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCallCheck.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCallCheck.js
new file mode 100644
index 000000000..21b8390ff
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCallCheck.js
@@ -0,0 +1,4 @@
+function _classCallCheck(a, n) {
+ if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
+}
+module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js
new file mode 100644
index 000000000..7520f74dc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classCheckPrivateStaticAccess(s, a, r) {
+ return assertClassBrand(a, s, r);
+}
+module.exports = _classCheckPrivateStaticAccess, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js
new file mode 100644
index 000000000..7f70395ea
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js
@@ -0,0 +1,4 @@
+function _classCheckPrivateStaticFieldDescriptor(t, e) {
+ if (void 0 === t) throw new TypeError("attempted to " + e + " private static field before its declaration");
+}
+module.exports = _classCheckPrivateStaticFieldDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js
new file mode 100644
index 000000000..be855be98
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js
@@ -0,0 +1,5 @@
+var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js");
+function _classExtractFieldDescriptor(e, t) {
+ return classPrivateFieldGet2(t, e);
+}
+module.exports = _classExtractFieldDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classNameTDZError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classNameTDZError.js
new file mode 100644
index 000000000..8141ff89c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classNameTDZError.js
@@ -0,0 +1,4 @@
+function _classNameTDZError(e) {
+ throw new ReferenceError('Class "' + e + '" cannot be referenced in computed property keys.');
+}
+module.exports = _classNameTDZError, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js
new file mode 100644
index 000000000..97c764d00
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorDestructureSet = require("./classApplyDescriptorDestructureSet.js");
+var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js");
+function _classPrivateFieldDestructureSet(e, t) {
+ var r = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorDestructureSet(e, r);
+}
+module.exports = _classPrivateFieldDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js
new file mode 100644
index 000000000..bbee142a3
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorGet = require("./classApplyDescriptorGet.js");
+var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js");
+function _classPrivateFieldGet(e, t) {
+ var r = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorGet(e, r);
+}
+module.exports = _classPrivateFieldGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js
new file mode 100644
index 000000000..d4c271c71
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classPrivateFieldGet2(s, a) {
+ return s.get(assertClassBrand(s, a));
+}
+module.exports = _classPrivateFieldGet2, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js
new file mode 100644
index 000000000..a290c19a2
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js
@@ -0,0 +1,5 @@
+var checkPrivateRedeclaration = require("./checkPrivateRedeclaration.js");
+function _classPrivateFieldInitSpec(e, t, a) {
+ checkPrivateRedeclaration(e, t), t.set(e, a);
+}
+module.exports = _classPrivateFieldInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js
new file mode 100644
index 000000000..f9e46f267
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js
@@ -0,0 +1,5 @@
+function _classPrivateFieldBase(e, t) {
+ if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance");
+ return e;
+}
+module.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js
new file mode 100644
index 000000000..5dc687fe7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js
@@ -0,0 +1,5 @@
+var id = 0;
+function _classPrivateFieldKey(e) {
+ return "__private_" + id++ + "_" + e;
+}
+module.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js
new file mode 100644
index 000000000..f3746e742
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorSet = require("./classApplyDescriptorSet.js");
+var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js");
+function _classPrivateFieldSet(e, t, r) {
+ var s = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorSet(e, s, r), r;
+}
+module.exports = _classPrivateFieldSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js
new file mode 100644
index 000000000..25c60caaa
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classPrivateFieldSet2(s, a, r) {
+ return s.set(assertClassBrand(s, a), r), r;
+}
+module.exports = _classPrivateFieldSet2, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateGetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateGetter.js
new file mode 100644
index 000000000..1b3cf30a5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateGetter.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classPrivateGetter(s, r, a) {
+ return a(assertClassBrand(s, r));
+}
+module.exports = _classPrivateGetter, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js
new file mode 100644
index 000000000..e4af38785
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classPrivateMethodGet(s, a, r) {
+ return assertClassBrand(a, s), r;
+}
+module.exports = _classPrivateMethodGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js
new file mode 100644
index 000000000..821c8ed00
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js
@@ -0,0 +1,5 @@
+var checkPrivateRedeclaration = require("./checkPrivateRedeclaration.js");
+function _classPrivateMethodInitSpec(e, a) {
+ checkPrivateRedeclaration(e, a), a.add(e);
+}
+module.exports = _classPrivateMethodInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js
new file mode 100644
index 000000000..a44fd7853
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js
@@ -0,0 +1,4 @@
+function _classPrivateMethodSet() {
+ throw new TypeError("attempted to reassign private method");
+}
+module.exports = _classPrivateMethodSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateSetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateSetter.js
new file mode 100644
index 000000000..494f81f0e
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classPrivateSetter.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classPrivateSetter(s, r, a, t) {
+ return r(assertClassBrand(s, a), t), t;
+}
+module.exports = _classPrivateSetter, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js
new file mode 100644
index 000000000..2bb6e8b1c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorDestructureSet = require("./classApplyDescriptorDestructureSet.js");
+var assertClassBrand = require("./assertClassBrand.js");
+var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js");
+function _classStaticPrivateFieldDestructureSet(t, r, s) {
+ return assertClassBrand(r, t), classCheckPrivateStaticFieldDescriptor(s, "set"), classApplyDescriptorDestructureSet(t, s);
+}
+module.exports = _classStaticPrivateFieldDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js
new file mode 100644
index 000000000..eb2365f3d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorGet = require("./classApplyDescriptorGet.js");
+var assertClassBrand = require("./assertClassBrand.js");
+var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js");
+function _classStaticPrivateFieldSpecGet(t, s, r) {
+ return assertClassBrand(s, t), classCheckPrivateStaticFieldDescriptor(r, "get"), classApplyDescriptorGet(t, r);
+}
+module.exports = _classStaticPrivateFieldSpecGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js
new file mode 100644
index 000000000..7783cd8dd
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js
@@ -0,0 +1,7 @@
+var classApplyDescriptorSet = require("./classApplyDescriptorSet.js");
+var assertClassBrand = require("./assertClassBrand.js");
+var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js");
+function _classStaticPrivateFieldSpecSet(s, t, r, e) {
+ return assertClassBrand(t, s), classCheckPrivateStaticFieldDescriptor(r, "set"), classApplyDescriptorSet(s, r, e), e;
+}
+module.exports = _classStaticPrivateFieldSpecSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js
new file mode 100644
index 000000000..c895be5c6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js
@@ -0,0 +1,5 @@
+var assertClassBrand = require("./assertClassBrand.js");
+function _classStaticPrivateMethodGet(s, a, t) {
+ return assertClassBrand(a, s), t;
+}
+module.exports = _classStaticPrivateMethodGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js
new file mode 100644
index 000000000..72560e660
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js
@@ -0,0 +1,4 @@
+function _classStaticPrivateMethodSet() {
+ throw new TypeError("attempted to set read only static private field");
+}
+module.exports = _classStaticPrivateMethodSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/construct.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/construct.js
new file mode 100644
index 000000000..aee8e7044
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/construct.js
@@ -0,0 +1,10 @@
+var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
+var setPrototypeOf = require("./setPrototypeOf.js");
+function _construct(t, e, r) {
+ if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
+ var o = [null];
+ o.push.apply(o, e);
+ var p = new (t.bind.apply(t, o))();
+ return r && setPrototypeOf(p, r.prototype), p;
+}
+module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createClass.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createClass.js
new file mode 100644
index 000000000..8757f9ee8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createClass.js
@@ -0,0 +1,13 @@
+var toPropertyKey = require("./toPropertyKey.js");
+function _defineProperties(e, r) {
+ for (var t = 0; t < r.length; t++) {
+ var o = r[t];
+ o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
+ }
+}
+function _createClass(e, r, t) {
+ return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
+ writable: !1
+ }), e;
+}
+module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
new file mode 100644
index 000000000..277830792
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
@@ -0,0 +1,50 @@
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+function _createForOfIteratorHelper(r, e) {
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (!t) {
+ if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
+ t && (r = t);
+ var _n = 0,
+ F = function F() {};
+ return {
+ s: F,
+ n: function n() {
+ return _n >= r.length ? {
+ done: !0
+ } : {
+ done: !1,
+ value: r[_n++]
+ };
+ },
+ e: function e(r) {
+ throw r;
+ },
+ f: F
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o,
+ a = !0,
+ u = !1;
+ return {
+ s: function s() {
+ t = t.call(r);
+ },
+ n: function n() {
+ var r = t.next();
+ return a = r.done, r;
+ },
+ e: function e(r) {
+ u = !0, o = r;
+ },
+ f: function f() {
+ try {
+ a || null == t["return"] || t["return"]();
+ } finally {
+ if (u) throw o;
+ }
+ }
+ };
+}
+module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js
new file mode 100644
index 000000000..bc81b1cdd
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js
@@ -0,0 +1,19 @@
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+function _createForOfIteratorHelperLoose(r, e) {
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (t) return (t = t.call(r)).next.bind(t);
+ if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
+ t && (r = t);
+ var o = 0;
+ return function () {
+ return o >= r.length ? {
+ done: !0
+ } : {
+ done: !1,
+ value: r[o++]
+ };
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+module.exports = _createForOfIteratorHelperLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createSuper.js
new file mode 100644
index 000000000..b1869e61b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/createSuper.js
@@ -0,0 +1,16 @@
+var getPrototypeOf = require("./getPrototypeOf.js");
+var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
+var possibleConstructorReturn = require("./possibleConstructorReturn.js");
+function _createSuper(t) {
+ var r = isNativeReflectConstruct();
+ return function () {
+ var e,
+ o = getPrototypeOf(t);
+ if (r) {
+ var s = getPrototypeOf(this).constructor;
+ e = Reflect.construct(o, arguments, s);
+ } else e = o.apply(this, arguments);
+ return possibleConstructorReturn(this, e);
+ };
+}
+module.exports = _createSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/decorate.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/decorate.js
new file mode 100644
index 000000000..bc22acf4c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/decorate.js
@@ -0,0 +1,250 @@
+var toArray = require("./toArray.js");
+var toPropertyKey = require("./toPropertyKey.js");
+function _decorate(e, r, t, i) {
+ var o = _getDecoratorsApi();
+ if (i) for (var n = 0; n < i.length; n++) o = i[n](o);
+ var s = r(function (e) {
+ o.initializeInstanceElements(e, a.elements);
+ }, t),
+ a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e);
+ return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers);
+}
+function _getDecoratorsApi() {
+ _getDecoratorsApi = function _getDecoratorsApi() {
+ return e;
+ };
+ var e = {
+ elementsDefinitionOrder: [["method"], ["field"]],
+ initializeInstanceElements: function initializeInstanceElements(e, r) {
+ ["method", "field"].forEach(function (t) {
+ r.forEach(function (r) {
+ r.kind === t && "own" === r.placement && this.defineClassElement(e, r);
+ }, this);
+ }, this);
+ },
+ initializeClassElements: function initializeClassElements(e, r) {
+ var t = e.prototype;
+ ["method", "field"].forEach(function (i) {
+ r.forEach(function (r) {
+ var o = r.placement;
+ if (r.kind === i && ("static" === o || "prototype" === o)) {
+ var n = "static" === o ? e : t;
+ this.defineClassElement(n, r);
+ }
+ }, this);
+ }, this);
+ },
+ defineClassElement: function defineClassElement(e, r) {
+ var t = r.descriptor;
+ if ("field" === r.kind) {
+ var i = r.initializer;
+ t = {
+ enumerable: t.enumerable,
+ writable: t.writable,
+ configurable: t.configurable,
+ value: void 0 === i ? void 0 : i.call(e)
+ };
+ }
+ Object.defineProperty(e, r.key, t);
+ },
+ decorateClass: function decorateClass(e, r) {
+ var t = [],
+ i = [],
+ o = {
+ "static": [],
+ prototype: [],
+ own: []
+ };
+ if (e.forEach(function (e) {
+ this.addElementPlacement(e, o);
+ }, this), e.forEach(function (e) {
+ if (!_hasDecorators(e)) return t.push(e);
+ var r = this.decorateElement(e, o);
+ t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers);
+ }, this), !r) return {
+ elements: t,
+ finishers: i
+ };
+ var n = this.decorateConstructor(t, r);
+ return i.push.apply(i, n.finishers), n.finishers = i, n;
+ },
+ addElementPlacement: function addElementPlacement(e, r, t) {
+ var i = r[e.placement];
+ if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")");
+ i.push(e.key);
+ },
+ decorateElement: function decorateElement(e, r) {
+ for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) {
+ var s = r[e.placement];
+ s.splice(s.indexOf(e.key), 1);
+ var a = this.fromElementDescriptor(e),
+ l = this.toElementFinisherExtras((0, o[n])(a) || a);
+ e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher);
+ var c = l.extras;
+ if (c) {
+ for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r);
+ t.push.apply(t, c);
+ }
+ }
+ return {
+ element: e,
+ finishers: i,
+ extras: t
+ };
+ },
+ decorateConstructor: function decorateConstructor(e, r) {
+ for (var t = [], i = r.length - 1; i >= 0; i--) {
+ var o = this.fromClassDescriptor(e),
+ n = this.toClassDescriptor((0, r[i])(o) || o);
+ if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) {
+ e = n.elements;
+ for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")");
+ }
+ }
+ return {
+ elements: e,
+ finishers: t
+ };
+ },
+ fromElementDescriptor: function fromElementDescriptor(e) {
+ var r = {
+ kind: e.kind,
+ key: e.key,
+ placement: e.placement,
+ descriptor: e.descriptor
+ };
+ return Object.defineProperty(r, Symbol.toStringTag, {
+ value: "Descriptor",
+ configurable: !0
+ }), "field" === e.kind && (r.initializer = e.initializer), r;
+ },
+ toElementDescriptors: function toElementDescriptors(e) {
+ if (void 0 !== e) return toArray(e).map(function (e) {
+ var r = this.toElementDescriptor(e);
+ return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r;
+ }, this);
+ },
+ toElementDescriptor: function toElementDescriptor(e) {
+ var r = e.kind + "";
+ if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"');
+ var t = toPropertyKey(e.key),
+ i = e.placement + "";
+ if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"');
+ var o = e.descriptor;
+ this.disallowProperty(e, "elements", "An element descriptor");
+ var n = {
+ kind: r,
+ key: t,
+ placement: i,
+ descriptor: Object.assign({}, o)
+ };
+ return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n;
+ },
+ toElementFinisherExtras: function toElementFinisherExtras(e) {
+ return {
+ element: this.toElementDescriptor(e),
+ finisher: _optionalCallableProperty(e, "finisher"),
+ extras: this.toElementDescriptors(e.extras)
+ };
+ },
+ fromClassDescriptor: function fromClassDescriptor(e) {
+ var r = {
+ kind: "class",
+ elements: e.map(this.fromElementDescriptor, this)
+ };
+ return Object.defineProperty(r, Symbol.toStringTag, {
+ value: "Descriptor",
+ configurable: !0
+ }), r;
+ },
+ toClassDescriptor: function toClassDescriptor(e) {
+ var r = e.kind + "";
+ if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"');
+ this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor");
+ var t = _optionalCallableProperty(e, "finisher");
+ return {
+ elements: this.toElementDescriptors(e.elements),
+ finisher: t
+ };
+ },
+ runClassFinishers: function runClassFinishers(e, r) {
+ for (var t = 0; t < r.length; t++) {
+ var i = (0, r[t])(e);
+ if (void 0 !== i) {
+ if ("function" != typeof i) throw new TypeError("Finishers must return a constructor.");
+ e = i;
+ }
+ }
+ return e;
+ },
+ disallowProperty: function disallowProperty(e, r, t) {
+ if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property.");
+ }
+ };
+ return e;
+}
+function _createElementDescriptor(e) {
+ var r,
+ t = toPropertyKey(e.key);
+ "method" === e.kind ? r = {
+ value: e.value,
+ writable: !0,
+ configurable: !0,
+ enumerable: !1
+ } : "get" === e.kind ? r = {
+ get: e.value,
+ configurable: !0,
+ enumerable: !1
+ } : "set" === e.kind ? r = {
+ set: e.value,
+ configurable: !0,
+ enumerable: !1
+ } : "field" === e.kind && (r = {
+ configurable: !0,
+ writable: !0,
+ enumerable: !0
+ });
+ var i = {
+ kind: "field" === e.kind ? "field" : "method",
+ key: t,
+ placement: e["static"] ? "static" : "field" === e.kind ? "own" : "prototype",
+ descriptor: r
+ };
+ return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i;
+}
+function _coalesceGetterSetter(e, r) {
+ void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set;
+}
+function _coalesceClassElements(e) {
+ for (var r = [], isSameElement = function isSameElement(e) {
+ return "method" === e.kind && e.key === o.key && e.placement === o.placement;
+ }, t = 0; t < e.length; t++) {
+ var i,
+ o = e[t];
+ if ("method" === o.kind && (i = r.find(isSameElement))) {
+ if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) {
+ if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated.");
+ i.descriptor = o.descriptor;
+ } else {
+ if (_hasDecorators(o)) {
+ if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ").");
+ i.decorators = o.decorators;
+ }
+ _coalesceGetterSetter(o, i);
+ }
+ } else r.push(o);
+ }
+ return r;
+}
+function _hasDecorators(e) {
+ return e.decorators && e.decorators.length;
+}
+function _isDataDescriptor(e) {
+ return void 0 !== e && !(void 0 === e.value && void 0 === e.writable);
+}
+function _optionalCallableProperty(e, r) {
+ var t = e[r];
+ if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function");
+ return t;
+}
+module.exports = _decorate, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defaults.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defaults.js
new file mode 100644
index 000000000..dfdbbb03a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defaults.js
@@ -0,0 +1,9 @@
+function _defaults(e, r) {
+ for (var t = Object.getOwnPropertyNames(r), o = 0; o < t.length; o++) {
+ var n = t[o],
+ a = Object.getOwnPropertyDescriptor(r, n);
+ a && a.configurable && void 0 === e[n] && Object.defineProperty(e, n, a);
+ }
+ return e;
+}
+module.exports = _defaults, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineAccessor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineAccessor.js
new file mode 100644
index 000000000..dc065f01a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineAccessor.js
@@ -0,0 +1,8 @@
+function _defineAccessor(e, r, n, t) {
+ var c = {
+ configurable: !0,
+ enumerable: !0
+ };
+ return c[e] = t, Object.defineProperty(r, n, c);
+}
+module.exports = _defineAccessor, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js
new file mode 100644
index 000000000..ab9f43c1b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js
@@ -0,0 +1,12 @@
+function _defineEnumerableProperties(e, r) {
+ for (var t in r) {
+ var n = r[t];
+ n.configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, t, n);
+ }
+ if (Object.getOwnPropertySymbols) for (var a = Object.getOwnPropertySymbols(r), b = 0; b < a.length; b++) {
+ var i = a[b];
+ (n = r[i]).configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, i, n);
+ }
+ return e;
+}
+module.exports = _defineEnumerableProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineProperty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineProperty.js
new file mode 100644
index 000000000..2c2ff1e98
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/defineProperty.js
@@ -0,0 +1,10 @@
+var toPropertyKey = require("./toPropertyKey.js");
+function _defineProperty(e, r, t) {
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
+ value: t,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[r] = t, e;
+}
+module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/dispose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/dispose.js
new file mode 100644
index 000000000..c20193ca2
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/dispose.js
@@ -0,0 +1,28 @@
+function dispose_SuppressedError(r, e) {
+ return "undefined" != typeof SuppressedError ? dispose_SuppressedError = SuppressedError : (dispose_SuppressedError = function dispose_SuppressedError(r, e) {
+ this.suppressed = e, this.error = r, this.stack = Error().stack;
+ }, dispose_SuppressedError.prototype = Object.create(Error.prototype, {
+ constructor: {
+ value: dispose_SuppressedError,
+ writable: !0,
+ configurable: !0
+ }
+ })), new dispose_SuppressedError(r, e);
+}
+function _dispose(r, e, s) {
+ function next() {
+ for (; r.length > 0;) try {
+ var o = r.pop(),
+ p = o.d.call(o.v);
+ if (o.a) return Promise.resolve(p).then(next, err);
+ } catch (r) {
+ return err(r);
+ }
+ if (s) throw e;
+ }
+ function err(r) {
+ return e = s ? new dispose_SuppressedError(e, r) : r, s = !0, next();
+ }
+ return next();
+}
+module.exports = _dispose, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/AwaitValue.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/AwaitValue.js
new file mode 100644
index 000000000..6f210c9ce
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/AwaitValue.js
@@ -0,0 +1,4 @@
+function _AwaitValue(t) {
+ this.wrapped = t;
+}
+export { _AwaitValue as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/OverloadYield.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/OverloadYield.js
new file mode 100644
index 000000000..d7753a669
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/OverloadYield.js
@@ -0,0 +1,4 @@
+function _OverloadYield(e, d) {
+ this.v = e, this.k = d;
+}
+export { _OverloadYield as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js
new file mode 100644
index 000000000..0f33483df
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js
@@ -0,0 +1,9 @@
+function _applyDecoratedDescriptor(i, e, r, n, l) {
+ var a = {};
+ return Object.keys(n).forEach(function (i) {
+ a[i] = n[i];
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) {
+ return n(i, e, r) || r;
+ }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;
+}
+export { _applyDecoratedDescriptor as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs.js
new file mode 100644
index 000000000..2b75dfd7a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs.js
@@ -0,0 +1,236 @@
+import _typeof from "./typeof.js";
+import setFunctionName from "./setFunctionName.js";
+import toPropertyKey from "./toPropertyKey.js";
+function old_createMetadataMethodsForProperty(e, t, a, r) {
+ return {
+ getMetadata: function getMetadata(o) {
+ old_assertNotFinished(r, "getMetadata"), old_assertMetadataKey(o);
+ var i = e[o];
+ if (void 0 !== i) if (1 === t) {
+ var n = i["public"];
+ if (void 0 !== n) return n[a];
+ } else if (2 === t) {
+ var l = i["private"];
+ if (void 0 !== l) return l.get(a);
+ } else if (Object.hasOwnProperty.call(i, "constructor")) return i.constructor;
+ },
+ setMetadata: function setMetadata(o, i) {
+ old_assertNotFinished(r, "setMetadata"), old_assertMetadataKey(o);
+ var n = e[o];
+ if (void 0 === n && (n = e[o] = {}), 1 === t) {
+ var l = n["public"];
+ void 0 === l && (l = n["public"] = {}), l[a] = i;
+ } else if (2 === t) {
+ var s = n.priv;
+ void 0 === s && (s = n["private"] = new Map()), s.set(a, i);
+ } else n.constructor = i;
+ }
+ };
+}
+function old_convertMetadataMapToFinal(e, t) {
+ var a = e[Symbol.metadata || Symbol["for"]("Symbol.metadata")],
+ r = Object.getOwnPropertySymbols(t);
+ if (0 !== r.length) {
+ for (var o = 0; o < r.length; o++) {
+ var i = r[o],
+ n = t[i],
+ l = a ? a[i] : null,
+ s = n["public"],
+ c = l ? l["public"] : null;
+ s && c && Object.setPrototypeOf(s, c);
+ var d = n["private"];
+ if (d) {
+ var u = Array.from(d.values()),
+ f = l ? l["private"] : null;
+ f && (u = u.concat(f)), n["private"] = u;
+ }
+ l && Object.setPrototypeOf(n, l);
+ }
+ a && Object.setPrototypeOf(t, a), e[Symbol.metadata || Symbol["for"]("Symbol.metadata")] = t;
+ }
+}
+function old_createAddInitializerMethod(e, t) {
+ return function (a) {
+ old_assertNotFinished(t, "addInitializer"), old_assertCallable(a, "An initializer"), e.push(a);
+ };
+}
+function old_memberDec(e, t, a, r, o, i, n, l, s) {
+ var c;
+ switch (i) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var d,
+ u,
+ f = {
+ kind: c,
+ name: l ? "#" + t : toPropertyKey(t),
+ isStatic: n,
+ isPrivate: l
+ },
+ p = {
+ v: !1
+ };
+ if (0 !== i && (f.addInitializer = old_createAddInitializerMethod(o, p)), l) {
+ d = 2, u = Symbol(t);
+ var v = {};
+ 0 === i ? (v.get = a.get, v.set = a.set) : 2 === i ? v.get = function () {
+ return a.value;
+ } : (1 !== i && 3 !== i || (v.get = function () {
+ return a.get.call(this);
+ }), 1 !== i && 4 !== i || (v.set = function (e) {
+ a.set.call(this, e);
+ })), f.access = v;
+ } else d = 1, u = t;
+ try {
+ return e(s, Object.assign(f, old_createMetadataMethodsForProperty(r, d, u, p)));
+ } finally {
+ p.v = !0;
+ }
+}
+function old_assertNotFinished(e, t) {
+ if (e.v) throw Error("attempted to call " + t + " after decoration was finished");
+}
+function old_assertMetadataKey(e) {
+ if ("symbol" != _typeof(e)) throw new TypeError("Metadata keys must be symbols, received: " + e);
+}
+function old_assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+}
+function old_assertValidReturnValue(e, t) {
+ var a = _typeof(t);
+ if (1 === e) {
+ if ("object" !== a || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && old_assertCallable(t.get, "accessor.get"), void 0 !== t.set && old_assertCallable(t.set, "accessor.set"), void 0 !== t.init && old_assertCallable(t.init, "accessor.init"), void 0 !== t.initializer && old_assertCallable(t.initializer, "accessor.initializer");
+ } else if ("function" !== a) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+}
+function old_getInit(e) {
+ var t;
+ return null == (t = e.init) && (t = e.initializer) && void 0 !== console && console.warn(".initializer has been renamed to .init as of March 2022"), t;
+}
+function old_applyMemberDec(e, t, a, r, o, i, n, l, s) {
+ var c,
+ d,
+ u,
+ f,
+ p,
+ v,
+ y,
+ h = a[0];
+ if (n ? (0 === o || 1 === o ? (c = {
+ get: a[3],
+ set: a[4]
+ }, u = "get") : 3 === o ? (c = {
+ get: a[3]
+ }, u = "get") : 4 === o ? (c = {
+ set: a[3]
+ }, u = "set") : c = {
+ value: a[3]
+ }, 0 !== o && (1 === o && setFunctionName(a[4], "#" + r, "set"), setFunctionName(a[3], "#" + r, u))) : 0 !== o && (c = Object.getOwnPropertyDescriptor(t, r)), 1 === o ? f = {
+ get: c.get,
+ set: c.set
+ } : 2 === o ? f = c.value : 3 === o ? f = c.get : 4 === o && (f = c.set), "function" == typeof h) void 0 !== (p = old_memberDec(h, r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? d = p : 1 === o ? (d = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = {
+ get: v,
+ set: y
+ }) : f = p);else for (var m = h.length - 1; m >= 0; m--) {
+ var b;
+ void 0 !== (p = old_memberDec(h[m], r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? b = p : 1 === o ? (b = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = {
+ get: v,
+ set: y
+ }) : f = p, void 0 !== b && (void 0 === d ? d = b : "function" == typeof d ? d = [d, b] : d.push(b)));
+ }
+ if (0 === o || 1 === o) {
+ if (void 0 === d) d = function d(e, t) {
+ return t;
+ };else if ("function" != typeof d) {
+ var g = d;
+ d = function d(e, t) {
+ for (var a = t, r = 0; r < g.length; r++) a = g[r].call(e, a);
+ return a;
+ };
+ } else {
+ var _ = d;
+ d = function d(e, t) {
+ return _.call(e, t);
+ };
+ }
+ e.push(d);
+ }
+ 0 !== o && (1 === o ? (c.get = f.get, c.set = f.set) : 2 === o ? c.value = f : 3 === o ? c.get = f : 4 === o && (c.set = f), n ? 1 === o ? (e.push(function (e, t) {
+ return f.get.call(e, t);
+ }), e.push(function (e, t) {
+ return f.set.call(e, t);
+ })) : 2 === o ? e.push(f) : e.push(function (e, t) {
+ return f.call(e, t);
+ }) : Object.defineProperty(t, r, c));
+}
+function old_applyMemberDecs(e, t, a, r, o) {
+ for (var i, n, l = new Map(), s = new Map(), c = 0; c < o.length; c++) {
+ var d = o[c];
+ if (Array.isArray(d)) {
+ var u,
+ f,
+ p,
+ v = d[1],
+ y = d[2],
+ h = d.length > 3,
+ m = v >= 5;
+ if (m ? (u = t, f = r, 0 != (v -= 5) && (p = n = n || [])) : (u = t.prototype, f = a, 0 !== v && (p = i = i || [])), 0 !== v && !h) {
+ var b = m ? s : l,
+ g = b.get(y) || 0;
+ if (!0 === g || 3 === g && 4 !== v || 4 === g && 3 !== v) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + y);
+ !g && v > 2 ? b.set(y, v) : b.set(y, !0);
+ }
+ old_applyMemberDec(e, u, d, y, v, m, h, f, p);
+ }
+ }
+ old_pushInitializers(e, i), old_pushInitializers(e, n);
+}
+function old_pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var a = 0; a < t.length; a++) t[a].call(e);
+ return e;
+ });
+}
+function old_applyClassDecs(e, t, a, r) {
+ if (r.length > 0) {
+ for (var o = [], i = t, n = t.name, l = r.length - 1; l >= 0; l--) {
+ var s = {
+ v: !1
+ };
+ try {
+ var c = Object.assign({
+ kind: "class",
+ name: n,
+ addInitializer: old_createAddInitializerMethod(o, s)
+ }, old_createMetadataMethodsForProperty(a, 0, n, s)),
+ d = r[l](i, c);
+ } finally {
+ s.v = !0;
+ }
+ void 0 !== d && (old_assertValidReturnValue(10, d), i = d);
+ }
+ e.push(i, function () {
+ for (var e = 0; e < o.length; e++) o[e].call(i);
+ });
+ }
+}
+function applyDecs(e, t, a) {
+ var r = [],
+ o = {},
+ i = {};
+ return old_applyMemberDecs(r, e, i, o, t), old_convertMetadataMapToFinal(e.prototype, i), old_applyClassDecs(r, e, o, a), old_convertMetadataMapToFinal(e, o), r;
+}
+export { applyDecs as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js
new file mode 100644
index 000000000..bddb51d07
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js
@@ -0,0 +1,184 @@
+import _typeof from "./typeof.js";
+function applyDecs2203Factory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function memberDec(e, t, r, a, n, i, s, o) {
+ var c;
+ switch (n) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var l,
+ u,
+ f = {
+ kind: c,
+ name: s ? "#" + t : t,
+ "static": i,
+ "private": s
+ },
+ p = {
+ v: !1
+ };
+ 0 !== n && (f.addInitializer = createAddInitializerMethod(a, p)), 0 === n ? s ? (l = r.get, u = r.set) : (l = function l() {
+ return this[t];
+ }, u = function u(e) {
+ this[t] = e;
+ }) : 2 === n ? l = function l() {
+ return r.value;
+ } : (1 !== n && 3 !== n || (l = function l() {
+ return r.get.call(this);
+ }), 1 !== n && 4 !== n || (u = function u(e) {
+ r.set.call(this, e);
+ })), f.access = l && u ? {
+ get: l,
+ set: u
+ } : l ? {
+ get: l
+ } : {
+ set: u
+ };
+ try {
+ return e(o, f);
+ } finally {
+ p.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function applyMemberDec(e, t, r, a, n, i, s, o) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h = r[0];
+ if (s ? c = 0 === n || 1 === n ? {
+ get: r[3],
+ set: r[4]
+ } : 3 === n ? {
+ get: r[3]
+ } : 4 === n ? {
+ set: r[3]
+ } : {
+ value: r[3]
+ } : 0 !== n && (c = Object.getOwnPropertyDescriptor(t, a)), 1 === n ? u = {
+ get: c.get,
+ set: c.set
+ } : 2 === n ? u = c.value : 3 === n ? u = c.get : 4 === n && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? l = f : 1 === n ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f);else for (var v = h.length - 1; v >= 0; v--) {
+ var g;
+ void 0 !== (f = memberDec(h[v], a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? g = f : 1 === n ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g)));
+ }
+ if (0 === n || 1 === n) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var y = l;
+ l = function l(e, t) {
+ for (var r = t, a = 0; a < y.length; a++) r = y[a].call(e, r);
+ return r;
+ };
+ } else {
+ var m = l;
+ l = function l(e, t) {
+ return m.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== n && (1 === n ? (c.get = u.get, c.set = u.set) : 2 === n ? c.value = u : 3 === n ? c.get = u : 4 === n && (c.set = u), s ? 1 === n ? (e.push(function (e, t) {
+ return u.get.call(e, t);
+ }), e.push(function (e, t) {
+ return u.set.call(e, t);
+ })) : 2 === n ? e.push(u) : e.push(function (e, t) {
+ return u.call(e, t);
+ }) : Object.defineProperty(t, a, c));
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r) {
+ var a = [];
+ return function (e, t, r) {
+ for (var a, n, i = new Map(), s = new Map(), o = 0; o < r.length; o++) {
+ var c = r[o];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = t, 0 != (f -= 5) && (u = n = n || [])) : (l = t.prototype, 0 !== f && (u = a = a || [])), 0 !== f && !d) {
+ var v = h ? s : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ !g && f > 2 ? v.set(p, f) : v.set(p, !0);
+ }
+ applyMemberDec(e, l, c, p, f, h, d, u);
+ }
+ }
+ pushInitializers(e, a), pushInitializers(e, n);
+ }(a, e, t), function (e, t, r) {
+ if (r.length > 0) {
+ for (var a = [], n = t, i = t.name, s = r.length - 1; s >= 0; s--) {
+ var o = {
+ v: !1
+ };
+ try {
+ var c = r[s](n, {
+ kind: "class",
+ name: i,
+ addInitializer: createAddInitializerMethod(a, o)
+ });
+ } finally {
+ o.v = !0;
+ }
+ void 0 !== c && (assertValidReturnValue(10, c), n = c);
+ }
+ e.push(n, function () {
+ for (var e = 0; e < a.length; e++) a[e].call(n);
+ });
+ }
+ }(a, e, r), a;
+ };
+}
+var applyDecs2203Impl;
+function applyDecs2203(e, t, r) {
+ return (applyDecs2203Impl = applyDecs2203Impl || applyDecs2203Factory())(e, t, r);
+}
+export { applyDecs2203 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js
new file mode 100644
index 000000000..3944bf428
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js
@@ -0,0 +1,191 @@
+import _typeof from "./typeof.js";
+import setFunctionName from "./setFunctionName.js";
+import toPropertyKey from "./toPropertyKey.js";
+function applyDecs2203RFactory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function memberDec(e, t, r, n, a, i, o, s) {
+ var c;
+ switch (a) {
+ case 1:
+ c = "accessor";
+ break;
+ case 2:
+ c = "method";
+ break;
+ case 3:
+ c = "getter";
+ break;
+ case 4:
+ c = "setter";
+ break;
+ default:
+ c = "field";
+ }
+ var l,
+ u,
+ f = {
+ kind: c,
+ name: o ? "#" + t : toPropertyKey(t),
+ "static": i,
+ "private": o
+ },
+ p = {
+ v: !1
+ };
+ 0 !== a && (f.addInitializer = createAddInitializerMethod(n, p)), 0 === a ? o ? (l = r.get, u = r.set) : (l = function l() {
+ return this[t];
+ }, u = function u(e) {
+ this[t] = e;
+ }) : 2 === a ? l = function l() {
+ return r.value;
+ } : (1 !== a && 3 !== a || (l = function l() {
+ return r.get.call(this);
+ }), 1 !== a && 4 !== a || (u = function u(e) {
+ r.set.call(this, e);
+ })), f.access = l && u ? {
+ get: l,
+ set: u
+ } : l ? {
+ get: l
+ } : {
+ set: u
+ };
+ try {
+ return e(s, f);
+ } finally {
+ p.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function applyMemberDec(e, t, r, n, a, i, o, s) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h,
+ v = r[0];
+ if (o ? (0 === a || 1 === a ? (c = {
+ get: r[3],
+ set: r[4]
+ }, u = "get") : 3 === a ? (c = {
+ get: r[3]
+ }, u = "get") : 4 === a ? (c = {
+ set: r[3]
+ }, u = "set") : c = {
+ value: r[3]
+ }, 0 !== a && (1 === a && setFunctionName(r[4], "#" + n, "set"), setFunctionName(r[3], "#" + n, u))) : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? f = {
+ get: c.get,
+ set: c.set
+ } : 2 === a ? f = c.value : 3 === a ? f = c.get : 4 === a && (f = c.set), "function" == typeof v) void 0 !== (p = memberDec(v, n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? l = p : 1 === a ? (l = p.init, d = p.get || f.get, h = p.set || f.set, f = {
+ get: d,
+ set: h
+ }) : f = p);else for (var g = v.length - 1; g >= 0; g--) {
+ var y;
+ void 0 !== (p = memberDec(v[g], n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? y = p : 1 === a ? (y = p.init, d = p.get || f.get, h = p.set || f.set, f = {
+ get: d,
+ set: h
+ }) : f = p, void 0 !== y && (void 0 === l ? l = y : "function" == typeof l ? l = [l, y] : l.push(y)));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var m = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < m.length; n++) r = m[n].call(e, r);
+ return r;
+ };
+ } else {
+ var b = l;
+ l = function l(e, t) {
+ return b.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (c.get = f.get, c.set = f.set) : 2 === a ? c.value = f : 3 === a ? c.get = f : 4 === a && (c.set = f), o ? 1 === a ? (e.push(function (e, t) {
+ return f.get.call(e, t);
+ }), e.push(function (e, t) {
+ return f.set.call(e, t);
+ })) : 2 === a ? e.push(f) : e.push(function (e, t) {
+ return f.call(e, t);
+ }) : Object.defineProperty(t, n, c));
+ }
+ function applyMemberDecs(e, t) {
+ for (var r, n, a = [], i = new Map(), o = new Map(), s = 0; s < t.length; s++) {
+ var c = t[s];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = e, 0 != (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) {
+ var v = h ? o : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ !g && f > 2 ? v.set(p, f) : v.set(p, !0);
+ }
+ applyMemberDec(a, l, c, p, f, h, d, u);
+ }
+ }
+ return pushInitializers(a, r), pushInitializers(a, n), a;
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r) {
+ return {
+ e: applyMemberDecs(e, t),
+ get c() {
+ return function (e, t) {
+ if (t.length > 0) {
+ for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) {
+ var o = {
+ v: !1
+ };
+ try {
+ var s = t[i](n, {
+ kind: "class",
+ name: a,
+ addInitializer: createAddInitializerMethod(r, o)
+ });
+ } finally {
+ o.v = !0;
+ }
+ void 0 !== s && (assertValidReturnValue(10, s), n = s);
+ }
+ return [n, function () {
+ for (var e = 0; e < r.length; e++) r[e].call(n);
+ }];
+ }
+ }(e, r);
+ }
+ };
+ };
+}
+function applyDecs2203R(e, t, r) {
+ return (applyDecs2203R = applyDecs2203RFactory())(e, t, r);
+}
+export { applyDecs2203R as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js
new file mode 100644
index 000000000..bb4fbe6a9
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js
@@ -0,0 +1,222 @@
+import _typeof from "./typeof.js";
+import checkInRHS from "./checkInRHS.js";
+import setFunctionName from "./setFunctionName.js";
+import toPropertyKey from "./toPropertyKey.js";
+function applyDecs2301Factory() {
+ function createAddInitializerMethod(e, t) {
+ return function (r) {
+ !function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ }(t), assertCallable(r, "An initializer"), e.push(r);
+ };
+ }
+ function assertInstanceIfPrivate(e, t) {
+ if (!e(t)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ function memberDec(e, t, r, n, a, i, s, o, c) {
+ var u;
+ switch (a) {
+ case 1:
+ u = "accessor";
+ break;
+ case 2:
+ u = "method";
+ break;
+ case 3:
+ u = "getter";
+ break;
+ case 4:
+ u = "setter";
+ break;
+ default:
+ u = "field";
+ }
+ var l,
+ f,
+ p = {
+ kind: u,
+ name: s ? "#" + t : toPropertyKey(t),
+ "static": i,
+ "private": s
+ },
+ d = {
+ v: !1
+ };
+ if (0 !== a && (p.addInitializer = createAddInitializerMethod(n, d)), s || 0 !== a && 2 !== a) {
+ if (2 === a) l = function l(e) {
+ return assertInstanceIfPrivate(c, e), r.value;
+ };else {
+ var h = 0 === a || 1 === a;
+ (h || 3 === a) && (l = s ? function (e) {
+ return assertInstanceIfPrivate(c, e), r.get.call(e);
+ } : function (e) {
+ return r.get.call(e);
+ }), (h || 4 === a) && (f = s ? function (e, t) {
+ assertInstanceIfPrivate(c, e), r.set.call(e, t);
+ } : function (e, t) {
+ r.set.call(e, t);
+ });
+ }
+ } else l = function l(e) {
+ return e[t];
+ }, 0 === a && (f = function f(e, r) {
+ e[t] = r;
+ });
+ var v = s ? c.bind() : function (e) {
+ return t in e;
+ };
+ p.access = l && f ? {
+ get: l,
+ set: f,
+ has: v
+ } : l ? {
+ get: l,
+ has: v
+ } : {
+ set: f,
+ has: v
+ };
+ try {
+ return e(o, p);
+ } finally {
+ d.v = !0;
+ }
+ }
+ function assertCallable(e, t) {
+ if ("function" != typeof e) throw new TypeError(t + " must be a function");
+ }
+ function assertValidReturnValue(e, t) {
+ var r = _typeof(t);
+ if (1 === e) {
+ if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0");
+ }
+ function curryThis2(e) {
+ return function (t) {
+ e(this, t);
+ };
+ }
+ function applyMemberDec(e, t, r, n, a, i, s, o, c) {
+ var u,
+ l,
+ f,
+ p,
+ d,
+ h,
+ v,
+ y,
+ g = r[0];
+ if (s ? (0 === a || 1 === a ? (u = {
+ get: (d = r[3], function () {
+ return d(this);
+ }),
+ set: curryThis2(r[4])
+ }, f = "get") : 3 === a ? (u = {
+ get: r[3]
+ }, f = "get") : 4 === a ? (u = {
+ set: r[3]
+ }, f = "set") : u = {
+ value: r[3]
+ }, 0 !== a && (1 === a && setFunctionName(u.set, "#" + n, "set"), setFunctionName(u[f || "value"], "#" + n, f))) : 0 !== a && (u = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? p = {
+ get: u.get,
+ set: u.set
+ } : 2 === a ? p = u.value : 3 === a ? p = u.get : 4 === a && (p = u.set), "function" == typeof g) void 0 !== (h = memberDec(g, n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? l = h : 1 === a ? (l = h.init, v = h.get || p.get, y = h.set || p.set, p = {
+ get: v,
+ set: y
+ }) : p = h);else for (var m = g.length - 1; m >= 0; m--) {
+ var b;
+ void 0 !== (h = memberDec(g[m], n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? b = h : 1 === a ? (b = h.init, v = h.get || p.get, y = h.set || p.set, p = {
+ get: v,
+ set: y
+ }) : p = h, void 0 !== b && (void 0 === l ? l = b : "function" == typeof l ? l = [l, b] : l.push(b)));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var I = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < I.length; n++) r = I[n].call(e, r);
+ return r;
+ };
+ } else {
+ var w = l;
+ l = function l(e, t) {
+ return w.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (u.get = p.get, u.set = p.set) : 2 === a ? u.value = p : 3 === a ? u.get = p : 4 === a && (u.set = p), s ? 1 === a ? (e.push(function (e, t) {
+ return p.get.call(e, t);
+ }), e.push(function (e, t) {
+ return p.set.call(e, t);
+ })) : 2 === a ? e.push(p) : e.push(function (e, t) {
+ return p.call(e, t);
+ }) : Object.defineProperty(t, n, u));
+ }
+ function applyMemberDecs(e, t, r) {
+ for (var n, a, i, s = [], o = new Map(), c = new Map(), u = 0; u < t.length; u++) {
+ var l = t[u];
+ if (Array.isArray(l)) {
+ var f,
+ p,
+ d = l[1],
+ h = l[2],
+ v = l.length > 3,
+ y = d >= 5,
+ g = r;
+ if (y ? (f = e, 0 != (d -= 5) && (p = a = a || []), v && !i && (i = function i(t) {
+ return checkInRHS(t) === e;
+ }), g = i) : (f = e.prototype, 0 !== d && (p = n = n || [])), 0 !== d && !v) {
+ var m = y ? c : o,
+ b = m.get(h) || 0;
+ if (!0 === b || 3 === b && 4 !== d || 4 === b && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ !b && d > 2 ? m.set(h, d) : m.set(h, !0);
+ }
+ applyMemberDec(s, f, l, h, d, y, v, p, g);
+ }
+ }
+ return pushInitializers(s, n), pushInitializers(s, a), s;
+ }
+ function pushInitializers(e, t) {
+ t && e.push(function (e) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r, n) {
+ return {
+ e: applyMemberDecs(e, t, n),
+ get c() {
+ return function (e, t) {
+ if (t.length > 0) {
+ for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) {
+ var s = {
+ v: !1
+ };
+ try {
+ var o = t[i](n, {
+ kind: "class",
+ name: a,
+ addInitializer: createAddInitializerMethod(r, s)
+ });
+ } finally {
+ s.v = !0;
+ }
+ void 0 !== o && (assertValidReturnValue(10, o), n = o);
+ }
+ return [n, function () {
+ for (var e = 0; e < r.length; e++) r[e].call(n);
+ }];
+ }
+ }(e, r);
+ }
+ };
+ };
+}
+function applyDecs2301(e, t, r, n) {
+ return (applyDecs2301 = applyDecs2301Factory())(e, t, r, n);
+}
+export { applyDecs2301 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js
new file mode 100644
index 000000000..a11b2b90c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js
@@ -0,0 +1,133 @@
+import _typeof from "./typeof.js";
+import checkInRHS from "./checkInRHS.js";
+import setFunctionName from "./setFunctionName.js";
+import toPropertyKey from "./toPropertyKey.js";
+function applyDecs2305(e, t, r, n, o, a) {
+ function i(e, t, r) {
+ return function (n, o) {
+ return r && r(n), e[t].call(n, o);
+ };
+ }
+ function c(e, t) {
+ for (var r = 0; r < e.length; r++) e[r].call(t);
+ return t;
+ }
+ function s(e, t, r, n) {
+ if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined"));
+ return e;
+ }
+ function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) {
+ function m(e) {
+ if (!h(e)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ var y,
+ v = t[0],
+ g = t[3],
+ b = !u;
+ if (!b) {
+ r || Array.isArray(v) || (v = [v]);
+ var w = {},
+ S = [],
+ A = 3 === o ? "get" : 4 === o || d ? "set" : "value";
+ f ? (p || d ? w = {
+ get: setFunctionName(function () {
+ return g(this);
+ }, n, "get"),
+ set: function set(e) {
+ t[4](this, e);
+ }
+ } : w[A] = g, p || setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n));
+ }
+ for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) {
+ var D = v[j],
+ E = r ? v[j - 1] : void 0,
+ I = {},
+ O = {
+ kind: ["field", "accessor", "method", "getter", "setter", "class"][o],
+ name: n,
+ metadata: a,
+ addInitializer: function (e, t) {
+ if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
+ s(t, "An initializer", "be", !0), c.push(t);
+ }.bind(null, I)
+ };
+ try {
+ if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else {
+ var k, F;
+ O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) {
+ return m(e), w.value;
+ } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) {
+ return e[n];
+ }, (o < 2 || 4 === o) && (F = function F(e, t) {
+ e[n] = t;
+ }));
+ var N = O.access = {
+ has: f ? h.bind() : function (e) {
+ return n in e;
+ }
+ };
+ if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? {
+ get: w.get,
+ set: w.set
+ } : w[A], O), d) {
+ if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
+ } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P);
+ }
+ } finally {
+ I.v = !0;
+ }
+ }
+ return (p || d) && u.push(function (e, t) {
+ for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t);
+ return t;
+ }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P;
+ }
+ function u(e, t) {
+ return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), {
+ configurable: !0,
+ enumerable: !0,
+ value: t
+ });
+ }
+ if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")];
+ var f = Object.create(null == l ? null : l),
+ p = function (e, t, r, n) {
+ var o,
+ a,
+ i = [],
+ s = function s(t) {
+ return checkInRHS(t) === e;
+ },
+ u = new Map();
+ function l(e) {
+ e && i.push(c.bind(null, e));
+ }
+ for (var f = 0; f < t.length; f++) {
+ var p = t[f];
+ if (Array.isArray(p)) {
+ var d = p[1],
+ h = p[2],
+ m = p.length > 3,
+ y = 16 & d,
+ v = !!(8 & d),
+ g = 0 == (d &= 7),
+ b = h + "/" + v;
+ if (!g && !m) {
+ var w = u.get(b);
+ if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ u.set(b, !(d > 2) || d);
+ }
+ applyDec(v ? e : e.prototype, p, y, m ? "#" + h : toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r);
+ }
+ }
+ return l(o), l(a), i;
+ }(e, t, o, f);
+ return r.length || u(e, f), {
+ e: p,
+ get c() {
+ var t = [];
+ return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)];
+ }
+ };
+}
+export { applyDecs2305 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js
new file mode 100644
index 000000000..41b2c4848
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js
@@ -0,0 +1,124 @@
+import _typeof from "./typeof.js";
+import checkInRHS from "./checkInRHS.js";
+import setFunctionName from "./setFunctionName.js";
+import toPropertyKey from "./toPropertyKey.js";
+function applyDecs2311(e, t, n, r, o, i) {
+ var a,
+ c,
+ u,
+ s,
+ f,
+ l,
+ p,
+ d = Symbol.metadata || Symbol["for"]("Symbol.metadata"),
+ m = Object.defineProperty,
+ h = Object.create,
+ y = [h(null), h(null)],
+ v = t.length;
+ function g(t, n, r) {
+ return function (o, i) {
+ n && (i = o, o = e);
+ for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);
+ return r ? i : o;
+ };
+ }
+ function b(e, t, n, r) {
+ if ("function" != typeof e && (r || void 0 !== e)) throw new TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined"));
+ return e;
+ }
+ function applyDec(e, t, n, r, o, i, u, s, f, l, p) {
+ function d(e) {
+ if (!p(e)) throw new TypeError("Attempted to access private element on non-instance");
+ }
+ var h = [].concat(t[0]),
+ v = t[3],
+ w = !u,
+ D = 1 === o,
+ S = 3 === o,
+ j = 4 === o,
+ E = 2 === o;
+ function I(t, n, r) {
+ return function (o, i) {
+ return n && (i = o, o = e), r && r(o), P[t].call(o, i);
+ };
+ }
+ if (!w) {
+ var P = {},
+ k = [],
+ F = S ? "get" : j || D ? "set" : "value";
+ if (f ? (l || D ? P = {
+ get: setFunctionName(function () {
+ return v(this);
+ }, r, "get"),
+ set: function set(e) {
+ t[4](this, e);
+ }
+ } : P[F] = v, l || setFunctionName(P[F], r, E ? "" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {
+ if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error("Decorating two elements with the same name (" + P[F].name + ") is not supported yet");
+ y[+s][r] = o < 3 ? 1 : o;
+ }
+ }
+ for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {
+ var T = b(h[O], "A decorator", "be", !0),
+ z = n ? h[O - 1] : void 0,
+ A = {},
+ H = {
+ kind: ["field", "accessor", "method", "getter", "setter", "class"][o],
+ name: r,
+ metadata: a,
+ addInitializer: function (e, t) {
+ if (e.v) throw new TypeError("attempted to call addInitializer after decoration was finished");
+ b(t, "An initializer", "be", !0), i.push(t);
+ }.bind(null, A)
+ };
+ if (w) c = T.call(z, N, H), A.v = 1, b(c, "class decorators", "return") && (N = c);else if (H["static"] = s, H["private"] = f, c = H.access = {
+ has: f ? p.bind() : function (e) {
+ return r in e;
+ }
+ }, j || (c.get = f ? E ? function (e) {
+ return d(e), P.value;
+ } : I("get", 0, d) : function (e) {
+ return e[r];
+ }), E || S || (c.set = f ? I("set", 0, d) : function (e, t) {
+ e[r] = t;
+ }), N = T.call(z, D ? {
+ get: P.get,
+ set: P.set
+ } : P[F], H), A.v = 1, D) {
+ if ("object" == _typeof(N) && N) (c = b(N.get, "accessor.get")) && (P.get = c), (c = b(N.set, "accessor.set")) && (P.set = c), (c = b(N.init, "accessor.init")) && k.unshift(c);else if (void 0 !== N) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined");
+ } else b(N, (l ? "field" : "method") + " decorators", "return") && (l ? k.unshift(N) : P[F] = N);
+ }
+ return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I("get", s), I("set", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;
+ }
+ function w(e) {
+ return m(e, d, {
+ configurable: !0,
+ enumerable: !0,
+ value: a
+ });
+ }
+ return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {
+ e && f.push(g(e));
+ }, p = function p(t, r) {
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i],
+ c = a[1],
+ l = 7 & c;
+ if ((8 & c) == t && !l == r) {
+ var p = a[2],
+ d = !!a[3],
+ m = 16 & c;
+ applyDec(t ? e : e.prototype, a, m, d ? "#" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {
+ return checkInRHS(t) === e;
+ } : o);
+ }
+ }
+ }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {
+ e: c,
+ get c() {
+ var n = [];
+ return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];
+ }
+ };
+}
+export { applyDecs2311 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
new file mode 100644
index 000000000..9ace77240
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
@@ -0,0 +1,6 @@
+function _arrayLikeToArray(r, a) {
+ (null == a || a > r.length) && (a = r.length);
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
+ return n;
+}
+export { _arrayLikeToArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
new file mode 100644
index 000000000..99fa71540
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
@@ -0,0 +1,4 @@
+function _arrayWithHoles(r) {
+ if (Array.isArray(r)) return r;
+}
+export { _arrayWithHoles as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
new file mode 100644
index 000000000..1ce6f2146
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
@@ -0,0 +1,5 @@
+import arrayLikeToArray from "./arrayLikeToArray.js";
+function _arrayWithoutHoles(r) {
+ if (Array.isArray(r)) return arrayLikeToArray(r);
+}
+export { _arrayWithoutHoles as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js
new file mode 100644
index 000000000..ae7b71260
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js
@@ -0,0 +1,5 @@
+function _assertClassBrand(e, t, n) {
+ if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
+ throw new TypeError("Private element is not present on this object");
+}
+export { _assertClassBrand as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
new file mode 100644
index 000000000..4a41bde62
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
@@ -0,0 +1,5 @@
+function _assertThisInitialized(e) {
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return e;
+}
+export { _assertThisInitialized as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js
new file mode 100644
index 000000000..e0266897d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js
@@ -0,0 +1,24 @@
+import OverloadYield from "./OverloadYield.js";
+function _asyncGeneratorDelegate(t) {
+ var e = {},
+ n = !1;
+ function pump(e, r) {
+ return n = !0, r = new Promise(function (n) {
+ n(t[e](r));
+ }), {
+ done: !1,
+ value: new OverloadYield(r, 1)
+ };
+ }
+ return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () {
+ return this;
+ }, e.next = function (t) {
+ return n ? (n = !1, t) : pump("next", t);
+ }, "function" == typeof t["throw"] && (e["throw"] = function (t) {
+ if (n) throw n = !1, t;
+ return pump("throw", t);
+ }), "function" == typeof t["return"] && (e["return"] = function (t) {
+ return n ? (n = !1, t) : pump("return", t);
+ }), e;
+}
+export { _asyncGeneratorDelegate as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncIterator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncIterator.js
new file mode 100644
index 000000000..2ed00b796
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncIterator.js
@@ -0,0 +1,45 @@
+function _asyncIterator(r) {
+ var n,
+ t,
+ o,
+ e = 2;
+ for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {
+ if (t && null != (n = r[t])) return n.call(r);
+ if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));
+ t = "@@asyncIterator", o = "@@iterator";
+ }
+ throw new TypeError("Object is not async iterable");
+}
+function AsyncFromSyncIterator(r) {
+ function AsyncFromSyncIteratorContinuation(r) {
+ if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object."));
+ var n = r.done;
+ return Promise.resolve(r.value).then(function (r) {
+ return {
+ value: r,
+ done: n
+ };
+ });
+ }
+ return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {
+ this.s = r, this.n = r.next;
+ }, AsyncFromSyncIterator.prototype = {
+ s: null,
+ n: null,
+ next: function next() {
+ return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
+ },
+ "return": function _return(r) {
+ var n = this.s["return"];
+ return void 0 === n ? Promise.resolve({
+ value: r,
+ done: !0
+ }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
+ },
+ "throw": function _throw(r) {
+ var n = this.s["return"];
+ return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
+ }
+ }, new AsyncFromSyncIterator(r);
+}
+export { _asyncIterator as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
new file mode 100644
index 000000000..00f29b1f6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
@@ -0,0 +1,26 @@
+function asyncGeneratorStep(n, t, e, r, o, a, c) {
+ try {
+ var i = n[a](c),
+ u = i.value;
+ } catch (n) {
+ return void e(n);
+ }
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
+}
+function _asyncToGenerator(n) {
+ return function () {
+ var t = this,
+ e = arguments;
+ return new Promise(function (r, o) {
+ var a = n.apply(t, e);
+ function _next(n) {
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
+ }
+ function _throw(n) {
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
+ }
+ _next(void 0);
+ });
+ };
+}
+export { _asyncToGenerator as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js
new file mode 100644
index 000000000..097c88c98
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js
@@ -0,0 +1,5 @@
+import OverloadYield from "./OverloadYield.js";
+function _awaitAsyncGenerator(e) {
+ return new OverloadYield(e, 0);
+}
+export { _awaitAsyncGenerator as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/callSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/callSuper.js
new file mode 100644
index 000000000..6d17a4ee5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/callSuper.js
@@ -0,0 +1,7 @@
+import getPrototypeOf from "./getPrototypeOf.js";
+import isNativeReflectConstruct from "./isNativeReflectConstruct.js";
+import possibleConstructorReturn from "./possibleConstructorReturn.js";
+function _callSuper(t, o, e) {
+ return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));
+}
+export { _callSuper as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkInRHS.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkInRHS.js
new file mode 100644
index 000000000..12f59b4ca
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkInRHS.js
@@ -0,0 +1,6 @@
+import _typeof from "./typeof.js";
+function _checkInRHS(e) {
+ if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null"));
+ return e;
+}
+export { _checkInRHS as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js
new file mode 100644
index 000000000..e9e6b3b46
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js
@@ -0,0 +1,4 @@
+function _checkPrivateRedeclaration(e, t) {
+ if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
+}
+export { _checkPrivateRedeclaration as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js
new file mode 100644
index 000000000..56234195c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js
@@ -0,0 +1,10 @@
+function _classApplyDescriptorDestructureSet(e, t) {
+ if (t.set) return "__destrObj" in t || (t.__destrObj = {
+ set value(r) {
+ t.set.call(e, r);
+ }
+ }), t.__destrObj;
+ if (!t.writable) throw new TypeError("attempted to set read only private field");
+ return t;
+}
+export { _classApplyDescriptorDestructureSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js
new file mode 100644
index 000000000..b9259d3e3
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js
@@ -0,0 +1,4 @@
+function _classApplyDescriptorGet(e, t) {
+ return t.get ? t.get.call(e) : t.value;
+}
+export { _classApplyDescriptorGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js
new file mode 100644
index 000000000..d9c4fbd2c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js
@@ -0,0 +1,7 @@
+function _classApplyDescriptorSet(e, t, l) {
+ if (t.set) t.set.call(e, l);else {
+ if (!t.writable) throw new TypeError("attempted to set read only private field");
+ t.value = l;
+ }
+}
+export { _classApplyDescriptorSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCallCheck.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCallCheck.js
new file mode 100644
index 000000000..bf9721936
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCallCheck.js
@@ -0,0 +1,4 @@
+function _classCallCheck(a, n) {
+ if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
+}
+export { _classCallCheck as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js
new file mode 100644
index 000000000..366ed05e4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classCheckPrivateStaticAccess(s, a, r) {
+ return assertClassBrand(a, s, r);
+}
+export { _classCheckPrivateStaticAccess as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js
new file mode 100644
index 000000000..844be91a8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js
@@ -0,0 +1,4 @@
+function _classCheckPrivateStaticFieldDescriptor(t, e) {
+ if (void 0 === t) throw new TypeError("attempted to " + e + " private static field before its declaration");
+}
+export { _classCheckPrivateStaticFieldDescriptor as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js
new file mode 100644
index 000000000..652689d13
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js
@@ -0,0 +1,5 @@
+import classPrivateFieldGet2 from "./classPrivateFieldGet2.js";
+function _classExtractFieldDescriptor(e, t) {
+ return classPrivateFieldGet2(t, e);
+}
+export { _classExtractFieldDescriptor as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js
new file mode 100644
index 000000000..68e76ff74
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js
@@ -0,0 +1,4 @@
+function _classNameTDZError(e) {
+ throw new ReferenceError('Class "' + e + '" cannot be referenced in computed property keys.');
+}
+export { _classNameTDZError as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js
new file mode 100644
index 000000000..93033663a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorDestructureSet from "./classApplyDescriptorDestructureSet.js";
+import classPrivateFieldGet2 from "./classPrivateFieldGet2.js";
+function _classPrivateFieldDestructureSet(e, t) {
+ var r = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorDestructureSet(e, r);
+}
+export { _classPrivateFieldDestructureSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js
new file mode 100644
index 000000000..ce7ebcb71
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorGet from "./classApplyDescriptorGet.js";
+import classPrivateFieldGet2 from "./classPrivateFieldGet2.js";
+function _classPrivateFieldGet(e, t) {
+ var r = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorGet(e, r);
+}
+export { _classPrivateFieldGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js
new file mode 100644
index 000000000..4aa3da6b5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classPrivateFieldGet2(s, a) {
+ return s.get(assertClassBrand(s, a));
+}
+export { _classPrivateFieldGet2 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js
new file mode 100644
index 000000000..5dcdbe04a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js
@@ -0,0 +1,5 @@
+import checkPrivateRedeclaration from "./checkPrivateRedeclaration.js";
+function _classPrivateFieldInitSpec(e, t, a) {
+ checkPrivateRedeclaration(e, t), t.set(e, a);
+}
+export { _classPrivateFieldInitSpec as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js
new file mode 100644
index 000000000..4bd662ca7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js
@@ -0,0 +1,5 @@
+function _classPrivateFieldBase(e, t) {
+ if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance");
+ return e;
+}
+export { _classPrivateFieldBase as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js
new file mode 100644
index 000000000..90d21937c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js
@@ -0,0 +1,5 @@
+var id = 0;
+function _classPrivateFieldKey(e) {
+ return "__private_" + id++ + "_" + e;
+}
+export { _classPrivateFieldKey as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js
new file mode 100644
index 000000000..b5161bdb6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorSet from "./classApplyDescriptorSet.js";
+import classPrivateFieldGet2 from "./classPrivateFieldGet2.js";
+function _classPrivateFieldSet(e, t, r) {
+ var s = classPrivateFieldGet2(t, e);
+ return classApplyDescriptorSet(e, s, r), r;
+}
+export { _classPrivateFieldSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js
new file mode 100644
index 000000000..337b01a49
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classPrivateFieldSet2(s, a, r) {
+ return s.set(assertClassBrand(s, a), r), r;
+}
+export { _classPrivateFieldSet2 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js
new file mode 100644
index 000000000..ff3e98513
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classPrivateGetter(s, r, a) {
+ return a(assertClassBrand(s, r));
+}
+export { _classPrivateGetter as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js
new file mode 100644
index 000000000..4832fc6f7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classPrivateMethodGet(s, a, r) {
+ return assertClassBrand(a, s), r;
+}
+export { _classPrivateMethodGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js
new file mode 100644
index 000000000..61e23e26f
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js
@@ -0,0 +1,5 @@
+import checkPrivateRedeclaration from "./checkPrivateRedeclaration.js";
+function _classPrivateMethodInitSpec(e, a) {
+ checkPrivateRedeclaration(e, a), a.add(e);
+}
+export { _classPrivateMethodInitSpec as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js
new file mode 100644
index 000000000..d181b5135
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js
@@ -0,0 +1,4 @@
+function _classPrivateMethodSet() {
+ throw new TypeError("attempted to reassign private method");
+}
+export { _classPrivateMethodSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js
new file mode 100644
index 000000000..9a80d59bc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classPrivateSetter(s, r, a, t) {
+ return r(assertClassBrand(s, a), t), t;
+}
+export { _classPrivateSetter as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js
new file mode 100644
index 000000000..747e639d5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorDestructureSet from "./classApplyDescriptorDestructureSet.js";
+import assertClassBrand from "./assertClassBrand.js";
+import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js";
+function _classStaticPrivateFieldDestructureSet(t, r, s) {
+ return assertClassBrand(r, t), classCheckPrivateStaticFieldDescriptor(s, "set"), classApplyDescriptorDestructureSet(t, s);
+}
+export { _classStaticPrivateFieldDestructureSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js
new file mode 100644
index 000000000..23684b749
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorGet from "./classApplyDescriptorGet.js";
+import assertClassBrand from "./assertClassBrand.js";
+import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js";
+function _classStaticPrivateFieldSpecGet(t, s, r) {
+ return assertClassBrand(s, t), classCheckPrivateStaticFieldDescriptor(r, "get"), classApplyDescriptorGet(t, r);
+}
+export { _classStaticPrivateFieldSpecGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js
new file mode 100644
index 000000000..3a314682c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js
@@ -0,0 +1,7 @@
+import classApplyDescriptorSet from "./classApplyDescriptorSet.js";
+import assertClassBrand from "./assertClassBrand.js";
+import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js";
+function _classStaticPrivateFieldSpecSet(s, t, r, e) {
+ return assertClassBrand(t, s), classCheckPrivateStaticFieldDescriptor(r, "set"), classApplyDescriptorSet(s, r, e), e;
+}
+export { _classStaticPrivateFieldSpecSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js
new file mode 100644
index 000000000..047b177b0
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js
@@ -0,0 +1,5 @@
+import assertClassBrand from "./assertClassBrand.js";
+function _classStaticPrivateMethodGet(s, a, t) {
+ return assertClassBrand(a, s), t;
+}
+export { _classStaticPrivateMethodGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js
new file mode 100644
index 000000000..a61ae63ee
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js
@@ -0,0 +1,4 @@
+function _classStaticPrivateMethodSet() {
+ throw new TypeError("attempted to set read only static private field");
+}
+export { _classStaticPrivateMethodSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/construct.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/construct.js
new file mode 100644
index 000000000..91609ff78
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/construct.js
@@ -0,0 +1,10 @@
+import isNativeReflectConstruct from "./isNativeReflectConstruct.js";
+import setPrototypeOf from "./setPrototypeOf.js";
+function _construct(t, e, r) {
+ if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
+ var o = [null];
+ o.push.apply(o, e);
+ var p = new (t.bind.apply(t, o))();
+ return r && setPrototypeOf(p, r.prototype), p;
+}
+export { _construct as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createClass.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createClass.js
new file mode 100644
index 000000000..9b178515e
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createClass.js
@@ -0,0 +1,13 @@
+import toPropertyKey from "./toPropertyKey.js";
+function _defineProperties(e, r) {
+ for (var t = 0; t < r.length; t++) {
+ var o = r[t];
+ o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
+ }
+}
+function _createClass(e, r, t) {
+ return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
+ writable: !1
+ }), e;
+}
+export { _createClass as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js
new file mode 100644
index 000000000..93b97f915
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js
@@ -0,0 +1,50 @@
+import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
+function _createForOfIteratorHelper(r, e) {
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (!t) {
+ if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
+ t && (r = t);
+ var _n = 0,
+ F = function F() {};
+ return {
+ s: F,
+ n: function n() {
+ return _n >= r.length ? {
+ done: !0
+ } : {
+ done: !1,
+ value: r[_n++]
+ };
+ },
+ e: function e(r) {
+ throw r;
+ },
+ f: F
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o,
+ a = !0,
+ u = !1;
+ return {
+ s: function s() {
+ t = t.call(r);
+ },
+ n: function n() {
+ var r = t.next();
+ return a = r.done, r;
+ },
+ e: function e(r) {
+ u = !0, o = r;
+ },
+ f: function f() {
+ try {
+ a || null == t["return"] || t["return"]();
+ } finally {
+ if (u) throw o;
+ }
+ }
+ };
+}
+export { _createForOfIteratorHelper as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js
new file mode 100644
index 000000000..3deaae443
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js
@@ -0,0 +1,19 @@
+import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
+function _createForOfIteratorHelperLoose(r, e) {
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (t) return (t = t.call(r)).next.bind(t);
+ if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
+ t && (r = t);
+ var o = 0;
+ return function () {
+ return o >= r.length ? {
+ done: !0
+ } : {
+ done: !1,
+ value: r[o++]
+ };
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+export { _createForOfIteratorHelperLoose as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createSuper.js
new file mode 100644
index 000000000..dfabf7115
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/createSuper.js
@@ -0,0 +1,16 @@
+import getPrototypeOf from "./getPrototypeOf.js";
+import isNativeReflectConstruct from "./isNativeReflectConstruct.js";
+import possibleConstructorReturn from "./possibleConstructorReturn.js";
+function _createSuper(t) {
+ var r = isNativeReflectConstruct();
+ return function () {
+ var e,
+ o = getPrototypeOf(t);
+ if (r) {
+ var s = getPrototypeOf(this).constructor;
+ e = Reflect.construct(o, arguments, s);
+ } else e = o.apply(this, arguments);
+ return possibleConstructorReturn(this, e);
+ };
+}
+export { _createSuper as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/decorate.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/decorate.js
new file mode 100644
index 000000000..f76b6a6af
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/decorate.js
@@ -0,0 +1,250 @@
+import toArray from "./toArray.js";
+import toPropertyKey from "./toPropertyKey.js";
+function _decorate(e, r, t, i) {
+ var o = _getDecoratorsApi();
+ if (i) for (var n = 0; n < i.length; n++) o = i[n](o);
+ var s = r(function (e) {
+ o.initializeInstanceElements(e, a.elements);
+ }, t),
+ a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e);
+ return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers);
+}
+function _getDecoratorsApi() {
+ _getDecoratorsApi = function _getDecoratorsApi() {
+ return e;
+ };
+ var e = {
+ elementsDefinitionOrder: [["method"], ["field"]],
+ initializeInstanceElements: function initializeInstanceElements(e, r) {
+ ["method", "field"].forEach(function (t) {
+ r.forEach(function (r) {
+ r.kind === t && "own" === r.placement && this.defineClassElement(e, r);
+ }, this);
+ }, this);
+ },
+ initializeClassElements: function initializeClassElements(e, r) {
+ var t = e.prototype;
+ ["method", "field"].forEach(function (i) {
+ r.forEach(function (r) {
+ var o = r.placement;
+ if (r.kind === i && ("static" === o || "prototype" === o)) {
+ var n = "static" === o ? e : t;
+ this.defineClassElement(n, r);
+ }
+ }, this);
+ }, this);
+ },
+ defineClassElement: function defineClassElement(e, r) {
+ var t = r.descriptor;
+ if ("field" === r.kind) {
+ var i = r.initializer;
+ t = {
+ enumerable: t.enumerable,
+ writable: t.writable,
+ configurable: t.configurable,
+ value: void 0 === i ? void 0 : i.call(e)
+ };
+ }
+ Object.defineProperty(e, r.key, t);
+ },
+ decorateClass: function decorateClass(e, r) {
+ var t = [],
+ i = [],
+ o = {
+ "static": [],
+ prototype: [],
+ own: []
+ };
+ if (e.forEach(function (e) {
+ this.addElementPlacement(e, o);
+ }, this), e.forEach(function (e) {
+ if (!_hasDecorators(e)) return t.push(e);
+ var r = this.decorateElement(e, o);
+ t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers);
+ }, this), !r) return {
+ elements: t,
+ finishers: i
+ };
+ var n = this.decorateConstructor(t, r);
+ return i.push.apply(i, n.finishers), n.finishers = i, n;
+ },
+ addElementPlacement: function addElementPlacement(e, r, t) {
+ var i = r[e.placement];
+ if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")");
+ i.push(e.key);
+ },
+ decorateElement: function decorateElement(e, r) {
+ for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) {
+ var s = r[e.placement];
+ s.splice(s.indexOf(e.key), 1);
+ var a = this.fromElementDescriptor(e),
+ l = this.toElementFinisherExtras((0, o[n])(a) || a);
+ e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher);
+ var c = l.extras;
+ if (c) {
+ for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r);
+ t.push.apply(t, c);
+ }
+ }
+ return {
+ element: e,
+ finishers: i,
+ extras: t
+ };
+ },
+ decorateConstructor: function decorateConstructor(e, r) {
+ for (var t = [], i = r.length - 1; i >= 0; i--) {
+ var o = this.fromClassDescriptor(e),
+ n = this.toClassDescriptor((0, r[i])(o) || o);
+ if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) {
+ e = n.elements;
+ for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")");
+ }
+ }
+ return {
+ elements: e,
+ finishers: t
+ };
+ },
+ fromElementDescriptor: function fromElementDescriptor(e) {
+ var r = {
+ kind: e.kind,
+ key: e.key,
+ placement: e.placement,
+ descriptor: e.descriptor
+ };
+ return Object.defineProperty(r, Symbol.toStringTag, {
+ value: "Descriptor",
+ configurable: !0
+ }), "field" === e.kind && (r.initializer = e.initializer), r;
+ },
+ toElementDescriptors: function toElementDescriptors(e) {
+ if (void 0 !== e) return toArray(e).map(function (e) {
+ var r = this.toElementDescriptor(e);
+ return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r;
+ }, this);
+ },
+ toElementDescriptor: function toElementDescriptor(e) {
+ var r = e.kind + "";
+ if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"');
+ var t = toPropertyKey(e.key),
+ i = e.placement + "";
+ if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"');
+ var o = e.descriptor;
+ this.disallowProperty(e, "elements", "An element descriptor");
+ var n = {
+ kind: r,
+ key: t,
+ placement: i,
+ descriptor: Object.assign({}, o)
+ };
+ return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n;
+ },
+ toElementFinisherExtras: function toElementFinisherExtras(e) {
+ return {
+ element: this.toElementDescriptor(e),
+ finisher: _optionalCallableProperty(e, "finisher"),
+ extras: this.toElementDescriptors(e.extras)
+ };
+ },
+ fromClassDescriptor: function fromClassDescriptor(e) {
+ var r = {
+ kind: "class",
+ elements: e.map(this.fromElementDescriptor, this)
+ };
+ return Object.defineProperty(r, Symbol.toStringTag, {
+ value: "Descriptor",
+ configurable: !0
+ }), r;
+ },
+ toClassDescriptor: function toClassDescriptor(e) {
+ var r = e.kind + "";
+ if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"');
+ this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor");
+ var t = _optionalCallableProperty(e, "finisher");
+ return {
+ elements: this.toElementDescriptors(e.elements),
+ finisher: t
+ };
+ },
+ runClassFinishers: function runClassFinishers(e, r) {
+ for (var t = 0; t < r.length; t++) {
+ var i = (0, r[t])(e);
+ if (void 0 !== i) {
+ if ("function" != typeof i) throw new TypeError("Finishers must return a constructor.");
+ e = i;
+ }
+ }
+ return e;
+ },
+ disallowProperty: function disallowProperty(e, r, t) {
+ if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property.");
+ }
+ };
+ return e;
+}
+function _createElementDescriptor(e) {
+ var r,
+ t = toPropertyKey(e.key);
+ "method" === e.kind ? r = {
+ value: e.value,
+ writable: !0,
+ configurable: !0,
+ enumerable: !1
+ } : "get" === e.kind ? r = {
+ get: e.value,
+ configurable: !0,
+ enumerable: !1
+ } : "set" === e.kind ? r = {
+ set: e.value,
+ configurable: !0,
+ enumerable: !1
+ } : "field" === e.kind && (r = {
+ configurable: !0,
+ writable: !0,
+ enumerable: !0
+ });
+ var i = {
+ kind: "field" === e.kind ? "field" : "method",
+ key: t,
+ placement: e["static"] ? "static" : "field" === e.kind ? "own" : "prototype",
+ descriptor: r
+ };
+ return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i;
+}
+function _coalesceGetterSetter(e, r) {
+ void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set;
+}
+function _coalesceClassElements(e) {
+ for (var r = [], isSameElement = function isSameElement(e) {
+ return "method" === e.kind && e.key === o.key && e.placement === o.placement;
+ }, t = 0; t < e.length; t++) {
+ var i,
+ o = e[t];
+ if ("method" === o.kind && (i = r.find(isSameElement))) {
+ if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) {
+ if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated.");
+ i.descriptor = o.descriptor;
+ } else {
+ if (_hasDecorators(o)) {
+ if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ").");
+ i.decorators = o.decorators;
+ }
+ _coalesceGetterSetter(o, i);
+ }
+ } else r.push(o);
+ }
+ return r;
+}
+function _hasDecorators(e) {
+ return e.decorators && e.decorators.length;
+}
+function _isDataDescriptor(e) {
+ return void 0 !== e && !(void 0 === e.value && void 0 === e.writable);
+}
+function _optionalCallableProperty(e, r) {
+ var t = e[r];
+ if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function");
+ return t;
+}
+export { _decorate as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defaults.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defaults.js
new file mode 100644
index 000000000..d3041a3d1
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defaults.js
@@ -0,0 +1,9 @@
+function _defaults(e, r) {
+ for (var t = Object.getOwnPropertyNames(r), o = 0; o < t.length; o++) {
+ var n = t[o],
+ a = Object.getOwnPropertyDescriptor(r, n);
+ a && a.configurable && void 0 === e[n] && Object.defineProperty(e, n, a);
+ }
+ return e;
+}
+export { _defaults as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineAccessor.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineAccessor.js
new file mode 100644
index 000000000..a8292deaf
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineAccessor.js
@@ -0,0 +1,8 @@
+function _defineAccessor(e, r, n, t) {
+ var c = {
+ configurable: !0,
+ enumerable: !0
+ };
+ return c[e] = t, Object.defineProperty(r, n, c);
+}
+export { _defineAccessor as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js
new file mode 100644
index 000000000..3d31d9809
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js
@@ -0,0 +1,12 @@
+function _defineEnumerableProperties(e, r) {
+ for (var t in r) {
+ var n = r[t];
+ n.configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, t, n);
+ }
+ if (Object.getOwnPropertySymbols) for (var a = Object.getOwnPropertySymbols(r), b = 0; b < a.length; b++) {
+ var i = a[b];
+ (n = r[i]).configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, i, n);
+ }
+ return e;
+}
+export { _defineEnumerableProperties as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineProperty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineProperty.js
new file mode 100644
index 000000000..05ec32b70
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/defineProperty.js
@@ -0,0 +1,10 @@
+import toPropertyKey from "./toPropertyKey.js";
+function _defineProperty(e, r, t) {
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
+ value: t,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[r] = t, e;
+}
+export { _defineProperty as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/dispose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/dispose.js
new file mode 100644
index 000000000..a87ab2026
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/dispose.js
@@ -0,0 +1,28 @@
+function dispose_SuppressedError(r, e) {
+ return "undefined" != typeof SuppressedError ? dispose_SuppressedError = SuppressedError : (dispose_SuppressedError = function dispose_SuppressedError(r, e) {
+ this.suppressed = e, this.error = r, this.stack = Error().stack;
+ }, dispose_SuppressedError.prototype = Object.create(Error.prototype, {
+ constructor: {
+ value: dispose_SuppressedError,
+ writable: !0,
+ configurable: !0
+ }
+ })), new dispose_SuppressedError(r, e);
+}
+function _dispose(r, e, s) {
+ function next() {
+ for (; r.length > 0;) try {
+ var o = r.pop(),
+ p = o.d.call(o.v);
+ if (o.a) return Promise.resolve(p).then(next, err);
+ } catch (r) {
+ return err(r);
+ }
+ if (s) throw e;
+ }
+ function err(r) {
+ return e = s ? new dispose_SuppressedError(e, r) : r, s = !0, next();
+ }
+ return next();
+}
+export { _dispose as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/extends.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/extends.js
new file mode 100644
index 000000000..53f118ca9
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/extends.js
@@ -0,0 +1,10 @@
+function _extends() {
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
+ for (var e = 1; e < arguments.length; e++) {
+ var t = arguments[e];
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
+ }
+ return n;
+ }, _extends.apply(null, arguments);
+}
+export { _extends as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/get.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/get.js
new file mode 100644
index 000000000..8124bc023
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/get.js
@@ -0,0 +1,11 @@
+import superPropBase from "./superPropBase.js";
+function _get() {
+ return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {
+ var p = superPropBase(e, t);
+ if (p) {
+ var n = Object.getOwnPropertyDescriptor(p, t);
+ return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
+ }
+ }, _get.apply(null, arguments);
+}
+export { _get as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
new file mode 100644
index 000000000..9073c456b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
@@ -0,0 +1,6 @@
+function _getPrototypeOf(t) {
+ return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
+ return t.__proto__ || Object.getPrototypeOf(t);
+ }, _getPrototypeOf(t);
+}
+export { _getPrototypeOf as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/identity.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/identity.js
new file mode 100644
index 000000000..6b564ac53
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/identity.js
@@ -0,0 +1,4 @@
+function _identity(t) {
+ return t;
+}
+export { _identity as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js
new file mode 100644
index 000000000..6d35b526d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js
@@ -0,0 +1,27 @@
+function _importDeferProxy(e) {
+ var t = null,
+ constValue = function constValue(e) {
+ return function () {
+ return e;
+ };
+ },
+ proxy = function proxy(r) {
+ return function (n, o, f) {
+ return null === t && (t = e()), r(t, o, f);
+ };
+ };
+ return new Proxy({}, {
+ defineProperty: constValue(!1),
+ deleteProperty: constValue(!1),
+ get: proxy(Reflect.get),
+ getOwnPropertyDescriptor: proxy(Reflect.getOwnPropertyDescriptor),
+ getPrototypeOf: constValue(null),
+ isExtensible: constValue(!1),
+ has: proxy(Reflect.has),
+ ownKeys: proxy(Reflect.ownKeys),
+ preventExtensions: constValue(!0),
+ set: constValue(!1),
+ setPrototypeOf: constValue(!1)
+ });
+}
+export { _importDeferProxy as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inherits.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inherits.js
new file mode 100644
index 000000000..78f6e4e33
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inherits.js
@@ -0,0 +1,14 @@
+import setPrototypeOf from "./setPrototypeOf.js";
+function _inherits(t, e) {
+ if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
+ t.prototype = Object.create(e && e.prototype, {
+ constructor: {
+ value: t,
+ writable: !0,
+ configurable: !0
+ }
+ }), Object.defineProperty(t, "prototype", {
+ writable: !1
+ }), e && setPrototypeOf(t, e);
+}
+export { _inherits as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
new file mode 100644
index 000000000..0bd13306a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
@@ -0,0 +1,5 @@
+import setPrototypeOf from "./setPrototypeOf.js";
+function _inheritsLoose(t, o) {
+ t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);
+}
+export { _inheritsLoose as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js
new file mode 100644
index 000000000..68bcc2cd4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js
@@ -0,0 +1,9 @@
+function _initializerDefineProperty(e, i, r, l) {
+ r && Object.defineProperty(e, i, {
+ enumerable: r.enumerable,
+ configurable: r.configurable,
+ writable: r.writable,
+ value: r.initializer ? r.initializer.call(l) : void 0
+ });
+}
+export { _initializerDefineProperty as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js
new file mode 100644
index 000000000..0a658e39a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js
@@ -0,0 +1,4 @@
+function _initializerWarningHelper(r, e) {
+ throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.");
+}
+export { _initializerWarningHelper as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/instanceof.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/instanceof.js
new file mode 100644
index 000000000..316539ee4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/instanceof.js
@@ -0,0 +1,4 @@
+function _instanceof(n, e) {
+ return null != e && "undefined" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](n) : n instanceof e;
+}
+export { _instanceof as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js
new file mode 100644
index 000000000..365d24819
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js
@@ -0,0 +1,6 @@
+function _interopRequireDefault(e) {
+ return e && e.__esModule ? e : {
+ "default": e
+ };
+}
+export { _interopRequireDefault as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js
new file mode 100644
index 000000000..e190f1e2e
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js
@@ -0,0 +1,27 @@
+import _typeof from "./typeof.js";
+function _getRequireWildcardCache(e) {
+ if ("function" != typeof WeakMap) return null;
+ var r = new WeakMap(),
+ t = new WeakMap();
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
+ return e ? t : r;
+ })(e);
+}
+function _interopRequireWildcard(e, r) {
+ if (!r && e && e.__esModule) return e;
+ if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
+ "default": e
+ };
+ var t = _getRequireWildcardCache(r);
+ if (t && t.has(e)) return t.get(e);
+ var n = {
+ __proto__: null
+ },
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
+ }
+ return n["default"] = e, t && t.set(e, n), n;
+}
+export { _interopRequireWildcard as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
new file mode 100644
index 000000000..0cfe276f8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
@@ -0,0 +1,8 @@
+function _isNativeFunction(t) {
+ try {
+ return -1 !== Function.toString.call(t).indexOf("[native code]");
+ } catch (n) {
+ return "function" == typeof t;
+ }
+}
+export { _isNativeFunction as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
new file mode 100644
index 000000000..0eb5e3951
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
@@ -0,0 +1,9 @@
+function _isNativeReflectConstruct() {
+ try {
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
+ } catch (t) {}
+ return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
+ return !!t;
+ })();
+}
+export { _isNativeReflectConstruct as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArray.js
new file mode 100644
index 000000000..b7de3396a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArray.js
@@ -0,0 +1,4 @@
+function _iterableToArray(r) {
+ if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
+}
+export { _iterableToArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
new file mode 100644
index 000000000..473f06781
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
@@ -0,0 +1,28 @@
+function _iterableToArrayLimit(r, l) {
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (null != t) {
+ var e,
+ n,
+ i,
+ u,
+ a = [],
+ f = !0,
+ o = !1;
+ try {
+ if (i = (t = t.call(r)).next, 0 === l) {
+ if (Object(t) !== t) return;
+ f = !1;
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
+ } catch (r) {
+ o = !0, n = r;
+ } finally {
+ try {
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
+ } finally {
+ if (o) throw n;
+ }
+ }
+ return a;
+ }
+}
+export { _iterableToArrayLimit as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/jsx.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/jsx.js
new file mode 100644
index 000000000..a120e5b66
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/jsx.js
@@ -0,0 +1,22 @@
+var REACT_ELEMENT_TYPE;
+function _createRawReactElement(e, r, E, l) {
+ REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol["for"] && Symbol["for"]("react.element") || 60103);
+ var o = e && e.defaultProps,
+ n = arguments.length - 3;
+ if (r || 0 === n || (r = {
+ children: void 0
+ }), 1 === n) r.children = l;else if (n > 1) {
+ for (var t = Array(n), f = 0; f < n; f++) t[f] = arguments[f + 3];
+ r.children = t;
+ }
+ if (r && o) for (var i in o) void 0 === r[i] && (r[i] = o[i]);else r || (r = o || {});
+ return {
+ $$typeof: REACT_ELEMENT_TYPE,
+ type: e,
+ key: void 0 === E ? null : "" + E,
+ ref: null,
+ props: r,
+ _owner: null
+ };
+}
+export { _createRawReactElement as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js
new file mode 100644
index 000000000..527c682b3
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js
@@ -0,0 +1,9 @@
+import arrayLikeToArray from "./arrayLikeToArray.js";
+function _maybeArrayLike(r, a, e) {
+ if (a && !Array.isArray(a) && "number" == typeof a.length) {
+ var y = a.length;
+ return arrayLikeToArray(a, void 0 !== e && e < y ? e : y);
+ }
+ return r(a, e);
+}
+export { _maybeArrayLike as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js
new file mode 100644
index 000000000..5f70e0d79
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js
@@ -0,0 +1,4 @@
+function _newArrowCheck(n, r) {
+ if (n !== r) throw new TypeError("Cannot instantiate an arrow function");
+}
+export { _newArrowCheck as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
new file mode 100644
index 000000000..9050250b1
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
@@ -0,0 +1,4 @@
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+export { _nonIterableRest as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
new file mode 100644
index 000000000..fb03235ae
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
@@ -0,0 +1,4 @@
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+export { _nonIterableSpread as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js
new file mode 100644
index 000000000..d8c306046
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js
@@ -0,0 +1,4 @@
+function _nullishReceiverError(r) {
+ throw new TypeError("Cannot set property of null or undefined.");
+}
+export { _nullishReceiverError as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js
new file mode 100644
index 000000000..a92eac8f9
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js
@@ -0,0 +1,4 @@
+function _objectDestructuringEmpty(t) {
+ if (null == t) throw new TypeError("Cannot destructure " + t);
+}
+export { _objectDestructuringEmpty as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread.js
new file mode 100644
index 000000000..0f82f069c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread.js
@@ -0,0 +1,14 @@
+import defineProperty from "./defineProperty.js";
+function _objectSpread(e) {
+ for (var r = 1; r < arguments.length; r++) {
+ var t = null != arguments[r] ? Object(arguments[r]) : {},
+ o = Object.keys(t);
+ "function" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) {
+ return Object.getOwnPropertyDescriptor(t, e).enumerable;
+ })), o.forEach(function (r) {
+ defineProperty(e, r, t[r]);
+ });
+ }
+ return e;
+}
+export { _objectSpread as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread2.js
new file mode 100644
index 000000000..0035bc762
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectSpread2.js
@@ -0,0 +1,23 @@
+import defineProperty from "./defineProperty.js";
+function ownKeys(e, r) {
+ var t = Object.keys(e);
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e);
+ r && (o = o.filter(function (r) {
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
+ })), t.push.apply(t, o);
+ }
+ return t;
+}
+function _objectSpread2(e) {
+ for (var r = 1; r < arguments.length; r++) {
+ var t = null != arguments[r] ? arguments[r] : {};
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
+ defineProperty(e, r, t[r]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
+ });
+ }
+ return e;
+}
+export { _objectSpread2 as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
new file mode 100644
index 000000000..c5e7cf21e
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
@@ -0,0 +1,13 @@
+import objectWithoutPropertiesLoose from "./objectWithoutPropertiesLoose.js";
+function _objectWithoutProperties(e, t) {
+ if (null == e) return {};
+ var o,
+ r,
+ i = objectWithoutPropertiesLoose(e, t);
+ if (Object.getOwnPropertySymbols) {
+ var s = Object.getOwnPropertySymbols(e);
+ for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
+ }
+ return i;
+}
+export { _objectWithoutProperties as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
new file mode 100644
index 000000000..b203b438a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
@@ -0,0 +1,10 @@
+function _objectWithoutPropertiesLoose(r, e) {
+ if (null == r) return {};
+ var t = {};
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
+ if (e.includes(n)) continue;
+ t[n] = r[n];
+ }
+ return t;
+}
+export { _objectWithoutPropertiesLoose as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/package.json b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/package.json
new file mode 100644
index 000000000..aead43de3
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
new file mode 100644
index 000000000..d84e1e6fc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
@@ -0,0 +1,8 @@
+import _typeof from "./typeof.js";
+import assertThisInitialized from "./assertThisInitialized.js";
+function _possibleConstructorReturn(t, e) {
+ if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
+ if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
+ return assertThisInitialized(t);
+}
+export { _possibleConstructorReturn as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/readOnlyError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/readOnlyError.js
new file mode 100644
index 000000000..fcc3e339c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/readOnlyError.js
@@ -0,0 +1,4 @@
+function _readOnlyError(r) {
+ throw new TypeError('"' + r + '" is read-only');
+}
+export { _readOnlyError as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js
new file mode 100644
index 000000000..19c78cde9
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js
@@ -0,0 +1,304 @@
+import _typeof from "./typeof.js";
+function _regeneratorRuntime() {
+ "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
+ _regeneratorRuntime = function _regeneratorRuntime() {
+ return e;
+ };
+ var t,
+ e = {},
+ r = Object.prototype,
+ n = r.hasOwnProperty,
+ o = Object.defineProperty || function (t, e, r) {
+ t[e] = r.value;
+ },
+ i = "function" == typeof Symbol ? Symbol : {},
+ a = i.iterator || "@@iterator",
+ c = i.asyncIterator || "@@asyncIterator",
+ u = i.toStringTag || "@@toStringTag";
+ function define(t, e, r) {
+ return Object.defineProperty(t, e, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }), t[e];
+ }
+ try {
+ define({}, "");
+ } catch (t) {
+ define = function define(t, e, r) {
+ return t[e] = r;
+ };
+ }
+ function wrap(t, e, r, n) {
+ var i = e && e.prototype instanceof Generator ? e : Generator,
+ a = Object.create(i.prototype),
+ c = new Context(n || []);
+ return o(a, "_invoke", {
+ value: makeInvokeMethod(t, r, c)
+ }), a;
+ }
+ function tryCatch(t, e, r) {
+ try {
+ return {
+ type: "normal",
+ arg: t.call(e, r)
+ };
+ } catch (t) {
+ return {
+ type: "throw",
+ arg: t
+ };
+ }
+ }
+ e.wrap = wrap;
+ var h = "suspendedStart",
+ l = "suspendedYield",
+ f = "executing",
+ s = "completed",
+ y = {};
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+ var p = {};
+ define(p, a, function () {
+ return this;
+ });
+ var d = Object.getPrototypeOf,
+ v = d && d(d(values([])));
+ v && v !== r && n.call(v, a) && (p = v);
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
+ function defineIteratorMethods(t) {
+ ["next", "throw", "return"].forEach(function (e) {
+ define(t, e, function (t) {
+ return this._invoke(e, t);
+ });
+ });
+ }
+ function AsyncIterator(t, e) {
+ function invoke(r, o, i, a) {
+ var c = tryCatch(t[r], t, o);
+ if ("throw" !== c.type) {
+ var u = c.arg,
+ h = u.value;
+ return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
+ invoke("next", t, i, a);
+ }, function (t) {
+ invoke("throw", t, i, a);
+ }) : e.resolve(h).then(function (t) {
+ u.value = t, i(u);
+ }, function (t) {
+ return invoke("throw", t, i, a);
+ });
+ }
+ a(c.arg);
+ }
+ var r;
+ o(this, "_invoke", {
+ value: function value(t, n) {
+ function callInvokeWithMethodAndArg() {
+ return new e(function (e, r) {
+ invoke(t, n, e, r);
+ });
+ }
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+ }
+ });
+ }
+ function makeInvokeMethod(e, r, n) {
+ var o = h;
+ return function (i, a) {
+ if (o === f) throw Error("Generator is already running");
+ if (o === s) {
+ if ("throw" === i) throw a;
+ return {
+ value: t,
+ done: !0
+ };
+ }
+ for (n.method = i, n.arg = a;;) {
+ var c = n.delegate;
+ if (c) {
+ var u = maybeInvokeDelegate(c, n);
+ if (u) {
+ if (u === y) continue;
+ return u;
+ }
+ }
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
+ if (o === h) throw o = s, n.arg;
+ n.dispatchException(n.arg);
+ } else "return" === n.method && n.abrupt("return", n.arg);
+ o = f;
+ var p = tryCatch(e, r, n);
+ if ("normal" === p.type) {
+ if (o = n.done ? s : l, p.arg === y) continue;
+ return {
+ value: p.arg,
+ done: n.done
+ };
+ }
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
+ }
+ };
+ }
+ function maybeInvokeDelegate(e, r) {
+ var n = r.method,
+ o = e.iterator[n];
+ if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
+ var i = tryCatch(o, e.iterator, r.arg);
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
+ var a = i.arg;
+ return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
+ }
+ function pushTryEntry(t) {
+ var e = {
+ tryLoc: t[0]
+ };
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
+ }
+ function resetTryEntry(t) {
+ var e = t.completion || {};
+ e.type = "normal", delete e.arg, t.completion = e;
+ }
+ function Context(t) {
+ this.tryEntries = [{
+ tryLoc: "root"
+ }], t.forEach(pushTryEntry, this), this.reset(!0);
+ }
+ function values(e) {
+ if (e || "" === e) {
+ var r = e[a];
+ if (r) return r.call(e);
+ if ("function" == typeof e.next) return e;
+ if (!isNaN(e.length)) {
+ var o = -1,
+ i = function next() {
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
+ return next.value = t, next.done = !0, next;
+ };
+ return i.next = i;
+ }
+ }
+ throw new TypeError(_typeof(e) + " is not iterable");
+ }
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
+ value: GeneratorFunctionPrototype,
+ configurable: !0
+ }), o(GeneratorFunctionPrototype, "constructor", {
+ value: GeneratorFunction,
+ configurable: !0
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
+ var e = "function" == typeof t && t.constructor;
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
+ }, e.mark = function (t) {
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
+ }, e.awrap = function (t) {
+ return {
+ __await: t
+ };
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
+ return this;
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
+ void 0 === i && (i = Promise);
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
+ return t.done ? t.value : a.next();
+ });
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
+ return this;
+ }), define(g, "toString", function () {
+ return "[object Generator]";
+ }), e.keys = function (t) {
+ var e = Object(t),
+ r = [];
+ for (var n in e) r.push(n);
+ return r.reverse(), function next() {
+ for (; r.length;) {
+ var t = r.pop();
+ if (t in e) return next.value = t, next.done = !1, next;
+ }
+ return next.done = !0, next;
+ };
+ }, e.values = values, Context.prototype = {
+ constructor: Context,
+ reset: function reset(e) {
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
+ },
+ stop: function stop() {
+ this.done = !0;
+ var t = this.tryEntries[0].completion;
+ if ("throw" === t.type) throw t.arg;
+ return this.rval;
+ },
+ dispatchException: function dispatchException(e) {
+ if (this.done) throw e;
+ var r = this;
+ function handle(n, o) {
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
+ }
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
+ var i = this.tryEntries[o],
+ a = i.completion;
+ if ("root" === i.tryLoc) return handle("end");
+ if (i.tryLoc <= this.prev) {
+ var c = n.call(i, "catchLoc"),
+ u = n.call(i, "finallyLoc");
+ if (c && u) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ } else if (c) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ } else {
+ if (!u) throw Error("try statement without catch or finally");
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ }
+ }
+ }
+ },
+ abrupt: function abrupt(t, e) {
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
+ var o = this.tryEntries[r];
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
+ var i = o;
+ break;
+ }
+ }
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
+ var a = i ? i.completion : {};
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
+ },
+ complete: function complete(t, e) {
+ if ("throw" === t.type) throw t.arg;
+ return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
+ },
+ finish: function finish(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
+ }
+ },
+ "catch": function _catch(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.tryLoc === t) {
+ var n = r.completion;
+ if ("throw" === n.type) {
+ var o = n.arg;
+ resetTryEntry(r);
+ }
+ return o;
+ }
+ }
+ throw Error("illegal catch attempt");
+ },
+ delegateYield: function delegateYield(e, r, n) {
+ return this.delegate = {
+ iterator: values(e),
+ resultName: r,
+ nextLoc: n
+ }, "next" === this.method && (this.arg = t), y;
+ }
+ }, e;
+}
+export { _regeneratorRuntime as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/set.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/set.js
new file mode 100644
index 000000000..ed0a80399
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/set.js
@@ -0,0 +1,22 @@
+import superPropBase from "./superPropBase.js";
+import defineProperty from "./defineProperty.js";
+function set(e, r, t, o) {
+ return set = "undefined" != typeof Reflect && Reflect.set ? Reflect.set : function (e, r, t, o) {
+ var f,
+ i = superPropBase(e, r);
+ if (i) {
+ if ((f = Object.getOwnPropertyDescriptor(i, r)).set) return f.set.call(o, t), !0;
+ if (!f.writable) return !1;
+ }
+ if (f = Object.getOwnPropertyDescriptor(o, r)) {
+ if (!f.writable) return !1;
+ f.value = t, Object.defineProperty(o, r, f);
+ } else defineProperty(o, r, t);
+ return !0;
+ }, set(e, r, t, o);
+}
+function _set(e, r, t, o, f) {
+ if (!set(e, r, t, o || e) && f) throw new TypeError("failed to set property");
+ return t;
+}
+export { _set as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setFunctionName.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setFunctionName.js
new file mode 100644
index 000000000..82213cea5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setFunctionName.js
@@ -0,0 +1,12 @@
+import _typeof from "./typeof.js";
+function setFunctionName(e, t, n) {
+ "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : "");
+ try {
+ Object.defineProperty(e, "name", {
+ configurable: !0,
+ value: n ? n + " " + t : t
+ });
+ } catch (e) {}
+ return e;
+}
+export { setFunctionName as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
new file mode 100644
index 000000000..c30983c96
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
@@ -0,0 +1,6 @@
+function _setPrototypeOf(t, e) {
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
+ return t.__proto__ = e, t;
+ }, _setPrototypeOf(t, e);
+}
+export { _setPrototypeOf as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js
new file mode 100644
index 000000000..41d5738cd
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js
@@ -0,0 +1,7 @@
+function _skipFirstGeneratorNext(t) {
+ return function () {
+ var r = t.apply(this, arguments);
+ return r.next(), r;
+ };
+}
+export { _skipFirstGeneratorNext as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/slicedToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/slicedToArray.js
new file mode 100644
index 000000000..c044c2a6a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/slicedToArray.js
@@ -0,0 +1,8 @@
+import arrayWithHoles from "./arrayWithHoles.js";
+import iterableToArrayLimit from "./iterableToArrayLimit.js";
+import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
+import nonIterableRest from "./nonIterableRest.js";
+function _slicedToArray(r, e) {
+ return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();
+}
+export { _slicedToArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropBase.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropBase.js
new file mode 100644
index 000000000..a5fa38614
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropBase.js
@@ -0,0 +1,6 @@
+import getPrototypeOf from "./getPrototypeOf.js";
+function _superPropBase(t, o) {
+ for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););
+ return t;
+}
+export { _superPropBase as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropGet.js
new file mode 100644
index 000000000..b2b60a873
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropGet.js
@@ -0,0 +1,9 @@
+import get from "./get.js";
+import getPrototypeOf from "./getPrototypeOf.js";
+function _superPropGet(t, o, e, r) {
+ var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e);
+ return 2 & r && "function" == typeof p ? function (t) {
+ return p.apply(e, t);
+ } : p;
+}
+export { _superPropGet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropSet.js
new file mode 100644
index 000000000..e182f386d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/superPropSet.js
@@ -0,0 +1,6 @@
+import set from "./set.js";
+import getPrototypeOf from "./getPrototypeOf.js";
+function _superPropSet(t, e, o, r, p, f) {
+ return set(getPrototypeOf(f ? t.prototype : t), e, o, r, p);
+}
+export { _superPropSet as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js
new file mode 100644
index 000000000..3d842cda0
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js
@@ -0,0 +1,8 @@
+function _taggedTemplateLiteral(e, t) {
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
+ raw: {
+ value: Object.freeze(t)
+ }
+ }));
+}
+export { _taggedTemplateLiteral as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js
new file mode 100644
index 000000000..741aeb851
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js
@@ -0,0 +1,4 @@
+function _taggedTemplateLiteralLoose(e, t) {
+ return t || (t = e.slice(0)), e.raw = t, e;
+}
+export { _taggedTemplateLiteralLoose as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/tdz.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/tdz.js
new file mode 100644
index 000000000..58df493f4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/tdz.js
@@ -0,0 +1,4 @@
+function _tdzError(e) {
+ throw new ReferenceError(e + " is not defined - temporal dead zone");
+}
+export { _tdzError as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalRef.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalRef.js
new file mode 100644
index 000000000..8dbf014d0
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalRef.js
@@ -0,0 +1,6 @@
+import temporalUndefined from "./temporalUndefined.js";
+import tdz from "./tdz.js";
+function _temporalRef(r, e) {
+ return r === temporalUndefined ? tdz(e) : r;
+}
+export { _temporalRef as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js
new file mode 100644
index 000000000..2ec0b0dab
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js
@@ -0,0 +1,2 @@
+function _temporalUndefined() {}
+export { _temporalUndefined as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toArray.js
new file mode 100644
index 000000000..e5f0f52a5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toArray.js
@@ -0,0 +1,8 @@
+import arrayWithHoles from "./arrayWithHoles.js";
+import iterableToArray from "./iterableToArray.js";
+import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
+import nonIterableRest from "./nonIterableRest.js";
+function _toArray(r) {
+ return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();
+}
+export { _toArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
new file mode 100644
index 000000000..f7338e4d5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
@@ -0,0 +1,8 @@
+import arrayWithoutHoles from "./arrayWithoutHoles.js";
+import iterableToArray from "./iterableToArray.js";
+import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
+import nonIterableSpread from "./nonIterableSpread.js";
+function _toConsumableArray(r) {
+ return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();
+}
+export { _toConsumableArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPrimitive.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPrimitive.js
new file mode 100644
index 000000000..9a3de46b5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPrimitive.js
@@ -0,0 +1,12 @@
+import _typeof from "./typeof.js";
+function toPrimitive(t, r) {
+ if ("object" != _typeof(t) || !t) return t;
+ var e = t[Symbol.toPrimitive];
+ if (void 0 !== e) {
+ var i = e.call(t, r || "default");
+ if ("object" != _typeof(i)) return i;
+ throw new TypeError("@@toPrimitive must return a primitive value.");
+ }
+ return ("string" === r ? String : Number)(t);
+}
+export { toPrimitive as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
new file mode 100644
index 000000000..b3274d877
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
@@ -0,0 +1,7 @@
+import _typeof from "./typeof.js";
+import toPrimitive from "./toPrimitive.js";
+function toPropertyKey(t) {
+ var i = toPrimitive(t, "string");
+ return "symbol" == _typeof(i) ? i : i + "";
+}
+export { toPropertyKey as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toSetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toSetter.js
new file mode 100644
index 000000000..b1dbf7ae4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/toSetter.js
@@ -0,0 +1,10 @@
+function _toSetter(t, e, n) {
+ e || (e = []);
+ var r = e.length++;
+ return Object.defineProperty({}, "_", {
+ set: function set(o) {
+ e[r] = o, t.apply(n, e);
+ }
+ });
+}
+export { _toSetter as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/typeof.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/typeof.js
new file mode 100644
index 000000000..5b0bc9b05
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/typeof.js
@@ -0,0 +1,10 @@
+function _typeof(o) {
+ "@babel/helpers - typeof";
+
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
+ return typeof o;
+ } : function (o) {
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
+ }, _typeof(o);
+}
+export { _typeof as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
new file mode 100644
index 000000000..33adc4938
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
@@ -0,0 +1,9 @@
+import arrayLikeToArray from "./arrayLikeToArray.js";
+function _unsupportedIterableToArray(r, a) {
+ if (r) {
+ if ("string" == typeof r) return arrayLikeToArray(r, a);
+ var t = {}.toString.call(r).slice(8, -1);
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;
+ }
+}
+export { _unsupportedIterableToArray as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/using.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/using.js
new file mode 100644
index 000000000..9bda17b55
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/using.js
@@ -0,0 +1,12 @@
+function _using(o, n, e) {
+ if (null == n) return n;
+ if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
+ if (e) var r = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
+ if (null == r && (r = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof r) throw new TypeError("Property [Symbol.dispose] is not a function.");
+ return o.push({
+ v: n,
+ d: r,
+ a: e
+ }), n;
+}
+export { _using as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/usingCtx.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/usingCtx.js
new file mode 100644
index 000000000..1464379f7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/usingCtx.js
@@ -0,0 +1,59 @@
+function _usingCtx() {
+ var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) {
+ var n = Error();
+ return n.name = "SuppressedError", n.error = r, n.suppressed = e, n;
+ },
+ e = {},
+ n = [];
+ function using(r, e) {
+ if (null != e) {
+ if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
+ if (r) var o = e[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
+ if (void 0 === o && (o = e[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r)) var t = o;
+ if ("function" != typeof o) throw new TypeError("Object is not disposable.");
+ t && (o = function o() {
+ try {
+ t.call(e);
+ } catch (r) {
+ return Promise.reject(r);
+ }
+ }), n.push({
+ v: e,
+ d: o,
+ a: r
+ });
+ } else r && n.push({
+ d: e,
+ a: r
+ });
+ return e;
+ }
+ return {
+ e: e,
+ u: using.bind(null, !1),
+ a: using.bind(null, !0),
+ d: function d() {
+ var o,
+ t = this.e,
+ s = 0;
+ function next() {
+ for (; o = n.pop();) try {
+ if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);
+ if (o.d) {
+ var r = o.d.call(o.v);
+ if (o.a) return s |= 2, Promise.resolve(r).then(next, err);
+ } else s |= 1;
+ } catch (r) {
+ return err(r);
+ }
+ if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();
+ if (t !== e) throw t;
+ }
+ function err(n) {
+ return t = t !== e ? new r(n, t) : n, next();
+ }
+ return next();
+ }
+ };
+}
+export { _usingCtx as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js
new file mode 100644
index 000000000..ffeea5d9c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js
@@ -0,0 +1,69 @@
+import OverloadYield from "./OverloadYield.js";
+function _wrapAsyncGenerator(e) {
+ return function () {
+ return new AsyncGenerator(e.apply(this, arguments));
+ };
+}
+function AsyncGenerator(e) {
+ var r, t;
+ function resume(r, t) {
+ try {
+ var n = e[r](t),
+ o = n.value,
+ u = o instanceof OverloadYield;
+ Promise.resolve(u ? o.v : o).then(function (t) {
+ if (u) {
+ var i = "return" === r ? "return" : "next";
+ if (!o.k || t.done) return resume(i, t);
+ t = e[i](t).value;
+ }
+ settle(n.done ? "return" : "normal", t);
+ }, function (e) {
+ resume("throw", e);
+ });
+ } catch (e) {
+ settle("throw", e);
+ }
+ }
+ function settle(e, n) {
+ switch (e) {
+ case "return":
+ r.resolve({
+ value: n,
+ done: !0
+ });
+ break;
+ case "throw":
+ r.reject(n);
+ break;
+ default:
+ r.resolve({
+ value: n,
+ done: !1
+ });
+ }
+ (r = r.next) ? resume(r.key, r.arg) : t = null;
+ }
+ this._invoke = function (e, n) {
+ return new Promise(function (o, u) {
+ var i = {
+ key: e,
+ arg: n,
+ resolve: o,
+ reject: u,
+ next: null
+ };
+ t ? t = t.next = i : (r = t = i, resume(e, n));
+ });
+ }, "function" != typeof e["return"] && (this["return"] = void 0);
+}
+AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () {
+ return this;
+}, AsyncGenerator.prototype.next = function (e) {
+ return this._invoke("next", e);
+}, AsyncGenerator.prototype["throw"] = function (e) {
+ return this._invoke("throw", e);
+}, AsyncGenerator.prototype["return"] = function (e) {
+ return this._invoke("return", e);
+};
+export { _wrapAsyncGenerator as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
new file mode 100644
index 000000000..15bf78f53
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
@@ -0,0 +1,27 @@
+import getPrototypeOf from "./getPrototypeOf.js";
+import setPrototypeOf from "./setPrototypeOf.js";
+import isNativeFunction from "./isNativeFunction.js";
+import construct from "./construct.js";
+function _wrapNativeSuper(t) {
+ var r = "function" == typeof Map ? new Map() : void 0;
+ return _wrapNativeSuper = function _wrapNativeSuper(t) {
+ if (null === t || !isNativeFunction(t)) return t;
+ if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
+ if (void 0 !== r) {
+ if (r.has(t)) return r.get(t);
+ r.set(t, Wrapper);
+ }
+ function Wrapper() {
+ return construct(t, arguments, getPrototypeOf(this).constructor);
+ }
+ return Wrapper.prototype = Object.create(t.prototype, {
+ constructor: {
+ value: Wrapper,
+ enumerable: !1,
+ writable: !0,
+ configurable: !0
+ }
+ }), setPrototypeOf(Wrapper, t);
+ }, _wrapNativeSuper(t);
+}
+export { _wrapNativeSuper as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js
new file mode 100644
index 000000000..ecf821e7d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js
@@ -0,0 +1,51 @@
+import _typeof from "./typeof.js";
+import setPrototypeOf from "./setPrototypeOf.js";
+import inherits from "./inherits.js";
+function _wrapRegExp() {
+ _wrapRegExp = function _wrapRegExp(e, r) {
+ return new BabelRegExp(e, void 0, r);
+ };
+ var e = RegExp.prototype,
+ r = new WeakMap();
+ function BabelRegExp(e, t, p) {
+ var o = RegExp(e, t);
+ return r.set(o, p || r.get(e)), setPrototypeOf(o, BabelRegExp.prototype);
+ }
+ function buildGroups(e, t) {
+ var p = r.get(t);
+ return Object.keys(p).reduce(function (r, t) {
+ var o = p[t];
+ if ("number" == typeof o) r[t] = e[o];else {
+ for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;
+ r[t] = e[o[i]];
+ }
+ return r;
+ }, Object.create(null));
+ }
+ return inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {
+ var t = e.exec.call(this, r);
+ if (t) {
+ t.groups = buildGroups(t, this);
+ var p = t.indices;
+ p && (p.groups = buildGroups(p, this));
+ }
+ return t;
+ }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {
+ if ("string" == typeof p) {
+ var o = r.get(this);
+ return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) {
+ var t = o[r];
+ return "$" + (Array.isArray(t) ? t.join("$") : t);
+ }));
+ }
+ if ("function" == typeof p) {
+ var i = this;
+ return e[Symbol.replace].call(this, t, function () {
+ var e = arguments;
+ return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);
+ });
+ }
+ return e[Symbol.replace].call(this, t, p);
+ }, _wrapRegExp.apply(this, arguments);
+}
+export { _wrapRegExp as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js
new file mode 100644
index 000000000..250c2869f
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js
@@ -0,0 +1,4 @@
+function _writeOnlyError(r) {
+ throw new TypeError('"' + r + '" is write-only');
+}
+export { _writeOnlyError as default };
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/extends.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/extends.js
new file mode 100644
index 000000000..eee4a1f43
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/extends.js
@@ -0,0 +1,10 @@
+function _extends() {
+ return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {
+ for (var e = 1; e < arguments.length; e++) {
+ var t = arguments[e];
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
+ }
+ return n;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments);
+}
+module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/get.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/get.js
new file mode 100644
index 000000000..15428ded5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/get.js
@@ -0,0 +1,11 @@
+var superPropBase = require("./superPropBase.js");
+function _get() {
+ return module.exports = _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {
+ var p = superPropBase(e, t);
+ if (p) {
+ var n = Object.getOwnPropertyDescriptor(p, t);
+ return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
+ }
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _get.apply(null, arguments);
+}
+module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/getPrototypeOf.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/getPrototypeOf.js
new file mode 100644
index 000000000..90707481a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/getPrototypeOf.js
@@ -0,0 +1,6 @@
+function _getPrototypeOf(t) {
+ return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
+ return t.__proto__ || Object.getPrototypeOf(t);
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t);
+}
+module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/identity.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/identity.js
new file mode 100644
index 000000000..54de5b5b8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/identity.js
@@ -0,0 +1,4 @@
+function _identity(t) {
+ return t;
+}
+module.exports = _identity, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/importDeferProxy.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/importDeferProxy.js
new file mode 100644
index 000000000..cffaae65f
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/importDeferProxy.js
@@ -0,0 +1,27 @@
+function _importDeferProxy(e) {
+ var t = null,
+ constValue = function constValue(e) {
+ return function () {
+ return e;
+ };
+ },
+ proxy = function proxy(r) {
+ return function (n, o, f) {
+ return null === t && (t = e()), r(t, o, f);
+ };
+ };
+ return new Proxy({}, {
+ defineProperty: constValue(!1),
+ deleteProperty: constValue(!1),
+ get: proxy(Reflect.get),
+ getOwnPropertyDescriptor: proxy(Reflect.getOwnPropertyDescriptor),
+ getPrototypeOf: constValue(null),
+ isExtensible: constValue(!1),
+ has: proxy(Reflect.has),
+ ownKeys: proxy(Reflect.ownKeys),
+ preventExtensions: constValue(!0),
+ set: constValue(!1),
+ setPrototypeOf: constValue(!1)
+ });
+}
+module.exports = _importDeferProxy, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inherits.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inherits.js
new file mode 100644
index 000000000..715a78ef5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inherits.js
@@ -0,0 +1,14 @@
+var setPrototypeOf = require("./setPrototypeOf.js");
+function _inherits(t, e) {
+ if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
+ t.prototype = Object.create(e && e.prototype, {
+ constructor: {
+ value: t,
+ writable: !0,
+ configurable: !0
+ }
+ }), Object.defineProperty(t, "prototype", {
+ writable: !1
+ }), e && setPrototypeOf(t, e);
+}
+module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inheritsLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inheritsLoose.js
new file mode 100644
index 000000000..a27baf017
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/inheritsLoose.js
@@ -0,0 +1,5 @@
+var setPrototypeOf = require("./setPrototypeOf.js");
+function _inheritsLoose(t, o) {
+ t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);
+}
+module.exports = _inheritsLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerDefineProperty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerDefineProperty.js
new file mode 100644
index 000000000..f9fa31730
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerDefineProperty.js
@@ -0,0 +1,9 @@
+function _initializerDefineProperty(e, i, r, l) {
+ r && Object.defineProperty(e, i, {
+ enumerable: r.enumerable,
+ configurable: r.configurable,
+ writable: r.writable,
+ value: r.initializer ? r.initializer.call(l) : void 0
+ });
+}
+module.exports = _initializerDefineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerWarningHelper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerWarningHelper.js
new file mode 100644
index 000000000..e14ce59a0
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/initializerWarningHelper.js
@@ -0,0 +1,4 @@
+function _initializerWarningHelper(r, e) {
+ throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.");
+}
+module.exports = _initializerWarningHelper, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/instanceof.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/instanceof.js
new file mode 100644
index 000000000..9952301dc
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/instanceof.js
@@ -0,0 +1,4 @@
+function _instanceof(n, e) {
+ return null != e && "undefined" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](n) : n instanceof e;
+}
+module.exports = _instanceof, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js
new file mode 100644
index 000000000..69447158f
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js
@@ -0,0 +1,6 @@
+function _interopRequireDefault(e) {
+ return e && e.__esModule ? e : {
+ "default": e
+ };
+}
+module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireWildcard.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireWildcard.js
new file mode 100644
index 000000000..41411cc30
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/interopRequireWildcard.js
@@ -0,0 +1,27 @@
+var _typeof = require("./typeof.js")["default"];
+function _getRequireWildcardCache(e) {
+ if ("function" != typeof WeakMap) return null;
+ var r = new WeakMap(),
+ t = new WeakMap();
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
+ return e ? t : r;
+ })(e);
+}
+function _interopRequireWildcard(e, r) {
+ if (!r && e && e.__esModule) return e;
+ if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
+ "default": e
+ };
+ var t = _getRequireWildcardCache(r);
+ if (t && t.has(e)) return t.get(e);
+ var n = {
+ __proto__: null
+ },
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
+ }
+ return n["default"] = e, t && t.set(e, n), n;
+}
+module.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeFunction.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeFunction.js
new file mode 100644
index 000000000..f0eb49e3f
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeFunction.js
@@ -0,0 +1,8 @@
+function _isNativeFunction(t) {
+ try {
+ return -1 !== Function.toString.call(t).indexOf("[native code]");
+ } catch (n) {
+ return "function" == typeof t;
+ }
+}
+module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js
new file mode 100644
index 000000000..b677e1076
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js
@@ -0,0 +1,9 @@
+function _isNativeReflectConstruct() {
+ try {
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
+ } catch (t) {}
+ return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {
+ return !!t;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
+}
+module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArray.js
new file mode 100644
index 000000000..c839a3216
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArray.js
@@ -0,0 +1,4 @@
+function _iterableToArray(r) {
+ if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
+}
+module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js
new file mode 100644
index 000000000..2671778bf
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js
@@ -0,0 +1,28 @@
+function _iterableToArrayLimit(r, l) {
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+ if (null != t) {
+ var e,
+ n,
+ i,
+ u,
+ a = [],
+ f = !0,
+ o = !1;
+ try {
+ if (i = (t = t.call(r)).next, 0 === l) {
+ if (Object(t) !== t) return;
+ f = !1;
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
+ } catch (r) {
+ o = !0, n = r;
+ } finally {
+ try {
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
+ } finally {
+ if (o) throw n;
+ }
+ }
+ return a;
+ }
+}
+module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/jsx.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/jsx.js
new file mode 100644
index 000000000..3415eead6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/jsx.js
@@ -0,0 +1,22 @@
+var REACT_ELEMENT_TYPE;
+function _createRawReactElement(e, r, E, l) {
+ REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol["for"] && Symbol["for"]("react.element") || 60103);
+ var o = e && e.defaultProps,
+ n = arguments.length - 3;
+ if (r || 0 === n || (r = {
+ children: void 0
+ }), 1 === n) r.children = l;else if (n > 1) {
+ for (var t = Array(n), f = 0; f < n; f++) t[f] = arguments[f + 3];
+ r.children = t;
+ }
+ if (r && o) for (var i in o) void 0 === r[i] && (r[i] = o[i]);else r || (r = o || {});
+ return {
+ $$typeof: REACT_ELEMENT_TYPE,
+ type: e,
+ key: void 0 === E ? null : "" + E,
+ ref: null,
+ props: r,
+ _owner: null
+ };
+}
+module.exports = _createRawReactElement, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/maybeArrayLike.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/maybeArrayLike.js
new file mode 100644
index 000000000..9873cc76b
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/maybeArrayLike.js
@@ -0,0 +1,9 @@
+var arrayLikeToArray = require("./arrayLikeToArray.js");
+function _maybeArrayLike(r, a, e) {
+ if (a && !Array.isArray(a) && "number" == typeof a.length) {
+ var y = a.length;
+ return arrayLikeToArray(a, void 0 !== e && e < y ? e : y);
+ }
+ return r(a, e);
+}
+module.exports = _maybeArrayLike, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/newArrowCheck.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/newArrowCheck.js
new file mode 100644
index 000000000..8e74d9916
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/newArrowCheck.js
@@ -0,0 +1,4 @@
+function _newArrowCheck(n, r) {
+ if (n !== r) throw new TypeError("Cannot instantiate an arrow function");
+}
+module.exports = _newArrowCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableRest.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableRest.js
new file mode 100644
index 000000000..95265ba32
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableRest.js
@@ -0,0 +1,4 @@
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableSpread.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableSpread.js
new file mode 100644
index 000000000..3fcf23f04
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nonIterableSpread.js
@@ -0,0 +1,4 @@
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nullishReceiverError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nullishReceiverError.js
new file mode 100644
index 000000000..970e02319
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/nullishReceiverError.js
@@ -0,0 +1,4 @@
+function _nullishReceiverError(r) {
+ throw new TypeError("Cannot set property of null or undefined.");
+}
+module.exports = _nullishReceiverError, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js
new file mode 100644
index 000000000..9f62a1b05
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js
@@ -0,0 +1,4 @@
+function _objectDestructuringEmpty(t) {
+ if (null == t) throw new TypeError("Cannot destructure " + t);
+}
+module.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread.js
new file mode 100644
index 000000000..a36764381
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread.js
@@ -0,0 +1,14 @@
+var defineProperty = require("./defineProperty.js");
+function _objectSpread(e) {
+ for (var r = 1; r < arguments.length; r++) {
+ var t = null != arguments[r] ? Object(arguments[r]) : {},
+ o = Object.keys(t);
+ "function" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) {
+ return Object.getOwnPropertyDescriptor(t, e).enumerable;
+ })), o.forEach(function (r) {
+ defineProperty(e, r, t[r]);
+ });
+ }
+ return e;
+}
+module.exports = _objectSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread2.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread2.js
new file mode 100644
index 000000000..4f3b9fa02
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectSpread2.js
@@ -0,0 +1,23 @@
+var defineProperty = require("./defineProperty.js");
+function ownKeys(e, r) {
+ var t = Object.keys(e);
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e);
+ r && (o = o.filter(function (r) {
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
+ })), t.push.apply(t, o);
+ }
+ return t;
+}
+function _objectSpread2(e) {
+ for (var r = 1; r < arguments.length; r++) {
+ var t = null != arguments[r] ? arguments[r] : {};
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
+ defineProperty(e, r, t[r]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
+ });
+ }
+ return e;
+}
+module.exports = _objectSpread2, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutProperties.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutProperties.js
new file mode 100644
index 000000000..6482b9868
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutProperties.js
@@ -0,0 +1,13 @@
+var objectWithoutPropertiesLoose = require("./objectWithoutPropertiesLoose.js");
+function _objectWithoutProperties(e, t) {
+ if (null == e) return {};
+ var o,
+ r,
+ i = objectWithoutPropertiesLoose(e, t);
+ if (Object.getOwnPropertySymbols) {
+ var s = Object.getOwnPropertySymbols(e);
+ for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
+ }
+ return i;
+}
+module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
new file mode 100644
index 000000000..2465e3b92
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
@@ -0,0 +1,10 @@
+function _objectWithoutPropertiesLoose(r, e) {
+ if (null == r) return {};
+ var t = {};
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
+ if (e.includes(n)) continue;
+ t[n] = r[n];
+ }
+ return t;
+}
+module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
new file mode 100644
index 000000000..06e6e6d86
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
@@ -0,0 +1,8 @@
+var _typeof = require("./typeof.js")["default"];
+var assertThisInitialized = require("./assertThisInitialized.js");
+function _possibleConstructorReturn(t, e) {
+ if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
+ if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
+ return assertThisInitialized(t);
+}
+module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/readOnlyError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/readOnlyError.js
new file mode 100644
index 000000000..1bf3e0929
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/readOnlyError.js
@@ -0,0 +1,4 @@
+function _readOnlyError(r) {
+ throw new TypeError('"' + r + '" is read-only');
+}
+module.exports = _readOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/regeneratorRuntime.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/regeneratorRuntime.js
new file mode 100644
index 000000000..f33e49451
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/regeneratorRuntime.js
@@ -0,0 +1,304 @@
+var _typeof = require("./typeof.js")["default"];
+function _regeneratorRuntime() {
+ "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
+ module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
+ return e;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
+ var t,
+ e = {},
+ r = Object.prototype,
+ n = r.hasOwnProperty,
+ o = Object.defineProperty || function (t, e, r) {
+ t[e] = r.value;
+ },
+ i = "function" == typeof Symbol ? Symbol : {},
+ a = i.iterator || "@@iterator",
+ c = i.asyncIterator || "@@asyncIterator",
+ u = i.toStringTag || "@@toStringTag";
+ function define(t, e, r) {
+ return Object.defineProperty(t, e, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }), t[e];
+ }
+ try {
+ define({}, "");
+ } catch (t) {
+ define = function define(t, e, r) {
+ return t[e] = r;
+ };
+ }
+ function wrap(t, e, r, n) {
+ var i = e && e.prototype instanceof Generator ? e : Generator,
+ a = Object.create(i.prototype),
+ c = new Context(n || []);
+ return o(a, "_invoke", {
+ value: makeInvokeMethod(t, r, c)
+ }), a;
+ }
+ function tryCatch(t, e, r) {
+ try {
+ return {
+ type: "normal",
+ arg: t.call(e, r)
+ };
+ } catch (t) {
+ return {
+ type: "throw",
+ arg: t
+ };
+ }
+ }
+ e.wrap = wrap;
+ var h = "suspendedStart",
+ l = "suspendedYield",
+ f = "executing",
+ s = "completed",
+ y = {};
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+ var p = {};
+ define(p, a, function () {
+ return this;
+ });
+ var d = Object.getPrototypeOf,
+ v = d && d(d(values([])));
+ v && v !== r && n.call(v, a) && (p = v);
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
+ function defineIteratorMethods(t) {
+ ["next", "throw", "return"].forEach(function (e) {
+ define(t, e, function (t) {
+ return this._invoke(e, t);
+ });
+ });
+ }
+ function AsyncIterator(t, e) {
+ function invoke(r, o, i, a) {
+ var c = tryCatch(t[r], t, o);
+ if ("throw" !== c.type) {
+ var u = c.arg,
+ h = u.value;
+ return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
+ invoke("next", t, i, a);
+ }, function (t) {
+ invoke("throw", t, i, a);
+ }) : e.resolve(h).then(function (t) {
+ u.value = t, i(u);
+ }, function (t) {
+ return invoke("throw", t, i, a);
+ });
+ }
+ a(c.arg);
+ }
+ var r;
+ o(this, "_invoke", {
+ value: function value(t, n) {
+ function callInvokeWithMethodAndArg() {
+ return new e(function (e, r) {
+ invoke(t, n, e, r);
+ });
+ }
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+ }
+ });
+ }
+ function makeInvokeMethod(e, r, n) {
+ var o = h;
+ return function (i, a) {
+ if (o === f) throw Error("Generator is already running");
+ if (o === s) {
+ if ("throw" === i) throw a;
+ return {
+ value: t,
+ done: !0
+ };
+ }
+ for (n.method = i, n.arg = a;;) {
+ var c = n.delegate;
+ if (c) {
+ var u = maybeInvokeDelegate(c, n);
+ if (u) {
+ if (u === y) continue;
+ return u;
+ }
+ }
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
+ if (o === h) throw o = s, n.arg;
+ n.dispatchException(n.arg);
+ } else "return" === n.method && n.abrupt("return", n.arg);
+ o = f;
+ var p = tryCatch(e, r, n);
+ if ("normal" === p.type) {
+ if (o = n.done ? s : l, p.arg === y) continue;
+ return {
+ value: p.arg,
+ done: n.done
+ };
+ }
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
+ }
+ };
+ }
+ function maybeInvokeDelegate(e, r) {
+ var n = r.method,
+ o = e.iterator[n];
+ if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
+ var i = tryCatch(o, e.iterator, r.arg);
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
+ var a = i.arg;
+ return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
+ }
+ function pushTryEntry(t) {
+ var e = {
+ tryLoc: t[0]
+ };
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
+ }
+ function resetTryEntry(t) {
+ var e = t.completion || {};
+ e.type = "normal", delete e.arg, t.completion = e;
+ }
+ function Context(t) {
+ this.tryEntries = [{
+ tryLoc: "root"
+ }], t.forEach(pushTryEntry, this), this.reset(!0);
+ }
+ function values(e) {
+ if (e || "" === e) {
+ var r = e[a];
+ if (r) return r.call(e);
+ if ("function" == typeof e.next) return e;
+ if (!isNaN(e.length)) {
+ var o = -1,
+ i = function next() {
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
+ return next.value = t, next.done = !0, next;
+ };
+ return i.next = i;
+ }
+ }
+ throw new TypeError(_typeof(e) + " is not iterable");
+ }
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
+ value: GeneratorFunctionPrototype,
+ configurable: !0
+ }), o(GeneratorFunctionPrototype, "constructor", {
+ value: GeneratorFunction,
+ configurable: !0
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
+ var e = "function" == typeof t && t.constructor;
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
+ }, e.mark = function (t) {
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
+ }, e.awrap = function (t) {
+ return {
+ __await: t
+ };
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
+ return this;
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
+ void 0 === i && (i = Promise);
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
+ return t.done ? t.value : a.next();
+ });
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
+ return this;
+ }), define(g, "toString", function () {
+ return "[object Generator]";
+ }), e.keys = function (t) {
+ var e = Object(t),
+ r = [];
+ for (var n in e) r.push(n);
+ return r.reverse(), function next() {
+ for (; r.length;) {
+ var t = r.pop();
+ if (t in e) return next.value = t, next.done = !1, next;
+ }
+ return next.done = !0, next;
+ };
+ }, e.values = values, Context.prototype = {
+ constructor: Context,
+ reset: function reset(e) {
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
+ },
+ stop: function stop() {
+ this.done = !0;
+ var t = this.tryEntries[0].completion;
+ if ("throw" === t.type) throw t.arg;
+ return this.rval;
+ },
+ dispatchException: function dispatchException(e) {
+ if (this.done) throw e;
+ var r = this;
+ function handle(n, o) {
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
+ }
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
+ var i = this.tryEntries[o],
+ a = i.completion;
+ if ("root" === i.tryLoc) return handle("end");
+ if (i.tryLoc <= this.prev) {
+ var c = n.call(i, "catchLoc"),
+ u = n.call(i, "finallyLoc");
+ if (c && u) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ } else if (c) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ } else {
+ if (!u) throw Error("try statement without catch or finally");
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ }
+ }
+ }
+ },
+ abrupt: function abrupt(t, e) {
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
+ var o = this.tryEntries[r];
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
+ var i = o;
+ break;
+ }
+ }
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
+ var a = i ? i.completion : {};
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
+ },
+ complete: function complete(t, e) {
+ if ("throw" === t.type) throw t.arg;
+ return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
+ },
+ finish: function finish(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
+ }
+ },
+ "catch": function _catch(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.tryLoc === t) {
+ var n = r.completion;
+ if ("throw" === n.type) {
+ var o = n.arg;
+ resetTryEntry(r);
+ }
+ return o;
+ }
+ }
+ throw Error("illegal catch attempt");
+ },
+ delegateYield: function delegateYield(e, r, n) {
+ return this.delegate = {
+ iterator: values(e),
+ resultName: r,
+ nextLoc: n
+ }, "next" === this.method && (this.arg = t), y;
+ }
+ }, e;
+}
+module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/set.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/set.js
new file mode 100644
index 000000000..6421470aa
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/set.js
@@ -0,0 +1,22 @@
+var superPropBase = require("./superPropBase.js");
+var defineProperty = require("./defineProperty.js");
+function set(e, r, t, o) {
+ return set = "undefined" != typeof Reflect && Reflect.set ? Reflect.set : function (e, r, t, o) {
+ var f,
+ i = superPropBase(e, r);
+ if (i) {
+ if ((f = Object.getOwnPropertyDescriptor(i, r)).set) return f.set.call(o, t), !0;
+ if (!f.writable) return !1;
+ }
+ if (f = Object.getOwnPropertyDescriptor(o, r)) {
+ if (!f.writable) return !1;
+ f.value = t, Object.defineProperty(o, r, f);
+ } else defineProperty(o, r, t);
+ return !0;
+ }, set(e, r, t, o);
+}
+function _set(e, r, t, o, f) {
+ if (!set(e, r, t, o || e) && f) throw new TypeError("failed to set property");
+ return t;
+}
+module.exports = _set, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setFunctionName.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setFunctionName.js
new file mode 100644
index 000000000..9664076a8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setFunctionName.js
@@ -0,0 +1,12 @@
+var _typeof = require("./typeof.js")["default"];
+function setFunctionName(e, t, n) {
+ "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : "");
+ try {
+ Object.defineProperty(e, "name", {
+ configurable: !0,
+ value: n ? n + " " + t : t
+ });
+ } catch (e) {}
+ return e;
+}
+module.exports = setFunctionName, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setPrototypeOf.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setPrototypeOf.js
new file mode 100644
index 000000000..7d991ffa6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/setPrototypeOf.js
@@ -0,0 +1,6 @@
+function _setPrototypeOf(t, e) {
+ return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
+ return t.__proto__ = e, t;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e);
+}
+module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js
new file mode 100644
index 000000000..2aed548ef
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js
@@ -0,0 +1,7 @@
+function _skipFirstGeneratorNext(t) {
+ return function () {
+ var r = t.apply(this, arguments);
+ return r.next(), r;
+ };
+}
+module.exports = _skipFirstGeneratorNext, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/slicedToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/slicedToArray.js
new file mode 100644
index 000000000..3d752c425
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/slicedToArray.js
@@ -0,0 +1,8 @@
+var arrayWithHoles = require("./arrayWithHoles.js");
+var iterableToArrayLimit = require("./iterableToArrayLimit.js");
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+var nonIterableRest = require("./nonIterableRest.js");
+function _slicedToArray(r, e) {
+ return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();
+}
+module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropBase.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropBase.js
new file mode 100644
index 000000000..5cad45953
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropBase.js
@@ -0,0 +1,6 @@
+var getPrototypeOf = require("./getPrototypeOf.js");
+function _superPropBase(t, o) {
+ for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););
+ return t;
+}
+module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropGet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropGet.js
new file mode 100644
index 000000000..baf8b1024
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropGet.js
@@ -0,0 +1,9 @@
+var get = require("./get.js");
+var getPrototypeOf = require("./getPrototypeOf.js");
+function _superPropGet(t, o, e, r) {
+ var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e);
+ return 2 & r && "function" == typeof p ? function (t) {
+ return p.apply(e, t);
+ } : p;
+}
+module.exports = _superPropGet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropSet.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropSet.js
new file mode 100644
index 000000000..e0578c049
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/superPropSet.js
@@ -0,0 +1,6 @@
+var set = require("./set.js");
+var getPrototypeOf = require("./getPrototypeOf.js");
+function _superPropSet(t, e, o, r, p, f) {
+ return set(getPrototypeOf(f ? t.prototype : t), e, o, r, p);
+}
+module.exports = _superPropSet, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js
new file mode 100644
index 000000000..38d6065ae
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js
@@ -0,0 +1,8 @@
+function _taggedTemplateLiteral(e, t) {
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
+ raw: {
+ value: Object.freeze(t)
+ }
+ }));
+}
+module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js
new file mode 100644
index 000000000..2f8c146ae
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js
@@ -0,0 +1,4 @@
+function _taggedTemplateLiteralLoose(e, t) {
+ return t || (t = e.slice(0)), e.raw = t, e;
+}
+module.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/tdz.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/tdz.js
new file mode 100644
index 000000000..c66f476c6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/tdz.js
@@ -0,0 +1,4 @@
+function _tdzError(e) {
+ throw new ReferenceError(e + " is not defined - temporal dead zone");
+}
+module.exports = _tdzError, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalRef.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalRef.js
new file mode 100644
index 000000000..54c9190c4
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalRef.js
@@ -0,0 +1,6 @@
+var temporalUndefined = require("./temporalUndefined.js");
+var tdz = require("./tdz.js");
+function _temporalRef(r, e) {
+ return r === temporalUndefined ? tdz(e) : r;
+}
+module.exports = _temporalRef, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalUndefined.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalUndefined.js
new file mode 100644
index 000000000..f8def8002
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/temporalUndefined.js
@@ -0,0 +1,2 @@
+function _temporalUndefined() {}
+module.exports = _temporalUndefined, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toArray.js
new file mode 100644
index 000000000..2be1d2bd7
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toArray.js
@@ -0,0 +1,8 @@
+var arrayWithHoles = require("./arrayWithHoles.js");
+var iterableToArray = require("./iterableToArray.js");
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+var nonIterableRest = require("./nonIterableRest.js");
+function _toArray(r) {
+ return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();
+}
+module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toConsumableArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toConsumableArray.js
new file mode 100644
index 000000000..698f9c69c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toConsumableArray.js
@@ -0,0 +1,8 @@
+var arrayWithoutHoles = require("./arrayWithoutHoles.js");
+var iterableToArray = require("./iterableToArray.js");
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+var nonIterableSpread = require("./nonIterableSpread.js");
+function _toConsumableArray(r) {
+ return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();
+}
+module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPrimitive.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPrimitive.js
new file mode 100644
index 000000000..ef9d249b5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPrimitive.js
@@ -0,0 +1,12 @@
+var _typeof = require("./typeof.js")["default"];
+function toPrimitive(t, r) {
+ if ("object" != _typeof(t) || !t) return t;
+ var e = t[Symbol.toPrimitive];
+ if (void 0 !== e) {
+ var i = e.call(t, r || "default");
+ if ("object" != _typeof(i)) return i;
+ throw new TypeError("@@toPrimitive must return a primitive value.");
+ }
+ return ("string" === r ? String : Number)(t);
+}
+module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPropertyKey.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPropertyKey.js
new file mode 100644
index 000000000..3ca3d4fcb
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toPropertyKey.js
@@ -0,0 +1,7 @@
+var _typeof = require("./typeof.js")["default"];
+var toPrimitive = require("./toPrimitive.js");
+function toPropertyKey(t) {
+ var i = toPrimitive(t, "string");
+ return "symbol" == _typeof(i) ? i : i + "";
+}
+module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toSetter.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toSetter.js
new file mode 100644
index 000000000..e0012a8f8
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/toSetter.js
@@ -0,0 +1,10 @@
+function _toSetter(t, e, n) {
+ e || (e = []);
+ var r = e.length++;
+ return Object.defineProperty({}, "_", {
+ set: function set(o) {
+ e[r] = o, t.apply(n, e);
+ }
+ });
+}
+module.exports = _toSetter, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/typeof.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/typeof.js
new file mode 100644
index 000000000..b6fbfaf8c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/typeof.js
@@ -0,0 +1,10 @@
+function _typeof(o) {
+ "@babel/helpers - typeof";
+
+ return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
+ return typeof o;
+ } : function (o) {
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
+}
+module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js
new file mode 100644
index 000000000..8fb1a71de
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js
@@ -0,0 +1,9 @@
+var arrayLikeToArray = require("./arrayLikeToArray.js");
+function _unsupportedIterableToArray(r, a) {
+ if (r) {
+ if ("string" == typeof r) return arrayLikeToArray(r, a);
+ var t = {}.toString.call(r).slice(8, -1);
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;
+ }
+}
+module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/using.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/using.js
new file mode 100644
index 000000000..37c79e2c1
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/using.js
@@ -0,0 +1,12 @@
+function _using(o, n, e) {
+ if (null == n) return n;
+ if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
+ if (e) var r = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
+ if (null == r && (r = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof r) throw new TypeError("Property [Symbol.dispose] is not a function.");
+ return o.push({
+ v: n,
+ d: r,
+ a: e
+ }), n;
+}
+module.exports = _using, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/usingCtx.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/usingCtx.js
new file mode 100644
index 000000000..652ab15d5
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/usingCtx.js
@@ -0,0 +1,59 @@
+function _usingCtx() {
+ var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) {
+ var n = Error();
+ return n.name = "SuppressedError", n.error = r, n.suppressed = e, n;
+ },
+ e = {},
+ n = [];
+ function using(r, e) {
+ if (null != e) {
+ if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
+ if (r) var o = e[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
+ if (void 0 === o && (o = e[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r)) var t = o;
+ if ("function" != typeof o) throw new TypeError("Object is not disposable.");
+ t && (o = function o() {
+ try {
+ t.call(e);
+ } catch (r) {
+ return Promise.reject(r);
+ }
+ }), n.push({
+ v: e,
+ d: o,
+ a: r
+ });
+ } else r && n.push({
+ d: e,
+ a: r
+ });
+ return e;
+ }
+ return {
+ e: e,
+ u: using.bind(null, !1),
+ a: using.bind(null, !0),
+ d: function d() {
+ var o,
+ t = this.e,
+ s = 0;
+ function next() {
+ for (; o = n.pop();) try {
+ if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);
+ if (o.d) {
+ var r = o.d.call(o.v);
+ if (o.a) return s |= 2, Promise.resolve(r).then(next, err);
+ } else s |= 1;
+ } catch (r) {
+ return err(r);
+ }
+ if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();
+ if (t !== e) throw t;
+ }
+ function err(n) {
+ return t = t !== e ? new r(n, t) : n, next();
+ }
+ return next();
+ }
+ };
+}
+module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js
new file mode 100644
index 000000000..b818e2e4a
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js
@@ -0,0 +1,69 @@
+var OverloadYield = require("./OverloadYield.js");
+function _wrapAsyncGenerator(e) {
+ return function () {
+ return new AsyncGenerator(e.apply(this, arguments));
+ };
+}
+function AsyncGenerator(e) {
+ var r, t;
+ function resume(r, t) {
+ try {
+ var n = e[r](t),
+ o = n.value,
+ u = o instanceof OverloadYield;
+ Promise.resolve(u ? o.v : o).then(function (t) {
+ if (u) {
+ var i = "return" === r ? "return" : "next";
+ if (!o.k || t.done) return resume(i, t);
+ t = e[i](t).value;
+ }
+ settle(n.done ? "return" : "normal", t);
+ }, function (e) {
+ resume("throw", e);
+ });
+ } catch (e) {
+ settle("throw", e);
+ }
+ }
+ function settle(e, n) {
+ switch (e) {
+ case "return":
+ r.resolve({
+ value: n,
+ done: !0
+ });
+ break;
+ case "throw":
+ r.reject(n);
+ break;
+ default:
+ r.resolve({
+ value: n,
+ done: !1
+ });
+ }
+ (r = r.next) ? resume(r.key, r.arg) : t = null;
+ }
+ this._invoke = function (e, n) {
+ return new Promise(function (o, u) {
+ var i = {
+ key: e,
+ arg: n,
+ resolve: o,
+ reject: u,
+ next: null
+ };
+ t ? t = t.next = i : (r = t = i, resume(e, n));
+ });
+ }, "function" != typeof e["return"] && (this["return"] = void 0);
+}
+AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () {
+ return this;
+}, AsyncGenerator.prototype.next = function (e) {
+ return this._invoke("next", e);
+}, AsyncGenerator.prototype["throw"] = function (e) {
+ return this._invoke("throw", e);
+}, AsyncGenerator.prototype["return"] = function (e) {
+ return this._invoke("return", e);
+};
+module.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapNativeSuper.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapNativeSuper.js
new file mode 100644
index 000000000..acd87aba6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapNativeSuper.js
@@ -0,0 +1,27 @@
+var getPrototypeOf = require("./getPrototypeOf.js");
+var setPrototypeOf = require("./setPrototypeOf.js");
+var isNativeFunction = require("./isNativeFunction.js");
+var construct = require("./construct.js");
+function _wrapNativeSuper(t) {
+ var r = "function" == typeof Map ? new Map() : void 0;
+ return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {
+ if (null === t || !isNativeFunction(t)) return t;
+ if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
+ if (void 0 !== r) {
+ if (r.has(t)) return r.get(t);
+ r.set(t, Wrapper);
+ }
+ function Wrapper() {
+ return construct(t, arguments, getPrototypeOf(this).constructor);
+ }
+ return Wrapper.prototype = Object.create(t.prototype, {
+ constructor: {
+ value: Wrapper,
+ enumerable: !1,
+ writable: !0,
+ configurable: !0
+ }
+ }), setPrototypeOf(Wrapper, t);
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t);
+}
+module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapRegExp.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapRegExp.js
new file mode 100644
index 000000000..c52716880
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/wrapRegExp.js
@@ -0,0 +1,51 @@
+var _typeof = require("./typeof.js")["default"];
+var setPrototypeOf = require("./setPrototypeOf.js");
+var inherits = require("./inherits.js");
+function _wrapRegExp() {
+ module.exports = _wrapRegExp = function _wrapRegExp(e, r) {
+ return new BabelRegExp(e, void 0, r);
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
+ var e = RegExp.prototype,
+ r = new WeakMap();
+ function BabelRegExp(e, t, p) {
+ var o = RegExp(e, t);
+ return r.set(o, p || r.get(e)), setPrototypeOf(o, BabelRegExp.prototype);
+ }
+ function buildGroups(e, t) {
+ var p = r.get(t);
+ return Object.keys(p).reduce(function (r, t) {
+ var o = p[t];
+ if ("number" == typeof o) r[t] = e[o];else {
+ for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;
+ r[t] = e[o[i]];
+ }
+ return r;
+ }, Object.create(null));
+ }
+ return inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {
+ var t = e.exec.call(this, r);
+ if (t) {
+ t.groups = buildGroups(t, this);
+ var p = t.indices;
+ p && (p.groups = buildGroups(p, this));
+ }
+ return t;
+ }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {
+ if ("string" == typeof p) {
+ var o = r.get(this);
+ return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) {
+ var t = o[r];
+ return "$" + (Array.isArray(t) ? t.join("$") : t);
+ }));
+ }
+ if ("function" == typeof p) {
+ var i = this;
+ return e[Symbol.replace].call(this, t, function () {
+ var e = arguments;
+ return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);
+ });
+ }
+ return e[Symbol.replace].call(this, t, p);
+ }, _wrapRegExp.apply(this, arguments);
+}
+module.exports = _wrapRegExp, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/writeOnlyError.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/writeOnlyError.js
new file mode 100644
index 000000000..c98ee825d
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/helpers/writeOnlyError.js
@@ -0,0 +1,4 @@
+function _writeOnlyError(r) {
+ throw new TypeError('"' + r + '" is write-only');
+}
+module.exports = _writeOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/package.json b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/package.json
new file mode 100644
index 000000000..8c63ca12e
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/package.json
@@ -0,0 +1,1056 @@
+{
+ "name": "@babel/runtime",
+ "version": "7.26.0",
+ "description": "babel's modular runtime helpers",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-runtime"
+ },
+ "homepage": "https://babel.dev/docs/en/next/babel-runtime",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "exports": {
+ "./helpers/OverloadYield": [
+ {
+ "node": "./helpers/OverloadYield.js",
+ "import": "./helpers/esm/OverloadYield.js",
+ "default": "./helpers/OverloadYield.js"
+ },
+ "./helpers/OverloadYield.js"
+ ],
+ "./helpers/esm/OverloadYield": "./helpers/esm/OverloadYield.js",
+ "./helpers/applyDecoratedDescriptor": [
+ {
+ "node": "./helpers/applyDecoratedDescriptor.js",
+ "import": "./helpers/esm/applyDecoratedDescriptor.js",
+ "default": "./helpers/applyDecoratedDescriptor.js"
+ },
+ "./helpers/applyDecoratedDescriptor.js"
+ ],
+ "./helpers/esm/applyDecoratedDescriptor": "./helpers/esm/applyDecoratedDescriptor.js",
+ "./helpers/applyDecs2311": [
+ {
+ "node": "./helpers/applyDecs2311.js",
+ "import": "./helpers/esm/applyDecs2311.js",
+ "default": "./helpers/applyDecs2311.js"
+ },
+ "./helpers/applyDecs2311.js"
+ ],
+ "./helpers/esm/applyDecs2311": "./helpers/esm/applyDecs2311.js",
+ "./helpers/arrayLikeToArray": [
+ {
+ "node": "./helpers/arrayLikeToArray.js",
+ "import": "./helpers/esm/arrayLikeToArray.js",
+ "default": "./helpers/arrayLikeToArray.js"
+ },
+ "./helpers/arrayLikeToArray.js"
+ ],
+ "./helpers/esm/arrayLikeToArray": "./helpers/esm/arrayLikeToArray.js",
+ "./helpers/arrayWithHoles": [
+ {
+ "node": "./helpers/arrayWithHoles.js",
+ "import": "./helpers/esm/arrayWithHoles.js",
+ "default": "./helpers/arrayWithHoles.js"
+ },
+ "./helpers/arrayWithHoles.js"
+ ],
+ "./helpers/esm/arrayWithHoles": "./helpers/esm/arrayWithHoles.js",
+ "./helpers/arrayWithoutHoles": [
+ {
+ "node": "./helpers/arrayWithoutHoles.js",
+ "import": "./helpers/esm/arrayWithoutHoles.js",
+ "default": "./helpers/arrayWithoutHoles.js"
+ },
+ "./helpers/arrayWithoutHoles.js"
+ ],
+ "./helpers/esm/arrayWithoutHoles": "./helpers/esm/arrayWithoutHoles.js",
+ "./helpers/assertClassBrand": [
+ {
+ "node": "./helpers/assertClassBrand.js",
+ "import": "./helpers/esm/assertClassBrand.js",
+ "default": "./helpers/assertClassBrand.js"
+ },
+ "./helpers/assertClassBrand.js"
+ ],
+ "./helpers/esm/assertClassBrand": "./helpers/esm/assertClassBrand.js",
+ "./helpers/assertThisInitialized": [
+ {
+ "node": "./helpers/assertThisInitialized.js",
+ "import": "./helpers/esm/assertThisInitialized.js",
+ "default": "./helpers/assertThisInitialized.js"
+ },
+ "./helpers/assertThisInitialized.js"
+ ],
+ "./helpers/esm/assertThisInitialized": "./helpers/esm/assertThisInitialized.js",
+ "./helpers/asyncGeneratorDelegate": [
+ {
+ "node": "./helpers/asyncGeneratorDelegate.js",
+ "import": "./helpers/esm/asyncGeneratorDelegate.js",
+ "default": "./helpers/asyncGeneratorDelegate.js"
+ },
+ "./helpers/asyncGeneratorDelegate.js"
+ ],
+ "./helpers/esm/asyncGeneratorDelegate": "./helpers/esm/asyncGeneratorDelegate.js",
+ "./helpers/asyncIterator": [
+ {
+ "node": "./helpers/asyncIterator.js",
+ "import": "./helpers/esm/asyncIterator.js",
+ "default": "./helpers/asyncIterator.js"
+ },
+ "./helpers/asyncIterator.js"
+ ],
+ "./helpers/esm/asyncIterator": "./helpers/esm/asyncIterator.js",
+ "./helpers/asyncToGenerator": [
+ {
+ "node": "./helpers/asyncToGenerator.js",
+ "import": "./helpers/esm/asyncToGenerator.js",
+ "default": "./helpers/asyncToGenerator.js"
+ },
+ "./helpers/asyncToGenerator.js"
+ ],
+ "./helpers/esm/asyncToGenerator": "./helpers/esm/asyncToGenerator.js",
+ "./helpers/awaitAsyncGenerator": [
+ {
+ "node": "./helpers/awaitAsyncGenerator.js",
+ "import": "./helpers/esm/awaitAsyncGenerator.js",
+ "default": "./helpers/awaitAsyncGenerator.js"
+ },
+ "./helpers/awaitAsyncGenerator.js"
+ ],
+ "./helpers/esm/awaitAsyncGenerator": "./helpers/esm/awaitAsyncGenerator.js",
+ "./helpers/callSuper": [
+ {
+ "node": "./helpers/callSuper.js",
+ "import": "./helpers/esm/callSuper.js",
+ "default": "./helpers/callSuper.js"
+ },
+ "./helpers/callSuper.js"
+ ],
+ "./helpers/esm/callSuper": "./helpers/esm/callSuper.js",
+ "./helpers/checkInRHS": [
+ {
+ "node": "./helpers/checkInRHS.js",
+ "import": "./helpers/esm/checkInRHS.js",
+ "default": "./helpers/checkInRHS.js"
+ },
+ "./helpers/checkInRHS.js"
+ ],
+ "./helpers/esm/checkInRHS": "./helpers/esm/checkInRHS.js",
+ "./helpers/checkPrivateRedeclaration": [
+ {
+ "node": "./helpers/checkPrivateRedeclaration.js",
+ "import": "./helpers/esm/checkPrivateRedeclaration.js",
+ "default": "./helpers/checkPrivateRedeclaration.js"
+ },
+ "./helpers/checkPrivateRedeclaration.js"
+ ],
+ "./helpers/esm/checkPrivateRedeclaration": "./helpers/esm/checkPrivateRedeclaration.js",
+ "./helpers/classCallCheck": [
+ {
+ "node": "./helpers/classCallCheck.js",
+ "import": "./helpers/esm/classCallCheck.js",
+ "default": "./helpers/classCallCheck.js"
+ },
+ "./helpers/classCallCheck.js"
+ ],
+ "./helpers/esm/classCallCheck": "./helpers/esm/classCallCheck.js",
+ "./helpers/classNameTDZError": [
+ {
+ "node": "./helpers/classNameTDZError.js",
+ "import": "./helpers/esm/classNameTDZError.js",
+ "default": "./helpers/classNameTDZError.js"
+ },
+ "./helpers/classNameTDZError.js"
+ ],
+ "./helpers/esm/classNameTDZError": "./helpers/esm/classNameTDZError.js",
+ "./helpers/classPrivateFieldGet2": [
+ {
+ "node": "./helpers/classPrivateFieldGet2.js",
+ "import": "./helpers/esm/classPrivateFieldGet2.js",
+ "default": "./helpers/classPrivateFieldGet2.js"
+ },
+ "./helpers/classPrivateFieldGet2.js"
+ ],
+ "./helpers/esm/classPrivateFieldGet2": "./helpers/esm/classPrivateFieldGet2.js",
+ "./helpers/classPrivateFieldInitSpec": [
+ {
+ "node": "./helpers/classPrivateFieldInitSpec.js",
+ "import": "./helpers/esm/classPrivateFieldInitSpec.js",
+ "default": "./helpers/classPrivateFieldInitSpec.js"
+ },
+ "./helpers/classPrivateFieldInitSpec.js"
+ ],
+ "./helpers/esm/classPrivateFieldInitSpec": "./helpers/esm/classPrivateFieldInitSpec.js",
+ "./helpers/classPrivateFieldLooseBase": [
+ {
+ "node": "./helpers/classPrivateFieldLooseBase.js",
+ "import": "./helpers/esm/classPrivateFieldLooseBase.js",
+ "default": "./helpers/classPrivateFieldLooseBase.js"
+ },
+ "./helpers/classPrivateFieldLooseBase.js"
+ ],
+ "./helpers/esm/classPrivateFieldLooseBase": "./helpers/esm/classPrivateFieldLooseBase.js",
+ "./helpers/classPrivateFieldLooseKey": [
+ {
+ "node": "./helpers/classPrivateFieldLooseKey.js",
+ "import": "./helpers/esm/classPrivateFieldLooseKey.js",
+ "default": "./helpers/classPrivateFieldLooseKey.js"
+ },
+ "./helpers/classPrivateFieldLooseKey.js"
+ ],
+ "./helpers/esm/classPrivateFieldLooseKey": "./helpers/esm/classPrivateFieldLooseKey.js",
+ "./helpers/classPrivateFieldSet2": [
+ {
+ "node": "./helpers/classPrivateFieldSet2.js",
+ "import": "./helpers/esm/classPrivateFieldSet2.js",
+ "default": "./helpers/classPrivateFieldSet2.js"
+ },
+ "./helpers/classPrivateFieldSet2.js"
+ ],
+ "./helpers/esm/classPrivateFieldSet2": "./helpers/esm/classPrivateFieldSet2.js",
+ "./helpers/classPrivateGetter": [
+ {
+ "node": "./helpers/classPrivateGetter.js",
+ "import": "./helpers/esm/classPrivateGetter.js",
+ "default": "./helpers/classPrivateGetter.js"
+ },
+ "./helpers/classPrivateGetter.js"
+ ],
+ "./helpers/esm/classPrivateGetter": "./helpers/esm/classPrivateGetter.js",
+ "./helpers/classPrivateMethodInitSpec": [
+ {
+ "node": "./helpers/classPrivateMethodInitSpec.js",
+ "import": "./helpers/esm/classPrivateMethodInitSpec.js",
+ "default": "./helpers/classPrivateMethodInitSpec.js"
+ },
+ "./helpers/classPrivateMethodInitSpec.js"
+ ],
+ "./helpers/esm/classPrivateMethodInitSpec": "./helpers/esm/classPrivateMethodInitSpec.js",
+ "./helpers/classPrivateSetter": [
+ {
+ "node": "./helpers/classPrivateSetter.js",
+ "import": "./helpers/esm/classPrivateSetter.js",
+ "default": "./helpers/classPrivateSetter.js"
+ },
+ "./helpers/classPrivateSetter.js"
+ ],
+ "./helpers/esm/classPrivateSetter": "./helpers/esm/classPrivateSetter.js",
+ "./helpers/classStaticPrivateMethodGet": [
+ {
+ "node": "./helpers/classStaticPrivateMethodGet.js",
+ "import": "./helpers/esm/classStaticPrivateMethodGet.js",
+ "default": "./helpers/classStaticPrivateMethodGet.js"
+ },
+ "./helpers/classStaticPrivateMethodGet.js"
+ ],
+ "./helpers/esm/classStaticPrivateMethodGet": "./helpers/esm/classStaticPrivateMethodGet.js",
+ "./helpers/construct": [
+ {
+ "node": "./helpers/construct.js",
+ "import": "./helpers/esm/construct.js",
+ "default": "./helpers/construct.js"
+ },
+ "./helpers/construct.js"
+ ],
+ "./helpers/esm/construct": "./helpers/esm/construct.js",
+ "./helpers/createClass": [
+ {
+ "node": "./helpers/createClass.js",
+ "import": "./helpers/esm/createClass.js",
+ "default": "./helpers/createClass.js"
+ },
+ "./helpers/createClass.js"
+ ],
+ "./helpers/esm/createClass": "./helpers/esm/createClass.js",
+ "./helpers/createForOfIteratorHelper": [
+ {
+ "node": "./helpers/createForOfIteratorHelper.js",
+ "import": "./helpers/esm/createForOfIteratorHelper.js",
+ "default": "./helpers/createForOfIteratorHelper.js"
+ },
+ "./helpers/createForOfIteratorHelper.js"
+ ],
+ "./helpers/esm/createForOfIteratorHelper": "./helpers/esm/createForOfIteratorHelper.js",
+ "./helpers/createForOfIteratorHelperLoose": [
+ {
+ "node": "./helpers/createForOfIteratorHelperLoose.js",
+ "import": "./helpers/esm/createForOfIteratorHelperLoose.js",
+ "default": "./helpers/createForOfIteratorHelperLoose.js"
+ },
+ "./helpers/createForOfIteratorHelperLoose.js"
+ ],
+ "./helpers/esm/createForOfIteratorHelperLoose": "./helpers/esm/createForOfIteratorHelperLoose.js",
+ "./helpers/createSuper": [
+ {
+ "node": "./helpers/createSuper.js",
+ "import": "./helpers/esm/createSuper.js",
+ "default": "./helpers/createSuper.js"
+ },
+ "./helpers/createSuper.js"
+ ],
+ "./helpers/esm/createSuper": "./helpers/esm/createSuper.js",
+ "./helpers/decorate": [
+ {
+ "node": "./helpers/decorate.js",
+ "import": "./helpers/esm/decorate.js",
+ "default": "./helpers/decorate.js"
+ },
+ "./helpers/decorate.js"
+ ],
+ "./helpers/esm/decorate": "./helpers/esm/decorate.js",
+ "./helpers/defaults": [
+ {
+ "node": "./helpers/defaults.js",
+ "import": "./helpers/esm/defaults.js",
+ "default": "./helpers/defaults.js"
+ },
+ "./helpers/defaults.js"
+ ],
+ "./helpers/esm/defaults": "./helpers/esm/defaults.js",
+ "./helpers/defineAccessor": [
+ {
+ "node": "./helpers/defineAccessor.js",
+ "import": "./helpers/esm/defineAccessor.js",
+ "default": "./helpers/defineAccessor.js"
+ },
+ "./helpers/defineAccessor.js"
+ ],
+ "./helpers/esm/defineAccessor": "./helpers/esm/defineAccessor.js",
+ "./helpers/defineProperty": [
+ {
+ "node": "./helpers/defineProperty.js",
+ "import": "./helpers/esm/defineProperty.js",
+ "default": "./helpers/defineProperty.js"
+ },
+ "./helpers/defineProperty.js"
+ ],
+ "./helpers/esm/defineProperty": "./helpers/esm/defineProperty.js",
+ "./helpers/extends": [
+ {
+ "node": "./helpers/extends.js",
+ "import": "./helpers/esm/extends.js",
+ "default": "./helpers/extends.js"
+ },
+ "./helpers/extends.js"
+ ],
+ "./helpers/esm/extends": "./helpers/esm/extends.js",
+ "./helpers/get": [
+ {
+ "node": "./helpers/get.js",
+ "import": "./helpers/esm/get.js",
+ "default": "./helpers/get.js"
+ },
+ "./helpers/get.js"
+ ],
+ "./helpers/esm/get": "./helpers/esm/get.js",
+ "./helpers/getPrototypeOf": [
+ {
+ "node": "./helpers/getPrototypeOf.js",
+ "import": "./helpers/esm/getPrototypeOf.js",
+ "default": "./helpers/getPrototypeOf.js"
+ },
+ "./helpers/getPrototypeOf.js"
+ ],
+ "./helpers/esm/getPrototypeOf": "./helpers/esm/getPrototypeOf.js",
+ "./helpers/identity": [
+ {
+ "node": "./helpers/identity.js",
+ "import": "./helpers/esm/identity.js",
+ "default": "./helpers/identity.js"
+ },
+ "./helpers/identity.js"
+ ],
+ "./helpers/esm/identity": "./helpers/esm/identity.js",
+ "./helpers/importDeferProxy": [
+ {
+ "node": "./helpers/importDeferProxy.js",
+ "import": "./helpers/esm/importDeferProxy.js",
+ "default": "./helpers/importDeferProxy.js"
+ },
+ "./helpers/importDeferProxy.js"
+ ],
+ "./helpers/esm/importDeferProxy": "./helpers/esm/importDeferProxy.js",
+ "./helpers/inherits": [
+ {
+ "node": "./helpers/inherits.js",
+ "import": "./helpers/esm/inherits.js",
+ "default": "./helpers/inherits.js"
+ },
+ "./helpers/inherits.js"
+ ],
+ "./helpers/esm/inherits": "./helpers/esm/inherits.js",
+ "./helpers/inheritsLoose": [
+ {
+ "node": "./helpers/inheritsLoose.js",
+ "import": "./helpers/esm/inheritsLoose.js",
+ "default": "./helpers/inheritsLoose.js"
+ },
+ "./helpers/inheritsLoose.js"
+ ],
+ "./helpers/esm/inheritsLoose": "./helpers/esm/inheritsLoose.js",
+ "./helpers/initializerDefineProperty": [
+ {
+ "node": "./helpers/initializerDefineProperty.js",
+ "import": "./helpers/esm/initializerDefineProperty.js",
+ "default": "./helpers/initializerDefineProperty.js"
+ },
+ "./helpers/initializerDefineProperty.js"
+ ],
+ "./helpers/esm/initializerDefineProperty": "./helpers/esm/initializerDefineProperty.js",
+ "./helpers/initializerWarningHelper": [
+ {
+ "node": "./helpers/initializerWarningHelper.js",
+ "import": "./helpers/esm/initializerWarningHelper.js",
+ "default": "./helpers/initializerWarningHelper.js"
+ },
+ "./helpers/initializerWarningHelper.js"
+ ],
+ "./helpers/esm/initializerWarningHelper": "./helpers/esm/initializerWarningHelper.js",
+ "./helpers/instanceof": [
+ {
+ "node": "./helpers/instanceof.js",
+ "import": "./helpers/esm/instanceof.js",
+ "default": "./helpers/instanceof.js"
+ },
+ "./helpers/instanceof.js"
+ ],
+ "./helpers/esm/instanceof": "./helpers/esm/instanceof.js",
+ "./helpers/interopRequireDefault": [
+ {
+ "node": "./helpers/interopRequireDefault.js",
+ "import": "./helpers/esm/interopRequireDefault.js",
+ "default": "./helpers/interopRequireDefault.js"
+ },
+ "./helpers/interopRequireDefault.js"
+ ],
+ "./helpers/esm/interopRequireDefault": "./helpers/esm/interopRequireDefault.js",
+ "./helpers/interopRequireWildcard": [
+ {
+ "node": "./helpers/interopRequireWildcard.js",
+ "import": "./helpers/esm/interopRequireWildcard.js",
+ "default": "./helpers/interopRequireWildcard.js"
+ },
+ "./helpers/interopRequireWildcard.js"
+ ],
+ "./helpers/esm/interopRequireWildcard": "./helpers/esm/interopRequireWildcard.js",
+ "./helpers/isNativeFunction": [
+ {
+ "node": "./helpers/isNativeFunction.js",
+ "import": "./helpers/esm/isNativeFunction.js",
+ "default": "./helpers/isNativeFunction.js"
+ },
+ "./helpers/isNativeFunction.js"
+ ],
+ "./helpers/esm/isNativeFunction": "./helpers/esm/isNativeFunction.js",
+ "./helpers/isNativeReflectConstruct": [
+ {
+ "node": "./helpers/isNativeReflectConstruct.js",
+ "import": "./helpers/esm/isNativeReflectConstruct.js",
+ "default": "./helpers/isNativeReflectConstruct.js"
+ },
+ "./helpers/isNativeReflectConstruct.js"
+ ],
+ "./helpers/esm/isNativeReflectConstruct": "./helpers/esm/isNativeReflectConstruct.js",
+ "./helpers/iterableToArray": [
+ {
+ "node": "./helpers/iterableToArray.js",
+ "import": "./helpers/esm/iterableToArray.js",
+ "default": "./helpers/iterableToArray.js"
+ },
+ "./helpers/iterableToArray.js"
+ ],
+ "./helpers/esm/iterableToArray": "./helpers/esm/iterableToArray.js",
+ "./helpers/iterableToArrayLimit": [
+ {
+ "node": "./helpers/iterableToArrayLimit.js",
+ "import": "./helpers/esm/iterableToArrayLimit.js",
+ "default": "./helpers/iterableToArrayLimit.js"
+ },
+ "./helpers/iterableToArrayLimit.js"
+ ],
+ "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js",
+ "./helpers/jsx": [
+ {
+ "node": "./helpers/jsx.js",
+ "import": "./helpers/esm/jsx.js",
+ "default": "./helpers/jsx.js"
+ },
+ "./helpers/jsx.js"
+ ],
+ "./helpers/esm/jsx": "./helpers/esm/jsx.js",
+ "./helpers/maybeArrayLike": [
+ {
+ "node": "./helpers/maybeArrayLike.js",
+ "import": "./helpers/esm/maybeArrayLike.js",
+ "default": "./helpers/maybeArrayLike.js"
+ },
+ "./helpers/maybeArrayLike.js"
+ ],
+ "./helpers/esm/maybeArrayLike": "./helpers/esm/maybeArrayLike.js",
+ "./helpers/newArrowCheck": [
+ {
+ "node": "./helpers/newArrowCheck.js",
+ "import": "./helpers/esm/newArrowCheck.js",
+ "default": "./helpers/newArrowCheck.js"
+ },
+ "./helpers/newArrowCheck.js"
+ ],
+ "./helpers/esm/newArrowCheck": "./helpers/esm/newArrowCheck.js",
+ "./helpers/nonIterableRest": [
+ {
+ "node": "./helpers/nonIterableRest.js",
+ "import": "./helpers/esm/nonIterableRest.js",
+ "default": "./helpers/nonIterableRest.js"
+ },
+ "./helpers/nonIterableRest.js"
+ ],
+ "./helpers/esm/nonIterableRest": "./helpers/esm/nonIterableRest.js",
+ "./helpers/nonIterableSpread": [
+ {
+ "node": "./helpers/nonIterableSpread.js",
+ "import": "./helpers/esm/nonIterableSpread.js",
+ "default": "./helpers/nonIterableSpread.js"
+ },
+ "./helpers/nonIterableSpread.js"
+ ],
+ "./helpers/esm/nonIterableSpread": "./helpers/esm/nonIterableSpread.js",
+ "./helpers/nullishReceiverError": [
+ {
+ "node": "./helpers/nullishReceiverError.js",
+ "import": "./helpers/esm/nullishReceiverError.js",
+ "default": "./helpers/nullishReceiverError.js"
+ },
+ "./helpers/nullishReceiverError.js"
+ ],
+ "./helpers/esm/nullishReceiverError": "./helpers/esm/nullishReceiverError.js",
+ "./helpers/objectDestructuringEmpty": [
+ {
+ "node": "./helpers/objectDestructuringEmpty.js",
+ "import": "./helpers/esm/objectDestructuringEmpty.js",
+ "default": "./helpers/objectDestructuringEmpty.js"
+ },
+ "./helpers/objectDestructuringEmpty.js"
+ ],
+ "./helpers/esm/objectDestructuringEmpty": "./helpers/esm/objectDestructuringEmpty.js",
+ "./helpers/objectSpread2": [
+ {
+ "node": "./helpers/objectSpread2.js",
+ "import": "./helpers/esm/objectSpread2.js",
+ "default": "./helpers/objectSpread2.js"
+ },
+ "./helpers/objectSpread2.js"
+ ],
+ "./helpers/esm/objectSpread2": "./helpers/esm/objectSpread2.js",
+ "./helpers/objectWithoutProperties": [
+ {
+ "node": "./helpers/objectWithoutProperties.js",
+ "import": "./helpers/esm/objectWithoutProperties.js",
+ "default": "./helpers/objectWithoutProperties.js"
+ },
+ "./helpers/objectWithoutProperties.js"
+ ],
+ "./helpers/esm/objectWithoutProperties": "./helpers/esm/objectWithoutProperties.js",
+ "./helpers/objectWithoutPropertiesLoose": [
+ {
+ "node": "./helpers/objectWithoutPropertiesLoose.js",
+ "import": "./helpers/esm/objectWithoutPropertiesLoose.js",
+ "default": "./helpers/objectWithoutPropertiesLoose.js"
+ },
+ "./helpers/objectWithoutPropertiesLoose.js"
+ ],
+ "./helpers/esm/objectWithoutPropertiesLoose": "./helpers/esm/objectWithoutPropertiesLoose.js",
+ "./helpers/possibleConstructorReturn": [
+ {
+ "node": "./helpers/possibleConstructorReturn.js",
+ "import": "./helpers/esm/possibleConstructorReturn.js",
+ "default": "./helpers/possibleConstructorReturn.js"
+ },
+ "./helpers/possibleConstructorReturn.js"
+ ],
+ "./helpers/esm/possibleConstructorReturn": "./helpers/esm/possibleConstructorReturn.js",
+ "./helpers/readOnlyError": [
+ {
+ "node": "./helpers/readOnlyError.js",
+ "import": "./helpers/esm/readOnlyError.js",
+ "default": "./helpers/readOnlyError.js"
+ },
+ "./helpers/readOnlyError.js"
+ ],
+ "./helpers/esm/readOnlyError": "./helpers/esm/readOnlyError.js",
+ "./helpers/regeneratorRuntime": [
+ {
+ "node": "./helpers/regeneratorRuntime.js",
+ "import": "./helpers/esm/regeneratorRuntime.js",
+ "default": "./helpers/regeneratorRuntime.js"
+ },
+ "./helpers/regeneratorRuntime.js"
+ ],
+ "./helpers/esm/regeneratorRuntime": "./helpers/esm/regeneratorRuntime.js",
+ "./helpers/set": [
+ {
+ "node": "./helpers/set.js",
+ "import": "./helpers/esm/set.js",
+ "default": "./helpers/set.js"
+ },
+ "./helpers/set.js"
+ ],
+ "./helpers/esm/set": "./helpers/esm/set.js",
+ "./helpers/setFunctionName": [
+ {
+ "node": "./helpers/setFunctionName.js",
+ "import": "./helpers/esm/setFunctionName.js",
+ "default": "./helpers/setFunctionName.js"
+ },
+ "./helpers/setFunctionName.js"
+ ],
+ "./helpers/esm/setFunctionName": "./helpers/esm/setFunctionName.js",
+ "./helpers/setPrototypeOf": [
+ {
+ "node": "./helpers/setPrototypeOf.js",
+ "import": "./helpers/esm/setPrototypeOf.js",
+ "default": "./helpers/setPrototypeOf.js"
+ },
+ "./helpers/setPrototypeOf.js"
+ ],
+ "./helpers/esm/setPrototypeOf": "./helpers/esm/setPrototypeOf.js",
+ "./helpers/skipFirstGeneratorNext": [
+ {
+ "node": "./helpers/skipFirstGeneratorNext.js",
+ "import": "./helpers/esm/skipFirstGeneratorNext.js",
+ "default": "./helpers/skipFirstGeneratorNext.js"
+ },
+ "./helpers/skipFirstGeneratorNext.js"
+ ],
+ "./helpers/esm/skipFirstGeneratorNext": "./helpers/esm/skipFirstGeneratorNext.js",
+ "./helpers/slicedToArray": [
+ {
+ "node": "./helpers/slicedToArray.js",
+ "import": "./helpers/esm/slicedToArray.js",
+ "default": "./helpers/slicedToArray.js"
+ },
+ "./helpers/slicedToArray.js"
+ ],
+ "./helpers/esm/slicedToArray": "./helpers/esm/slicedToArray.js",
+ "./helpers/superPropBase": [
+ {
+ "node": "./helpers/superPropBase.js",
+ "import": "./helpers/esm/superPropBase.js",
+ "default": "./helpers/superPropBase.js"
+ },
+ "./helpers/superPropBase.js"
+ ],
+ "./helpers/esm/superPropBase": "./helpers/esm/superPropBase.js",
+ "./helpers/superPropGet": [
+ {
+ "node": "./helpers/superPropGet.js",
+ "import": "./helpers/esm/superPropGet.js",
+ "default": "./helpers/superPropGet.js"
+ },
+ "./helpers/superPropGet.js"
+ ],
+ "./helpers/esm/superPropGet": "./helpers/esm/superPropGet.js",
+ "./helpers/superPropSet": [
+ {
+ "node": "./helpers/superPropSet.js",
+ "import": "./helpers/esm/superPropSet.js",
+ "default": "./helpers/superPropSet.js"
+ },
+ "./helpers/superPropSet.js"
+ ],
+ "./helpers/esm/superPropSet": "./helpers/esm/superPropSet.js",
+ "./helpers/taggedTemplateLiteral": [
+ {
+ "node": "./helpers/taggedTemplateLiteral.js",
+ "import": "./helpers/esm/taggedTemplateLiteral.js",
+ "default": "./helpers/taggedTemplateLiteral.js"
+ },
+ "./helpers/taggedTemplateLiteral.js"
+ ],
+ "./helpers/esm/taggedTemplateLiteral": "./helpers/esm/taggedTemplateLiteral.js",
+ "./helpers/taggedTemplateLiteralLoose": [
+ {
+ "node": "./helpers/taggedTemplateLiteralLoose.js",
+ "import": "./helpers/esm/taggedTemplateLiteralLoose.js",
+ "default": "./helpers/taggedTemplateLiteralLoose.js"
+ },
+ "./helpers/taggedTemplateLiteralLoose.js"
+ ],
+ "./helpers/esm/taggedTemplateLiteralLoose": "./helpers/esm/taggedTemplateLiteralLoose.js",
+ "./helpers/tdz": [
+ {
+ "node": "./helpers/tdz.js",
+ "import": "./helpers/esm/tdz.js",
+ "default": "./helpers/tdz.js"
+ },
+ "./helpers/tdz.js"
+ ],
+ "./helpers/esm/tdz": "./helpers/esm/tdz.js",
+ "./helpers/temporalRef": [
+ {
+ "node": "./helpers/temporalRef.js",
+ "import": "./helpers/esm/temporalRef.js",
+ "default": "./helpers/temporalRef.js"
+ },
+ "./helpers/temporalRef.js"
+ ],
+ "./helpers/esm/temporalRef": "./helpers/esm/temporalRef.js",
+ "./helpers/temporalUndefined": [
+ {
+ "node": "./helpers/temporalUndefined.js",
+ "import": "./helpers/esm/temporalUndefined.js",
+ "default": "./helpers/temporalUndefined.js"
+ },
+ "./helpers/temporalUndefined.js"
+ ],
+ "./helpers/esm/temporalUndefined": "./helpers/esm/temporalUndefined.js",
+ "./helpers/toArray": [
+ {
+ "node": "./helpers/toArray.js",
+ "import": "./helpers/esm/toArray.js",
+ "default": "./helpers/toArray.js"
+ },
+ "./helpers/toArray.js"
+ ],
+ "./helpers/esm/toArray": "./helpers/esm/toArray.js",
+ "./helpers/toConsumableArray": [
+ {
+ "node": "./helpers/toConsumableArray.js",
+ "import": "./helpers/esm/toConsumableArray.js",
+ "default": "./helpers/toConsumableArray.js"
+ },
+ "./helpers/toConsumableArray.js"
+ ],
+ "./helpers/esm/toConsumableArray": "./helpers/esm/toConsumableArray.js",
+ "./helpers/toPrimitive": [
+ {
+ "node": "./helpers/toPrimitive.js",
+ "import": "./helpers/esm/toPrimitive.js",
+ "default": "./helpers/toPrimitive.js"
+ },
+ "./helpers/toPrimitive.js"
+ ],
+ "./helpers/esm/toPrimitive": "./helpers/esm/toPrimitive.js",
+ "./helpers/toPropertyKey": [
+ {
+ "node": "./helpers/toPropertyKey.js",
+ "import": "./helpers/esm/toPropertyKey.js",
+ "default": "./helpers/toPropertyKey.js"
+ },
+ "./helpers/toPropertyKey.js"
+ ],
+ "./helpers/esm/toPropertyKey": "./helpers/esm/toPropertyKey.js",
+ "./helpers/toSetter": [
+ {
+ "node": "./helpers/toSetter.js",
+ "import": "./helpers/esm/toSetter.js",
+ "default": "./helpers/toSetter.js"
+ },
+ "./helpers/toSetter.js"
+ ],
+ "./helpers/esm/toSetter": "./helpers/esm/toSetter.js",
+ "./helpers/typeof": [
+ {
+ "node": "./helpers/typeof.js",
+ "import": "./helpers/esm/typeof.js",
+ "default": "./helpers/typeof.js"
+ },
+ "./helpers/typeof.js"
+ ],
+ "./helpers/esm/typeof": "./helpers/esm/typeof.js",
+ "./helpers/unsupportedIterableToArray": [
+ {
+ "node": "./helpers/unsupportedIterableToArray.js",
+ "import": "./helpers/esm/unsupportedIterableToArray.js",
+ "default": "./helpers/unsupportedIterableToArray.js"
+ },
+ "./helpers/unsupportedIterableToArray.js"
+ ],
+ "./helpers/esm/unsupportedIterableToArray": "./helpers/esm/unsupportedIterableToArray.js",
+ "./helpers/usingCtx": [
+ {
+ "node": "./helpers/usingCtx.js",
+ "import": "./helpers/esm/usingCtx.js",
+ "default": "./helpers/usingCtx.js"
+ },
+ "./helpers/usingCtx.js"
+ ],
+ "./helpers/esm/usingCtx": "./helpers/esm/usingCtx.js",
+ "./helpers/wrapAsyncGenerator": [
+ {
+ "node": "./helpers/wrapAsyncGenerator.js",
+ "import": "./helpers/esm/wrapAsyncGenerator.js",
+ "default": "./helpers/wrapAsyncGenerator.js"
+ },
+ "./helpers/wrapAsyncGenerator.js"
+ ],
+ "./helpers/esm/wrapAsyncGenerator": "./helpers/esm/wrapAsyncGenerator.js",
+ "./helpers/wrapNativeSuper": [
+ {
+ "node": "./helpers/wrapNativeSuper.js",
+ "import": "./helpers/esm/wrapNativeSuper.js",
+ "default": "./helpers/wrapNativeSuper.js"
+ },
+ "./helpers/wrapNativeSuper.js"
+ ],
+ "./helpers/esm/wrapNativeSuper": "./helpers/esm/wrapNativeSuper.js",
+ "./helpers/wrapRegExp": [
+ {
+ "node": "./helpers/wrapRegExp.js",
+ "import": "./helpers/esm/wrapRegExp.js",
+ "default": "./helpers/wrapRegExp.js"
+ },
+ "./helpers/wrapRegExp.js"
+ ],
+ "./helpers/esm/wrapRegExp": "./helpers/esm/wrapRegExp.js",
+ "./helpers/writeOnlyError": [
+ {
+ "node": "./helpers/writeOnlyError.js",
+ "import": "./helpers/esm/writeOnlyError.js",
+ "default": "./helpers/writeOnlyError.js"
+ },
+ "./helpers/writeOnlyError.js"
+ ],
+ "./helpers/esm/writeOnlyError": "./helpers/esm/writeOnlyError.js",
+ "./helpers/AwaitValue": [
+ {
+ "node": "./helpers/AwaitValue.js",
+ "import": "./helpers/esm/AwaitValue.js",
+ "default": "./helpers/AwaitValue.js"
+ },
+ "./helpers/AwaitValue.js"
+ ],
+ "./helpers/esm/AwaitValue": "./helpers/esm/AwaitValue.js",
+ "./helpers/applyDecs": [
+ {
+ "node": "./helpers/applyDecs.js",
+ "import": "./helpers/esm/applyDecs.js",
+ "default": "./helpers/applyDecs.js"
+ },
+ "./helpers/applyDecs.js"
+ ],
+ "./helpers/esm/applyDecs": "./helpers/esm/applyDecs.js",
+ "./helpers/applyDecs2203": [
+ {
+ "node": "./helpers/applyDecs2203.js",
+ "import": "./helpers/esm/applyDecs2203.js",
+ "default": "./helpers/applyDecs2203.js"
+ },
+ "./helpers/applyDecs2203.js"
+ ],
+ "./helpers/esm/applyDecs2203": "./helpers/esm/applyDecs2203.js",
+ "./helpers/applyDecs2203R": [
+ {
+ "node": "./helpers/applyDecs2203R.js",
+ "import": "./helpers/esm/applyDecs2203R.js",
+ "default": "./helpers/applyDecs2203R.js"
+ },
+ "./helpers/applyDecs2203R.js"
+ ],
+ "./helpers/esm/applyDecs2203R": "./helpers/esm/applyDecs2203R.js",
+ "./helpers/applyDecs2301": [
+ {
+ "node": "./helpers/applyDecs2301.js",
+ "import": "./helpers/esm/applyDecs2301.js",
+ "default": "./helpers/applyDecs2301.js"
+ },
+ "./helpers/applyDecs2301.js"
+ ],
+ "./helpers/esm/applyDecs2301": "./helpers/esm/applyDecs2301.js",
+ "./helpers/applyDecs2305": [
+ {
+ "node": "./helpers/applyDecs2305.js",
+ "import": "./helpers/esm/applyDecs2305.js",
+ "default": "./helpers/applyDecs2305.js"
+ },
+ "./helpers/applyDecs2305.js"
+ ],
+ "./helpers/esm/applyDecs2305": "./helpers/esm/applyDecs2305.js",
+ "./helpers/classApplyDescriptorDestructureSet": [
+ {
+ "node": "./helpers/classApplyDescriptorDestructureSet.js",
+ "import": "./helpers/esm/classApplyDescriptorDestructureSet.js",
+ "default": "./helpers/classApplyDescriptorDestructureSet.js"
+ },
+ "./helpers/classApplyDescriptorDestructureSet.js"
+ ],
+ "./helpers/esm/classApplyDescriptorDestructureSet": "./helpers/esm/classApplyDescriptorDestructureSet.js",
+ "./helpers/classApplyDescriptorGet": [
+ {
+ "node": "./helpers/classApplyDescriptorGet.js",
+ "import": "./helpers/esm/classApplyDescriptorGet.js",
+ "default": "./helpers/classApplyDescriptorGet.js"
+ },
+ "./helpers/classApplyDescriptorGet.js"
+ ],
+ "./helpers/esm/classApplyDescriptorGet": "./helpers/esm/classApplyDescriptorGet.js",
+ "./helpers/classApplyDescriptorSet": [
+ {
+ "node": "./helpers/classApplyDescriptorSet.js",
+ "import": "./helpers/esm/classApplyDescriptorSet.js",
+ "default": "./helpers/classApplyDescriptorSet.js"
+ },
+ "./helpers/classApplyDescriptorSet.js"
+ ],
+ "./helpers/esm/classApplyDescriptorSet": "./helpers/esm/classApplyDescriptorSet.js",
+ "./helpers/classCheckPrivateStaticAccess": [
+ {
+ "node": "./helpers/classCheckPrivateStaticAccess.js",
+ "import": "./helpers/esm/classCheckPrivateStaticAccess.js",
+ "default": "./helpers/classCheckPrivateStaticAccess.js"
+ },
+ "./helpers/classCheckPrivateStaticAccess.js"
+ ],
+ "./helpers/esm/classCheckPrivateStaticAccess": "./helpers/esm/classCheckPrivateStaticAccess.js",
+ "./helpers/classCheckPrivateStaticFieldDescriptor": [
+ {
+ "node": "./helpers/classCheckPrivateStaticFieldDescriptor.js",
+ "import": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js",
+ "default": "./helpers/classCheckPrivateStaticFieldDescriptor.js"
+ },
+ "./helpers/classCheckPrivateStaticFieldDescriptor.js"
+ ],
+ "./helpers/esm/classCheckPrivateStaticFieldDescriptor": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js",
+ "./helpers/classExtractFieldDescriptor": [
+ {
+ "node": "./helpers/classExtractFieldDescriptor.js",
+ "import": "./helpers/esm/classExtractFieldDescriptor.js",
+ "default": "./helpers/classExtractFieldDescriptor.js"
+ },
+ "./helpers/classExtractFieldDescriptor.js"
+ ],
+ "./helpers/esm/classExtractFieldDescriptor": "./helpers/esm/classExtractFieldDescriptor.js",
+ "./helpers/classPrivateFieldDestructureSet": [
+ {
+ "node": "./helpers/classPrivateFieldDestructureSet.js",
+ "import": "./helpers/esm/classPrivateFieldDestructureSet.js",
+ "default": "./helpers/classPrivateFieldDestructureSet.js"
+ },
+ "./helpers/classPrivateFieldDestructureSet.js"
+ ],
+ "./helpers/esm/classPrivateFieldDestructureSet": "./helpers/esm/classPrivateFieldDestructureSet.js",
+ "./helpers/classPrivateFieldGet": [
+ {
+ "node": "./helpers/classPrivateFieldGet.js",
+ "import": "./helpers/esm/classPrivateFieldGet.js",
+ "default": "./helpers/classPrivateFieldGet.js"
+ },
+ "./helpers/classPrivateFieldGet.js"
+ ],
+ "./helpers/esm/classPrivateFieldGet": "./helpers/esm/classPrivateFieldGet.js",
+ "./helpers/classPrivateFieldSet": [
+ {
+ "node": "./helpers/classPrivateFieldSet.js",
+ "import": "./helpers/esm/classPrivateFieldSet.js",
+ "default": "./helpers/classPrivateFieldSet.js"
+ },
+ "./helpers/classPrivateFieldSet.js"
+ ],
+ "./helpers/esm/classPrivateFieldSet": "./helpers/esm/classPrivateFieldSet.js",
+ "./helpers/classPrivateMethodGet": [
+ {
+ "node": "./helpers/classPrivateMethodGet.js",
+ "import": "./helpers/esm/classPrivateMethodGet.js",
+ "default": "./helpers/classPrivateMethodGet.js"
+ },
+ "./helpers/classPrivateMethodGet.js"
+ ],
+ "./helpers/esm/classPrivateMethodGet": "./helpers/esm/classPrivateMethodGet.js",
+ "./helpers/classPrivateMethodSet": [
+ {
+ "node": "./helpers/classPrivateMethodSet.js",
+ "import": "./helpers/esm/classPrivateMethodSet.js",
+ "default": "./helpers/classPrivateMethodSet.js"
+ },
+ "./helpers/classPrivateMethodSet.js"
+ ],
+ "./helpers/esm/classPrivateMethodSet": "./helpers/esm/classPrivateMethodSet.js",
+ "./helpers/classStaticPrivateFieldDestructureSet": [
+ {
+ "node": "./helpers/classStaticPrivateFieldDestructureSet.js",
+ "import": "./helpers/esm/classStaticPrivateFieldDestructureSet.js",
+ "default": "./helpers/classStaticPrivateFieldDestructureSet.js"
+ },
+ "./helpers/classStaticPrivateFieldDestructureSet.js"
+ ],
+ "./helpers/esm/classStaticPrivateFieldDestructureSet": "./helpers/esm/classStaticPrivateFieldDestructureSet.js",
+ "./helpers/classStaticPrivateFieldSpecGet": [
+ {
+ "node": "./helpers/classStaticPrivateFieldSpecGet.js",
+ "import": "./helpers/esm/classStaticPrivateFieldSpecGet.js",
+ "default": "./helpers/classStaticPrivateFieldSpecGet.js"
+ },
+ "./helpers/classStaticPrivateFieldSpecGet.js"
+ ],
+ "./helpers/esm/classStaticPrivateFieldSpecGet": "./helpers/esm/classStaticPrivateFieldSpecGet.js",
+ "./helpers/classStaticPrivateFieldSpecSet": [
+ {
+ "node": "./helpers/classStaticPrivateFieldSpecSet.js",
+ "import": "./helpers/esm/classStaticPrivateFieldSpecSet.js",
+ "default": "./helpers/classStaticPrivateFieldSpecSet.js"
+ },
+ "./helpers/classStaticPrivateFieldSpecSet.js"
+ ],
+ "./helpers/esm/classStaticPrivateFieldSpecSet": "./helpers/esm/classStaticPrivateFieldSpecSet.js",
+ "./helpers/classStaticPrivateMethodSet": [
+ {
+ "node": "./helpers/classStaticPrivateMethodSet.js",
+ "import": "./helpers/esm/classStaticPrivateMethodSet.js",
+ "default": "./helpers/classStaticPrivateMethodSet.js"
+ },
+ "./helpers/classStaticPrivateMethodSet.js"
+ ],
+ "./helpers/esm/classStaticPrivateMethodSet": "./helpers/esm/classStaticPrivateMethodSet.js",
+ "./helpers/defineEnumerableProperties": [
+ {
+ "node": "./helpers/defineEnumerableProperties.js",
+ "import": "./helpers/esm/defineEnumerableProperties.js",
+ "default": "./helpers/defineEnumerableProperties.js"
+ },
+ "./helpers/defineEnumerableProperties.js"
+ ],
+ "./helpers/esm/defineEnumerableProperties": "./helpers/esm/defineEnumerableProperties.js",
+ "./helpers/dispose": [
+ {
+ "node": "./helpers/dispose.js",
+ "import": "./helpers/esm/dispose.js",
+ "default": "./helpers/dispose.js"
+ },
+ "./helpers/dispose.js"
+ ],
+ "./helpers/esm/dispose": "./helpers/esm/dispose.js",
+ "./helpers/objectSpread": [
+ {
+ "node": "./helpers/objectSpread.js",
+ "import": "./helpers/esm/objectSpread.js",
+ "default": "./helpers/objectSpread.js"
+ },
+ "./helpers/objectSpread.js"
+ ],
+ "./helpers/esm/objectSpread": "./helpers/esm/objectSpread.js",
+ "./helpers/using": [
+ {
+ "node": "./helpers/using.js",
+ "import": "./helpers/esm/using.js",
+ "default": "./helpers/using.js"
+ },
+ "./helpers/using.js"
+ ],
+ "./helpers/esm/using": "./helpers/esm/using.js",
+ "./package": "./package.json",
+ "./package.json": "./package.json",
+ "./regenerator": "./regenerator/index.js",
+ "./regenerator/*.js": "./regenerator/*.js",
+ "./regenerator/": "./regenerator/"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+}
\ No newline at end of file
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/regenerator/index.js b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/regenerator/index.js
new file mode 100644
index 000000000..588135736
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@babel/runtime/regenerator/index.js
@@ -0,0 +1,15 @@
+// TODO(Babel 8): Remove this file.
+
+var runtime = require("../helpers/regeneratorRuntime")();
+module.exports = runtime;
+
+// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
+try {
+ regeneratorRuntime = runtime;
+} catch (accidentalStrictMode) {
+ if (typeof globalThis === "object") {
+ globalThis.regeneratorRuntime = runtime;
+ } else {
+ Function("r", "regeneratorRuntime = r")(runtime);
+ }
+}
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/LICENSE b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/LICENSE
new file mode 100644
index 000000000..788194a5c
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/LICENSE
@@ -0,0 +1,25 @@
+BSD 2-Clause License
+
+Copyright (c) 2019, daily-co
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/README.md b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/README.md
new file mode 100644
index 000000000..9cc97baee
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/README.md
@@ -0,0 +1,22 @@
+# 🎥 Get started with Daily
+
+Please check our [our documentation site](https://docs.daily.co/) to get started. If you're building a web app with our `daily-js` front-end JavaScript library, you may be particularly interested in:
+
+- The [`daily-js` reference docs](https://docs.daily.co/reference#using-the-dailyco-front-end-library), for help adding video calls to your app
+- The [REST API reference docs](https://docs.daily.co/reference), for help creating video call rooms, configuring features for those rooms, and managing users and permissions
+
+# ⚠ Upcoming changes that may require action
+
+## `strictMode`: false will no longer allow multiple call instances
+
+Today, you can circumvent throwing an `Error` on creation of a second (or nth) Daily instance by setting `strictMode: false` in the constructor parameters. With the introduction of proper support for multiple instances, this is replaced with the opt-in parameter, `allowMultipleCallInstances`. So in a future release, if your application needs to use multiple call instances simultaneously, you must set this new parameter to `true`, otherwise multiple instances will not be allowed and an `Error` will be thrown (regardless of `strictMode`).
+
+While we will technically support multiple instances and the fear of bugs when doing so goes away, the majority of use cases only requires one instance and having multiple is likely accidental and will still cause issues. It's for this reason we default to throwing an `Error` in the hopes of avoiding footguns.
+
+Note: `strictMode`, which defaults to true, will continue to be used for disallowing use of a Daily call instance after it has been destroyed.
+
+## `avoidEval` will become `true` by default
+
+Today you can opt in to making `daily-js` behave in a CSP-friendly way by specifying `dailyConfig: { avoidEval: true }` wherever you provide your [call options](https://docs.daily.co/reference/daily-js/daily-iframe-class/properties). You can read more about this option and how to set up your CSP (Content Security Policy) in [this guide](https://docs.daily.co/guides/privacy-and-security/content-security-policy#custom-call-object).
+
+Starting in an upcoming version of `daily-js`, `avoidEval` will switch to defaulting to `true`. To prepare for this change, please make sure that your CSP's `script-src` directive contains `https://*.daily.co` (or explicitly opt out of the new behavior by setting `avoidEval: false`).
diff --git a/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/index.d.ts b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/index.d.ts
new file mode 100644
index 000000000..02cb825a6
--- /dev/null
+++ b/examples/simple-chatbot-fullstack/examples/javascript/node_modules/@daily-co/daily-js/index.d.ts
@@ -0,0 +1,2297 @@
+// Type definitions for daily-js
+// Project: https://github.com/daily-co/daily-js
+// Definitions by: Paul Kompfner
+
+/**
+ * --- BROWSER-SPECIFIC TYPES ---
+ */
+
+///
+
+/**
+ * --- DAILY-JS API ---
+ */
+
+export type DailyLanguage =
+ | 'da'
+ | 'de'
+ | 'en'
+ | 'es'
+ | 'fi'
+ | 'fr'
+ | 'it'
+ | 'jp'
+ | 'ka'
+ | 'nl'
+ | 'no'
+ | 'pl'
+ | 'pt'
+ | 'pt-BR'
+ | 'ru'
+ | 'sv'
+ | 'tr';
+
+export type DailyLanguageSetting = DailyLanguage | 'user';
+
+export type DailyEvent =
+ | 'loading'
+ | 'load-attempt-failed'
+ | 'loaded'
+ | 'started-camera'
+ | 'camera-error'
+ | 'joining-meeting'
+ | 'joined-meeting'
+ | 'left-meeting'
+ | 'call-instance-destroyed'
+ | 'participant-joined'
+ | 'participant-updated'
+ | 'participant-left'
+ | 'participant-counts-updated'
+ | 'track-started'
+ | 'track-stopped'
+ | 'recording-started'
+ | 'recording-stopped'
+ | 'recording-stats'
+ | 'recording-error'
+ | 'recording-upload-completed'
+ | 'recording-data'
+ | 'transcription-started'
+ | 'transcription-stopped'
+ | 'transcription-error'
+ | 'app-message'
+ | 'transcription-message'
+ | 'local-screen-share-started'
+ | 'local-screen-share-stopped'
+ | 'local-screen-share-canceled'
+ | 'active-speaker-change'
+ | 'active-speaker-mode-change'
+ | 'network-quality-change'
+ | 'network-connection'
+ | 'test-completed'
+ | 'cpu-load-change'
+ | 'face-counts-updated'
+ | 'fullscreen'
+ | 'exited-fullscreen'
+ | 'error'
+ | 'nonfatal-error'
+ | 'click'
+ | 'mousedown'
+ | 'mouseup'
+ | 'mouseover'
+ | 'mousemove'
+ | 'touchstart'
+ | 'touchmove'
+ | 'touchend'
+ | 'live-streaming-started'
+ | 'live-streaming-updated'
+ | 'live-streaming-stopped'
+ | 'live-streaming-error'
+ | 'lang-updated'
+ | 'remote-media-player-started'
+ | 'remote-media-player-stopped'
+ | 'remote-media-player-updated'
+ | 'access-state-updated'
+ | 'meeting-session-updated'
+ | 'meeting-session-summary-updated'
+ | 'meeting-session-state-updated'
+ | 'waiting-participant-added'
+ | 'waiting-participant-updated'
+ | 'waiting-participant-removed'
+ | 'theme-updated'
+ | 'available-devices-updated'
+ | 'receive-settings-updated'
+ | 'input-settings-updated'
+ | 'send-settings-updated'
+ | 'local-audio-level'
+ | 'remote-participants-audio-level'
+ | 'show-local-video-changed'
+ | 'selected-devices-updated'
+ | 'custom-button-click'
+ | 'sidebar-view-changed'
+ | 'dialin-connected'
+ | 'dialin-ready'
+ | 'dialin-error'
+ | 'dialin-stopped'
+ | 'dialin-warning'
+ | 'dialout-connected'
+ | 'dialout-error'
+ | 'dialout-stopped'
+ | 'dialout-warning';
+
+export type DailyMeetingState =
+ | 'new'
+ | 'loading'
+ | 'loaded'
+ | 'joining-meeting'
+ | 'joined-meeting'
+ | 'left-meeting'
+ | 'error';
+
+export type DailyCameraErrorType =
+ | 'cam-in-use'
+ | 'mic-in-use'
+ | 'cam-mic-in-use'
+ | 'permissions'
+ | 'undefined-mediadevices'
+ | 'not-found'
+ | 'constraints'
+ | 'unknown';
+
+export type DailyFatalErrorType =
+ | 'ejected'
+ | 'nbf-room'
+ | 'nbf-token'
+ | 'exp-room'
+ | 'exp-token'
+ | 'no-room'
+ | 'meeting-full'
+ | 'end-of-life'
+ | 'not-allowed'
+ | 'connection-error';
+
+export type DailyNonFatalErrorType =
+ | 'input-settings-error'
+ | 'screen-share-error'
+ | 'local-audio-level-observer-error'
+ | 'video-processor-error'
+ | 'audio-processor-error'
+ | 'remote-media-player-error'
+ | 'live-streaming-warning'
+ | 'meeting-session-data-error';
+
+export type DailyNetworkTopology = 'sfu' | 'peer';
+
+export interface DailyParticipantsObject {
+ local: DailyParticipant;
+ [id: string]: DailyParticipant;
+}
+
+export interface DailyBrowserInfo {
+ supported: boolean;
+ mobile: boolean;
+ name: string;
+ version: string;
+ supportsFullscreen: boolean;
+ supportsScreenShare: boolean;
+ supportsSfu: boolean;
+ supportsVideoProcessing: boolean;
+ supportsAudioProcessing: boolean;
+}
+
+export interface DailyThemeColors {
+ /**
+ * Main theme color. Used for primary actions and keyboard focus.
+ */
+ accent?: string;
+ /**
+ * Text color rendered on `accent`.
+ */
+ accentText?: string;
+ /**
+ * Background color.
+ */
+ background?: string;
+ /**
+ * Background color for highlighted elements.
+ */
+ backgroundAccent?: string;
+ /**
+ * Default text color, as rendered on `background` or `backgroundAccent`.
+ */
+ baseText?: string;
+ /**
+ * Default border color for bordered elements.
+ */
+ border?: string;
+ /**
+ * Background color for the call main area.
+ */
+ mainAreaBg?: string;
+ /**
+ * Background color for video tiles.
+ */
+ mainAreaBgAccent?: string;
+ /**
+ * Text color for text rendered inside the call main area, e.g. names.
+ */
+ mainAreaText?: string;
+ /**
+ * Text color for supportive, less emphasized, text.
+ */
+ supportiveText?: string;
+}
+
+export type DailyTheme = {
+ colors: DailyThemeColors;
+};
+export type DailyThemeConfig =
+ | DailyTheme
+ | {
+ light: DailyTheme;
+ dark: DailyTheme;
+ };
+
+export interface DailyGridLayoutConfig {
+ maxTilesPerPage?: number;
+ minTilesPerPage?: number;
+}
+export interface DailyLayoutConfig {
+ grid?: DailyGridLayoutConfig;
+}
+
+export interface DailyCustomTrayButton {
+ iconPath: string;
+ iconPathDarkMode?: string;
+ label: string;
+ tooltip: string;
+}
+
+export interface DailyCustomTrayButtons {
+ [id: string]: DailyCustomTrayButton;
+}
+
+export interface DailyCustomIntegration {
+ /**
+ * Specifies the feature policy for the iframe.
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-allow
+ */
+ allow?: HTMLIFrameElement['allow'];
+ /**
+ * Specifies who in the call is able to start and stop this integration.
+ * - '*' means all participants can start and stop this integration
+ * - 'owners' means only meeting owners can start and stop
+ * - string[] defines the list of participants identified by their session_id
+ * Default: '*'
+ */
+ controlledBy?: '*' | 'owners' | string[];
+ /**
+ * Specifies the [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) for the iframe.
+ * Please check browser support before using this property.
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-csp
+ * https://caniuse.com/mdn-api_htmliframeelement_csp
+ */
+ csp?: string;
+ /**
+ * Specifies a publicly available URL to an icon image file associated with the integration.
+ */
+ iconURL?: string;
+ /**
+ * Used to render the integration's name in Prebuilt.
+ */
+ label: string;
+ /**
+ * By default integrations will be loaded lazily.
+ */
+ loading?: 'eager' | 'lazy';
+ /**
+ * Daily supports two different types of custom integrations:
+ * - Main call area integrations
+ * - Sidebar integrations
+ */
+ location: 'main' | 'sidebar';
+ /**
+ * A unique name for the iframe.
+ * For more info see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-name
+ */
+ name?: HTMLIFrameElement['name'];
+ /**
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-referrerpolicy
+ */
+ referrerPolicy?: HTMLIFrameElement['referrerPolicy'];
+ /**
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox
+ */
+ sandbox?: string;
+ /**
+ * The iframe's source URL.
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-src
+ */
+ src?: HTMLIFrameElement['src'];
+ /**
+ * Allows to integrate inline HTML in an iframe.
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-srcdoc
+ * https://caniuse.com/iframe-srcdoc
+ */
+ srcdoc?: HTMLIFrameElement['srcdoc'];
+ /**
+ * When configured, shares the integration's state with other participants in the call:
+ * - true will share with all other participants
+ * - false won't share
+ * - 'owners' will share with owners only
+ * - string[] will share with participants with given list of session ids
+ *
+ * When the integration is started, it will be started for other participants, too.
+ * When it's stopped, it will stop for all participants.
+ */
+ shared?: string[] | 'owners' | boolean;
+}
+
+export interface DailyCustomIntegrations {
+ [id: string]: DailyCustomIntegration;
+}
+
+export interface DailyCallOptions {
+ url?: string;
+ token?: string;
+ lang?: DailyLanguageSetting;
+ activeSpeakerMode?: boolean;
+ showLeaveButton?: boolean;
+ showParticipantsBar?: boolean;
+ showLocalVideo?: boolean;
+ showFullscreenButton?: boolean;
+ showUserNameChangeUI?: boolean;
+ iframeStyle?: Partial;
+ customIntegrations?: DailyCustomIntegrations;
+ customLayout?: boolean;
+ customTrayButtons?: DailyCustomTrayButtons;
+ bodyClass?: string;
+ cssFile?: string;
+ cssText?: string;
+ dailyConfig?: DailyAdvancedConfig;
+ subscribeToTracksAutomatically?: boolean;
+ videoSource?: string | MediaStreamTrack | boolean;
+ audioSource?: string | MediaStreamTrack | boolean;
+ theme?: DailyThemeConfig;
+ layoutConfig?: DailyLayoutConfig;
+ receiveSettings?: DailyReceiveSettings;
+ sendSettings?: DailySendSettings;
+ inputSettings?: DailyInputSettings;
+ userName?: string;
+ userData?: unknown;
+ startVideoOff?: boolean;
+ startAudioOff?: boolean;
+}
+
+export interface StartCustomTrackOptions {
+ track: MediaStreamTrack;
+ mode?: 'music' | 'speech' | DailyMicAudioModeSettings | undefined;
+ trackName?: string;
+}
+
+export interface DailyLoadOptions extends DailyCallOptions {
+ baseUrl?: string;
+}
+
+export interface DailyFactoryOptions extends DailyCallOptions {
+ // only available at constructor time
+ allowMultipleCallInstances?: boolean;
+ strictMode?: boolean;
+}
+
+export interface DailyMicAudioModeSettings {
+ bitrate?: number;
+ stereo?: boolean;
+}
+
+export interface DailyIceConfig {
+ iceServers?: RTCIceServer[];
+ placement?: 'front' | 'back' | 'replace';
+ iceTransportPolicy?: RTCIceTransportPolicy;
+}
+
+export interface DailyAdvancedConfig {
+ /**
+ * @deprecated This property will be removed. Instead, use sendSettings, which is found in DailyCallOptions.
+ */
+ camSimulcastEncodings?: any[];
+ /**
+ * @deprecated This property will be removed. Use the method updateSendSettings instead.
+ */
+ disableSimulcast?: boolean;
+ keepCamIndicatorLightOn?: boolean;
+ v2CamAndMic?: boolean;
+ /**
+ * @deprecated This property will be removed. It has no affect.
+ */
+ fastConnect?: boolean;
+ h264Profile?: string;
+ micAudioMode?: 'music' | 'speech' | DailyMicAudioModeSettings;
+ noAutoDefaultDeviceChange?: boolean;
+ preferH264?: boolean;
+ preferH264ForCam?: boolean;
+ preferH264ForScreenSharing?: boolean;
+ /**
+ * @deprecated This property will be removed. Instead, use sendSettings, which
+ * is found in DailyCallOptions.
+ */
+ screenSimulcastEncodings?: any[];
+ useDevicePreferenceCookies?: boolean;
+ userMediaAudioConstraints?: MediaTrackConstraints;
+ userMediaVideoConstraints?: MediaTrackConstraints;
+ avoidEval?: boolean;
+ callObjectBundleUrlOverride?: string;
+ alwaysIncludeMicInPermissionPrompt?: boolean;
+ alwaysIncludeCamInPermissionPrompt?: boolean;
+ enableIndependentDevicePermissionPrompts?: boolean;
+ proxyUrl?: string;
+ iceConfig?: DailyIceConfig;
+ useLegacyVideoProcessor?: boolean;
+}
+
+export interface DailyTrackState {
+ subscribed: DailyTrackSubscriptionState;
+ state:
+ | 'blocked'
+ | 'off'
+ | 'sendable'
+ | 'loading'
+ | 'interrupted'
+ | 'playable';
+ blocked?: {
+ byDeviceMissing?: boolean;
+ byDeviceInUse?: boolean;
+ byPermissions?: boolean;
+ };
+ off?: {
+ byUser?: boolean;
+ byRemoteRequest?: boolean;
+ byBandwidth?: boolean;
+ byCanSendPermission?: boolean;
+ byServerLimit?: boolean;
+ };
+ // guaranteed-playable reference to the track
+ // (it's only present when state === 'playable')
+ track?: MediaStreamTrack;
+ // not-guaranteed-playable reference to the track
+ // (it may be present when state !== 'playable')
+ // useful, for instance, for avoiding Safari's
+ // remote-track-unmute-in-background-tab bug
+ // (see https://github.com/daily-demos/call-object-react/blob/c81b21262dead2aacbd5a2f534d0fee8530acfe4/src/components/Tile/Tile.js#L53-L60)
+ persistentTrack?: MediaStreamTrack;
+}
+
+export type DailyParticipantPermissionsCanSendValues =
+ | 'video'
+ | 'audio'
+ | 'screenVideo'
+ | 'screenAudio'
+ | 'customVideo'
+ | 'customAudio';
+
+export type DailyParticipantPermissionsCanAdminValues =
+ | 'participants'
+ | 'streaming'
+ | 'transcription';
+
+export interface DailyParticipantPermissions {
+ hasPresence: boolean;
+ canSend: Set | boolean;
+ canAdmin: Set | boolean;
+}
+
+export type DailyParticipantPermissionsUpdate = {
+ hasPresence?: boolean;
+ canSend?:
+ | Array
+ | Set
+ | boolean;
+ canAdmin?:
+ | Array
+ | Set
+ | boolean;
+};
+
+export interface DailyParticipantTracks {
+ audio: DailyTrackState;
+ video: DailyTrackState;
+ screenAudio: DailyTrackState;
+ screenVideo: DailyTrackState;
+ rmpAudio?: DailyTrackState;
+ rmpVideo?: DailyTrackState;
+ [customTrackKey: string]: DailyTrackState | undefined;
+}
+
+export interface DailyParticipant {
+ /**
+ * @deprecated
+ * This property will be removed. Use tracks.audio.persistentTrack instead.
+ */
+ audioTrack?: MediaStreamTrack | false;
+ /**
+ * @deprecated
+ * This property will be removed. Use tracks.video.persistentTrack instead.
+ */
+ videoTrack?: MediaStreamTrack | false;
+ /**
+ * @deprecated
+ * This property will be removed.
+ * Use tracks.screenVideo.persistentTrack instead.
+ */
+ screenVideoTrack?: MediaStreamTrack | false;
+ /**
+ * @deprecated
+ * This property will be removed.
+ * Use tracks.screenAudio.persistentTrack instead.
+ */
+ screenAudioTrack?: MediaStreamTrack | false;
+
+ /**
+ * @deprecated This property will be removed. Use tracks.audio.state instead.
+ */
+ audio: boolean;
+ /**
+ * @deprecated This property will be removed. Use tracks.video.state instead.
+ */
+ video: boolean;
+ /**
+ * @deprecated
+ * This property will be removed. Use tracks.screenVideo.state instead.
+ */
+ screen: boolean;
+
+ // track state
+ tracks: DailyParticipantTracks;
+
+ // user/session info
+ user_id: string;
+ user_name: string;
+ userData?: unknown;
+ session_id: string;
+ joined_at?: Date;
+ networkThreshold?: 'good' | 'low' | 'very-low';
+ will_eject_at: Date;
+ local: boolean;
+ owner: boolean;
+ permissions: DailyParticipantPermissions;
+ record: boolean;
+ participantType?: string;
+
+ // video element info (iframe-based calls using standard UI only)
+ /**
+ * @deprecated
+ * This property will be removed. Refer to tracks.video instead.
+ */
+ cam_info: {} | DailyVideoElementInfo;
+ /**
+ * @deprecated
+ * This property will be removed. Refer to tracks.screenVideo instead.
+ */
+ screen_info: {} | DailyVideoElementInfo;
+}
+
+export interface DailyParticipantCounts {
+ present: number;
+ hidden: number;
+}
+
+export interface DailyWaitingParticipant {
+ id: string;
+ name: string;
+ awaitingAccess: SpecifiedDailyAccess;
+}
+
+export type DailyTrackSubscriptionState = 'staged' | boolean;
+
+export type DailyCustomTrackSubscriptionState =
+ | DailyTrackSubscriptionState
+ | { [name: string]: DailyTrackSubscriptionState };
+
+export type DailyTrackSubscriptionOptions =
+ | DailyTrackSubscriptionState
+ | 'avatar'
+ | {
+ audio?: DailyTrackSubscriptionState;
+ video?: DailyTrackSubscriptionState;
+ screenVideo?: DailyTrackSubscriptionState;
+ screenAudio?: DailyTrackSubscriptionState;
+ custom?: DailyCustomTrackSubscriptionState;
+ };
+
+export interface DailyParticipantUpdateOptions {
+ setAudio?: boolean;
+ setVideo?: boolean;
+ setScreenShare?: false;
+ setSubscribedTracks?: DailyTrackSubscriptionOptions;
+ eject?: true;
+ updatePermissions?: DailyParticipantPermissionsUpdate;
+ styles?: DailyParticipantCss;
+}
+
+export interface DailyWaitingParticipantUpdateOptions {
+ grantRequestedAccess?: boolean;
+}
+
+export interface DailyParticipantCss {
+ cam?: DailyParticipantStreamCss;
+ screen?: DailyParticipantStreamCss;
+}
+
+export interface DailyParticipantStreamCss {
+ div?: Partial;
+ overlay?: Partial;
+ video?: Partial;
+}
+
+/**
+ * @deprecated
+ * All properties will be removed as cam_info and screen_info are also
+ * deprecated. Use the participants() object's tracks property to retrieve track
+ * information instead.
+ * e.g. call.participants()['participant-id'].tracks.video.persistentTrack.getSettings()
+ */
+export interface DailyVideoElementInfo {
+ width: number;
+ height: number;
+ left: number;
+ top: number;
+ video_width: number;
+ video_height: number;
+}
+
+export interface DailyDeviceInfos {
+ camera: {} | DailyMediaDeviceInfo;
+ mic: {} | MediaDeviceInfo;
+ speaker: {} | MediaDeviceInfo;
+}
+
+/**
+ * @deprecated
+ * Almost all the properties in this type were just used by Electron.
+ * And the mediaStream can be replaced to use custom tracks.
+ */
+export interface DailyScreenCaptureOptions {
+ /**
+ * @deprecated This property will be removed. It is only used for Electron.
+ */
+ audio?: boolean;
+ /**
+ * @deprecated This property will be removed. It is only used for Electron.
+ */
+ maxWidth?: number;
+ /**
+ * @deprecated This property will be removed. It is only used for Electron.
+ */
+ maxHeight?: number;
+ /**
+ * @deprecated This property will be removed. It is only used for Electron.
+ */
+ chromeMediaSourceId?: string;
+ /**
+ * @deprecated
+ * This property will be removed.
+ * It is recommended to use our custom tracks API.
+ */
+ mediaStream?: MediaStream;
+}
+
+// More details about all the possible options
+// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia
+export interface DailyDisplayMediaStreamOptions {
+ audio?: boolean | MediaTrackConstraints;
+ video?: boolean | MediaTrackConstraints;
+ selfBrowserSurface?: 'include' | 'exclude';
+ surfaceSwitching?: 'include' | 'exclude';
+ systemAudio?: 'include' | 'exclude';
+}
+
+export interface DailyDisplayMediaStreamOptionsElectron {
+ audio?: boolean;
+ video: {
+ maxWidth?: number;
+ maxHeight?: number;
+ };
+ chromeMediaSourceId?: string;
+}
+
+export interface DailyStartScreenShare {
+ displayMediaOptions?:
+ | DailyDisplayMediaStreamOptions
+ | DailyDisplayMediaStreamOptionsElectron;
+ screenVideoSendSettings?:
+ | DailyVideoSendSettings
+ | DailyScreenVideoSendSettingsPreset;
+}
+
+export interface DailyStartScreenShareFromStream {
+ mediaStream: MediaStream;
+ screenVideoSendSettings?:
+ | DailyVideoSendSettings
+ | DailyScreenVideoSendSettingsPreset;
+}
+
+export type DailyStartScreenShareOptions =
+ | DailyScreenCaptureOptions
+ | DailyStartScreenShare
+ | DailyStartScreenShareFromStream;
+
+export type DailyQualityTestResult =
+ | 'good'
+ | 'bad'
+ | 'warning'
+ | 'aborted'
+ | 'failed';
+
+export type DailyCallQualityTestResults =
+ | DailyCallQualityTestStats
+ | DailyCallQualityTestAborted
+ | DailyCallQualityTestFailure;
+
+export type DailyP2PCallQualityTestResults =
+ | DailyP2PCallQualityTestStats
+ | DailyCallQualityTestAborted
+ | DailyCallQualityTestFailure;
+
+export interface DailyCallQualityTestStats {
+ result: Extract;
+ data: DailyCallQualityTestData;
+ secondsElapsed: number;
+}
+export interface DailyP2PCallQualityTestStats {
+ result: Extract;
+ data: DailyP2PCallQualityTestData;
+ secondsElapsed: number;
+}
+
+export interface DailyCallQualityTestData {
+ maxRoundTripTime: number | null;
+ avgRoundTripTime: number | null;
+ avgSendPacketLoss: number | null;
+ avgAvailableOutgoingBitrate: number | null;
+ avgSendBitsPerSecond: number | null;
+}
+
+export interface DailyP2PCallQualityTestData {
+ maxRoundTripTime: number | null;
+ avgRoundTripTime: number | null;
+ avgRecvPacketLoss: number | null;
+ avgAvailableOutgoingBitrate: number | null;
+ avgSendBitsPerSecond: number | null;
+ avgRecvBitsPerSecond: number | null;
+}
+
+export interface DailyCallQualityTestAborted {
+ result: Extract;
+ secondsElapsed: number;
+}
+
+export interface DailyCallQualityTestFailure {
+ result: Extract;
+ errorMsg: string;
+ error?: DailyFatalErrorObject;
+ secondsElapsed: number;
+}
+
+export interface DailyConnectionQualityTestData {
+ // TODO: New TestPeerToPeerCallQuality() should return DailyCallQualityTestData
+ maxRTT: number | null;
+ packetLoss: number | null;
+}
+
+export interface DailyConnectionQualityTestStats {
+ result: DailyQualityTestResult;
+ data: DailyConnectionQualityTestData;
+ secondsElapsed: number;
+}
+
+export interface DailyWebsocketConnectivityTestResults {
+ result: 'passed' | 'failed' | 'warning' | 'aborted';
+ abortedRegions: string[];
+ failedRegions: string[];
+ passedRegions: string[];
+}
+
+export interface DailyNetworkConnectivityTestStats {
+ result: 'passed' | 'failed' | 'aborted';
+}
+
+export interface DailyNetworkStats {
+ quality: number;
+ stats: {
+ latest: {
+ timestamp: number;
+ recvBitsPerSecond: number | null;
+ sendBitsPerSecond: number | null;
+ availableOutgoingBitrate: number | null;
+ networkRoundTripTime: number | null;
+ videoRecvBitsPerSecond: number | null;
+ videoSendBitsPerSecond: number | null;
+ audioRecvBitsPerSecond: number | null;
+ audioSendBitsPerSecond: number | null;
+ videoRecvPacketLoss: number | null;
+ videoSendPacketLoss: number | null;
+ audioRecvPacketLoss: number | null;
+ audioSendPacketLoss: number | null;
+ totalSendPacketLoss: number | null;
+ totalRecvPacketLoss: number | null;
+ videoRecvJitter: number | null;
+ videoSendJitter: number | null;
+ audioRecvJitter: number | null;
+ audioSendJitter: number | null;
+ };
+ worstVideoRecvPacketLoss: number;
+ worstVideoSendPacketLoss: number;
+ worstAudioRecvPacketLoss: number;
+ worstAudioSendPacketLoss: number;
+ worstVideoRecvJitter: number;
+ worstVideoSendJitter: number;
+ worstAudioRecvJitter: number;
+ worstAudioSendJitter: number;
+ averageNetworkRoundTripTime: number;
+ };
+ threshold: 'good' | 'low' | 'very-low';
+}
+
+export interface DailyCpuLoadStats {
+ cpuLoadState: 'low' | 'high';
+ cpuLoadStateReason: 'encode' | 'decode' | 'scheduleDuration' | 'none'; // We are currently not using the Inter frame Delay to change the cpu load state
+ stats: {
+ latest: {
+ timestamp: number;
+ scheduleDuration: number;
+ frameEncodeTimeSec: number;
+ targetEncodeFrameRate: number;
+ targetDecodeFrameRate: number;
+ targetScheduleDuration: number;
+ cpuUsageBasedOnTargetEncode: number;
+ cpuUsageBasedOnGlobalDecode: number;
+ avgFrameDecodeTimeSec: number;
+ avgInterFrameDelayStandardDeviation: number;
+ totalReceivedVideoTracks: number;
+ cpuInboundVideoStats: {
+ trackId: string;
+ ssrc: number;
+ frameWidth: number;
+ frameHeight: number;
+ fps: number;
+ frameDecodeTimeSec: number;
+ interFrameDelayStandardDeviation: number;
+ cpuUsageBasedOnTargetDecode: number;
+ }[];
+ };
+ };
+}
+
+export interface DailySendSettings {
+ video?: DailyCamVideoSendSettings | DailyVideoSendSettingsPreset;
+ customVideoDefaults?: DailyVideoSendSettings | DailyVideoSendSettingsPreset;
+ screenVideo?: DailyVideoSendSettings | DailyScreenVideoSendSettingsPreset;
+ [customKey: string]:
+ | DailyVideoSendSettings
+ // TypeScript will prioritize the index signature over explicitly declared properties
+ // So unless I add it here, in order to use DailyCamVideoSendSettings I would need to
+ // use of a type assertion to inform TypeScript about the specific type of video.
+ // Like this:
+ // video: { allowAdaptiveLayers: true, } as DailyCamVideoSendSettings
+ | DailyCamVideoSendSettings
+ | DailyVideoSendSettingsPreset
+ | DailyScreenVideoSendSettingsPreset
+ | undefined;
+}
+
+export interface DailyParticipantsAudioLevel {
+ [participantId: string]: number;
+}
+
+export type DailyVideoSendSettingsPreset =
+ | 'default-video'
+ | 'bandwidth-optimized'
+ | 'bandwidth-and-quality-balanced'
+ | 'quality-optimized'
+ | 'adaptive-2-layers'
+ | 'adaptive-3-layers';
+
+// Media Track Send Settings
+export interface DailyVideoSendSettings {
+ maxQuality?: 'low' | 'medium' | 'high';
+ encodings?: {
+ low: RTCRtpEncodingParameters;
+ medium?: RTCRtpEncodingParameters;
+ high?: RTCRtpEncodingParameters;
+ };
+}
+
+export interface DailyCamVideoSendSettings extends DailyVideoSendSettings {
+ allowAdaptiveLayers?: boolean;
+}
+
+export type DailyScreenVideoSendSettingsPreset =
+ | 'default-screen-video'
+ | 'detail-optimized'
+ | 'motion-optimized'
+ | 'motion-and-detail-balanced';
+
+export interface DailyPendingRoomInfo {
+ roomUrlPendingJoin: string;
+}
+
+export interface DailyRecordingsBucket {
+ allow_api_access: boolean;
+ allow_streaming_from_bucket: boolean;
+ assume_role_arn: string;
+ bucket_name: string;
+ bucket_region: string;
+}
+
+export interface DailyRoomInfo {
+ id: string;
+ name: string;
+ config: {
+ nbf?: number;
+ exp?: number;
+ max_participants?: number;
+ enable_screenshare?: boolean;
+ enable_advanced_chat?: boolean;
+ enable_breakout_rooms?: boolean;
+ enable_emoji_reactions?: boolean;
+ enable_chat?: boolean;
+ enable_shared_chat_history?: boolean;
+ enable_hand_raising?: boolean;
+ enable_knocking?: boolean;
+ enable_live_captions_ui?: boolean;
+ enable_network_ui?: boolean;
+ enable_noise_cancellation_ui?: boolean;
+ enable_people_ui?: boolean;
+ enable_pip_ui?: boolean;
+ enable_prejoin_ui?: boolean;
+ enable_video_processing_ui?: boolean;
+ experimental_optimize_large_calls?: boolean;
+ start_video_off?: boolean;
+ start_audio_off?: boolean;
+ owner_only_broadcast?: boolean;
+ audio_only?: boolean;
+ enable_recording?: string;
+ enable_dialin?: boolean;
+ /**
+ * @deprecated This property will be removed.
+ * All calls are treated as autojoin.
+ */
+ autojoin?: boolean;
+ eject_at_room_exp?: boolean;
+ eject_after_elapsed?: number;
+ lang?: '' | DailyLanguageSetting;
+ sfu_switchover?: number;
+ /**
+ * @deprecated This property will be removed.
+ * All calls use websocket signaling ('ws').
+ */
+ signaling_impl?: string;
+ geo?: string;
+ recordings_bucket?: DailyRecordingsBucket;
+ };
+ domainConfig: {
+ hide_daily_branding?: boolean;
+ redirect_on_meeting_exit?: string;
+ hipaa?: boolean;
+ sfu_impl?: string;
+ signaling_impl?: string;
+ sfu_switchover?: number;
+ lang?: '' | DailyLanguageSetting;
+ max_api_rooms?: number;
+ webhook_meeting_end?: any;
+ max_live_streams?: number;
+ max_streaming_instances_per_room?: number;
+ enable_advanced_chat?: boolean;
+ enable_breakout_rooms?: boolean;
+ enable_emoji_reactions?: boolean;
+ enable_chat?: boolean;
+ enable_shared_chat_history?: boolean;
+ enable_hand_raising?: boolean;
+ enable_live_captions_ui?: boolean;
+ enable_network_ui?: boolean;
+ enable_noise_cancellation_ui?: boolean;
+ enable_people_ui?: boolean;
+ enable_pip_ui?: boolean;
+ enable_prejoin_ui?: boolean;
+ enable_transcription?: boolean;
+ enable_video_processing_ui?: boolean;
+ recordings_bucket?: DailyRecordingsBucket;
+ };
+ tokenConfig: {
+ eject_at_token_exp?: boolean;
+ eject_after_elapsed?: number;
+ nbf?: number;
+ exp?: number;
+ is_owner?: boolean;
+ user_name?: string;
+ user_id?: string;
+ enable_live_captions_ui?: boolean;
+ enable_prejoin_ui?: boolean;
+ enable_screenshare?: boolean;
+ start_video_off?: boolean;
+ start_audio_off?: boolean;
+ enable_recording?: string;
+ start_cloud_recording_opts?: DailyStreamingOptions<'recording', 'start'>;
+ enable_recording_ui?: boolean;
+ start_cloud_recording?: boolean;
+ close_tab_on_exit?: boolean;
+ redirect_on_meeting_exit?: string;
+ lang?: '' | DailyLanguageSetting;
+ };
+ dialInPIN?: string;
+}
+
+/**
+ * @deprecated
+ * This type will be removed. Use DailyMeetingSessionSummary instead.
+ */
+export interface DailyMeetingSession {
+ id: string;
+}
+
+export interface DailyMeetingSessionSummary {
+ id: string;
+}
+
+export interface DailyMeetingSessionState {
+ data: unknown;
+ topology: DailyNetworkTopology | 'none';
+}
+
+export type DailySessionDataMergeStrategy = 'replace' | 'shallow-merge';
+
+export interface DailyVideoReceiveSettings {
+ layer?: number;
+}
+export interface DailySingleParticipantReceiveSettings {
+ video?: DailyVideoReceiveSettings;
+ screenVideo?: DailyVideoReceiveSettings;
+ [customKey: string]: DailyVideoReceiveSettings | undefined;
+}
+
+export interface DailyReceiveSettings {
+ [participantIdOrBase: string]: DailySingleParticipantReceiveSettings;
+}
+
+export interface DailyVideoReceiveSettingsUpdates {
+ layer?: number | 'inherit';
+}
+
+export interface DailySingleParticipantReceiveSettingsUpdates {
+ video?: DailyVideoReceiveSettingsUpdates | 'inherit';
+ screenVideo?: DailyVideoReceiveSettingsUpdates | 'inherit';
+ [customKey: string]: DailyVideoReceiveSettingsUpdates | 'inherit' | undefined;
+}
+
+export interface DailyReceiveSettingsUpdates {
+ [participantIdOrBaseOrStar: string]:
+ | DailySingleParticipantReceiveSettingsUpdates
+ | 'inherit';
+}
+
+export interface DailyInputSettings {
+ audio?: DailyInputAudioSettings;
+ video?: DailyInputVideoSettings;
+}
+
+export interface DailyInputAudioSettings {
+ processor: DailyInputAudioProcessorSettings;
+}
+
+export interface DailyInputAudioProcessorSettings {
+ type: 'none' | 'noise-cancellation';
+}
+
+export interface DailyNoInputSettings {
+ type: 'none';
+}
+
+export interface DailyBackgroundBlurInputSettings {
+ type: 'background-blur';
+ config: {
+ strength?: number;
+ };
+}
+
+export interface DailyFaceDetectionInputSettings {
+ type: 'face-detection';
+}
+
+export interface DailyBackgroundImageInputSettings {
+ type: 'background-image';
+ config: {
+ url?: string;
+ source?: string | number | ArrayBuffer;
+ };
+}
+
+export type DailyInputVideoProcessorSettings =
+ | DailyNoInputSettings
+ | DailyBackgroundBlurInputSettings
+ | DailyBackgroundImageInputSettings
+ | DailyFaceDetectionInputSettings;
+
+export interface DailyInputVideoSettings {
+ processor?: DailyInputVideoProcessorSettings;
+}
+
+export type DailyEventObjectBase = {
+ action: DailyEvent;
+ callClientId: string;
+};
+
+export interface DailyEventObjectNoPayload extends DailyEventObjectBase {
+ action: Extract<
+ DailyEvent,
+ | 'loading'
+ | 'loaded'
+ | 'joining-meeting'
+ | 'left-meeting'
+ | 'call-instance-destroyed'
+ | 'recording-stats'
+ | 'recording-upload-completed'
+ | 'fullscreen'
+ | 'exited-fullscreen'
+ >;
+}
+
+export type DailyCameraError = {
+ msg: string;
+};
+
+export interface DailyCamPermissionsError extends DailyCameraError {
+ type: Extract;
+ blockedBy: 'user' | 'browser';
+ blockedMedia: Array<'video' | 'audio'>;
+}
+
+export interface DailyCamDeviceNotFoundError extends DailyCameraError {
+ type: Extract;
+ missingMedia: Array<'video' | 'audio'>;
+}
+
+export interface DailyCamConstraintsError extends DailyCameraError {
+ type: Extract;
+ reason: 'invalid' | 'none-specified';
+}
+
+export interface DailyCamInUseError extends DailyCameraError {
+ type: Extract<
+ DailyCameraErrorType,
+ 'cam-in-use' | 'mic-in-use' | 'cam-mic-in-use'
+ >;
+}
+
+export interface DailyCamTypeError extends DailyCameraError {
+ type: Extract;
+}
+
+export interface DailyCamUnknownError extends DailyCameraError {
+ type: Extract;
+}
+
+export type DailyCameraErrorObject =
+ T extends DailyCamPermissionsError['type']
+ ? DailyCamPermissionsError
+ : T extends DailyCamDeviceNotFoundError['type']
+ ? DailyCamDeviceNotFoundError
+ : T extends DailyCamConstraintsError['type']
+ ? DailyCamConstraintsError
+ : T extends DailyCamInUseError['type']
+ ? DailyCamInUseError
+ : T extends DailyCamTypeError['type']
+ ? DailyCamTypeError
+ : T extends DailyCamUnknownError['type']
+ ? DailyCamUnknownError
+ : any;
+
+export interface DailyEventObjectCameraError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: {
+ errorMsg: string;
+ audioOk?: boolean;
+ videoOk?: boolean;
+ };
+ error: DailyCameraErrorObject;
+}
+
+export type DailyFatalError = {
+ type: DailyFatalErrorType;
+ msg: string;
+};
+
+export interface DailyFatalConnectionError extends DailyFatalError {
+ type: Extract;
+ details: {
+ on:
+ | 'load'
+ | 'join'
+ | 'reconnect'
+ | 'move'
+ | 'rtc-connection'
+ | 'room-lookup';
+ sourceError: Record;
+ uri?: string;
+ workerGroup?: string;
+ geoGroup?: string;
+ bundleUrl?: string;
+ };
+}
+
+export type DailyFatalErrorObject =
+ T extends DailyFatalConnectionError['type'] ? DailyFatalConnectionError : any;
+
+export interface DailyEventObjectFatalError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ error?: DailyFatalErrorObject;
+}
+
+export interface DailyEventObjectNonFatalError extends DailyEventObjectBase {
+ action: Extract;
+ type: DailyNonFatalErrorType;
+ errorMsg: string;
+ details?: any;
+}
+
+export interface DailyEventObjectGenericError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+}
+
+export interface DailyEventObjectLiveStreamingError
+ extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ instanceId?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectParticipants extends DailyEventObjectBase {
+ action: Extract;
+ participants: DailyParticipantsObject;
+}
+
+export interface DailyEventObjectParticipant extends DailyEventObjectBase {
+ action: Extract;
+ participant: DailyParticipant;
+}
+
+// only 1 reason reported for now. more to come.
+export type DailyParticipantLeftReason = 'hidden';
+
+export interface DailyEventObjectParticipantLeft extends DailyEventObjectBase {
+ action: Extract;
+ participant: DailyParticipant;
+ // reason undefined if participant left for any reason other than those listed
+ // in DailyParticipantLeftReason
+ reason?: DailyParticipantLeftReason;
+}
+
+export interface DailyEventObjectParticipantCounts
+ extends DailyEventObjectBase {
+ action: Extract;
+ participantCounts: DailyParticipantCounts;
+}
+
+export interface DailyEventObjectWaitingParticipant
+ extends DailyEventObjectBase {
+ action: Extract<
+ DailyEvent,
+ | 'waiting-participant-added'
+ | 'waiting-participant-updated'
+ | 'waiting-participant-removed'
+ >;
+ participant: DailyWaitingParticipant;
+}
+
+export interface DailyEventObjectAccessState
+ extends DailyAccessState,
+ DailyEventObjectBase {
+ action: Extract;
+}
+
+export interface DailyEventObjectMeetingSessionSummaryUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ meetingSession: DailyMeetingSessionSummary;
+}
+
+/**
+ * @deprecated
+ * This event will be removed. Use the
+ * DailyEventObjectMeetingSessionSummaryUpdated type instead.
+ */
+export interface DailyEventObjectMeetingSessionUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ meetingSession: DailyMeetingSession;
+}
+
+export interface DailyEventObjectMeetingSessionStateUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ meetingSessionState: DailyMeetingSessionState;
+}
+
+export interface DailyEventObjectTrack extends DailyEventObjectBase {
+ action: Extract;
+ participant: DailyParticipant | null; // null if participant left meeting
+ track: MediaStreamTrack;
+ type:
+ | 'video'
+ | 'audio'
+ | 'screenVideo'
+ | 'screenAudio'
+ | 'rmpVideo'
+ | 'rmpAudio'
+ | string; // string - for custom tracks
+}
+
+export interface DailyEventObjectRecordingStarted extends DailyEventObjectBase {
+ action: Extract;
+ local?: boolean;
+ recordingId?: string;
+ startedBy?: string;
+ type?: string;
+ layout?: DailyStreamingLayoutConfig<'start'>;
+ instanceId?: string;
+}
+
+export interface DailyEventObjectRecordingStopped extends DailyEventObjectBase {
+ action: Extract;
+ instanceId?: string;
+}
+
+export interface DailyEventObjectRecordingError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ instanceId?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectRecordingData extends DailyEventObjectBase {
+ action: Extract;
+ data: Uint8Array;
+ finished: boolean;
+}
+
+export interface DailyEventObjectMouseEvent extends DailyEventObjectBase {
+ action: Extract<
+ DailyEvent,
+ 'click' | 'mousedown' | 'mouseup' | 'mouseover' | 'mousemove'
+ >;
+ event: {
+ type: string;
+ button: number;
+ x: number;
+ y: number;
+ pageX: number;
+ pageY: number;
+ screenX: number;
+ screenY: number;
+ offsetX: number;
+ offsetY: number;
+ altKey: boolean;
+ ctrlKey: boolean;
+ metaKey: boolean;
+ shiftKey: boolean;
+ };
+ participant: DailyParticipant;
+}
+
+export interface DailyEventObjectTouchEvent extends DailyEventObjectBase {
+ action: Extract;
+ event: {
+ type: string;
+ altKey: boolean;
+ ctrlKey: boolean;
+ metaKey: boolean;
+ shiftKey: boolean;
+ };
+ participant: DailyParticipant;
+}
+
+export interface DailyEventObjectNetworkQualityEvent
+ extends DailyEventObjectBase {
+ action: Extract;
+ threshold: 'good' | 'low' | 'very-low';
+ quality: number;
+}
+
+export interface DailyEventObjectCpuLoadEvent extends DailyEventObjectBase {
+ action: Extract;
+ cpuLoadState: 'low' | 'high';
+ cpuLoadStateReason: 'encode' | 'decode' | 'scheduleDuration' | 'none'; // We are currently not using the Inter frame Delay to change the cpu load state
+}
+
+export interface DailyEventObjectFaceCounts extends DailyEventObjectBase {
+ action: Extract;
+ faceCounts: number;
+}
+
+export type NetworkConnectionType = 'signaling' | 'peer-to-peer' | 'sfu';
+
+export interface DailyEventObjectNetworkConnectionEvent
+ extends DailyEventObjectBase {
+ action: Extract;
+ type: NetworkConnectionType;
+ event: string;
+ session_id?: string;
+ sfu_id?: string;
+}
+
+export interface DailyEventObjectTestCompleted extends DailyEventObjectBase {
+ action: Extract;
+ test:
+ | 'call-quality'
+ | 'p2p-call-quality'
+ | 'network-connectivity'
+ | 'websocket-connectivity';
+ results:
+ | DailyCallQualityTestResults
+ | DailyP2PCallQualityTestResults
+ | DailyNetworkConnectivityTestStats
+ | DailyWebsocketConnectivityTestResults;
+}
+
+export interface DailyEventObjectActiveSpeakerChange
+ extends DailyEventObjectBase {
+ action: Extract;
+ activeSpeaker: {
+ peerId: string;
+ };
+}
+
+export interface DailyEventObjectActiveSpeakerModeChange
+ extends DailyEventObjectBase {
+ action: Extract;
+ enabled: boolean;
+}
+
+export interface DailyEventObjectAppMessage
+ extends DailyEventObjectBase {
+ action: Extract;
+ data: Data;
+ fromId: string;
+}
+
+export interface DailyEventObjectTranscriptionMessage
+ extends DailyEventObjectBase {
+ action: Extract;
+ instanceId?: string;
+ participantId: string;
+ text: string;
+ timestamp: Date;
+ rawResponse: Record;
+}
+
+export interface DailyEventObjectLangUpdated extends DailyEventObjectBase {
+ action: Extract;
+ lang: DailyLanguage;
+ langSetting: DailyLanguageSetting;
+}
+
+export interface DailyEventObjectThemeUpdated extends DailyEventObjectBase {
+ action: Extract;
+ theme: DailyThemeConfig;
+}
+
+export interface DailyEventObjectReceiveSettingsUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ receiveSettings: DailyReceiveSettings;
+}
+
+export interface DailyEventObjectAvailableDevicesUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ availableDevices: MediaDeviceInfo[];
+}
+
+export interface DailyEventObjectShowLocalVideoChanged
+ extends DailyEventObjectBase {
+ action: Extract;
+ show: boolean;
+}
+export interface DailyEventObjectInputSettingsUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ inputSettings: DailyInputSettings;
+}
+
+export interface DailyEventObjectSendSettingsUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ sendSettings: DailySendSettings;
+}
+
+export interface DailyEventObjectLocalAudioLevel extends DailyEventObjectBase {
+ action: Extract;
+ audioLevel: number;
+}
+
+export interface DailyEventObjectRemoteParticipantsAudioLevel
+ extends DailyEventObjectBase {
+ action: Extract;
+ participantsAudioLevel: DailyParticipantsAudioLevel;
+}
+
+export interface DailyEventObjectLiveStreamingStarted
+ extends DailyEventObjectBase {
+ action: Extract;
+ layout?: DailyLiveStreamingLayoutConfig<'start'>;
+ instanceId?: string;
+}
+export interface DailyEventObjectLiveStreamingUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ endpoint?: DailyStreamingEndpoint;
+ state: DailyStreamingState;
+ instanceId?: string;
+}
+
+export interface DailyEventObjectLiveStreamingStopped
+ extends DailyEventObjectBase {
+ action: Extract;
+ instanceId?: string;
+}
+
+export interface DailyEventObjectTranscriptionStarted
+ extends DailyEventObjectBase {
+ action: Extract;
+ instanceId: string;
+ transcriptId?: string;
+ language: string;
+ model: string;
+ tier?: string;
+ profanity_filter?: boolean;
+ redact?: Array | Array | boolean;
+ endpointing?: number | boolean;
+ punctuate?: boolean;
+ extra?: Record;
+ includeRawResponse?: boolean;
+ startedBy: string;
+}
+
+export interface DailyEventObjectTranscriptionStopped
+ extends DailyEventObjectBase {
+ action: Extract;
+ instanceId: string;
+ updatedBy: string;
+}
+
+export interface DailyEventObjectTranscriptionError
+ extends DailyEventObjectBase {
+ action: Extract;
+ instanceId: string;
+ errorMsg?: string;
+}
+
+export type DailyRemoteMediaPlayerStopReason =
+ | DailyRemoteMediaPlayerEOS
+ | DailyRemoteMediaPlayerPeerStopped;
+
+export interface DailyEventObjectRemoteMediaPlayerUpdate
+ extends DailyEventObjectBase {
+ action: Extract<
+ DailyEvent,
+ 'remote-media-player-started' | 'remote-media-player-updated'
+ >;
+ updatedBy: string;
+ session_id: string;
+ remoteMediaPlayerState: DailyRemoteMediaPlayerState;
+}
+
+export interface DailyEventObjectRemoteMediaPlayerStopped
+ extends DailyEventObjectBase {
+ action: Extract;
+ session_id: string;
+ updatedBy: string;
+ reason: DailyRemoteMediaPlayerStopReason;
+}
+
+export interface DailyEventObjectCustomButtonClick
+ extends DailyEventObjectBase {
+ action: Extract;
+ button_id: string;
+}
+
+export interface DailyEventObjectSelectedDevicesUpdated
+ extends DailyEventObjectBase {
+ action: Extract;
+ devices: DailyDeviceInfos;
+}
+
+export interface DailyEventObjectSidebarViewChanged
+ extends DailyEventObjectBase {
+ action: Extract;
+ view: SidebarView;
+}
+
+export interface DailyEventObjectDialinConnected extends DailyEventObjectBase {
+ action: Extract;
+ sipHeaders?: Record;
+ sipFrom?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialinError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialinStopped extends DailyEventObjectBase {
+ action: Extract;
+ sipHeaders?: Record;
+ sipFrom?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialinWarning extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialOutConnected extends DailyEventObjectBase {
+ action: Extract;
+ sessionId?: string;
+ userId?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialOutError extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ sessionId?: string;
+ userId?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialOutStopped extends DailyEventObjectBase {
+ action: Extract;
+ sessionId?: string;
+ userId?: string;
+ actionTraceId?: string;
+}
+
+export interface DailyEventObjectDialOutWarning extends DailyEventObjectBase {
+ action: Extract;
+ errorMsg: string;
+ sessionId?: string;
+ actionTraceId?: string;
+}
+
+export type DailyEventObject =
+ T extends DailyEventObjectAppMessage['action']
+ ? DailyEventObjectAppMessage
+ : T extends DailyEventObjectNoPayload['action']
+ ? DailyEventObjectNoPayload
+ : T extends DailyEventObjectCameraError['action']
+ ? DailyEventObjectCameraError
+ : T extends DailyEventObjectFatalError['action']
+ ? DailyEventObjectFatalError
+ : T extends DailyEventObjectNonFatalError['action']
+ ? DailyEventObjectNonFatalError
+ : T extends DailyEventObjectGenericError['action']
+ ? DailyEventObjectGenericError
+ : T extends DailyEventObjectParticipants['action']
+ ? DailyEventObjectParticipants
+ : T extends DailyEventObjectLiveStreamingStarted['action']
+ ? DailyEventObjectLiveStreamingStarted
+ : T extends DailyEventObjectLiveStreamingUpdated['action']
+ ? DailyEventObjectLiveStreamingUpdated
+ : T extends DailyEventObjectLiveStreamingStopped['action']
+ ? DailyEventObjectLiveStreamingStopped
+ : T extends DailyEventObjectLiveStreamingError['action']
+ ? DailyEventObjectLiveStreamingError
+ : T extends DailyEventObjectTranscriptionStarted['action']
+ ? DailyEventObjectTranscriptionStarted
+ : T extends DailyEventObjectTranscriptionMessage['action']
+ ? DailyEventObjectTranscriptionMessage
+ : T extends DailyEventObjectTranscriptionStopped['action']
+ ? DailyEventObjectTranscriptionStopped
+ : T extends DailyEventObjectTranscriptionError['action']
+ ? DailyEventObjectTranscriptionError
+ : T extends DailyEventObjectParticipant['action']
+ ? DailyEventObjectParticipant
+ : T extends DailyEventObjectParticipantLeft['action']
+ ? DailyEventObjectParticipantLeft
+ : T extends DailyEventObjectParticipantCounts['action']
+ ? DailyEventObjectParticipantCounts
+ : T extends DailyEventObjectWaitingParticipant['action']
+ ? DailyEventObjectWaitingParticipant
+ : T extends DailyEventObjectAccessState['action']
+ ? DailyEventObjectAccessState
+ : T extends DailyEventObjectMeetingSessionUpdated['action']
+ ? DailyEventObjectMeetingSessionUpdated
+ : T extends DailyEventObjectMeetingSessionStateUpdated['action']
+ ? DailyEventObjectMeetingSessionStateUpdated
+ : T extends DailyEventObjectTrack['action']
+ ? DailyEventObjectTrack
+ : T extends DailyEventObjectRecordingStarted['action']
+ ? DailyEventObjectRecordingStarted
+ : T extends DailyEventObjectRecordingStopped['action']
+ ? DailyEventObjectRecordingStopped
+ : T extends DailyEventObjectRecordingError['action']
+ ? DailyEventObjectRecordingError
+ : T extends DailyEventObjectRecordingData['action']
+ ? DailyEventObjectRecordingData
+ : T extends DailyEventObjectRemoteMediaPlayerUpdate['action']
+ ? DailyEventObjectRemoteMediaPlayerUpdate
+ : T extends DailyEventObjectRemoteMediaPlayerStopped['action']
+ ? DailyEventObjectRemoteMediaPlayerStopped
+ : T extends DailyEventObjectMouseEvent['action']
+ ? DailyEventObjectMouseEvent
+ : T extends DailyEventObjectTouchEvent['action']
+ ? DailyEventObjectTouchEvent
+ : T extends DailyEventObjectNetworkQualityEvent['action']
+ ? DailyEventObjectNetworkQualityEvent
+ : T extends DailyEventObjectCpuLoadEvent['action']
+ ? DailyEventObjectCpuLoadEvent
+ : T extends DailyEventObjectFaceCounts['action']
+ ? DailyEventObjectFaceCounts
+ : T extends DailyEventObjectNetworkConnectionEvent['action']
+ ? DailyEventObjectNetworkConnectionEvent
+ : T extends DailyEventObjectTestCompleted['action']
+ ? DailyEventObjectTestCompleted
+ : T extends DailyEventObjectActiveSpeakerChange['action']
+ ? DailyEventObjectActiveSpeakerChange
+ : T extends DailyEventObjectActiveSpeakerModeChange['action']
+ ? DailyEventObjectActiveSpeakerModeChange
+ : T extends DailyEventObjectLangUpdated['action']
+ ? DailyEventObjectLangUpdated
+ : T extends DailyEventObjectThemeUpdated['action']
+ ? DailyEventObjectThemeUpdated
+ : T extends DailyEventObjectReceiveSettingsUpdated['action']
+ ? DailyEventObjectReceiveSettingsUpdated
+ : T extends DailyEventObjectAvailableDevicesUpdated['action']
+ ? DailyEventObjectAvailableDevicesUpdated
+ : T extends DailyEventObjectShowLocalVideoChanged['action']
+ ? DailyEventObjectShowLocalVideoChanged
+ : T extends DailyEventObjectInputSettingsUpdated['action']
+ ? DailyEventObjectInputSettingsUpdated
+ : T extends DailyEventObjectSendSettingsUpdated['action']
+ ? DailyEventObjectSendSettingsUpdated
+ : T extends DailyEventObjectCustomButtonClick['action']
+ ? DailyEventObjectCustomButtonClick
+ : T extends DailyEventObjectSelectedDevicesUpdated['action']
+ ? DailyEventObjectSelectedDevicesUpdated
+ : T extends DailyEventObjectSidebarViewChanged['action']
+ ? DailyEventObjectSidebarViewChanged
+ : T extends DailyEventObjectDialinConnected['action']
+ ? DailyEventObjectDialinConnected
+ : T extends DailyEventObjectDialinError['action']
+ ? DailyEventObjectDialinError
+ : T extends DailyEventObjectDialinStopped['action']
+ ? DailyEventObjectDialinStopped
+ : T extends DailyEventObjectDialinWarning['action']
+ ? DailyEventObjectDialinWarning
+ : T extends DailyEventObjectDialOutConnected['action']
+ ? DailyEventObjectDialOutConnected
+ : T extends DailyEventObjectDialOutError['action']
+ ? DailyEventObjectDialOutError
+ : T extends DailyEventObjectDialOutStopped['action']
+ ? DailyEventObjectDialOutStopped
+ : T extends DailyEventObjectDialOutWarning['action']
+ ? DailyEventObjectDialOutWarning
+ : T extends DailyEventObjectLocalAudioLevel['action']
+ ? DailyEventObjectLocalAudioLevel
+ : T extends DailyEventObjectRemoteParticipantsAudioLevel['action']
+ ? DailyEventObjectRemoteParticipantsAudioLevel
+ : T extends DailyEvent
+ ? DailyEventObjectBase
+ : any;
+
+export interface DailyCallFactory {
+ createCallObject(properties?: DailyFactoryOptions): DailyCall;
+ wrap(iframe: HTMLIFrameElement, properties?: DailyFactoryOptions): DailyCall;
+ createFrame(
+ parentElement: HTMLElement,
+ properties?: DailyFactoryOptions
+ ): DailyCall;
+ createFrame(properties?: DailyFactoryOptions): DailyCall;
+ createTransparentFrame(properties?: DailyFactoryOptions): DailyCall;
+ getCallInstance(callClientId?: string): DailyCall | undefined;
+}
+
+export interface DailyCallStaticUtils {
+ supportedBrowser(): DailyBrowserInfo;
+ version(): string;
+}
+
+export type DailyAccess = 'unknown' | SpecifiedDailyAccess;
+
+export type SpecifiedDailyAccess = { level: 'none' | 'lobby' | 'full' };
+
+export type DailyAccessState = {
+ access: DailyAccess;
+ awaitingAccess?: SpecifiedDailyAccess;
+};
+
+export type DailyAccessRequest = {
+ access?: { level: 'full' };
+ name: string;
+};
+
+type DailyStreamingParticipantsSortMethod = 'active';
+
+export interface DailyStreamingParticipantsConfig {
+ video?: string[];
+ audio?: string[];
+ sort?: DailyStreamingParticipantsSortMethod;
+}
+
+export interface DailyStreamingDefaultLayoutConfig {
+ preset: 'default';
+ max_cam_streams?: number;
+ participants?: DailyStreamingParticipantsConfig;
+}
+
+export interface DailyStreamingSingleParticipantLayoutConfig {
+ preset: 'single-participant';
+ session_id: string;
+}
+
+export interface DailyStreamingActiveParticipantLayoutConfig {
+ preset: 'active-participant';
+ participants?: DailyStreamingParticipantsConfig;
+}
+
+export interface DailyStreamingAudioOnlyLayoutConfig {
+ preset: 'audio-only';
+ participants?: DailyStreamingParticipantsConfig;
+}
+
+export type DailyStreamingPortraitLayoutVariant = 'vertical' | 'inset';
+
+export interface DailyStreamingPortraitLayoutConfig {
+ preset: 'portrait';
+ variant?: DailyStreamingPortraitLayoutVariant;
+ max_cam_streams?: number;
+ participants?: DailyStreamingParticipantsConfig;
+}
+
+export interface DailyUpdateStreamingCustomLayoutConfig {
+ preset: 'custom';
+ participants?: DailyStreamingParticipantsConfig;
+ composition_params?: {
+ [key: string]: boolean | number | string;
+ };
+}
+
+export interface DailyStartStreamingCustomLayoutConfig
+ extends DailyUpdateStreamingCustomLayoutConfig {
+ composition_id?: string;
+ session_assets?: {
+ [key: string]: string;
+ };
+}
+
+type DailyStreamingLayoutConfigType = 'start' | 'update';
+type DailyStartStreamingMethod = 'liveStreaming' | 'recording';
+
+export type DailyStreamingLayoutConfig<
+ Type extends DailyStreamingLayoutConfigType = 'start'
+> =
+ | DailyStreamingDefaultLayoutConfig
+ | DailyStreamingSingleParticipantLayoutConfig
+ | DailyStreamingActiveParticipantLayoutConfig
+ | DailyStreamingPortraitLayoutConfig
+ | DailyStreamingAudioOnlyLayoutConfig
+ | (Type extends 'start'
+ ? DailyStartStreamingCustomLayoutConfig
+ : DailyUpdateStreamingCustomLayoutConfig);
+
+export type DailyLiveStreamingLayoutConfig<
+ Type extends DailyStreamingLayoutConfigType = 'start'
+> = Exclude<
+ DailyStreamingLayoutConfig,
+ DailyStreamingAudioOnlyLayoutConfig
+>;
+
+export type DailyStreamingState = 'connected' | 'interrupted';
+
+export type DailyRemoteMediaPlayerSettingPlay = 'play';
+export type DailyRemoteMediaPlayerSettingPause = 'pause';
+
+export type DailyRemoteMediaPlayerStatePlaying = 'playing';
+export type DailyRemoteMediaPlayerStatePaused = 'paused';
+export type DailyRemoteMediaPlayerStateBuffering = 'buffering';
+
+export type DailyRemoteMediaPlayerEOS = 'EOS';
+export type DailyRemoteMediaPlayerPeerStopped = 'stopped-by-peer';
+
+export interface DailyStreamingOptions<
+ Method extends DailyStartStreamingMethod,
+ Type extends DailyStreamingLayoutConfigType = 'start'
+> {
+ width?: number;
+ height?: number;
+ fps?: number;
+ videoBitrate?: number;
+ audioBitrate?: number;
+ minIdleTimeOut?: number;
+ maxDuration?: number;
+ backgroundColor?: string;
+ instanceId?: string;
+ layout?: Method extends 'recording'
+ ? DailyStreamingLayoutConfig
+ : DailyLiveStreamingLayoutConfig;
+}
+
+export interface DailyStreamingEndpoint {
+ endpoint: string;
+}
+
+export interface DailyLiveStreamingOptions<
+ Type extends DailyStreamingLayoutConfigType = 'start'
+> extends DailyStreamingOptions<'liveStreaming', Type> {
+ rtmpUrl?: string | string[];
+ endpoints?: DailyStreamingEndpoint[];
+}
+
+export interface RemoteMediaPlayerSimulcastEncoding {
+ maxBitrate: number;
+ maxFramerate?: number;
+ scaleResolutionDownBy?: number;
+}
+
+export interface DailyRemoteMediaPlayerSettings {
+ state?:
+ | DailyRemoteMediaPlayerSettingPlay
+ | DailyRemoteMediaPlayerSettingPause;
+ volume?: number;
+ simulcastEncodings?: RemoteMediaPlayerSimulcastEncoding[];
+}
+
+export interface DailyRemoteMediaPlayerStartOptions {
+ url: string;
+ settings?: DailyRemoteMediaPlayerSettings;
+}
+
+export interface DailyRemoteMediaPlayerUpdateOptions {
+ session_id: string;
+ settings: DailyRemoteMediaPlayerSettings;
+}
+
+export interface DailyRemoteMediaPlayerState {
+ state:
+ | DailyRemoteMediaPlayerStatePlaying
+ | DailyRemoteMediaPlayerStatePaused
+ | DailyRemoteMediaPlayerStateBuffering;
+ settings: DailyRemoteMediaPlayerSettings;
+}
+
+export interface DailyRemoteMediaPlayerInfo {
+ session_id: string;
+ remoteMediaPlayerState: DailyRemoteMediaPlayerState;
+}
+
+export interface DailyTranscriptionDeepgramOptions {
+ language?: string;
+ model?: string;
+ tier?: string;
+ profanity_filter?: boolean;
+ redact?: Array | Array | boolean;
+ endpointing?: number | boolean;
+ punctuate?: boolean;
+ extra?: Record;
+ includeRawResponse?: boolean;
+ instanceId?: string;
+ participants?: Array;
+}
+
+export interface DailyTranscriptionUpdateOptions {
+ instanceId?: string;
+ participants: Array;
+}
+
+export interface DailyTranscriptionStopOptions {
+ instanceId?: string;
+}
+export type SidebarView =
+ | null
+ | 'people'
+ | 'chat'
+ | 'network'
+ | 'breakout'
+ | string;
+
+export type DailyDialOutAudioCodecs = 'PCMU' | 'OPUS' | 'G722' | 'PCMA';
+
+export type DailyDialOutVideoCodecs = 'H264' | 'VP8';
+
+export interface DailyDialOutCodecs {
+ audio?: Array;
+ video?: Array;
+}
+
+export interface DailyDialOutSession {
+ sessionId: string;
+}
+
+export interface DailyStartDialoutSipOptions {
+ sipUri?: string;
+ displayName?: string;
+ userId?: string;
+ video?: boolean;
+ codecs?: DailyDialOutCodecs;
+}
+
+export interface DailyStartDialoutPhoneOptions {
+ phoneNumber?: string;
+ displayName?: string;
+ userId?: string;
+ codecs?: DailyDialOutCodecs;
+ callerId?: string;
+}
+
+export type DailyStartDialoutOptions =
+ | DailyStartDialoutSipOptions
+ | DailyStartDialoutPhoneOptions;
+
+export interface DailyScreenShareUpdateOptions {
+ screenVideo: {
+ enabled: boolean;
+ };
+ screenAudio: {
+ enabled: boolean;
+ };
+}
+
+export type DailyCameraFacingMode = 'user' | 'environment' | undefined;
+
+export interface DailyMediaDeviceInfo extends MediaDeviceInfo {
+ facing?: DailyCameraFacingMode;
+}
+
+export interface DailySipCallTransferOptions {
+ sessionId: string;
+ toEndPoint: string;
+}
+
+export interface DailySipReferOptions {
+ sessionId: string;
+ toEndPoint: string;
+}
+
+export interface DailyCall {
+ callClientId: string;
+ iframe(): HTMLIFrameElement | null;
+ join(properties?: DailyCallOptions): Promise;
+ leave(): Promise;
+ destroy(): Promise;
+ isDestroyed(): boolean;
+ loadCss(properties: {
+ bodyClass?: string;
+ cssFile?: string;
+ cssText?: string;
+ }): DailyCall;
+ meetingState(): DailyMeetingState;
+ accessState(): DailyAccessState;
+ participants(): DailyParticipantsObject;
+ participantCounts(): DailyParticipantCounts;
+ updateParticipant(
+ sessionId: string,
+ updates: DailyParticipantUpdateOptions
+ ): DailyCall;
+ updateParticipants(updates: {
+ [sessionId: string]: DailyParticipantUpdateOptions;
+ }): DailyCall;
+ waitingParticipants(): { [id: string]: DailyWaitingParticipant };
+ updateWaitingParticipant(
+ id: string,
+ updates: DailyWaitingParticipantUpdateOptions
+ ): Promise<{ id: string }>;
+ updateWaitingParticipants(updates: {
+ [id: string]: DailyWaitingParticipantUpdateOptions;
+ }): Promise<{ ids: string[] }>;
+ requestAccess(
+ access: DailyAccessRequest
+ ): Promise<{ access: DailyAccess; granted: boolean }>;
+ localAudio(): boolean;
+ localVideo(): boolean;
+ setLocalAudio(
+ enabled: boolean,
+ options?: { forceDiscardTrack: boolean }
+ ): DailyCall;
+ setLocalVideo(enabled: boolean): DailyCall;
+ localScreenAudio(): boolean;
+ localScreenVideo(): boolean;
+ updateScreenShare(options?: DailyScreenShareUpdateOptions): void;
+ getReceiveSettings(
+ id: string,
+ options?: { showInheritedValues: boolean }
+ ): Promise;
+ getReceiveSettings(): Promise;
+ updateReceiveSettings(
+ receiveSettings: DailyReceiveSettingsUpdates
+ ): Promise;
+ updateInputSettings(
+ inputSettings: DailyInputSettings
+ ): Promise<{ inputSettings: DailyInputSettings }>;
+ getInputSettings(): Promise;
+ updateCustomTrayButtons(customTrayButtons: DailyCustomTrayButtons): DailyCall;
+ customTrayButtons(): DailyCustomTrayButtons;
+ setCustomIntegrations(customIntegrations: DailyCustomIntegrations): DailyCall;
+ customIntegrations(): DailyCustomIntegrations;
+ startCustomIntegrations(id: string | string[]): DailyCall;
+ stopCustomIntegrations(id: string | string[]): DailyCall;
+ setBandwidth(bw: {
+ kbs?: number | 'NO_CAP' | null;
+ trackConstraints?: MediaTrackConstraints;
+ }): DailyCall;
+ getDailyLang(): Promise<{
+ lang: DailyLanguage;
+ langSetting: DailyLanguageSetting;
+ }>;
+ setDailyLang(lang: DailyLanguageSetting): DailyCall;
+ setProxyUrl(proxyUrl?: string): DailyCall;
+ setIceConfig(iceConfig?: DailyIceConfig): DailyCall;
+ /**
+ * @deprecated This function will be removed. Use the method meetingSessionSummary() instead.
+ */
+ getMeetingSession(): Promise<{
+ meetingSession: DailyMeetingSession;
+ }>;
+ meetingSessionSummary(): DailyMeetingSessionSummary;
+ meetingSessionState(): DailyMeetingSessionState;
+ setMeetingSessionData(
+ data: unknown,
+ mergeStrategy?: DailySessionDataMergeStrategy
+ ): void;
+ setUserName(
+ name: string,
+ options?: { thisMeetingOnly?: boolean }
+ ): Promise<{ userName: string }>;
+ setUserData(data: unknown): Promise<{ userData: unknown }>;
+ startCamera(properties?: DailyCallOptions): Promise;
+ startLocalAudioLevelObserver(interval?: number): Promise;
+ isLocalAudioLevelObserverRunning(): boolean;
+ stopLocalAudioLevelObserver(): void;
+ getLocalAudioLevel(): number;
+ startRemoteParticipantsAudioLevelObserver(interval?: number): Promise;
+ isRemoteParticipantsAudioLevelObserverRunning(): boolean;
+ stopRemoteParticipantsAudioLevelObserver(): void;
+ getRemoteParticipantsAudioLevel(): DailyParticipantsAudioLevel;
+ cycleCamera(properties?: {
+ preferDifferentFacingMode?: boolean;
+ }): Promise<{ device?: MediaDeviceInfo | null }>;
+ cycleMic(): Promise<{ device?: MediaDeviceInfo | null }>;
+ startCustomTrack(properties: StartCustomTrackOptions): Promise;
+ stopCustomTrack(trackName: string): Promise;
+ setInputDevicesAsync(devices: {
+ audioDeviceId?: string | false | null;
+ audioSource?: MediaStreamTrack | false;
+ videoDeviceId?: string | false | null;
+ videoSource?: MediaStreamTrack | false;
+ }): Promise;
+ setOutputDeviceAsync(audioDevice: {
+ outputDeviceId?: string;
+ }): Promise;
+ getInputDevices(): Promise;
+ preAuth(properties?: DailyCallOptions): Promise<{ access: DailyAccess }>;
+ load(properties?: DailyLoadOptions): Promise;
+ startScreenShare(properties?: DailyStartScreenShareOptions): void;
+ stopScreenShare(): void;
+ startRecording(options?: DailyStreamingOptions<'recording', 'start'>): void;
+ updateRecording(options: {
+ layout?: DailyStreamingLayoutConfig<'update'>;
+ instanceId?: string;
+ }): void;
+ stopRecording(options?: { instanceId: string }): void;
+ startLiveStreaming(options: DailyLiveStreamingOptions<'start'>): void;
+ updateLiveStreaming(options: {
+ layout?: DailyLiveStreamingLayoutConfig<'update'>;
+ instanceId?: string;
+ }): void;
+ addLiveStreamingEndpoints(options: {
+ endpoints: DailyStreamingEndpoint[];
+ instanceId?: string;
+ }): void;
+ removeLiveStreamingEndpoints(options: {
+ endpoints: DailyStreamingEndpoint[];
+ instanceId?: string;
+ }): void;
+ stopLiveStreaming(options?: { instanceId: string }): void;
+ startRemoteMediaPlayer(
+ options: DailyRemoteMediaPlayerStartOptions
+ ): Promise;
+ stopRemoteMediaPlayer(session_id: string): Promise;
+ updateRemoteMediaPlayer(
+ options: DailyRemoteMediaPlayerUpdateOptions
+ ): Promise;
+ startTranscription(options?: DailyTranscriptionDeepgramOptions): void;
+ updateTranscription(options: DailyTranscriptionUpdateOptions): void;
+ stopTranscription(options?: DailyTranscriptionStopOptions): void;
+ testCallQuality(): Promise;
+ stopTestCallQuality(): void;
+ testPeerToPeerCallQuality(options: {
+ videoTrack: MediaStreamTrack;
+ duration?: number;
+ }): Promise;
+ stopTestPeerToPeerCallQuality(): void;
+ testWebsocketConnectivity(): Promise;
+ abortTestWebsocketConnectivity(): void;
+ testNetworkConnectivity(
+ videoTrack: MediaStreamTrack
+ ): Promise;
+ abortTestNetworkConnectivity(): void;
+ /**
+ * @deprecated This function will be removed. Use the method
+ * testPeerToPeerCallQuality() instead.
+ */
+ testConnectionQuality(options: {
+ videoTrack: MediaStreamTrack;
+ duration?: number;
+ }): Promise