{"_id":"ghost-chat-embed","_rev":"30-e0134a90b4c3d209ce1718d22f5fe7e5","name":"ghost-chat-embed","dist-tags":{"latest":"1.4.3"},"versions":{"1.0.0":{"name":"ghost-chat-embed","version":"1.0.0","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.0.0","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"ce0661e801bf38a8e453fa0b1584cf12df32e1af","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.0.0.tgz","fileCount":9,"integrity":"sha512-G82v2opat8JaPLcUiua6BlpGvTwDmczEaeQp+g7zoWuDa29QoavD+K45bW9v8cpnkWHeTzXCHh/t42VPdZ8KGg==","signatures":[{"sig":"MEUCIH8SJ8zZIo+7tC51xGHXO5cJ5pWLkHNP9awf3uozqev0AiEA+qpf9sPPg30PN3oct4Ww3vtMkWxajjzRLHacKCMU+h4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5400869},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"3885ec755cce07e6a118217f1d584e04c35d1f0f","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.0.0_1769460273482_0.7497188311174146","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"ghost-chat-embed","version":"1.0.1","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.0.1","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"8285110b001dcc35bc090185de228ce7bc0e831f","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.0.1.tgz","fileCount":9,"integrity":"sha512-7e+HUcff12job+i/rs28M0zMQwj2oz42z0x+pIZn6ZuTQZFZu50eLfGA+J5YpDDqzqk33twzE8E9IezA04BD9g==","signatures":[{"sig":"MEQCID1OFLX4puIduYue8rgWBMGhKHtsYNBVuxNnn0GUrd1wAiA0F3Ljw85+5jkp3aDkj7Mqag3iqKVXEdOdAagc3Gdshg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5405099},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"977fe1be435e1393edd401321d91cbe864fbf989","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.0.1_1772671178491_0.35529346699304387","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"ghost-chat-embed","version":"1.1.0","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.1.0","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"4f0d5886d3cb5763964dc8f2c12b8736049ebf8a","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.1.0.tgz","fileCount":13,"integrity":"sha512-8i1TjccCFktwJ7ORS8o9YwXnhr0IDS/1IARZKLStAe9IxMsmxTQnEm7er6n6f/krQT4jm2xvJjs9lg5gKEYHYA==","signatures":[{"sig":"MEUCIGdG/2sz7mmy1AQQg3JG0P1SMugbBnccKp/AeCYez+P0AiEAunWwE11fpQ0IT2u8CJtplACK733COYmqZE2YW83o8Dg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5986155},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"98f1225e2ba05a0d49e9964666b95857e2a28f16","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.1.0_1778686212512_0.3895909302291629","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"ghost-chat-embed","version":"1.2.0","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.0","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"188d0b5bac5bec4c203b07e1afa1cebd5b0b0c00","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.0.tgz","fileCount":13,"integrity":"sha512-oPWDM/hphq8eIDBfZdlPsHARFpF6mMBC/0tVcUXVQ7Hsij+bCwPcIk1iL8ryXJb+zBgVivrg79RW1Lq7A3ndhw==","signatures":[{"sig":"MEYCIQDqm8e87Bb+CKEVbX31X/x3CZVDxwjmCFrbKdsniXoCqQIhAJZH4152Y2rpz10548PoHDInXsEfG/sJx85URsk6bciw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6017523},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"17134d2101216be7d2e34fa8871d1f1b3cccc0fa","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.0_1778688322657_0.9881615525111453","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"ghost-chat-embed","version":"1.2.1","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.1","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"339a2da64ecc77f86d06c1b6c787cc288d3bc201","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.1.tgz","fileCount":13,"integrity":"sha512-gzN1mQp1QDkTnzF9VJPdkeTDW1z3AeBMPauzDdAiFbGQmxPIkid29xWRnS3yHa7T4FfEPhrg3D5P07g4eQH3Ng==","signatures":[{"sig":"MEUCIQDxOspPsZwxBLKilTCRnUESatZ441HUtO1nwWQSr5kgbwIgYkokR9gBdm+AZy2Z8crHWX9YIB3DjEQApQwJ61EymqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6017747},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"592f0aa064f0adff172ebfbf0a9e3797069e4322","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.1_1778688697620_0.35668943989193513","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"ghost-chat-embed","version":"1.2.2","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.2","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"3637f225de1c6a93d04d6446cba60e9c3d4856de","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.2.tgz","fileCount":13,"integrity":"sha512-pThUC0VxnTL4vCjalQujx8IQ8waIINL2mmeWdDJhC9wn7MXbcjSkrfLhwNJ7ww7dH3VmqxmDppHHXEGvVS6bvA==","signatures":[{"sig":"MEUCIBtk0xFcLlUFIDzeCiws9koyNfhDLoORYKPmiZ7XPRNnAiEAj7safaYJPdCogg+Hdq+m/Khr/d5+2TWKbP6WHHLPnqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6023479},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"3700d4fc045f375fcd16d279d7d3f1ecdf362370","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.2_1778689192131_0.8907333706501495","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"ghost-chat-embed","version":"1.2.3","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.3","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"fb4d88d9d42302881b82c059ef646c3ebd7c44e3","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.3.tgz","fileCount":13,"integrity":"sha512-wLI6WXSC/2KS5d4Wv53cjMiljf2JyZ6iQ1AehvFqqmPPij4NtKNqoYs+kOeeAwKKpa8Jl9qEIxtXRjuRpbKP4g==","signatures":[{"sig":"MEUCID2gige2b6Wi70ez2PDU3urM1w/kh/4Cj4+MX8iJDeMeAiEAhPvZQg8znO3hAIelhjK7T/Fxx8pXRVbTV77IIbqtfS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6029763},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"5ee2b4554332d9048864441b2b1eea4abdd4c8c2","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.3_1778689775784_0.7036851102082158","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"ghost-chat-embed","version":"1.2.4","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.4","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"f2a8b9280e634548903404f8d8bd22a7215ecbb4","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.4.tgz","fileCount":13,"integrity":"sha512-HgMFY+Zy8inosSJLlJH1zRHehMb4oZavXqbTkmKYG4Ec9PuiabNery0htwE+uLSHaCkJ5SqNuP+AgzBoAGJTfg==","signatures":[{"sig":"MEYCIQDkfYl8Lof7KBDEH1pSJxUYxualadLg3wbn/QLk0XiK/AIhAJ53aXwNibUHswEXSQVHkFdZipF77/V0SzGLQUiXcTQb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6028356},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"c085aafb21f31426d72a488cf459579061e0fd26","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.4_1778690336885_0.24485811741355312","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"ghost-chat-embed","version":"1.2.5","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.5","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"c8d22189f58f0c0dc6e65a1e9b1c58c217209ba7","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.5.tgz","fileCount":13,"integrity":"sha512-vRPcaNx3leqwcwqkZE1ADWrRbA0uUdGXf9EmyzbhhLrq81pD09myIzO57UAefFLU29+n4DTEre19WVzs6/4gUw==","signatures":[{"sig":"MEYCIQDO6jCs/afqgsk1lC8L+wGTjICKw/ACGEY6Tcd41mbMywIhAORZkbdVFOxROgRuI8uod3NdDK7pBvADHhrg9ipPT8ts","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6028440},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"b4e467c8e22f7317a7a798557bf094b65e16b1c5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.5_1778698319936_0.30610515459688004","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"ghost-chat-embed","version":"1.2.6","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.2.6","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"2667ad147f29c471b73a7c2cf2b4a9783a99a6bf","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.2.6.tgz","fileCount":13,"integrity":"sha512-noM73xSZozQNnPg/DbrgTbd2mt80+NjU3S5iXWLMBK84ruaGf/2jVgw8TsMK8DCKWuCoxOT2nhzjjvtdgUx2ag==","signatures":[{"sig":"MEYCIQDv3H+3FLlv+pJpu1DeihY4gEHXwdmKhEg9brJxG80RjwIhAMeLfAUUYhC6La6s3ghrz32di7QkZtZs/ZZAX2E0N5TO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6028800},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"aea2c153bdd3a5be7e78e5935d1e10bce9c0ab93","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.2.6_1778698503428_0.23168775705898814","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"ghost-chat-embed","version":"1.3.0","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.0","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"b074ab4c93bdc43bc4633b93fc221b96f5e89240","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.0.tgz","fileCount":13,"integrity":"sha512-M1KVlZdGkSZDmP8xmvlqSaJ4i5n3p8CZ2az/Y3eebGalDxwqIFMAmlAtR9veJ6mlVtw1uHbWBKeR/wFCWXqzYw==","signatures":[{"sig":"MEUCIG9lu0jMl1epFY7vGVEXKpnFgwxEXkeZKTrt2oOo8nC5AiEA2pPzdyJjXSn6s2z/auvEdtZ0PFSj477P56aQNpNbFNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6210697},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"b59d5196adba5f11b893d148b082f63dc80ee692","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.0_1778703920863_0.8093735550006325","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"ghost-chat-embed","version":"1.3.1","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.1","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"ed2d579e22d284ef18d555852fff630fe0befdcb","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.1.tgz","fileCount":13,"integrity":"sha512-qhodTKPFjDhFiee8SRf1X6OXUtm1vx2uSvuKDemILGqlAQluLUyyGOZzbFzIORfbGEECPZgrf93ViR8yMjmESw==","signatures":[{"sig":"MEUCIEzlW/5aQksPfcyp8BsEoQDAn3VLgqh0hAUEZ/lWVD7+AiEA9t65RhUQImQUuP1t4R2hJr6aTJO3qZbWWIe0O64XBpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6218402},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"6f23231bafe162004e72909756f252fd5f10e347","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.1_1778704569316_0.25336777295545954","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"ghost-chat-embed","version":"1.3.2","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.2","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"639499c191b45e0d87576b76609a69b3ab2bd283","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.2.tgz","fileCount":13,"integrity":"sha512-oSwcCEgqxNWxHfEXdlUxz9uXzYEdZwuQqJhshXlg21B2qDimOb+eyncZEcbJBcNXY4UrGzI1Iqysr6nDDxoqaQ==","signatures":[{"sig":"MEYCIQDbZP9SEbuK2rhjIWc2ziXDoTOV281X8yr6CpV3F6tc0QIhAJvaVquSzNN+eLkuoGdL8FvTmJ7dJpo2X/AO+rCmmWyp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6229098},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"7efdc63dbd125f970b62eff6ef32fa7d586b607c","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.2_1778704800863_0.6955210301595218","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"ghost-chat-embed","version":"1.3.3","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.3","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"d2760563d8c8981e8eba152054c86277b86331dc","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.3.tgz","fileCount":13,"integrity":"sha512-nk6vWWCczqg2t7jZpOQPkrG8I0EIGuM5oXHmXNQUT44SrPDEG1n+JamJCcuD9Dn4izGeELAXPOgrzkoG+E4f8g==","signatures":[{"sig":"MEUCIDvRAP4etudV7IvZKd4D5dUdFIzyM3khzwkhKk+dXNcdAiEAsFXB1+YD5WGz0NAfbclou2M+MeptKCrRRYnQ09Q5UGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6229954},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"16a30b2dd3a56e36f39c609ffb9aa49f7edf0601","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.3_1778712452957_0.3899727711138432","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"ghost-chat-embed","version":"1.3.4","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.4","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"7576edf8196398411bd7fcc4c7da20a2f9d8ea8c","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.4.tgz","fileCount":13,"integrity":"sha512-8vUKj3iayNZBqXP4lAGKB/cl5sqHqUrUKPT23enoE9MkfvlVawi/zajZK6aGFp5WXFUU6aXjMn68umelqtPYTQ==","signatures":[{"sig":"MEUCIQCSDjY6oK6U+oNou5b278hHptmGr3tfKyY+L3XmILGGaQIgKmTGKuP+hP5uJJxhoDUVeP+j3XwRcWJEeACW8i736fY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6234554},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"495330f9cf0abe3bafaa13c9acb24e24f770ca01","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.4_1778755947298_0.3857506290628421","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"ghost-chat-embed","version":"1.3.5","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.5","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"d6ebe6b7736fae80f1cfed106d93d721382b15e2","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.5.tgz","fileCount":13,"integrity":"sha512-XHwwfbzm+Jn8KP5OTY7zWyuX5mF1KPvzwJ0U4x4rrZaqPlLC/50I+ynEpZRHIL6MmRgYNMzI/lhzIOh1h13bJw==","signatures":[{"sig":"MEUCIQDoyJkS7ylvMhFNhbu/MqSB2unTXvUv1Wb8emTbLsO1ZQIgXyBhzRida6Q510tRpyGdgWdN8Q31yzzqSh7U9IxdQd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6240676},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"0395126a69f8585246859637ce385e36a42b42ab","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.5_1778756494578_0.11340911513015905","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"ghost-chat-embed","version":"1.3.7","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.7","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"9f1e66a18fc6dceba393953ddc2cf3d5755746f7","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.7.tgz","fileCount":13,"integrity":"sha512-39uv6fq9lgwxpw4/kUZWl0mioEUo5RaB6l07+mVZlN1Ksfk909/EREU2ywgXbdhDvWp3EoMo/dVWZrpLNtBxdw==","signatures":[{"sig":"MEQCIHkG2ykl7xIoCYsWy6UpCI3OsaV3TTwnRGYDHCmQW8rJAiAR15HxD3NCMLrAnpa1T3FFovi/K4+dRGSv9+zhKV9qHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6242106},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"bc7b996dba62afe8c8000b6875e5ef9f9353c54c","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.7_1778757085065_0.8459033089651289","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"ghost-chat-embed","version":"1.3.8","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.8","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"34605e4d51242fd30615bf12250e19d2d30ad36f","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.8.tgz","fileCount":13,"integrity":"sha512-PmbaAcjfWPd9nNGZZ6K4baLGbACmHm396iRi0RSrbLhdswg0m7Zwz8D6O2T8ycQpRaTInNb9errBW9ypGTHp3Q==","signatures":[{"sig":"MEUCIHOqrHpIZMClXsc1MwnWKkc2KxqWfdTj6W7JBpaQoj//AiEAsZ5hLGBovj4T6e86HrkKEv9JYgw5EBeNafIFLjcQiDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7110894},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"41bbc88eceaeb5dc1e135b3160810126d82a132c","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.8_1778757675884_0.26871624254126925","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"ghost-chat-embed","version":"1.3.9","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.9","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"2e8769f9b525074b02b8af4c22a205ca57a818cb","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.9.tgz","fileCount":13,"integrity":"sha512-p4wAG1HNjb4G3dvzwIgYW3Plp+glrWkurQpago/gEVKiyIv8hQIpgad6b9GQsaGilt+jtVm6h5T/MiVBPiT1PQ==","signatures":[{"sig":"MEYCIQDq+7bwVGZNVdIufQX1BFJtrWIn3N/Yed8vFiHGsaIoOQIhALBucBKC5JgYZm0S66y4I3NNKVXSEGVdIzRhVoShIGJj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7174788},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"48310316f0afdca90b27cd1194e244f5836ac7f7","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.9_1778758014050_0.6697335522839045","host":"s3://npm-registry-packages-npm-production"}},"1.3.10":{"name":"ghost-chat-embed","version":"1.3.10","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.10","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"d5a543a89a3a7d9ab5e007b12649b61936f8342a","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.10.tgz","fileCount":13,"integrity":"sha512-uhlxvupBF4EymT/3DdIvKL2Y3aBXasVEMLFDp3AutlGWfNSZPHsGhHsAd+wuxUwYv7b+Z7GB8BCNOjnoRLvnMg==","signatures":[{"sig":"MEUCIQCON3AYR4jP/NdFHZWqrQU1dvqUf3hjORePRqgoRhyU8gIgKEe5ussaQayBeh81XDw1+hYiy6NZH7tynWGTU3canns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7177954},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.10_1778758354019_0.8522046275497182","host":"s3://npm-registry-packages-npm-production"}},"1.3.11":{"name":"ghost-chat-embed","version":"1.3.11","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.11","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"bf885b0040414bb765cd3e2851adaf25c41e1010","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.11.tgz","fileCount":13,"integrity":"sha512-d2kgZ0eNbBLCH71K0zaNMBjP55T+a0uCx3v/nfFA8uPcgY0eKRGBgFgbtk09PzWpvHA5Njf6bOI/mxYy6rfggg==","signatures":[{"sig":"MEUCIDNZTSgrJKs5HdUbLX0NtDk43bliljAXN3sKTH0ySSmjAiEAx1wrHiCa2QrbmFCg/YWg3fiJnL1PCe/J3timHRgtbQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179760},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.11_1778761082524_0.9858616831746236","host":"s3://npm-registry-packages-npm-production"}},"1.3.12":{"name":"ghost-chat-embed","version":"1.3.12","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.12","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"6bae206d2faaa97e8b37966c97c84c2506bdbcbc","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.12.tgz","fileCount":13,"integrity":"sha512-hmN0GFkJgYxaaCbIiXWjH7+ybKJfXPNVOVyIw/CzYNvO7PsgchGV6tdMpzweK5zldv3WlITFhr4xav0rT31d+w==","signatures":[{"sig":"MEYCIQDWiGGpOiA9MEEO+s3gH+uzFKGjyol0zZhuUjdxpN8dAQIhAJcGLM7IdMohzoaYIlUwoDQdeDzp/Yrv7FsGkYSaoTb+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179733},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.12_1778763860579_0.6116385793751016","host":"s3://npm-registry-packages-npm-production"}},"1.3.13":{"name":"ghost-chat-embed","version":"1.3.13","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.13","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"16af04368b538f446716def53109efb03f42afde","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.13.tgz","fileCount":13,"integrity":"sha512-Qt/TQ8LkNS9czdowXv9p+youi2Ww9Afi3RTqwqmNTBq7kLG4gHe6Fg13wz9FmBer41QgmBV6FHBaHRsIk8lcgw==","signatures":[{"sig":"MEUCIDe04DBtREdgRR1g8HjNYG6Uv0Itc5VwdvmVgNIgYprtAiEAyeyjoKNubNoiz0sV2CzODlQifQwXjfpH8EIgeFyk36A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179351},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.13_1778768646657_0.40515136871286406","host":"s3://npm-registry-packages-npm-production"}},"1.3.14":{"name":"ghost-chat-embed","version":"1.3.14","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.14","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"302670111282b93b798e91a3122891dfb456876f","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.14.tgz","fileCount":13,"integrity":"sha512-QMVljtrdbseUDGU81eFfaRo5M7WSELPEzx85vEYXovcJYEpYRJ80XvELFDOFZvK8mnnko8IjRhBCQvLedHL2MA==","signatures":[{"sig":"MEYCIQDnsCpI1d9Cm9yFcm14Vkd1yd1AmrlVGdadS+3dGan6GQIhAOFeO43QqBzXhz+paWymVivxGheRBjZzgx9upBsE9SUO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7179345},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.14_1778768786292_0.9979053608491555","host":"s3://npm-registry-packages-npm-production"}},"1.3.15":{"name":"ghost-chat-embed","version":"1.3.15","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.15","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"0d0be2c4a909cabc41ff716a493a60ea5e98a07a","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.15.tgz","fileCount":13,"integrity":"sha512-2Tqgrau9gkXYydwBsY19ARllu7kGhkDQ23rAqPujA3eqwb0cO+tsrJ+XZkLhGjCgvYevmIsRUkOsux3JyJ3tQg==","signatures":[{"sig":"MEYCIQCumofDlbipRomojSjsMEU5+VHFNHS+BxtyS09w7aJAAgIhALsYv5EfcwZPnBXMUHGgducaIuGyJEICxVpaGUYQHZ20","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7178642},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6ad69627e3a1ec0cf9dd2f01b4d2d2c48d2fd5","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.15_1778780891840_0.05784471468087249","host":"s3://npm-registry-packages-npm-production"}},"1.3.16":{"name":"ghost-chat-embed","version":"1.3.16","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.3.16","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"8181326325f5c0a5d69c4bff70060827dadb34a7","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.3.16.tgz","fileCount":13,"integrity":"sha512-K6FuwGjE8z23EWZS3xL2EOYYsTV7zweaMLGT1kLw/TTBeeAMTM69BbtBb8JNCHLkUZ5/UtXGzOqhQCToNIoEuQ==","signatures":[{"sig":"MEUCIQDWYX5YhKpBnAfijBReCQkpS2jmBd1RhxbwSfZPNcVC2QIgKaRlrDV7A8gy4kSEraExrTdw1SaYzKuf1dEIdRbwys8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7216076},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c59ac8d192f94356fa2f634e50a84b09f4ff043","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.3.16_1778796782379_0.5171232585955345","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"ghost-chat-embed","version":"1.4.0","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.4.0","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"e2eb65f2d9f3a3a9d3325170019e4e7630511550","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.4.0.tgz","fileCount":13,"integrity":"sha512-5aLB4X+mWSA+jzTjMObk1f2c+BpXvIwJa8hEL/BXD7zhyKhvnWewC4QMArQ1dmiWnM2Reik+wA4hpYJRN8jWnw==","signatures":[{"sig":"MEYCIQCdsaF3rpfPr6ShBFUtyXGteXDSy/ZFqynqh3GLE7sSSQIhAJLh757fCU8SL2R2+LQskQ/aqnJb6v1zXn8rezpAOnEg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8428293},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"bb100fb467ff160079183d05d2d44d1e89fe24ce","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.3","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","ldrs":"^1.1.9","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","flowtoken":"^1.0.40","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.4.0_1778862005996_0.8396231482912846","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"ghost-chat-embed","version":"1.4.1","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.4.1","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"cd78b0dc1fe42586c869166d6cc3b3818b77e316","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.4.1.tgz","fileCount":13,"integrity":"sha512-GtzoLeV4eVxlFGFfSIU4zrs8MfJ4iilFL1NDBU+0B64y8D7kNWsuYU/lWU9Zkgw4nwRxTOFAqPGChoamyJFhCQ==","signatures":[{"sig":"MEQCIGLBLxgYWB4+naW4i6WdZl5OJ16Sg0WC3rr4PyO8VqSvAiBBkhMGQubajn3lAsb9UMBcM0GLQCIiWqJhhobOx1v+KQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8457971},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"ce87d3fc0055f2b1d05b8498567ba6d097aef907","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.3","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","ldrs":"^1.1.9","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","flowtoken":"^1.0.40","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.4.1_1778862404264_0.9966462408169352","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"ghost-chat-embed","version":"1.4.2","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","_id":"ghost-chat-embed@1.4.2","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"dist":{"shasum":"46c2f1445f1ba2d0aa57d33defcbe27430b37113","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.4.2.tgz","fileCount":13,"integrity":"sha512-BvAnexHqWI4MZ3Aoi5/QKeA/DA8Fy0DwmhlaRRHgdkg7th4U5UnWNMAyIX8sx2cc7b4QnqEF5HmABXKZa3P1bA==","signatures":[{"sig":"MEQCICBCNnE0WKQ0fWXE/obadPivGevFAMAdhIBLwZE8x7apAiBbQOkguesRu4lf8ebXQgNbeWYumXGrzhLHsC8LD5W+XA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8510124},"main":"./dist/web.js","type":"module","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","module":"./dist/web.js","engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/web.d.ts","import":"./dist/web.js"},"./mock":{"import":"./dist/mock.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"0624e99d916a35cc59057d29ec35808dc58bb944","scripts":{"dev":"vite","lint":"eslint . --ext .ts,.tsx","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","dev:api":"node examples/dev-server.js","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","test:e2e":"playwright test","build:all":"pnpm build:css && pnpm build","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","typecheck":"tsc --noEmit","build:react":"GHOSTCHAT_REACT=1 tsup","dev:webpack":"webpack serve --mode development","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all"},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"jsdelivr":"./dist/index.global.js","repository":{"url":"git+https://github.com/rscheiwe/ghost-chat-embed.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"ai":"^5.0.76","zod":"^3.24.1","clsx":"^2.1.1","cmdk":"^1.1.1","ldrs":"^1.1.9","geist":"^1.5.1","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","dompurify":"^3.2.2","flowtoken":"^1.0.40","tokenlens":"^1.3.1","remark-gfm":"^4.0.1","streamdown":"^1.4.0","ai-elements":"^1.1.2","lucide-react":"^0.546.0","@ai-sdk/react":"^2.0.76","@xyflow/react":"^12.9.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","embla-carousel-react":"^8.6.0","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-use-controllable-state":"^1.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"cors":"^2.8.5","tsup":"^8.3.5","vite":"^6.0.5","jsdom":"^25.0.1","eslint":"^9.17.0","vitest":"^2.1.8","express":"^4.21.2","postcss":"^8.4.49","webpack":"^5.102.1","prettier":"^3.4.2","ts-loader":"^9.5.4","css-loader":"^7.1.2","typescript":"^5.7.2","@types/cors":"^2.8.17","@types/node":"^22.10.2","tailwindcss":"^3.4.17","webpack-cli":"^6.0.1","@types/react":"^18.3.12","autoprefixer":"^10.4.20","style-loader":"^4.0.0","@types/express":"^5.0.0","@playwright/test":"^1.49.1","@types/react-dom":"^18.3.1","webpack-dev-server":"^5.2.2","@preact/preset-vite":"^2.9.2","eslint-config-prettier":"^9.1.0","@tailwindcss/typography":"^0.5.19","@typescript-eslint/parser":"^8.18.2","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2"},"_npmOperationalInternal":{"tmp":"tmp/ghost-chat-embed_1.4.2_1779215729721_0.5114175041444491","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"ghost-chat-embed","version":"1.4.3","description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","type":"module","main":"./dist/web.js","module":"./dist/web.js","types":"./dist/web.d.ts","unpkg":"./dist/index.global.js","jsdelivr":"./dist/index.global.js","exports":{".":{"import":"./dist/web.js","types":"./dist/web.d.ts"},"./react":{"import":"./dist/react.js","types":"./dist/react.d.ts"},"./messenger":{"import":"./dist/messenger.js"},"./mock":{"import":"./dist/mock.js"}},"scripts":{"dev":"vite","dev:css":"./scripts/dev-css.sh","dev:full":"pnpm dev:css & pnpm dev","dev:api":"node examples/dev-server.js","dev:webpack":"webpack serve --mode development","build":"tsup","build:react":"GHOSTCHAT_REACT=1 tsup","build:css":"tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/build.css --minify","build:all":"pnpm build:css && pnpm build","build:webpack":"pnpm build:css && webpack --mode production","prepublishOnly":"pnpm build:all","test":"vitest","test:e2e":"playwright test","lint":"eslint . --ext .ts,.tsx","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","typecheck":"tsc --noEmit"},"keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"author":"","license":"MIT","repository":{"type":"git","url":"git+https://github.com/rscheiwe/ghost-chat-embed.git"},"homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"sideEffects":false,"dependencies":{"@ai-sdk/react":"^2.0.76","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-progress":"^1.1.7","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.8","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-use-controllable-state":"^1.2.2","@xyflow/react":"^12.9.0","ai":"^5.0.76","ai-elements":"^1.1.2","class-variance-authority":"^0.7.1","clsx":"^2.1.1","cmdk":"^1.1.1","dompurify":"^3.2.2","embla-carousel-react":"^8.6.0","flowtoken":"^1.0.40","geist":"^1.5.1","ldrs":"^1.1.9","lucide-react":"^0.546.0","marked":"^15.0.4","motion":"^12.23.24","nanoid":"^5.1.6","preact":"^10.24.3","react-markdown":"^10.1.0","react-syntax-highlighter":"^15.6.6","remark-breaks":"^4.0.0","remark-gfm":"^4.0.1","streamdown":"^1.4.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","tokenlens":"^1.3.1","use-stick-to-bottom":"^1.1.1","zod":"^3.24.1"},"devDependencies":{"@playwright/test":"^1.49.1","@preact/preset-vite":"^2.9.2","@tailwindcss/typography":"^0.5.19","@types/cors":"^2.8.17","@types/express":"^5.0.0","@types/node":"^22.10.2","@types/react":"^18.3.12","@types/react-dom":"^18.3.1","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"^8.18.2","@typescript-eslint/parser":"^8.18.2","autoprefixer":"^10.4.20","cors":"^2.8.5","css-loader":"^7.1.2","eslint":"^9.17.0","eslint-config-prettier":"^9.1.0","express":"^4.21.2","jsdom":"^25.0.1","postcss":"^8.4.49","prettier":"^3.4.2","style-loader":"^4.0.0","tailwindcss":"^3.4.17","ts-loader":"^9.5.4","tsup":"^8.3.5","typescript":"^5.7.2","vite":"^6.0.5","vitest":"^2.1.8","webpack":"^5.102.1","webpack-cli":"^6.0.1","webpack-dev-server":"^5.2.2"},"engines":{"node":">=20.0.0","pnpm":">=9.0.0"},"packageManager":"pnpm@9.15.0","_id":"ghost-chat-embed@1.4.3","gitHead":"6aa54c618752f8589ac64128f5dfab9e70088747","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-qFO7lGGgrkQ8GBucFtOaYwqfbU0HW6TMRArUjNx5dbFS9CUdUQrL8y1DcPVbDUckdsriNWJCzx145L3z2ZFhcw==","shasum":"102584c6689c69062d6c86136f00fce18b1eb333","tarball":"https://registry.npmjs.org/ghost-chat-embed/-/ghost-chat-embed-1.4.3.tgz","fileCount":17,"unpackedSize":16291896,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC/eGQ3yyR3HXUVZLrA1Vcl94otZK28jbudUVccotg0dAiAXM6vaERcJuEX1yb3HaUD43ojIbrdLB7EL0zFHC3H6mg=="}]},"_npmUser":{"name":"rscheiwe","email":"rscheiwe@gmail.com"},"directories":{},"maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ghost-chat-embed_1.4.3_1783029701172_0.02756402362587762"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T20:44:33.481Z","modified":"2026-07-02T22:01:41.505Z","1.0.0":"2026-01-26T20:44:33.733Z","1.0.1":"2026-03-05T00:39:38.747Z","1.1.0":"2026-05-13T15:30:12.701Z","1.2.0":"2026-05-13T16:05:22.936Z","1.2.1":"2026-05-13T16:11:37.860Z","1.2.2":"2026-05-13T16:19:52.430Z","1.2.3":"2026-05-13T16:29:36.009Z","1.2.4":"2026-05-13T16:38:57.118Z","1.2.5":"2026-05-13T18:52:00.206Z","1.2.6":"2026-05-13T18:55:03.719Z","1.3.0":"2026-05-13T20:25:21.061Z","1.3.1":"2026-05-13T20:36:09.481Z","1.3.2":"2026-05-13T20:40:01.076Z","1.3.3":"2026-05-13T22:47:33.140Z","1.3.4":"2026-05-14T10:52:27.500Z","1.3.5":"2026-05-14T11:01:34.889Z","1.3.7":"2026-05-14T11:11:25.307Z","1.3.8":"2026-05-14T11:21:16.156Z","1.3.9":"2026-05-14T11:26:54.249Z","1.3.10":"2026-05-14T11:32:34.214Z","1.3.11":"2026-05-14T12:18:02.813Z","1.3.12":"2026-05-14T13:04:20.803Z","1.3.13":"2026-05-14T14:24:06.886Z","1.3.14":"2026-05-14T14:26:26.628Z","1.3.15":"2026-05-14T17:48:12.098Z","1.3.16":"2026-05-14T22:13:02.607Z","1.4.0":"2026-05-15T16:20:06.195Z","1.4.1":"2026-05-15T16:26:44.461Z","1.4.2":"2026-05-19T18:35:29.925Z","1.4.3":"2026-07-02T22:01:41.382Z"},"bugs":{"url":"https://github.com/rscheiwe/ghost-chat-embed/issues"},"license":"MIT","homepage":"https://github.com/rscheiwe/ghost-chat-embed#readme","keywords":["chat","chatbot","embed","widget","ai","shadow-dom","tailwind","streaming","react","preact","vercel-ai"],"repository":{"type":"git","url":"git+https://github.com/rscheiwe/ghost-chat-embed.git"},"description":"Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel ai-elements chatbot","maintainers":[{"name":"rscheiwe","email":"rscheiwe@gmail.com"}],"readme":"# GhostChat Embed\n\n> Open-source, Tailwind/shadcn-styled, Shadow DOM-isolated chat bubble built atop Vercel **ai-elements** chatbot, distributed as a single ESM bundle via jsDelivr.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![npm version](https://badge.fury.io/js/ghost-chat-embed.svg)](https://www.npmjs.com/package/ghost-chat-embed)\n\n## ✨ Features\n\n- 🎨 **Modern UI** - Tailwind CSS + shadcn/ui components\n- 👻 **Shadow DOM Isolation** - Zero CSS conflicts with your site\n- 📡 **SSE Streaming** - Real-time AI responses via Server-Sent Events\n- 🌍 **i18n Ready** - Multi-language support with RTL\n- ♿ **Accessible** - ARIA labels, keyboard navigation, reduced motion support\n- 📱 **Responsive** - Works seamlessly on desktop and mobile\n- 🎯 **Draggable** - Moveable chat bubble\n- ⚙️ **Highly Configurable** - Theme, features, and behavior customization\n- 📦 **Tiny Bundle** - ≤120KB minified + gzipped\n- 🔒 **Secure** - Domain allowlist, DOMPurify sanitization, CSP-friendly\n\n## 🚀 Quick Start\n\n### Installation\n\nAdd GhostChat to your website with a simple script tag:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/ghost-chat-embed@1.0.1/dist/index.global.js\"></script>\n<script>\n  GhostChat.init({\n    apiHost: \"https://your-api-host.com\",\n  });\n</script>\n```\n\nThat's it! A chat bubble will appear in the bottom-right corner of your page.\n\n### Full Configuration Example\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/ghost-chat-embed@1.0.1/dist/index.global.js\"></script>\n<script>\n  GhostChat.init({\n    // Required: Your chat API endpoint\n    apiHost: \"https://your-api-host.com\",\n\n    // Optional: Session management\n    chatId: \"user-session-123\",\n    conversationId: \"conv-abc\",\n\n    // Optional: User identification\n    user: {\n      id: \"user-456\",\n      email: \"user@example.com\",\n    },\n\n    // Optional: Theme customization\n    theme: {\n      accentColor: \"#3B81F6\",\n      button: {\n        right: 20,\n        bottom: 20,\n        size: 56,\n        dragAndDrop: true,\n        autoWindowOpen: {\n          autoOpen: false,\n          openDelay: 1000,\n          autoOpenOnMobile: false,\n        },\n      },\n      tooltip: {\n        show: true,\n        message: \"Hi there! 👋\",\n      },\n      window: {\n        title: \"Chat Assistant\",\n        height: 640,\n        width: 400,\n        darkMode: false,\n        showTitle: true,\n      },\n    },\n\n    // Optional: Feature toggles\n    features: {\n      includePromptToolbar: false,\n      includeModelSelection: false,\n      includeFileUpload: false,\n      includeSuggestions: true,\n    },\n\n    // Optional: Internationalization\n    i18n: {\n      locale: \"en\",\n      strings: {\n        welcome: \"Welcome! How can I help?\",\n        placeholder: \"Type your message...\",\n        send: \"Send\",\n        close: \"Close\",\n      },\n    },\n\n    // Optional: Security\n    domainAllowlist: [\"example.com\", \"app.example.com\"],\n\n    // Optional: Telemetry\n    telemetry: {\n      enabled: true,\n      endpoint: \"https://your-telemetry-endpoint.com\",\n    },\n  });\n</script>\n```\n\n### Messenger Launcher (Intercom-style)\n\nGhostChat ships a second **render method**: instead of the floating bubble +\npopup, a sticky input bar sits at the **bottom-center** of the page and expands\ninto a reduced chat panel (chat + conversation history only — no inbox tabs).\nIt's the same `GhostChat.init()` API, selected by the `launcher` flag, and\n**conversation history is shared** with the bubble (both are keyed by visitor\nid), so a chat started in one shows up in the other.\n\nFor the leanest payload, load the dedicated messenger bundle (the inbox/spaces\ncode is tree-shaken out). It defaults `launcher` to `\"messenger\"`:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/ghost-chat-embed/dist/index.messenger.global.js\"></script>\n<script>\n  GhostChat.init({\n    apiHost: \"https://your-api-host.com\",\n    theme: {\n      launcher: {\n        placeholder: \"Ask a question…\", // collapsed sticky bar text\n        bottom: 20,                      // px from viewport bottom\n        width: 400,                      // px max width of bar + panel\n      },\n    },\n  });\n</script>\n```\n\nOr flip it on from the standard bundle (no separate file) with the flag:\n\n```js\nGhostChat.init({ launcher: \"messenger\", apiHost: \"https://your-api-host.com\" });\n// launcher: \"bubble\" (default) restores the floating bubble.\n```\n\nTyping a question in the sticky bar and pressing the arrow expands the panel\n**and** sends the message as the first turn. The panel's \"Display Options\" menu\noffers **New conversation** and **Recent conversations**. The two launchers are\nmutually exclusive per `init()`.\n\n## 📖 API Reference\n\n### `GhostChat.init(config)`\n\nInitialize the chat widget with the provided configuration.\n\n#### Config Options\n\n| Option            | Type       | Required | Description                         |\n| ----------------- | ---------- | -------- | ----------------------------------- |\n| `apiHost`         | `string`   | Yes      | Base URL to your chat API           |\n| `chatId`          | `string`   | No       | Session identifier                  |\n| `conversationId`  | `string`   | No       | Conversation restore ID             |\n| `user`            | `object`   | No       | User identification (`id`, `email`) |\n| `theme`           | `object`   | No       | Theme customization                 |\n| `features`        | `object`   | No       | Feature toggles                     |\n| `i18n`            | `object`   | No       | Internationalization settings       |\n| `domainAllowlist` | `string[]` | No       | Allowed embedding domains           |\n| `telemetry`       | `object`   | No       | Telemetry configuration             |\n\n## 🔌 Backend API Contract\n\nYour API must implement an SSE endpoint that accepts GET requests:\n\n```\nGET {apiHost}/chat?message=...&chatId=...&conversationId=...\n```\n\n### Response Format (SSE)\n\n```\nevent: token\ndata: {\"text\": \"Hello\"}\n\nevent: token\ndata: {\"text\": \" world\"}\n\nevent: status\ndata: {\"loading\": false}\n\nevent: done\ndata: {\"usage\": {\"promptTokens\": 10, \"completionTokens\": 20}, \"messageId\": \"msg-123\"}\n```\n\nSee `examples/dev-server.js` for a working example server.\n\n## 🛠️ Development\n\n### Prerequisites\n\n- **Node.js 20+** (required for pnpm 9+ and modern build tools)\n- **pnpm 9+** (package manager)\n\n> ⚠️ **Important**: This project requires Node.js 20 or higher. If you encounter build errors with older Node versions, please upgrade your Node.js installation. You can use [nvm](https://github.com/nvm-sh/nvm) to manage multiple Node versions.\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/rscheiwe/ghost-chat-embed.git\ncd ghost-chat-embed\n\n# Install dependencies\npnpm install\n\n# Build CSS (one-time setup)\npnpm build:css\n\n# Start development with automatic CSS rebuilding\npnpm dev:full\n\n# In another terminal, start the API server\npnpm dev:api\n```\n\nVisit `http://localhost:5173` to see the demo.\n\n### Build\n\n```bash\n# Build production bundle\npnpm build:all\n\n# Run tests\npnpm test\n\n# Run E2E tests\npnpm test:e2e\n\n# Lint and format\npnpm lint\npnpm format\n```\n\n### Testing Webpack Build (Script Injection)\n\nTest the CDN-style script injection locally before deploying to jsDelivr:\n\n```bash\n# Build CSS first\npnpm build:css\n\n# Start webpack dev server (serves bundle.js on port 8082)\npnpm dev:webpack\n\n# In another terminal, start the API server (port 3000)\npnpm dev:api\n\n# Open test-inject.html in your browser\nopen test-inject.html\n```\n\nThe webpack dev server serves `bundle.js` with CORS headers at `http://localhost:8082/bundle.js`, allowing you to test script injection as it would work with jsDelivr.\n\n**Build for production:**\n\n```bash\n# Build webpack production bundle\npnpm build:webpack\n\n# Output: dist-webpack/bundle.js\n```\n\n## 📁 Project Structure\n\n```\nghost-chat-embed/\n├── src/\n│   ├── index.ts              # Main entry point\n│   ├── init.ts               # Initialization & Shadow DOM setup\n│   ├── types.ts              # TypeScript types\n│   ├── config.ts             # Zod validation\n│   ├── sse.ts                # SSE client\n│   ├── i18n.ts               # Internationalization\n│   ├── telemetry.ts          # Telemetry tracking\n│   ├── ui/                   # UI components\n│   │   ├── root.ts           # Root controller\n│   │   ├── bubble.ts         # Chat bubble\n│   │   ├── window.ts         # Chat window\n│   │   ├── messages.ts       # Message rendering\n│   │   └── input.ts          # Input area\n│   ├── utils/                # Utilities\n│   │   ├── sanitize.ts       # HTML sanitization\n│   │   └── dom.ts            # DOM helpers\n│   └── styles/               # Styles\n│       └── tailwind.css      # Tailwind CSS\n├── examples/                 # Examples\n│   ├── index.html            # Demo page\n│   └── dev-server.js         # Dev API server\n├── SPEC/                     # Specifications\n│   └── PRD.md                # Product requirements\n├── dist/                     # Build output\n└── package.json\n```\n\n## 🎨 Theming\n\nGhostChat uses Tailwind CSS with shadcn/ui design tokens. Customize via the `theme` config:\n\n```javascript\ntheme: {\n  accentColor: \"#3B81F6\",  // Primary color\n  button: {\n    size: 56,              // Button size (40-64px)\n    right: 20,             // Position from right\n    bottom: 20             // Position from bottom\n  },\n  window: {\n    width: 400,            // Window width (min 320px)\n    height: 640,           // Window height (min 420px)\n    darkMode: true         // Enable dark mode\n  }\n}\n```\n\n## 🌍 Internationalization\n\nSupport multiple languages and RTL:\n\n```javascript\ni18n: {\n  locale: \"ar\",  // Arabic (RTL)\n  strings: {\n    welcome: \"مرحبا! كيف يمكنني مساعدتك؟\",\n    placeholder: \"اكتب رسالتك...\",\n    send: \"إرسال\"\n  }\n}\n```\n\nRTL is automatically enabled for: Arabic (`ar`), Farsi (`fa`), Hebrew (`he`), Urdu (`ur`).\n\n## 🔒 Security\n\n- **Domain Allowlist**: Restrict embedding to specific domains\n- **HTML Sanitization**: DOMPurify prevents XSS attacks\n- **CSP-Friendly**: No inline scripts or `eval()`\n- **Shadow DOM**: Complete isolation from parent page\n\n## 📊 Telemetry\n\nTrack usage with OpenTelemetry-compatible events:\n\n```javascript\ntelemetry: {\n  enabled: true,\n  endpoint: \"https://your-endpoint.com\"\n}\n```\n\nEvents: `gc.open`, `gc.close`, `gc.send`, `gc.receive`, `gc.error`\n\n## Roadmap\n\n[ ] Add Home Screen and Chat Screen (Intercom-like UI/UX), configurable at runtime\n[ ] Add NextJS version\n\n## TODO\n\n[ ] Update webpack config for more graceful handling\n\n## 🤝 Contributing\n\nContributions welcome! Please read our [Contributing Guide](CONTRIBUTING.md) first.\n\n## 📄 License\n\nMIT © [Your Name](https://github.com/rscheiwe)\n\n## 🙏 Acknowledgments\n\n- Built with [Vercel AI SDK](https://sdk.vercel.ai/)\n- Styled with [Tailwind CSS](https://tailwindcss.com/) and [shadcn/ui](https://ui.shadcn.com/)\n- Inspired by [Flowise](https://flowiseai.com/)\n\n---\n\n**[Documentation](https://docs.example.com)** • **[Demo](https://demo.example.com)** • **[Issues](https://github.com/rscheiwe/ghost-chat-embed/issues)**\n","readmeFilename":"README.md"}