{"_id":"@1interface/embed","_rev":"20-6f9f8fa002e6feff5f8851536eb744ec","name":"@1interface/embed","dist-tags":{"moet":"0.7.0-moet.1","latest":"0.10.0"},"versions":{"0.1.0":{"name":"@1interface/embed","version":"0.1.0","license":"UNLICENSED","_id":"@1interface/embed@0.1.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"df08ff4fcfe0a5f7fbc0068006cf5b244659be2d","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.1.0.tgz","fileCount":10,"integrity":"sha512-KVHpCcwyBqjbEuV232mIjH5BwGdytJhxcyJyuE3tmvQC9G+ZMF6K3JYTKem63f2JbrjsLAHcNmE2EPRwWi2Jjw==","signatures":[{"sig":"MEQCIAvpG75Pk2sA0E+M2ux2n/IG6EdfgTL3TSjyLK1gctDOAiBBY4iOSQ5wPOVmWwKgDEg1m9ApP+lABkhLQPoDs8xBig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54215},"main":"./dist/embed.js","type":"module","_from":"file:1interface-embed-0.1.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","import":"./dist/embed.esm.js","default":"./dist/embed.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/15b53429909b5430a93101169a457574/1interface-embed-0.1.0.tgz","_integrity":"sha512-KVHpCcwyBqjbEuV232mIjH5BwGdytJhxcyJyuE3tmvQC9G+ZMF6K3JYTKem63f2JbrjsLAHcNmE2EPRwWi2Jjw==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.1.0_1786429425994_0.050114796117283866","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@1interface/embed","version":"0.1.1","license":"UNLICENSED","_id":"@1interface/embed@0.1.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"ad315c6d8b62b6bfdbfdda1c3eb7a0134c1129ea","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.1.1.tgz","fileCount":10,"integrity":"sha512-+LRe7G4PLMs1fhg1gjHFudA9sskWjg0iiKbTYbMglS5gu0VhVgBjCBi3joRF9Yx3BODk5ndropy69IUucYdztw==","signatures":[{"sig":"MEQCIHZTK6Ph2vlLtMmeWUE3BS3DGGoTSQkLcoGqYObICaHBAiBsDzRTbC888yucHK+NVh/4b4ffk0dffPYIVkye2CB6eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54215},"main":"./dist/embed.js","type":"module","_from":"file:1interface-embed-0.1.1.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","import":"./dist/embed.esm.js","default":"./dist/embed.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/f50d543e188d9e972bb03f43f6d7ca8c/1interface-embed-0.1.1.tgz","_integrity":"sha512-+LRe7G4PLMs1fhg1gjHFudA9sskWjg0iiKbTYbMglS5gu0VhVgBjCBi3joRF9Yx3BODk5ndropy69IUucYdztw==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.1.1_1786430329835_0.5629165636054205","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@1interface/embed","version":"0.2.0","license":"UNLICENSED","_id":"@1interface/embed@0.2.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"7278d4aba00b842ab775cee8602d4abb7e8c1425","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.2.0.tgz","fileCount":10,"integrity":"sha512-jRaHT4oVVRLsphtwvaTDXkInGefYtCwQDUDjjBRM1xtC8EqCxo8Mwg9Uj3QJ81GVEQyNDgUothm4zmia8v9Nfw==","signatures":[{"sig":"MEQCIGieKjqFwSFL9ZKdrGLK7U7/HfFRi+bCD4beRQrI7A0DAiBajwxFlRaIEneVKa+tRS6tOF54ENUPgWl+NzGXgfTXOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56678},"main":"./dist/embed.esm.js","type":"module","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"gitHead":"636535579f975b3fa9d0f39b034cf60ba955428e","private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.2.0_1786457477324_0.18239547519210797","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@1interface/embed","version":"0.2.1","license":"UNLICENSED","_id":"@1interface/embed@0.2.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"d11327b2c86c61c965f0902788416345b27365fd","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.2.1.tgz","fileCount":10,"integrity":"sha512-8RWx3WrQK/WZ0EYfW57phHlXULIvN8rKwG+Y9acMfOtwZBamr3k5l4uWxbS+irE4sbCjSa/UzQiwgw0iaXQ/5A==","signatures":[{"sig":"MEQCIEXl32xkUtdM/oCmWtrkga430+H5zwaerZ3TCbaQ8GtCAiAFGIp3eoamAXUFZPbLyI6z7Sfc+mlUKYSjV6bz/+LReA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58302},"main":"./dist/embed.esm.js","type":"module","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"gitHead":"285fbfaa59922a25448bacdfcf4b8974d3ff6b22","private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.2.1_1786463108925_0.16858929913210097","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@1interface/embed","version":"0.3.0","license":"UNLICENSED","_id":"@1interface/embed@0.3.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"dbd82a5d1dc680e92186e2080f84299cf7fffa61","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.3.0.tgz","fileCount":10,"integrity":"sha512-tcBSPwgkRvrWJykXVzC6vG0VAVZ1cYAoE7eOuQgznlngapur/zY80+757Zp8ivaW1Bt6fB6fn452kcTQiIGMLg==","signatures":[{"sig":"MEYCIQChO2nA+u8XV0/T4pqygYxODmQm/mPLV6gseVzq2a8zcQIhAPeumm9JItA/McaYRIhvN3gUkFR5a12gl1uvmsVbaML1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59104},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.3.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/aba8cde42bb99a4c7b225a8b4edb1833/1interface-embed-0.3.0.tgz","_integrity":"sha512-tcBSPwgkRvrWJykXVzC6vG0VAVZ1cYAoE7eOuQgznlngapur/zY80+757Zp8ivaW1Bt6fB6fn452kcTQiIGMLg==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.3.0_1786769955798_0.7416923986695028","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@1interface/embed","version":"0.3.1","license":"UNLICENSED","_id":"@1interface/embed@0.3.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"e27ceda68442a44113387b1546b402f14f5b10e2","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.3.1.tgz","fileCount":10,"integrity":"sha512-WHjsFnRDxTlxkbvSaMe0eyKliwsWUQOe14YUulYkB1CBywliuuhM6IKxQaYmR9572FtQCeboemZ0TdxqovA1dQ==","signatures":[{"sig":"MEQCIBH8rOfkqXNl/XkWG8rpaL7bZtr8fTGJugIV9x/2rmG6AiBCOsDHrAqADH5Mwbsf6CUZ0kLp2HwhmiFTZ7YoZcS5gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58806},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.3.1.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/cff590e1e97807a058fbdc4d82b57363/1interface-embed-0.3.1.tgz","_integrity":"sha512-WHjsFnRDxTlxkbvSaMe0eyKliwsWUQOe14YUulYkB1CBywliuuhM6IKxQaYmR9572FtQCeboemZ0TdxqovA1dQ==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.3.1_1786779576552_0.8152871481356068","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@1interface/embed","version":"0.3.2","license":"UNLICENSED","_id":"@1interface/embed@0.3.2","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"485c1c012d8e741029cdd81930a91060a921f304","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.3.2.tgz","fileCount":10,"integrity":"sha512-S5Sz/86tStj8KPzAJfo8BeVfgf85atJ0KyPwQH6E29On8bXLPCsorR1GwID884IXax6XSS0EF6nNN1iBm8CzYg==","signatures":[{"sig":"MEUCIGBnTxx9aawH3d1lr7G5tgn7yVJ7VECbq8PvfoBVG7s8AiEA++o0pcuSNrmLuNE/hc5CNQVA36k68fY9yPApbkaXzZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67419},"main":"./dist/embed.esm.js","type":"module","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"gitHead":"dae6f9e6a35358b1072099e4838534b9fcdd6f2f","private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat bubble. The loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app from a caller-supplied `appUrl`, and brokers appearance betwe","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.3.2_1786867797857_0.04500160390368846","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@1interface/embed","version":"0.4.0","license":"UNLICENSED","_id":"@1interface/embed@0.4.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"d1df84db7cd50e15a23b02bbdb6e8fef09a5bd8c","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.4.0.tgz","fileCount":12,"integrity":"sha512-30YjwGU1N/R5/C2Crv4hZe1pryk5KgjrNVA4D62JeBDflpZjQN/yNX4G398TluMJB9zfDj18HBPbIOoMtl9jjQ==","signatures":[{"sig":"MEUCIFjgpkMsMogo3bw/Fq+7qtglOVs1uaIarHXBSI/7EnMKAiEArw5HvXirYOlLVaqXcfJGrZPs9QfmdUGmKmDTv062nt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81444},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.4.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/1ee07b5ddbf957326668c12de5023b65/1interface-embed-0.4.0.tgz","_integrity":"sha512-30YjwGU1N/R5/C2Crv4hZe1pryk5KgjrNVA4D62JeBDflpZjQN/yNX4G398TluMJB9zfDj18HBPbIOoMtl9jjQ==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — the animated brand orb (the same one used in the app's splash and voice mode). `launcherColor` is the launcher's ground (set to match the orb's tone), so th","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.4.0_1787010574291_0.30647148957828163","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@1interface/embed","version":"0.5.0","license":"UNLICENSED","_id":"@1interface/embed@0.5.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"d5fca99e166c0132b7d0a269d4a167e3d958855a","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.5.0.tgz","fileCount":12,"integrity":"sha512-q3bhjO9xIFfnLOnY1ScQ/IR0Emo8v1xi7zWQqnpFwEla2MzfLkc7y7L7OqXqbtqK8yYSJI18Zc6Wp/5ajEHSQw==","signatures":[{"sig":"MEQCIAcSGpM3NK/LE3sL/0gJ530/zEohS9L244UAJ2XMnTG1AiB00/jk0B1S4iuHBRFmYWEGwupz6WMwK8jhFSRZwhnaGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85624},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.5.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/0142e7951f8c9b19689716e63d58c772/1interface-embed-0.5.0.tgz","_integrity":"sha512-q3bhjO9xIFfnLOnY1ScQ/IR0Emo8v1xi7zWQqnpFwEla2MzfLkc7y7L7OqXqbtqK8yYSJI18Zc6Wp/5ajEHSQw==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — the animated brand orb (the same one used in the app's splash and voice mode). `launcherColor` is the launcher's ground (set to match the orb's tone), so th","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.5.0_1787143948943_0.46112144445867287","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@1interface/embed","version":"0.5.1","license":"UNLICENSED","_id":"@1interface/embed@0.5.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"7f98275ee1cc328761030b7651a95d427fe43794","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.5.1.tgz","fileCount":12,"integrity":"sha512-vRMbeV88DthWHio9Q58HwYed7QvNUDWkEmzWX35ONw/TKjSk0pZ5bq0CDBhmlPsQPF7vziThpuSAoTVnxT+kYA==","signatures":[{"sig":"MEQCIHnhWhCplfA2LAd7n9FtvaFldrQFyeWBZ63vUOM3mFKxAiAvRZ2AfWIVDE02nB7Fkp2mOAEWEMP9XMLGjhv0t58/Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85624},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.5.1.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/c3e8fa7375c415760dfddd066027bab6/1interface-embed-0.5.1.tgz","_integrity":"sha512-vRMbeV88DthWHio9Q58HwYed7QvNUDWkEmzWX35ONw/TKjSk0pZ5bq0CDBhmlPsQPF7vziThpuSAoTVnxT+kYA==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — the animated brand orb (the same one used in the app's splash and voice mode). `launcherColor` is the launcher's ground (set to match the orb's tone), so th","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.5.1_1787153556171_0.022926129608266788","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@1interface/embed","version":"0.6.0","license":"UNLICENSED","_id":"@1interface/embed@0.6.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"51227ceb7dde1acca06a345a47fcad8a8b82620a","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.6.0.tgz","fileCount":12,"integrity":"sha512-MEO0dcRrnBt5xLyFGm0XHCLW/Tf60FTF79DEueRZ4PRceP7GFMpsuR+N7Pzc33zzj77CDoVUQG7Wj3EtBZvkvA==","signatures":[{"sig":"MEUCIFHmGQEcAHi1Wqw5K+UZEBlubt+SrvPmTjXlPGeynSmQAiEA/VQA02JUASgVkRmIMkWjQ4GQg719vs++0PdPmFq4iGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91746},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.6.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/0b59e4e58f8edbdd7203aa9aa831ac82/1interface-embed-0.6.0.tgz","_integrity":"sha512-MEO0dcRrnBt5xLyFGm0XHCLW/Tf60FTF79DEueRZ4PRceP7GFMpsuR+N7Pzc33zzj77CDoVUQG7Wj3EtBZvkvA==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.6.0_1787280353327_0.2579314672609876","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-moet.0":{"name":"@1interface/embed","version":"0.7.0-moet.0","license":"UNLICENSED","_id":"@1interface/embed@0.7.0-moet.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"fe9dfd7f7f385d4bbd087a9f7e6e997203592967","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.7.0-moet.0.tgz","fileCount":12,"integrity":"sha512-MJARV1ra5FuCZoU0GqT61+k6D5QfGN9xgxm3Fg1q+S9CGIcIzZViptWu9z4x5gLG0XBBK6WosyK549fGiB2mGA==","signatures":[{"sig":"MEUCIQC59gbxqTDxalETmDgyrqvnmxijz5lyoJulZKAhl4Pf7QIgWYHtLS9b+HWrqwpYeB3YmLpzKKhrOxonJLELDyfmw5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97892},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.7.0-moet.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"itsrehman14","email":"mohammed@aiatcore.com"},"_resolved":"/private/var/folders/g1/_06nt1m52gz28wns9dv0xdr00000gn/T/82bec76cdd55d591a5904c046f2fc11d/1interface-embed-0.7.0-moet.0.tgz","_integrity":"sha512-MJARV1ra5FuCZoU0GqT61+k6D5QfGN9xgxm3Fg1q+S9CGIcIzZViptWu9z4x5gLG0XBBK6WosyK549fGiB2mGA==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.16.0","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"26.3.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.7.0-moet.0_1788190358298_0.6693526881518372","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-moet.1":{"name":"@1interface/embed","version":"0.7.0-moet.1","license":"UNLICENSED","_id":"@1interface/embed@0.7.0-moet.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"bef3be563776c610d788e8f64c72e9f9e9bd4415","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.7.0-moet.1.tgz","fileCount":12,"integrity":"sha512-JGZElehcPWNhA26By6sr9OuNfGjq96KXEMrDlDT5Hgk4Hu8gnIjWMnZWAeLEGt3mlkxNxo6amTiPRmPy6H9r+Q==","signatures":[{"sig":"MEYCIQDpphKgRzxyAeKuQ6tntzel4+NP7Hl3hJEiEfwh9yqHcgIhALlymaQ1vpqjkZI75p9zDPfmntziNku5tcEp6atN0IsS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97892},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.7.0-moet.1.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"itsrehman14","email":"mohammed@aiatcore.com"},"_resolved":"/private/var/folders/g1/_06nt1m52gz28wns9dv0xdr00000gn/T/838851fc63a72af47c6cbc42dd52c2a1/1interface-embed-0.7.0-moet.1.tgz","_integrity":"sha512-JGZElehcPWNhA26By6sr9OuNfGjq96KXEMrDlDT5Hgk4Hu8gnIjWMnZWAeLEGt3mlkxNxo6amTiPRmPy6H9r+Q==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.16.0","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"26.3.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.7.0-moet.1_1788190621093_0.8641663396770609","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@1interface/embed","version":"0.7.0","license":"UNLICENSED","_id":"@1interface/embed@0.7.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"8c4ed3a37fc8d386a5cc340832f5e702ba6bf7ca","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.7.0.tgz","fileCount":12,"integrity":"sha512-/SCUmaZVn9WTout4oTJemN1ytD/kCDyqELlVpjoPn6IJxraIdx4aiHZBSj/iynJ0ofeunP5mkIBWhTpgWuKh2w==","signatures":[{"sig":"MEYCIQDWYdEzOYSVYQYaPkUZreAFxmbryGur5S43sQDrF+Fk2QIhAOaErOPt/zMIuvBwd/VbNxYoQJ9jaj3of8G7c9YjGGkk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97886},"main":"./dist/embed.esm.js","type":"module","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"gitHead":"826e8d3c676ca9cf773cedc2efa0146ee8de8447","private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.7.0_1788191603490_0.4245035978206497","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@1interface/embed","version":"0.8.0","license":"UNLICENSED","_id":"@1interface/embed@0.8.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"fcc7b58cde118395d86528b948a78c4eaf512a2f","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.8.0.tgz","fileCount":12,"integrity":"sha512-xFTanbS1/Efe5/TtF7y8pv+fNKrwVAdf53xmQpPAOGFV/OiRwgNKQ2cVc5k1gzmFHaX8ttVrD3v6V/yjmvGu3Q==","signatures":[{"sig":"MEYCIQD7aGnfBNKuPSazHJA5CtZo+ptygGC6v4D0P3AruW/xpAIhANiuI6osDdVLrh7Tl/NUZqLvQ7PNExdhHSIUcvN8Ljbl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97430},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.8.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"itsrehman14","email":"mohammed@aiatcore.com"},"_resolved":"/private/var/folders/g1/_06nt1m52gz28wns9dv0xdr00000gn/T/8ddc5035079d433040a75c1bc84fe22d/1interface-embed-0.8.0.tgz","_integrity":"sha512-xFTanbS1/Efe5/TtF7y8pv+fNKrwVAdf53xmQpPAOGFV/OiRwgNKQ2cVc5k1gzmFHaX8ttVrD3v6V/yjmvGu3Q==","deprecated":"Broken release - use 0.7.0 or 0.9.0+ once available","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.16.0","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"26.3.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.8.0_1788355570940_0.023752383305508218","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@1interface/embed","version":"0.9.0","license":"UNLICENSED","_id":"@1interface/embed@0.9.0","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"e1b03a361a9159c4110765c748d7a1ded7338dc6","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.9.0.tgz","fileCount":12,"integrity":"sha512-flIe0Jj4J2rqWauYiPDzJ0NpyyXstnFfmz0VOEzH9lkpqBBd+Df05iLRTHBNLpWGcXaiDRftxrUy3pwgjmlR7g==","signatures":[{"sig":"MEQCIExMLYjBBT7vsvgGi9UCX2g78GsIzR/Wx6h2/sWUICEvAiB+6tjmmw2n6aX6NQshy4Yeq5qF5FRtD16rnS40SvYEHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108561},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.9.0.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/17ca4d80733ef017590ff12fc32006d4/1interface-embed-0.9.0.tgz","_integrity":"sha512-flIe0Jj4J2rqWauYiPDzJ0NpyyXstnFfmz0VOEzH9lkpqBBd+Df05iLRTHBNLpWGcXaiDRftxrUy3pwgjmlR7g==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.9.0_1788441356506_0.9801132532119561","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@1interface/embed","version":"0.9.1","license":"UNLICENSED","_id":"@1interface/embed@0.9.1","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"homepage":"https://github.com/aiatcore/1interface-chat#readme","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"dist":{"shasum":"caa1171980ad9a0cdc6c0557026d96f78fa67cee","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.9.1.tgz","fileCount":12,"integrity":"sha512-m4vSO7sLtEocqIcSJLL9w9Lppo9m7CK2poTvl7RV6XaeYxS1fVng5iz9g/iMDjnOom3LQtgevnVQNZk+iqwhAw==","signatures":[{"sig":"MEQCIC4XC0DHj5OWg8BKfcnwieCL+KAi49byt+t8XkA395g7AiB5/wjqKY7wKW8PU7hTfQlbq9P7bBAk/RAVehvJRYyGUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109434},"main":"./dist/embed.esm.js","type":"module","_from":"file:1interface-embed-0.9.1.tgz","types":"./dist/lib.d.ts","module":"./dist/embed.esm.js","exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"private":false,"scripts":{"dev":"node scripts/build.mjs","test":"vitest","build":"node scripts/build.mjs && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"_resolved":"/private/var/folders/6y/4796nmdd65jdvh0xnf31j_j80000gn/T/07327f6829305d2586012b37abf1e75c/1interface-embed-0.9.1.tgz","_integrity":"sha512-m4vSO7sLtEocqIcSJLL9w9Lppo9m7CK2poTvl7RV6XaeYxS1fVng5iz9g/iMDjnOom3LQtgevnVQNZk+iqwhAw==","repository":{"url":"git+https://github.com/aiatcore/1interface-chat.git","type":"git","directory":"packages/embed"},"_npmVersion":"11.6.2","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","directories":{},"sideEffects":["./dist/embed.js","./dist/embed.min.js"],"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^27.4.0","vitest":"4.1.0","esbuild":"0.27.2","typescript":"~5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/embed_0.9.1_1788445192346_0.8132371892345376","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@1interface/embed","version":"0.10.0","type":"module","license":"UNLICENSED","private":false,"main":"./dist/embed.esm.js","module":"./dist/embed.esm.js","types":"./dist/lib.d.ts","sideEffects":["./dist/embed.js","./dist/embed.min.js"],"exports":{".":{"types":"./dist/lib.d.ts","default":"./dist/embed.esm.js"},"./embed.js":"./dist/embed.js","./embed.min.js":"./dist/embed.min.js"},"repository":{"type":"git","url":"git+https://github.com/aiatcore/1interface-chat.git","directory":"packages/embed"},"publishConfig":{"access":"public"},"scripts":{"build":"node scripts/build.mjs && tsc --emitDeclarationOnly","dev":"node scripts/build.mjs","typecheck":"tsc --noEmit","test":"vitest"},"devDependencies":{"esbuild":"0.27.2","jsdom":"^27.4.0","typescript":"~5.9.3","vitest":"4.1.0"},"gitHead":"069d08f31240f701a89df816d5313cea297922ef","_id":"@1interface/embed@0.10.0","description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"homepage":"https://github.com/aiatcore/1interface-chat#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-WYcDTez3uS/zOimJB7wTmLwgsk5GXDlPRJCJK5fwDqIkqYZQDFsay4anWlSFySTNFkH4M4OXin609ZGaAhPd+w==","shasum":"a948cdf3fac251e81f7b4a90b80c453d3c12238a","tarball":"https://registry.npmjs.org/@1interface/embed/-/embed-0.10.0.tgz","fileCount":12,"unpackedSize":117471,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA2bVD/WBDiXum5CtwyDaEo/++3FdaidTchUHBFB3psZAiB5wa4QYfstVlYSZFHN28Qo0+LQCccVy8JBYt8/JMP1Sg=="}]},"_npmUser":{"name":"tarikaac","email":"tarik@aiatcore.com"},"directories":{},"maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/embed_0.10.0_1788833989136_0.8873695392428889"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-11T06:23:45.795Z","modified":"2026-09-08T02:19:49.458Z","0.1.0":"2026-08-11T06:23:46.133Z","0.1.1":"2026-08-11T06:38:49.977Z","0.2.0":"2026-08-11T14:11:17.467Z","0.2.1":"2026-08-11T15:45:09.093Z","0.3.0":"2026-08-15T04:59:15.943Z","0.3.1":"2026-08-15T07:39:36.687Z","0.3.2":"2026-08-16T08:09:58.014Z","0.4.0":"2026-08-17T23:49:34.449Z","0.5.0":"2026-08-19T12:52:29.088Z","0.5.1":"2026-08-19T15:32:36.308Z","0.6.0":"2026-08-21T02:45:53.475Z","0.7.0-moet.0":"2026-08-31T15:32:38.427Z","0.7.0-moet.1":"2026-08-31T15:37:01.244Z","0.7.0":"2026-08-31T15:53:23.633Z","0.8.0":"2026-09-02T13:26:11.078Z","0.9.0":"2026-09-03T13:15:56.665Z","0.9.1":"2026-09-03T14:19:52.478Z","0.10.0":"2026-09-08T02:19:49.266Z"},"bugs":{"url":"https://github.com/aiatcore/1interface-chat/issues"},"license":"UNLICENSED","homepage":"https://github.com/aiatcore/1interface-chat#readme","repository":{"type":"git","url":"git+https://github.com/aiatcore/1interface-chat.git","directory":"packages/embed"},"description":"The `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's ","maintainers":[{"name":"rahulgopathi","email":"rahul@aiatcore.com"},{"name":"brendenaac","email":"brenden@aiatcore.com"},{"name":"tarikaac","email":"tarik@aiatcore.com"},{"name":"itsrehman14","email":"mohammed@aiatcore.com"}],"readme":"# @1interface/embed\n\nThe `<script>` a client pastes into their own website to get a floating 1Interface chat launcher — by default the animated brand orb (the same one used in the app's splash and voice mode). `launcher.color` is the launcher's ground (set to match the orb's tone), so the orb cuts in over it seamlessly while loading. Set `launcher.icon` to show a **static icon** (image URL, `data:` URI, or emoji) that **replaces the orb** — see [Static icon launcher](#static-icon-launcher).\nThe loader mounts a launcher button and a panel into an isolated shadow root, frames the chat app\nfrom a caller-supplied `appUrl`, and brokers appearance between the host page and the frame over\n`postMessage`.\n\n- **Zero dependencies**, ~5.9KB gzipped. It runs on a stranger's page with no bundler, no framework.\n- **We host `embed.js`; the client fills in placeholders.** The deliverable is a snippet, not an\n  `npm install`.\n\n> The client-facing paste artifact is [`snippet.html`](./snippet.html). This README is the full\n> integrator reference. The message-protocol internals live in [`CLAUDE.md`](./CLAUDE.md).\n\n## Quick start\n\nPaste both blocks into the page template, just before `</body>`. **Order matters** — the queue must\nbe declared before the async script (an async script can run before a later assignment).\n\n```html\n<script>\n  window.OneInterfaceChatQueue = [[\"init\", {\n    appUrl:                \"https://chat.1interface.com/YOUR_ORG_ID/chat\",  // provided by 1Interface\n    defaultAppearanceMode: \"system\"                 // \"light\" | \"dark\" | \"system\"\n  }]];\n</script>\n<script async src=\"https://chat.1interface.com/chat/embed.js\"></script>\n```\n\n`appUrl` is the full, ready-to-frame chat URL 1Interface hands you (`{origin}/{orgId}/chat`). The\nloader frames it verbatim and never assembles a path.\n\n### Attribute-only variant\n\nFor a CMS that strips inline `<script>` bodies, or a site whose CSP forbids `unsafe-inline`. Same\nresult, fewer options (see [Configuration](#configuration)).\n\n```html\n<script async src=\"https://chat.1interface.com/chat/embed.js\"\n        data-app-url=\"https://chat.1interface.com/YOUR_ORG_ID/chat\"\n        data-default-appearance-mode=\"system\"></script>\n```\n\n## Configuration\n\nAll options are optional except `appUrl`. Pass them in the `init` call (or as `data-*` attributes).\n\n### Connection & content\n\n| Option | Attribute | Type | Default | Notes |\n|---|---|---|---|---|\n| `appUrl` | `data-app-url` | string | — | **Required.** Full chat URL, framed verbatim. |\n| `defaultAppearanceMode` | `data-default-appearance-mode` | `\"light\"`\\|`\"dark\"`\\|`\"system\"` | `\"system\"` | Passed to the app on init. |\n| `layout` | `data-layout` | `\"classic\"`\\|`\"workspace\"` | `\"classic\"` | Chat layout for this placement; `workspace` renders a service rail beside the thread. |\n| `services` | — | `{ key, label, category?, prompt }[]` | `[]` | Workspace-rail entries; clicking one sends its `prompt`. Structured, so JS-only. |\n| `host` | `data-host` | string | — | Optional identifier the embedder announces in the `parent:init` payload (e.g. `\"control-panel\"`); the chat may tailor UI to a recognized host. |\n| `auth` | — | `{ getToken(): Promise<{ accessToken, expiresAt? }> }` | `null` | **Inherit auth only.** When the org's auth mode is `inherit`, the loader calls `getToken()` on every `chat:tokenRequest` and hands the token to the frame. `expiresAt` is epoch ms or an ISO 8601 string. Structured, so JS-only. Pair with `on(\"auth:error\", …)` + `retryAuth()` to recover a lapsed session (see [Recovering a lapsed session](#recovering-a-lapsed-session)). |\n\n### Launcher & layout\n\n| Option | Attribute | Type | Default | Notes |\n|---|---|---|---|---|\n| `label` | `data-label` | string | `\"Chat with us\"` | The widget's accessible name — launcher tooltip, panel `aria-label`, iframe `title`. Applies in every mode. |\n| `showLauncher` | `data-show-launcher=\"false\"` | boolean | `true` | `false` hides the floating bubble for a **custom trigger** — the corner popup still opens from your own `open()` call. Ignored when `container` is set (controlled mode never has a launcher). To dock the chat inline instead, use `container`. |\n| `container` | — | `HTMLElement` | `null` | Controlled mode: dock the chat into this element — **no launcher regardless of `showLauncher`**, always open. ESM/ bundled apps only. |\n| `launcher.color` | `data-launcher-color` | string | `\"#3B4FFE\"` | The bubble's ground — set it to the orb's tone so the orb cuts in seamlessly while loading. Also backs the icon bubble. |\n| `launcher.icon` | `data-launcher-icon` | string \\| `null` | `null` | **Primary visual — replaces the orb when set.** An image URL, a `data:` URI, or an emoji/short text. `null` shows the animated orb. A bad image URL falls back to the built-in bubble. See [Static icon launcher](#static-icon-launcher). |\n| `launcher.size` | `data-launcher-size` | number | `64` | Button diameter in px; the inner icon derives from it (~0.5). |\n| `position` | `data-position` | `\"start\"`\\|`\"end\"` | `\"end\"` | Which corner, by logical edge. Mirrors with the host page's `dir` — `end` is right in LTR, left in RTL. |\n| `offset` | `data-offset-bottom` (bottom only) | `{ side?, bottom? }` | `{ 24, 24 }` | Pixels from the edge. Raise `bottom` to clear an existing floating button. |\n| `zIndex` | — | number | `2147483000` | Stacking above the host page. |\n| `panel` | — | `{ width?, height? }` | `{ 360, 640 }` | Popup size in px. |\n| `expandable` | `data-expandable` | boolean | `true` | Show the in-chat Expand button that widens the desktop panel to a reading size. `false` hides it. No effect on mobile (a full sheet) or controlled mode. |\n| `openOnLoad` | `data-open-on-load` | boolean | `false` | Open the panel immediately. |\n| `preload` | — | `\"eager\"`\\|`\"idle\"`\\|`\"open\"` | `\"idle\"` | When to mount the iframe. |\n\n**Attribute-only limits:** `container`, `offset.side`, `zIndex`, `panel`, `preload`, and event\nhandlers are JS-only.\n\n### Static icon launcher\n\nSet `launcher.icon` to show a static icon **in place of** the animated orb — rendered immediately, no\nvideo, no loading shimmer.\n\n```js\nOneInterfaceChat.init({\n  appUrl: \"https://chat.1interface.com/acme/chat\",\n  launcher: { icon: \"https://acme.com/logo.svg\", size: 72 },\n});\n```\n\n- **Accepts** an absolute image URL, a protocol-/root-relative URL, a `data:` URI, or an emoji/short\n  text (`\"🤖\"`). A bare word is treated as text, not an image — image icons must be absolute,\n  root-relative, or a `data:` URI (there is no origin to resolve a relative path on the host page).\n- **Fallback.** If an image URL fails to load, the launcher falls back to the built-in chat bubble.\n- **`color`** still sets the ground behind the icon; a transparent logo shows it around the edges\n  (the icon uses `object-fit: contain`, never cropped).\n\n## JavaScript API\n\nThe script installs `window.OneInterfaceChat`. Because the tag is `async`, queue calls before load\nvia `window.OneInterfaceChatQueue`; the same calls work directly after load.\n\n```js\nwindow.OneInterfaceChatQueue = [\n  [\"init\", { appUrl: \"https://chat.1interface.com/acme/chat\" }],\n  [\"on\", \"chat:unread\", (p) => updateBadge(p.count)],\n];\n// after load:\nOneInterfaceChat.open();\n```\n\n### Global object\n\n| Member | Returns | Description |\n|---|---|---|\n| `init(options)` | instance | Creates the widget. Calling again destroys the previous one and recreates it. |\n| `instance()` | instance \\| `null` | The current live instance. |\n| `protocolVersion` | number | postMessage protocol version. |\n\n### Instance methods\n\n| Method | Returns | Effect |\n|---|---|---|\n| `open()` | void | Mounts the frame if needed, opens the panel, emits `open`. |\n| `close()` | void | Closes the panel, emits `close`. |\n| `toggle()` | void | Flips open/closed. |\n| `isOpen()` | boolean | Current panel state. |\n| `logout()` | void | Tells the frame to end the session. |\n| `retryAuth()` | void | `inherit` auth: after a silent re-auth, tells the frame to re-ask for a token and recover (no reload / \"Try again\"). No-op without `auth`. |\n| `on(type, handler)` | unsubscribe fn | Subscribe to an event; returns a remover. |\n| `destroy()` | void | Removes the DOM, listeners, and timers. |\n| `config()` | options | Snapshot of the resolved options in effect. |\n\n### Events\n\nSubscribe with `on(type, handler)`. `on(\"*\", …)` receives every event as `{ type, payload }`.\n\n**Loader lifecycle events:**\n\n| Event | Fires when |\n|---|---|\n| `open` / `close` | Panel opened / closed. |\n| `ready` | The chat acknowledged init (`chat:initAck`). Payload comes from the app. |\n| `error` | A loader failure — `{ code, message, cause }`. Codes: `missing-app-url`, `init-timeout`, `listener-failed`, `auth-not-configured`. |\n| `auth:error` | **Inherit auth only.** The frame reported the session is dead — `{ reason }` (`no_token` \\| `token_expired` \\| `token_rejected`). Re-authenticate the user, then call `retryAuth()` to recover (see [Recovering a lapsed session](#recovering-a-lapsed-session)), or clear your session. |\n\n`error` events are **buffered**: failures during construction are replayed to the first\n`on(\"error\")` subscriber, so late subscription still catches them (the buffer drains once).\n\n**Frame messages**, re-emitted verbatim by their own name (subscribe with the full `chat:` type):\n`chat:ready`, `chat:initAck`, `chat:close`, `chat:unread` (`{ count }`),\n`chat:conversationChange`, `chat:messagesChange`, `chat:logoutRequested`, `chat:branding`\n(`{ orbVideoUrl, orbBackground }`), `chat:authError` (`{ reason }`, also surfaced as `auth:error`).\n\n**Inherit auth wire messages:** under `inherit` auth mode the frame sends `chat:tokenRequest`\n(`{ requestId }`) and the loader replies `parent:token` (`{ requestId, accessToken, expiresAt }` or\n`{ requestId, error }`); `retryAuth()` posts `parent:retryAuth` (signal only). These are brokered by\nthe loader — you supply the `auth` option, listen for `auth:error`, and call `retryAuth()`; you never\nhandle the wire messages directly.\n\n### Recovering a lapsed session\n\nThe token you supply eventually stops working (it expires, or the session is revoked). The chat then\nstops asking and fires `auth:error`. **Only you can fix it** — the chat can't re-establish the login,\nonly re-ask you for a token — so recovery is a two-step handshake in your `auth:error` handler:\n\n```js\n[\"on\", \"auth:error\", async () => {\n  await myApp.reauthenticate();   // 1. fix your session — silent refresh, hidden SSO, or redirect\n  OneInterfaceChat.retryAuth();   // 2. tell the chat to re-ask getToken and resume where it left off\n}]\n```\n\nWithout step 2 the visitor is stranded on a \"session ended\" screen with a **Try again** button they\nmust press. `retryAuth()` makes recovery seamless — and it is the **only** way to auto-recover a\n**silent, in-page** re-auth (a full-page redirect reloads the frame and recovers on its own, so\n`retryAuth()` is then optional but harmless). It carries **no token** — the chat pulls the new one\nthrough `auth.getToken`, which must return the fresh token once you've re-authenticated. Safe to call\nany time; a no-op if `auth` is unset.\n\n## Bundled apps (ESM + controlled mode)\n\nAn app with a bundler (React/Angular, e.g. Control Panel) imports the loader instead of the script\ntag — no global, no queue:\n\n```js\nimport { createInstance } from \"@1interface/embed\";\n\nconst chat = createInstance({\n  appUrl: \"https://chat.1interface.com/acme/chat\",\n  container: myElement,  // controlled mode: dock the chat into your element (no launcher)\n});\n```\n\n**Controlled mode** (`container` set) renders the chat *inside* the element you pass, filling it,\nalways open — no launcher chrome, and `close()` / `toggle()`-to-closed are no-ops (the host owns the\nbox). Its `pointer-events` inherits from the container, so a host drag/resize that sets\n`pointer-events: none` reaches the iframe. In the default launcher mode, `open`/`close` drive the\nfloating panel as usual.\n\n## Requirements & caveats\n\n- **The widget mirrors with the host page's direction.** A `dir=\"rtl\"` page places the launcher and\n  panel on the left automatically — `position` is logical (`start`/`end`), so no per-language config.\n  Only the loader chrome mirrors; the chat *content* follows RTL when the chat app itself supports it.\n- **The chat app must allow being framed.** It must not send `X-Frame-Options: SAMEORIGIN`, and its\n  CSP `frame-ancestors` must list the client's origin. A locked-down deployment blocks the embed —\n  this is fixed at the deployment, not in the loader.\n- **The chat host must implement the frame half.** `defaultAppearanceMode` and the `chat:*`\n  events only take effect against a chat deployment that runs the frame side of the protocol\n  (`src/app/iframe/parentMessenger.ts` in the web client). The launcher, layout, and local\n  `open`/`close`/`error` work regardless.\n- **Renaming an option breaks every client who pasted the old snippet.** Keep this README,\n  `snippet.html`, and `src/types.ts` in step.\n\n## Build\n\n```bash\npnpm --filter @1interface/embed run build      # esbuild → dist/embed.js + embed.min.js (IIFE) + embed.esm.js (ESM), tsc → .d.ts\npnpm --filter @1interface/embed test\n```\n","readmeFilename":"README.md"}