{"_id":"@arach/peal","_rev":"13-88be25286033d082247f46c6d1ff3534","name":"@arach/peal","dist-tags":{"latest":"0.3.6"},"versions":{"0.1.0":{"name":"@arach/peal","version":"0.1.0","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.1.0","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"17088f432728b93ad3dda7fd7081f3cfd5570cdf","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.1.0.tgz","fileCount":37,"integrity":"sha512-OJOdphj4ZnikSNjYyiBXatunIwqnkTw4uhNONj2iNVCrqqSQ89WmUXu3ClHh0NcyF/AYEJ4AU1piIz+x5rGf6Q==","signatures":[{"sig":"MEUCIQC9moQ+5Xxnob4h9PQoVDLL/GiqErNAdMUyXISQJ4ae3wIgUBl/PWp35WlYFPIxaZ5hPhuWZ967uHndPg3E+Y7LaT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1108573},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16"},"gitHead":"fa686594b65b82d953518f7a2cb0f6d27298562c","scripts":{"cli":"node cli/index.js","dev":"next dev","lint":"next lint","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src --ext .ts","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","prepublishOnly":"pnpm build:lib","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","actor":{"name":"arach","type":"user","email":"arach@tchoupani.com"},"email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"11.4.1","description":"A lightweight sound effect library for web and desktop applications","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.0.1","next":"15.3.4","chalk":"^5.3.0","jszip":"^3.10.1","react":"19.0.0-rc.1","howler":"^2.2.4","zustand":"^4.5.4","inquirer":"^9.2.15","commander":"^12.0.0","react-dom":"19.0.0-rc.1","@types/jszip":"^3.4.1","lucide-react":"^0.523.0","framer-motion":"^12.19.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","postcss":"^8.4.39","puppeteer":"^24.10.2","typescript":"^5.3.3","@types/node":"^20.11.5","tailwindcss":"^3.4.4","@types/react":"^19.1.8","autoprefixer":"^10.4.19","@types/howler":"^2.2.12","@types/react-dom":"^19.1.6","eslint-config-next":"15.3.4","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.1.0_1751315678978_0.11492861468919968","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@arach/peal","version":"0.2.3","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.2.3","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"96cb56a40532449969fd0bdb48c2f704be42b623","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.2.3.tgz","fileCount":40,"integrity":"sha512-rigor+Zn4rKxzjiOT8EsH2rADp68K3EVUnLHftkQLBRMSxr38igdgL8YTH5AaSa8MJr4HXNX/Lzh+HyQ8HE8nw==","signatures":[{"sig":"MEQCIGAt0S+G5QXTHKBR5b2bcio9DzvY4QEvOwlUsN/qImNwAiBjDMQMjXQ4D3HsSwJ+APK0gH0e1hT1ru3eG9WTN/iwpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2296690},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"988f3d648e15c18af51e5259de48906c0adc83c2","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","prebuild:static":"node scripts/prepare-static-build.js","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Professional UI sounds for web apps - CLI to manage sounds, thin Howler.js wrapper to play them","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.2.3_1782869562733_0.20948191196931876","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@arach/peal","version":"0.2.4","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.2.4","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"62d2bb001c7c0e961d89cb4d07f01568c4ba995a","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.2.4.tgz","fileCount":40,"integrity":"sha512-iNqNfcL3O8Yi6n+dtfV6ctekERxveWQB0Q1K4EmQY0X5bRBcH+eubd+zxXrTmxmwmi7j/KMjLGwCaqKFih6FCw==","signatures":[{"sig":"MEQCIAp92G3vcLiakGevaAkNmkojI6vEJ7pJIWHxxcbDLIkKAiAqx1w/dlkrrL96VHapIBhYdmRAJNg5hADDvmCKT7HViQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2295254},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"716983159931e0158d830f32f1b4fb3f70f414da","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","prebuild:static":"node scripts/prepare-static-build.js","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.2.4_1782925963277_0.37023265073064726","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@arach/peal","version":"0.2.5","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.2.5","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"f1e2bfc6cb8c6e0ed2f9fe40d7e97cc552e9c866","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.2.5.tgz","fileCount":40,"integrity":"sha512-RLe5ieE0NAIk8tXyIhCdB3fHoKnrsDBriewAjTj8xJKw7mpRSHBclRt7pTDZjwo0BFlEuwsDsdVGDjCO8g5F3Q==","signatures":[{"sig":"MEQCIGIDxe5JUxfU2xvkI5jTN5kmFpP9CMR3aqzKxqLTKRGDAiA2VbFqtCPULILj0ztHKFJIYsxgwFkF1vScArhOw+jAvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2295250},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"d5047aaf7a406a1527df920b46dd7f8c59f84e20","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","prebuild:static":"node scripts/prepare-static-build.js","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.2.5_1782926001587_0.44838193452382313","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@arach/peal","version":"0.2.6","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.2.6","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"2901034d51e55dcc1d6abc3cb8a6a491965f5022","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.2.6.tgz","fileCount":40,"integrity":"sha512-u1kNfsDafx8qfNdTujDwf+QuAxD3+mIfcTzmcjZkYMes6zZDaRrWRXBijS5TtYO5CND/LM9MnKhncbXd8BhQsw==","signatures":[{"sig":"MEYCIQCsBGx74YvAdHRNV7r1CQNsyzoWFiACcxRRYUOXLD4RCAIhANzNBgsrBDjNVuNNa7AlzbCIX2QZE4ilRlP5j1+N/dJA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2288188},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"2596cee4c6ddd9c39e00a4a3106d9780f2ae12b5","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","prebuild:static":"node scripts/prepare-static-build.js","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.2.6_1782926111384_0.3373301485166331","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@arach/peal","version":"0.2.7","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.2.7","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"97d9b02cb1eea94c894c0def6b960fa078efa7c6","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.2.7.tgz","fileCount":40,"integrity":"sha512-aeMhOHwXKRNGwKo0sT60CGNTSG4bbL67046CbN/pMUdhlZvXkY1H3P4BgtTxn1dODvysHxUJEtMK79YPvcupOQ==","signatures":[{"sig":"MEQCIA17nBYeQ/yctVtIkXlCW5TrMljPPkMkZlsg7fOb7yChAiA48Q5U2FaNAOJ9bKAEl1H/vkt6VK3Eq8HqMCjry15MXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2288182},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"7ca2ab5ac2b4774f0bf0c6c7c409541e2811415c","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","prebuild:static":"node scripts/prepare-static-build.js","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.2.7_1782926134749_0.3966995802352109","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@arach/peal","version":"0.3.0","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.0","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://github.com/arach/peal#readme","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"bbfb77e5ce699c78c38903d6b6253cee1f7beed6","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.0.tgz","fileCount":40,"integrity":"sha512-ZtVvbapclqwm7jnxeaXJ3RiPAXeOmt1J85OfPUMw/euUN3pPCAQO9/z7UPC9LKB2HCSOHkQwE49JOzfKs/r+7Q==","signatures":[{"sig":"MEYCIQDZGgZM/f2D+tJ9dpESY42KVAh+2kLB+lFinp/ViFYPgwIhAPKCHYw0PAa1R1s54A33ntR3ERYnSEpUXxWO0GHOiIfU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2290125},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"81751b1722ecf3df86d1ff3ebb3e6c7a7aa96a30","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","strudel":"bun scripts/strudel-cli.ts","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","strudel:path":"bun scripts/strudel-cli.ts path","strudel:stop":"bun scripts/strudel-cli.ts stop","strudel:start":"bun scripts/strudel-cli.ts start","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","strudel:status":"bun scripts/strudel-cli.ts status","prebuild:static":"node scripts/prepare-static-build.js","strudel:install":"bun scripts/strudel-cli.ts install","strudel:set-path":"bun scripts/strudel-cli.ts set-path","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.0_1783352949795_0.14291634572932832","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@arach/peal","version":"0.3.1","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.1","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://arach.github.io/peal/","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"11d05d3c3ab0432bca672fb690569c8504e3aa52","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.1.tgz","fileCount":40,"integrity":"sha512-clEIn9NFdd3e42M/nJs2UBvh7karwKs8XfZyD6wlAMLn3VLxqUKK5yXftv8o/6hXcY90Cixkd7MGKIRPawZPkA==","signatures":[{"sig":"MEUCIQCFwyxWeMsC2vKqy0V99xDbSF+oz+MHUyXqSW0xBTfFagIgWYT2EAlIF5LI6bVj0lMGGC8TrBo/aGLwPRs35N3YVPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2306853},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"e1c70b0250793d7e7edf3b42b9b2295417a0a3b1","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","strudel":"bun scripts/strudel-cli.ts","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","strudel:path":"bun scripts/strudel-cli.ts path","strudel:stop":"bun scripts/strudel-cli.ts stop","strudel:start":"bun scripts/strudel-cli.ts start","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","strudel:status":"bun scripts/strudel-cli.ts status","prebuild:static":"node scripts/prepare-static-build.js","strudel:install":"bun scripts/strudel-cli.ts install","postbuild:static":"node scripts/restore-static-build.js","strudel:set-path":"bun scripts/strudel-cli.ts set-path","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player. Web app: https://arach.github.io/peal/","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"file:../hudson/packages/web/hudsonkit","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"file:../hudson/packages/web/ai-backends","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.1_1783432911779_0.2888310722976746","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@arach/peal","version":"0.3.2","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.2","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://arach.github.io/peal/","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"12c7ab2f7fd273223a2052bd646c32ae305ad626","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.2.tgz","fileCount":39,"integrity":"sha512-5ogNd75pYyO4DZqVdeU2sTzjCOrWhLx/4/QPiSby0GEHWsRAZybpr6B928Tl0TTu5nRKbhHaqFy7wv3w85Li4g==","signatures":[{"sig":"MEUCIQDnUAo/55j1WYTTnEmf+D/dRL11eAz85TSRf32bX/DHuQIge+t4uifpmzG+6OVtMOC3zxBSskoqq2TTnyefwsMGLuA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1024615},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","strudel":"bun scripts/strudel-cli.ts","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","strudel:path":"bun scripts/strudel-cli.ts path","strudel:stop":"bun scripts/strudel-cli.ts stop","strudel:start":"bun scripts/strudel-cli.ts start","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","strudel:status":"bun scripts/strudel-cli.ts status","prebuild:static":"node scripts/prepare-static-build.js","strudel:install":"bun scripts/strudel-cli.ts install","postbuild:static":"node scripts/restore-static-build.js","strudel:set-path":"bun scripts/strudel-cli.ts set-path","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player. Web app: https://arach.github.io/peal/","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"^0.3.4","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"^0.2.2","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.2_1783806416022_0.09037764364651446","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@arach/peal","version":"0.3.3","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.3","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://peal.app","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"9f315999a350a338478a5de2caf03b4d3b09c0d2","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.3.tgz","fileCount":41,"integrity":"sha512-qV/SeyASMUVhGjS+ovAlDCNfNfLeAw+p5mexLDBOTAslkaY0iDrh3fKchur5TyQJ8yAmU5JaJK3bscMKhHqe5g==","signatures":[{"sig":"MEUCIQDrlypMJWLLAQxpb1WzRJcbwZjy1AgZhXYBpz0iXv7vqgIgX3ZxLMpPQT7upbEGmMgdYxnBAPGyo0C5xSlUA00ffww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2308346},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=20.0.0"},"gitHead":"eda3e7f4f5ea87c67c6786c5602e501a48925f0c","scripts":{"cli":"node cli/index.js","dev":"next dev --port 3001","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","start":"next start","predev":"node scripts/setup-directories.js","dev:lib":"tsup src/index.ts --format cjs,esm --dts --watch","strudel":"bun scripts/strudel-cli.ts","lint:lib":"eslint src","build:lib":"tsup src/index.ts --format cjs,esm --dts --tsconfig tsconfig.lib.json","build:web":"next build","credentials":"node scripts/check-credentials.mjs","postpublish":"git checkout README.md","publish:npm":"node scripts/publish-npm.mjs","build:static":"BUILD_STATIC=true NEXT_PUBLIC_BUILD_STATIC=true next build","strudel:path":"bun scripts/strudel-cli.ts path","strudel:stop":"bun scripts/strudel-cli.ts stop","strudel:start":"bun scripts/strudel-cli.ts start","prepublishOnly":"cp README.npm.md README.md && pnpm build:lib","strudel:status":"bun scripts/strudel-cli.ts status","prebuild:static":"node scripts/prepare-static-build.js","strudel:install":"bun scripts/strudel-cli.ts install","postbuild:static":"node scripts/restore-static-build.js","strudel:set-path":"bun scripts/strudel-cli.ts set-path","publish:npm:arach":"node scripts/publish-npm.mjs --only @arach/peal","seed:message-beds":"node scripts/seed-message-beds.mjs","cli:generate-sounds":"node cli/generate-cli-sounds.cjs"},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — CLI copies WAVs into your project and generates a Howler.js player. Web app: https://peal.app","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^7.0.6","ora":"^9.4.1","zod":"^4.4.3","clsx":"^2.1.1","chalk":"^5.6.2","howler":"^2.2.4","inquirer":"^14.0.2","commander":"^15.0.0","hudsonkit":"^0.3.4","yt-dlp-wrap":"^2.3.12","@voxd/client":"^0.3.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.22.0","@hudsonkit/ai":"^0.2.2","@pierre/diffs":"^1.2.11","fluent-ffmpeg":"^2.1.3","@ai-sdk/openai":"^4.0.3","tailwind-merge":"^3.6.0","youtube-dl-exec":"^3.1.8","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","@codemirror/state":"^6.7.0","@xterm/addon-webgl":"^0.19.0","@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/language":"^6.12.4","@radix-ui/react-slot":"^1.3.0","@types/fluent-ffmpeg":"^2.1.28","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@earendil-works/pi-ai":"^0.74.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","node-ffmpeg-installer":"^1.1.2","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.1","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@codemirror/lang-markdown":"^6.5.0","@radix-ui/react-separator":"^1.1.10","@codemirror/lang-javascript":"^6.2.5","@radix-ui/react-dropdown-menu":"^2.1.18"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"next":"16.2.9","tsup":"^8.5.1","vite":"^8.1.0","jszip":"^3.10.1","react":"^19.2.7","eslint":"^10.6.0","vitest":"^4.1.9","postcss":"^8.5.16","zustand":"^5.0.14","puppeteer":"^25.2.1","react-dom":"^19.2.7","playwright":"^1.61.1","typescript":"^6.0.3","@types/node":"^26.0.1","tailwindcss":"^4.3.2","@types/react":"^19.2.17","@types/howler":"^2.2.13","framer-motion":"^12.42.0","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","eslint-config-next":"16.2.9","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4.3.2"},"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.3_1783806436141_0.36594077212966925","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@arach/peal","version":"0.3.4","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.4","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://peal.app","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"c8df926b0d34200466a383e1e151e6bf3d76b8b6","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.4.tgz","fileCount":30,"integrity":"sha512-UjbkyzGFvQ8de9+us5qTa1f+D5PJ0NHySIfGPBUBcQLfafEGtMItvbnrEaWCIJ67+nrCMJg5rxLuczx262Ev/w==","signatures":[{"sig":"MEUCIEalpGIjntW1b2p1jHfdbbRKuYoJNnIMa6TgFCZzRn1pAiEA7r4mqTg5QFFy0LxQ41RVh11f65nh8LEtPTvTr01dI6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1054063},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — copy WAVs into your project with a zero-dependency generated player. Web app: https://peal.app","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.4_1783958966060_0.8996901960633656","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@arach/peal","version":"0.3.5","keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"license":"MIT","_id":"@arach/peal@0.3.5","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"homepage":"https://peal.app","bugs":{"url":"https://github.com/arach/peal/issues"},"bin":{"peal":"cli/index.js"},"dist":{"shasum":"4955f660634c3b2cf7d97beb4a2ece1d5878f649","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.5.tgz","fileCount":30,"integrity":"sha512-14hozWmgdTDY6ldPqrUEgebMmYNEit+/7IJ8iKWUmU7yzyWeyvfXN7TCFJ/Afw1dWqWgckTnSdD8TsTBmkx3YA==","signatures":[{"sig":"MEUCIHDEv6Xv4E59E7n/4pgxXPD02zq18Xp8SHCuOEF93MMpAiEApLZvliZdxTveA63eAvcjfjn9y/Ubi1fy/8y2WX8dooo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1054403},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"repository":{"url":"git+https://github.com/arach/peal.git","type":"git"},"_npmVersion":"10.9.7","description":"Curated UI sounds for web apps — copy WAVs into your project with a zero-dependency generated player. Web app: https://peal.app","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/peal_0.3.5_1783963146050_0.725566303374112","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@arach/peal","version":"0.3.6","description":"Curated UI sounds for web apps — copy WAVs into your project with a zero-dependency generated player. Web app: https://arach.github.io/peal/","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"bin":{"peal":"cli/index.js"},"keywords":["sound","audio","effects","ui","web-audio"],"author":{"name":"arach"},"repository":{"type":"git","url":"git+https://github.com/arach/peal.git"},"homepage":"https://arach.github.io/peal/","bugs":{"url":"https://github.com/arach/peal/issues"},"license":"MIT","engines":{"node":">=20.0.0"},"_id":"@arach/peal@0.3.6","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-Jz3zbXiJ93viIPPjwSRXlYg/omyZDk2+vK90Xj+jLFotVCwvL+a/MU6X/oYgv+tDt2SnEUYHV+iP+K4q66YqSg==","shasum":"72943eaf941f4042d5960f3aa7126397b10f2c9c","tarball":"https://registry.npmjs.org/@arach/peal/-/peal-0.3.6.tgz","fileCount":30,"unpackedSize":1054362,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEj5SnIwEhh9U3FK7cKmLl+YMXCng7b521jgPjQLLNZQAiAKR4wBeuKVnGuJw/CTuHz4rqaepCqoQsEmd/CMfJSW+A=="}]},"_npmUser":{"name":"arach","email":"arach@tchoupani.com"},"directories":{},"maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/peal_0.3.6_1783965479144_0.676058811456232"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-30T20:34:38.918Z","modified":"2026-07-13T17:57:59.476Z","0.1.0":"2025-06-30T20:34:39.194Z","0.2.3":"2026-07-01T01:32:42.971Z","0.2.4":"2026-07-01T17:12:43.544Z","0.2.5":"2026-07-01T17:13:21.808Z","0.2.6":"2026-07-01T17:15:11.562Z","0.2.7":"2026-07-01T17:15:34.956Z","0.3.0":"2026-07-06T15:49:10.067Z","0.3.1":"2026-07-07T14:01:51.987Z","0.3.2":"2026-07-11T21:46:56.179Z","0.3.3":"2026-07-11T21:47:16.297Z","0.3.4":"2026-07-13T16:09:26.263Z","0.3.5":"2026-07-13T17:19:06.257Z","0.3.6":"2026-07-13T17:57:59.337Z"},"bugs":{"url":"https://github.com/arach/peal/issues"},"author":{"name":"arach"},"license":"MIT","homepage":"https://arach.github.io/peal/","keywords":["sound","audio","effects","ui","web-audio"],"repository":{"type":"git","url":"git+https://github.com/arach/peal.git"},"description":"Curated UI sounds for web apps — copy WAVs into your project with a zero-dependency generated player. Web app: https://arach.github.io/peal/","maintainers":[{"name":"arach","email":"arach@tchoupani.com"}],"readme":"# Peal\n\nCurated UI sounds for web apps — clicks, success chimes, errors, and the rest — copied into your repo and played through a small generated helper.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/arach/peal/master/docs/screenshots/cli.png\" alt=\"Peal CLI copying sound files and listing the built-in catalog\" width=\"720\">\n</p>\n\n## What you get\n\n1. **CLI** — pick sounds from the built-in set and copy `.wav` files into your project\n2. **Generated `peal.js`** — a tiny dependency-free player that knows where those files live\n3. **Library** (`Peal` class) — optional lower-level API if you want to wire up your own paths\n\nNo sound hosting, no accounts. Files sit in your repo; you call `peal.click()` when something happens in the UI.\n\n## Quick start\n\n```bash\nnpm install @peal-sounds/peal\n\npeal add \\\n  click \\\n  success \\\n  error\n```\n\nThat writes something like:\n\n```\nyour-project/\n├── peal.js          # generated — import this in your app\n└── peal/\n    ├── click.wav\n    ├── success.wav\n    └── error.wav\n```\n\nThen in your app:\n\n```javascript\nimport { peal } from './peal.js'\n\nbutton.addEventListener('click', () => {\n  peal.click()\n})\n\nasync function save() {\n  try {\n    await api.save()\n    peal.success()\n  } catch {\n    peal.error()\n  }\n}\n```\n\n`./peal.js` is created by the CLI in your project root. You are not importing the npm package for playback — only the generated helper, which uses the browser's built-in Audio API and points at `./peal/*.wav`.\n\nThe CLI does not install or modify any runtime dependencies in your project.\n\nPrefer a one-off without installing?\n\n```bash\nnpx @peal-sounds/peal add click\n```\n\nAlso published as `@arach/peal` (same package, older namespace).\n\nRequires **Node.js 20+**.\n\n## Install\n\n```bash\nnpm install @peal-sounds/peal\n# pnpm add @peal-sounds/peal\n# yarn add @peal-sounds/peal\n# bun add @peal-sounds/peal\n```\n\nThe `peal` binary is on your PATH after install.\n\n## Available sounds\n\n| Group | Names |\n| --- | --- |\n| UI feedback | `success`, `error`, `notification`, `click`, `tap` |\n| Transitions | `transition`, `swoosh` |\n| Loading | `loading`, `complete` |\n| Alerts | `alert`, `warning` |\n| Messages | `message`, `mention` |\n| Interactive | `hover`, `select`, `toggle` |\n| System | `startup`, `shutdown`, `unlock` |\n\n19 sounds total. Run `peal list` for the full list in the terminal.\n\n## CLI\n\n```bash\npeal add                         # interactive picker\npeal add click                   # one sound\npeal add \\                       # several sounds\n  click \\\n  success \\\n  error\npeal add --dir ./sounds          # custom folder for WAV files\npeal add --typescript            # generate peal.ts instead of peal.js\n\npeal list                   # show available sounds\npeal play click             # preview a sound\npeal demo                   # play through the set\npeal remove click           # remove from your project\n```\n\n## Using the library directly\n\nIf you already have audio files and do not need the generated helper:\n\n```javascript\nimport { Peal } from '@peal-sounds/peal'\n\nconst audio = new Peal()\naudio.load('click', '/sounds/click.wav')\naudio.play('click', { volume: 0.5, loop: false })\naudio.volume(0.8)  // global volume (0–1)\naudio.mute(true)\n```\n\nThe generated `peal.js` is the usual path for CLI-added sounds. The `Peal` class is for custom loading and paths.\n\nOptional TTS (`OPENAI_API_KEY` or `GROQ_API_KEY`):\n\n```javascript\nconst audio = new Peal({ openaiApiKey: process.env.OPENAI_API_KEY })\nawait audio.speak('Saved successfully')\n```\n\n## API (generated helper)\n\n- `peal.play(name, options?)` — play by name; options: `volume` (0–1), `loop`\n- `peal.click(options?)`, `peal.success(options?)`, … — shortcuts for sounds you added\n- `peal.stop(name?)`, `peal.pause(name?)`, `peal.resume(name?)`\n- `peal.setVolume(0.5)`, `peal.mute(true)`\n\n```javascript\npeal.play('success', { volume: 0.5, loop: false })\npeal.success({ volume: 0.5 })\n```\n\n## TypeScript\n\n```bash\npeal add --typescript\n```\n\n```typescript\nimport { peal } from './peal'\n\npeal.success()\npeal.play('success', { volume: 0.8 })\n```\n\nLibrary types:\n\n```typescript\nimport { Peal, type PealOptions } from '@peal-sounds/peal'\n```\n\n## Web app\n\nThe npm package is the CLI + library. Peal also runs in the browser — browse presets, generate sounds, or design in the studio — then copy what you need into a project with `peal add`.\n\nThe CLI does not launch or bundle Studio. Open the hosted app directly:\n\n- [SFX Studio](https://arach.github.io/peal/studio)\n- [Voice Studio](https://arach.github.io/peal/studio/voice)\n- [Music Studio](https://arach.github.io/peal/studio/music)\n- [Sound Library](https://arach.github.io/peal/library)\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/arach/peal/master/docs/screenshots/landing-hero.png\" alt=\"Peal landing page with header navigation and hero\" width=\"900\">\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/arach/peal/master/docs/screenshots/sounds.png\" alt=\"Signature sounds grid — click to preview UI sounds\" width=\"900\">\n</p>\n\n[Open the app](https://arach.github.io/peal/) · [GitHub](https://github.com/arach/peal)\n\n## Links\n\n- [Web app](https://arach.github.io/peal/)\n- [GitHub](https://github.com/arach/peal)\n- [Issues](https://github.com/arach/peal/issues)\n\nMIT — see [LICENSE](https://github.com/arach/peal/blob/master/LICENSE)\n","readmeFilename":"README.md"}