{"_id":"@rizal_ncc/bawanachat","_rev":"38-2870aeee4bdfae786700f101c349744b","name":"@rizal_ncc/bawanachat","dist-tags":{"latest":"1.0.37"},"versions":{"1.0.0":{"name":"@rizal_ncc/bawanachat","version":"1.0.0","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.0","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"470316d35c3d9e8da5616e9afbdaf3259d4431ce","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.0.tgz","fileCount":33,"integrity":"sha512-1cJ8pVwxPAESQyodAjEYTq8amg49PobiwTUBcjsGfkw70t9z5wsPzMpj/Gxhp08+tgH6CMRsuD3JwxRIYK/2qA==","signatures":[{"sig":"MEUCIQCzG+5Ig/Cy1kivwsycm0g/3yN0phjZMY5ikpMw3PSbiQIgNKLxLsDCoLw9jOAQ7BR+ipO98ZryH0fBTdm8w0FJI6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1510942},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"3475482284f7f925203516939571068848eca1e7","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.0_1760585416669_0.48083910190579093","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@rizal_ncc/bawanachat","version":"1.0.1","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.1","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"1340df7e94b7b2699debefc8d3411e35feac6f99","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.1.tgz","fileCount":33,"integrity":"sha512-yHtJ/6wbgcDQ4f/Pko7TbmCh7Kq5Yg68h3ILfnBaxJnOZdeAuTphLUdUkE0dhpvoEyaU7R5aqdzx35x4bnK6Yw==","signatures":[{"sig":"MEUCIQD4/XWjSPaxy61U6eprEt6hW6f9bLEQ/UmxcMV0xudHAgIgE8MtKtfvGpLZrHAWtINJGcmtmWdCrgh+22OMeKrLJNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1526063},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"3475482284f7f925203516939571068848eca1e7","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.1_1760590953487_0.8101141409254475","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@rizal_ncc/bawanachat","version":"1.0.2","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.2","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"b26aeda4326b5d2b0a2b974005451d4fbc3c541f","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.2.tgz","fileCount":33,"integrity":"sha512-dmoN4wwgL9H3oFBSeKwYDmnPeqBbOH6OO4CtuMFZvaoZ7N4MNlxqfeZxC2CTg6XT045gkI5OHZvvhCF+frTxkA==","signatures":[{"sig":"MEYCIQDtqInwFeJrUOqp5mgXbwnsLIv6tE/HchPdSh1G4HCztgIhALq6H4MD0cFUse58aLskNIxIL2wFTMTwYmpB/4Q32fVN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1537971},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"3e85ea0edf0a9f04acb9355d5a08e8f3781214d6","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.2_1760603069317_0.3111720384436152","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@rizal_ncc/bawanachat","version":"1.0.3","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.3","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"5af63fd1d2bca218a082f9c40657348798da9842","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.3.tgz","fileCount":37,"integrity":"sha512-CN+cExvhmAMnHroVWMiGze4xiw9vkBvtXSsAF/y9RJQAXoeynEK++XJG6OoMbac3kVetoxSMx8MX5c/MTR9sXQ==","signatures":[{"sig":"MEYCIQDYStkcmlWDTcDRYvSf/oEd7H85J63S4xUGyALT+hNOYgIhAIc5BfXA9Oi0zgDt7SWzYDDsCjA6a9lsnh/zWIL2eDDP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1582688},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"a924e23409071f8aa054cbf31454e7221ec4d8e0","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.3_1761027454165_0.6355524964320018","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@rizal_ncc/bawanachat","version":"1.0.4","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.4","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"ba65fccf5641264fb8a756099ce98eefd04e8e0d","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.4.tgz","fileCount":38,"integrity":"sha512-pO0wpi0mzYqYVXh86Ef2CZWKI+ER+I77hZxPw8edUX1ASnEXcmDI4tQQ4hQBhQ4yRbhl1HylEwka9o7ZW3CT3w==","signatures":[{"sig":"MEYCIQCsz3c7793+4EQv7W4FeKeRnGNGlwdd9/LZXlVtoKOTOQIhAM+7jOzcdsdbBFC6XpMpRviZOrs1ZuQVfL6mX+5ahSEd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1604725},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"e37fbb270d74cb31860e7843404d497490de284d","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.4_1761028824337_0.5631246817028168","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@rizal_ncc/bawanachat","version":"1.0.5","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.5","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"7420a0ec4f3b76606ae6dea530768745d9240dda","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.5.tgz","fileCount":38,"integrity":"sha512-cuZ18QmzI1vcrDU5bbmnSwmVE10x8gee8r5lC1hL34EJnkKzC4gJvaAZOjufCtltObRoEKzzvelbQJ/DNpnk4A==","signatures":[{"sig":"MEUCIQCUDhjTMAVsnK1JUWwW0BmzA93x5R7zqiYYqk/zct3fFQIgeSL6rWZwWzyRCBYEROaInkF/ZFUuTrlIIitPrxfFvnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1611587},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"59e80972fd51a486f25599059a2756b6b5af69b9","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.5_1761036903878_0.04614849633651219","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@rizal_ncc/bawanachat","version":"1.0.6","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.6","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"83a804b9c07f052c51faf7194f896030405c0030","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.6.tgz","fileCount":38,"integrity":"sha512-4YmMudxystTm+p2Z4Ktb++9a+GMO906KA6HnWRaPtjGncf8UkJKb3UI8VKyyFClsBR+ctu2YaBMfe/dfWv19cw==","signatures":[{"sig":"MEUCIQCSsbJsa13ysgoeYp5dO1+S+blXg6HLXxCL/oRp5JC+bAIgA6P16DmyYjbwf3TXbjN2HVw35TDf1NeqtggY0zyryxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1616758},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"5b229772361dc76046be1671b3a20297fb1f20a8","scripts":{"dev":"vite","test":"echo \"No tests yet\" && exit 0","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","terser":"^5.44.0","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.6_1761037466241_0.9522156622923919","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@rizal_ncc/bawanachat","version":"1.0.7","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.7","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"70558732ed26af37658669c653aba07e3b82b352","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.7.tgz","fileCount":44,"integrity":"sha512-nIag7/AYCEODlxes2aJ1aSgbz7jkZK2VPzuUcCqts9o2UwVZW7gWgzSiDLfhu+nPrjzTQyawi56Hj5ufU5jjfg==","signatures":[{"sig":"MEQCIDQHYAP4omFIpWZWj7XrYFD4AJvNgvtNudroTk6ObPe9AiBUsuBBpbh+trdi+3XM5jsDSQnaNB0X0i1qaTwI2yMy8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1677902},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"128560deb27e320e58b06521bcda4eb75adff29d","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.7_1764227379666_0.0996116197141863","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@rizal_ncc/bawanachat","version":"1.0.8","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.8","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"ccce1badc2d384314c812eb27c65335b23fdb39c","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.8.tgz","fileCount":46,"integrity":"sha512-d4XT/Wewtl9mnjeFAFQSjRAxbHlRU0e3by/zTIi+IjUEvpZPo2bBom3f1D25TWih1mDzGmQIrxkcKHti39x4yw==","signatures":[{"sig":"MEQCIBZUtVx8FybrKdIW9BfCbMjcYcLIKeVhQDvZCHtb0tKPAiBJ4d26YxDBV1HYtFCgtcKe6MxIC7rBSe0AkxQc3b7fAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1681452},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"b252d5b300ed62cfd2315610c4253aa10a982f24","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"openai":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.8_1764238545332_0.6670591321602874","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@rizal_ncc/bawanachat","version":"1.0.9","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.9","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"185fec6472c3a147e8ef96cb9e86ff848c8a484e","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.9.tgz","fileCount":54,"integrity":"sha512-3vzazzFMiZByc0WZOss0PrGdmn3kwo/ixQKM9K3oPzisNdb4rQ2HSV6KlGGOzloY5gBstm+PA6538qEFcAb7VA==","signatures":[{"sig":"MEUCIB95S2vRORwQd7BSDaLV3AVpiOHvEESpU1fLuYvhNY/XAiEA1FYANwaKM/bomkEWIbImCzeyH3j6qkQnHDATHYN8is0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2289536},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"3bdd92beec3634f229e0c08f1f29457866e06b10","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^17.0.1","openai":"^4.0.0","dompurify":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.9_1764585148198_0.7943461699811201","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@rizal_ncc/bawanachat","version":"1.0.10","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.10","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"104f15d84b6ee985d54aa91e853e53675b35b5e4","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.10.tgz","fileCount":54,"integrity":"sha512-GrkP/le9eEHGTlFuaD3dMFAa4N7woLndQL0lAdM9fTKf2WXVIcuptcULL47TtZexR9q5sTDaKzFmpPvg1681JQ==","signatures":[{"sig":"MEQCIE+BbB8RwHpcMdn8eByggrKqCet9IQju9kGl/Vcnjt3QAiAKqbVBLy5ahxXy6GtLJz8D+/VEDZEvm4BET8U5C8pvSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2290322},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"e351794c5d172db7b49c43f4cab573def7785d8d","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^17.0.1","openai":"^4.0.0","dompurify":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.10_1764586032563_0.5866059719916787","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@rizal_ncc/bawanachat","version":"1.0.11","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.11","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/bawana/chatbot-components#readme","bugs":{"url":"https://github.com/bawana/chatbot-components/issues"},"dist":{"shasum":"0f108ffc77bfd460f4571caf8729a382a729541e","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.11.tgz","fileCount":65,"integrity":"sha512-c7jXLvCI+Fm+i84KyqhkLzbmyqVUUkN3sRoDwJlcMPwD4g/Vvl2HQMZMox+zJ3k1rkE+iuGi43KccRl3/9eQrw==","signatures":[{"sig":"MEUCIA4a6T0k8p8fwKo/OA33+pGLbL2WxoP7siufRsyBhkH3AiEAsNu3l/8r1mrxgaA7DQ9XxP5ELbH1eWZfFIytJuOe0/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2393876},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"f80bbd24d7400ecf1d4df7e89fd048105a3cfcec","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/bawana/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.11_1764671229785_0.5211464035034332","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@rizal_ncc/bawanachat","version":"1.0.12","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.12","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"a198df1a4fc30f7e156a04715d6187de739af3b0","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.12.tgz","fileCount":68,"integrity":"sha512-wzuhV0JVoSV4ve48/+4spyTWCqUk5auncmJMjcl4llpvGXTukV1DJZtDy/t0bvhOIeXi5YUwl2mAb9L1ZgXtMg==","signatures":[{"sig":"MEUCIQCDhn5O06Q0oniTsbXt/oXMP+8jW2VCcXLbp72H42VdTgIgVl6J5oGq4h6+81ZESce3wlBjzj3gPcQodWcue/tq4v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2402185},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"4d867c71e74a6f0c7542d10d8c6871c0c66d2d97","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.12_1764752629774_0.7199915903512615","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@rizal_ncc/bawanachat","version":"1.0.13","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.13","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"6547dbe0b30b3d9d73d92f2e74718f1f0b0a8d32","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.13.tgz","fileCount":73,"integrity":"sha512-ShsPJKs4UXdmyv8H5LA5ZSAH9rl6HgHMOVpfUEtJaX7WCGzdwcSMCsnlTFVPwEr5zRLlZhcEsyB7lMjZfIjQ/g==","signatures":[{"sig":"MEUCIQDXLlKHpZJaaFya2/6vChfTh7Tu2FigkVylGrVsXVA39QIgZMiztS1MXnVKtf0Qz6niT8dxXbiDhgzVJ9224fm9Bws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2424246},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"204d0c392a749bdf0f7ac8f65ffecc8cda04e3bd","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.13_1764829319007_0.4067589380551755","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@rizal_ncc/bawanachat","version":"1.0.14","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.14","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"3b5bb0a7c528c57c0dba73272d31cd221e4c34b6","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.14.tgz","fileCount":75,"integrity":"sha512-BStTrW3EMnfv91Ga0y8lARG/roaYumE3Y+oQJI0qHVyLVsyNGhkYUrAXiGwnlDcb7FVfSCj/khkPg2tRmvW3Rw==","signatures":[{"sig":"MEUCIAgB74YCdNX9MwR+r0Gb1MlDBP0h9kn9oycL9ijrZ0OEAiEAq/n2vpAsk1g7i6DgXeILIOUBUKRScLjWBUiie4q4YCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2481338},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"8a5ad74464dc7cc15f4ee3c4031bfec88a836217","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.14_1765782928791_0.6436460679960128","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@rizal_ncc/bawanachat","version":"1.0.15","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.15","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"7b14a942820592a4ff92893eed3dc3798640e0ae","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.15.tgz","fileCount":75,"integrity":"sha512-xHQr7mdn4WS4TG+Nb13azaeSR/KRqttUm7lfjethTGlkWzKqU500BCwUX+ZB8SpiMxoxwa/fGL50mWpeWPfNZQ==","signatures":[{"sig":"MEUCIFMdcJGrO2CJ3iyC592fAXihVDufjsQ3zvhiFazHyEJ0AiEAnVzcq7srBZN+MbadzPRn+ugRCxSUpatEnouwA3blcEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2496525},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"1e6b792f7a3495ed465b0bad387120cd9440e5fb","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.15_1765791775795_0.23239936022817642","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@rizal_ncc/bawanachat","version":"1.0.16","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.16","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"05b8fac0bb90d911e9cfa3949f8f3d7cf2af9e48","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.16.tgz","fileCount":75,"integrity":"sha512-kU/ufHvO42yQyiF5iNg+wG9EwUvquawgtiEEKfLDbeCBffnqMwhd+j6AgO1V4eQoIq/Gw2biPeGUMSAzOwoKhg==","signatures":[{"sig":"MEQCIGuvuk3ZkaGHIRXma/UaUI8eNpsnuY7ofn4woJuSbEfEAiBxypuORne/nEJpcDiYgMxI7anmDTiGXYg9Lq0i2P9okw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2497597},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"1ae96c36e0ab958e99674a7ef216dd5031abaef4","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.16_1765795074792_0.053659723141981086","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@rizal_ncc/bawanachat","version":"1.0.17","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.17","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"b2f7c8b3e6ca58d55660d5860c38cb0facdeee08","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.17.tgz","fileCount":75,"integrity":"sha512-jFpv3+vE7FifX1c4JVO6ysGEmZ+gCQVdapyOfimfvpCjYg+h6buQICL1XcZJTA6hAVM4TPnpiK3UzVwnaB04aQ==","signatures":[{"sig":"MEQCIGXqlR4xEtpZ++GW7OXpw/wNCTG42KIRhhkSaT+GGTlVAiAdxY06LkU1CoHSKUUMvx9536SxTxWAEZDvCoggs2SLeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2498253},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"51cb632ea6fe30996cc8e095a5557f4eb94ffc00","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.17_1765854111746_0.7998455387600265","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@rizal_ncc/bawanachat","version":"1.0.18","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.18","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"b1907ae90489b6d55bf5fd0033358151d6c4364e","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.18.tgz","fileCount":75,"integrity":"sha512-dh1s+c89h1QWMjyo/ExaCp7+JUxy0MsqItckmeXW9NL6nIJzyrdJtrmKBJZ8Oqm2qHzzD6YZHQEGsP0+RYUoTg==","signatures":[{"sig":"MEUCIQCXWur3hPTspwuh7fKJKcnTbvgRH7qDQFBCKYEj2Ke1CwIgFgmfrwNRIOLMy0z8++ixTWgJ6IOg0arcPwChn6IkHK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2498523},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"2b05cf0bb5ddfa021c924ed11c52d326c3bb5ca6","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.18_1765865805573_0.7295789839770694","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@rizal_ncc/bawanachat","version":"1.0.19","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.19","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"5a24afd18af791ba74ac1d4b3a47eee68c317888","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.19.tgz","fileCount":75,"integrity":"sha512-JIxlMkXTGuW7qhC/cA0Q7bsWzLgO0Jjc/UE9kW2fNKVqd2WkCJcqW7FH89F2b7BoyiGPZIsoml2FPmL8G+HzQA==","signatures":[{"sig":"MEYCIQCKvCW/nlbCwSRf5OFGNxWC+vCirtxAMzto48hygQA+DgIhAN7Zuaxz9K1hKZVixFT56C5U1WVmbShUH6LntKFlMBLM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2499113},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"c2891e8c600e46eac648df62bb3d0ae5787d5c45","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.19_1765876985520_0.1479580280629218","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@rizal_ncc/bawanachat","version":"1.0.20","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.20","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"64d9417456809f68ce3a1d9f6ff7364a57924ffc","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.20.tgz","fileCount":76,"integrity":"sha512-QAJAvSmIGNkHIQVQmWn//9MK7xza76OIkPzMpCcK4Z5AGmmAYGWuTMnrFubKdR86oYbnzmb4Bnnkk++DM5Fc7g==","signatures":[{"sig":"MEUCICMPiODKPACe8NlM3DTuZI/+TyhBEIJz54p10otyun0hAiEA3m5rmeLL61+7v4ngCbSzHUnAtas5u8s/JsR9msjsy7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2516413},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"0a37cee6fe5ceb23dcf97723feedbfe47a251583","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.20_1765957329967_0.28102840728395306","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@rizal_ncc/bawanachat","version":"1.0.21","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.21","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"1c88d1554817003522d84028fe98af8c5d8dad98","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.21.tgz","fileCount":76,"integrity":"sha512-4mZJQn9te3ZDKKjX4c1ACPYkPPVk2dVNBwQNkJ1S2UNi4YJ93P2cvEiLY2T++R7jyR/iRufsNiWdeOUks7OTRQ==","signatures":[{"sig":"MEUCIQD3bhXH/GB2m5atfOzycxJdqqi1HfB/Ons4UbQI4lvHFAIgDpyTENPqfwG9GnPW8eG2rWcQkucVAWmuYmtkI8IoJns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2516064},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"290e2b911ad687da9753adcbfe6b7819cc813375","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.21_1765960520802_0.4827127436932077","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@rizal_ncc/bawanachat","version":"1.0.22","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.22","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"472b2cbbe8f3376d403621260972d9ad83fc91a5","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.22.tgz","fileCount":76,"integrity":"sha512-Xq02MO6Q1JLjGcLXgICuaABk46UGRAWhxt6lUqoiNmaaJfiQJ+xwD0as3baTt7VZKLGosX4ZdsbUdMczYjSvAg==","signatures":[{"sig":"MEQCIDWBtMFGXHGUiZL12KP108kqM2n3dhp+4XhzTUnOU3eWAiBjES+QY220ZxhS8pXLFz+IHuTCriPU78CtUKjDIwLRTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2515982},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"c4c2cdf78f5fe4d9fa0d5b3860cd2574b3dee9aa","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.22_1765961729906_0.7375082980510805","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@rizal_ncc/bawanachat","version":"1.0.23","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.23","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"487907699066584291af051a036e4b374c943d76","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.23.tgz","fileCount":76,"integrity":"sha512-HlHZ3S0P8TjIhRRCAj2F456xHgNnjlo9t3wyAO3G4NrPKqBVXMd8RUVGSN32NoFSUOiM0DLM8jRnIzVlb4o4Jw==","signatures":[{"sig":"MEUCIQCuIvWhdG+KqnJWii+coG/fAP3TNq/n5uj1HPgUSQNqqgIgcaGyQ7/lKiLpW6r0o2bvlBPo1RJozkOG9XBQ8xe+9m0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2516828},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"09a806a298c3ea48e38695daa26254271c5bfd05","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.23_1765962531405_0.34473590982293456","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@rizal_ncc/bawanachat","version":"1.0.24","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.24","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"d774bf3306f7e42b14344d74eafc785c7320703d","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.24.tgz","fileCount":76,"integrity":"sha512-G+3IT2Don19bSPcsOYCqjZHQe+ZCzx8rYPpV2Jpd8p2T7Ledlg2qGAFBsG81pvdWFpIOdKQ9DLIA80Ud1iVR5w==","signatures":[{"sig":"MEQCIG61lSiwvdASfI1ypXOALu/acq6ANz3CioFs9GW38slNAiAvCmOWDJiX3DQR1xMaqPbfZO5JDf28lxS7UisfBq0iFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2515437},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"39dc3647c6ee10f09e660e626e4fa8f92715068e","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.24_1765963465568_0.5111255546300617","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@rizal_ncc/bawanachat","version":"1.0.25","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.25","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"5b496291e715c21b58b2367d9715e6070adaa67a","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.25.tgz","fileCount":76,"integrity":"sha512-2p9rkwcw4JKvWG5yzr21bQOfXn22R7Hr+3704+Lr7H1o82Jlm4T3GI2NuRR89sczxwXtW6L/UYxfCproXG2Eeg==","signatures":[{"sig":"MEUCIDLgmGZwWHWCQoDO8OybRNdcZSR34yypxx2BAnLclQmjAiEAg/YXP0+HMMFPE0rd0k5rk+2h4D0xCPtdamMKIP+qiWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2517430},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"49fc90c3b903bdd1fb718189ad6d8b3ce48fb32e","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.25_1765964460379_0.9646908963444301","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@rizal_ncc/bawanachat","version":"1.0.26","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.26","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"799aa0efa30f22f24966920e5c100d2fc67d3acb","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.26.tgz","fileCount":76,"integrity":"sha512-9wPWQrfFm4YAKJ7rsWxHxcKFkdAaKwGRDQUB79WbSnY/AjRqz96Ft75bh2JwPyS+ZLb1wo9tk2vsc/WjDDbpiA==","signatures":[{"sig":"MEUCIGgtTeo2LDPptDuQijmNcJjr1s9mC2KviAM8Lmt4B1TPAiEA0i74uhK0N9YBbX7ooD2eygo4ucqexD77ovI+otcM0eE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2531087},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"d69314ff9f8022f2ca0c4fc0b338596161cfb63b","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.26_1766033490387_0.7433749823796463","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@rizal_ncc/bawanachat","version":"1.0.27","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.27","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"22e6e9c9446139971ede6f9e54b67fa859b43a9c","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.27.tgz","fileCount":76,"integrity":"sha512-q8OFj3z2aAXMVfuyYhv+/kut4q7kUab3eDA652S7lkpi3FDREcJ6EvvYlV7H16zQaXK/+MfViOWLWedvL9xUMA==","signatures":[{"sig":"MEYCIQD0xVp0Ss74vBPQP8tkTayHqo8TamKgv7L5go9kY0f60AIhAO5DGSkLw5qBBD3oz4wQosLNqOxmkXqC/0a/oar2awm7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2531839},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"686ee50f0820530e19ebff6aff957b708a27c990","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.27_1766040151982_0.9534861006812865","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@rizal_ncc/bawanachat","version":"1.0.28","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.28","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"38412a88162dd656e0bdd5499260c6d5365180e6","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.28.tgz","fileCount":76,"integrity":"sha512-k+UDc8uUfGJeqb4Bg6RIsvMwFpRPJrBfvKF/5lI4bCulrt2wnYwGfcK7mhcsgalballlQrMW3irPVjt0qWwj8A==","signatures":[{"sig":"MEUCIHGC6oBY603Wo5xI2NsgLGg7pzMFg4qIUNUZz2Z3QG1wAiEAjMdEl7s8hMPiOv5YTdmWYV3/XfA2fvH+2r+9ddIMBz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2530621},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"ab373ad6a39e12074d0a3fc66936a8848f4dcafe","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.28_1766041433563_0.027232806269936738","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@rizal_ncc/bawanachat","version":"1.0.29","keywords":["chatbot","widget","openai","ai","chat","bawana","react","vue","component","embeddable"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.29","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"2449e322f40050df17ecd410d5e6bc40ef69f4fe","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.29.tgz","fileCount":76,"integrity":"sha512-6XR0yATp00zUSzCiA4J0hVNjEG0/g60q0HhOsWPam3KkcOeoo0b6LmKro3cis8SrWJQ18X84y3x9qUp8XWOi0w==","signatures":[{"sig":"MEUCIQDxpz2PH4Oq5XHicGhrosy6uGFwPEsJe6cIl6OkAZDxYQIgCxZGzxXS/ihTEiAMSruq2KMdnglH6x5bjmBeCuW1ac8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2530607},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"6b5633086bbdad80b86b41342a61f1619c044aca","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.29_1766042437267_0.7844787569421321","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@rizal_ncc/bawanachat","version":"1.0.30","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.30","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"d8fbf6ad747e2e6f76676b30619dbeb8b56f8619","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.30.tgz","fileCount":76,"integrity":"sha512-Ot9NizZM242tKEEz6mt2jykFZVf2PjmMnZCUrbdCn5Ia/xVRyzINJ2RsQCDptZqu3ydIn/JrMVmMo9w97Q0+/w==","signatures":[{"sig":"MEUCIAT6uGp8xeUsSKEZ0yuum5vKvE2syaWjW/QBCz7Lgg5TAiEAs0ClOVJahzI1SDaotVSKKs4YXtuBo6ELzRbpDX8YRC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2530427},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"40d316e8bcd52c9a770d78e7b35657755b27171a","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.30_1766551768653_0.2634301111734676","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@rizal_ncc/bawanachat","version":"1.0.31","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.31","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"ddf252a86054cfd70dd1dae2606573adf08a1cf4","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.31.tgz","fileCount":76,"integrity":"sha512-nKwPljfj6c//eGPdqKpESM3MI4DTe+PTcTGRSCDf/YFkYSRpKEqTNCXW0e879W20YHbFfeTWbUKfh3aErINjUA==","signatures":[{"sig":"MEUCIQC5KrwH18eRlkMP1WfxCpWKXDGsrgo6FRQuXFj81SlfcQIgK2xU0IC+7w3zQ21gMzxhPDbX3V38h0248E5ga2XG2w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2532559},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"686d459c220bc3730726e7e5663fe27d4630b5cd","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.31_1768814182973_0.08736497995593573","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@rizal_ncc/bawanachat","version":"1.0.32","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.32","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"920c6350335dacfb20291ccfe208454d8d3e1e9f","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.32.tgz","fileCount":76,"integrity":"sha512-IOGJfqMZ4hUbmTzN/domS9F0F7ZVyI8aiAYSAeNKJxFxjduDkFIOFOpQViNVVkm7ZoQ64u5t1QG1OUfO32uaYg==","signatures":[{"sig":"MEUCIQDc7rN7ywxUkDuO1V0VB/hzixcyGKhvvOSdT4uwSW1SXwIgQUWUfuuZ3vuoxerVxgGXvmU3HshmLj7Sbcee5kyH2hI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2545774},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"c82a5639a2d964cde1628fc72b26a460be0bac27","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.32_1769157109940_0.41840374456423435","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@rizal_ncc/bawanachat","version":"1.0.33","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.33","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"6390b68809ea975343b056307513e8224b6edf81","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.33.tgz","fileCount":76,"integrity":"sha512-99C3qTtD38WbSMluU95/zgrWetHYDpEeNLAiOt7bf6PpjSuaJFZVCYfSvQnuh1nXovvguEZXb+gMskk17vEmOQ==","signatures":[{"sig":"MEUCIBbXCY44zZrtr/i0x1Wdqd/Xv1Jim/IFBz8CHtHh6qfdAiEAmbYVz42ZoAj47jnAc2p51GQgy39xVL754hdsnqYtS6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2545996},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"9973ec29a46ff89945c7ba1fd99c559785d04331","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.33_1769669777082_0.6190688058765976","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@rizal_ncc/bawanachat","version":"1.0.34","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.34","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"5f244c39aad426249369c687c379984978c26871","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.34.tgz","fileCount":76,"integrity":"sha512-19bAbCFeEtnHqPU1RRSWFXSAYUU2mY9IHLp/YESjVl2VTq6gA4m4EQPCvchQY4WuWV8L+sK2qaAoLUu0u628XA==","signatures":[{"sig":"MEUCIQDelUNWGsLq+1aQAx5REEs2XH+2kwPuD9blx8pKpV+ZmwIgF4dAXzDnvveSZA/9wtf8VivVJRhwJ1nZJkQJibfapBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2546396},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"0e82ae0fdd59e9d95ad5fd424df0f6a03e48f229","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.34_1769673435266_0.41783354383426485","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@rizal_ncc/bawanachat","version":"1.0.35","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.35","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"f138e1dd2fc0705ca810803c34dd66fe085bec42","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.35.tgz","fileCount":76,"integrity":"sha512-9FWz2KJYBXsAJfwSuA4UTL7+lvTY743BSzgRcY+lmDAqjlvqk9CenyamyuyBp6TJxhogd4wjaM6+SpZY2YTnVg==","signatures":[{"sig":"MEQCIB7DNUaWT/270lQyLL2YCX/dVpp41YQVOBvgIz+s3IlDAiAwud3YgvCLogPhFJShSZn5lGLxIb+b9JEHjLfCSur+Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2548428},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"722335d17c0593e6bdb5e5c3fd1f09f914c2bc6c","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.35_1770022174363_0.2505423686291761","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@rizal_ncc/bawanachat","version":"1.0.36","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"author":{"name":"BAWANA Team"},"license":"MIT","_id":"@rizal_ncc/bawanachat@1.0.36","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"homepage":"https://github.com/rizalNCC/chatbot-components#readme","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"dist":{"shasum":"b3e177628718341c0ea961c118ee28199bd7ad14","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.36.tgz","fileCount":76,"integrity":"sha512-IVt0qhW2KjDejVY2cJ17ifcjpJoDsOUwCK999rXYNy1VAt9Er6OsGWWCQeoYYkBaRJ3k+prE9CYluYCwax4RqA==","signatures":[{"sig":"MEUCIQCFRMNxKz8M1TvqAU1czlXQ4rQJdYVxye78wizyb4PYJAIgWprduwx5h3m1taevXuQaQSIg1sP6uPp7ktiOBFz9dSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2574831},"main":"./dist/index.cjs","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"43a3bd83ac36a6e5cbd8eb9131b5e5aa35a5d966","scripts":{"dev":"vite","test":"vitest run","build":"npm run clean && npm run build:lib && npm run build:types","clean":"rm -rf dist","preview":"vite preview","build:lib":"vite build","test:watch":"vitest","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","prepublishOnly":"npm run build"},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"repository":{"url":"git+https://github.com/rizalNCC/chatbot-components.git","type":"git"},"_npmVersion":"11.6.2","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","directories":{},"_nodeVersion":"23.5.0","dependencies":{"marked":"^13.0.2","openai":"^4.0.0","dompurify":"^3.1.6"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.11","vite":"^5.0.0","jsdom":"^27.2.0","react":"^18.3.1","terser":"^5.44.0","vitest":"^2.1.4","react-dom":"^18.3.1","typescript":"^5.0.0","@types/node":"^24.7.1","tailwindcss":"^4.1.14","@types/react":"^18.2.0","tw-animate-css":"^1.4.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^18.2.0","@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0"},"peerDependencies":{"vue":">=3.0.0","react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bawanachat_1.0.36_1770102808317_0.20485761660909296","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@rizal_ncc/bawanachat","version":"1.0.37","description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","author":{"name":"BAWANA Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/rizalNCC/chatbot-components.git"},"keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue.mjs","require":"./dist/vue.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"scripts":{"dev":"vite","build":"npm run clean && npm run build:lib && npm run build:types","build:lib":"vite build","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types && mkdir -p dist/types && cp -R types/* dist/types","clean":"rm -rf dist","preview":"vite preview","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest"},"dependencies":{"dompurify":"^3.1.6","marked":"^13.0.2","openai":"^4.0.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0","vue":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"vue":{"optional":true}},"devDependencies":{"@tailwindcss/vite":"^4.1.14","@testing-library/react":"^16.0.0","@types/node":"^24.7.1","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@vue/test-utils":"^2.4.6","jsdom":"^27.2.0","react":"^18.3.1","react-dom":"^18.3.1","tailwindcss":"^4.1.14","terser":"^5.44.0","tw-animate-css":"^1.4.0","typescript":"^5.0.0","vite":"^5.0.0","vitest":"^2.1.4","vue":"^3.5.11"},"gitHead":"487e65cae5d2695158b3f0bcdadda35a7e38e571","_id":"@rizal_ncc/bawanachat@1.0.37","bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"homepage":"https://github.com/rizalNCC/chatbot-components#readme","_nodeVersion":"23.5.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-sOyCBgMgGYRC2uLUxhsaPcELzlMo8wlYa4QieYzaAye/kS0+53YNhs83ouZhCh8/jLZbb8ubBmjpojau5Sgc8Q==","shasum":"36635b572572f83d8302ec8d1c1167001b4e14ec","tarball":"https://registry.npmjs.org/@rizal_ncc/bawanachat/-/bawanachat-1.0.37.tgz","fileCount":76,"unpackedSize":2558783,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID6LtTjBZXeIWPZ7j3YnyFdSLoIAjKWuDKxImC4XxudgAiA5KQc1lDAu9lOQh3IehfGjhCmk+Id+ZZ506+564o6aiA=="}]},"_npmUser":{"name":"rizal_ncc","email":"rizal@bawana.com"},"directories":{},"maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bawanachat_1.0.37_1770282590697_0.9632070004410473"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-16T03:30:16.597Z","modified":"2026-02-05T09:09:51.997Z","1.0.0":"2025-10-16T03:30:16.911Z","1.0.1":"2025-10-16T05:02:33.724Z","1.0.2":"2025-10-16T08:24:29.566Z","1.0.3":"2025-10-21T06:17:34.447Z","1.0.4":"2025-10-21T06:40:24.574Z","1.0.5":"2025-10-21T08:55:04.078Z","1.0.6":"2025-10-21T09:04:26.470Z","1.0.7":"2025-11-27T07:09:39.880Z","1.0.8":"2025-11-27T10:15:45.578Z","1.0.9":"2025-12-01T10:32:28.447Z","1.0.10":"2025-12-01T10:47:12.793Z","1.0.11":"2025-12-02T10:27:09.999Z","1.0.12":"2025-12-03T09:03:50.016Z","1.0.13":"2025-12-04T06:21:59.282Z","1.0.14":"2025-12-15T07:15:29.038Z","1.0.15":"2025-12-15T09:42:56.009Z","1.0.16":"2025-12-15T10:37:54.984Z","1.0.17":"2025-12-16T03:01:52.013Z","1.0.18":"2025-12-16T06:16:45.807Z","1.0.19":"2025-12-16T09:23:05.722Z","1.0.20":"2025-12-17T07:42:10.166Z","1.0.21":"2025-12-17T08:35:20.975Z","1.0.22":"2025-12-17T08:55:30.094Z","1.0.23":"2025-12-17T09:08:51.628Z","1.0.24":"2025-12-17T09:24:25.770Z","1.0.25":"2025-12-17T09:41:00.541Z","1.0.26":"2025-12-18T04:51:30.624Z","1.0.27":"2025-12-18T06:42:32.198Z","1.0.28":"2025-12-18T07:03:53.807Z","1.0.29":"2025-12-18T07:20:37.474Z","1.0.30":"2025-12-24T04:49:28.891Z","1.0.31":"2026-01-19T09:16:23.144Z","1.0.32":"2026-01-23T08:31:50.119Z","1.0.33":"2026-01-29T06:56:17.273Z","1.0.34":"2026-01-29T07:57:15.463Z","1.0.35":"2026-02-02T08:49:34.533Z","1.0.36":"2026-02-03T07:13:28.536Z","1.0.37":"2026-02-05T09:09:50.951Z"},"bugs":{"url":"https://github.com/rizalNCC/chatbot-components/issues"},"author":{"name":"BAWANA Team"},"license":"MIT","homepage":"https://github.com/rizalNCC/chatbot-components#readme","keywords":["bawana","netpolitan","chatbot","widget","openai","ai","chat"],"repository":{"type":"git","url":"git+https://github.com/rizalNCC/chatbot-components.git"},"description":"Embeddable AI chatbot widget for BAWANA learning solutions - supports React, Vue, and vanilla JavaScript","maintainers":[{"name":"rizal_ncc","email":"rizal@bawana.com"}],"readme":"# BAWANA Chatbot Components\n\nEmbeddable AI chatbot widgets for the BAWANA learning ecosystem. Ship the same conversational experience across vanilla JavaScript, React, and Vue with a single, framework-agnostic core.\n\n## ✨ Features\n\n- Shared core (`ChatbotCore`) with adapter wrappers for Vanilla, React, and Vue\n- Ready-to-ship UI with widget or full-page layouts\n- OpenAI integration (chat completions + function calling) with configurable model, base URL, and sampling settings\n- One-line theming: tweak the primary color and the widget, launcher, and animations all stay in sync\n- Inline Markdown styling (bold/italic/code) with automatic sanitization\n- Lightweight topic classifier keeps prompts on scope (company/course vs. cooking/travel)\n- TypeScript definitions for all public APIs\n- Packaged CSS bundle (`style.css`) for consistent styling\n\n## 🧠 Architecture (Agents)\n\n- **ChatView**: layout-agnostic core that renders messages, composer, and suggestions; emits events; never manages wrappers or ARIA.\n- **Layout shells**: `PageLayout`, `WidgetLayout`, `DropdownLayout` own their DOM, toggles, ARIA, and open/close state while mounting `ChatView`.\n- **Dropdown interactions**: isolated outside-click, ESC, and ARIA syncing for the dropdown shell.\n- **DOM builders**: per-layout structure builders with shared header/message/composer partials.\n\nPlayground to sanity-check all shells: `examples/layouts/index.html` (uses the source modules so you can tweak layouts rapidly).\n\n## 🧪 Local Testing / Examples\n\n- **Layout playground**: `npm run dev -- --host --port 4173` then open `http://localhost:4173/examples/layouts/` to try page/widget/dropdown shells.\n- **Vanilla demo**: `http://localhost:4173/examples/vanilla/`\n- **React demo**: `http://localhost:4173/examples/react/`\n- **Vue demo**: `http://localhost:4173/examples/vue/`\n\nIf you prefer using the built bundle, swap imports in an example from `../../src/...` to `../../dist/index.mjs` and `../../dist/style.css`.\n\n## 📦 Installation\n\n```bash\nnpm install @rizal_ncc/bawanachat\n# or\nyarn add @rizal_ncc/bawanachat\n```\n\nYou must provide your own OpenAI API key at runtime.\n\n## 🚀 Usage Cheat Sheet\n\nEvery adapter shares the same options. Import the CSS bundle once per app (`@rizal_ncc/bawanachat/style.css`) so the widget, dropdown, and launcher stay styled.\n\n### Vanilla JavaScript\n\n#### Floating `widget` launcher (default)\n\n```html\n<link rel=\"stylesheet\" href=\"node_modules/@rizal_ncc/bawanachat/dist/style.css\" />\n<script type=\"module\">\n  import { initChatbot } from \"@rizal_ncc/bawanachat\";\n\n  const chatbot = initChatbot({\n    apiKey: \"sk-...\",\n    layout: \"widget\",\n    headerTitle: \"BAWANA Assistant\",\n    headerDescription: \"Tanyakan apa saja tentang solusi digital Netpolitan.\",\n    primaryColor: \"#0ea5e9\",\n  });\n\n  chatbot.open();\n</script>\n```\n\n#### Inline `dropdown` panel\n\n```html\n<div id=\"course-chat\"></div>\n<script type=\"module\">\n  import { initChatbot } from \"@rizal_ncc/bawanachat\";\n\n  initChatbot({\n    apiKey: import.meta.env.VITE_OPENAI_API_KEY,\n    layout: \"dropdown\",\n    target: \"#course-chat\",\n    headerTitle: \"Course Mentor\",\n    headerDescription: \"Online • siap bantu\",\n  });\n</script>\n```\n\n### React Adapter\n\n```bash\nnpm install @rizal_ncc/bawanachat react react-dom\n```\n\n#### Floating widget (launcher + modal)\n\n```tsx\nimport { BawanaChatbot } from \"@rizal_ncc/bawanachat/react\";\nimport \"@rizal_ncc/bawanachat/style.css\";\n\nexport function App() {\n  return (\n    <BawanaChatbot\n      apiKey={import.meta.env.VITE_OPENAI_API_KEY}\n      headerTitle=\"BAWANA Assistant\"\n      headerDescription=\"Tanyakan apa saja tentang solusi digital Netpolitan.\"\n      suggestedMessages={[\n        \"Apa saja komponen BAWANA 3-in-1?\",\n        \"Bagaimana LXP BAWANA memanfaatkan AI?\",\n      ]}\n      primaryColor=\"#2563eb\"\n      primaryForeground=\"#f8fafc\"\n    />\n  );\n}\n```\n\n#### Inline widget/dropdown\n\n```tsx\nexport function CoursePage() {\n  return (\n    <section>\n      {/* ...course content... */}\n      <BawanaChatbot\n        floating={false}\n        layout=\"dropdown\"\n        className=\"mt-6\"\n        apiKey={import.meta.env.VITE_OPENAI_API_KEY}\n        headerTitle=\"Course Mentor\"\n        headerDescription=\"Online • siap bantu\"\n      />\n    </section>\n  );\n}\n```\n\nSetting `floating={false}` tells the adapter to render inside the JSX tree instead of creating a global launcher. You can still choose between `layout=\"widget\"`, `\"dropdown\"`, or `\"page\"` to control how the inline version looks.\n\n### Vue 3 Adapter\n\n```bash\nnpm install @rizal_ncc/bawanachat vue\n```\n\n```vue\n<script setup>\nimport { BawanaChatbot } from \"@rizal_ncc/bawanachat/vue\";\nimport \"@rizal_ncc/bawanachat/style.css\";\n\nconst apiKey = import.meta.env.VITE_OPENAI_API_KEY;\n</script>\n\n<template>\n  <BawanaChatbot\n    :api-key=\"apiKey\"\n    layout=\"dropdown\"\n    header-title=\"Course Mentor\"\n    header-description=\"Online • siap bantu\"\n    primary-color=\"#9333ea\"\n    primary-foreground=\"#faf5ff\"\n  />\n</template>\n```\n\n## ⚙️ Configuration\n\n| Option | Type | Default | Description |\n| --- | --- | --- | --- |\n| `apiKey` | `string` | – | OpenAI API key (required) |\n| `model` | `string` | `gpt-4o-mini` | Model to use for responses |\n| `baseUrl` | `string` | `https://api.openai.com/v1` | Override OpenAI endpoint |\n| `chatApiUrl` | `string` | – | OpenAI-compatible chat endpoint (use your backend proxy). Accepts a base URL or full `/chat/completions` path. |\n| `layout` | `\"widget\" \\| \"page\" \\| \"dropdown\"` | `widget` | `widget` creates a floating bubble, `page` keeps the chat always visible inline, `dropdown` renders a collapsible course-friendly panel |\n| `headerTitle` | `string` | – | Title displayed in chat header |\n| `headerDescription` | `string` | – | Subtitle in header |\n| `placeholder` | `string` | – | Input placeholder text |\n| `suggestedMessages` | `string[]` | `[]` | Prompt suggestions displayed before first message |\n| `userInitials` | `string` | `\"YOU\"` | Avatar initials for user bubbles |\n| `assistantInitials` | `string` | `\"AI\"` | Avatar initials for assistant bubbles |\n| `contextMessage` | `boolean \\| string` | `false` | Enable bundled BAWANA company context (`true`) or supply a custom string |\n| `primaryColor` | `string` | `#1168bb` | Primary accent used for the header, launcher, and motion effects |\n| `primaryForeground` | `string` | auto | Foreground color on top of the primary accent (auto-calculated for contrast) |\n| `temperature` | `number` | `0.6` | Sampling temperature |\n| `maxOutputTokens` | `number` | `512` | Maximum tokens in the model response |\n| `requestMode` | `\"auto\" \\| \"proxy\" \\| \"sdk\"` | `auto` | `auto` uses proxy when `chatApiUrl` is set; `proxy` forces backend calls; `sdk` forces direct SDK usage (server-side only). |\n| `recommendationsApiUrl` | `string` | – | Optional HTTP endpoint for course recommendations. When set, the model will use function calling to query this endpoint (expects repeatable `?q=` search params, e.g. `http://ncc-stg.api.bawana:8000/api/v2/course-recommendations/` so it can send a main query plus related keywords like leadership + management). |\n| `recommendationsHeaders` | `Record<string, string>` | – | Extra headers for the recommendation API (e.g., `{ Authorization: 'Bearer …' }`). |\n| `recommendationsAuthToken` | `string` | – | Convenience token to auto-set `Authorization: Bearer <token>` for the recommendation API. |\n| `generateResponse` | `(request) => Promise<{ content: string }>` | Built-in `callOpenAI` wrapper | Override the network transport (e.g. route through your API or mock in tests) |\n| `contextProfile` | `string \\| false` | `\"company-intro\"` | Select predefined context/policy bundle (set to `false` to disable) |\n| `systemPrompt` | `string` | – | Short system instruction prepended to conversation |\n| `systemMessages` | `{ content: string }[]` | `[]` | Additional system messages before user history |\n| `onMessage` | `(event) => void` | – | Fired after assistant replies |\n| `onError` | `(error) => void` | – | Fired when OpenAI call fails |\n| `onOpen` | `() => void` | – | Triggered when the widget opens |\n| `onClose` | `() => void` | – | Triggered when the widget closes |\n\n> React only: pass `floating={false}` to render the chat inline instead of the default floating widget.\n\n> Tip: If you need to customise the copy, `COMPANY_CONTEXT` is still exported so you can compose your own `systemMessages`.\n\n`generateResponse` receives an object that includes `messages`, the active `AbortSignal`, and a copy of the resolved config so you can talk to any LLM provider without touching the UI.\n\nNeed an inline course assistant? Pass `layout=\"dropdown\"` (plus `floating={false}` in React) and the widget renders as a collapsible panel (closed by default). The outer title/description become the trigger label, while the inner chat header stays hidden so the panel doesn’t feel double-stacked.\n\n## 🧩 Context Profiles & Policies\n\nContext profiles bundle prompts, company context, history limits, and light policy checks so each chatbot instance can focus on a specific surface (e.g., company introduction vs. course pages).\n\n- `company-intro` (default): answers general questions about Netpolitan Group/BAWANA.\n- `course-page`: keeps the conversation centred on one course/module and gently redirects off-topic queries.\n\nEach profile can enforce topic allow-lists and custom error messages. For example, the default profile refuses unrelated requests (\"please provide a noodle cooking tutorial\") so the assistant stays focused on BAWANA, while short greetings or exploratory prompts are still allowed. Prompts run through a lightweight classifier that tags them as `company`, `course`, `cooking`, `travel`, etc., so the chatbot can decline out-of-scope topics before hitting OpenAI.\n\n```js\nimport { classifyPrompt } from \"@rizal_ncc/bawanachat\";\n\nconsole.log(classifyPrompt(\"Bagaimana cara membuat bandeng goreng?\"));\n// [\"cooking\"]\n```\n\n```js\nimport { initChatbot, listContextProfiles } from \"@rizal_ncc/bawanachat\";\n\nconsole.log(listContextProfiles());\n\ninitChatbot({\n  apiKey: \"sk-...\",\n  contextProfile: \"course-page\",\n  systemMessages: [\n    { content: \"Course slug: digital-leadership\" },\n  ],\n});\n```\n\nSet `contextProfile: false` if you want to bypass the built-in bundles and manage prompts/policies yourself.\n\n## 🎨 Theming\n\nGive the chatbot your brand colours by passing `primaryColor` (and optionally `primaryForeground`). The widget header, launcher button, card shadow, and toggle animations all re-use the same CSS variables, so a single change keeps everything consistent.\n\n```js\ninitChatbot({\n  apiKey: \"...\",\n  primaryColor: \"#1d4ed8\",\n  primaryForeground: \"#f8fafc\", // optional – picked automatically if omitted\n});\n```\n\nIf you need access to the resolved palette (e.g. to sync surrounding UI), call `chatbot.getConfig()` – it returns the current config including the computed `primaryColor`, `primaryForeground`, and `primaryRgb` values.\n\n## 🧠 API Overview\n\n### `initChatbot(config: ChatbotConfig)`\n\nCreates a chatbot instance and mounts it into the provided container (or the `body` by default).\n\n```js\nconst chatbot = initChatbot({ apiKey: \"sk-...\" });\nchatbot.open();\nchatbot.sendMessage(\"Halo, BAWANA!\");\n```\n\n### `new ChatbotCore(config)`\n\nFine-grained control over lifecycle, events, and state.\n\n```js\nimport { ChatbotCore } from \"@rizal_ncc/bawanachat\";\n\nconst chatbot = new ChatbotCore({ apiKey: \"sk-...\" });\nchatbot.on(\"message\", ({ response }) => console.log(response.content));\nchatbot.init(\"chatbot-root\");\n```\n\n### `callOpenAI(options)`\n\nDirect access to OpenAI Responses API helper used internally.\n\n```js\nimport { callOpenAI } from \"@rizal_ncc/bawanachat\";\n\nawait callOpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n  messages: [\n    { role: \"system\", content: \"You are BAWANA AI.\" },\n    { role: \"user\", content: \"Apa saja fitur LXP?\" },\n  ],\n});\n```\n\n### Custom transports via `generateResponse`\n\nRoute traffic through your own backend, Azure OpenAI, or a mocked responder by passing `generateResponse` to any adapter or directly to `ChatbotCore`.\n\n```js\nconst chatbot = new ChatbotCore({\n  apiKey: \"placeholder\", // optional if your backend handles auth\n  generateResponse: async ({ messages, signal }) => {\n    const res = await fetch(\"/api/chat\", {\n      method: \"POST\",\n      signal,\n      headers: { \"Content-Type\": \"application/json\" },\n      body: JSON.stringify({ messages }),\n    });\n\n    const data = await res.json();\n    return { content: data.reply, usage: data.usage };\n  },\n});\n```\n\nBecause the transport is concentrated behind one function, local tests can inject a fake implementation that returns deterministic responses without hitting OpenAI.\n\n### `listContextProfiles()` / `getContextProfile(id)`\n\nInspect and reuse the shipped policy bundles.\n\n```js\nimport {\n  listContextProfiles,\n  getContextProfile,\n} from \"@rizal_ncc/bawanachat\";\n\nconst profiles = listContextProfiles();\nconst courseProfile = getContextProfile(\"course-page\");\n```\n\n### `createDialogueEngine(options)`\n\nBuild a profile-aware generator that you can pass into `ChatbotCore`'s `generateResponse` hook.\n\n```js\nimport { createDialogueEngine, ChatbotCore } from \"@rizal_ncc/bawanachat\";\n\nconst generateResponse = createDialogueEngine({ profileId: \"course-page\" });\n\nconst chatbot = new ChatbotCore({\n  apiKey: \"sk-...\",\n  generateResponse,\n});\n```\n\n## 🛠 Development\n\n```bash\nnpm install\nnpm run dev      # Vite dev server\nnpm run build    # Build library + types\nnpm test         # Vitest smoke tests for ChatbotCore\nnpm run preview  # Preview bundle locally\n```\n\nSet the following environment variables for local demos:\n\n```bash\ncp .env.example .env\nVITE_OPENAI_API_KEY=\"sk-...\"\nVITE_OPENAI_MODEL=\"gpt-4o-mini\"\n# Optional: VITE_OPENAI_BASE_URL=\"https://api.openai.com/v1\"\n```\n\n## 📚 Examples\n\nExample projects live in the `examples/` directory:\n\n- `examples/react` – React + Vite demo with runtime profile picker.\n- `examples/vue` – Vue 3 demo that toggles context profiles via `<select>` binding.\n- `examples/vanilla` – Browser-ready HTML example mounting the widget inline.\n\nEach framework example is a self-contained Vite project so you can run it without extra wiring:\n\n```bash\nnpm run build   # from repo root – produces dist/* for the adapters\ncd examples/react\nnpm install\nnpm run dev\n```\n\n```bash\nnpm run build   # from repo root – produces dist/* for the adapters\ncd examples/vue\nnpm install\nnpm run dev\n```\n\nFor the vanilla sample, open `examples/vanilla/index.html` in a browser (or serve it through `npx vite preview examples/vanilla`).\n\n> The React and Vue demos import compiled assets from `../../dist/*`, so always run\n> `npm run build` in the repo root before starting those dev servers. They also read\n> `.env` from the repository root (`envDir`), so set `VITE_OPENAI_API_KEY` there\n> once and both examples will pick it up.\n\nUse `npm link` or `npm pack` to validate integration locally:\n\n```bash\nnpm run build\nnpm pack\nnpm link\n```\n\n## 🚀 Publishing Checklist\n\n- [ ] Update `package.json` version\n- [ ] `npm run build`\n- [ ] `npm pack --dry-run` to inspect package contents\n- [ ] Update `CHANGELOG.md`\n- [ ] `npm publish --access public`\n- [ ] `git tag vX.Y.Z && git push --tags`\n\n## 🔐 Security & Quality\n\n- Keep API keys out of version control\n- Use GitHub Secrets for CI/CD tokens\n- Run `npm audit fix` regularly\n- Add automated lint/test workflows before production release\n\n## 📄 License\n\nReleased under the [MIT License](./LICENSE).\n","readmeFilename":"README.md"}