{"_id":"@ai-matrx/browser-audio","_rev":"18-25a80054bd87c4632e0122da5be90dcf","name":"@ai-matrx/browser-audio","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"@ai-matrx/browser-audio","version":"0.1.0","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.1.0","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"8a08ee032542ba54cf93d8f14a712ccb380864f8","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.1.0.tgz","fileCount":18,"integrity":"sha512-Cn4c74euW8ewZN4jd/iNdTvoOYGsW23UGKn2fOdqWmWECHemXvCnmeJIXJC+jqRpOqXeE5YdXHm3n6P4W0cs1Q==","signatures":[{"sig":"MEUCIQD6s9Bck5V/5j4kZnxqT/LGTcldweoSjVyJ5neCIdCPdgIgIfDfBXwubJUoaHi36mvfd+5sE17k3AP/RdyzUTiyFwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222616},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"},"./core":{"types":"./src/core.ts","import":"./src/core.ts"},"./matrx":{"types":"./src/matrx.ts","import":"./src/matrx.ts"},"./react":{"types":"./src/react.tsx","import":"./src/react.tsx"},"./package.json":"./package.json"},"gitHead":"5ab048d02c3578e929125ba312cfe6b9c0204d0b","scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","prepack":"pnpm build","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"armanisadeghi","email":"arman@armansadeghi.com"},"deprecated":"Broken export map; use 0.1.1 or later.","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"11.19.0","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","publishConfig":{"access":"public","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.1.0_1787431417644_0.8866353528451916","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ai-matrx/browser-audio","version":"0.1.1","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.1.1","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"a79de12e628059ae8a6b7eb808a5b3f5886392f0","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.1.1.tgz","fileCount":18,"integrity":"sha512-Gs5xkb1l8NYnP5xGafYFn8ZCp5yWTRxycfA/1iOCO3gHOBvr5IVgmTYA9NYOJs7MY4kf0zCo7rJVoc1JqtjjNQ==","signatures":[{"sig":"MEQCICryON+9HvZVA4gdBdlgisMs8lywuLvbuMBBK8gvlWCUAiBxQJJSdeQ2togDfNErF7MNIJGeOnOZbKbfTblT/8qH7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222742},"type":"module","_from":"file:/tmp/browser-audio-publish-011.YhbJFI/ai-matrx-browser-audio-0.1.1.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"armanisadeghi","email":"arman@armansadeghi.com"},"_resolved":"/tmp/browser-audio-publish-011.YhbJFI/ai-matrx-browser-audio-0.1.1.tgz","_integrity":"sha512-Gs5xkb1l8NYnP5xGafYFn8ZCp5yWTRxycfA/1iOCO3gHOBvr5IVgmTYA9NYOJs7MY4kf0zCo7rJVoc1JqtjjNQ==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"11.19.0","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.1.1_1787432079644_0.3745900039338561","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ai-matrx/browser-audio","version":"0.1.2","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.1.2","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"97427c10184326cc7fe962c6c3dca368ec77afec","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.1.2.tgz","fileCount":18,"integrity":"sha512-VKhmR5ehozKSi2+NU3fcCS6A1Vp1JVKf2ul9BHl8Oa7EQy+/UKAYGAJDSdUGR39cPKZMfUpcuUKUMdB/5i23EQ==","signatures":[{"sig":"MEYCIQDx8v7TgOyJ2DAhwIXFekq8vkpeGKHRSJQSEI7ZOXDhQgIhAKuleDiUeMVjxpiiMULUf8Mj6qx6Pq4H9eZ6tCZKisT8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223286},"type":"module","_from":"file:/var/folders/cq/w_03_zqn47b125c7dbz4x5xm0000gn/T/tmp.vD4vw04CD5/ai-matrx-browser-audio-0.1.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"armanisadeghi","email":"arman@armansadeghi.com"},"_resolved":"/var/folders/cq/w_03_zqn47b125c7dbz4x5xm0000gn/T/tmp.vD4vw04CD5/ai-matrx-browser-audio-0.1.2.tgz","_integrity":"sha512-VKhmR5ehozKSi2+NU3fcCS6A1Vp1JVKf2ul9BHl8Oa7EQy+/UKAYGAJDSdUGR39cPKZMfUpcuUKUMdB/5i23EQ==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"11.19.0","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.1.2_1787439768680_0.08191577389329763","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ai-matrx/browser-audio","version":"0.2.0","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.2.0","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"f6a86112961f95303a16f3076f0fac33a724ea18","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.2.0.tgz","fileCount":18,"integrity":"sha512-wpqziScM4ra4D/qAxYOYpP1Dr2u/IBIZVwwXiGTGUkgj5b+Y1JkWpSp1KWmah16Zg+yZ/sTW8UIRSlkez4yNSw==","signatures":[{"sig":"MEQCIHg8dkzbqS2+UiGy9ExhLvuxUHKSKb2N7NIbJxvxLJUSAiBLa9k/q34RupCy6QHZ53szpwjDHXKHwQkw1VarVaHzVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306126},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.2.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.2.0.tgz","_integrity":"sha512-wpqziScM4ra4D/qAxYOYpP1Dr2u/IBIZVwwXiGTGUkgj5b+Y1JkWpSp1KWmah16Zg+yZ/sTW8UIRSlkez4yNSw==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.2.0_1787579900740_0.20033451469578312","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ai-matrx/browser-audio","version":"0.3.0","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.0","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"46651c83841998a93440033bda6a17ae8ecc3939","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.0.tgz","fileCount":18,"integrity":"sha512-iFPrQLjvbjcskWiJJtJajZQKeKiBpNTETPBK9gBJs8Xq05AAqokP6dNIcxN5w1Iw9jQ1AZcRRG/+jtN+narmyw==","signatures":[{"sig":"MEUCIARFEDlcqfijBM8NsjOboHRSiyCaXfstH0VF4Z1I3OTgAiEAmZvci8Hd9LO0GKzMPrlar9DBLbogAnUjhez8PMz0sVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498748},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.0.tgz","_integrity":"sha512-iFPrQLjvbjcskWiJJtJajZQKeKiBpNTETPBK9gBJs8Xq05AAqokP6dNIcxN5w1Iw9jQ1AZcRRG/+jtN+narmyw==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.0_1788128582409_0.019138029095798093","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@ai-matrx/browser-audio","version":"0.3.1","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.1","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"4506dd5a428172d6b992a2a4409730ce6efee22d","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.1.tgz","fileCount":18,"integrity":"sha512-z40DkqW5MUWtDzUyINgo2tluH4TcEhnOCqY0YbvY6JZRtUH5/2PUM9zVyfGIQ4XNkWXIZ/1BF3cd3SojAY5TXg==","signatures":[{"sig":"MEQCIFt6m1uwf2B85FhaCY5rK20CuQVlMBH6jBuf8UVVq5rYAiAcc5q5ASBZd6GVKJ3MY5TGRRnnepuAqimklwH6ubdo9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504944},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.1.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.1.tgz","_integrity":"sha512-z40DkqW5MUWtDzUyINgo2tluH4TcEhnOCqY0YbvY6JZRtUH5/2PUM9zVyfGIQ4XNkWXIZ/1BF3cd3SojAY5TXg==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.1_1788129133447_0.9457002015753859","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@ai-matrx/browser-audio","version":"0.3.2","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.2","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"e346a42172caded53d48e21e6c3dd61933c6de06","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.2.tgz","fileCount":18,"integrity":"sha512-MUnNyMjdadOOf3HY7LQUmBzH/5HIVsAEmKD06ZBcTDrG9hNG48ZHVKXTfw558qQvBRy3nO4mKiMURLDDIgzg8Q==","signatures":[{"sig":"MEQCIBpWE3YC+Kgp18s5M0jzb9D8Jquh6QFKBIFISWbwEtzHAiA+1qo4vtJWkDB4pdaOLmknGRT1dPTIQlzfCvfAUNuO5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504944},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.2.tgz","_integrity":"sha512-MUnNyMjdadOOf3HY7LQUmBzH/5HIVsAEmKD06ZBcTDrG9hNG48ZHVKXTfw558qQvBRy3nO4mKiMURLDDIgzg8Q==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.2_1788157086105_0.9914781632275715","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@ai-matrx/browser-audio","version":"0.3.3","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.3","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"9e55cb8a798c4f7757246eae6aed543f127028a3","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.3.tgz","fileCount":20,"integrity":"sha512-bud9cMk8COazpuz8wixqdwW6iXnGGzIU9FwDQmnZaAXH+LvJEMtjthg88jA49sSnP1sGJOux8UUcQcA/z58fSA==","signatures":[{"sig":"MEUCIQCYRW7d95qpWubwVmpWovyXfdTXYxvjtTSqcz0K/q09pgIgV9qZCm/1kd7QE7Ntggmqfl3dktNvPDsgzpNmokZ8dRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505190},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.3.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.3.tgz","_integrity":"sha512-bud9cMk8COazpuz8wixqdwW6iXnGGzIU9FwDQmnZaAXH+LvJEMtjthg88jA49sSnP1sGJOux8UUcQcA/z58fSA==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.3_1789067231364_0.07280749162165145","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@ai-matrx/browser-audio","version":"0.3.4","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.4","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"1789116ee0b42f11319ae70440e8f50b837613e6","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.4.tgz","fileCount":20,"integrity":"sha512-PX86HBiS1XVCBTLycGDlTsBsiMMgFRGG/F+EzgHqgEfhn9Ekos2VUJ9TkyNczrvnXxudtonck18hyTuy1ynhgA==","signatures":[{"sig":"MEYCIQCtHoOwNxsAUOsZI+cqyh4rqq11V2qwUjDf7sNid9K3xQIhAOzSxNNtaN5oJ5iG7tbss5eESPVL9LNUhLLZeow4DS/P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505482},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.4.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.4.tgz","_integrity":"sha512-PX86HBiS1XVCBTLycGDlTsBsiMMgFRGG/F+EzgHqgEfhn9Ekos2VUJ9TkyNczrvnXxudtonck18hyTuy1ynhgA==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.1.0","vitest":"^4.1.6","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"^19.1.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.4_1789276385417_0.8259804794890755","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@ai-matrx/browser-audio","version":"0.3.5","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.5","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"ee158c6dde41d8b3e28b81efb5668121f9622a59","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.5.tgz","fileCount":20,"integrity":"sha512-hYaA9stU8xBgQgc8pnUoWwqLPHObaakuQHRHQhXlvpp16AkE5KP0Jd+/CsN+pLsjo2yEgMWlM3LurYj//mR7TQ==","signatures":[{"sig":"MEUCIEWiouxlJG8NB2YI1XppMEASENiqE0fKjfJ/VoGNAoi4AiEAoRmslctAZqgWp45fQS6DL4L1hHlCt0aJGByyLM1pljo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505726},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.5.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.5.tgz","_integrity":"sha512-hYaA9stU8xBgQgc8pnUoWwqLPHObaakuQHRHQhXlvpp16AkE5KP0Jd+/CsN+pLsjo2yEgMWlM3LurYj//mR7TQ==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.0","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.5_1789337030120_0.20405869498849527","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@ai-matrx/browser-audio","version":"0.3.6","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.6","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"ac9c27fc268891bc13dd8760940e8d3925482251","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.6.tgz","fileCount":20,"integrity":"sha512-aLZRsq/zPMIuhDd913hN2i1jQcOnHQYFp+GndrXNI/u62OXwdLBJXK9UhRR1wKG2RAmFLcFZ1Tbzz2sWHUVPFA==","signatures":[{"sig":"MEQCIFXrPZZWBy2qGglRkiY8LoGQCPKtLuRgAtgJTrqxc927AiAi1Ix0nq6AXqpoTFU4k3m9Gjs/E78kMxWpQzsTfmobDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDvNVukGsFkQh0urq3Ttt+3Ki80rUgsFwfgMWRkFs9bBAIhAMLxYFxCaAtoeZOCDLxQOgGpWhBRXr2IBhC/v3Cj00jq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505971},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.6.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.6.tgz","_integrity":"sha512-aLZRsq/zPMIuhDd913hN2i1jQcOnHQYFp+GndrXNI/u62OXwdLBJXK9UhRR1wKG2RAmFLcFZ1Tbzz2sWHUVPFA==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.0","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.6_1789417094787_0.9433226046996983","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@ai-matrx/browser-audio","version":"0.3.7","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.7","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"35dd81d3d09c9dedffd8af379c2e5d3af859d7fb","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.7.tgz","fileCount":20,"integrity":"sha512-hSzPL92ke7PWuvblAu8B92tmewrJdHnDN6DVlFuw30GdHKm+6TTVRlK0ExDjDPAxHc7LasxndpTjZFPKowgJ5w==","signatures":[{"sig":"MEYCIQCy+MaHcup5JkijfbIzGZ9sYjnHYUSGkGrdNVwo2/FxnAIhAK9I1BZiH3exIZTPQcepoGx59wSsYTxCs8JkBL0IyZVS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAMoElZiSNYb/AFwaNEdt2whE/Z5umLd7At2oyvvKu8/AiAfe/MxPfkVrJM6+LdVxrGUtsULfzSOxWb/vP5+TYB4JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506216},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.7.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.7.tgz","_integrity":"sha512-hSzPL92ke7PWuvblAu8B92tmewrJdHnDN6DVlFuw30GdHKm+6TTVRlK0ExDjDPAxHc7LasxndpTjZFPKowgJ5w==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.7_1789592620052_0.24417148381622233","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@ai-matrx/browser-audio","version":"0.3.8","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.3.8","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"2b5577c116be5a712c7bcd43999b56e8fb0f233e","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.3.8.tgz","fileCount":20,"integrity":"sha512-zyGLPDIbkVzqpnf5Ot3Brzzgeo48Q0NDd1//TyQFokR/DxK+vxrFJMxqXkGWm0+xCnH5BLCaE31OwoGAzvXr2Q==","signatures":[{"sig":"MEQCIC6NSvt74Qq6KQrtye95K+akylT5CPOS9SllD/tGJ49xAiA3nC+2L0YtN4i3BXUdiY7SF+UvyRnRiYBPI6S/WuP8fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDr361pK5xuEu3qSET3e5OcmhplFzv5nwQv3mpEHfwg1gIhAKTXz8GNOk9GySLYyG+5M8ip3QFD902n5y/3CsyA93zq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506461},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.3.8.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.3.8.tgz","_integrity":"sha512-zyGLPDIbkVzqpnf5Ot3Brzzgeo48Q0NDd1//TyQFokR/DxK+vxrFJMxqXkGWm0+xCnH5BLCaE31OwoGAzvXr2Q==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.3.8_1789620034150_0.4164768040014011","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ai-matrx/browser-audio","version":"0.4.0","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.4.0","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"a55ff03fb0f2b2ab8baa88fdbcbb3188e4286ab9","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.4.0.tgz","fileCount":20,"integrity":"sha512-uybCvKZPADM5D2z3ZQzWvaDiHd2z3nh6qE7fVUmoeuv/uh1neQPDulerL5nEHXEFoor9cLtRtzCNFxGnSOdcCQ==","signatures":[{"sig":"MEUCIHoQ/5daVF21FVeKUBm/5Ki7j4XChql8BwL0BolZ9ehHAiEApJarmLgR9d3K3GjDlFnz6bCS3EdwqY4W0FJqqieZ6Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG4v4tDx4Z3dHL4WKD1JzUWVmKlZh47P+LBdyTPI9CjUAiBBZw9PuWGiLzk43sfTuPuKi4bgJpimC4gmtuZGkqqtVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":531655},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.4.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.4.0.tgz","_integrity":"sha512-uybCvKZPADM5D2z3ZQzWvaDiHd2z3nh6qE7fVUmoeuv/uh1neQPDulerL5nEHXEFoor9cLtRtzCNFxGnSOdcCQ==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.4.0_1789679484966_0.24349555168547177","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@ai-matrx/browser-audio","version":"0.4.1","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.4.1","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"8cb810178a4d657c307c183be05b23df62394059","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.4.1.tgz","fileCount":20,"integrity":"sha512-B5zr+xeaU1N7JH2KxF9W/0J0ik0wsE4aejWbJxzy61osIm/2zEuAEUdrODmYSR/jD6yUpQq4LTjs9qK1VyLRMg==","signatures":[{"sig":"MEUCIAnXA+ySQtLQimzHgry8G1df66zkpGjLdgXZL1jRQeirAiEAwMxA6YV3VkykQX5prtL2WnyaKZp+rHhb0+k3YJxit0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDY5oj3lQPBRkrtURzMGv9bd/GDmxD3kmUaFnk56Dx/PAiEAzv5j6C/x6ODMi75yqRG0bKelQU4jDA4Tf/WmqgoJrQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547705},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.4.1.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.4.1.tgz","_integrity":"sha512-B5zr+xeaU1N7JH2KxF9W/0J0ik0wsE4aejWbJxzy61osIm/2zEuAEUdrODmYSR/jD6yUpQq4LTjs9qK1VyLRMg==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.4.1_1789750341943_0.7480365117020895","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@ai-matrx/browser-audio","version":"0.4.2","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"license":"MIT","_id":"@ai-matrx/browser-audio@0.4.2","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"458777cfc89901856069c91fec07a9747fba490c","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.4.2.tgz","fileCount":20,"integrity":"sha512-hfNQ9ouYOeaT/SjmEyfN64hcWKh9iF/F1dt4/q1v3NChEL9N72nTr/1RH3InPrioTqrxwBOFoOCjQhEXmHI/EQ==","signatures":[{"sig":"MEYCIQCbF1pjEUgQdDAOuNsTDkiF3cZENiJgzRh3MPbjZFh1GAIhAN/eQPYxdcF2EaPY/Za3TotCyGAreBRxctqzY3KXFeDX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC0oE8rHIk/NST2BxWZj3/9lsvdhw8AVVtRLWBEjdIUjAiEAp3Q96Hd5nugs7hTPGFu3IuUl87w9+oiqGH/m3pdvVYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547950},"type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.4.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.4.2.tgz","_integrity":"sha512-hfNQ9ouYOeaT/SjmEyfN64hcWKh9iF/F1dt4/q1v3NChEL9N72nTr/1RH3InPrioTqrxwBOFoOCjQhEXmHI/EQ==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.0.2","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^5.9.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-audio_0.4.2_1789765735058_0.6839161248304408","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"_id":"@ai-matrx/browser-audio@0.4.3","bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"dist":{"shasum":"4026bb569b0448294a2f9a423d2ed0660616dc2f","tarball":"https://registry.npmjs.org/@ai-matrx/browser-audio/-/browser-audio-0.4.3.tgz","fileCount":20,"integrity":"sha512-aWWZYnjicv5/Jq8UVfgAZGOcON0BWy8JjkV4I/CYL01pumnMjoDvnoQhJIKudlvnE8/08Ivac9uvAH+SHY4c/w==","signatures":[{"sig":"MEUCIC1xDmNF+CWAc5lU5X2uo9MyzTreVwCWOnvkUsajPJ9zAiEAoBXX+RRD0myIWaKmvE/KB0XqvWlkVvw3HzhKguC+aJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGQl61aDzAF3rKiGc/lQcGu4ly1WHfiICymQt4VVW7cVAiB2BcvPIIJGwY1dcYKWIT4cW+lIlT4DybnBcGVeGOEXbg=="}],"unpackedSize":548195},"name":"@ai-matrx/browser-audio","type":"module","_from":"file:/home/runner/work/_temp/ai-matrx-browser-audio-0.4.3.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./matrx":{"types":"./dist/matrx.d.ts","import":"./dist/matrx.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest run","build":"tsup","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","check:package":"pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball","verify:tarball":"node ./scripts/verify-tarball.mjs"},"version":"0.4.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6b1dc7b9-509a-4859-b6a9-f7a5a43e6a9b"}},"homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"_resolved":"/home/runner/work/_temp/ai-matrx-browser-audio-0.4.3.tgz","_integrity":"sha512-aWWZYnjicv5/Jq8UVfgAZGOcON0BWy8JjkV4I/CYL01pumnMjoDvnoQhJIKudlvnE8/08Ivac9uvAH+SHY4c/w==","repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"_npmVersion":"12.1.0","description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","directories":{},"maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.3.0","vitest":"^5.0.1","publint":"^0.3.24","typescript":"^6.0.3","@types/react":"19.3.0","fake-indexeddb":"^6.2.5","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-audio_0.4.3_1790132345865_0.38217107994965627"}}},"time":{"created":"2026-08-22T20:43:37.442Z","modified":"2026-09-23T02:59:06.207Z","0.1.0":"2026-08-22T20:43:37.799Z","0.1.1":"2026-08-22T20:54:39.791Z","0.1.2":"2026-08-22T23:02:48.829Z","0.2.0":"2026-08-24T13:58:20.892Z","0.3.0":"2026-08-30T22:23:02.565Z","0.3.1":"2026-08-30T22:32:13.572Z","0.3.2":"2026-08-31T06:18:06.269Z","0.3.3":"2026-09-10T19:07:11.526Z","0.3.4":"2026-09-13T05:13:05.599Z","0.3.5":"2026-09-13T22:03:50.261Z","0.3.6":"2026-09-14T20:18:14.878Z","0.3.7":"2026-09-16T21:03:40.162Z","0.3.8":"2026-09-17T04:40:34.250Z","0.4.0":"2026-09-17T21:11:25.058Z","0.4.1":"2026-09-18T16:52:22.052Z","0.4.2":"2026-09-18T21:08:55.178Z","0.4.3":"2026-09-23T02:59:06.005Z"},"bugs":{"url":"https://github.com/AI-Matrix-Engine/aidream/issues"},"license":"MIT","homepage":"https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/browser-audio#readme","keywords":["audio","voice-input","speech-to-text","media-recorder","indexeddb","react"],"repository":{"url":"git+https://github.com/AI-Matrix-Engine/aidream.git","type":"git","directory":"apps/shared/browser-audio"},"description":"Durable, framework-light browser voice input with IndexedDB recovery, pluggable transcription, and optional React controls.","maintainers":[{"name":"armanisadeghi","email":"arman@armansadeghi.com"}],"readme":"# @ai-matrx/browser-audio\n\nDurable browser voice input with a framework-light core, IndexedDB recovery,\npluggable transcription, an optional AI Matrx adapter, and optional React\ncontrols.\n\nThe package owns the difficult browser lifecycle: microphone permission,\n`MediaRecorder`, audio-format negotiation, chunk rotation, local safety writes,\nordered live transcription, whole-recording fallback, and recovery after a page\ncloses or a network call fails.\n\n## Install\n\n```bash\npnpm add @ai-matrx/browser-audio\n```\n\nReact controls are optional. Applications importing `/react` must also install\nReact 18 or newer.\n\n## Framework-free core\n\n```ts\nimport {\n  BrowserAudioKernel,\n  type TranscriptionTransport,\n} from \"@ai-matrx/browser-audio/core\";\n\nconst transport: TranscriptionTransport = {\n  async transcribe(file, signal) {\n    const form = new FormData();\n    form.append(\"file\", file);\n    const response = await fetch(\"/api/transcribe\", {\n      method: \"POST\",\n      body: form,\n      signal,\n    });\n    if (!response.ok) throw new Error(\"Transcription failed\");\n    return response.json();\n  },\n};\n\nexport const audio = new BrowserAudioKernel({\n  transport,\n  onDiagnostic: (diagnostic) => reportDiagnostic(diagnostic),\n});\n```\n\nCreate one kernel per application. Inputs subscribe to the kernel and identify\ntheir recording with a stable `ownerId`.\n\n## AI Matrx adapter\n\n```ts\nimport { BrowserAudioKernel } from \"@ai-matrx/browser-audio/core\";\nimport { createMatrxAudioClient } from \"@ai-matrx/browser-audio/matrx\";\n\nconst client = createMatrxAudioClient({\n  baseUrl: \"https://server.example.com/api\",\n  getAccessToken: () => auth.getAccessToken(),\n  // Optional when /auth/whoami returns organization_id. Supply this when the\n  // host already owns an explicit active-organization selector.\n  getOrganizationId: () => auth.getActiveOrganizationId(),\n});\n\nexport const audio = new BrowserAudioKernel({\n  transport: client,\n  persistence: client,\n});\n```\n\nThe adapter receives the API base URL and access-token resolver from the host.\nIt imports no application code and stores no credentials. For durable Matrx\noperations it sends an explicit `X-Organization-Id`: the host may inject the\nresolver, otherwise the adapter resolves it through `/auth/whoami` and caches\nit only for the current access token.\n\n## React\n\n```tsx\nimport { VoiceInputButton } from \"@ai-matrx/browser-audio/react\";\n\n<VoiceInputButton\n  kernel={audio}\n  ownerId=\"message-composer\"\n  value={draft}\n  onValueChange={setDraft}\n  append\n  onBusyChange={setVoiceBusy}\n  onError={showVoiceError}\n/>\n```\n\n`VoiceInputButton` is style-neutral, accepts `className` and `style`, and allows\nhosts to replace its icon with `renderIcon`. `useVoiceInput` is available when a\nproduct needs completely custom presentation.\n\n## Runtime support\n\n- Modern browser applications, including Vite and client-side Next.js code.\n- WebViews that provide `MediaRecorder`, `MediaDevices`, IndexedDB, Web Audio,\n  `Blob`, `File`, and Fetch.\n- Browser extensions when capture runs in a DOM/offscreen document. Manifest V3\n  service workers require a host messaging adapter.\n- React Native and native processes require a media/storage adapter; browser\n  capture APIs do not exist there.\n\nImporting the package is SSR-safe. Construct and start the browser kernel in a\nclient runtime.\n\n## Reliability contract\n\n- Every complete audio chunk is written to the safety store before network work.\n- Every displayed live transcript fragment is written to IndexedDB before it is\n  published to the host UI.\n- The first three and six seconds become visible quickly; at ten seconds they\n  are atomically replaced by one higher-context transcription of the opening.\n- AI Matrx remote recovery uses an indexed, owner-scoped journal and rejects\n  incomplete chunk sets instead of transcribing partial audio as complete.\n- Failed live chunks trigger whole-recording transcription.\n- A partial transcript is never delivered as final after a failed fallback.\n- Closing the page leaves a recoverable record.\n- Transcription and persistence are injected contracts; the core never assumes\n  an API, authentication system, database, or framework.\n- Background failures reach `onDiagnostic`; user-affecting failures reach the\n  recording request and React `onError` callbacks.\n\n## Exports\n\n- `@ai-matrx/browser-audio` — framework-free core.\n- `@ai-matrx/browser-audio/core` — explicit core entry point.\n- `@ai-matrx/browser-audio/matrx` — AI Matrx HTTP and durability adapter.\n- `@ai-matrx/browser-audio/react` — React hook and controls.\n\n## Development\n\n```bash\npnpm typecheck\npnpm test\npnpm check:package\n```\n\n`check:package` builds ESM JavaScript and declarations, validates the npm surface\nwith Publint, packs the publish artifact, validates that tarball's declarations\nwith Are the Types Wrong, installs it into an empty project, and imports every\npublic entry point.\n\nNever run `npm publish` from this working directory: workspace development uses\nsource exports that pnpm replaces with `dist/` exports while packing. Release the\nverified `.tgz` produced by `pnpm pack`; `prepublishOnly` blocks the unsafe path.\n\nAutomated gates do not substitute for a deployed authenticated microphone\ncanary. Version 0.2.0 was published only after the matching AI Dream\nrecording-journal routes were deployed and that canary passed. Every future\nrelease must repeat the deployed canary before registry publication.\n","readmeFilename":"README.md"}