{"_id":"@breeze.blue/sdk","_rev":"33-adca5516368f8a35113c8e4f4ed5c4de","name":"@breeze.blue/sdk","dist-tags":{"latest":"0.20.1"},"versions":{"0.3.0":{"name":"@breeze.blue/sdk","version":"0.3.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.3.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breeze.blue","dist":{"shasum":"9e82dd5aa57d2694336e1059da99b2434bc698b9","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.3.0.tgz","fileCount":20,"integrity":"sha512-GUthpzknE/8T+eKqXnU4kIX+O9h2ed8waRX0a32s40iUo7b1Rt5o1Gob+1CTdytnIDovwUVwdupt+A4uf+5A3w==","signatures":[{"sig":"MEUCIQCg+3s8fkdENzpPJsVgagrviA85K8NQZRlOd3LWwTj9FQIgdOzSLyKMC+iPfrrMm59v54zBCzxGse4sVczvYiw7Wt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54522},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"pnpm exec tsc -p tsconfig.json","typecheck":"pnpm exec tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/3a11c5e6a139375bc12790ab720e751f/breeze.blue-sdk-0.3.0.tgz","_integrity":"sha512-GUthpzknE/8T+eKqXnU4kIX+O9h2ed8waRX0a32s40iUo7b1Rt5o1Gob+1CTdytnIDovwUVwdupt+A4uf+5A3w==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.0_1778768361473_0.6048786385643292","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@breeze.blue/sdk","version":"0.3.1","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.3.1","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breeze.blue","dist":{"shasum":"4bfe0fa152838cc331d6f9cb477dbc2ff3c95cd0","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.3.1.tgz","fileCount":20,"integrity":"sha512-0IwVvqMhiyB+BIRBnq/rdBcMI6T06QI2DEkz477+qjtUqCLQshXvcPhcJcO9U3aiefTJs4sD2I1FwV/SaXfrAQ==","signatures":[{"sig":"MEUCIQCdxNIySlMukzieaiOaA/AI0JvngTxbZrwyyIugl+SsVgIgf7e3v6du87zRnJFlaagICc6zu+h/XHcyIkK9rYpuv0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55415},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"pnpm exec tsc -p tsconfig.json","typecheck":"pnpm exec tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/d8039c82fa448e6de3ad51b9131308d3/breeze.blue-sdk-0.3.1.tgz","_integrity":"sha512-0IwVvqMhiyB+BIRBnq/rdBcMI6T06QI2DEkz477+qjtUqCLQshXvcPhcJcO9U3aiefTJs4sD2I1FwV/SaXfrAQ==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.1_1779091988825_0.7840967797502971","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@breeze.blue/sdk","version":"0.4.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.4.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","dist":{"shasum":"0b8f2d6296f219738a376e05dbf7b557c28ab5f1","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.4.0.tgz","fileCount":20,"integrity":"sha512-CEGEj95YA8s2YjOeh2cJ/QYbi/6TnheulnYPA6Nlji6RnDMfgvKKdSHUaJJO3R+0/b3jqVLWTIwSRrmL7BkwvQ==","signatures":[{"sig":"MEYCIQC7OuEYp3hZnylh2OZt0g2uYlpxmOJsQZKvz8Sew+LlhQIhANsVXWKEtPDhXfKp5vELnOwxybvTLd04z8cNfCnjQO42","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57562},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/d8025798179883b5188506fe913a77db/breeze.blue-sdk-0.4.0.tgz","_integrity":"sha512-CEGEj95YA8s2YjOeh2cJ/QYbi/6TnheulnYPA6Nlji6RnDMfgvKKdSHUaJJO3R+0/b3jqVLWTIwSRrmL7BkwvQ==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.0_1781704809305_0.4572437418424584","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@breeze.blue/sdk","version":"0.4.1","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.4.1","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","dist":{"shasum":"8da1b2672a05e425545a744e9b0bec8aea8d8acd","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.4.1.tgz","fileCount":20,"integrity":"sha512-4FLPXaD8Vy+tbv2nSLkbXUxGiXCwgdzjJm+Wo23W8HBfppNzBHpsnmDU4CviCmMhe4s5PSFiwNVUnwcXorUwyw==","signatures":[{"sig":"MEQCIG7Pl6dz0L7PwE3hzUWIkq3qcKxjJ7xvK9i4KcodWyQjAiAUoep1Vi0I8FPcoZNjzGWuAo/+Hkf3vvZdK5ETKUZm9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57652},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/17d3e49caacc776caf39e0f4df486564/breeze.blue-sdk-0.4.1.tgz","_integrity":"sha512-4FLPXaD8Vy+tbv2nSLkbXUxGiXCwgdzjJm+Wo23W8HBfppNzBHpsnmDU4CviCmMhe4s5PSFiwNVUnwcXorUwyw==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.1_1782978803815_0.21883088303731935","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@breeze.blue/sdk","version":"0.5.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.5.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","dist":{"shasum":"7b2d2e17ce866478ed1b68594b19b1a4fb8d27b3","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.5.0.tgz","fileCount":20,"integrity":"sha512-JYswE1jWui+fujVqPBKxjSbdSqAzoFo7e2PVKR5flis/Ly3nQsf/XeuI1fBmw8QFsE0AblbURNY6oKwddOTKKg==","signatures":[{"sig":"MEUCIAEnkPafM+37js4c2OhSISeby00YY4OMJxiK5D9PFMpTAiEA49Xz02oJeW7Hq+9EqTBL70zNkxWuQICKsSyKWQOG6Wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84907},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/d776daaf9a281c36ebb70165a0ec212f/breeze.blue-sdk-0.5.0.tgz","_integrity":"sha512-JYswE1jWui+fujVqPBKxjSbdSqAzoFo7e2PVKR5flis/Ly3nQsf/XeuI1fBmw8QFsE0AblbURNY6oKwddOTKKg==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.0_1783327034967_0.24214389234485245","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@breeze.blue/sdk","version":"0.5.1","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.5.1","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","dist":{"shasum":"f59953bf1a2f91e1b832770f69cddf951aaab0ad","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.5.1.tgz","fileCount":20,"integrity":"sha512-d6lZEQJ19PBkJFRKp4ArvQ+smypM5HLbu9nHFxblpf/AJampHqfHbNLxoXTM9lES+BtTidSphoHVoGqdCOd9RA==","signatures":[{"sig":"MEUCIQD6rGxF2g3tRQGKLMCWWF+yvEhdXoA6cJfr+UXtqx15UwIgVs9ncu+8qJ8yna3eQgSRK2WkkuvMMFrgqkAjsjdsQIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85828},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.5.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/e64e4005ebf65ebe7eb43e953ea2c986/breeze.blue-sdk-0.5.1.tgz","_integrity":"sha512-d6lZEQJ19PBkJFRKp4ArvQ+smypM5HLbu9nHFxblpf/AJampHqfHbNLxoXTM9lES+BtTidSphoHVoGqdCOd9RA==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.1_1784788717572_0.32010468623280897","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@breeze.blue/sdk","version":"0.6.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.6.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","dist":{"shasum":"e4d00eb2e65bb3c84b9705008c13a49ed2d55a27","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.6.0.tgz","fileCount":20,"integrity":"sha512-nXECzcpblxedkovKlxjS7rfmLOEIB2wsEDpqvvsrd/lLm3Lt+rRZ4q+ZA+ZJAjzRtZ/5U6eMUXYJ9vWA6uBqMA==","signatures":[{"sig":"MEUCIQCC0Cc3qA2SawLLxDgf9RftOug0Ib3vTUYQ89phcIHsFwIgMKeJtWvR/MBgezrlja/l3tWsFeTZyOIF4+VE1rRLvbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136966},"main":"./dist/index.js","type":"module","_from":"file:breeze.blue-sdk-0.6.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"breezeblue","email":"infra@breeze.blue"},"_resolved":"/private/var/folders/k3/yzl56mh17sscwc_dqpdj7spc0000gn/T/99f381dbc51e2c62de5b5bf18e83e798/breeze.blue-sdk-0.6.0.tgz","_integrity":"sha512-nXECzcpblxedkovKlxjS7rfmLOEIB2wsEDpqvvsrd/lLm3Lt+rRZ4q+ZA+ZJAjzRtZ/5U6eMUXYJ9vWA6uBqMA==","_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.0_1785391562687_0.5740833080160115","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@breeze.blue/sdk","version":"0.6.1","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.6.1","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"dbc88ccf133a855749379135ba03782d7fcb7afc","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.6.1.tgz","fileCount":20,"integrity":"sha512-MnaFb64ateTKAHaNwetTCwguntOC2X7Y4gxWLegaI9R1Wa2zzPISmfe6PzWNaXVpmUeuYrLmPWi2xS8JThHAPw==","signatures":[{"sig":"MEYCIQCS16+SAjTTW0Lr0MBFzIC5hmsPQH75wvnQUW0D28AvCwIhANAAhSt0IM4nq38KSTB0Ju4nXg2ET58MqnhMyuJrLvLs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137247},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.6.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.6.1.tgz","_integrity":"sha512-MnaFb64ateTKAHaNwetTCwguntOC2X7Y4gxWLegaI9R1Wa2zzPISmfe6PzWNaXVpmUeuYrLmPWi2xS8JThHAPw==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.1_1785400806133_0.8946980303260998","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@breeze.blue/sdk","version":"0.6.2","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.6.2","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"2fb931148396b4608a668160e9a5be72c2affe7d","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.6.2.tgz","fileCount":20,"integrity":"sha512-UU6OSbuXKoK6UAanTW4OjEZTxaQH3zfNnVdo68rDEyztgw/oS8VdTqe/eoLfvAzeK+dkG2dlDUzPx/dtvLvp5g==","signatures":[{"sig":"MEYCIQDBolt18UBincEEIAm8UF2pJI/mMGgfVbcjTRJotUd7mwIhAIBeUYS/CqUVsIaH8FsDdyQ63mZzBQjwodL/+KqYGH8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138048},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.6.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.6.2.tgz","_integrity":"sha512-UU6OSbuXKoK6UAanTW4OjEZTxaQH3zfNnVdo68rDEyztgw/oS8VdTqe/eoLfvAzeK+dkG2dlDUzPx/dtvLvp5g==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.2_1785852767167_0.40970782557272045","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@breeze.blue/sdk","version":"0.6.3","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.6.3","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"57d90ab6708363955904d3c75272193c54b5f9f0","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.6.3.tgz","fileCount":20,"integrity":"sha512-0CoMhqXJ3HB3yYmcxWaMb8qMO4VX0nO1nru4lVUysrrmN0T9GFQKtn3bsTplcdlKU7Em2XdbXYUR+DCWrMf51w==","signatures":[{"sig":"MEQCIERUFOGI/Cv1h6vSv/gtHB0c3mnkEd6t3FvqSXRBeeWnAiBm9koKLv6knNNM39X1XEpo83wysscXsgnvzHBXsq6/HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138012},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.6.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.6.3.tgz","_integrity":"sha512-0CoMhqXJ3HB3yYmcxWaMb8qMO4VX0nO1nru4lVUysrrmN0T9GFQKtn3bsTplcdlKU7Em2XdbXYUR+DCWrMf51w==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.3_1785946017197_0.7357347786239716","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@breeze.blue/sdk","version":"0.7.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.7.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"0d888159fcd89bd72727e9a2be53e393e9f70144","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.7.0.tgz","fileCount":20,"integrity":"sha512-pVwVqGVook371qR4xUvJXwmfb5jbSZMi8AxIA7DNES1RR1hjYcYafsFkd++UXiR8fWsmhYNi4zNG9eK64pi/sw==","signatures":[{"sig":"MEUCIQC6zR38DZBiLdM0IRFTVE/esHTfZcmEsolKzEECHeMDOwIgHKkeQfFi/9au8pko1ibPdb4SXLdTP9z0yPhu5WMwdk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150274},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.7.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.7.0.tgz","_integrity":"sha512-pVwVqGVook371qR4xUvJXwmfb5jbSZMi8AxIA7DNES1RR1hjYcYafsFkd++UXiR8fWsmhYNi4zNG9eK64pi/sw==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.0_1786535153661_0.9949965547513004","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@breeze.blue/sdk","version":"0.8.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.8.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"be85e4ff9614ba0920630598c752cb5f3d0bd8cc","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.8.0.tgz","fileCount":20,"integrity":"sha512-zgUx5Sb7/TdgbGrlo25TylWtW9qr+aHnkR8hyfDAaUyYip4UWOQdZq6gFOvNw73NtmUJN0zHArFG0RGjXoD9ew==","signatures":[{"sig":"MEUCIFjRvBcwcXFXTOHG06mnuNYoLdkUwWM6RLUFlF+lfD44AiEAkLNo+gnSyvc9UsnQm+rDJId943Y3yMb+1/lMNsEpgNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153272},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.8.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.8.0.tgz","_integrity":"sha512-zgUx5Sb7/TdgbGrlo25TylWtW9qr+aHnkR8hyfDAaUyYip4UWOQdZq6gFOvNw73NtmUJN0zHArFG0RGjXoD9ew==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.0_1786618039623_0.10537668457164817","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@breeze.blue/sdk","version":"0.9.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.9.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"de3187f0e816e8b104e81439a4bf9a1f7be0a230","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.9.0.tgz","fileCount":20,"integrity":"sha512-EYjIVvbAbY9NppUH5haTveNHc8lYXs/yMoch/p4zHgCh7g6EObWDikPARmRd3VYXSIV6l4pPnpt472S4U7phcw==","signatures":[{"sig":"MEYCIQCHDERzSgbNC+WZSjBtZkWQT20C8espcA+2Prk3UdJ9UgIhAL4ScedJIJeLmUdPdDSmEqZe80HmIM2lpgMFhJxEPwqW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153688},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.9.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.9.0.tgz","_integrity":"sha512-EYjIVvbAbY9NppUH5haTveNHc8lYXs/yMoch/p4zHgCh7g6EObWDikPARmRd3VYXSIV6l4pPnpt472S4U7phcw==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.9.0_1786678921417_0.602054540026669","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@breeze.blue/sdk","version":"0.10.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.10.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"8e50ef98f5b088d9ac1a10e5cf0e6601e74bebdf","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.10.0.tgz","fileCount":22,"integrity":"sha512-jmW7ggbYWwX1oc0ZihUB58QT44fA8gIkQU3CChdhRm4iqheBNPIwnHMDDezWQnFj40N511gZ9vH8n8sAN458UQ==","signatures":[{"sig":"MEUCIQDEXK5fPniMQOJ5H+2lcxjC5yN9aViynTXqe/M8POd6IAIgMPf48Ws9WEEIyDVQKsdLMXG+jjqIRbGgsuJvCJvqmOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157796},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.10.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.10.0.tgz","_integrity":"sha512-jmW7ggbYWwX1oc0ZihUB58QT44fA8gIkQU3CChdhRm4iqheBNPIwnHMDDezWQnFj40N511gZ9vH8n8sAN458UQ==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.10.0_1787166767412_0.482574630457582","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@breeze.blue/sdk","version":"0.11.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breeze.blue"},"license":"MIT","_id":"@breeze.blue/sdk@0.11.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"820d90c22484bc20ce75c5a3f347fa9f6308fe33","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.11.0.tgz","fileCount":22,"integrity":"sha512-ykSnMtbArfBJhOK4Zd3dbhJAXQpjREIbxVfz4dWHneR8UgBABsyASJUw4cW3mB32djBPK9f4SrIaIgtU3kwcYQ==","signatures":[{"sig":"MEUCIBIP+8zOBF2nQ7z5EYZzpHcVgDRbPs97C5wbfFBdH9yXAiEAtNdUm4sk+SFnbOrX3/WQqPhaayqfVncUoj8jwzMcSWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162066},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.11.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.11.0.tgz","_integrity":"sha512-ykSnMtbArfBJhOK4Zd3dbhJAXQpjREIbxVfz4dWHneR8UgBABsyASJUw4cW3mB32djBPK9f4SrIaIgtU3kwcYQ==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.11.0_1788162847708_0.21607214353999615","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@breeze.blue/sdk","version":"0.12.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.12.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"a0591dacbb1af4f0e1463cfd5f621da693d6d2ab","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.12.0.tgz","fileCount":22,"integrity":"sha512-q0EfWust317tFkcoznrQoER+Da4YWMB2nT5JZdv6t4fBlwmhmBFlvEI+8y0Dn7JntPZzuaRPNyBqy4oJg094JA==","signatures":[{"sig":"MEUCIBqgo/Sroo3FqVwmfvoBF3SmL9CyXxC946jHThRt7/vfAiEAgtkssBc4NJSflBzksjcJAd5ZXbOe6zznP9rV601HKX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163326},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.12.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.12.0.tgz","_integrity":"sha512-q0EfWust317tFkcoznrQoER+Da4YWMB2nT5JZdv6t4fBlwmhmBFlvEI+8y0Dn7JntPZzuaRPNyBqy4oJg094JA==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.12.0_1788351653670_0.8557957040230761","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@breeze.blue/sdk","version":"0.13.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.13.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"1eae29602409a6a7b83e91d5622278da1fdc859e","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.13.0.tgz","fileCount":22,"integrity":"sha512-WLh7PsGV36ce7S5MyONucZAcdl6WIGV8F4rQSUNvOYYhQlwgsSh7ZOSBZp+WFfXOB5pJzurbJ+z8HQ7z9Kga2A==","signatures":[{"sig":"MEUCIQDg2uMYKAnCe3QuNcF4+T5NJhyOe+EpgdIYyzPJCdq9QAIgFSnBg8xb4OX2bRrJVAOh3PN/vOZ//6WgF6GkmHysO2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166181},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.13.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.13.0.tgz","_integrity":"sha512-WLh7PsGV36ce7S5MyONucZAcdl6WIGV8F4rQSUNvOYYhQlwgsSh7ZOSBZp+WFfXOB5pJzurbJ+z8HQ7z9Kga2A==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.13.0_1788507171388_0.9642234566690251","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@breeze.blue/sdk","version":"0.14.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.14.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"47ae94be56587abf1c6e72186886ced1d2dfde63","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.14.0.tgz","fileCount":22,"integrity":"sha512-XD52zSpoHBS6moOGiQnSgjSqHZO1uJX0anpybXSUyDBVRWsza8/cNc19uZNki9wV3rEVclvHailwR4O/vY/YCQ==","signatures":[{"sig":"MEYCIQCtpvRqWRrU97N47rgQ+0zJiMJ9Zm/gxYLftovPUH7e/AIhANsJOKdAlcWjvA6ol7RQAq6qEbOt1utgrysJ0O86tauj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167158},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.14.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.14.0.tgz","_integrity":"sha512-XD52zSpoHBS6moOGiQnSgjSqHZO1uJX0anpybXSUyDBVRWsza8/cNc19uZNki9wV3rEVclvHailwR4O/vY/YCQ==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.14.0_1788525179453_0.27846809915437865","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@breeze.blue/sdk","version":"0.15.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.15.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"0bf80405982b6fa4b49af6b51c59bbd256ea0987","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.15.0.tgz","fileCount":22,"integrity":"sha512-2ioBhWQmbUCBejLMFGqC5IokzBDBJRvi8Dskj6bduObfmJDC0vOqdXwl2ORXWObRtXbHUNBd0Hx2N8SyliJydw==","signatures":[{"sig":"MEUCIQDKvTyKkFVaicILaeO97ZGSVT+PPONvf0Wbpj0rkeRXWQIgGDhYGPs0Swcrq8RJ7ElJ+RMa3955ZgNV1era9wyILl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICn5FnOQRXVEUG7HmtoaVqOOyT1pRuK2i8/Tzuv54oASAiEA4onVGEGi2dByb3/zENWXd0iVdTwYI3aISq/cxZvBvtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168689},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.15.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.15.0.tgz","_integrity":"sha512-2ioBhWQmbUCBejLMFGqC5IokzBDBJRvi8Dskj6bduObfmJDC0vOqdXwl2ORXWObRtXbHUNBd0Hx2N8SyliJydw==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.15.0_1789138754139_0.09314946439290406","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@breeze.blue/sdk","version":"0.16.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.16.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"7b161d216a61a11abe8fc071c539a68425d14538","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.16.0.tgz","fileCount":22,"integrity":"sha512-1LpqJYGMF1JrgZGrxP5U6tUVman5+/qtaIzv6Y4Mf6CV7UO4UxmFUfo5RMiPIPgFukkjjKDHe0nS0AeN5wGSBQ==","signatures":[{"sig":"MEUCIFi9tb7wnGlahVUdbVbhVwKRkxwJKPnlyA7CQTDrdk7lAiEAqaGjijKuZN3ACgQnRqm+6HaoiwP5SGTDd6WA9Vv31dE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiqdXgdN/vgfyxtCVGUyZOLn/LEzQrWg3zpLeO8vZ5dQIhAO/EapBd3SnePIZAcRG9RYVMOwukCYF4nyxaoK+0vF+D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168745},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.16.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.16.0.tgz","_integrity":"sha512-1LpqJYGMF1JrgZGrxP5U6tUVman5+/qtaIzv6Y4Mf6CV7UO4UxmFUfo5RMiPIPgFukkjjKDHe0nS0AeN5wGSBQ==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.16.0_1789455094421_0.07708857140293235","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@breeze.blue/sdk","version":"0.17.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.17.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"9c397be5b1a9e4836db3096a63ad3c460f0f7260","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.17.0.tgz","fileCount":24,"integrity":"sha512-zMorXMxRww0M2U3EdGsfSx6PHrCk6MzvtwS2vYTtQZnudZSIBAprooKfBEIaG6oKcWp2YjvbNJiJtLEso0sE7Q==","signatures":[{"sig":"MEUCIQD7VaRG9TP9JAAtNbsfdcayI1G0qGFE/1QL0+JE2LxTxwIgCux0amHLzBSbavkBLSRMSuqKK4hE4/4VtkEAQEV/3kE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDvJ+CaGRhDzSy85Tk5rZAgHNQ2NoFhpM3/qvy6b7+g6AIgLcXifM6Uhk0Bg8ygHH5CWERIpmTceGAAwYz5LbpLwpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178212},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.17.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.17.0.tgz","_integrity":"sha512-zMorXMxRww0M2U3EdGsfSx6PHrCk6MzvtwS2vYTtQZnudZSIBAprooKfBEIaG6oKcWp2YjvbNJiJtLEso0sE7Q==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.17.0_1789943106528_0.144065240850189","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@breeze.blue/sdk","version":"0.18.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.18.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"3d9254667093ca30f5e75343dd3c532db18e3852","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.18.0.tgz","fileCount":24,"integrity":"sha512-w+5o27oiYycve5ouQpo9fpmZzj5hyu78wIVZeMmZ3IdZT3Crjbn13u29ZkckuXCm67jcPHYaf4JKEjOf1u5mCw==","signatures":[{"sig":"MEUCIC/4nKnjwZrUFsQZvqDn8x+g/IO/KsWcJUKfz/SPm+1rAiEAjRK27xRxNvPC6v/454grxOSvx84nXe0E8Ub08Sbv9V0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEaMX4ywOkEtuwVmmYknF1YcTHlRS6v0N0DMiaRYZZzgAiB1r4B4IqJmmd3c7/z0+4Qy7kgm4T1ykDkp7BZvBgqOuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179561},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.18.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.18.0.tgz","_integrity":"sha512-w+5o27oiYycve5ouQpo9fpmZzj5hyu78wIVZeMmZ3IdZT3Crjbn13u29ZkckuXCm67jcPHYaf4JKEjOf1u5mCw==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.18.0_1790072995977_0.682700494866542","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@breeze.blue/sdk","version":"0.19.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.19.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"230ef995d9069298aed536a9cdc6bdb1bf8adb4f","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.19.0.tgz","fileCount":24,"integrity":"sha512-nb/FHxpnBzk5aR2VlDjLL3IXkiRQyf7jqqeugohBbU0bKnUh6jTa0BWzHWctetpz23sVf+THYDaR8mWry7qUKA==","signatures":[{"sig":"MEQCIC5MVadb6Ox2+TU4YnOt511vJZbuyblfbCk2wz/vmEqOAiBtGkIiyzOUK5rAL0/GwOMQaSftFw11r4jHE3Y8IAAfvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAFIl65HdNoR+JlcACwr7u2YynmNFf40VY8WhElG1HbZAiEA38EO8Ev0c29zZBcujC3gDA/mrqdnbmJQKRwy3iIiJBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185702},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.19.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.19.0.tgz","_integrity":"sha512-nb/FHxpnBzk5aR2VlDjLL3IXkiRQyf7jqqeugohBbU0bKnUh6jTa0BWzHWctetpz23sVf+THYDaR8mWry7qUKA==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.19.0_1790351351745_0.15499698052707567","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@breeze.blue/sdk","version":"0.20.0","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","_id":"@breeze.blue/sdk@0.20.0","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"homepage":"https://breezeblue.ai","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"2b497567a45e9edeed1716d3aad6758308650824","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.20.0.tgz","fileCount":28,"integrity":"sha512-+4piMoggKnuaIc4n30N4jsR9n13dYN3LXSjkCdHLz6SY9tXt+CXCFlTSYrMwRxLKX4DXpd4A3Hi2ReQ75Zhyyg==","signatures":[{"sig":"MEQCICF0wFHWAa7h5UyUTz0o6AInw0zyOS91CsjnrLzkPuSSAiABDdrMfaFEO8ISCJ0OC3wOT2ClRT5l0CCuIM0nxAOzEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE+ijGITBFC9Y4JkC0MOIqXRirjtshK/0lqPt0Nhso8RAiEAsmQ2QrsLfHucQfPoFmkyuHLuYt4V7UfUbMilfBqSAwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216500},"main":"./dist/index.js","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.20.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.20.0.tgz","_integrity":"sha512-+4piMoggKnuaIc4n30N4jsR9n13dYN3LXSjkCdHLz6SY9tXt+CXCFlTSYrMwRxLKX4DXpd4A3Hi2ReQ75Zhyyg==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.20.0_1790591833349_0.31424882955408884","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"_id":"@breeze.blue/sdk@0.20.1","bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"dist":{"shasum":"48179cad44080852c8e7060b36576493dd333529","tarball":"https://registry.npmjs.org/@breeze.blue/sdk/-/sdk-0.20.1.tgz","fileCount":28,"integrity":"sha512-aURWgpVLmvEe7Bb5URsGCpSjQbFyQZmlvaMK2kS3Ss+ekvBncPwFeAXJzlUKG0/xCqGJPwkRYikH+/2vgwhibg==","signatures":[{"sig":"MEUCIDP7lxU9Al7TeRhbMTd/3CtyQ6Uk7EBCI/b+gwUtQfq8AiEAp0Igf30dy+wiOBG3PsyGH/OvP4I26QbjzaDQOlotx40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDbidSR0Raxe0AZY2k3TJV2HgzDSCyQW9MB+6tHNsy7cgIgAM8Wz+zMuPh2vcC5wKQD0A6Q57H7IRF3wsOT6kGOPiY="}],"unpackedSize":233073},"main":"./dist/index.js","name":"@breeze.blue/sdk","type":"module","_from":"file:release-artifacts/typescript/breeze.blue-sdk-0.20.1.tgz","types":"./dist/index.d.ts","author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"license":"MIT","scripts":{"test":"pnpm run build && node --test ./test/*.test.js","build":"node node_modules/typescript/bin/tsc -p tsconfig.json","typecheck":"node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit"},"version":"0.20.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3732e24f-27ed-428e-954f-e2cc542200e1"}},"homepage":"https://breezeblue.ai","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"_resolved":"/home/runner/work/BreezeBlueStudio/BreezeBlueStudio/release-artifacts/typescript/breeze.blue-sdk-0.20.1.tgz","_integrity":"sha512-aURWgpVLmvEe7Bb5URsGCpSjQbFyQZmlvaMK2kS3Ss+ekvBncPwFeAXJzlUKG0/xCqGJPwkRYikH+/2vgwhibg==","repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"_npmVersion":"11.12.1","description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","directories":{},"maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^20.19.35"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.20.1_1790602438599_0.31391102795773573"}}},"time":{"created":"2026-05-13T13:19:23.881Z","modified":"2026-09-28T13:33:58.886Z","0.1.0":"2026-05-13T13:19:24.295Z","0.1.1":"2026-05-13T13:34:53.465Z","0.2.0":"2026-05-13T15:49:25.109Z","0.2.1":"2026-05-13T16:03:54.301Z","0.3.0":"2026-05-14T14:19:21.622Z","0.3.1":"2026-05-18T08:13:08.974Z","0.4.0":"2026-06-17T14:00:09.455Z","0.4.1":"2026-07-02T07:53:23.934Z","0.5.0":"2026-07-06T08:37:15.153Z","0.5.1":"2026-07-23T06:38:37.698Z","0.6.0":"2026-07-30T06:06:02.808Z","0.6.1":"2026-07-30T08:40:06.321Z","0.6.2":"2026-08-04T14:12:47.307Z","0.6.3":"2026-08-05T16:06:57.328Z","0.7.0":"2026-08-12T11:45:53.813Z","0.8.0":"2026-08-13T10:47:19.823Z","0.9.0":"2026-08-14T03:42:01.564Z","0.10.0":"2026-08-19T19:12:47.581Z","0.11.0":"2026-08-31T07:54:07.832Z","0.12.0":"2026-09-02T12:20:53.805Z","0.13.0":"2026-09-04T07:32:51.537Z","0.14.0":"2026-09-04T12:32:59.584Z","0.15.0":"2026-09-11T14:59:14.230Z","0.16.0":"2026-09-15T06:51:34.529Z","0.17.0":"2026-09-20T22:25:06.626Z","0.18.0":"2026-09-22T10:29:56.098Z","0.19.0":"2026-09-25T15:49:11.822Z","0.20.0":"2026-09-28T10:37:13.423Z","0.20.1":"2026-09-28T13:33:58.685Z"},"bugs":{"url":"https://github.com/breezebluestudio/BreezeBlueStudio/issues"},"author":{"name":"Breeze Blue","email":"support@breezeblue.ai"},"license":"MIT","homepage":"https://breezeblue.ai","keywords":["audio","breeze","breeze-blue","sdk","text-to-speech","tts","voice"],"repository":{"url":"git+https://github.com/breezebluestudio/BreezeBlueStudio.git","type":"git","directory":"packages/breeze-typescript"},"description":"ESM-first TypeScript SDK for the Breeze Blue Developer API.","maintainers":[{"name":"breezeblue","email":"infra@breeze.blue"}],"readme":"# @breeze.blue/sdk\n\nESM-first TypeScript SDK for the Breeze Blue Developer API. Covers\ntext-to-speech, voice management, voice preview generation, history audio,\nmodels, and account usage.\n\nThe root entrypoint is safe to import in Node, browser, and edge runtimes. Local\naudio playback helpers live in the Node-only `@breeze.blue/sdk/node` subpath.\n\n## Install\n\n```sh\npnpm add @breeze.blue/sdk\n```\n\nor:\n\n```sh\nnpm install @breeze.blue/sdk\n```\n\n## API Key\n\nCreate an API key in the Breeze Blue Developer Console, then export it:\n\n```sh\nexport BREEZE_API_KEY=brz_...\n```\n\nThe SDK sends the key with the `xi-api-key` header. It also sends\n`x-breeze-sdk` for server-side observability.\n\nAn API key is required for every REST method. The one exception is\n`textToSpeech.realtime.connect(...)` with a `clientSecret`, which lets a\nbrowser client run without a key (see the realtime section below).\n\n## Quickstart\n\n```ts\nimport { BreezeBlueClient } from \"@breeze.blue/sdk\";\nimport { save } from \"@breeze.blue/sdk/node\";\n\nconst client = new BreezeBlueClient();\n\nconst audio = await client.textToSpeech.convert(\n  \"voc_...\",\n  { text: \"Hello from Breeze Blue.\" },\n  { outputFormat: \"mp3\" },\n);\n\nawait save(audio, \"hello.mp3\");\nconsole.log(audio.contentType);\nconsole.log(audio.historyItemId);\n```\n\n`new BreezeBlueClient()` reads `BREEZE_API_KEY` by default and sends requests to\n`https://api.breeze.blue`. To point at another environment, pass `baseUrl` or\nset `BREEZE_BASE_URL`.\n\n```ts\nconst client = new BreezeBlueClient({\n  apiKey: \"brz_...\",\n  baseUrl: \"https://api.breeze.blue\",\n  timeout: 120_000,\n});\n```\n\nPer-request options accept `timeout`, `signal`, and extra `headers`.\n\n## Text to Speech\n\n```ts\nconst audio = await client.textToSpeech.convert(\"voc_...\", {\n  text: \"Render this line.\",\n});\n\nconst audioStream = await client.textToSpeech.stream(\"voc_...\", {\n  text: \"Stream this line.\",\n});\n\nconst enhanced = await client.textToSpeech.enhance({\n  instruction: \"Calm, warm, bedtime narration.\",\n  languageCode: \"en\",\n});\n```\n\nUse async text-to-speech for long text, reference-heavy voices, or batch\nproduction where the caller should not hold an HTTP connection open:\n\n```ts\nconst job = await client.textToSpeech.createJob(\n  \"voc_...\",\n  { text: \"Render this longer script.\" },\n  { outputFormat: \"mp3\" },\n);\n\nconst status = await client.generationJobs.get(job.generationJobId);\nif (status.status === \"ready\") {\n  const audio = await client.generationJobs.downloadAudio(job.generationJobId);\n  await save(audio, \"async.mp3\");\n}\n```\n\nIf the job is still active, `downloadAudio(...)` rejects with\n`BreezeBlueGenerationNotReadyError`; read `error.retryAfter` before retrying.\n\nUse realtime text-to-speech when one WebSocket connection should handle multiple\nconversation turns. Realtime audio is fixed to raw `pcm_s16le`, 24000 Hz, mono,\n16-bit frames.\n\nRealtime needs a `WebSocket` implementation. Browsers, edge runtimes, and\nNode 22+ provide a global one; on Node 20, pass a constructor (for example the\n`ws` package's `WebSocket`) via `new BreezeBlueClient({ webSocket })`.\n\nStart consuming before appending text. Audio can arrive after `flush()` and may\ncontinue after `endTurn()`; keep the single consumer running until `turn.done`.\n\n```ts\nconst connection = await client.textToSpeech.realtime.connect(\"voc_...\", {\n  modelId: \"breeze-tts-2\",\n});\n\nconst pcmChunks: Uint8Array[] = [];\nconst consumer = (async () => {\n  for await (const message of connection) {\n    if (message.type === \"audio\") {\n      // Forward this chunk to your playback or transport layer immediately.\n      pcmChunks.push(message.audio);\n    } else if (message.type === \"error\") {\n      throw new Error(`Realtime TTS failed: ${message.code}: ${message.message}`);\n    } else if (message.type === \"turn.done\") {\n      return;\n    }\n  }\n  throw new Error(\"Realtime session closed before turn.done\");\n})();\n\nconnection.startTurn(\"turn_1\");\nconnection.appendText(\"Hello from Breeze.\");\nconnection.flush();\nconnection.endTurn();\n\nawait consumer;\nconnection.close();\n```\n\nAlways consume the connection (or its `audio()` / `events()` iterators) while a\nturn is active, and call `close()` when you are done. When the SDK detects a\nconnection failure — an invalid server frame, or more than 16 MiB of messages\npiling up unconsumed — it closes the connection and the iterator rejects with\na `BreezeBlueRealtimeError`. The `audio()` helper also throws\n`BreezeBlueRealtimeError` for server `error` events and abnormal WebSocket\ncloses instead of silently ending.\n\nWhen `BreezeBlueRealtimeError.recoverable` is `true`, the same connection\nremains usable. Most recoverable turn-command errors cancel the active turn.\nAn active-turn `session.update` rejection is the exception: the turn keeps\nrunning. If `connection.audio()` throws that error, start a fresh `audio()`\niterator immediately on the same connection and continue collecting the\ncurrent turn; do not start a replacement turn.\n\nEvents are a typed discriminated union (`session.ready`, `session.updated`, `turn.started`,\n`audio.started`, `turn.done`, `turn.cancelled`, `usage.committed`,\n`session.expiring`, `session.closed`, `error`, `pong`), with camelCase fields\nsuch as `turnId`, `historyItemId`, `expiresAt`, and `ttfaMs`. Treat the union as\nnon-exhaustive: the server may add event types, and the SDK delivers unknown\nJSON events unchanged — ignore event types you do not recognize instead of\nswitching exhaustively.\n\nBetween turns, update the synthesis instructions without replacing the\nWebSocket. `updateInstructions(...)` only sends the request; the matching\n`session.updated` acknowledgement remains on the same ordered iterator. Wait\nfor it before starting the next turn:\n\n```ts\nconnection.updateInstructions(\"Speak faster and with more energy.\");\nfor await (const message of connection) {\n  if (message.type === \"session.updated\") {\n    if (message.instructions !== \"Speak faster and with more energy.\") {\n      throw new Error(\"Unexpected instructions acknowledgement\");\n    }\n    break;\n  }\n}\n\nconnection.startTurn(\"turn_2\");\n```\n\nInstructions must be a non-empty string of at most 1,000 characters. Only one\nupdate may await acknowledgement, and updates are accepted only while no turn\nis active. An update attempted during a turn is rejected without interrupting\nthat turn. Keep one stream consumer: if a long-lived consumer owns the\niterator, have it signal your turn producer when `session.updated` arrives\ninstead of starting a second iterator.\n\nSend a keepalive ping inside the session's `inactivityTimeoutSeconds` window;\nthe server answers with a `pong` event. Keep it running during active turns too:\na long TTFA or upstream stall with no audio does not pause the idle deadline.\n\n```ts\nconst keepalive = setInterval(() => connection.ping(), 10_000);\n// ... run turns ...\nclearInterval(keepalive);\nconnection.close();\n```\n\nFor a long logical conversation, use the opt-in managed connection. It derives\na safe keepalive interval from `session.ready` and requires a server response\nafter each ping. A missing acknowledgement replaces an idle half-open socket;\nif a turn is active, it reports `TURN_INTERRUPTED` and never replays commands.\nThe manager also marks a physical WebSocket for turn-boundary rotation after\n10 minutes by default (or earlier when the server deadline requires it). An\nactive turn can delay the switch beyond that threshold; the server-advertised\nhard lifetime still applies. The manager\nperforms up to three unexpected idle reconnect attempts per interruption with\nfresh sessions and jittered exponential backoff:\n\n```ts\nconst connection = await client.textToSpeech.realtime.connectManaged(\"voc_...\", {\n  modelId: \"breeze-tts-2\",\n});\n\nconst consumer = (async () => {\n  for await (const message of connection) {\n    if (message.type === \"audio\") {\n      // Play or forward this PCM chunk immediately.\n    } else if (message.type === \"session.ready\") {\n      // A new physical epoch is ready; the logical connection remains the same.\n    } else if (message.type === \"turn.done\") {\n      return;\n    }\n  }\n})();\n\nawait connection.startTurnWhenReady(\"turn_1\");\nconnection.appendText(\"Hello from a long-running conversation.\");\nconnection.endTurn();\nawait consumer;\nconnection.close();\n```\n\nUse `heartbeatTimeoutMs` to tune the acknowledgement deadline and\n`maxPhysicalSessionMs` to tune the client-side epoch cap. Set\n`maxPhysicalSessionMs: 0` only when you intentionally want to rely solely on\nthe server-advertised deadline.\n\nWhen an idle reconnect is handled successfully, the logical iterator stays\nopen, suppresses the replaced physical socket's terminal event, and emits the\nnew epoch's `session.ready`. The replacement sends its first heartbeat\nimmediately and resumes the derived cadence after an inbound acknowledgement.\nReconnect attempts are bounded per interruption. `startTurnWhenReady(...)`\nwaits only when one of these idle replacements is already in progress and\n`turn.start` has not been sent; await it before sending any other turn command.\nAfter a planned rotation, an old epoch with outstanding `usage.committed`\nevents drains in parallel for up to five seconds and closes as soon as all\nknown completed turns settle. This event is best-effort; use history and usage\nAPIs as the durable source of truth.\n\nThe managed connection never buffers turn content or replays a command. The\nbounded `startTurnWhenReady(...)` wait happens before its first WebSocket\nwrite. If a WebSocket is interrupted while a turn is active, its iterator rejects with\n`BreezeBlueRealtimeError` and `error.code === \"TURN_INTERRUPTED\"`; decide from\nyour application conversation state whether and how to start a new turn.\nTreat the manager as an active realtime call, not a presence channel. Always\ncall `connection.close()` when the call ends, the user leaves, or the page\nenters a long-lived background state; otherwise its heartbeat intentionally\nkeeps a server WebSocket slot occupied.\n\nTo cut time to first audio, create the session ahead of time (for example while\nyour app is still preparing the turn) and connect with its `clientSecret` when\nthe first text is ready — only the WebSocket handshake remains:\n\n```ts\nconst session = await client.textToSpeech.realtime.createSession(\"voc_...\", {\n  modelId: \"breeze-tts-2\",\n});\n\n// Later, when the first text is ready:\nconst connection = await client.textToSpeech.realtime.connect(\"voc_...\", {\n  clientSecret: session.clientSecret,\n  websocketUrl: session.websocketUrl,\n  directWebsocketUrl: session.directWebsocketUrl,\n});\n```\n\nWhen the session response includes `directWebsocketUrl`, the SDK prefers its\nquery-free origin and authenticates with the WebSocket subprotocol. It falls\nback to `websocketUrl` for services that have not enabled the direct transport.\n\nThe same `clientSecret` handoff lets a browser connect without ever seeing your\nAPI key: create the session on your server, hand `session.clientSecret` to the\npage, and build a key-less client there:\n\n```ts\n// Browser — no API key required for clientSecret connections.\nconst browserClient = new BreezeBlueClient();\nconst connection = await browserClient.textToSpeech.realtime.connect(\"voc_...\", {\n  clientSecret, // received from your server\n});\n```\n\nFor a managed browser connection, provide a `sessionFactory`. The SDK invokes it\nfor every physical epoch, so the callback must fetch a newly minted secret from\nyour backend rather than cache the first response. Session configuration belongs\nin that backend request when a custom factory is used:\n\n```ts\nimport { BreezeBlueRealtimeError } from \"@breeze.blue/sdk\";\n\nconst connection = await browserClient.textToSpeech.realtime.connectManaged(\"voc_...\", {\n  sessionFactory: async ({ signal }) => {\n    const response = await fetch(\"/api/breeze-realtime-session\", {\n      method: \"POST\",\n      signal,\n    });\n    if (!response.ok) {\n      const reconnect =\n        [408, 425, 429].includes(response.status) || response.status >= 500;\n      throw new BreezeBlueRealtimeError(\"Could not create realtime session\", {\n        code: \"SESSION_FACTORY_ERROR\",\n        reconnect,\n      });\n    }\n    return response.json(); // { clientSecret, websocketUrl?, directWebsocketUrl? }\n  },\n});\n```\n\nHonor the factory `signal`: the SDK aborts it when the logical connection closes\nor the physical-epoch timeout expires. A custom callback that ignores the\nsignal must still enforce its own bounded request timeout.\n\nAfter a dynamic instruction update receives `session.updated`, the managed SDK\ncarries the confirmed value to later physical epochs. SDK-created replacements\ninclude it in their session request; factory-created replacements receive an\nautomatic `session.update` before their next `session.ready` is exposed to the\nlogical iterator.\n\n`modelId`, `languageCode`, `voiceSettings`, `inactivityTimeoutSeconds`, and\n`enableLogging` are fixed when the session is created. The initial\n`instructions` value is also supplied at creation, but it can later be\nreplaced between turns with `updateInstructions(...)`. `connect` ignores\ninitial session options when `clientSecret` or `websocketUrl` is provided and\nlogs a warning.\n\nIf a realtime WebSocket is interrupted by a network change, service deployment,\nor upstream realtime worker restart, `connectManaged(...)` handles bounded\nreconnects only while there is no active turn. With the lower-level\n`connect(...)`, handle `error.meta.reconnect === true` or a `session.closed`\nevent with `reconnect === true` by creating a new session and starting a new\nturn from your own conversation state. Active turns are never resumed in place.\nDuring a managed reconnect, transient session-creation responses (408, 425, 429,\nand 5xx) share the same bounded reconnect budget; other 4xx responses fail the\nlogical connection immediately. A custom `sessionFactory` should preserve that\ndistinction with `new BreezeBlueRealtimeError(message, { reconnect })`; a plain\n`Error` cannot communicate a terminal policy response and is treated as\ntransient inside the same bounded budget. `GENERATION_CAPACITY_EXCEEDED` is\nturn-scoped: wait for the following `turn.cancelled`, back off using\n`meta.retryAfterSeconds`, and start a new turn on the same managed logical\nconnection without replaying text.\n\nThe API uses the default text-to-speech model when `modelId` is omitted. If\nyou need to select a model explicitly, call `client.models.list()` and pass one\nof the returned `modelId` values.\n\nAll field names follow TypeScript conventions (`modelId`, `voiceSettings`,\n`outputFormat`, `historyItemId`, ...). The SDK translates them to the\nsnake_case HTTP wire format on send and translates JSON responses back to\ncamelCase on receive.\n\nAudio responses expose convenient helpers:\n\n```ts\nawait audio.arrayBuffer();\nawait audio.bytes();\nawait audio.blob();\n\naudio.contentType;\naudio.historyItemId;\n```\n\nNode playback helpers:\n\n```ts\nimport { play, save, stream } from \"@breeze.blue/sdk/node\";\n\nawait play(audio);        // ffplay, with macOS afplay fallback\nawait save(audio, \"x.mp3\");\nawait stream(audioStream); // mpv\n```\n\nStreaming text-to-speech defaults to `pcm` to reduce time to first audio. Pass\n`{ outputFormat: \"wav\" }` or `{ outputFormat: \"mp3\" }` when you need that wire\nformat explicitly.\n\nSync and async text-to-speech also take a sample rate and, for the lossy encodings, a bitrate, such as\n`{ outputFormat: \"wav_48000\" }`. Breeze resamples its native 24000 Hz output for\ndownstream compatibility; profiles carrying a sample rate are not available for streaming.\n\n## Voices\n\nSearch every voice available to the account and inspect a single voice. Public\ncatalog results combine semantic similarity with exact, prefix, and substring\nname matching; saved personal voices remain searchable by name, description,\nor voice ID.\n\n```ts\nconst voices = await client.voices.search({ search: \"calm documentary narrator\" });\nconst newestFirst = await client.voices.search();\nconst dailyTrend = await client.voices.search({\n  voiceType: \"default\",\n  sort: \"trend\",\n  languageCode: \"zh\",\n  gender: [\"female\", \"neutral\"],\n  tone: [\"warm\"],\n});\nconst taggedFavorites = await client.voices.search({\n  favoritesOnly: true,\n  tags: [\"narration\", \"novel=三体\"],\n});\nconst firstVoiceId = voices.voices[0].voiceId;\n\nconst voice = await client.voices.get(firstVoiceId);\nconst settings = await client.voices.getSettings(firstVoiceId);\n\nconst randomVoice = await client.voices.random();\nconsole.log(randomVoice.voiceId, randomVoice.name);\n// Narrow the random pool by language and/or voice source.\nconst randomCatalogVoice = await client.voices.random({ languageCode: \"zh\", voiceType: \"default\" });\n\n// Discover the current code-only Voice Metadata contract before building a form.\nconst metadataOptions = await client.voices.metadataOptions();\nconsole.log(metadataOptions.languageCodes);\nconsole.log(metadataOptions.accentCodesByLanguage.en);\n```\n\nVoice listings keep the published default of stable creation-time order from\nnewest to oldest. Use `{ sort: \"trend\", voiceType: \"default\" }` for the shared\nDaily Trend order. Eligible voices not yet ranked follow the snapshot members;\nreturned page tokens pin the initial supplemental candidates. Search queries remain relevance-ranked; Trend is only a\nweak prior within the same relevance tier.\n\nBreeze voice creation is always two steps: produce a **preview**, let the\nuser accept it, then **save the preview** as a real voice. Three ways to\nproduce a preview:\n\n```ts\nimport { readFile } from \"node:fs/promises\";\n\n// Option A — clone preview from an audio sample\nconst clonePreview = await client.voices.createClonePreview({\n  name: \"Demo voice\",\n  file: {\n    data: await readFile(\"sample.wav\"),\n    filename: \"sample.wav\",\n    contentType: \"audio/wav\",\n  },\n});\nlet generatedVoiceId = clonePreview.generatedVoiceId;\n\n// Option B — design preview from a text description (no audio)\nconst design = await client.voices.createDesignPreview({\n  voiceDescription: \"Warm documentary narrator with clear articulation.\",\n});\ngeneratedVoiceId = design.previews[0].generatedVoiceId;\n```\n\nOption C keeps an existing voice and makes it speak another language.\nLocalization runs as a background job: start it, then poll until the status is\n`ready`. `name` defaults to the source voice name.\n\n```ts\nconst job = await client.voices.createLocalizePreview({\n  voiceId: firstVoiceId,\n  languageCode: \"es\",\n  name: \"Documentary narrator (Spanish)\",\n});\n\nlet localized = await client.voices.getLocalizePreview(job.generationJobId);\nwhile (localized.status !== \"ready\") {\n  if (localized.status === \"failed\" || localized.status === \"cancelled\") {\n    throw new Error(localized.error?.detail ?? localized.status);\n  }\n  await new Promise((resolve) => setTimeout(resolve, 2000));\n  localized = await client.voices.getLocalizePreview(job.generationJobId);\n}\n\ngeneratedVoiceId = localized.generatedVoiceId!;\n```\n\nVoice Remix creates a same-language candidate from an owned or official voice\nand a custom description or preset. Each successful candidate uses the Voice Design candidate\nprice. The source remains unchanged.\n\n```ts\nconst remixJob = await client.voices.createRemixPreview({\n  voiceId: firstVoiceId,\n  prompt: \"Make the voice warmer and more expressive.\",\n  guidanceScale: 4,\n});\nlet remix = await client.voices.getRemixPreview(remixJob.generationJobId);\nwhile (remix.status !== \"ready\") {\n  if (remix.status === \"failed\" || remix.status === \"cancelled\") {\n    throw new Error(remix.error?.detail ?? remix.status);\n  }\n  await new Promise((resolve) => setTimeout(resolve, 2000));\n  remix = await client.voices.getRemixPreview(remixJob.generationJobId);\n}\ngeneratedVoiceId = remix.generatedVoiceId!;\n```\n\nUse `streamPreview` and `savePreview` with the generated ID to audition and save\na private, independent voice. A client timeout leaves the server job running.\n\nCustom input is enhanced into an instruction and matching script in the source\nlanguage. List templates with `client.voices.listRemixPresets()` and pass\n`presetId` instead of `prompt` to use one. Edited templates are enhanced;\nunchanged templates are translated only when the source language differs.\n\nTo compare strengths, call `client.voices.prepareRemixPreview(...)` first and\npass its `preparationToken` to each create call with the same input. The token\nlasts 24 hours. Values 2 / 4 / 6 / 8 mean Stable / Expressive / Creative / Intense;\n4 is the default. Web Auto compares separate candidates at 4, 6, and 8.\nUse `options.headers[\"Idempotency-Key\"]` to retry uncertain submissions safely,\nwith a distinct key per candidate. Status includes `comparisonAudioUrl`,\n`comparisonText`, and `sourceVoice`. Saving without `voiceName` or\n`voiceDescription` uses the source values.\nSee the [Voice Remix guide](https://docs.breezeblue.ai/guides/voice-remix).\n\nFor the fastest first audio, generate one design preview as a live 24 kHz mono\nPCM response. The Node `stream()` helper consumes the response body directly;\na clean end means `generatedVoiceId` is ready to save:\n\n```ts\nimport { stream } from \"@breeze.blue/sdk/node\";\n\nconst livePreview = await client.voices.streamDesignPreview({\n  voiceDescription: \"Warm documentary narrator with clear articulation.\",\n  text: \"This is a short preview script.\",\n});\nawait stream(livePreview);\ngeneratedVoiceId = livePreview.generatedVoiceId!;\n```\n\n`files` is also accepted with exactly one item.\n\nDownload a completed preview so the user can audition it, then save the one they\npick:\n\n```ts\nconst audio = await client.voices.streamPreview(generatedVoiceId);\nawait save(audio, \"preview.mp3\");\n\nconst saved = await client.voices.savePreview({\n  generatedVoiceId,\n  voiceName: \"Documentary narrator\",\n  languageCode: \"en\",\n  gender: \"neutral\",\n  age: \"middle_aged\",\n  tone: [\"warm\", \"articulate\"],\n  accent: \"american\",\n  tags: [\"narration\", \"novel=三体\"],\n});\n```\n\nEdit, tune settings, or delete a saved voice:\n\n```ts\nawait client.voices.edit(saved.voiceId, {\n  name: \"Renamed narrator\",\n  languageCode: \"en\",\n  tone: [\"calm\", \"measured\"],\n});\n// null clears nullable metadata; [] clears tone. Omitted fields remain unchanged.\nawait client.voices.edit(saved.voiceId, { accent: null, tone: [] });\nawait client.voices.editSettings(saved.voiceId, { guidanceScale: 1.2 });\nawait client.voices.favorite(firstVoiceId);\nawait client.voices.updateTags(firstVoiceId, [\"narration\", \"novel=三体\"]);\nawait client.voices.updateTags(firstVoiceId, []); // Resume owner tag inheritance.\nawait client.voices.unfavorite(firstVoiceId);\nawait client.voices.delete(saved.voiceId);\n```\n\nVoice Metadata uses stable code values. `gender`, `age`, and `accent` may be\n`null`; `tone` contains up to three distinct codes. English and Chinese use\ndifferent accent code sets, and other languages require `accent: null`.\nCall `client.voices.metadataOptions()` to discover every accepted code and the\nlanguage-to-accent cascade at runtime.\n\n## History, Models, and Account\n\n```ts\nconst models = await client.models.list();\nconst balance = await client.account.balance();\nconst currentKey = (await client.account.currentApiKey()).apiKey;\nconsole.log(currentKey.status, currentKey.creditRemaining);\nconst usage = await client.account.usage({ days: 7 });\nconst keyUsage = await client.account.usage({\n  apiKeyId: \"key_01hprod\",\n  clientType: \"sdk\",\n});\n\nconst history = await client.history.list({ pageSize: 10 });\nconst item = await client.history.get(history.history[0].historyItemId);\nconst audio = await client.history.downloadAudio(item.historyItemId);\n```\n\n## Errors\n\nAPI failures throw `BreezeBlueAPIError` subclasses:\n\n- `BreezeBlueAuthenticationError`\n- `BreezeBlueBadRequestError`\n- `BreezeBlueConflictError`\n- `BreezeBlueForbiddenError`\n- `BreezeBlueNotFoundError`\n- `BreezeBlueValidationError`\n- `BreezeBlueRateLimitError`\n- `BreezeBlueInsufficientCreditsError`\n- `BreezeBlueUpstreamError` for upstream generation/storage/model failures,\n  commonly 502/504\n- `BreezeBlueServiceUnavailableError` for capacity or service-configuration\n  failures, commonly 503\n\n```ts\nimport { BreezeBlueClient, BreezeBlueRateLimitError } from \"@breeze.blue/sdk\";\n\ntry {\n  await new BreezeBlueClient().models.list();\n} catch (error) {\n  if (error instanceof BreezeBlueRateLimitError) {\n    console.log(error.headers.get(\"retry-after\"));\n  }\n}\n```\n\nEach API error exposes `status`, `code`, `detail`, `meta`, and `headers`.\n\nClone previews automatically generate a short script in the detected reference audio language. They accept a reference sample, name, and optional description. Save the preview as a voice, then use Text to Speech for custom scripts, instructions, or target languages.\n\n### HTTP TTS speed\n\nPass `voiceSettings: { speed: 1.25 }` to control speech speed without changing pitch, from 0.5 to 2.0. Omission always means 1.0; saved voice speed is not inherited. Sync, async and HTTP streaming support this parameter; Realtime does not.\n\nPass `voiceSettings: { volume: 1.5 }` to apply a request-level linear amplitude multiplier. Values range from 0.01 to 2.0; omission means 1.0. Values above 1.0 may clip peaks. Sync, async and HTTP streaming support this parameter; it does not change saved voice settings or apply to Realtime.\n\n## Word timing\n\nStream audio and word/token timestamps with `client.textToSpeech.streamWithTimestamps(...)`. Use `for await` to consume chunks containing `audioBase64` and `wordTimestamps`; breaking iteration closes the stream. Decode the audio separately and merge repeated word indices. See [Speech timing](https://docs.breezeblue.ai/guides/speech-timing) for complete examples and timing semantics.\n\nFor a complete response, use `client.textToSpeech.convertWithTimestamps(...)`. It returns base64 audio, its content type, and the full word/token timestamp list. Decode the audio before saving or playback. See [Speech timing](https://docs.breezeblue.ai/guides/speech-timing) and [Convert with timestamps](https://docs.breezeblue.ai/api-reference/text-to-speech/convert-with-timestamps).\n\nFor background generation with timing, use `client.textToSpeech.createJobWithTimestamps(...)`. Poll with `client.generationJobs.get(jobId)`; a ready job includes `wordTimestamps` and the audio download URL.\n\nClone preview creation accepts an omitted name. The server uses the filename stem or `Cloned Voice`; saving a Clone preview without a name keeps its preview name. Other preview types still require a save name. Explicit names longer than 80 Unicode characters are rejected.\n\n## Studio management\n\n`client.studio` exposes `projects`, `chapters`, `clips`, `tracks`, `instances`, and `files`. Import scripts with existing voice IDs, edit inherited instructions and silence, upload MP3/WAV materials, and arrange background audio. Project writes require the latest edit token and a UUID operation ID. Conflicts preserve error metadata and are not retried automatically.\n\nSee the [Studio initialization guide](https://docs.breezeblue.ai/guides/studio-projects) for a complete workflow. Signed uploads use a separate request without the API key. Management operations do not generate speech or export projects.\n\n`client.studio.files.upload(blob, { operationId, name, projectId })` creates the file record, uploads to the signed URL, completes the upload and waits for `ready`; failures reject with `BreezeBlueStudioFileError`. Timeline positions, trims and lengths are 48 kHz frames; use `secondsToFrames` and `framesToSeconds` to convert.\n","readmeFilename":"README.md"}