{"_id":"@dyyz1993/pi-web-ui","_rev":"33-d67595c2674319013dda6372d1cb8782","name":"@dyyz1993/pi-web-ui","dist-tags":{"latest":"0.74.56"},"versions":{"0.69.5":{"name":"@dyyz1993/pi-web-ui","version":"0.69.5","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.5","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"73b85b5286b84edba74169f7f5cb68c8f663fc08","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.5.tgz","fileCount":371,"integrity":"sha512-i6cdnKjwm9gpfyBmE6xJtmEBmiOtIzvjE/OLDbdNcgKpaIIpqoscnpXfRyMs23tjmsgTEfTtLt95V0dsCHAjXg==","signatures":[{"sig":"MEUCIB92oFszILFZSr4ZpEo7176PPUg8tjuAed/p5ds/oA8CAiEA/cqtheyqrb0Bfp74bg8/cQwpFroR+4Wl431sQbI3GbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"07f45d639ae519087802fbbecd2ba1752495ec54","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.5","@dyyz1993/pi-tui":"^0.69.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.5_1776931470801_0.39580018487735225","host":"s3://npm-registry-packages-npm-production"}},"0.69.6":{"name":"@dyyz1993/pi-web-ui","version":"0.69.6","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.6","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"30347cb73a429375c62a1ed799d8d19a376f7edb","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.6.tgz","fileCount":371,"integrity":"sha512-Ke5lK4iYx0OvqcXOsC+b/h2uffm9aq3MWmmaYGd4KKiMzmeSATqObIbyJp6Qh8zzamprKEwmZn4M6/6o7e2EkA==","signatures":[{"sig":"MEMCIBK9O/0N9vsdUn8m72+dT6iDhBSN7vmeRBPaE7DBm805Ah9L7SVWLTcHDXkPScJIFhWl1ciPmqE95uVffaRQsBVW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"b8dcfc082e553362cb65018734cf0a6e5b7a36aa","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.6","@dyyz1993/pi-tui":"^0.69.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.6_1776931781650_0.6471682953655626","host":"s3://npm-registry-packages-npm-production"}},"0.69.7":{"name":"@dyyz1993/pi-web-ui","version":"0.69.7","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.7","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"43d778906541e2f551567f3b66ca7af77456119c","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.7.tgz","fileCount":371,"integrity":"sha512-0DUK+pWZ7VOoxya9reTYKfDCnjQ7pfCNOJyZbZ889/eUQCCPHbQeO+UrP70XARAjJuYJDw0gxT1SCXZYawZKYQ==","signatures":[{"sig":"MEUCIFhhEDGY8AqMtcAnu3v4AnGrUAWzzhniZd4bDU/0Q3NzAiEA1RLscbUVDRcdiaOqcZCY+jsxyk+LFPqflksBxbvUcQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"385f62ef0c05c525cbf6ba79314b2b8d49a0baff","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.6","@dyyz1993/pi-tui":"^0.69.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.7_1776945612781_0.21208564001625319","host":"s3://npm-registry-packages-npm-production"}},"0.69.8":{"name":"@dyyz1993/pi-web-ui","version":"0.69.8","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.8","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"0b66ea4272cb9940bf519c4bd7915e976776d712","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.8.tgz","fileCount":371,"integrity":"sha512-ac8tVWV/zR98QDRMavzvu1Ka1o5wqBgQ6b9L1TeUKRQNCr/E3QPEPdytMwMnIkXEWAQeYVQ7RuYiIaF3D3ySeQ==","signatures":[{"sig":"MEYCIQCMt/Zef5Gc5swV7iP6HJj52lqKbnvIvL9CJtS2/ll7vQIhAN/lV6x8uyUkk+TTFTgLlpxJ017GCZlK3beEOiJEnSSs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"cdf0c59298c639210396f0283da2cd268d13eccd","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.6","@dyyz1993/pi-tui":"^0.69.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.8_1776946543864_0.9324694890747534","host":"s3://npm-registry-packages-npm-production"}},"0.69.9":{"name":"@dyyz1993/pi-web-ui","version":"0.69.9","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.9","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"46842aa8294eb8382d3474aa27d2d79dcfd817bc","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.9.tgz","fileCount":371,"integrity":"sha512-OxQs6RES3uXrmVP22bUE6M5wzJu55s5VbTbf/c6ebSm2zzIoYk3B48NtUvj87+8AiU+mb0GSZCZzGyYlfta14A==","signatures":[{"sig":"MEQCIC5Qj5Egm/ieVgVsIB3dIvvEZdPgOC8zRHCAOhpkt0XgAiA+qIgquA+c9XUCjLHjlwswXaTzB0h7xS/d0XJ21pehqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"8845c9d2f3bfd4f4e83c7057f0d447307e9e0146","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.6","@dyyz1993/pi-tui":"^0.69.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.9_1776958508731_0.3748882702036287","host":"s3://npm-registry-packages-npm-production"}},"0.69.10":{"name":"@dyyz1993/pi-web-ui","version":"0.69.10","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.10","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"4fe6dc675074505e1b34b8f76ca9049d818df6b6","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.10.tgz","fileCount":371,"integrity":"sha512-biNzqHP5YtfJ4nVVCstwsxIns3E2j8TLqyEld7Dc1iHzFNctmflxwxtp7J9RuB/0YuOjfK6oZGjSGe89lR+yaw==","signatures":[{"sig":"MEYCIQDhTpndrqoNrlRxKyJgecwzNgjpmJGgaKz/0or53LrrUwIhALRICb9F+yxemPQjiu65N8uRA5rLEX2h345jIYrivtEV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761861},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"57ce50ad12900533b41809e220dc45aa8224ece5","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.10","@dyyz1993/pi-tui":"^0.69.10"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.10_1777120516083_0.8774950813352176","host":"s3://npm-registry-packages-npm-production"}},"0.69.11":{"name":"@dyyz1993/pi-web-ui","version":"0.69.11","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.11","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"df93c767d5c1d903bc4004f368b322796352478a","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.11.tgz","fileCount":371,"integrity":"sha512-PlWlLYJVOw2yY2qW2HVMw9sJVyKx2jp5bBmO0mOOKRm/hu7fd+6OAxF0F1q6igYCkQPT3WmGQFbvQhX7i1pvdA==","signatures":[{"sig":"MEQCID4sidK8VYq7ZmVY8PmdMhELc85znNOvGfgbWsEHFXnLAiAkVm/Ctc8V78mBZMLta/P/KVa2Pot21HgffCrmeFyr/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761871},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"16200a35379f5b592231b12dd89be123c5420b09","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.11","@dyyz1993/pi-tui":"^0.69.11"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.11_1777204424136_0.8562809435669445","host":"s3://npm-registry-packages-npm-production"}},"0.69.12":{"name":"@dyyz1993/pi-web-ui","version":"0.69.12","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.12","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"698e71f219e458cbb926b2ae9df128ca98cc1aaf","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.12.tgz","fileCount":371,"integrity":"sha512-ZDADbs8+g3amIWPjubwzP+F/TlNkTnNdrllnIGSvP7xZtkbUV2qeaV3TmF5s4VNARGU7EfEJ4NNfZWau+t8/Eg==","signatures":[{"sig":"MEYCIQCvfkXM9998R0K0gucjKkQSJpRCeXD+n9BArsz32ItNRQIhANUYcDXCO7jd7UgBhLGcGqaKZqGwVpBBA13x4K8JaIDm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761871},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"d6c1a29c69482e8dd0f79af34e9535d503cbe3f3","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.12","@dyyz1993/pi-tui":"^0.69.12"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.12_1777206634398_0.3341273257908326","host":"s3://npm-registry-packages-npm-production"}},"0.69.13":{"name":"@dyyz1993/pi-web-ui","version":"0.69.13","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.13","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"58550828f3bc8a38436cf1cf59d34671871ecca9","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.13.tgz","fileCount":371,"integrity":"sha512-4U6buFJH+uNdju29MUuIDVAyHKlXtzzgJ1TaCAzWK3DqWSd6lUqVDLwwDpyr0cckDdpRfoo1BqkvoxG2aFFfmQ==","signatures":[{"sig":"MEUCIQC6q3e+cHMTplMeHGH2wGtFDRqBHcxKDGnBqJPUNsM1PgIgT/4V7tJUZB8xP+K3Jj1ymdOy5b4rEhg7uPA0yRi6Xss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761871},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"4e62e702f8727a5345a6dc982cf4f00a2981f627","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.13","@dyyz1993/pi-tui":"^0.69.13"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.13_1777468215584_0.08758522120268575","host":"s3://npm-registry-packages-npm-production"}},"0.69.14":{"name":"@dyyz1993/pi-web-ui","version":"0.69.14","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.14","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"33c9519f6860532fab5d7573338a6129a07770d5","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.14.tgz","fileCount":371,"integrity":"sha512-qvrmQLqPpVnE4yl5ISOjFj6pi6PTxQkeaPyD10rTYO7hdeDjths0GTHrC5ZpYDW5bvsALUyiCPNg8BShj2a3qA==","signatures":[{"sig":"MEUCIQDDEXsCPuOxNGasue678xbQEB6T0odWwAiK/aRNf7dmXgIgcskY2YE3JhM3HgJh64/K1/IMtgNkJ5pCzbhICzc4s/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761872},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"e7949d7cacf6a72b31b77a24b56ff8bea3a7101e","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.14","@dyyz1993/pi-tui":"^0.69.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.14_1777473046035_0.47396592491735756","host":"s3://npm-registry-packages-npm-production"}},"0.69.23":{"name":"@dyyz1993/pi-web-ui","version":"0.69.23","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.23","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"fdb9690db59b5b61d76ed407bfa8b1d78bcf07f2","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.23.tgz","fileCount":371,"integrity":"sha512-daFtuJ30ixKFCLY/dHLyu1glge1W81hXRQrHpcbbEN7p5PtyZytzd2igYSjmjpeiFSBM5VO8v+UOUx4Z0SBePQ==","signatures":[{"sig":"MEQCIGpFREVzu2WLkyhMRGjH4yRJ9C8Nvql1H3MKLipDR2KgAiAcvn/x5P4a2oE6JVF4gKeODaG2oDAgT1csMa10CPntMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761872},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"7ae1a8fe42576707e9c9a54b767f42cebb5ee74e","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.23","@dyyz1993/pi-tui":"^0.69.23"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.23_1777733178515_0.5018646988788997","host":"s3://npm-registry-packages-npm-production"}},"0.69.25":{"name":"@dyyz1993/pi-web-ui","version":"0.69.25","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.25","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"01b77e18f0687abb8adc55939d517c2e7e7c5887","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.25.tgz","fileCount":371,"integrity":"sha512-8N6SBY2w0xXrZ2akf179sKnF+N/7/F8Zz1AgB9V/3yI2bXPcIvCupnUBlTE+rHYcRpLDJUqNaNPsZpqyj9yobQ==","signatures":[{"sig":"MEYCIQDmQvBJabRhj1+w9K3xql0VSQNJatpNvMGy46Ma30FBwAIhAMNl3x/YO/2muljskWfJCvitxqO2+LTlHkBJx2fxxkvd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761899},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"5437b40958e73856546afca59fbc83131f67d271","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.25","@dyyz1993/pi-tui":"^0.69.25"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.25_1777864916952_0.6481628909352821","host":"s3://npm-registry-packages-npm-production"}},"0.69.24":{"name":"@dyyz1993/pi-web-ui","version":"0.69.24","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.69.24","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"879fce6102e1e68a50fe5d4aef34054b2f2c1d86","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.69.24.tgz","fileCount":371,"integrity":"sha512-CWhgwYBGCW7E4jAJ4dq7V3OKIxX8L5HGWOzPiSjUMB55duQEU+2A+mKlQCh/UK1HucZLf4v1AgQw2BO0vhlrYw==","signatures":[{"sig":"MEUCIFvKbnBt5P9iomOMYZO2qbRoC+7VcnR1QbMt4llEr3u8AiEAqTHI3/OUFuR4CH+TBmxn1cZrFg6wIq5+mVHfxE5LfWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761899},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"70818002c0501781f66c9aeb665639d2dbcbea75","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.69.24","@dyyz1993/pi-tui":"^0.69.24"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.69.24_1777868376187_0.2136498090945247","host":"s3://npm-registry-packages-npm-production"}},"0.70.0":{"name":"@dyyz1993/pi-web-ui","version":"0.70.0","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.0","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"1bada8c3fe3abd31dca3a7ab42f4e3957d1e8faf","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.0.tgz","fileCount":371,"integrity":"sha512-I4hTlJxfctdj+AgyIAnjaJI1SZWZ3KGSkUgX/zpZvdfzH4u8gjPXXOkrexztn8mjRRJret8zmj/ol6JlGdXwtQ==","signatures":[{"sig":"MEYCIQCmds3DLWrD7FoblQsB0K8MQkH5EWU9YIFx5UrS8eDkoQIhAOFe7lkusCZNC3a/l4gbDJq/DmieFLsSUAtHuYTv9bYw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761968},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"2d4422c4878ff31ea6986da21d77c2c6259a2ea1","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.0","@dyyz1993/pi-tui":"^0.70.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.0_1777941090550_0.04026729602007029","host":"s3://npm-registry-packages-npm-production"}},"0.70.1":{"name":"@dyyz1993/pi-web-ui","version":"0.70.1","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.1","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"9535265f797e117f8bafd613c5bf25dc8d71fce1","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.1.tgz","fileCount":371,"integrity":"sha512-WDsCPqegn4/mRSTQohOeJEsMCpR1ZiP2hbiIdrJiQs+pseLySI4fwei1SDF/Zi5el+nk570KkUkTIHnfny70Rg==","signatures":[{"sig":"MEQCIDqLVGb7bJZ0aKXni1s+KJ0hMiRNDwobYd/ppBLxFzqcAiBgkNI6SCS6PwQt3txKv3rh+SCRi8QOi2EPmZUiQOYKTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761968},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"936d16189a9bc1c6b3f1173add71a2159218bf0a","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.1","@dyyz1993/pi-tui":"^0.70.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.1_1777948237750_0.4660131301116852","host":"s3://npm-registry-packages-npm-production"}},"0.70.2":{"name":"@dyyz1993/pi-web-ui","version":"0.70.2","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.2","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"ea1e29fb87faf5f21337e076ddb6f018fe3adaa3","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.2.tgz","fileCount":371,"integrity":"sha512-YLczTjs4ZZkA3HoyBQzo8F6B0qRLbS9NiDDj0lMwn6pC19mskBtGP23OV42BvbtSn5AyJh+eQcXOwEpfshA9NQ==","signatures":[{"sig":"MEQCIGL9Em+wbQNN1wMDAmk/oy9yGfLdRWDatmqPXzegzvbfAiBT2S8vXTo2b94ym2QOg0nM4EvLTDts+BiqgV1W4Vj5fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761968},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"b8b4f0ab0bb59dceb50ba3315dc26b73807a1224","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.1","@dyyz1993/pi-tui":"^0.70.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.2_1777963434844_0.37296159654357175","host":"s3://npm-registry-packages-npm-production"}},"0.70.3":{"name":"@dyyz1993/pi-web-ui","version":"0.70.3","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.3","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"44b9aba520b685a1b8fb83b39830d05b2a41b568","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.3.tgz","fileCount":371,"integrity":"sha512-Qsaje/qXZD1xhXmQw7HR9iq/FtahJ1sXrHI8tDUcMyQfZfOMNc/zPVKloCpRiDjX+8jl3fZu8YpvVu45sS7K6g==","signatures":[{"sig":"MEYCIQDp7brYReQb+xDzU8aTBQY4Wl1LYDcGe44U0pnhTo9+mwIhANtA5lS6KQcvBELRA4ss9p0gc3v3qHYXwsgKaVrUXgSy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761968},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"dc9fb0c5ad2051e07c49a0aab71cb33ef2befd80","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.3","@dyyz1993/pi-tui":"^0.70.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.3_1777996066182_0.9757369820109045","host":"s3://npm-registry-packages-npm-production"}},"0.70.4":{"name":"@dyyz1993/pi-web-ui","version":"0.70.4","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.4","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"483e4560affc7a49841e998bfd4a46a88fa2bac8","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.4.tgz","fileCount":371,"integrity":"sha512-chHmjqHd2xwm9EGbqZ4qKoPjQI1yLHwczKw+DPF2j1MI1BNVoTrOmZKNsufXAyGRr4ZhqcV30TUDgn5UdQ5zcw==","signatures":[{"sig":"MEYCIQCqMIXyHN/atuwM36Z8MI8YirC7lOWT5lTeg+iNueKm0AIhALvbw1QTDQBxlkpfP3rOR7XY03EbpvjUuuWqMk1YR27P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1761994},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"3f6d903b07bad151c3abceec54e12b7267043680","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.4","@dyyz1993/pi-tui":"^0.70.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.4_1777998783577_0.8910610970230779","host":"s3://npm-registry-packages-npm-production"}},"0.70.6":{"name":"@dyyz1993/pi-web-ui","version":"0.70.6","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.70.6","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"804edf8586d2e2e36926e5794d1291a8032d2e55","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.70.6.tgz","fileCount":371,"integrity":"sha512-9+3et3JjD3DoXS/1AAk4nOyZPS0aTz4e0Nv7qjP7oTRlYZi2B7DfcxeaaFI/7nEibXLjuxzEdubRyJMWpmgJHg==","signatures":[{"sig":"MEQCIDGJp6kSEzEDtgXX5GfH0tFQIkGIzz8VOzuhQZqFFzn8AiAzI2eaTJAuvNWZ/4+Mh6slz3e8WcBI1DzZstxBjpSUFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1762020},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"36f5950453c84237780506f5a6cf364598f847c6","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsgo -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsgo -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.70.6","@dyyz1993/pi-tui":"^0.70.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.70.6_1778044498995_0.002699658204908806","host":"s3://npm-registry-packages-npm-production"}},"0.74.5":{"name":"@dyyz1993/pi-web-ui","version":"0.74.5","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.5","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"33765f0a986d762a8dc2d7de3e5f77f043518d18","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.5.tgz","fileCount":379,"integrity":"sha512-10xnwI68nA+mkApp7qLgQDAEB9bVXmZBatmrPlHcCNI61atsJUghoFa9drZuZuY5F2Z4OyzUXHc4ZsUM7Q49kw==","signatures":[{"sig":"MEYCIQDJYKVQi+4IM+8BjRCguRZGKfMvqoeU1xpH/Opc7FG3YwIhANcVwhUXT06iWMWMVj8vcpeh2JICmX16BpHDDsCoRwCQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773363},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"ae52f4df7bc8b8d1154b8c519e04a2c7a2f99142","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.5","@dyyz1993/pi-tui":"^0.74.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.5_1778346039415_0.43939683137120955","host":"s3://npm-registry-packages-npm-production"}},"0.74.6":{"name":"@dyyz1993/pi-web-ui","version":"0.74.6","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.6","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"3e3adf9590c5f0ec9669b36eaa84495fcf0b7e86","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.6.tgz","fileCount":379,"integrity":"sha512-xjTBcVx9HpTH0MbjDgR11skkmpYfaTG3CE5YAgPoefq1AKotlllaaanuta+ut0J4G7/eV7MvNbJ/TGqDD4D7Iw==","signatures":[{"sig":"MEUCIQD3n2dpNkh2adgvlPin8nYTaic0Mth9CC86DxMHw5mgHgIgeC94PrUriFcDTNzNB2bcj1601sAiZhwnOUVq4nBjHXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773363},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"ffd281006d10196f338be68bd71528a20288ad70","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.6","@dyyz1993/pi-tui":"^0.74.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.6_1778347109572_0.9809601221492432","host":"s3://npm-registry-packages-npm-production"}},"0.74.7":{"name":"@dyyz1993/pi-web-ui","version":"0.74.7","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.7","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"c61e1f39765f8d26528ffea2180098f344efa003","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.7.tgz","fileCount":379,"integrity":"sha512-XpoCDRV9ZvdT+IZmu/Xa1IgN4gnn8bbXjcHO4dcvnaxK0N5o397oy/qJlSFCFWDbPurSnoAc6mZf1s0k/o/TIw==","signatures":[{"sig":"MEYCIQDahL4/SXxnOZftLolZ+W+geemgX+DhR2SFiy0yT69JZQIhAMuhKc8g41pGJ3LLSTbB5Ai73eV2bzK/l+tgw7MXvHAf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773363},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"52ddd4c2159e41c18bc4cd04ee5a79b058e70b22","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.7","@dyyz1993/pi-tui":"^0.74.7"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.7_1778348034513_0.16127837547845636","host":"s3://npm-registry-packages-npm-production"}},"0.74.16":{"name":"@dyyz1993/pi-web-ui","version":"0.74.16","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.16","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"d49572ac8be426297ce2a9c4b244bf25e87f4419","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.16.tgz","fileCount":379,"integrity":"sha512-xLxsXcTTfSB/L+Og8fLi3hsnU6wT+13yb1stSmbTqlWrqWNAWbRV3gXd6rKcGaZokNaW86/vL1rZNnbUy0biGQ==","signatures":[{"sig":"MEYCIQDLwTXRb+/Yb/6m/mLwZKMk3T6XBTcmdViUIxV3ygjdIwIhAM+yz3VUjG8RushXxc1yjdKh+9x4cdhg3WNckZQieUiG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773367},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"0725406a1f5debfd1f5a261aa0d0755366469e82","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"10.9.7","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"22.22.2","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.16","@dyyz1993/pi-tui":"^0.74.16"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.16_1778531935936_0.14826711193116204","host":"s3://npm-registry-packages-npm-production"}},"0.74.21":{"name":"@dyyz1993/pi-web-ui","version":"0.74.21","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.21","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"e38fbca40ef1b64ce00262e4ea30762f6ab3702e","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.21.tgz","fileCount":379,"integrity":"sha512-fXbnYafDaBxZZLIOrZ5m7+hcdE3dtHp0Hr0OyKovyPrFXB5LrPK1OE1E/OUCw5kDOTjy0jG5lovDU0qLGa4ekA==","signatures":[{"sig":"MEYCIQDpJ/ASU8YLRAWYEV4T8ugenJvErI2wXmpHFvtoLHwJ6wIhAIk/hcq0dHFNi0WIeZY6f2V9n1IVXEQtBB96bCCXWAr6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773367},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"4c4fc2e41c022dfa686873948ab6f6de163fe643","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.21","@dyyz1993/pi-tui":"^0.74.21"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.21_1778725105960_0.936548909918564","host":"s3://npm-registry-packages-npm-production"}},"0.74.24":{"name":"@dyyz1993/pi-web-ui","version":"0.74.24","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.24","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"3cdf52081151c995d4ac2b48e8d8afc9a03b7f4e","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.24.tgz","fileCount":379,"integrity":"sha512-gc81Z/rDcSH2g11Zu2UqWC8o/vX72ybjue+Y1nyRmJ8H+4CWOIb4LA/AZCy1cm7AO5flKfclBwwaNaxlcADRpA==","signatures":[{"sig":"MEQCIBVgAdXsdbPrTm4NXQLXnNg83HxdOak32J/JGo2Uw2fAAiALHdf37qVS0OGzCmH9GE3bydk6a27bqhPszA1aK3rQPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"a25a2dfadeb55f5eb820f7a3743779cda0ba64bc","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.24","@dyyz1993/pi-tui":"^0.74.24"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.24_1778778283953_0.6995213003176102","host":"s3://npm-registry-packages-npm-production"}},"0.74.31":{"name":"@dyyz1993/pi-web-ui","version":"0.74.31","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.31","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"96f155bca3276bf80b23882de0b54af79922eab0","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.31.tgz","fileCount":379,"integrity":"sha512-Z/YpcaTsKQYyYe1/jBs999nl6BskCR+TxEKAWQi0R2jthEWZ5ucv+xG5c39uEc/wk8nGU9lsY0w//HXeqZ0Ggg==","signatures":[{"sig":"MEQCIDrZ0q7K7gRtki9U4b8a/cBRQ6O4NCIQI5bRU47GCf/+AiANdOiqVydeeXmhlNRLs2Rm8ab2/Zxzy3Yo/ViFRk2aMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"40127c1998f1890f002214f03b6fda31fcf13d57","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.31","@dyyz1993/pi-tui":"^0.74.31"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.31_1778876640944_0.7432384726557884","host":"s3://npm-registry-packages-npm-production"}},"0.74.32":{"name":"@dyyz1993/pi-web-ui","version":"0.74.32","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.32","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"a727af26eb9639354eacd56b0923da088a9df6e3","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.32.tgz","fileCount":379,"integrity":"sha512-9CQBKx3zDgpkFicdTAFdnHsrXW3nSM+kOeqka6KnqavXYPlgn8ooEO7/w1DCdIprzN76BOmH0zhCMQgZfUstyA==","signatures":[{"sig":"MEQCIGYhCHjMllgMjG25MjMUXX/7l9aa8/0nbgzS6txcdm4KAiBXbvP+nov8xMPHZzjJUMNih5oUNYsDANhLJXnrJY3uUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"59788d1aa9f35aa70e93560121bd43f5fc94964c","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.32","@dyyz1993/pi-tui":"^0.74.32"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.32_1778892358873_0.1915755716527252","host":"s3://npm-registry-packages-npm-production"}},"0.74.34":{"name":"@dyyz1993/pi-web-ui","version":"0.74.34","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.34","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"1015c6bd9af5598f14872d7f3a8e17bb061e6508","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.34.tgz","fileCount":379,"integrity":"sha512-mGqe+huomkotYp6R4BLBoyl8+7eyLtmBtjN15rErSiT84Effit1vb7xcKNddOqvpm8I34rwUrfXw7taTHXaQQA==","signatures":[{"sig":"MEUCIBjN73cjYrXt4NlVvTTINedJ9ubn6USVWH5ML3qUqxRTAiEA+ZU58pSfwNmO+vcnebUJ4UhnkSerrJnfLrFMLXJHs1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"cb4c3bed28c5e5597741b03a92abe88e4ba19b3c","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.34","@dyyz1993/pi-tui":"^0.74.34"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.34_1778893285136_0.39285432162080847","host":"s3://npm-registry-packages-npm-production"}},"0.74.35":{"name":"@dyyz1993/pi-web-ui","version":"0.74.35","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.35","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"a54dce7df4582dd573ff71f55ed0d1725281a2e9","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.35.tgz","fileCount":379,"integrity":"sha512-3pRD38TqwepbstxgvOsUnrFfaFWTNJaYi4C2jbqDQ2x+AcCmQhID/rAIasq5vzVuYy6eQD4t0x/f6rN7mr8YqA==","signatures":[{"sig":"MEUCIQCu0GaPzTb9yOSNciP7neSqNQkFR9gpmFUjCLmfVWEqyAIgKt2MgNj+K2Sfrotu5uo/35f+Yl9Ij7/p9hCxdo0oYYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773388},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"c3bf802521ec979fab20f6d7e2592c771ce8b44b","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.35","@dyyz1993/pi-tui":"^0.74.35"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.35_1778893832744_0.5737076771998344","host":"s3://npm-registry-packages-npm-production"}},"0.74.39":{"name":"@dyyz1993/pi-web-ui","version":"0.74.39","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.39","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"1d76521d171be6d09ee9973bcb9ea5cbcdf6f60d","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.39.tgz","fileCount":379,"integrity":"sha512-abJUy8jQJS9Ycsrh8I3sPsxl/1IF7FmBRmMd1D1/3aNS2e7SPVnOO2rpcgztz2uasGwOo0Dvq+3iCCDvNUsHUQ==","signatures":[{"sig":"MEYCIQCItS0sHSJIM33Cpax7YdNS+cAeeYOiyOvFt38cs8T3NAIhAMvYybZMrLfvRFod9Taky1txaYkxPAcAhmIHypqZvgTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773415},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"329d7ef01116c465c21628f58534a1f31256605f","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.39","@dyyz1993/pi-tui":"^0.74.39"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.39_1778895114378_0.026042638471105217","host":"s3://npm-registry-packages-npm-production"}},"0.74.50":{"name":"@dyyz1993/pi-web-ui","version":"0.74.50","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.50","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"4856428da51113977f8d1540674abe8462e8530d","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.50.tgz","fileCount":379,"integrity":"sha512-OZp5gpDAvZVQIdrbp/gcfX9kgyVRdPV5wbppWJQj3zGTN9XmJSh+lCGet4T5QubTtNHsr6NdAoIAErtThC4s1w==","signatures":[{"sig":"MEUCIDECtO1/bWd+2FM+xWxdhkQfqaaCxA76nvizNECW+CEEAiEA8e/gNPoFP0x9s9ReOSImFh9koWmsV1bGIAyKmAcM/es=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773456},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"be7d6eea64ecac5e09bc1716c8917272748efc07","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.40","@dyyz1993/pi-tui":"^0.74.40"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.50_1779067039309_0.9241432237907208","host":"s3://npm-registry-packages-npm-production"}},"0.74.53":{"name":"@dyyz1993/pi-web-ui","version":"0.74.53","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@dyyz1993/pi-web-ui@0.74.53","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"dist":{"shasum":"e9bfd13e969a209f2e45e1b125e3ca9068efc7cf","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.53.tgz","fileCount":379,"integrity":"sha512-BMYSsACogy1RSEMRtcCWj4DQ9YnelI9LG9eYvFrEPUe9NdGojSbAf1Ofyrn5aHbldGR3E5lieW83oXTAu8zRmA==","signatures":[{"sig":"MEUCID55QopbMKAF6U+nU4vLLjc4ILv+Rg8QqD6uIZ1vYhHpAiEAlOb/E9t5OdaxXaJAySUTBDkAYM/Te9Z5nWV7T/QPrgw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773540},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"gitHead":"6318cb207c3f4639e55b9218e66a0a416b43ac5d","scripts":{"dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit","clean":"shx rm -rf dist","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\""},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"_npmVersion":"11.6.2","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","directories":{},"_nodeVersion":"25.2.1","dependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","typebox":"^1.1.24","pdfjs-dist":"5.4.394","docx-preview":"^0.3.7","@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.53","@dyyz1993/pi-tui":"^0.74.53"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","concurrently":"^9.2.1","@tailwindcss/cli":"^4.0.0-beta.14","@mariozechner/mini-lit":"^0.2.0"},"peerDependencies":{"lit":"^3.3.1","@mariozechner/mini-lit":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web-ui_0.74.53_1779425062412_0.904886971080509","host":"s3://npm-registry-packages-npm-production"}},"0.74.56":{"name":"@dyyz1993/pi-web-ui","version":"0.74.56","description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./app.css":"./dist/app.css"},"scripts":{"clean":"shx rm -rf dist","build":"tsc -p tsconfig.build.json && tailwindcss -i ./src/app.css -o ./dist/app.css --minify","dev":"concurrently --names \"build,example\" --prefix-colors \"cyan,green\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\" \"npm run dev --prefix example\"","dev:tsc":"concurrently --names \"build\" --prefix-colors \"cyan\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\" \"tailwindcss -i ./src/app.css -o ./dist/app.css --watch\"","check":"biome check --write --error-on-warnings . && tsc --noEmit && cd example && biome check --write --error-on-warnings . && tsc --noEmit"},"dependencies":{"@lmstudio/sdk":"^1.5.0","@dyyz1993/pi-ai":"^0.74.56","@dyyz1993/pi-tui":"^0.74.56","typebox":"^1.1.24","docx-preview":"^0.3.7","jszip":"^3.10.1","lucide":"^0.544.0","ollama":"^0.6.0","pdfjs-dist":"5.4.394","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"},"peerDependencies":{"@mariozechner/mini-lit":"^0.2.0","lit":"^3.3.1"},"devDependencies":{"@mariozechner/mini-lit":"^0.2.0","@tailwindcss/cli":"^4.0.0-beta.14","concurrently":"^9.2.1","typescript":"^5.7.3"},"keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"author":{"name":"Mario Zechner"},"license":"MIT","gitHead":"2f7100a26f24889f28d29daa688c1c2df701645d","_id":"@dyyz1993/pi-web-ui@0.74.56","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-1Ns0BDgAT0eTWCRXZ5gZotMMPmwJ/9fQgRfI/QCqRyX3SUwv3GjCs14YhnnzgeNe7yKaN3rEj3q5snJ9OafWuA==","shasum":"09c1b2bea5823ff5a3c0c8b60f481bbb8f776b9f","tarball":"https://registry.npmjs.org/@dyyz1993/pi-web-ui/-/pi-web-ui-0.74.56.tgz","fileCount":384,"unpackedSize":1788023,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHrrNaNxRBxOM7jgr5YJS5VGIYsMsZje5i3KkY1p+mFAAiBEerqKDaScTMQXnzFINPU2N3tkCSKyDtwIGcv4Y+Q8/g=="}]},"_npmUser":{"name":"dyyz1993","email":"dyyz1993@qq.com"},"directories":{},"maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-web-ui_0.74.56_1779986782893_0.4909716969429505"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-23T08:04:30.739Z","modified":"2026-05-28T16:46:23.146Z","0.69.5":"2026-04-23T08:04:31.085Z","0.69.6":"2026-04-23T08:09:41.839Z","0.69.7":"2026-04-23T12:00:12.998Z","0.69.8":"2026-04-23T12:15:44.030Z","0.69.9":"2026-04-23T15:35:08.876Z","0.69.10":"2026-04-25T12:35:16.289Z","0.69.11":"2026-04-26T11:53:44.305Z","0.69.12":"2026-04-26T12:30:34.601Z","0.69.13":"2026-04-29T13:10:15.757Z","0.69.14":"2026-04-29T14:30:46.250Z","0.69.23":"2026-05-02T14:46:18.719Z","0.69.25":"2026-05-04T03:21:57.221Z","0.69.24":"2026-05-04T04:19:36.379Z","0.70.0":"2026-05-05T00:31:30.734Z","0.70.1":"2026-05-05T02:30:37.926Z","0.70.2":"2026-05-05T06:43:55.100Z","0.70.3":"2026-05-05T15:47:46.406Z","0.70.4":"2026-05-05T16:33:03.802Z","0.70.6":"2026-05-06T05:14:59.196Z","0.74.5":"2026-05-09T17:00:39.605Z","0.74.6":"2026-05-09T17:18:29.785Z","0.74.7":"2026-05-09T17:33:54.717Z","0.74.16":"2026-05-11T20:38:56.212Z","0.74.21":"2026-05-14T02:18:26.179Z","0.74.24":"2026-05-14T17:04:44.160Z","0.74.31":"2026-05-15T20:24:01.173Z","0.74.32":"2026-05-16T00:45:59.099Z","0.74.34":"2026-05-16T01:01:25.308Z","0.74.35":"2026-05-16T01:10:32.967Z","0.74.39":"2026-05-16T01:31:54.545Z","0.74.50":"2026-05-18T01:17:19.495Z","0.74.53":"2026-05-22T04:44:22.563Z","0.74.56":"2026-05-28T16:46:23.049Z"},"author":{"name":"Mario Zechner"},"license":"MIT","keywords":["ai","chat","ui","components","llm","web-components","mini-lit"],"description":"Reusable web UI components for AI chat interfaces powered by @dyyz1993/pi-ai","maintainers":[{"name":"dyyz1993","email":"dyyz1993@qq.com"}],"readme":"# @dyyz1993/pi-web-ui\n\nReusable web UI components for building AI chat interfaces powered by [@dyyz1993/pi-ai](../ai) and [@dyyz1993/pi-agent-core](../agent).\n\nBuilt with [mini-lit](https://github.com/badlogic/mini-lit) web components and Tailwind CSS v4.\n\n## Features\n\n- **Chat UI**: Complete interface with message history, streaming, and tool execution\n- **Tools**: JavaScript REPL, document extraction, and artifacts (HTML, SVG, Markdown, etc.)\n- **Attachments**: PDF, DOCX, XLSX, PPTX, images with preview and text extraction\n- **Artifacts**: Interactive HTML, SVG, Markdown with sandboxed execution\n- **Storage**: IndexedDB-backed storage for sessions, API keys, and settings\n- **CORS Proxy**: Automatic proxy handling for browser environments\n- **Custom Providers**: Support for Ollama, LM Studio, vLLM, and OpenAI-compatible APIs\n\n## Installation\n\n```bash\nnpm install @dyyz1993/pi-web-ui @dyyz1993/pi-agent-core @dyyz1993/pi-ai\n```\n\n## Quick Start\n\nSee the [example](./example) directory for a complete working application.\n\n```typescript\nimport { Agent } from '@dyyz1993/pi-agent-core';\nimport { getModel } from '@dyyz1993/pi-ai';\nimport {\n  ChatPanel,\n  AppStorage,\n  IndexedDBStorageBackend,\n  ProviderKeysStore,\n  SessionsStore,\n  SettingsStore,\n  setAppStorage,\n  defaultConvertToLlm,\n  ApiKeyPromptDialog,\n} from '@dyyz1993/pi-web-ui';\nimport '@dyyz1993/pi-web-ui/app.css';\n\n// Set up storage\nconst settings = new SettingsStore();\nconst providerKeys = new ProviderKeysStore();\nconst sessions = new SessionsStore();\n\nconst backend = new IndexedDBStorageBackend({\n  dbName: 'my-app',\n  version: 1,\n  stores: [\n    settings.getConfig(),\n    providerKeys.getConfig(),\n    sessions.getConfig(),\n    SessionsStore.getMetadataConfig(),\n  ],\n});\n\nsettings.setBackend(backend);\nproviderKeys.setBackend(backend);\nsessions.setBackend(backend);\n\nconst storage = new AppStorage(settings, providerKeys, sessions, undefined, backend);\nsetAppStorage(storage);\n\n// Create agent\nconst agent = new Agent({\n  initialState: {\n    systemPrompt: 'You are a helpful assistant.',\n    model: getModel('anthropic', 'claude-sonnet-4-5-20250929'),\n    thinkingLevel: 'off',\n    messages: [],\n    tools: [],\n  },\n  convertToLlm: defaultConvertToLlm,\n});\n\n// Create chat panel\nconst chatPanel = new ChatPanel();\nawait chatPanel.setAgent(agent, {\n  onApiKeyRequired: (provider) => ApiKeyPromptDialog.prompt(provider),\n});\n\ndocument.body.appendChild(chatPanel);\n```\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────┐\n│                    ChatPanel                        │\n│  ┌─────────────────────┐  ┌─────────────────────┐   │\n│  │   AgentInterface    │  │   ArtifactsPanel    │   │\n│  │  (messages, input)  │  │  (HTML, SVG, MD)    │   │\n│  └─────────────────────┘  └─────────────────────┘   │\n└─────────────────────────────────────────────────────┘\n                          │\n                          ▼\n┌─────────────────────────────────────────────────────┐\n│              Agent (from pi-agent-core)             │\n│  - State management (messages, model, tools)        │\n│  - Event emission (agent_start, message_update, ...)│\n│  - Tool execution                                   │\n└─────────────────────────────────────────────────────┘\n                          │\n                          ▼\n┌─────────────────────────────────────────────────────┐\n│                   AppStorage                        │\n│  ┌──────────┐ ┌──────────┐ ┌──────────┐             │\n│  │ Settings │ │ Provider │ │ Sessions │             │\n│  │  Store   │ │Keys Store│ │  Store   │             │\n│  └──────────┘ └──────────┘ └──────────┘             │\n│                     │                               │\n│              IndexedDBStorageBackend                │\n└─────────────────────────────────────────────────────┘\n```\n\n## Components\n\n### ChatPanel\n\nHigh-level chat interface with built-in artifacts panel.\n\n```typescript\nconst chatPanel = new ChatPanel();\nawait chatPanel.setAgent(agent, {\n  // Prompt for API key when needed\n  onApiKeyRequired: async (provider) => ApiKeyPromptDialog.prompt(provider),\n\n  // Hook before sending messages\n  onBeforeSend: async () => { /* save draft, etc. */ },\n\n  // Handle cost display click\n  onCostClick: () => { /* show cost breakdown */ },\n\n  // Custom sandbox URL for browser extensions\n  sandboxUrlProvider: () => chrome.runtime.getURL('sandbox.html'),\n\n  // Add custom tools\n  toolsFactory: (agent, agentInterface, artifactsPanel, runtimeProvidersFactory) => {\n    const replTool = createJavaScriptReplTool();\n    replTool.runtimeProvidersFactory = runtimeProvidersFactory;\n    return [replTool];\n  },\n});\n```\n\n### AgentInterface\n\nLower-level chat interface for custom layouts.\n\n```typescript\nconst chat = document.createElement('agent-interface') as AgentInterface;\nchat.session = agent;\nchat.enableAttachments = true;\nchat.enableModelSelector = true;\nchat.enableThinkingSelector = true;\nchat.onApiKeyRequired = async (provider) => { /* ... */ };\nchat.onBeforeSend = async () => { /* ... */ };\n```\n\nProperties:\n- `session`: Agent instance\n- `enableAttachments`: Show attachment button (default: true)\n- `enableModelSelector`: Show model selector (default: true)\n- `enableThinkingSelector`: Show thinking level selector (default: true)\n- `showThemeToggle`: Show theme toggle (default: false)\n\n### Agent (from pi-agent-core)\n\n```typescript\nimport { Agent } from '@dyyz1993/pi-agent-core';\n\nconst agent = new Agent({\n  initialState: {\n    model: getModel('anthropic', 'claude-sonnet-4-5-20250929'),\n    systemPrompt: 'You are helpful.',\n    thinkingLevel: 'off',\n    messages: [],\n    tools: [],\n  },\n  convertToLlm: defaultConvertToLlm,\n});\n\n// Events\nagent.subscribe((event) => {\n  switch (event.type) {\n    case 'agent_start': // Agent loop started\n    case 'agent_end':   // Agent loop finished\n    case 'turn_start':  // LLM call started\n    case 'turn_end':    // LLM call finished\n    case 'message_start':\n    case 'message_update': // Streaming update\n    case 'message_end':\n      break;\n  }\n});\n\n// Send message\nawait agent.prompt('Hello!');\nawait agent.prompt({ role: 'user-with-attachments', content: 'Check this', attachments, timestamp: Date.now() });\n\n// Control\nagent.abort();\nagent.state.model = newModel;\nagent.state.thinkingLevel = 'medium';\nagent.state.tools = [...];\nagent.followUp(customMessage);\n```\n\n## Message Types\n\n### UserMessageWithAttachments\n\nUser message with file attachments:\n\n```typescript\nconst message: UserMessageWithAttachments = {\n  role: 'user-with-attachments',\n  content: 'Analyze this document',\n  attachments: [pdfAttachment],\n  timestamp: Date.now(),\n};\n\n// Type guard\nif (isUserMessageWithAttachments(msg)) {\n  console.log(msg.attachments);\n}\n```\n\n### ArtifactMessage\n\nFor session persistence of artifacts:\n\n```typescript\nconst artifact: ArtifactMessage = {\n  role: 'artifact',\n  action: 'create', // or 'update', 'delete'\n  filename: 'chart.html',\n  content: '<div>...</div>',\n  timestamp: new Date().toISOString(),\n};\n\n// Type guard\nif (isArtifactMessage(msg)) {\n  console.log(msg.filename);\n}\n```\n\n### Custom Message Types\n\nExtend via declaration merging:\n\n```typescript\ninterface SystemNotification {\n  role: 'system-notification';\n  message: string;\n  level: 'info' | 'warning' | 'error';\n  timestamp: string;\n}\n\ndeclare module '@dyyz1993/pi-agent-core' {\n  interface CustomAgentMessages {\n    'system-notification': SystemNotification;\n  }\n}\n\n// Register renderer\nregisterMessageRenderer('system-notification', {\n  render: (msg) => html`<div class=\"alert\">${msg.message}</div>`,\n});\n\n// Extend convertToLlm\nfunction myConvertToLlm(messages: AgentMessage[]): Message[] {\n  const processed = messages.map((m) => {\n    if (m.role === 'system-notification') {\n      return { role: 'user', content: `<system>${m.message}</system>`, timestamp: Date.now() };\n    }\n    return m;\n  });\n  return defaultConvertToLlm(processed);\n}\n```\n\n## Message Transformer\n\n`convertToLlm` transforms app messages to LLM-compatible format:\n\n```typescript\nimport { defaultConvertToLlm, convertAttachments } from '@dyyz1993/pi-web-ui';\n\n// defaultConvertToLlm handles:\n// - UserMessageWithAttachments → user message with image/text content blocks\n// - ArtifactMessage → filtered out (UI-only)\n// - Standard messages (user, assistant, toolResult) → passed through\n```\n\n## Tools\n\n### JavaScript REPL\n\nExecute JavaScript in a sandboxed browser environment:\n\n```typescript\nimport { createJavaScriptReplTool } from '@dyyz1993/pi-web-ui';\n\nconst replTool = createJavaScriptReplTool();\n\n// Configure runtime providers for artifact/attachment access\nreplTool.runtimeProvidersFactory = () => [\n  new AttachmentsRuntimeProvider(attachments),\n  new ArtifactsRuntimeProvider(artifactsPanel, agent, true), // read-write\n];\n\nagent.state.tools = [replTool];\n```\n\n### Extract Document\n\nExtract text from documents at URLs:\n\n```typescript\nimport { createExtractDocumentTool } from '@dyyz1993/pi-web-ui';\n\nconst extractTool = createExtractDocumentTool();\nextractTool.corsProxyUrl = 'https://corsproxy.io/?';\n\nagent.state.tools = [extractTool];\n```\n\n### Artifacts Tool\n\nBuilt into ArtifactsPanel, supports: HTML, SVG, Markdown, text, JSON, images, PDF, DOCX, XLSX.\n\n```typescript\nconst artifactsPanel = new ArtifactsPanel();\nartifactsPanel.agent = agent;\n\n// The tool is available as artifactsPanel.tool\nagent.state.tools = [artifactsPanel.tool];\n```\n\n### Custom Tool Renderers\n\n```typescript\nimport { registerToolRenderer, type ToolRenderer } from '@dyyz1993/pi-web-ui';\n\nconst myRenderer: ToolRenderer = {\n  render(params, result, isStreaming) {\n    return {\n      content: html`<div>...</div>`,\n      isCustom: false, // true = no card wrapper\n    };\n  },\n};\n\nregisterToolRenderer('my_tool', myRenderer);\n```\n\n## Storage\n\n### Setup\n\n```typescript\nimport {\n  AppStorage,\n  IndexedDBStorageBackend,\n  SettingsStore,\n  ProviderKeysStore,\n  SessionsStore,\n  CustomProvidersStore,\n  setAppStorage,\n  getAppStorage,\n} from '@dyyz1993/pi-web-ui';\n\n// Create stores\nconst settings = new SettingsStore();\nconst providerKeys = new ProviderKeysStore();\nconst sessions = new SessionsStore();\nconst customProviders = new CustomProvidersStore();\n\n// Create backend with all store configs\nconst backend = new IndexedDBStorageBackend({\n  dbName: 'my-app',\n  version: 1,\n  stores: [\n    settings.getConfig(),\n    providerKeys.getConfig(),\n    sessions.getConfig(),\n    SessionsStore.getMetadataConfig(),\n    customProviders.getConfig(),\n  ],\n});\n\n// Wire stores to backend\nsettings.setBackend(backend);\nproviderKeys.setBackend(backend);\nsessions.setBackend(backend);\ncustomProviders.setBackend(backend);\n\n// Create and set global storage\nconst storage = new AppStorage(settings, providerKeys, sessions, customProviders, backend);\nsetAppStorage(storage);\n```\n\n### SettingsStore\n\nKey-value settings:\n\n```typescript\nawait storage.settings.set('proxy.enabled', true);\nawait storage.settings.set('proxy.url', 'https://proxy.example.com');\nconst enabled = await storage.settings.get<boolean>('proxy.enabled');\n```\n\n### ProviderKeysStore\n\nAPI keys by provider:\n\n```typescript\nawait storage.providerKeys.set('anthropic', 'sk-ant-...');\nconst key = await storage.providerKeys.get('anthropic');\nconst providers = await storage.providerKeys.list();\n```\n\n### SessionsStore\n\nChat sessions with metadata:\n\n```typescript\n// Save session\nawait storage.sessions.save(sessionData, metadata);\n\n// Load session\nconst data = await storage.sessions.get(sessionId);\nconst metadata = await storage.sessions.getMetadata(sessionId);\n\n// List sessions (sorted by lastModified)\nconst allMetadata = await storage.sessions.getAllMetadata();\n\n// Update title\nawait storage.sessions.updateTitle(sessionId, 'New Title');\n\n// Delete\nawait storage.sessions.delete(sessionId);\n```\n\n### CustomProvidersStore\n\nCustom LLM providers:\n\n```typescript\nconst provider: CustomProvider = {\n  id: crypto.randomUUID(),\n  name: 'My Ollama',\n  type: 'ollama',\n  baseUrl: 'http://localhost:11434',\n};\n\nawait storage.customProviders.set(provider);\nconst all = await storage.customProviders.getAll();\n```\n\n## Attachments\n\nLoad and process files:\n\n```typescript\nimport { loadAttachment, type Attachment } from '@dyyz1993/pi-web-ui';\n\n// From File input\nconst file = inputElement.files[0];\nconst attachment = await loadAttachment(file);\n\n// From URL\nconst attachment = await loadAttachment('https://example.com/doc.pdf');\n\n// From ArrayBuffer\nconst attachment = await loadAttachment(arrayBuffer, 'document.pdf');\n\n// Attachment structure\ninterface Attachment {\n  id: string;\n  type: 'image' | 'document';\n  fileName: string;\n  mimeType: string;\n  size: number;\n  content: string;        // base64 encoded\n  extractedText?: string; // For documents\n  preview?: string;       // base64 preview image\n}\n```\n\nSupported formats: PDF, DOCX, XLSX, PPTX, images, text files.\n\n## CORS Proxy\n\nFor browser environments with CORS restrictions:\n\n```typescript\nimport { createStreamFn, shouldUseProxyForProvider, isCorsError } from '@dyyz1993/pi-web-ui';\n\n// AgentInterface auto-configures proxy from settings\n// For manual setup:\nagent.streamFn = createStreamFn(async () => {\n  const enabled = await storage.settings.get<boolean>('proxy.enabled');\n  return enabled ? await storage.settings.get<string>('proxy.url') : undefined;\n});\n\n// Providers requiring proxy:\n// - zai: always\n// - anthropic: only OAuth tokens (sk-ant-oat-*)\n```\n\n## Dialogs\n\n### SettingsDialog\n\n```typescript\nimport { SettingsDialog, ProvidersModelsTab, ProxyTab, ApiKeysTab } from '@dyyz1993/pi-web-ui';\n\nSettingsDialog.open([\n  new ProvidersModelsTab(), // Custom providers + model list\n  new ProxyTab(),           // CORS proxy settings\n  new ApiKeysTab(),         // API keys per provider\n]);\n```\n\n### SessionListDialog\n\n```typescript\nimport { SessionListDialog } from '@dyyz1993/pi-web-ui';\n\nSessionListDialog.open(\n  async (sessionId) => { /* load session */ },\n  (deletedId) => { /* handle deletion */ },\n);\n```\n\n### ApiKeyPromptDialog\n\n```typescript\nimport { ApiKeyPromptDialog } from '@dyyz1993/pi-web-ui';\n\nconst success = await ApiKeyPromptDialog.prompt('anthropic');\n```\n\n### ModelSelector\n\n```typescript\nimport { ModelSelector } from '@dyyz1993/pi-web-ui';\n\nModelSelector.open(currentModel, (selectedModel) => {\n  agent.state.model = selectedModel;\n});\n```\n\n## Styling\n\nImport the pre-built CSS:\n\n```typescript\nimport '@dyyz1993/pi-web-ui/app.css';\n```\n\nOr use Tailwind with custom config:\n\n```css\n@import '@mariozechner/mini-lit/themes/claude.css';\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n```\n\n## Internationalization\n\n```typescript\nimport { i18n, setLanguage, translations } from '@dyyz1993/pi-web-ui';\n\n// Add translations\ntranslations.de = {\n  'Loading...': 'Laden...',\n  'No sessions yet': 'Noch keine Sitzungen',\n};\n\nsetLanguage('de');\nconsole.log(i18n('Loading...')); // \"Laden...\"\n```\n\n## Examples\n\n- [example/](./example) - Complete web app with sessions, artifacts, custom messages\n- [sitegeist](https://sitegeist.ai) - Browser extension using pi-web-ui\n\n## Known Issues\n\n- **PersistentStorageDialog**: Currently broken\n\n## License\n\nMIT\n","readmeFilename":"README.md"}