{"_id":"@waifucave/discord-waifus","_rev":"51-2b0f63c611be4c64f62d83b2c1ea5e52","name":"@waifucave/discord-waifus","dist-tags":{"latest":"1.5.203"},"versions":{"1.5.154":{"name":"@waifucave/discord-waifus","version":"1.5.154","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.154","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"7c2c294f02b88056012523f9580ed9bc8de5e476","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.154.tgz","fileCount":138,"integrity":"sha512-DpgivqiMmGeN5L2HksVka1zPfN/fF53zTU6EH+7Lz0/TxiW4EuhAfDXzw1jtAys7SoMwRPJAYkcZnZwB2dqFkw==","signatures":[{"sig":"MEUCIQDYZf8GuQiVLJPcM4MuZEFEQg0H1ydSWp4pXZGm+bCnSAIgKHdQBwZ/AEk38qwBNSLGhbP0rluJJ7BVmHVEHX4PmRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7282595},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.154.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"tsc -p tsconfig.json && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.154.tgz","_integrity":"sha512-DpgivqiMmGeN5L2HksVka1zPfN/fF53zTU6EH+7Lz0/TxiW4EuhAfDXzw1jtAys7SoMwRPJAYkcZnZwB2dqFkw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.154_1781126749848_0.7439376749252156","host":"s3://npm-registry-packages-npm-production"}},"1.5.155":{"name":"@waifucave/discord-waifus","version":"1.5.155","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.155","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"37c3ae137d7c33346454d7e7b89962a5d382baf8","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.155.tgz","fileCount":138,"integrity":"sha512-QSr/AyLS+lgMn2x001CwwAUEM1+znRfPXPs8kdohsQPndDuy09580+Cakl/lKdGeeq8opXyYUDlxN0qOaRaxcw==","signatures":[{"sig":"MEUCIQCAlkZHdz+j3tumE6+gwYNICAwXuZbU9HZHGXZXYAOwTgIgGhGZuzpAPcrurSK+A8UitjSHlQcvZ0YDG6LyZTCC+7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7283924},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.155.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"tsc -p tsconfig.json && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.155.tgz","_integrity":"sha512-QSr/AyLS+lgMn2x001CwwAUEM1+znRfPXPs8kdohsQPndDuy09580+Cakl/lKdGeeq8opXyYUDlxN0qOaRaxcw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.155_1781128490495_0.6260964287382285","host":"s3://npm-registry-packages-npm-production"}},"1.5.156":{"name":"@waifucave/discord-waifus","version":"1.5.156","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.156","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"082bb7b7e0ee77890ab1ca2bc0c20911bbd36549","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.156.tgz","fileCount":144,"integrity":"sha512-Ynsm1hV/9iFW6cHMWxrQaUOXbBJ7DfxQHDLKBIq7NwplhlEC5JaV+gFuZ8Brx8qMtkDNCUNZGVIwxLvx8Qi5FA==","signatures":[{"sig":"MEUCIQC42EiuS0PsQapxlRfocZdty4tweJuOxyS6pug555v92QIgH2fDf1ta0s7hhi8x2R/xus9Lc6Qbq/HTlFL4KdBfmSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7292416},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.156.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"tsc -p tsconfig.json && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.156.tgz","_integrity":"sha512-Ynsm1hV/9iFW6cHMWxrQaUOXbBJ7DfxQHDLKBIq7NwplhlEC5JaV+gFuZ8Brx8qMtkDNCUNZGVIwxLvx8Qi5FA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.156_1781245590072_0.1564915324353242","host":"s3://npm-registry-packages-npm-production"}},"1.5.157":{"name":"@waifucave/discord-waifus","version":"1.5.157","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.157","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"f7bf2e385be327acb6edaeed536ec7af48cfa23f","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.157.tgz","fileCount":144,"integrity":"sha512-mgLvUw89FQtBFAr64JFVYnOpGuNa66VolxIapKx33bHY7nWx2LZ1HHemayi8xd4OyLAsP2vlKXWJyEAjXrMz/w==","signatures":[{"sig":"MEYCIQD1L2Thj1CpOW2dh39LYnqS4d3s/DeABRmCBhFjNYgJRQIhAIfdXc0l2u04gB5OBcmRGiXHVsZSLhZHez/Yy7FRP+Kk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7322288},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.157.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"tsc -p tsconfig.json && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.157.tgz","_integrity":"sha512-mgLvUw89FQtBFAr64JFVYnOpGuNa66VolxIapKx33bHY7nWx2LZ1HHemayi8xd4OyLAsP2vlKXWJyEAjXrMz/w==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.157_1781272590467_0.02174026951185759","host":"s3://npm-registry-packages-npm-production"}},"1.5.158":{"name":"@waifucave/discord-waifus","version":"1.5.158","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.158","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"cef3d018e17a3e639d704352e91a232951b0c5ea","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.158.tgz","fileCount":156,"integrity":"sha512-TZyxoP4d6IZ5CD83CQHnaGRb7GWk8j+8BOkNu/valP/fI3t2rkcVMItX+ieqZzp2B4mTLX/P27qQ0EirNdYZpg==","signatures":[{"sig":"MEQCIE78ELlYXVQAeriUAh9mQAjlX07Oq12W7RIIuHCqPJLLAiBl+ekZDX0IsoZ6lztcrJK8hXrGRfLANNmb+ElndaGE1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7408730},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.158.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"tsc -p tsconfig.json && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.158.tgz","_integrity":"sha512-TZyxoP4d6IZ5CD83CQHnaGRb7GWk8j+8BOkNu/valP/fI3t2rkcVMItX+ieqZzp2B4mTLX/P27qQ0EirNdYZpg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.158_1781297425820_0.6188748013753671","host":"s3://npm-registry-packages-npm-production"}},"1.5.159":{"name":"@waifucave/discord-waifus","version":"1.5.159","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.159","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"ab5002c1238fbd3d3fec73ca86781ef0abb49d25","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.159.tgz","fileCount":177,"integrity":"sha512-Z3731qDVNZJALzT2KQnvshsR7d0F7WYIh2H8SN161IEcPF7zPOV/kf0PbEEy2EQRCMySI7d/AOa18oTe0iLFyQ==","signatures":[{"sig":"MEQCIFkr2dknUBg9n/VQLTEy+8WGc0W884+IL/8DfYyCX02wAiAgUhoIV3Zba2D3SbKRHW5esY2W4n4yz7wIHkdRnKCI2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7412681},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.159.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.159.tgz","_integrity":"sha512-Z3731qDVNZJALzT2KQnvshsR7d0F7WYIh2H8SN161IEcPF7zPOV/kf0PbEEy2EQRCMySI7d/AOa18oTe0iLFyQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.159_1782994386485_0.22837146799354002","host":"s3://npm-registry-packages-npm-production"}},"1.5.160":{"name":"@waifucave/discord-waifus","version":"1.5.160","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.160","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"3a61432ac0d02202d49de0ff4acaeb5b1de74475","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.160.tgz","fileCount":177,"integrity":"sha512-H1jsDaQq74nKjunW5jd9k1Jxmvc1sas6dx1WwIyXhtmNL2amJqIX5OMtlz5ERNLRrXHey1zgb3/zEgB0qV2/lQ==","signatures":[{"sig":"MEYCIQDgJBDfENINMwyb4P2T7jtFnSdgSn9ekREAQv5NU7qxfQIhAN1e+Ax5XcDh1AU5HUq/s9rkbiElZo8cha1Y//cZCLKB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7419272},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.160.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.160.tgz","_integrity":"sha512-H1jsDaQq74nKjunW5jd9k1Jxmvc1sas6dx1WwIyXhtmNL2amJqIX5OMtlz5ERNLRrXHey1zgb3/zEgB0qV2/lQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.160_1783007529322_0.43986136740324966","host":"s3://npm-registry-packages-npm-production"}},"1.5.161":{"name":"@waifucave/discord-waifus","version":"1.5.161","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.161","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"756e38a9ee2ce481e2ba12a132fd60b182c95f75","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.161.tgz","fileCount":177,"integrity":"sha512-jr17QI1/gmuiXgbqlSb/0H4d2qT2dW2E/CB4AzLTSGi6cbM34N5JlV8RNo7WPCiaRO2F2csfaoM5e0Fipt9+ew==","signatures":[{"sig":"MEYCIQCMbLj1Y7ih9uoEIcZifkdOW17q8f21A8r7rR9d+aClTAIhAOKdLuCDSvMLbjf2XLhCILvc8F7/8dbLr101zR1kWVYx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7419272},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.161.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.161.tgz","_integrity":"sha512-jr17QI1/gmuiXgbqlSb/0H4d2qT2dW2E/CB4AzLTSGi6cbM34N5JlV8RNo7WPCiaRO2F2csfaoM5e0Fipt9+ew==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.161_1783013644111_0.3030000827612467","host":"s3://npm-registry-packages-npm-production"}},"1.5.162":{"name":"@waifucave/discord-waifus","version":"1.5.162","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.162","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"131ce0e587bbc03ab503fa58a8a28f226a65757b","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.162.tgz","fileCount":177,"integrity":"sha512-KoSmDWcrNMGnNkfhZqpF4tdD+dUJq9zoYiIr96cyNCB/4TxsOipHkl3KjhSvcQUKEG/JaFl2pdJv1+omLqkNtA==","signatures":[{"sig":"MEUCIQCVBCFzfWF+PGKJb38RvWveUiPyGKgDyPH4ZT+HCiAkZwIgCnYJzCFf1I6Dv8KfJIRPcLH1XR8ecaM9Oe+9BCVYU58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7419272},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.162.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.162.tgz","_integrity":"sha512-KoSmDWcrNMGnNkfhZqpF4tdD+dUJq9zoYiIr96cyNCB/4TxsOipHkl3KjhSvcQUKEG/JaFl2pdJv1+omLqkNtA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.162_1783014088437_0.6042613801667498","host":"s3://npm-registry-packages-npm-production"}},"1.5.163":{"name":"@waifucave/discord-waifus","version":"1.5.163","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.163","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"f0b50ec355c9a2f678b010ac2c0374fd2af2470c","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.163.tgz","fileCount":177,"integrity":"sha512-x/y2UNgGsxfP9nTc/IT3SsZTWlOvWoHzLpYQD3MFALI68LEIRus9cPqdE486cuHrDHDCJjf9WTHKrXuODbpflQ==","signatures":[{"sig":"MEUCIQCradc2iOuDK2VA+fpNlDEWAMNWx+Ah7mTfZ1EOZobUiwIgMVOsCWoYyBHMYAOXO2UkH+55DfhEXJ7qOuv8QX5Jv3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7428779},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.163.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.163.tgz","_integrity":"sha512-x/y2UNgGsxfP9nTc/IT3SsZTWlOvWoHzLpYQD3MFALI68LEIRus9cPqdE486cuHrDHDCJjf9WTHKrXuODbpflQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.163_1783017062962_0.4618965125211316","host":"s3://npm-registry-packages-npm-production"}},"1.5.164":{"name":"@waifucave/discord-waifus","version":"1.5.164","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.164","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"cb8632e6e3b4cbadaef0eff131d04151cd5cd048","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.164.tgz","fileCount":177,"integrity":"sha512-TJxOW4NUZlL6td+Ux4PpDoBnK4VdJVZfgpq68YAMveSRXHy2h77HhGoEqDlWLsgzeV/O510RTPAta2dmuldISw==","signatures":[{"sig":"MEYCIQDa9RuUBSG4HYNb0xcX494jCiiH++HLBwLbZ+FI0D0nyAIhAOkahpvpuYoUaLLsMIiputgsKhlcmqR18JLU2e/RXYPS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7428872},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.164.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.164.tgz","_integrity":"sha512-TJxOW4NUZlL6td+Ux4PpDoBnK4VdJVZfgpq68YAMveSRXHy2h77HhGoEqDlWLsgzeV/O510RTPAta2dmuldISw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.164_1783020446449_0.16103695202838386","host":"s3://npm-registry-packages-npm-production"}},"1.5.165":{"name":"@waifucave/discord-waifus","version":"1.5.165","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.165","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"e642bde0a35ed9ef2b5c42ae40ce6fab7955d1db","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.165.tgz","fileCount":177,"integrity":"sha512-SF96mkIsAvQXLh79jP6XY/rjsSvploOSIQEjPDc7phMDxxZzf60QhvbghpPvmPhR8n6+4gNCcNeJc22tC82a7g==","signatures":[{"sig":"MEUCIQClJvuG1I/U8htL0hrNu1pPS04mgytNEAWtqrApfMYYbAIgPkLHwiBXBDMqOIGgCutsWhhc11NFrCEvQjJOeWpWjRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7428855},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.165.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.165.tgz","_integrity":"sha512-SF96mkIsAvQXLh79jP6XY/rjsSvploOSIQEjPDc7phMDxxZzf60QhvbghpPvmPhR8n6+4gNCcNeJc22tC82a7g==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.165_1783021464128_0.41814422081390856","host":"s3://npm-registry-packages-npm-production"}},"1.5.166":{"name":"@waifucave/discord-waifus","version":"1.5.166","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.166","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"8e486703d6f021d011fecf2746ad7ef04aa156f5","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.166.tgz","fileCount":177,"integrity":"sha512-ClTSn603bEmV6RveCRSKBrgjtrOHOKjz/EY7U0Q+EUuljb2+J+aSBG8FExXbANUHjOFknvVMbVOLLULKO+rsPw==","signatures":[{"sig":"MEUCIQD9va7rV8Py4UYBWT0jeGcZ0C/O/vAUa/Whg5TFD4+MEgIgGW9PeMSh4YUlJSY2UuQKnuoHsombFkYHxhhq31IvjB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7430466},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.166.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.166.tgz","_integrity":"sha512-ClTSn603bEmV6RveCRSKBrgjtrOHOKjz/EY7U0Q+EUuljb2+J+aSBG8FExXbANUHjOFknvVMbVOLLULKO+rsPw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.166_1783022369806_0.7083508025256458","host":"s3://npm-registry-packages-npm-production"}},"1.5.167":{"name":"@waifucave/discord-waifus","version":"1.5.167","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.167","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"4cfe215f20a605d2fb94b00515b81972cb45a47c","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.167.tgz","fileCount":177,"integrity":"sha512-wS83cLkLVHVIYjy++iO3+FHCmL9laVJFdoOT1RMWnvMrIJvkayOtTizfcJmr2C6bp1qD8VeOiekLX3yuvnYa8g==","signatures":[{"sig":"MEUCIQDEqM8sbHKm7AAGax7SmMmu5vnUXmYsBJ/8HLdCUmZ0hwIgNo1dOqheNTPQuAHkG3XBEXDev2p38iCYA0vUsxszpG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7431507},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.167.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.167.tgz","_integrity":"sha512-wS83cLkLVHVIYjy++iO3+FHCmL9laVJFdoOT1RMWnvMrIJvkayOtTizfcJmr2C6bp1qD8VeOiekLX3yuvnYa8g==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.167_1783023003650_0.5111181969468888","host":"s3://npm-registry-packages-npm-production"}},"1.5.168":{"name":"@waifucave/discord-waifus","version":"1.5.168","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.168","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"d2ab461bfc3a47a21553ef17015a091234517100","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.168.tgz","fileCount":177,"integrity":"sha512-zEgSSk2UwcNO4J4hJ394auRsGe9aSWA1XrDb1HhITjR1Af1h1qGYfjVh3YwgVENKEBL3yTdYD+FTt81b5RO97A==","signatures":[{"sig":"MEQCIDNEtZpsPDeAdJVISNG82KTguKS2AyQpwy6Y9cDvlW71AiAVVoQwckoM1qEdUwq4SpJxJMd2GHdVsMEgtOL4Rg6P7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7431633},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.168.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.168.tgz","_integrity":"sha512-zEgSSk2UwcNO4J4hJ394auRsGe9aSWA1XrDb1HhITjR1Af1h1qGYfjVh3YwgVENKEBL3yTdYD+FTt81b5RO97A==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.168_1783029675419_0.5667669908265729","host":"s3://npm-registry-packages-npm-production"}},"1.5.169":{"name":"@waifucave/discord-waifus","version":"1.5.169","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.169","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"87e77f060ef40b022a734a8429fb43d0aef25955","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.169.tgz","fileCount":177,"integrity":"sha512-OvUgqtj2xDtxuNlmT7bLAh/aveDivA/ZEQla44rcrlSsZeZpZ3rmYhjj8Fm4XW9flh9v/s4NYzlH+kdH5PaOsQ==","signatures":[{"sig":"MEQCIC8fvmGt5kLli6ijbhamnNixfcaSjeZOmNaADleAvI/JAiAeK4IEwpt09nMu7GZtp7YY3ySn+F3cHKhMmEkRAcO91g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7431667},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.169.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.169.tgz","_integrity":"sha512-OvUgqtj2xDtxuNlmT7bLAh/aveDivA/ZEQla44rcrlSsZeZpZ3rmYhjj8Fm4XW9flh9v/s4NYzlH+kdH5PaOsQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.169_1783031684682_0.8781458957077826","host":"s3://npm-registry-packages-npm-production"}},"1.5.170":{"name":"@waifucave/discord-waifus","version":"1.5.170","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.170","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"f64cf8f7ede8dac76368afcad50fcaef60190953","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.170.tgz","fileCount":177,"integrity":"sha512-lUZsY/cL1Qj2xGS+U52R7up9lUK+VXqlOGUPgkpLNdcA7eftdGFV2jy6OQQvdbR3khcTw86blutjhA5M97UkPw==","signatures":[{"sig":"MEUCIC5hWC8Pj13K3AImT3DGo3lSDVO4uXMhTHDYhUi6VBrQAiEAuIYYNYUcJ4SvynodsAamLGxYJg+6tyRq7/CG28WY2YA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7432052},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.170.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.170.tgz","_integrity":"sha512-lUZsY/cL1Qj2xGS+U52R7up9lUK+VXqlOGUPgkpLNdcA7eftdGFV2jy6OQQvdbR3khcTw86blutjhA5M97UkPw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.170_1783036259845_0.6247976818133485","host":"s3://npm-registry-packages-npm-production"}},"1.5.171":{"name":"@waifucave/discord-waifus","version":"1.5.171","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.171","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"e51b412ab2e1ce2dff3786260d07c68564dab533","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.171.tgz","fileCount":177,"integrity":"sha512-zqH0gv1eXV2gW5SWlVJm10ie3XdKQSfxZRmjahRrRV+QrSSyXIl2JlVlqAw/2o2ghZtcoxMekf39JLL1Edpxkg==","signatures":[{"sig":"MEYCIQD/sbkbnofH8wRO9LD1CrRv3akOS0W+TDg0ISZ9gBabqAIhANS2k21HsFslfuZxCACwEeX/0Ov1mpbyHofypay7/CTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7435446},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.171.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.171.tgz","_integrity":"sha512-zqH0gv1eXV2gW5SWlVJm10ie3XdKQSfxZRmjahRrRV+QrSSyXIl2JlVlqAw/2o2ghZtcoxMekf39JLL1Edpxkg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.171_1783067217762_0.7563861338805509","host":"s3://npm-registry-packages-npm-production"}},"1.5.172":{"name":"@waifucave/discord-waifus","version":"1.5.172","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.172","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"b4172a23b4004bdfece2acb22266c59d28378438","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.172.tgz","fileCount":177,"integrity":"sha512-XGAjZtzRfH9Sp7JRnTGBpy3zw9Ho/dIrM1CigvcjzlNahM+krqYEehEfP2d9jzWGshuZx3R6dPyI+XmzwVv7Ow==","signatures":[{"sig":"MEYCIQC3XKrmsn1FyAWPD5qQjJgN6WdyB+Xd3vtPkeRpnB74GAIhAIcjACw+EysXpGKCh0YbhrgpKGxjsxTYWoSj9fYc4jLY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7435448},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.172.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.172.tgz","_integrity":"sha512-XGAjZtzRfH9Sp7JRnTGBpy3zw9Ho/dIrM1CigvcjzlNahM+krqYEehEfP2d9jzWGshuZx3R6dPyI+XmzwVv7Ow==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.172_1783067588101_0.7395926188438771","host":"s3://npm-registry-packages-npm-production"}},"1.5.173":{"name":"@waifucave/discord-waifus","version":"1.5.173","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.173","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"79fa282315aa8242f3610d1808a6e32e08f662a3","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.173.tgz","fileCount":177,"integrity":"sha512-GfWLf6JQ5bvhrX9kgjbOjMXFyib045xOoeVRUeWJYrINqfDArVG47n3q5ucIl1uN83UM5ErnnwbVRqab/2DLIw==","signatures":[{"sig":"MEUCIQCh8xst+JPd1aqufnQqakmlb6BruO1OezpeR4Ns02zG6gIga+feC/l6J9kR7DTYFHdTTRuxfFU3MDKWSiKTc5Yxxoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7439453},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.173.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.173.tgz","_integrity":"sha512-GfWLf6JQ5bvhrX9kgjbOjMXFyib045xOoeVRUeWJYrINqfDArVG47n3q5ucIl1uN83UM5ErnnwbVRqab/2DLIw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.173_1783068743154_0.03476372850379783","host":"s3://npm-registry-packages-npm-production"}},"1.5.174":{"name":"@waifucave/discord-waifus","version":"1.5.174","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.174","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"70707b13defd61fcb185185d34661bd6f0ce9627","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.174.tgz","fileCount":180,"integrity":"sha512-BYOpE85tDAq1xHlU2K/CxzUacak9NXt4zJPs3rYWsEFj4xvRBKss8klIKNScUK4FrifVOw+jJSfzNrfAii8wzA==","signatures":[{"sig":"MEQCIDY5Jba297ShQOckjQjgIRFJd6OUoXlg2VyvGKRog//jAiAHaZw0na/IRMer6DP2lm+rPArf9d89ipFMXQQtd3kECQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7442522},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.174.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.174.tgz","_integrity":"sha512-BYOpE85tDAq1xHlU2K/CxzUacak9NXt4zJPs3rYWsEFj4xvRBKss8klIKNScUK4FrifVOw+jJSfzNrfAii8wzA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.174_1783080582457_0.7782782957077663","host":"s3://npm-registry-packages-npm-production"}},"1.5.175":{"name":"@waifucave/discord-waifus","version":"1.5.175","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.175","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"8352eb6f00d6cef0de1904e080908350cbaa0a41","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.175.tgz","fileCount":180,"integrity":"sha512-6P7v5T9WZ1jjhsrvbv+k/CIiEbvjcnoP/zTCR+PQZYyf2DQDGi7STxAiCxbxNJU71VMK1L6wQ8AxffHUh9NQLA==","signatures":[{"sig":"MEQCIANE7DeS0dADnFbk3zJMuHMantcWEBvB/jt6ttz5ezbGAiBZPTltLOddLThi9fojCnhr4qUuhtPM+4/5TNEMKYumfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7446602},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.175.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.175.tgz","_integrity":"sha512-6P7v5T9WZ1jjhsrvbv+k/CIiEbvjcnoP/zTCR+PQZYyf2DQDGi7STxAiCxbxNJU71VMK1L6wQ8AxffHUh9NQLA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.175_1783143724597_0.6697813790184741","host":"s3://npm-registry-packages-npm-production"}},"1.5.176":{"name":"@waifucave/discord-waifus","version":"1.5.176","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.176","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"18074468b60805a9de1ad27fa4c066e4958785a0","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.176.tgz","fileCount":180,"integrity":"sha512-enaiG4HIh9pEZQaLM+ZLC7caIpFNPQRKK1DGaxv4TCsd5puSLY/OxGOuzBON3BHdSnMxC2fdMuZoqChn5Ean3g==","signatures":[{"sig":"MEUCIQDekW1QBRw7BKcqGdIUmKHLJZswXSbvsz20h/E4CsrsHwIgZorK16R2C/UuQQU+RpIwgWPt26hgFJE+yCU0bZmYIsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7446602},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.176.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.176.tgz","_integrity":"sha512-enaiG4HIh9pEZQaLM+ZLC7caIpFNPQRKK1DGaxv4TCsd5puSLY/OxGOuzBON3BHdSnMxC2fdMuZoqChn5Ean3g==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.176_1783156083011_0.6861527849718243","host":"s3://npm-registry-packages-npm-production"}},"1.5.177":{"name":"@waifucave/discord-waifus","version":"1.5.177","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.177","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"bf0197f3d3269c15581bad220fdc1b62a04858c1","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.177.tgz","fileCount":203,"integrity":"sha512-TW+5lHQr1IvpIOgMLetxwIP4uWRyaDhSfuLQs7e21rjIwG6bTv6gXrkl/o9o3oc9u3MBXsJH/92tKDeX5wZALw==","signatures":[{"sig":"MEUCIQD2rLiWAB5xG/K40zr9Ajui2x4ORWXP873OTxmOsYsLKwIgZ1IdqefF89D3rmYmln3h+HnL8y8/Z9+mKM62yB/DrL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7544783},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.177.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.177.tgz","_integrity":"sha512-TW+5lHQr1IvpIOgMLetxwIP4uWRyaDhSfuLQs7e21rjIwG6bTv6gXrkl/o9o3oc9u3MBXsJH/92tKDeX5wZALw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.177_1783161847602_0.45003986010889907","host":"s3://npm-registry-packages-npm-production"}},"1.5.178":{"name":"@waifucave/discord-waifus","version":"1.5.178","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.178","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"a16b8f21904d89dd90f3507417410348574cdbcc","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.178.tgz","fileCount":203,"integrity":"sha512-4d43jeK8P+8rdgoUvkBma4vNM1n0WPJ6IdZM/RGUTVrvAUVJi4jT0ipaT25h2Ybu9l+JmhGyENNIva/IvE1glw==","signatures":[{"sig":"MEUCIQCvUuMLzQMS1jSSSUjiqhXmSVfHreK+UuWn7D5I0c3lZQIgZ+jka1XEkhJKUIUAdUVhz/YxTAm9HoWZLq3coxwKKZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7544949},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.178.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.178.tgz","_integrity":"sha512-4d43jeK8P+8rdgoUvkBma4vNM1n0WPJ6IdZM/RGUTVrvAUVJi4jT0ipaT25h2Ybu9l+JmhGyENNIva/IvE1glw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.178_1783162013520_0.6930012753481489","host":"s3://npm-registry-packages-npm-production"}},"1.5.179":{"name":"@waifucave/discord-waifus","version":"1.5.179","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.179","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"7108d18b6c667fef00c7b832645bdb50a3842190","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.179.tgz","fileCount":203,"integrity":"sha512-LRC/qN8I7aj74hhwdBn/RUg8oDggeMIImRZeuQ8Jx/pZi43Hl7l5B97vJEFJdCNTklvul/E7rwBSbs6sAsXPWg==","signatures":[{"sig":"MEYCIQDuFR17PGoun8ByIrUA0I0UPGOXste8jWPKjdNOruBmWAIhAJT7C5GwwWMaQyioXU2kf2+mN7MulPgVGBgvzUU6k2J0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7550021},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.179.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.179.tgz","_integrity":"sha512-LRC/qN8I7aj74hhwdBn/RUg8oDggeMIImRZeuQ8Jx/pZi43Hl7l5B97vJEFJdCNTklvul/E7rwBSbs6sAsXPWg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.179_1783163278123_0.3001555146688346","host":"s3://npm-registry-packages-npm-production"}},"1.5.180":{"name":"@waifucave/discord-waifus","version":"1.5.180","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.180","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"a34185161c8d5b91633c99f9fdedc8e29bb0b134","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.180.tgz","fileCount":203,"integrity":"sha512-njp69tYs536UpW8hHU2yuoIAVoxAJ2o86l5urBBf+tvK9Y0sd5/Sz3SQKZwwueAJ++jp3KD+GF6TKDGapA7lbA==","signatures":[{"sig":"MEQCIFlEHKN6jPUf0ktbw1VzQu0kyWq2LBKt40JpaDBCMYBqAiBK5hBK+UX8Db1vGp7E8rT1o7jSxBSJ3UfldgEywBNPIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7612809},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.180.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.180.tgz","_integrity":"sha512-njp69tYs536UpW8hHU2yuoIAVoxAJ2o86l5urBBf+tvK9Y0sd5/Sz3SQKZwwueAJ++jp3KD+GF6TKDGapA7lbA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.180_1783163967800_0.9516589855271727","host":"s3://npm-registry-packages-npm-production"}},"1.5.181":{"name":"@waifucave/discord-waifus","version":"1.5.181","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.181","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"a1f22ded37d00080338311391f3ec86dcc807b7f","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.181.tgz","fileCount":203,"integrity":"sha512-1B704QbKWaLMLowsE1WI+QZHxZkb7UwVCjigJa4OlXv9ZUZsGtSrKTHTRN3r7l30TpH4fcWeV3VRohb8wbnSIw==","signatures":[{"sig":"MEUCIC0o35b9Mi6ct+CG7nM7jdaiuwWd9+DnPLcWkc1E4mtoAiEAuYVfPmHMpv8n5KX251yUp4oRjja3Y5htVc6CywPJWKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7240578},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.181.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.181.tgz","_integrity":"sha512-1B704QbKWaLMLowsE1WI+QZHxZkb7UwVCjigJa4OlXv9ZUZsGtSrKTHTRN3r7l30TpH4fcWeV3VRohb8wbnSIw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.181_1783179715452_0.6306479399766423","host":"s3://npm-registry-packages-npm-production"}},"1.5.182":{"name":"@waifucave/discord-waifus","version":"1.5.182","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.182","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"5ecb5f9da89cb33b30ef414affedf145f33cc187","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.182.tgz","fileCount":203,"integrity":"sha512-it1hfqk+P9dhotwsI/1TrjOZ6m294cLUdWWfHh15SCpmVv4R+z3kAJzKOEmmPa727OK5GsWHKpBLrpLXRX1VaA==","signatures":[{"sig":"MEUCIQDLNMl6KRzIsIzXMjSn7n7XmehUHl9Krx+U7zV86JEEuwIgKf50Zw6bilXLoFoj7s7qdalR4MKfZH7/mar6kzyTGfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7253015},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.182.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.182.tgz","_integrity":"sha512-it1hfqk+P9dhotwsI/1TrjOZ6m294cLUdWWfHh15SCpmVv4R+z3kAJzKOEmmPa727OK5GsWHKpBLrpLXRX1VaA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.182_1783183913738_0.0748999504937422","host":"s3://npm-registry-packages-npm-production"}},"1.5.183":{"name":"@waifucave/discord-waifus","version":"1.5.183","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.183","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"11a96562f23726f01b4ec0601aa244d1c52bad25","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.183.tgz","fileCount":203,"integrity":"sha512-H1CQ7c4BrgmicxMCOjhDLBnvwWcRD8kDa1RkB03Svi0uYuVH4HTSAa4YGPwyN7nxHU+7xDp5JxAhgp+1UitFOg==","signatures":[{"sig":"MEUCIArP6j4cvD4yYdWl9MjJuEY+68abagLFZnZEnAkxtUAzAiEAu2ZWd3xFgFXhZ4Mvp7mIcJQJGDR/HVUk3kd1IvsPsoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7260614},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.183.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.183.tgz","_integrity":"sha512-H1CQ7c4BrgmicxMCOjhDLBnvwWcRD8kDa1RkB03Svi0uYuVH4HTSAa4YGPwyN7nxHU+7xDp5JxAhgp+1UitFOg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.183_1783202662474_0.9659892428679615","host":"s3://npm-registry-packages-npm-production"}},"1.5.184":{"name":"@waifucave/discord-waifus","version":"1.5.184","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.184","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"6b14dc6125e4c25e437d3e398d5776efee7549bc","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.184.tgz","fileCount":206,"integrity":"sha512-l4xM3+1p8L9U5moVPGnOhG+wnYiMTrK5Cgrk2PbYTto+Yv2gIoK32j3BOogFFhbmNBRT9ymTFWjR/7BRgziPfA==","signatures":[{"sig":"MEUCIF3cdrmjez65DOrw7j4rEhcyTfNOhudOVB4mpoLipro0AiEA2UMDKZtVaGMdpHfLUr6K6hwYgtVGwZY/nDg1/cesg+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7264609},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.184.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.184.tgz","_integrity":"sha512-l4xM3+1p8L9U5moVPGnOhG+wnYiMTrK5Cgrk2PbYTto+Yv2gIoK32j3BOogFFhbmNBRT9ymTFWjR/7BRgziPfA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.184_1783239474729_0.675003818192411","host":"s3://npm-registry-packages-npm-production"}},"1.5.185":{"name":"@waifucave/discord-waifus","version":"1.5.185","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.185","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"f2c78826470d00c9d59bd946bcfff61aa4ebef8b","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.185.tgz","fileCount":206,"integrity":"sha512-mVn1oK90mXek++tyF+4/tWS31N+NnKI0UyI9OLQwRaq5JkVVksSfR4hhjJ+eqA//MNA9PTiID6WdCZhZHqMqOA==","signatures":[{"sig":"MEYCIQCeHS1q69w0okuVzgXhuR/9EVT1dU+yC1KE0uXZE5GFlQIhALxkHZ4iVaArdYDMLknKlBJepChDguzlM66Us9enVmbk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7270358},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.185.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.185.tgz","_integrity":"sha512-mVn1oK90mXek++tyF+4/tWS31N+NnKI0UyI9OLQwRaq5JkVVksSfR4hhjJ+eqA//MNA9PTiID6WdCZhZHqMqOA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.185_1783266856018_0.8023375086349684","host":"s3://npm-registry-packages-npm-production"}},"1.5.186":{"name":"@waifucave/discord-waifus","version":"1.5.186","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.186","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"2c9c3826be6d2805849880deaae9c782836a9c5a","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.186.tgz","fileCount":209,"integrity":"sha512-CZ+hYyEGRAdnAxxB2KkS24AGjkD7zAuuyqpes7eRuAhtpI7FxHmMcdH74bZkfA9TJ5XvFyrn8Gcvzj3K0dTuLA==","signatures":[{"sig":"MEYCIQCBFDoki6h/udCirRR8gP9dXsfgr1XOcBXhmktCJUeQpAIhAImWgauP7dA1MnCtwARbECG4HgTQ2Z3Kdwy4MZlApX5P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7276375},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.186.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.186.tgz","_integrity":"sha512-CZ+hYyEGRAdnAxxB2KkS24AGjkD7zAuuyqpes7eRuAhtpI7FxHmMcdH74bZkfA9TJ5XvFyrn8Gcvzj3K0dTuLA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.186_1783269824653_0.6347135497873058","host":"s3://npm-registry-packages-npm-production"}},"1.5.187":{"name":"@waifucave/discord-waifus","version":"1.5.187","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.187","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"2f19f3cf2c084f1db5196d9d7def377b3c27e708","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.187.tgz","fileCount":209,"integrity":"sha512-OckRZcG84i+YkFJNjxODPUyyasZZzeVxqCQ1/rnVKO5oc4ei0kvm+XTwHlvTo+WfZhX//oeK7tpytOMKi9XaXA==","signatures":[{"sig":"MEYCIQDulBywQKhg8cOX6Ti6jflQh4fmnr/djDSSnuAB9yPu/gIhAPTInATSUF5IsVRUS8ADeubpP/xcVZFPWlOzUS3ghsdz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7276964},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.187.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.187.tgz","_integrity":"sha512-OckRZcG84i+YkFJNjxODPUyyasZZzeVxqCQ1/rnVKO5oc4ei0kvm+XTwHlvTo+WfZhX//oeK7tpytOMKi9XaXA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.187_1783271653532_0.7931860920706189","host":"s3://npm-registry-packages-npm-production"}},"1.5.188":{"name":"@waifucave/discord-waifus","version":"1.5.188","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.188","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"29764b60cc48eb191b04b3ae9a50bcf0fe3fab99","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.188.tgz","fileCount":209,"integrity":"sha512-zdRbYkPNmMnLlCoO+naZSGw8Kh6Kd1dBtaYESBraHz46IV5gbOfcY3PB45hxeliQsH7YqxaP/otlcbuWGxI3Lw==","signatures":[{"sig":"MEYCIQDJHznsST+rOIYYDmNQo3LJs2eZhXNNXJmadEYiNVpQAwIhANhBQ7h8DOxpKdTZjAXI6/HIGgQH3oJVTqmh2U8eRicE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7277320},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.188.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.188.tgz","_integrity":"sha512-zdRbYkPNmMnLlCoO+naZSGw8Kh6Kd1dBtaYESBraHz46IV5gbOfcY3PB45hxeliQsH7YqxaP/otlcbuWGxI3Lw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.188_1783278047238_0.24267926554209462","host":"s3://npm-registry-packages-npm-production"}},"1.5.189":{"name":"@waifucave/discord-waifus","version":"1.5.189","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.189","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"e7cba2d18f15a427f8f222bda98893c2b1a50c57","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.189.tgz","fileCount":209,"integrity":"sha512-4K7+XBWCNHl3Uvaf84YFhFk678ENic47faCoyNHXUIDhVUXhKytup0z6YDRFCPIMGdPa3q6DanekJyMdywKl0A==","signatures":[{"sig":"MEUCIDVQbZZR9H0SociXNHN+AjjCpcNzFbj//fhx9eDk6G3YAiEAogSxO7QNYQGxC58nfuN4hB2o+suxhnuzVnZn+qxYl/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7277804},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.189.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.189.tgz","_integrity":"sha512-4K7+XBWCNHl3Uvaf84YFhFk678ENic47faCoyNHXUIDhVUXhKytup0z6YDRFCPIMGdPa3q6DanekJyMdywKl0A==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.189_1783288263115_0.8695871974842049","host":"s3://npm-registry-packages-npm-production"}},"1.5.190":{"name":"@waifucave/discord-waifus","version":"1.5.190","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.190","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"5f686a2368e5957995f5299f6d9e6058c397ef70","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.190.tgz","fileCount":209,"integrity":"sha512-yIFGLTnWCQRmhcFrOLqq6fTnw1zrcVvoK1wTV9P8rdK7wZaDKjZwFriObVq+DM6MdGNRc2cXUMp1fYD3n6r/yw==","signatures":[{"sig":"MEYCIQDiyxk+SKv2Ap6Uw2hpN/3rm6Rl/Jf7dC8cRaR5YrMc/QIhAI2rx861FdiBw5XC2UyF0Y+Kp3V1NSygz9K2ns4yD/5T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7282027},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.190.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.190.tgz","_integrity":"sha512-yIFGLTnWCQRmhcFrOLqq6fTnw1zrcVvoK1wTV9P8rdK7wZaDKjZwFriObVq+DM6MdGNRc2cXUMp1fYD3n6r/yw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.190_1783289226674_0.5263019436824341","host":"s3://npm-registry-packages-npm-production"}},"1.5.191":{"name":"@waifucave/discord-waifus","version":"1.5.191","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.191","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"e31bbf365e61d692205ee40d0dc95e96d7e56310","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.191.tgz","fileCount":209,"integrity":"sha512-SNOCv7oTMntRWa9Mc6tX+stBDcYofdLSZJGMumEW6EKrUVXAFr29mUidHWZYHwx4jc4YArxqGZeR8cFj+l63wg==","signatures":[{"sig":"MEQCIHey5byGvU5zo29OrgkK7cz5tRcKR54MnwKx9B4I4XqfAiB1/0oUqQeRHnwC+4q9ksp2qyGnwB+S4l9P5dBDR/1hag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7284270},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.191.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.191.tgz","_integrity":"sha512-SNOCv7oTMntRWa9Mc6tX+stBDcYofdLSZJGMumEW6EKrUVXAFr29mUidHWZYHwx4jc4YArxqGZeR8cFj+l63wg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.191_1783292104285_0.999590051938817","host":"s3://npm-registry-packages-npm-production"}},"1.5.192":{"name":"@waifucave/discord-waifus","version":"1.5.192","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.192","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"c7dd481e4018c86f3b58477f9ee659b5cec681a2","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.192.tgz","fileCount":209,"integrity":"sha512-9dH/Ov98VFwdbvAQPEcIhP6nBT4q6RhVV1r5OlCCI7mZ7p7cCQ97rabypg3WN51JvHCBdxXQCeVUYhPqFel7Zg==","signatures":[{"sig":"MEQCIFcKd/fUUmTZwu3YpUmxlbWC80H5NOXTK4hkrHgDfAemAiABXmxKP8EO8bNAe46o9usKmu2STN502tZQ14AcU7tGew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7285027},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.192.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.192.tgz","_integrity":"sha512-9dH/Ov98VFwdbvAQPEcIhP6nBT4q6RhVV1r5OlCCI7mZ7p7cCQ97rabypg3WN51JvHCBdxXQCeVUYhPqFel7Zg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.192_1783295801330_0.9471877532902611","host":"s3://npm-registry-packages-npm-production"}},"1.5.193":{"name":"@waifucave/discord-waifus","version":"1.5.193","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.193","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"d1c41bf63965f831db8561c76048379555667497","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.193.tgz","fileCount":212,"integrity":"sha512-35CiI/bADxJoKSOVAOFhF7jrkv5qAPVZ9AarfHMIKMpVa5u9pFIycM9Q7KTOjoyZukUHURLiFpNqSEmc/Q5zjQ==","signatures":[{"sig":"MEQCIHv12kKZfXcDTMnW1E3fowU2FE0pQr05TjzVftbG0tWBAiB+TmUovplLBkiyK+/zCuZJmkjoZyb0LOQz+nlBDC48kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7309399},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.193.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.193.tgz","_integrity":"sha512-35CiI/bADxJoKSOVAOFhF7jrkv5qAPVZ9AarfHMIKMpVa5u9pFIycM9Q7KTOjoyZukUHURLiFpNqSEmc/Q5zjQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.193_1783299200420_0.30396769487190345","host":"s3://npm-registry-packages-npm-production"}},"1.5.194":{"name":"@waifucave/discord-waifus","version":"1.5.194","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.194","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"74820988289e420b24e8f402efb2a979d0114a95","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.194.tgz","fileCount":212,"integrity":"sha512-+0g9NxzXMKVf6J+95xtyhs/Y05lxVmsCHkDB7HyDB3A5jQnYdJTYxbFaD3Eh5giK9/feeUFapP/J10Ze0L8pfA==","signatures":[{"sig":"MEYCIQCT35biut0+avEeEKYanGH1iTmenYvJp6Gay/ZSTfyq6QIhANKbbPKRH1RxjIWwfK+gSS/xsvfUDWxAvRXT+b78xesG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7311162},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.194.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.194.tgz","_integrity":"sha512-+0g9NxzXMKVf6J+95xtyhs/Y05lxVmsCHkDB7HyDB3A5jQnYdJTYxbFaD3Eh5giK9/feeUFapP/J10Ze0L8pfA==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.194_1783318831777_0.5231685039174332","host":"s3://npm-registry-packages-npm-production"}},"1.5.195":{"name":"@waifucave/discord-waifus","version":"1.5.195","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.195","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"1d8e9cb6065f8ed5654ee02ff2520ff78f7acc69","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.195.tgz","fileCount":215,"integrity":"sha512-r33ulHWsadPc/i416F4vy4anwJatLrlX+x67fvpn/k72oGt9tU0MiAWkHVo5PCI+zwLu1DeD5LAbDoYNv59y5w==","signatures":[{"sig":"MEYCIQCVU/C6Hkw6N79jjckLZwRgpU7XlKrqNnuoZ5GLQ3tNvwIhANesOHC2VSXGHGpreeBKSF6QhkjCxe/4/sK++RpYGA4C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7323674},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.195.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.195.tgz","_integrity":"sha512-r33ulHWsadPc/i416F4vy4anwJatLrlX+x67fvpn/k72oGt9tU0MiAWkHVo5PCI+zwLu1DeD5LAbDoYNv59y5w==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.195_1783320800122_0.08742614519352476","host":"s3://npm-registry-packages-npm-production"}},"1.5.196":{"name":"@waifucave/discord-waifus","version":"1.5.196","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.196","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"3b538d92fe93bbe1ab43a56c2ce619c5b38ea7fe","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.196.tgz","fileCount":215,"integrity":"sha512-moIICnzWEfrky23N6zekNJEqu4bQqrFIe9BiI+36QLkqT4rLkWaHm8jwYTDsF0iTmEXBBWLhzpf5rxtmS0l3wQ==","signatures":[{"sig":"MEYCIQDI1aGhyDK2mRwGrZ1Hbprek2V6YaGrIm2zgsCwm9jM0AIhANr8Kru2VeGqE6Xp76iJ/7+1nNl+0h1yaV5Fmtzd/7Vw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7331061},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.196.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.196.tgz","_integrity":"sha512-moIICnzWEfrky23N6zekNJEqu4bQqrFIe9BiI+36QLkqT4rLkWaHm8jwYTDsF0iTmEXBBWLhzpf5rxtmS0l3wQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.196_1783322193238_0.9300801656470066","host":"s3://npm-registry-packages-npm-production"}},"1.5.197":{"name":"@waifucave/discord-waifus","version":"1.5.197","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.197","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"e891207c48fe4828f62240483e8e03674c022784","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.197.tgz","fileCount":215,"integrity":"sha512-6ml4cMygZheV4dH8f3xD6X1Uxos4ZxDzXBVBiqgrZ453ml6luvaWgRcEgxI1nehcdqGLp0wXPrOHtCNUqV2dbw==","signatures":[{"sig":"MEUCIQDyu7zKW6+of4Xu1OIfBrk6v/NC0lNejOTkGe1H/9r+gQIgZLloKLPmDSToGWpiAs7HHxMfjXKlvTYhk1HIa7bdqzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7354092},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.197.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.197.tgz","_integrity":"sha512-6ml4cMygZheV4dH8f3xD6X1Uxos4ZxDzXBVBiqgrZ453ml6luvaWgRcEgxI1nehcdqGLp0wXPrOHtCNUqV2dbw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.197_1783329692974_0.7488833258257599","host":"s3://npm-registry-packages-npm-production"}},"1.5.198":{"name":"@waifucave/discord-waifus","version":"1.5.198","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.198","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"fa28b0017e3c05277e6eac45fd3c1413fbd46915","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.198.tgz","fileCount":215,"integrity":"sha512-AclHfydnn+Z70U8djva4+jFjwfsu8yt12d/+kqcXZfTUZtJwZrwM+9S3zdPLOT06Z0byQP/kdmJZ28AiYKOlqw==","signatures":[{"sig":"MEQCIECYYMacd2gfTLFKZzy731LW9g83vMkpET25vB6z1K7sAiBTjNTYYfi+Xe9ZjHayRANo6N0IntinnPzL2AHzwWWDTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7365615},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.198.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.198.tgz","_integrity":"sha512-AclHfydnn+Z70U8djva4+jFjwfsu8yt12d/+kqcXZfTUZtJwZrwM+9S3zdPLOT06Z0byQP/kdmJZ28AiYKOlqw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.198_1783332462060_0.3949920715213038","host":"s3://npm-registry-packages-npm-production"}},"1.5.199":{"name":"@waifucave/discord-waifus","version":"1.5.199","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.199","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"c181b30ef93b62ebef21332ac41c199609852da0","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.199.tgz","fileCount":215,"integrity":"sha512-QE6X5v7rlXNnplRC2rY98THfM57pfuWsUxgmaC/Ls2C7hu/4k3cFwsbIMblokQNG1rkp0DgQ0/2iOF7I/WNOkQ==","signatures":[{"sig":"MEUCICgKS4JGyRv6bspVF3/Gz2Q9rdp8XNLN3ufcd5KqOb3xAiEAjNJ7a+Ex2U3R/DdAXMJgSK7NjohFdGyexYOAOArsgUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7367961},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.199.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.199.tgz","_integrity":"sha512-QE6X5v7rlXNnplRC2rY98THfM57pfuWsUxgmaC/Ls2C7hu/4k3cFwsbIMblokQNG1rkp0DgQ0/2iOF7I/WNOkQ==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.199_1783332926767_0.983809878326994","host":"s3://npm-registry-packages-npm-production"}},"1.5.200":{"name":"@waifucave/discord-waifus","version":"1.5.200","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.200","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"9024ab23da7ba036b0db045a4514cc582ea69753","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.200.tgz","fileCount":215,"integrity":"sha512-NTEAYuP4USoVWlFBSsGq+ZzBV0QdSQxoqXcNIs5q/4vKbH9Vp1Y0lg3epHd09WxcXgrxOgcd3vnXY8jHCiSkBw==","signatures":[{"sig":"MEYCIQDA2CViEso+d9aB7X7Ed7fNrtzziqipFZX19idbnJRZMwIhAKesvsXcbQFB2vDTEbrcXCrJH9V5zMsEJ7hYDNlsgHqB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7375153},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.200.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.200.tgz","_integrity":"sha512-NTEAYuP4USoVWlFBSsGq+ZzBV0QdSQxoqXcNIs5q/4vKbH9Vp1Y0lg3epHd09WxcXgrxOgcd3vnXY8jHCiSkBw==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.200_1783338471846_0.1952270505241931","host":"s3://npm-registry-packages-npm-production"}},"1.5.201":{"name":"@waifucave/discord-waifus","version":"1.5.201","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.201","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"550f87a221a763d3b4f96b0af19434d61a959f35","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.201.tgz","fileCount":215,"integrity":"sha512-fsRHAmQF4D6+yuKFDDcJtbxhSjh25QCB7/JqCICVwtOB7ULj7haa4E9CSPccM+VqLx6/hrTuTNBMLBjzdgdCCg==","signatures":[{"sig":"MEYCIQC/GOegz3x3v9BAt51WekrX75KhxsMCZH9nUyUmq9U54QIhALWrVLTmpDnxGV+nIAfHlpZgfSOddc+bJ/u4LQVA2/EP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7377768},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.201.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.201.tgz","_integrity":"sha512-fsRHAmQF4D6+yuKFDDcJtbxhSjh25QCB7/JqCICVwtOB7ULj7haa4E9CSPccM+VqLx6/hrTuTNBMLBjzdgdCCg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.201_1785899029202_0.8250130259514044","host":"s3://npm-registry-packages-npm-production"}},"1.5.202":{"name":"@waifucave/discord-waifus","version":"1.5.202","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.202","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"15e13ee368b29d3300e7e8807707e4b800755487","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.202.tgz","fileCount":215,"integrity":"sha512-r+EA/FGAOgVNcJz8eYkmUehJMpOCZpkXkC0Wfi2iPwaUPMm/ZHBjzvjV//PEQO+XAlLaAziv0DC86rspGspI5A==","signatures":[{"sig":"MEYCIQCtmWzUj685Mfev7hAH1fHuW7bnRyHDvxLiOLKU9OjLaAIhAKrohM9cqs3eRhJ3j+LZ60JOfM49CZtDOhXnsZ0BbZsQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7378464},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.202.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.202.tgz","_integrity":"sha512-r+EA/FGAOgVNcJz8eYkmUehJMpOCZpkXkC0Wfi2iPwaUPMm/ZHBjzvjV//PEQO+XAlLaAziv0DC86rspGspI5A==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.202_1785925054083_0.01881336005108314","host":"s3://npm-registry-packages-npm-production"}},"1.5.203":{"name":"@waifucave/discord-waifus","version":"1.5.203","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"license":"MIT","_id":"@waifucave/discord-waifus@1.5.203","maintainers":[{"name":"k7591268307193","email":"k@revvert.xyz"}],"homepage":"https://github.com/waifucave/discord-waifus#readme","bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"bin":{"waifus":"bin/waifus.mjs"},"dist":{"shasum":"7f242be05c400555b60cba5956b55712147a678b","tarball":"https://registry.npmjs.org/@waifucave/discord-waifus/-/discord-waifus-1.5.203.tgz","fileCount":215,"integrity":"sha512-8IOy9f8XmSLhfoR9vzsZWFJI0iapdlax051V1hsnkTnuz/byl0IMY8Nr5MldINrZvp+NnS5bwTLndRQMJZbHMg==","signatures":[{"sig":"MEYCIQCLuHZ0mFd2RP1JQXsFMbFaowg06TRPvTDt7wuhfIfI8gIhAMBnZFMWVSmqLTRYfCcwzGtxtIvW/WkE33zFt9vnxH0W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7390847},"type":"module","_from":"file:artifacts/waifucave-discord-waifus-1.5.203.tgz","engines":{"node":">=20"},"private":false,"scripts":{"dev":"node ./bin/waifus.mjs dev","test":"vitest run","build":"npm run build:backend && npm run build:frontend","waifus":"node ./bin/waifus.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p src/frontend/tsconfig.json --noEmit","test:watch":"vitest","dev:frontend":"vite --config src/frontend/vite.config.ts","release:beta":"node ./scripts/release.mjs","build:backend":"rm -rf dist && tsc -p tsconfig.json","build:frontend":"vite build --config src/frontend/vite.config.ts","prepublishOnly":"node ./scripts/check-no-file-deps.mjs && npm run test && npm run build"},"_npmUser":{"name":"k7591268307193","email":"k@revvert.xyz"},"_resolved":"/home/runner/work/discord-waifus/discord-waifus/artifacts/waifucave-discord-waifus-1.5.203.tgz","_integrity":"sha512-8IOy9f8XmSLhfoR9vzsZWFJI0iapdlax051V1hsnkTnuz/byl0IMY8Nr5MldINrZvp+NnS5bwTLndRQMJZbHMg==","repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"_npmVersion":"10.8.2","description":"Local Discord waifu orchestrator backend, web UI, and CLI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","fastify":"^5.8.5","smol-toml":"^1.6.1","discord.js":"^14.26.4","tesseract.js":"7.0.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","tesseract.js-core":"7.0.0","@dnd-kit/utilities":"^3.2.2","@waifucave/gateway":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","typescript":"^6.0.3","@types/node":"^25.8.0","@types/react":"^19.2.14","lucide-react":"^1.16.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/discord-waifus_1.5.203_1785935343890_0.6306522436114439","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-06-10T21:25:49.615Z","modified":"2026-10-03T09:17:35.666Z","1.5.154":"2026-06-10T21:25:50.093Z","1.5.155":"2026-06-10T21:54:50.709Z","1.5.156":"2026-06-12T06:26:30.307Z","1.5.157":"2026-06-12T13:56:30.702Z","1.5.158":"2026-06-12T20:50:26.091Z","1.5.159":"2026-07-02T12:13:06.728Z","1.5.160":"2026-07-02T15:52:09.556Z","1.5.161":"2026-07-02T17:34:04.435Z","1.5.162":"2026-07-02T17:41:28.650Z","1.5.163":"2026-07-02T18:31:03.194Z","1.5.164":"2026-07-02T19:27:26.680Z","1.5.165":"2026-07-02T19:44:24.373Z","1.5.166":"2026-07-02T19:59:30.044Z","1.5.167":"2026-07-02T20:10:03.907Z","1.5.168":"2026-07-02T22:01:15.684Z","1.5.169":"2026-07-02T22:34:44.924Z","1.5.170":"2026-07-02T23:51:00.084Z","1.5.171":"2026-07-03T08:26:57.979Z","1.5.172":"2026-07-03T08:33:08.312Z","1.5.173":"2026-07-03T08:52:23.365Z","1.5.174":"2026-07-03T12:09:42.738Z","1.5.175":"2026-07-04T05:42:04.815Z","1.5.176":"2026-07-04T09:08:03.247Z","1.5.177":"2026-07-04T10:44:07.792Z","1.5.178":"2026-07-04T10:46:53.760Z","1.5.179":"2026-07-04T11:07:58.337Z","1.5.180":"2026-07-04T11:19:28.016Z","1.5.181":"2026-07-04T15:41:55.748Z","1.5.182":"2026-07-04T16:51:53.959Z","1.5.183":"2026-07-04T22:04:22.684Z","1.5.184":"2026-07-05T08:17:54.940Z","1.5.185":"2026-07-05T15:54:16.227Z","1.5.186":"2026-07-05T16:43:44.874Z","1.5.187":"2026-07-05T17:14:13.738Z","1.5.188":"2026-07-05T19:00:47.469Z","1.5.189":"2026-07-05T21:51:03.385Z","1.5.190":"2026-07-05T22:07:06.911Z","1.5.191":"2026-07-05T22:55:04.507Z","1.5.192":"2026-07-05T23:56:41.547Z","1.5.193":"2026-07-06T00:53:20.651Z","1.5.194":"2026-07-06T06:20:32.031Z","1.5.195":"2026-07-06T06:53:20.320Z","1.5.196":"2026-07-06T07:16:33.475Z","1.5.197":"2026-07-06T09:21:33.196Z","1.5.198":"2026-07-06T10:07:42.263Z","1.5.199":"2026-07-06T10:15:26.980Z","1.5.200":"2026-07-06T11:47:52.060Z","1.5.201":"2026-08-05T03:03:49.499Z","1.5.202":"2026-08-05T10:17:34.281Z","1.5.203":"2026-08-05T13:09:04.201Z"},"bugs":{"url":"https://github.com/waifucave/discord-waifus/issues"},"license":"MIT","homepage":"https://github.com/waifucave/discord-waifus#readme","keywords":["discord","discord-bot","ai","orchestrator","waifu","local-first"],"repository":{"url":"git+https://github.com/waifucave/discord-waifus.git","type":"git"},"description":"Local Discord waifu orchestrator backend, web UI, and CLI.","maintainers":[{"email":"k@revvert.xyz","name":"k7591268307193"},{"email":"heavenllydemon@proton.me","name":"heavenllydemon"}],"readme":"<div align=\"center\">\n\n# 💬 Discord Waifus\n\n### A cast of AI characters that *live* in your Discord server — each with their own personality, picking fights, cracking jokes, and replying on their own.\n\n[![npm version](https://img.shields.io/npm/v/@waifucave/discord-waifus?color=ff6ad5&label=npm&logo=npm)](https://www.npmjs.com/package/@waifucave/discord-waifus)\n[![downloads](https://img.shields.io/npm/dm/@waifucave/discord-waifus?color=8a2be2&logo=npm)](https://www.npmjs.com/package/@waifucave/discord-waifus)\n[![node](https://img.shields.io/node/v/@waifucave/discord-waifus?color=5865F2&logo=node.js)](https://nodejs.org)\n[![license](https://img.shields.io/github/license/waifucave/discord-waifus?color=ff8fab)](LICENSE)\n[![stars](https://img.shields.io/github/stars/waifucave/discord-waifus?style=social)](https://github.com/waifucave/discord-waifus)\n\n**[Install](#-quick-start) · [Features](#-features) · [Setup](#-setup) · [Providers](#-supported-ai-providers) · [Dev](#-for-developers)**\n\n</div>\n\n---\n\n<div align=\"center\">\n\n<img src=\"docs/images/cast-roast.png\" alt=\"Multiple AI waifus roasting each other in a Discord channel\" width=\"600\">\n\n*Aria, Riko, Lumi & co. roasting each other in real time — no humans required.*\n\n<br>\n\n<img src=\"docs/images/cast-drama.png\" alt=\"AI waifus reacting to an impersonator with replies and emoji reactions\" width=\"600\">\n\n*They reply to each other, react with emojis, and even call out impersonators.*\n\n</div>\n\n---\n\n## 🌸 What is this?\n\n**Discord Waifus** turns your server into a living group chat full of AI personalities.\n\nYou set up a roster of **waifus** — each one with her own persona, avatar, AI model, and Discord bot. A separate **orchestrator** watches every channel and decides, message by message, *who* should jump in (or whether everyone should stay quiet). The result: characters that banter, roast, comfort, and gossip — with each other *and* with you.\n\nIt runs **entirely on your own machine**, configured through a clean **web dashboard**. No cloud account, no server to rent — just your API keys and your imagination.\n\n---\n\n## ✨ Features\n\n- 🎭 **Multiple waifus** — each with a unique persona, avatar, Discord bot, and AI model.\n- 🧠 **Smart orchestrator** — decides who replies in each channel, or whether to stay silent.\n- 💬 **They talk to each other** — idle banter and group chaos when the channel goes quiet.\n- ⌨️ **Realistic typing** — replies are split into chunks and sent with natural typing delays.\n- 🖼️ **Reads images** — bundled WebAssembly OCR lets them react to memes and screenshots, with zero extra install.\n- 🧩 **Mix & match providers** — x.ai, OpenAI, Anthropic, DeepSeek, Z.AI, and Google AI Studio models, side by side.\n- 🎚️ **Per-channel control** — choose exactly which waifus are active in which channels.\n- 🧷 **Persistent memory** — they remember things across conversations.\n- 🕵️ **Reviewer pass** — an optional second look that can catch and delete off-character replies.\n- 🖥️ **Web dashboard** — set everything up in your browser. No hand-edited config files.\n- 🔒 **Local-first & private** — runs on your machine; all your data stays in `~/.dc-waifus`.\n\n---\n\n## 🚀 Quick Start\n\n> Requires **Node.js 20 or newer**.\n\n```sh\nnpm install -g @waifucave/discord-waifus@latest\nwaifus start\n```\n\nThen open the dashboard:\n\n```text\nhttp://127.0.0.1:3888\n```\n\nThat's it. 🖼️ Image-text reading (OCR) works **out of the box on every platform** — a bundled WebAssembly Tesseract ships with the package along with the English model, so there's nothing extra to install.\n\n<details>\n<summary>🔁 Migrating from the old <code>@starlight-ai</code> package?</summary>\n\n<br>\n\nThe package moved to the WaifuCave npm organization. Existing installs can keep the same saved data in `~/.dc-waifus`; only the npm package location changes.\n\n```sh\nwaifus update\nwaifus restart\nwaifus update\n```\n\nThe first update moves the global `waifus` command to `@waifucave/discord-waifus`. `waifus restart` stops the old running backend and starts the WaifuCave package against the same data root. The second update removes the legacy `@starlight-ai/discord-waifus` global package if it is still present and relinks the shared `waifus` command.\n\nIf you use a custom data root, pass the same one when restarting:\n\n```sh\nwaifus restart --data-root /path/to/.dc-waifus\n```\n\n</details>\n\n<details>\n<summary>📦 Prefer a GitHub release tarball?</summary>\n\n<br>\n\nDownload the `.tgz` release asset, then install it globally:\n\n```sh\nnpm install -g ./waifucave-discord-waifus-1.0.0.tgz\nwaifus start\n```\n\nGitHub-release installs can update straight from the next release asset:\n\n```sh\nwaifus update --github\n```\n\n</details>\n\n---\n\n## 🎮 Setup\n\nYou'll create **one Discord application for the orchestrator** and **one application for each waifu bot**. Then, in the web dashboard:\n\n1. 🤖 Add the orchestrator bot token and Application ID in **Orchestrator**.\n2. 🔑 Add your provider API keys in **Providers**.\n3. 🎭 Create each waifu — model, persona, and bot token — in **Waifus**.\n4. 📨 Invite the bots to your server from **Servers**.\n5. ✅ Pick at least one waifu for each channel where the cast should come alive.\n\n### Required gateway intents\n\nEnable these for each bot in the Discord Developer Portal:\n\n```text\nGUILDS\nGUILD_MESSAGES\nGUILD_MESSAGE_REACTIONS\nMESSAGE_CONTENT\n```\n\n> ⚠️ **`MESSAGE_CONTENT`** must be enabled in the Developer Portal so the waifus can read full channel context.\n\n---\n\n## 🧩 Supported AI providers\n\nMix providers freely — give each waifu the brain that fits her personality.\n\n| Provider                  | Models                                  |\n| ------------------------- | --------------------------------------- |\n| ⚫ **x.ai**               | Grok 4.x                                |\n| 🟢 **OpenAI**            | GPT-5.x & GPT-4o                        |\n| 🟠 **Anthropic**         | Claude 4.x (Opus / Sonnet / Haiku)     |\n| 🔵 **DeepSeek**          | DeepSeek V4                             |\n| 🟡 **Z.AI**              | GLM 5 & GLM 4.x                         |\n| 🔴 **Google AI Studio**  | Gemini 3.x & 2.5                        |\n\nEach model has its own dedicated request pipeline, so provider-specific options (like reasoning/thinking controls) are exposed properly instead of being flattened into one generic shape.\n\n---\n\n## ⌨️ CLI\n\nEverything is also drivable from the terminal via the global `waifus` command:\n\n| Command            | What it does                                            |\n| ------------------ | ------------------------------------------------------- |\n| `waifus start`     | Boot the backend + dashboard.                           |\n| `waifus stop`      | Stop the running app.                                   |\n| `waifus restart`   | Restart it.                                             |\n| `waifus status`    | Show whether it's running and where.                    |\n| `waifus doctor`    | Health check (incl. whether bundled OCR is usable).     |\n| `waifus clean`     | Delete saved user data (use intentionally!).            |\n| `waifus update`    | Update the installed package.                           |\n\nCommon flags: `--host 127.0.0.1`, `--port 3888`, `--data-root PATH`.\n\n`waifus update` updates the installed package (default `--npm`); use `waifus update --github` to pull the latest release `.tgz`. Set `DC_WAIFUS_HOME=PATH` to override the default `~/.dc-waifus` data root.\n\n---\n\n## ⭐ Star History\n\nIf your server's waifus made you laugh, consider dropping a star — it genuinely helps. 💖\n\n<div align=\"center\">\n  <a href=\"https://star-history.com/#waifucave/discord-waifus&Date\">\n    <img src=\"https://api.star-history.com/svg?repos=waifucave/discord-waifus&type=Date\" alt=\"Star History Chart\" width=\"600\">\n  </a>\n</div>\n\n---\n\n## 🧰 For developers\n\n<details>\n<summary>Build from source, run in dev mode, and where data lives</summary>\n\n<br>\n\n**Build & run from source:**\n\n```sh\ngit clone https://github.com/waifucave/discord-waifus.git\ncd discord-waifus\nnpm install\nnpm run build\nnpm run waifus -- start\n```\n\n**Local development** (backend in dev + Vite dashboard on `:5173` proxying `/api` to `127.0.0.1:3888`):\n\n```sh\nnpm run waifus -- dev\nnpm run dev:frontend\n```\n\n**Data layout** — runtime and user config live under `~/.dc-waifus`:\n\n```text\n~/.dc-waifus/config.toml\n~/.dc-waifus/user/providers.json\n~/.dc-waifus/user/discord-bots.json\n~/.dc-waifus/user/waifus/\n~/.dc-waifus/user/servers/\n~/.dc-waifus/user/memories.json\n~/.dc-waifus/app/logs/\n~/.dc-waifus/app/cache/ocr/\n~/.dc-waifus/app/tmp/ocr/\n```\n\n**Architecture & contributor notes:** see [`CLAUDE.md`](CLAUDE.md) and [`AGENTS.md`](AGENTS.md). In short — a single-process local app: a Fastify backend serves the prebuilt React dashboard, connects the Discord gateway clients, and runs a per-channel orchestration loop. User data is revisioned JSON under `~/.dc-waifus/user/`.\n\n</details>\n\n---\n\n## 📄 License\n\nDiscord Waifus is released under the **MIT License** — see [`LICENSE`](LICENSE).\n\nThe bundled OCR runtime (`tesseract.js` / `tesseract.js-core`, which embed Tesseract and Leptonica) and the bundled English model (`assets/ocr/eng.traineddata`) are third-party components under the **Apache License 2.0**; see [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).\n\n<div align=\"center\">\n\n<br>\n\n*Made for chaotic group chats. 🌙*\n\n</div>\n","readmeFilename":"README.md"}