@mastra/voice-gladia 0.0.0-netlify-no-bundle-20251127120354 → 0.0.0-partial-response-backport-20251204204441

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,34 +1,38 @@
1
1
  # @mastra/voice-gladia
2
2
 
3
- ## 0.0.0-netlify-no-bundle-20251127120354
3
+ ## 0.0.0-partial-response-backport-20251204204441
4
4
 
5
- ### Minor Changes
6
-
7
- - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
5
+ ### Patch Changes
8
6
 
9
- - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
7
+ - Updated dependencies [[`5cc85aa`](https://github.com/mastra-ai/mastra/commit/5cc85aa4329773cac8314f3aa0146227b6b158e4), [`386ab43`](https://github.com/mastra-ai/mastra/commit/386ab4350cf2a814fb4ac0a5fc6983ca93158ffe), [`2b62302`](https://github.com/mastra-ai/mastra/commit/2b623027a9d65c1dbc963bf651e9e6a9d09da1fa), [`7d85da4`](https://github.com/mastra-ai/mastra/commit/7d85da42a5fab56009a959a9c20328558d14f4b5), [`31b381e`](https://github.com/mastra-ai/mastra/commit/31b381efb48e031c0ecc46bc6e410ae6e67b88e5), [`54cc99c`](https://github.com/mastra-ai/mastra/commit/54cc99cb99483b9e08ec41fa1502f43b71b4c351), [`e77a5f9`](https://github.com/mastra-ai/mastra/commit/e77a5f9718dc418e29e3c8a389299ed6dc0a6401), [`b069af5`](https://github.com/mastra-ai/mastra/commit/b069af514c4dcfc4fdcb164303569bfff1c26e3d), [`7dc8304`](https://github.com/mastra-ai/mastra/commit/7dc830420296db516b86dcec663e54d0309b8fb8), [`62d13f4`](https://github.com/mastra-ai/mastra/commit/62d13f4d1db1c16742831f210fe4c2caf8a26d57)]:
8
+ - @mastra/core@0.0.0-partial-response-backport-20251204204441
10
9
 
11
- - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
10
+ ## 0.11.12
12
11
 
13
12
  ### Patch Changes
14
13
 
15
- - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
16
- - @mastra/core@0.0.0-netlify-no-bundle-20251127120354
14
+ - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
17
15
 
18
- ## 0.12.0-beta.0
16
+ - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
17
+ - @mastra/core@0.24.0
19
18
 
20
- ### Minor Changes
19
+ ## 0.11.12-alpha.0
21
20
 
22
- - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
21
+ ### Patch Changes
22
+
23
+ - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
23
24
 
24
- - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
25
+ - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
26
+ - @mastra/core@0.24.0-alpha.0
25
27
 
26
- - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
28
+ ## 0.11.11
27
29
 
28
30
  ### Patch Changes
29
31
 
30
- - Updated dependencies [[`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
31
- - @mastra/core@1.0.0-beta.0
32
+ - Fix peerdependencies ([`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de))
33
+
34
+ - Updated dependencies []:
35
+ - @mastra/core@0.23.1
32
36
 
33
37
  ## 0.11.10
34
38
 
package/README.md CHANGED
@@ -32,8 +32,7 @@ const voice = new GladiaVoice({
32
32
  // Create an agent with voice capabilities
33
33
  // Note: Gladia only supports STT, so the agent will only be able to listen.
34
34
  export const agent = new Agent({
35
- id: 'voice-agent',
36
- name: 'Voice Agent',
35
+ name: 'Agent',
37
36
  instructions: `You are a helpful assistant with STT capabilities.`,
38
37
  model: google('gemini-1.5-pro-latest'),
39
38
  voice: voice,
package/dist/index.cjs CHANGED
@@ -21,64 +21,66 @@ var GladiaVoice = class extends voice.MastraVoice {
21
21
  throw new Error("Gladia does not support text-to-speech.");
22
22
  }
23
23
  async listen(input, { mimeType, fileName, options }) {
24
- if (!fileName) {
25
- throw new Error("fileName is required for audio processing");
26
- }
27
- if (!mimeType) {
28
- throw new Error("mimeType is required for audio processing");
29
- }
30
- const chunks = [];
31
- for await (const chunk of input) {
32
- chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
33
- }
34
- const audioBuffer = Buffer.concat(chunks);
35
- const form = new FormData();
36
- form.append("audio", new Blob([audioBuffer], { type: mimeType }), fileName);
37
- const uploadRes = await fetch(`${this.baseUrl}/upload/`, {
38
- method: "POST",
39
- headers: { "x-gladia-key": this.apiKey },
40
- body: form
41
- });
42
- if (!uploadRes.ok) {
43
- throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);
44
- }
45
- const { audio_url } = await uploadRes.json();
46
- const opts = {
47
- diarization: true,
48
- // <-- default
49
- ...options
50
- };
51
- const transcribeRes = await fetch(`${this.baseUrl}/pre-recorded/`, {
52
- method: "POST",
53
- headers: {
54
- "x-gladia-key": this.apiKey,
55
- "Content-Type": "application/json"
56
- },
57
- body: JSON.stringify({ audio_url, ...opts })
58
- });
59
- const { id } = await transcribeRes.json();
60
- while (true) {
61
- const pollRes = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {
62
- method: "GET",
24
+ return this.traced(async () => {
25
+ if (!fileName) {
26
+ throw new Error("fileName is required for audio processing");
27
+ }
28
+ if (!mimeType) {
29
+ throw new Error("mimeType is required for audio processing");
30
+ }
31
+ const chunks = [];
32
+ for await (const chunk of input) {
33
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
34
+ }
35
+ const audioBuffer = Buffer.concat(chunks);
36
+ const form = new FormData();
37
+ form.append("audio", new Blob([audioBuffer], { type: mimeType }), fileName);
38
+ const uploadRes = await fetch(`${this.baseUrl}/upload/`, {
39
+ method: "POST",
40
+ headers: { "x-gladia-key": this.apiKey },
41
+ body: form
42
+ });
43
+ if (!uploadRes.ok) {
44
+ throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);
45
+ }
46
+ const { audio_url } = await uploadRes.json();
47
+ const opts = {
48
+ diarization: true,
49
+ // <-- default
50
+ ...options
51
+ };
52
+ const transcribeRes = await fetch(`${this.baseUrl}/pre-recorded/`, {
53
+ method: "POST",
63
54
  headers: {
64
55
  "x-gladia-key": this.apiKey,
65
56
  "Content-Type": "application/json"
66
- }
57
+ },
58
+ body: JSON.stringify({ audio_url, ...opts })
67
59
  });
68
- if (!pollRes.ok) {
69
- throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);
70
- }
71
- const pollJson = await pollRes.json();
72
- if (pollJson.status === "done") {
73
- const transcript = pollJson.result?.transcription?.full_transcript;
74
- if (!transcript) throw new Error("No transcript found");
75
- return transcript;
76
- }
77
- if (pollJson.status === "error") {
78
- throw new Error(`Gladia error: ${pollJson.error || "Unknown"}`);
60
+ const { id } = await transcribeRes.json();
61
+ while (true) {
62
+ const pollRes = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {
63
+ method: "GET",
64
+ headers: {
65
+ "x-gladia-key": this.apiKey,
66
+ "Content-Type": "application/json"
67
+ }
68
+ });
69
+ if (!pollRes.ok) {
70
+ throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);
71
+ }
72
+ const pollJson = await pollRes.json();
73
+ if (pollJson.status === "done") {
74
+ const transcript = pollJson.result?.transcription?.full_transcript;
75
+ if (!transcript) throw new Error("No transcript found");
76
+ return transcript;
77
+ }
78
+ if (pollJson.status === "error") {
79
+ throw new Error(`Gladia error: ${pollJson.error || "Unknown"}`);
80
+ }
81
+ await new Promise((res) => setTimeout(res, 1e3));
79
82
  }
80
- await new Promise((res) => setTimeout(res, 1e3));
81
- }
83
+ }, "voice.gladia.listen")();
82
84
  }
83
85
  };
84
86
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["MastraVoice"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\n\ninterface GladiaConfig {\n apiKey: string;\n}\n\ninterface GladiaListenOptions {\n diarization?: boolean;\n diarization_config?: {\n number_of_speakers?: number;\n min_speakers?: number;\n max_speakers?: number;\n };\n translation?: boolean;\n translation_config?: {\n model?: 'base' | 'enhanced';\n target_languages?: string[];\n };\n detect_language?: boolean;\n enable_code_switching?: boolean;\n}\n\ninterface GladiaListenCallParams {\n mimeType: string;\n fileName: string;\n options?: GladiaListenOptions;\n}\n\nexport class GladiaVoice extends MastraVoice {\n private apiKey: string;\n private baseUrl = 'https://api.gladia.io/v2';\n\n constructor({ listeningModel }: { listeningModel?: GladiaConfig } = {}) {\n const defaultApiKey = process.env.GLADIA_API_KEY;\n super({\n listeningModel: {\n name: 'gladia',\n apiKey: listeningModel?.apiKey ?? defaultApiKey,\n },\n });\n\n this.apiKey = this.listeningModel?.apiKey as string;\n if (!this.apiKey) throw new Error('GLADIA_API_KEY is not set.');\n }\n\n async speak(_input: string, _options?: Record<string, unknown>): Promise<any> {\n throw new Error('Gladia does not support text-to-speech.');\n }\n\n async listen(input: Readable, { mimeType, fileName, options }: GladiaListenCallParams): Promise<string> {\n if (!fileName) {\n throw new Error('fileName is required for audio processing');\n }\n if (!mimeType) {\n throw new Error('mimeType is required for audio processing');\n }\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);\n }\n\n const audioBuffer = Buffer.concat(chunks);\n const form = new FormData();\n form.append('audio', new Blob([audioBuffer], { type: mimeType }), fileName);\n\n const uploadRes: any = await fetch(`${this.baseUrl}/upload/`, {\n method: 'POST',\n headers: { 'x-gladia-key': this.apiKey },\n body: form,\n });\n if (!uploadRes.ok) {\n throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);\n }\n const { audio_url } = await uploadRes.json();\n const opts: GladiaListenOptions = {\n diarization: true, // <-- default\n ...options,\n };\n\n const transcribeRes: any = await fetch(`${this.baseUrl}/pre-recorded/`, {\n method: 'POST',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n\n body: JSON.stringify({ audio_url, ...opts }),\n });\n\n const { id } = await transcribeRes.json();\n\n while (true) {\n const pollRes: any = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {\n method: 'GET',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!pollRes.ok) {\n throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);\n }\n\n const pollJson = await pollRes.json();\n if (pollJson.status === 'done') {\n const transcript = pollJson.result?.transcription?.full_transcript;\n if (!transcript) throw new Error('No transcript found');\n return transcript;\n }\n\n if (pollJson.status === 'error') {\n throw new Error(`Gladia error: ${pollJson.error || 'Unknown'}`);\n }\n\n await new Promise(res => setTimeout(res, 1000));\n }\n }\n}\n\nexport type { GladiaConfig, GladiaListenOptions };\nexport type { GladiaListenCallParams };\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["MastraVoice"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\n\ninterface GladiaConfig {\n apiKey: string;\n}\n\ninterface GladiaListenOptions {\n diarization?: boolean;\n diarization_config?: {\n number_of_speakers?: number;\n min_speakers?: number;\n max_speakers?: number;\n };\n translation?: boolean;\n translation_config?: {\n model?: 'base' | 'enhanced';\n target_languages?: string[];\n };\n detect_language?: boolean;\n enable_code_switching?: boolean;\n}\n\ninterface GladiaListenCallParams {\n mimeType: string;\n fileName: string;\n options?: GladiaListenOptions;\n}\n\nexport class GladiaVoice extends MastraVoice {\n private apiKey: string;\n private baseUrl = 'https://api.gladia.io/v2';\n\n constructor({ listeningModel }: { listeningModel?: GladiaConfig } = {}) {\n const defaultApiKey = process.env.GLADIA_API_KEY;\n super({\n listeningModel: {\n name: 'gladia',\n apiKey: listeningModel?.apiKey ?? defaultApiKey,\n },\n });\n\n this.apiKey = this.listeningModel?.apiKey as string;\n if (!this.apiKey) throw new Error('GLADIA_API_KEY is not set.');\n }\n\n async speak(_input: string, _options?: Record<string, unknown>): Promise<any> {\n throw new Error('Gladia does not support text-to-speech.');\n }\n\n async listen(input: Readable, { mimeType, fileName, options }: GladiaListenCallParams): Promise<string> {\n return this.traced(async () => {\n if (!fileName) {\n throw new Error('fileName is required for audio processing');\n }\n if (!mimeType) {\n throw new Error('mimeType is required for audio processing');\n }\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);\n }\n\n const audioBuffer = Buffer.concat(chunks);\n const form = new FormData();\n form.append('audio', new Blob([audioBuffer], { type: mimeType }), fileName);\n\n const uploadRes: any = await fetch(`${this.baseUrl}/upload/`, {\n method: 'POST',\n headers: { 'x-gladia-key': this.apiKey },\n body: form,\n });\n if (!uploadRes.ok) {\n throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);\n }\n const { audio_url } = await uploadRes.json();\n const opts: GladiaListenOptions = {\n diarization: true, // <-- default\n ...options,\n };\n\n const transcribeRes: any = await fetch(`${this.baseUrl}/pre-recorded/`, {\n method: 'POST',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n\n body: JSON.stringify({ audio_url, ...opts }),\n });\n\n const { id } = await transcribeRes.json();\n\n while (true) {\n const pollRes: any = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {\n method: 'GET',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!pollRes.ok) {\n throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);\n }\n\n const pollJson = await pollRes.json();\n if (pollJson.status === 'done') {\n const transcript = pollJson.result?.transcription?.full_transcript;\n if (!transcript) throw new Error('No transcript found');\n return transcript;\n }\n\n if (pollJson.status === 'error') {\n throw new Error(`Gladia error: ${pollJson.error || 'Unknown'}`);\n }\n\n await new Promise(res => setTimeout(res, 1000));\n }\n }, 'voice.gladia.listen')();\n }\n}\n\nexport type { GladiaConfig, GladiaListenOptions };\nexport type { GladiaListenCallParams };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,EAAE,cAAc,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,YAAY,CAAA;KAAO;IAahE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAqExG;AAED,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,EAAE,cAAc,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,YAAY,CAAA;KAAO;IAahE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAuExG;AAED,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -19,64 +19,66 @@ var GladiaVoice = class extends MastraVoice {
19
19
  throw new Error("Gladia does not support text-to-speech.");
20
20
  }
21
21
  async listen(input, { mimeType, fileName, options }) {
22
- if (!fileName) {
23
- throw new Error("fileName is required for audio processing");
24
- }
25
- if (!mimeType) {
26
- throw new Error("mimeType is required for audio processing");
27
- }
28
- const chunks = [];
29
- for await (const chunk of input) {
30
- chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
31
- }
32
- const audioBuffer = Buffer.concat(chunks);
33
- const form = new FormData();
34
- form.append("audio", new Blob([audioBuffer], { type: mimeType }), fileName);
35
- const uploadRes = await fetch(`${this.baseUrl}/upload/`, {
36
- method: "POST",
37
- headers: { "x-gladia-key": this.apiKey },
38
- body: form
39
- });
40
- if (!uploadRes.ok) {
41
- throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);
42
- }
43
- const { audio_url } = await uploadRes.json();
44
- const opts = {
45
- diarization: true,
46
- // <-- default
47
- ...options
48
- };
49
- const transcribeRes = await fetch(`${this.baseUrl}/pre-recorded/`, {
50
- method: "POST",
51
- headers: {
52
- "x-gladia-key": this.apiKey,
53
- "Content-Type": "application/json"
54
- },
55
- body: JSON.stringify({ audio_url, ...opts })
56
- });
57
- const { id } = await transcribeRes.json();
58
- while (true) {
59
- const pollRes = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {
60
- method: "GET",
22
+ return this.traced(async () => {
23
+ if (!fileName) {
24
+ throw new Error("fileName is required for audio processing");
25
+ }
26
+ if (!mimeType) {
27
+ throw new Error("mimeType is required for audio processing");
28
+ }
29
+ const chunks = [];
30
+ for await (const chunk of input) {
31
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
32
+ }
33
+ const audioBuffer = Buffer.concat(chunks);
34
+ const form = new FormData();
35
+ form.append("audio", new Blob([audioBuffer], { type: mimeType }), fileName);
36
+ const uploadRes = await fetch(`${this.baseUrl}/upload/`, {
37
+ method: "POST",
38
+ headers: { "x-gladia-key": this.apiKey },
39
+ body: form
40
+ });
41
+ if (!uploadRes.ok) {
42
+ throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);
43
+ }
44
+ const { audio_url } = await uploadRes.json();
45
+ const opts = {
46
+ diarization: true,
47
+ // <-- default
48
+ ...options
49
+ };
50
+ const transcribeRes = await fetch(`${this.baseUrl}/pre-recorded/`, {
51
+ method: "POST",
61
52
  headers: {
62
53
  "x-gladia-key": this.apiKey,
63
54
  "Content-Type": "application/json"
64
- }
55
+ },
56
+ body: JSON.stringify({ audio_url, ...opts })
65
57
  });
66
- if (!pollRes.ok) {
67
- throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);
68
- }
69
- const pollJson = await pollRes.json();
70
- if (pollJson.status === "done") {
71
- const transcript = pollJson.result?.transcription?.full_transcript;
72
- if (!transcript) throw new Error("No transcript found");
73
- return transcript;
74
- }
75
- if (pollJson.status === "error") {
76
- throw new Error(`Gladia error: ${pollJson.error || "Unknown"}`);
58
+ const { id } = await transcribeRes.json();
59
+ while (true) {
60
+ const pollRes = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {
61
+ method: "GET",
62
+ headers: {
63
+ "x-gladia-key": this.apiKey,
64
+ "Content-Type": "application/json"
65
+ }
66
+ });
67
+ if (!pollRes.ok) {
68
+ throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);
69
+ }
70
+ const pollJson = await pollRes.json();
71
+ if (pollJson.status === "done") {
72
+ const transcript = pollJson.result?.transcription?.full_transcript;
73
+ if (!transcript) throw new Error("No transcript found");
74
+ return transcript;
75
+ }
76
+ if (pollJson.status === "error") {
77
+ throw new Error(`Gladia error: ${pollJson.error || "Unknown"}`);
78
+ }
79
+ await new Promise((res) => setTimeout(res, 1e3));
77
80
  }
78
- await new Promise((res) => setTimeout(res, 1e3));
79
- }
81
+ }, "voice.gladia.listen")();
80
82
  }
