{"_id":"@aparte/core","_rev":"60-6fbf91751897f250207dcfb09d65ddd7","name":"@aparte/core","dist-tags":{"latest":"0.17.0","alpha":"0.17.0","beta":"0.17.0"},"versions":{"0.2.0-alpha.0":{"name":"@aparte/core","version":"0.2.0-alpha.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.2.0-alpha.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"217befc987a8ffdba23356891c37a29851760638","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.2.0-alpha.0.tgz","fileCount":175,"integrity":"sha512-al8xr8vcnXFFSL2yitc7V+1MoK3GRgUEr5Ddw4y5KR1eWNNK3SCufDksqDiilkfoRhGkw6JzADyjx4aGZybJPg==","signatures":[{"sig":"MEUCIQCaLF/el9lv2qStL0ywidn5zdgruLY0RrBYH2nD60RTdgIgHBSG2mcNkaGOVhVx2Z6GI1QGP6K+Njxqu26FNsi3YPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2227163},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.2.0-alpha.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\1537619e989f859d3314e6cc802567ab\\aparte-core-0.2.0-alpha.0.tgz","_integrity":"sha512-al8xr8vcnXFFSL2yitc7V+1MoK3GRgUEr5Ddw4y5KR1eWNNK3SCufDksqDiilkfoRhGkw6JzADyjx4aGZybJPg==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.0-alpha.0_1784829245418_0.6475379948369002","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.0":{"name":"@aparte/core","version":"0.3.0-alpha.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.3.0-alpha.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"968964db34506c860c83a15e86d642c0a21fb748","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.3.0-alpha.0.tgz","fileCount":175,"integrity":"sha512-ge9xNoJpgW1sbVXbx2pQjZNJ8XGF88hLByOutdXu0B1pAezVjh7V35tKPBk2qznp3Sp4S0QrWpDSZbTJBsPv7Q==","signatures":[{"sig":"MEYCIQCaWrb4oDXB1fDewsvC7u/QVei4Icoj0oux5nxC1jPZQgIhAMULJsLQyZr1coGiuDaU3uBs347HAz3+VTSGyJ/W2086","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2234677},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.3.0-alpha.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\8ae8f279f4f930819739a208351ed4f7\\aparte-core-0.3.0-alpha.0.tgz","_integrity":"sha512-ge9xNoJpgW1sbVXbx2pQjZNJ8XGF88hLByOutdXu0B1pAezVjh7V35tKPBk2qznp3Sp4S0QrWpDSZbTJBsPv7Q==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.0-alpha.0_1787087656572_0.7417658574444694","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-alpha.0":{"name":"@aparte/core","version":"0.4.0-alpha.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.4.0-alpha.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"4af65049356c585d08b3d1c63622047aea8352cb","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.4.0-alpha.0.tgz","fileCount":179,"integrity":"sha512-mU7b9ahmd1g/QofBjgri1GkZXfKwxeh7aDqXvj1oEoWY4gJwJKgaQouRvJI2L3/x7msQoihTeAmDX1JIHYCw5Q==","signatures":[{"sig":"MEUCIQD98GUviGE63h8RyQGU4nYRcaz3vI6WNX0o9gkHD7gnagIgMq1E9PaTcC+4BS6LbgwvBQ0PvaxhmIMwBVml8IgqiXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2297107},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.4.0-alpha.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\33bcbb1b510c069faea17d8b60fe7c70\\aparte-core-0.4.0-alpha.0.tgz","_integrity":"sha512-mU7b9ahmd1g/QofBjgri1GkZXfKwxeh7aDqXvj1oEoWY4gJwJKgaQouRvJI2L3/x7msQoihTeAmDX1JIHYCw5Q==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.0-alpha.0_1787155891348_0.17828265848673563","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-alpha.0":{"name":"@aparte/core","version":"0.5.0-alpha.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.5.0-alpha.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"a06663222be9b001b1c0458b2e2fde83fa3f7ce5","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.5.0-alpha.0.tgz","fileCount":179,"integrity":"sha512-JwCAmA16Q+WgItDCo+guI6/g+BzGRebJyFcNWCJE7iXuwxaO+6RNXd3/Bd9S+y7mDiR5GP0CcqGNTKnWYW3KJA==","signatures":[{"sig":"MEQCIBaaAZ3YnLV5TyLJHVcIB8JU/ZRfm1Q+RZGSo4Jm1yduAiAV4GbfSbZEZF6mp6SJE2yewAMJ5wWMEXwJYYBRtofCiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2335668},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.5.0-alpha.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\30ba4eb191d83695400fe785f08a0953\\aparte-core-0.5.0-alpha.0.tgz","_integrity":"sha512-JwCAmA16Q+WgItDCo+guI6/g+BzGRebJyFcNWCJE7iXuwxaO+6RNXd3/Bd9S+y7mDiR5GP0CcqGNTKnWYW3KJA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.5.0-alpha.0_1787169841056_0.3074269261166349","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aparte/core","version":"0.6.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.6.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"fd44576cf6f356cafb395bf9d2b5a0279b0dcc53","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.6.0.tgz","fileCount":179,"integrity":"sha512-YXCStJFZIYTgon7U4UXkF95X/5hyPaQIq6qPz2aq3pEsh1NqJvpN6gxT+d3EQd0BF1NRZ8p8Nxlyl7SuwF9aXQ==","signatures":[{"sig":"MEQCIHcycF4HtRtrp9QFZ0g6kQE+LZlTp6kFp1LRvjaPRZ5rAiA3YAedhozBIMg3aMUPH2tJEJiRlJaaP8LcP8zPe6cpIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2335660},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\da8cb4cf211a2e27b604954e355b83e8\\aparte-core-0.6.0.tgz","_integrity":"sha512-YXCStJFZIYTgon7U4UXkF95X/5hyPaQIq6qPz2aq3pEsh1NqJvpN6gxT+d3EQd0BF1NRZ8p8Nxlyl7SuwF9aXQ==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.6.0_1787175081244_0.9190895996104074","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@aparte/core","version":"0.6.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.6.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"e19e5a45311df016b6720d53205afc6d7241ecc2","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.6.1.tgz","fileCount":179,"integrity":"sha512-6N/NNEiUIN7ho/MZ0FcLu/cZ2RzPyuskgT9niknK7OkrZ0Q3BDJg3ZY2SJhdNjp3HfHiFJepgbiduzDNKg5u0A==","signatures":[{"sig":"MEYCIQDQNBOPkhATdwLlExxMWCcXpltjAb99kWD1GE/qRHr+aAIhAMD2L8HFfjuHUFvM/Bv3W2WIT5Xk2N30+N5jvv4voKAK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2348960},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\6eaed736b2920974b00fc777d52aa78e\\aparte-core-0.6.1.tgz","_integrity":"sha512-6N/NNEiUIN7ho/MZ0FcLu/cZ2RzPyuskgT9niknK7OkrZ0Q3BDJg3ZY2SJhdNjp3HfHiFJepgbiduzDNKg5u0A==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.6.1_1787310482680_0.12956651988929746","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aparte/core","version":"0.7.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.7.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"b417e47f9631a598c43727ff7f46d9fb723b0a6d","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.7.0.tgz","fileCount":181,"integrity":"sha512-j1vg2yoYBXwZrUmmXf+itPvJr8rkrineSrS2+BCH7bsnII/u2euEA6zr5T7dNNKiQj85adBwChKDzLGpSDTQcw==","signatures":[{"sig":"MEQCICZ3zKIwhS4MJ3/cVSOmAcZqJDsTW/B6dv/ZYj3YmtFGAiA6i+/z+N9rWHW2Gf+hiYZpXsvUzcsT1h8T4VMAWFCzQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2388788},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\4741d296b005d235d2e53da4113f122b\\aparte-core-0.7.0.tgz","_integrity":"sha512-j1vg2yoYBXwZrUmmXf+itPvJr8rkrineSrS2+BCH7bsnII/u2euEA6zr5T7dNNKiQj85adBwChKDzLGpSDTQcw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.7.0_1787335740108_0.0025163264140553032","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@aparte/core","version":"0.7.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.7.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"6ec53f2d13fb5ea0e229b74e231a3b502a329ac4","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.7.1.tgz","fileCount":181,"integrity":"sha512-kj/V+XcFqvyWikXEJNNgPPIE/76PkcMlbtxj0f5p9qTqqfGeQJeknymoChuryZyc1RM+qLfBmpK/981jl8fN2w==","signatures":[{"sig":"MEYCIQD8EYn8maCJp42BkFASmkLHkMPqHjJciQeQDwhyDtH+YgIhALVTXNqAg2ETQjD8+Ld/53cDLczbT9SFi637W5Ygu3ju","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2389693},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.7.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./dist/index.css":"./dist/index.css"},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\44926c0935da5b2f82d30b4b08d7061b\\aparte-core-0.7.1.tgz","_integrity":"sha512-kj/V+XcFqvyWikXEJNNgPPIE/76PkcMlbtxj0f5p9qTqqfGeQJeknymoChuryZyc1RM+qLfBmpK/981jl8fN2w==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","vite-plugin-dts":"^4.5.4","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.7.1_1787345329549_0.3355515988177671","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aparte/core","version":"0.8.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.8.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"774a04f291af220256d14f10c906eeacdabfbfdd","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.8.0.tgz","fileCount":219,"integrity":"sha512-oPaY8iOBsXLF3QPor/ca+0udfj06Jvewu7Uw+hZBUObJIad4/bh+XK0IGR2Z/mQY3IZYs1JO2GrR6uI4lLnWRw==","signatures":[{"sig":"MEUCIQDzcSK26fHtP94BRUohmGmejyZxw35E/nnFs51DrYASTQIgJ41XKDHBNbI0bwFi+rWXtmmICG1JSv0fzyTZCYSt6S8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2798954},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\18cf58fc76a98134ef7e1ec5f1e15768\\aparte-core-0.8.0.tgz","_integrity":"sha512-oPaY8iOBsXLF3QPor/ca+0udfj06Jvewu7Uw+hZBUObJIad4/bh+XK0IGR2Z/mQY3IZYs1JO2GrR6uI4lLnWRw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.8.0_1787509610228_0.5349057855784458","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aparte/core","version":"0.9.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.9.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"5b186c7f9f9d4e552842f1ed3fdfe73badbe3105","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.9.0.tgz","fileCount":221,"integrity":"sha512-iHFEQy/JxFPmk07WrD3pshH8hYF9UQM5sKjLkzZRQc93kB8Ui+0hOpkOSjoKhm3xhRPYaM4PvoIdG47MIJOgEw==","signatures":[{"sig":"MEUCIQDBtTFxtLJZKh35FHCkURK807rqwm+sy/QaBmQXZHW39AIgOA+lRFlVIyfXn7zrs+BpJfEhyQYIIetO5KNK0B6xUT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2865760},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\ca306b4e1af60f8368c774026bd69f0e\\aparte-core-0.9.0.tgz","_integrity":"sha512-iHFEQy/JxFPmk07WrD3pshH8hYF9UQM5sKjLkzZRQc93kB8Ui+0hOpkOSjoKhm3xhRPYaM4PvoIdG47MIJOgEw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.9.0_1787523661220_0.10298217342801586","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aparte/core","version":"0.10.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.10.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"f9de82bc1772847c658f9558aa5d206812da1347","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.10.0.tgz","fileCount":221,"integrity":"sha512-6Akn9OZZ3+9/vgdNQy3WP+aF7IvAKfWXi2NxqILlid8OLZE1YwICpgtGXLzuVk1+3k9YF0R62Obn6Bv8rpim6g==","signatures":[{"sig":"MEUCIQDYYiKz7rweA+ZBnCHF5rrDHK9AQUHJ+yKgZ8i1sHH/vwIgDhpIkmjHFfSUs8Kcq3bAsOtZykWEEa3MANofevGMIe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2984622},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\b7ad046a6b57b44edc5b237365e62e49\\aparte-core-0.10.0.tgz","_integrity":"sha512-6Akn9OZZ3+9/vgdNQy3WP+aF7IvAKfWXi2NxqILlid8OLZE1YwICpgtGXLzuVk1+3k9YF0R62Obn6Bv8rpim6g==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.10.0_1787607983488_0.9141126451052581","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@aparte/core","version":"0.11.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.11.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"9739df90e6c620f92c1437a43eeaf9a6aee9fbc8","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.11.0.tgz","fileCount":225,"integrity":"sha512-PqqHUVRwiAeE+DEnpGzJAyh3XdDwI+H9Ff2rZO7HXGfqIi2KDaKZ52SglIyqOXmGfmmao42V+XAHpCR0FoRJ8g==","signatures":[{"sig":"MEYCIQDyDiyrXY3Ogae46tYrcTqV4OLd49BQn9AU0CSn0A20XwIhAK7xEdAG1WhmhIDctJ0irlsv1ZI56tneP5OdiNb8lPIz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3130903},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\a180c7b558950407de000d9b432d84ad\\aparte-core-0.11.0.tgz","_integrity":"sha512-PqqHUVRwiAeE+DEnpGzJAyh3XdDwI+H9Ff2rZO7HXGfqIi2KDaKZ52SglIyqOXmGfmmao42V+XAHpCR0FoRJ8g==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.11.0_1787684106349_0.1197387729368331","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@aparte/core","version":"0.12.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.12.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"ff42fca3cb73e993c91ac8e2482ed42cfe82f2f0","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.12.0.tgz","fileCount":227,"integrity":"sha512-jSVTZ0PyVfW8rQBA4dIs1oc1RLN7K0zUVoWs5aXfcJkKEt757ez92Yvuh4DNAFoyUv8we4vgZxpHt619vSD0Ig==","signatures":[{"sig":"MEUCIQCDd/jCc07Y4np7IqKsH4Nm8U376FrULY5e61uj05gsowIgKa3hS0X2ArG5YKXhtpXaI7AxSReDgrW/G3DF9vpSXGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3171027},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\f521775b1e46baeb0ee345b06bf70751\\aparte-core-0.12.0.tgz","_integrity":"sha512-jSVTZ0PyVfW8rQBA4dIs1oc1RLN7K0zUVoWs5aXfcJkKEt757ez92Yvuh4DNAFoyUv8we4vgZxpHt619vSD0Ig==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.12.0_1787693978145_0.4910468119828171","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@aparte/core","version":"0.12.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.12.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"bb8772f0fa0e818ad659890d4a0f6dfe8a09e30f","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.12.1.tgz","fileCount":227,"integrity":"sha512-o/qrVV7dqd2q2ozUiMxe0h5WZ2OjtSEwzA/mHZc1HtZ+/XThyJkWFafTsxTsq1jEX1D6FEGJT9NEMSlgG03NKw==","signatures":[{"sig":"MEUCIQDWrvXdvg/J4hxsRUrE0mU1ACLYymY5gf4Gm80Lec0wVAIgNDJhjYeNCC6nECCgMynZX9RJrT7xPJOxfSzcBCR6Xgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3177531},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.12.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\35e160fb9d4d923363e67d35ff8e9ce3\\aparte-core-0.12.1.tgz","_integrity":"sha512-o/qrVV7dqd2q2ozUiMxe0h5WZ2OjtSEwzA/mHZc1HtZ+/XThyJkWFafTsxTsq1jEX1D6FEGJT9NEMSlgG03NKw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.12.1_1787698303206_0.4942821676478484","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@aparte/core","version":"0.13.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.13.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"5f15b0ab5385ee51f0da5a506e2512eb2798641b","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.13.0.tgz","fileCount":243,"integrity":"sha512-xialZwyzmepbwXMW792rWsSmEU+XeDZ/R7sgWHN+n/lcs7ROOM/PV0KZdZnPJUDf8CiceG6InOsMu4lCAwLZCw==","signatures":[{"sig":"MEQCIFZLTWvLHs2nNVO0i1lPKNcTaXuF+04EiwSE2jS+1YdqAiAPddOBJAx3pk0XZn5TQD+jMLzyYESRt8iJfdYY7os7Mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3740515},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\0828be1a2e4368cb0fae29c0b777ab54\\aparte-core-0.13.0.tgz","_integrity":"sha512-xialZwyzmepbwXMW792rWsSmEU+XeDZ/R7sgWHN+n/lcs7ROOM/PV0KZdZnPJUDf8CiceG6InOsMu4lCAwLZCw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.13.0_1787871157476_0.31483692337157754","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@aparte/core","version":"0.13.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.13.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"a1dfcd01043d91ac8633a1d20bbcdf9831acd26e","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.13.1.tgz","fileCount":243,"integrity":"sha512-NtKdr8ZWVXiNiS9inLjwLdgaCN9e5y5xUeDCtgC8SI4tywGrc94cpiwYkzaDzqfm2fqj2akqeNTZTB8SKoooig==","signatures":[{"sig":"MEYCIQCD8NaIQeaJZF4wmVgCKP6E750u8CsH9fGDgJUP2uLG2gIhAIru60sUbRCrzJGyZftFy1pMUc/Lqnf45tVApraSXKEk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3751454},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.13.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\5dbee76da1d54394b8a4e4c09e1915a7\\aparte-core-0.13.1.tgz","_integrity":"sha512-NtKdr8ZWVXiNiS9inLjwLdgaCN9e5y5xUeDCtgC8SI4tywGrc94cpiwYkzaDzqfm2fqj2akqeNTZTB8SKoooig==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"High-performance AI conversation engine - Zero-dependency Web Components","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.13.1_1787882433283_0.17226268353738527","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@aparte/core","version":"0.14.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.14.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"253f5e683cad36300bb850aa2129d960e4f1cbcf","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.14.0.tgz","fileCount":245,"integrity":"sha512-aGCwOcYAPd3+pnehFdIEaVp6Oc23rcH+AAYTm8IY6SjFEUAuXAaaEiMXdiwu+xPlBwhRWZJqGKM1O7QSaZ+dww==","signatures":[{"sig":"MEYCIQDkUuWbW4yLhS+x5QsJ3GWbWEkZqBIa27WKA7VPrs3JjAIhAI2RqXnZZUGyfPqn3bMbHrdvwPn8m4iEjF5X0UoBOLdR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3712106},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\b169b7c5aba382336adb83f17a1151f3\\aparte-core-0.14.0.tgz","_integrity":"sha512-aGCwOcYAPd3+pnehFdIEaVp6Oc23rcH+AAYTm8IY6SjFEUAuXAaaEiMXdiwu+xPlBwhRWZJqGKM1O7QSaZ+dww==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.14.0"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.14.0_1787923940647_0.5687137549960257","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@aparte/core","version":"0.15.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.15.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"a3dfe792af0403bdd5cc0480bfc230487ac7c3c1","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.15.0.tgz","fileCount":245,"integrity":"sha512-cAi1Yb2Lg98xq0jTgJ/hVceDom2mClbKGtuWn+004ePm/xzf9WyrmhaxUcUxN0sUAxQwXCQrxG6Tnv8bGlg2jw==","signatures":[{"sig":"MEQCIBavp4pvtRA+f5CZpz/JsK6kOs1bsYaT2Rjgm4cPRZwdAiBHv9RExHC8j3T59kyfkuoYY1vt1pnMnzepHLBMj6WrWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3714161},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\01935fab77301b4a5e10ea5a9f37811e\\aparte-core-0.15.0.tgz","_integrity":"sha512-cAi1Yb2Lg98xq0jTgJ/hVceDom2mClbKGtuWn+004ePm/xzf9WyrmhaxUcUxN0sUAxQwXCQrxG6Tnv8bGlg2jw==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.15.0"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.15.0_1787928138398_0.5939346665245411","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@aparte/core","version":"0.15.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.15.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"a2488484711082d45d34e5c83e02137e8e5526b4","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.15.1.tgz","fileCount":245,"integrity":"sha512-HEpYe2vyvqUgQDZdTDO4Si3lzew57Wn7UQeDSEUrJnMR8T1yq77aI67cqcDb2nl8MynGQvNadW2FseE8lzxPBA==","signatures":[{"sig":"MEUCIQD6isOcBLhMgsWoSaOlV8aHRx0fyTVtceiXVFFYILVFngIgAUXTZxFo1z2ANP1o9j4umwI8i36hi4bZLViTY6scB/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3714739},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.15.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"}},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\eade87baf8c0975b474e14cdd02555f3\\aparte-core-0.15.1.tgz","_integrity":"sha512-HEpYe2vyvqUgQDZdTDO4Si3lzew57Wn7UQeDSEUrJnMR8T1yq77aI67cqcDb2nl8MynGQvNadW2FseE8lzxPBA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.15.1"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.15.1_1787932085951_0.9577221938441185","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@aparte/core","version":"0.16.0","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"dcbb447cb3b2d65e28e91fe518cc003befdbebc3","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.0.tgz","fileCount":259,"integrity":"sha512-9gHBeJ9ZcQSveUk39defrbI8QaC3GQ93PJAlV4MnZo+y6eUt4+JAje/2EhtcxlfD0YJIiSPYjmB0hfDk+ZMz4A==","signatures":[{"sig":"MEUCIQDGCPuvXoPkIQF10KBk4b1tdNc8oKkJU8kr9neEGZySigIgcZE9zYjRW1PvCi8bsMdrIf3pgNZZbuykmjs8ZoXRH+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4133314},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\0df8ff94fb0fee6968e00615e32b4fd5\\aparte-core-0.16.0.tgz","_integrity":"sha512-9gHBeJ9ZcQSveUk39defrbI8QaC3GQ93PJAlV4MnZo+y6eUt4+JAje/2EhtcxlfD0YJIiSPYjmB0hfDk+ZMz4A==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.0"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.0_1788037259922_0.3793361468893277","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@aparte/core","version":"0.16.1","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"c54f9f75f84329cbdd55687499bb5e9465f7679a","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.1.tgz","fileCount":259,"integrity":"sha512-mX/+zdgI7sonIlUPvcSJFWKAPWqFW/A1gTtm4Y9tz3Z6Wm45YjAT+F5EQKJ5t3c8TRoMSNxZ9Zoc/xnmHAwjww==","signatures":[{"sig":"MEYCIQDOWYPz1VAdKeLRpBkXKfjq++0Fyq/XyxfvM+Td3I9trQIhAPLlmO0o6ldleurkneNPaU46LlLHefwzx2obd6UWsxOn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4140720},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\b65630002151fb336b0c0e05f0dbdaec\\aparte-core-0.16.1.tgz","_integrity":"sha512-mX/+zdgI7sonIlUPvcSJFWKAPWqFW/A1gTtm4Y9tz3Z6Wm45YjAT+F5EQKJ5t3c8TRoMSNxZ9Zoc/xnmHAwjww==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.1"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.1_1788052443277_0.32484985591998994","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@aparte/core","version":"0.16.2","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.2","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"0e3e3e33e6a44599769ec667fd10b7db7fb37b04","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.2.tgz","fileCount":259,"integrity":"sha512-YQL8A7mlZl28GllmVzDvvy95+xz1/Kcj/zolNrqsYmOQUBSjICfT4dbpFBObNo2+rMfHHN4/jtrpQyM4lqaqog==","signatures":[{"sig":"MEQCIFF9v/duF7sEPr01JLHPq/z5No+gUQb95Emv7aES2PNlAiAzUaqW74xdOo8/YSB7e6zy2+SLWmqYMGVuAGlVww+7Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4165226},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\5aafc027486cd4b50a759f8087092e24\\aparte-core-0.16.2.tgz","_integrity":"sha512-YQL8A7mlZl28GllmVzDvvy95+xz1/Kcj/zolNrqsYmOQUBSjICfT4dbpFBObNo2+rMfHHN4/jtrpQyM4lqaqog==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.2"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.2_1788094761676_0.3402023062682309","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"@aparte/core","version":"0.16.3","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.3","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"234474bf0f1b17cbad7e3079be5ac3d381e53e44","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.3.tgz","fileCount":259,"integrity":"sha512-DrbIBtT5LIZvi8MT/DiJ/W49R96yZtA1juLsI8gYTfdlz/vH+MFSpLj66BhQzraj2AvMb6x0hDi5aAC/U9wU1g==","signatures":[{"sig":"MEQCIA7p4lICDdQimvw1uAkypNJtRjfEKs6vhK+erZ7xCgEmAiBxevQAe4KZQ46mdcDUHaq2FWCZVwIMdwaxl8RKfMNlMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4165680},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\827e4a5a62f7d9cea8b2cf3ef6911ac3\\aparte-core-0.16.3.tgz","_integrity":"sha512-DrbIBtT5LIZvi8MT/DiJ/W49R96yZtA1juLsI8gYTfdlz/vH+MFSpLj66BhQzraj2AvMb6x0hDi5aAC/U9wU1g==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.3"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.3_1788104017282_0.524696290155177","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"name":"@aparte/core","version":"0.16.4","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.4","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"ec9c9fe91fe14cea5805e269623d8f4c84a2d5e5","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.4.tgz","fileCount":259,"integrity":"sha512-TGkxUIPGXhDvkijdKvoZdF15U/KL0mmlfEqpoqmeKSDIptDEKlApgkHuT+GdKizglPQSWv3m0A1EYXqEjBQuSQ==","signatures":[{"sig":"MEUCIDntbIlNLyXZLdL7jzDZSu6rPx+pGMp+xq6kaORWtBKXAiEAw4ke2rDIZJCK24q2DcRgimsvFBd7hU3g8ygdCMCCf0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4165680},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\51d446b1d17130a795943a25224213c1\\aparte-core-0.16.4.tgz","_integrity":"sha512-TGkxUIPGXhDvkijdKvoZdF15U/KL0mmlfEqpoqmeKSDIptDEKlApgkHuT+GdKizglPQSWv3m0A1EYXqEjBQuSQ==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.4"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.4_1788110696100_0.9470658130126415","host":"s3://npm-registry-packages-npm-production"}},"0.16.5":{"name":"@aparte/core","version":"0.16.5","keywords":["web-components","chat","ai","streaming","llm"],"license":"MIT","_id":"@aparte/core@0.16.5","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"5a36a50890606ccc37ee19a944e0341c0e9832ec","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.5.tgz","fileCount":259,"integrity":"sha512-pp3aEH5x2YJQvGFLXbRMr2JOAvtQx9Wzs6qg07FypvJ6LCPsgelDSYpj02V6bmrGvuIBFOihSi/47FPuE+hzCA==","signatures":[{"sig":"MEUCIQDBnWlHs0kB5BdeagsNzKAttcBWr+b2MJE0S5Upx6nuSQIgFlFV9xNljIq1ovaCXszKNbAgbFAVVEFWCnkA6InbmqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4195529},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\6740b6f8ef1de05e24d1beacd3f108ba\\aparte-core-0.16.5.tgz","_integrity":"sha512-pp3aEH5x2YJQvGFLXbRMr2JOAvtQx9Wzs6qg07FypvJ6LCPsgelDSYpj02V6bmrGvuIBFOihSi/47FPuE+hzCA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.5"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.5_1788122448667_0.1766690807659801","host":"s3://npm-registry-packages-npm-production"}},"0.16.6":{"name":"@aparte/core","version":"0.16.6","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.6","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://github.com/apartejs/aparte#readme","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"53f85b7b3dd5784e89b9cfd5a18d9e571623045c","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.6.tgz","fileCount":261,"integrity":"sha512-YK/rZlZd0MIAFQO67d6njdu8ccsupUabd7ObbjLdyqVSL7okH/AX1jj3EUH/5RfSIpS6P3w3c0sC+aEfch7AIA==","signatures":[{"sig":"MEYCIQDVmIPe2yW1uJIZyZIqGM2iQ8wYrHrPH37DPTMnLGTbvQIhAIJZEnRqrwrmQP38A5tECfnCyLzPoeNkl5S3FVP0fCJA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4200799},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\bc90a37bdc180122af2b05db042557b2\\aparte-core-0.16.6.tgz","_integrity":"sha512-YK/rZlZd0MIAFQO67d6njdu8ccsupUabd7ObbjLdyqVSL7okH/AX1jj3EUH/5RfSIpS6P3w3c0sC+aEfch7AIA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.6"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.6_1788127823524_0.297963075453082","host":"s3://npm-registry-packages-npm-production"}},"0.16.7":{"name":"@aparte/core","version":"0.16.7","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.7","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"04dfdb81bbc9435fce0a29d22494b8875a395e00","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.7.tgz","fileCount":261,"integrity":"sha512-oD6MNMcc/iXQjMWJAl8dTafmiQaUHuFLQgHoupFwRXeDa1gia5KMpEp4ABHWFuL5rBmp5jRAQTBKRHkMpEIfNQ==","signatures":[{"sig":"MEUCIGVk8ZZNqXYx2yMjhzyJuZsAZoN14CQilk2fAZPQiJxiAiEAklsPjCBnZoj+9EFh9sFYVEPmywqevPYoYKbuT8RLuKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4208687},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\65ba66404ccf0efdf711622a3f644aba\\aparte-core-0.16.7.tgz","_integrity":"sha512-oD6MNMcc/iXQjMWJAl8dTafmiQaUHuFLQgHoupFwRXeDa1gia5KMpEp4ABHWFuL5rBmp5jRAQTBKRHkMpEIfNQ==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.7"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.7_1788140984644_0.9087640183956149","host":"s3://npm-registry-packages-npm-production"}},"0.16.8":{"name":"@aparte/core","version":"0.16.8","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.8","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"33cd6fdda876f01be6560e51f6c79f8f8eb64fc0","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.8.tgz","fileCount":261,"integrity":"sha512-fYffgwRf7PpZyOmHLpv5V4pWPOjLwaQIcQkfapEwyX6lv/fv5i7O3hlLjOWRtpPB0TRaPakOGNANrcZVwGOBcA==","signatures":[{"sig":"MEUCIFzt3pcxHh1A0Cj4SiGr/ieWN4NrsSMD26wgNC5kiUiRAiEApYe58T3juWB2V6oz2zlWRmJUdao488CmgZdDGFqj9qw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4287827},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\1eea1f7c532880b7e739bf5c3c692fea\\aparte-core-0.16.8.tgz","_integrity":"sha512-fYffgwRf7PpZyOmHLpv5V4pWPOjLwaQIcQkfapEwyX6lv/fv5i7O3hlLjOWRtpPB0TRaPakOGNANrcZVwGOBcA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.8"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.8_1788343020335_0.7325132519692956","host":"s3://npm-registry-packages-npm-production"}},"0.16.9":{"name":"@aparte/core","version":"0.16.9","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.9","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"66c1aecf42e14deea98a81e5d0a8b4b8ea266a72","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.9.tgz","fileCount":261,"integrity":"sha512-oWZskQzUNguZNWGd67Uehq1OZjO6uZvr2/5Ydz6ao8GIlZLFD01oBKpiZreVxlIiKTjlNEMvB9lJVGMqsDU98g==","signatures":[{"sig":"MEYCIQC7ijjcY3+v2TgpNgMjlVp4R1ESbMk7LVooCwPTZCtbVQIhAIvQdqKug/kuU/z6RDArKzZgp1103oZTAkb6vAp+Cwuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4352545},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\324651d4c61511757ef40247ccd25177\\aparte-core-0.16.9.tgz","_integrity":"sha512-oWZskQzUNguZNWGd67Uehq1OZjO6uZvr2/5Ydz6ao8GIlZLFD01oBKpiZreVxlIiKTjlNEMvB9lJVGMqsDU98g==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.9"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.9_1788373708210_0.011418056405765986","host":"s3://npm-registry-packages-npm-production"}},"0.16.10":{"name":"@aparte/core","version":"0.16.10","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.10","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"fe8f9bdd57e22fe82c0822d66faba48ce7cb15f0","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.10.tgz","fileCount":261,"integrity":"sha512-XkL+8s+xwkiYcZLuerXJob8FlULmqr0/JlfdjQ2KN1YimKT8GlIJvMum7aIonGKZVHxA2bxtxZxtLe8MaLtAXg==","signatures":[{"sig":"MEYCIQCkB1+83oq+bojHSw3cnaAFVS5uhltwwW3u5NcknhtkUwIhAJ4fkE6cNL/WBcJp76eTkOl9YZnwhD5uexlB5bKgSbu0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDqxKpcEzkWQZLpMJRUnoNbs4yZd4y6EYzMONKniaGS4AIgQsHC8aoXUi6eQjQQgeGuNklVokpLGsDF7VsKAfQuHmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4414959},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\d7a7e8a0b9c20a063a1414b4bd068585\\aparte-core-0.16.10.tgz","_integrity":"sha512-XkL+8s+xwkiYcZLuerXJob8FlULmqr0/JlfdjQ2KN1YimKT8GlIJvMum7aIonGKZVHxA2bxtxZxtLe8MaLtAXg==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.10"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.10_1788603558763_0.6586124424177655","host":"s3://npm-registry-packages-npm-production"}},"0.16.11":{"name":"@aparte/core","version":"0.16.11","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"license":"MIT","_id":"@aparte/core@0.16.11","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"47e2ac5c58c6dcd11a23822c85a4c3b58af87c90","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.16.11.tgz","fileCount":261,"integrity":"sha512-MiBdKVpyHNDTMX273XZ4ouh6Fe+SUtaj2ckWWDM13vVqhpGLZJA0/NgRAkI+rsCy9yNMnjV6yyZxiPJhhIhZvg==","signatures":[{"sig":"MEYCIQCfb7V8wiOtgY4oiEWY6RNRkUxm7EakKvEGn05tbA5L5gIhAOlZkgeuU5r3PvQLyw+Dukxt76sNzFOr8W2KsyGkteAw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEUQ1UxFZAHLFlnQsTbgbNpp2YmjCqvkT8Xbia/IUij8AiEA3BBG3dkDUB4mflMQE2zlLuF8NUffXJmFFMEpNfbSIdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4415115},"main":"./dist/index.js","type":"module","_from":"file:aparte-core-0.16.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\e793f694c2cca203e77da8e4d71b45e4\\aparte-core-0.16.11.tgz","_integrity":"sha512-MiBdKVpyHNDTMX273XZ4ouh6Fe+SUtaj2ckWWDM13vVqhpGLZJA0/NgRAkI+rsCy9yNMnjV6yyZxiPJhhIhZvg==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.16.11"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.16.11_1788611120687_0.6561633571217056","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"_id":"@aparte/core@0.17.0","bugs":{"url":"https://github.com/apartejs/aparte/issues"},"dist":{"shasum":"8021e66f5d02bef7dc59c3182955ae55b3dd4e9b","tarball":"https://registry.npmjs.org/@aparte/core/-/core-0.17.0.tgz","fileCount":263,"integrity":"sha512-xZdtT/P4jT1QTatRdZcwJ8e/pMjtbpilEZ2/bbdoUtcYLFOAZePNL/P1Z0zpqVgCgk0SMWHe+pz62jiStOL3EA==","signatures":[{"sig":"MEYCIQD9AsdhKuS7oWvGdWcAS8PARPYDmC/UWxHCCmcJN1wd2QIhALpOMNa98TaCZ65NLFdIE3ZulEney4HjWYb/LnJroGUa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0QuuDDGqdm0Bk7d8n3dk+WZFaVoGU7/DKDOQbD7jY+AIgaJeERrNaT3sDCn9R/twxb2N2ioBa8L/7sqGk9H7k04I="}],"unpackedSize":4428499},"main":"./dist/index.js","name":"@aparte/core","type":"module","_from":"file:aparte-core-0.17.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"node":{"types":"./dist/index.node.d.ts","default":"./dist/index.node.js"},"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js","@aparte-workspace/source":"./src/icons.ts"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@aparte-workspace/source":"./src/index.ts"},"./styles.css":{"default":"./dist/index.css","@aparte-workspace/source":"./src/styles/bundle.css"},"./package.json":"./package.json"},"license":"MIT","scripts":{"dev":"vite","gen":"pnpm run analyze && node ../../scripts/gen-element-bindings.mjs packages/core --registry packages/core/src/generated","test":"vitest","build":"vite build && tsc -b --emitDeclarationOnly --force && node scripts/clean-declarations.mjs && pnpm run analyze","analyze":"cem analyze","preview":"vite preview","test:run":"vitest run","test:coverage":"vitest run --coverage"},"version":"0.17.0","_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"homepage":"https://apartejs.dev/","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"//exports":"READ THE ORDER: `@aparte-workspace/source` comes FIRST, but it only resolves for tooling configured with that custom condition (this repo's docs dev server + tsconfig.base). It is NOT what a consumer gets. Node resolves the `node` condition -> `dist/index.node.js`, the DOM-free entry; a bundler/browser gets `dist/index.js`. Reading `src/index.ts` because it sits at the top of this map means reading the BROWSER entry and concluding, wrongly, that the package needs a DOM in Node. `./browser` is the browser entry BY NAME, and the `.` map must keep resolving `node` first -- that is what makes `import @aparte/core` safe in Next.js, Nuxt, SvelteKit and Angular Universal. A test runner, though, is Node WITH a DOM (vitest + jsdom resolves the `node` condition), so it got the DOM-free entry, no <aparte-*> element upgraded, and there was no supported specifier to escape to: every wrapper in this repo had to alias @aparte/core at ../../core/src/index.ts, reaching into another package source. `./browser` is that specifier; do NOT reorder `.` instead. `./package.json` is exported because require.resolve(@aparte/core/package.json) throws without it, which is how a test config computes the path of a package it wants to alias.","_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\ee3675ecc22b495206eeda15bd0b8ebf\\aparte-core-0.17.0.tgz","_integrity":"sha512-xZdtT/P4jT1QTatRdZcwJ8e/pMjtbpilEZ2/bbdoUtcYLFOAZePNL/P1Z0zpqVgCgk0SMWHe+pz62jiStOL3EA==","repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"_npmVersion":"11.9.0","description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","directories":{},"maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"sideEffects":["./dist/index.js","./src/index.ts","**/*.css"],"_nodeVersion":"24.14.0","dependencies":{"@aparte/engine":"0.17.0"},"//sideEffects":"The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.","_hasShrinkwrap":false,"customElements":"dist/custom-elements.json","devDependencies":{"vite":"^6.0.0","esbuild":"^0.27.2","typescript":"^5.4.0","@types/node":"^22.0.0","@custom-elements-manifest/analyzer":"^0.11.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.17.0_1789237706357_0.2463516101698593"}}},"time":{"created":"2026-07-23T17:54:05.277Z","modified":"2026-09-12T18:28:26.672Z","0.2.0-alpha.0":"2026-07-23T17:54:05.600Z","0.3.0-alpha.0":"2026-08-18T21:14:16.705Z","0.4.0-alpha.0":"2026-08-19T16:11:31.521Z","0.5.0-alpha.0":"2026-08-19T20:04:01.213Z","0.6.0":"2026-08-19T21:31:21.411Z","0.6.1":"2026-08-21T11:08:02.927Z","0.7.0":"2026-08-21T18:09:00.285Z","0.7.1":"2026-08-21T20:48:49.696Z","0.8.0":"2026-08-23T18:26:50.470Z","0.9.0":"2026-08-23T22:21:01.397Z","0.10.0":"2026-08-24T21:46:23.695Z","0.11.0":"2026-08-25T18:55:06.538Z","0.12.0":"2026-08-25T21:39:38.360Z","0.12.1":"2026-08-25T22:51:43.421Z","0.13.0":"2026-08-27T22:52:37.696Z","0.13.1":"2026-08-28T02:00:33.466Z","0.14.0":"2026-08-28T13:32:20.830Z","0.15.0":"2026-08-28T14:42:18.621Z","0.15.1":"2026-08-28T15:48:06.121Z","0.16.0":"2026-08-29T21:01:00.100Z","0.16.1":"2026-08-30T01:14:03.506Z","0.16.2":"2026-08-30T12:59:21.859Z","0.16.3":"2026-08-30T15:33:37.448Z","0.16.4":"2026-08-30T17:24:56.269Z","0.16.5":"2026-08-30T20:40:48.861Z","0.16.6":"2026-08-30T22:10:23.776Z","0.16.7":"2026-08-31T01:49:44.841Z","0.16.8":"2026-09-02T09:57:00.509Z","0.16.9":"2026-09-02T18:28:28.406Z","0.16.10":"2026-09-05T10:19:18.882Z","0.16.11":"2026-09-05T12:25:20.849Z","0.17.0":"2026-09-12T18:28:26.484Z"},"bugs":{"url":"https://github.com/apartejs/aparte/issues"},"license":"MIT","homepage":"https://apartejs.dev/","keywords":["web-components","chat","ai","streaming","llm","chat-ui","ai-chat","chatbot","chat-component","custom-elements","framework-agnostic","react","vue","svelte","angular","agent","tool-calling","human-in-the-loop","openai"],"repository":{"url":"git+https://github.com/apartejs/aparte.git","type":"git","directory":"packages/core"},"description":"AI chat in Web Components, with the agent loop inside — zero third-party dependencies","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"readme":"# @aparte/core\n\n[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/@aparte/core)\n\nFramework-agnostic AI chat UI as **vanilla Web Components, with the agent loop inside** —\nzero third-party dependencies, ESM-only, usable in any framework or none.\n\n> **Alpha.** On npm, released in lockstep with every other `@aparte/*` package — the\n> version number is a plain `0.x` and the API can still change before the first stable\n> cut. Part of the [aparté](https://github.com/apartejs/aparte) monorepo; what changed\n> when is at [apartejs.dev/changelog](https://apartejs.dev/changelog/).\n\n## Install\n\n```bash\nnpm install @aparte/core\n```\n\n## Quick start\n\n```ts\nimport '@aparte/core';               // registers the <aparte-*> custom elements\nimport '@aparte/core/styles.css';    // theme variables + component styles\nimport { aparteGlobalConfig, AparteClient } from '@aparte/core';\n\n// Drop the shell in your HTML:  <aparte-chat placeholder=\"Ask anything…\"></aparte-chat>\n\n// Give it a provider + transport (see the docs), then construct the client and call\n// .start() — it echoes your user message, streams the reply into the conversation,\n// and listens for retry/edit. (Without .start(), nothing listens and nothing streams;\n// a host that appends its own user bubble passes `echoUserMessage: false`.)\nnew AparteClient().start();\n\n// The retry / edit buttons only do something with a host like the client above, so\n// core ships them off. One line turns them on:\naparteGlobalConfig.setBubbleActions({ retry: true, edit: true });\n```\n\n**No key yet?** `npm i @aparte/provider-scenario` and register\n`createScenarioProvider({ scenarios: showcase })` as the provider above: a real streaming\nreply — markdown, reasoning, a tool round-trip — with no backend and no network. It is\nwhat this repository's own examples run on, and the docs' live frames that answer.\n[Scenario provider](https://apartejs.dev/providers/ai/scenario/).\n\nThe built-in segment renderers install themselves the first time a segment needs one, so\nthere is nothing to call for text, code or thinking blocks to appear. Calling\n`registerDefaultRenderers()` yourself still works and makes the moment explicit.\n\n## Node / SSR\n\n`@aparte/core` imports cleanly on the server. A `node` export condition resolves to a\nDOM-free entry, so `import '@aparte/core'` works in Node, an Electron **main** process,\nor an SSR pass (Next / Nuxt / SvelteKit / Angular Universal) without a DOM shim:\n\n```ts\n// Node — same specifier, DOM-free entry\nconst { AparteClient, createAparteChatHandler, contentToText } = await import('@aparte/core');\n```\n\n**You keep** the client, the chat host, transports + `createAparteChatHandler`, the\nconversation/message runtime, config, parsers and every type. **You lose** the custom\nelements themselves — they extend `HTMLElement`, so they're browser-only, and\n`registerAllComponents()` is a safe no-op there.\n\nReading `src/index.ts` is misleading on this point: that's the *browser* entry (it defines\nthe custom elements), and the workspace resolves it first by design. The contract is\nenforced by `pnpm check:node-import`, which imports the built packages in real Node on\nevery CI run.\n\n## What's in it\n\n- **`<aparte-chat>`** — a drop-in shell (viewport + composer), or compose the primitives\n  yourself (`<aparte-chat-viewport>`, `<aparte-composer>`, `<aparte-chat-bubble>`, …).\n- **`AparteClient`** — an optional driver that turns composer events into a streamed reply,\n  and the host that makes the retry / edit buttons real: retry forks the conversation into a\n  **branch** (with a built-in `‹ 1/2 ›` picker), edit rewrites the message in place. Both\n  buttons are **off by default** — without a host they would answer to nobody — so switch\n  them on next to the client: `aparteGlobalConfig.setBubbleActions({ retry: true, edit: true })`.\n- **Transports** — `AparteDirectTransport` (browser → provider, BYOK / local model) or\n  `AparteBackendTransport` (browser → your endpoint, API key stays server-side).\n- **Theming** — restyle everything through `--aparte-*` CSS variables (Light DOM, no forking).\n- **Customization** — icons, render hooks, and a zoned action registry via `aparteGlobalConfig`.\n\nZero third-party dependencies (the agent loop, `@aparte/engine`, is the one first-party dependency): Markdown, syntax highlighting, etc. are **opt-in** providers you inject.\nESM-only (CJS consumers use `await import()`).\n\n## Docs\n\nFull guides and a generated API reference are at\n**[apartejs.dev](https://apartejs.dev/)** — Getting started, Theming, Customization,\nAttachments, Conversations & branching, Tools, Backend transport, Bring your own loop,\nThe agent engine, and Troubleshooting. Source under\n[`apps/docs`](https://github.com/apartejs/aparte/tree/main/apps/docs).\n\nThe two most-asked-for pages, directly:\n\n- **[Customization](https://apartejs.dev/guides/customization/)** — every render\n  hook, the action registry, the composer toolbar.\n- **[CSS variables](https://apartejs.dev/reference/css-variables/)** — the full\n  token catalogue, GENERATED from the stylesheet, so it cannot drift from it.\n\n(This package used to carry `CUSTOMIZATION.md` and `THEMING.md` alongside these.\nThey were never published — `files` is `dist`, `README.md`, `LICENSE` — nothing\nlinked to them, and both had drifted: one taught a `registerBubbleAction` that does\nnot exist, the other listed six `--aparte-bubble-*` variables that the stylesheet\nnever defined. A wrong orphan a coding agent finds by grepping the repo is worse\nthan no orphan, so they are gone rather than fixed twice.)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}