81
83
  };
82
84
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\n\ninterface GladiaConfig {\n apiKey: string;\n}\n\ninterface GladiaListenOptions {\n diarization?: boolean;\n diarization_config?: {\n number_of_speakers?: number;\n min_speakers?: number;\n max_speakers?: number;\n };\n translation?: boolean;\n translation_config?: {\n model?: 'base' | 'enhanced';\n target_languages?: string[];\n };\n detect_language?: boolean;\n enable_code_switching?: boolean;\n}\n\ninterface GladiaListenCallParams {\n mimeType: string;\n fileName: string;\n options?: GladiaListenOptions;\n}\n\nexport class GladiaVoice extends MastraVoice {\n private apiKey: string;\n private baseUrl = 'https://api.gladia.io/v2';\n\n constructor({ listeningModel }: { listeningModel?: GladiaConfig } = {}) {\n const defaultApiKey = process.env.GLADIA_API_KEY;\n super({\n listeningModel: {\n name: 'gladia',\n apiKey: listeningModel?.apiKey ?? defaultApiKey,\n },\n });\n\n this.apiKey = this.listeningModel?.apiKey as string;\n if (!this.apiKey) throw new Error('GLADIA_API_KEY is not set.');\n }\n\n async speak(_input: string, _options?: Record<string, unknown>): Promise<any> {\n throw new Error('Gladia does not support text-to-speech.');\n }\n\n async listen(input: Readable, { mimeType, fileName, options }: GladiaListenCallParams): Promise<string> {\n if (!fileName) {\n throw new Error('fileName is required for audio processing');\n }\n if (!mimeType) {\n throw new Error('mimeType is required for audio processing');\n }\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);\n }\n\n const audioBuffer = Buffer.concat(chunks);\n const form = new FormData();\n form.append('audio', new Blob([audioBuffer], { type: mimeType }), fileName);\n\n const uploadRes: any = await fetch(`${this.baseUrl}/upload/`, {\n method: 'POST',\n headers: { 'x-gladia-key': this.apiKey },\n body: form,\n });\n if (!uploadRes.ok) {\n throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);\n }\n const { audio_url } = await uploadRes.json();\n const opts: GladiaListenOptions = {\n diarization: true, // <-- default\n ...options,\n };\n\n const transcribeRes: any = await fetch(`${this.baseUrl}/pre-recorded/`, {\n method: 'POST',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n\n body: JSON.stringify({ audio_url, ...opts }),\n });\n\n const { id } = await transcribeRes.json();\n\n while (true) {\n const pollRes: any = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {\n method: 'GET',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!pollRes.ok) {\n throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);\n }\n\n const pollJson = await pollRes.json();\n if (pollJson.status === 'done') {\n const transcript = pollJson.result?.transcription?.full_transcript;\n if (!transcript) throw new Error('No transcript found');\n return transcript;\n }\n\n if (pollJson.status === 'error') {\n throw new Error(`Gladia error: ${pollJson.error || 'Unknown'}`);\n }\n\n await new Promise(res => setTimeout(res, 1000));\n }\n }\n}\n\nexport type { GladiaConfig, GladiaListenOptions };\nexport type { GladiaListenCallParams };\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\n\ninterface GladiaConfig {\n apiKey: string;\n}\n\ninterface GladiaListenOptions {\n diarization?: boolean;\n diarization_config?: {\n number_of_speakers?: number;\n min_speakers?: number;\n max_speakers?: number;\n };\n translation?: boolean;\n translation_config?: {\n model?: 'base' | 'enhanced';\n target_languages?: string[];\n };\n detect_language?: boolean;\n enable_code_switching?: boolean;\n}\n\ninterface GladiaListenCallParams {\n mimeType: string;\n fileName: string;\n options?: GladiaListenOptions;\n}\n\nexport class GladiaVoice extends MastraVoice {\n private apiKey: string;\n private baseUrl = 'https://api.gladia.io/v2';\n\n constructor({ listeningModel }: { listeningModel?: GladiaConfig } = {}) {\n const defaultApiKey = process.env.GLADIA_API_KEY;\n super({\n listeningModel: {\n name: 'gladia',\n apiKey: listeningModel?.apiKey ?? defaultApiKey,\n },\n });\n\n this.apiKey = this.listeningModel?.apiKey as string;\n if (!this.apiKey) throw new Error('GLADIA_API_KEY is not set.');\n }\n\n async speak(_input: string, _options?: Record<string, unknown>): Promise<any> {\n throw new Error('Gladia does not support text-to-speech.');\n }\n\n async listen(input: Readable, { mimeType, fileName, options }: GladiaListenCallParams): Promise<string> {\n return this.traced(async () => {\n if (!fileName) {\n throw new Error('fileName is required for audio processing');\n }\n if (!mimeType) {\n throw new Error('mimeType is required for audio processing');\n }\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);\n }\n\n const audioBuffer = Buffer.concat(chunks);\n const form = new FormData();\n form.append('audio', new Blob([audioBuffer], { type: mimeType }), fileName);\n\n const uploadRes: any = await fetch(`${this.baseUrl}/upload/`, {\n method: 'POST',\n headers: { 'x-gladia-key': this.apiKey },\n body: form,\n });\n if (!uploadRes.ok) {\n throw new Error(`Upload failed: ${uploadRes.status} ${await uploadRes.text()}`);\n }\n const { audio_url } = await uploadRes.json();\n const opts: GladiaListenOptions = {\n diarization: true, // <-- default\n ...options,\n };\n\n const transcribeRes: any = await fetch(`${this.baseUrl}/pre-recorded/`, {\n method: 'POST',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n\n body: JSON.stringify({ audio_url, ...opts }),\n });\n\n const { id } = await transcribeRes.json();\n\n while (true) {\n const pollRes: any = await fetch(`${this.baseUrl}/pre-recorded/${id}`, {\n method: 'GET',\n headers: {\n 'x-gladia-key': this.apiKey,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!pollRes.ok) {\n throw new Error(`Polling failed: ${pollRes.status} ${await pollRes.text()}`);\n }\n\n const pollJson = await pollRes.json();\n if (pollJson.status === 'done') {\n const transcript = pollJson.result?.transcription?.full_transcript;\n if (!transcript) throw new Error('No transcript found');\n return transcript;\n }\n\n if (pollJson.status === 'error') {\n throw new Error(`Gladia error: ${pollJson.error || 'Unknown'}`);\n }\n\n await new Promise(res => setTimeout(res, 1000));\n }\n }, 'voice.gladia.listen')();\n }\n}\n\nexport type { GladiaConfig, GladiaListenOptions };\nexport type { GladiaListenCallParams };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/voice-gladia",
3
- "version": "0.0.0-netlify-no-bundle-20251127120354",
3
+ "version": "0.0.0-partial-response-backport-20251204204441",
4
4
  "description": "Mastra Gladia AI voice integration",
5
5
  "type": "module",
6
6
  "files": [
@@ -23,20 +23,19 @@
23
23
  "./package.json": "./package.json"
24
24
  },
25
25
  "license": "Apache-2.0",
26
+ "dependencies": {},
26
27
  "devDependencies": {
27
28
  "@microsoft/api-extractor": "^7.52.5",
28
29
  "@types/node": "^20.17.32",
29
- "@vitest/coverage-v8": "4.0.12",
30
- "@vitest/ui": "4.0.12",
31
30
  "eslint": "^9.37.0",
32
31
  "pnpm": "10.18.2",
33
32
  "tsup": "^8.4.0",
34
33
  "typescript": "^5.8.3",
35
- "vitest": "4.0.12",
34
+ "vitest": "^3.2.4",
36
35
  "zod": "^3.25.76",
37
- "@mastra/core": "0.0.0-netlify-no-bundle-20251127120354",
38
- "@internal/lint": "0.0.0-netlify-no-bundle-20251127120354",
39
- "@internal/types-builder": "0.0.0-netlify-no-bundle-20251127120354"
36
+ "@internal/lint": "0.0.0-partial-response-backport-20251204204441",
37
+ "@internal/types-builder": "0.0.0-partial-response-backport-20251204204441",
38
+ "@mastra/core": "0.0.0-partial-response-backport-20251204204441"
40
39
  },
41
40
  "keywords": [
42
41
  "mastra",
@@ -47,7 +46,7 @@
47
46
  ],
48
47
  "peerDependencies": {
49
48
  "zod": "^3.25.0 || ^4.0.0",
50
- "@mastra/core": "0.0.0-netlify-no-bundle-20251127120354"
49
+ "@mastra/core": "0.0.0-partial-response-backport-20251204204441"
51
50
  },
52
51
  "homepage": "https://mastra.ai",
53
52
  "repository": {
@@ -58,8 +57,12 @@
58
57
  "bugs": {
59
58
  "url": "https://github.com/mastra-ai/mastra/issues"
60
59
  },
61
- "engines": {
62
- "node": ">=22.13.0"
60
+ "publishConfig": {
61
+ "access": "public",
62
+ "publish-branch": [
63
+ "main",
64
+ "0.x"
65
+ ]
63
66
  },
64
67
  "scripts": {
65
68
  "build": "tsup --silent --config tsup.config.ts",