@mastra/deployer-cloud 0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939 → 0.0.0-fix-backport-setserver-20251201151948

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,114 +1,212 @@
1
1
  # @mastra/deployer-cloud
2
2
 
3
- ## 0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939
3
+ ## 0.0.0-fix-backport-setserver-20251201151948
4
4
 
5
- ### Major Changes
5
+ ### Patch Changes
6
+
7
+ - Fix backport ([`e8227dd`](https://github.com/mastra-ai/mastra/commit/e8227ddf5bcb67850180510b7f6e6ec78dafc32c))
6
8
 
7
- - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
9
+ - Updated dependencies [[`e8227dd`](https://github.com/mastra-ai/mastra/commit/e8227ddf5bcb67850180510b7f6e6ec78dafc32c), [`ba9a5ad`](https://github.com/mastra-ai/mastra/commit/ba9a5ad3482e941ca8599104448a7c412f41757c), [`54cc99c`](https://github.com/mastra-ai/mastra/commit/54cc99cb99483b9e08ec41fa1502f43b71b4c351)]:
10
+ - @mastra/core@0.0.0-fix-backport-setserver-20251201151948
11
+ - @mastra/deployer@0.0.0-fix-backport-setserver-20251201151948
12
+ - @mastra/loggers@0.0.0-fix-backport-setserver-20251201151948
8
13
 
9
- - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
14
+ ## 0.24.6
10
15
 
11
- - Experimental auth -> auth ([#9660](https://github.com/mastra-ai/mastra/pull/9660))
16
+ ### Patch Changes
12
17
 
13
- - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
18
+ - SimpleAuth and improved CloudAuth ([#10569](https://github.com/mastra-ai/mastra/pull/10569))
14
19
 
15
- - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
20
+ - Do not initialize local storage when using mastra cloud storage instead ([#10495](https://github.com/mastra-ai/mastra/pull/10495))
16
21
 
17
- - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
18
- Made the return format of all methods that return db messages consistent. It's always `{ messages: MastraDBMessage[] }` now, and messages can be converted after that using `@mastra/ai-sdk/ui`'s `toAISdkV4/5Messages()` function
22
+ - Updated dependencies [[`ccb7552`](https://github.com/mastra-ai/mastra/commit/ccb75528339b4dbf3cf3adcf430f9b3a563948ff), [`5657314`](https://github.com/mastra-ai/mastra/commit/5657314a1f9d49019bb53f357fa48f75a69247ca), [`e5aca78`](https://github.com/mastra-ai/mastra/commit/e5aca78bb7f263bb8b470bedae81efe9805d7544), [`33a607a`](https://github.com/mastra-ai/mastra/commit/33a607a1f716c2029d4a1ff1603dd756129a33b3), [`cc10fc1`](https://github.com/mastra-ai/mastra/commit/cc10fc192d9f527c71a23cc9def10d8718935ee1), [`1f7ee84`](https://github.com/mastra-ai/mastra/commit/1f7ee841a643ef12d90392125881f06fdf877293), [`e7d5149`](https://github.com/mastra-ai/mastra/commit/e7d514995260b63b2108308e85c64de37dcd0f71), [`f195082`](https://github.com/mastra-ai/mastra/commit/f1950822a2425d5ccae78c5d010e02ddb027a869), [`d9986dd`](https://github.com/mastra-ai/mastra/commit/d9986dd3513f7ca3244a8e599a440ccf4d8bc28b), [`a45b0f0`](https://github.com/mastra-ai/mastra/commit/a45b0f0cd19eab1fe4deceae3abf029442c22f74), [`f6e8eb3`](https://github.com/mastra-ai/mastra/commit/f6e8eb3dac53b70b06e906b2818b1d2a5b0486d7), [`ce57a2b`](https://github.com/mastra-ai/mastra/commit/ce57a2b62fd0d5f6532e4ecd1ba9ba93ac9b95fc), [`3236f35`](https://github.com/mastra-ai/mastra/commit/3236f352ae13cc8552c2965164e97bd125dae48d), [`ce57a2b`](https://github.com/mastra-ai/mastra/commit/ce57a2b62fd0d5f6532e4ecd1ba9ba93ac9b95fc), [`0230321`](https://github.com/mastra-ai/mastra/commit/02303217870bedea0ef009bea9a952f24ed38aaf), [`7b541f4`](https://github.com/mastra-ai/mastra/commit/7b541f49eda6f5a87b738198edbd136927599475), [`0eea842`](https://github.com/mastra-ai/mastra/commit/0eea8423cbdd37f2111593c6f7d2efcde4b7e4ce), [`4ea5bc8`](https://github.com/mastra-ai/mastra/commit/4ea5bc8bab1b2ecd3e8cee62dbdd3a8dc081fd03), [`63ae8a2`](https://github.com/mastra-ai/mastra/commit/63ae8a22c0c09bbb8b9779f5f38934cd75f616af), [`bf810c5`](https://github.com/mastra-ai/mastra/commit/bf810c5c561bd8ef221c0f6bd84e69770b9a38cc), [`ac7ef07`](https://github.com/mastra-ai/mastra/commit/ac7ef07633caee89707142171d2873c888ffef85), [`522f0b4`](https://github.com/mastra-ai/mastra/commit/522f0b45330719858794eabffffde4f343f55549), [`bf810c5`](https://github.com/mastra-ai/mastra/commit/bf810c5c561bd8ef221c0f6bd84e69770b9a38cc), [`8b51d55`](https://github.com/mastra-ai/mastra/commit/8b51d55bae531edf7e383958d7ecee04df31f5d5), [`2131ac5`](https://github.com/mastra-ai/mastra/commit/2131ac571d5065f0a656c57494bca98691bb7609)]:
23
+ - @mastra/deployer@0.24.6
24
+ - @mastra/core@0.24.6
19
25
 
20
- - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
26
+ ## 0.24.6-alpha.0
21
27
 
22
- ### Minor Changes
28
+ ### Patch Changes
29
+
30
+ - SimpleAuth and improved CloudAuth ([#10569](https://github.com/mastra-ai/mastra/pull/10569))
31
+
32
+ - Do not initialize local storage when using mastra cloud storage instead ([#10495](https://github.com/mastra-ai/mastra/pull/10495))
23
33
 
24
- - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
34
+ - Updated dependencies [[`ccb7552`](https://github.com/mastra-ai/mastra/commit/ccb75528339b4dbf3cf3adcf430f9b3a563948ff), [`5657314`](https://github.com/mastra-ai/mastra/commit/5657314a1f9d49019bb53f357fa48f75a69247ca), [`e5aca78`](https://github.com/mastra-ai/mastra/commit/e5aca78bb7f263bb8b470bedae81efe9805d7544), [`33a607a`](https://github.com/mastra-ai/mastra/commit/33a607a1f716c2029d4a1ff1603dd756129a33b3), [`cc10fc1`](https://github.com/mastra-ai/mastra/commit/cc10fc192d9f527c71a23cc9def10d8718935ee1), [`1f7ee84`](https://github.com/mastra-ai/mastra/commit/1f7ee841a643ef12d90392125881f06fdf877293), [`e7d5149`](https://github.com/mastra-ai/mastra/commit/e7d514995260b63b2108308e85c64de37dcd0f71), [`f195082`](https://github.com/mastra-ai/mastra/commit/f1950822a2425d5ccae78c5d010e02ddb027a869), [`d9986dd`](https://github.com/mastra-ai/mastra/commit/d9986dd3513f7ca3244a8e599a440ccf4d8bc28b), [`a45b0f0`](https://github.com/mastra-ai/mastra/commit/a45b0f0cd19eab1fe4deceae3abf029442c22f74), [`f6e8eb3`](https://github.com/mastra-ai/mastra/commit/f6e8eb3dac53b70b06e906b2818b1d2a5b0486d7), [`ce57a2b`](https://github.com/mastra-ai/mastra/commit/ce57a2b62fd0d5f6532e4ecd1ba9ba93ac9b95fc), [`3236f35`](https://github.com/mastra-ai/mastra/commit/3236f352ae13cc8552c2965164e97bd125dae48d), [`ce57a2b`](https://github.com/mastra-ai/mastra/commit/ce57a2b62fd0d5f6532e4ecd1ba9ba93ac9b95fc), [`0230321`](https://github.com/mastra-ai/mastra/commit/02303217870bedea0ef009bea9a952f24ed38aaf), [`7b541f4`](https://github.com/mastra-ai/mastra/commit/7b541f49eda6f5a87b738198edbd136927599475), [`0eea842`](https://github.com/mastra-ai/mastra/commit/0eea8423cbdd37f2111593c6f7d2efcde4b7e4ce), [`4ea5bc8`](https://github.com/mastra-ai/mastra/commit/4ea5bc8bab1b2ecd3e8cee62dbdd3a8dc081fd03), [`63ae8a2`](https://github.com/mastra-ai/mastra/commit/63ae8a22c0c09bbb8b9779f5f38934cd75f616af), [`bf810c5`](https://github.com/mastra-ai/mastra/commit/bf810c5c561bd8ef221c0f6bd84e69770b9a38cc), [`ac7ef07`](https://github.com/mastra-ai/mastra/commit/ac7ef07633caee89707142171d2873c888ffef85), [`522f0b4`](https://github.com/mastra-ai/mastra/commit/522f0b45330719858794eabffffde4f343f55549), [`bf810c5`](https://github.com/mastra-ai/mastra/commit/bf810c5c561bd8ef221c0f6bd84e69770b9a38cc), [`8b51d55`](https://github.com/mastra-ai/mastra/commit/8b51d55bae531edf7e383958d7ecee04df31f5d5), [`2131ac5`](https://github.com/mastra-ai/mastra/commit/2131ac571d5065f0a656c57494bca98691bb7609)]:
35
+ - @mastra/deployer@0.24.6-alpha.0
36
+ - @mastra/core@0.24.6-alpha.0
37
+
38
+ ## 0.24.5
25
39
 
26
40
  ### Patch Changes
27
41
 
28
- - dependencies updates: ([#10111](https://github.com/mastra-ai/mastra/pull/10111))
29
- - Updated dependency [`pino@^10.1.0` ↗︎](https://www.npmjs.com/package/pino/v/10.1.0) (from `^9.7.0`, in `dependencies`)
42
+ - Updated dependencies [[`880f12b`](https://github.com/mastra-ai/mastra/commit/880f12bb45a3d49faf8d22969744ffb6e01c66fd)]:
43
+ - @mastra/core@0.24.5
44
+ - @mastra/deployer@0.24.5
45
+
46
+ ## 0.24.5-alpha.0
30
47
 
31
- - Do not initialize local storage ([#9840](https://github.com/mastra-ai/mastra/pull/9840))
48
+ ### Patch Changes
32
49
 
33
- - Removed "instrumentation.mjs" from deployment. Observability no longer requires this file. ([#9771](https://github.com/mastra-ai/mastra/pull/9771))
50
+ - Updated dependencies [[`880f12b`](https://github.com/mastra-ai/mastra/commit/880f12bb45a3d49faf8d22969744ffb6e01c66fd)]:
51
+ - @mastra/core@0.24.5-alpha.0
52
+ - @mastra/deployer@0.24.5-alpha.0
34
53
 
35
- - Use a shared `getAllToolPaths()` method from the bundler to discover tool paths. ([#9204](https://github.com/mastra-ai/mastra/pull/9204))
54
+ ## 0.24.4
36
55
 
37
- - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`77ff370`](https://github.com/mastra-ai/mastra/commit/77ff370186ba77955620c465fd2e95360e1947ea), [`df9fdcd`](https://github.com/mastra-ai/mastra/commit/df9fdcd8403652c894cf4ac0503afea3b822588c), [`65591d2`](https://github.com/mastra-ai/mastra/commit/65591d2b7cecb83fff4ebc1d743e2f71859a2f7d), [`ac32ca9`](https://github.com/mastra-ai/mastra/commit/ac32ca968fb906f6c61fd7b4a194323bcb2f3daa), [`52e5984`](https://github.com/mastra-ai/mastra/commit/52e5984b067254e955646d09b217165b3f145292), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`3852192`](https://github.com/mastra-ai/mastra/commit/3852192c81b2a4f1f883f17d80ce50e0c60dba55), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`5540775`](https://github.com/mastra-ai/mastra/commit/5540775f68685e19ddb6972ad73297f117656f59), [`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), [`d3e89dd`](https://github.com/mastra-ai/mastra/commit/d3e89dd4fc31ae2804c4c7bd3e98113d069cf780), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`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), [`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), [`2ef1f3c`](https://github.com/mastra-ai/mastra/commit/2ef1f3cc1f9785998197571478821326b2a528ee), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`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), [`b7de533`](https://github.com/mastra-ai/mastra/commit/b7de53361667eb51fefd89fcaed924f3c57cee8d), [`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), [`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), [`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`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), [`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), [`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), [`87f9f96`](https://github.com/mastra-ai/mastra/commit/87f9f96c772117fb868c9ea17a9eda664d41a35e), [`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), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`9e0a85d`](https://github.com/mastra-ai/mastra/commit/9e0a85d11d02ca5918463ab5c2ec55d4eebf3769), [`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), [`e41f852`](https://github.com/mastra-ai/mastra/commit/e41f852a3068be9c65818d9ab2218bae06ed0237), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`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), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`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), [`dfe3f8c`](https://github.com/mastra-ai/mastra/commit/dfe3f8c7376ffe159236819e19ca522143c1f972), [`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), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`c23200d`](https://github.com/mastra-ai/mastra/commit/c23200ddfd60830effb39329674ba4ca93be6aac), [`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), [`363284b`](https://github.com/mastra-ai/mastra/commit/363284bb974e850f06f40f89a28c79d9f432d7e4), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`6c7ffcd`](https://github.com/mastra-ai/mastra/commit/6c7ffcdf9a5b0a4435eb3f934c22c05b9e2fedb3), [`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), [`056d075`](https://github.com/mastra-ai/mastra/commit/056d075598761a47c4f6f48c0ba8f793ca915c7f), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`4a8cade`](https://github.com/mastra-ai/mastra/commit/4a8cade69b4616da04d78e6f76649b52d843997e), [`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), [`9cd9d2f`](https://github.com/mastra-ai/mastra/commit/9cd9d2f7c66a1016c8fed0221eb55343d4f19a17), [`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), [`1176e03`](https://github.com/mastra-ai/mastra/commit/1176e03a0db4b8f5b0a85afbaf45d3cc7ab2d94a)]:
38
- - @mastra/core@0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939
39
- - @mastra/deployer@0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939
40
- - @mastra/loggers@0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939
56
+ ### Patch Changes
41
57
 
42
- ## 1.0.0-beta.4
58
+ - Updated dependencies [[`418420f`](https://github.com/mastra-ai/mastra/commit/418420fc10a9e2b95c7bae0e1dd08876bb7aa473)]:
59
+ - @mastra/core@0.24.4
60
+ - @mastra/deployer@0.24.4
61
+
62
+ ## 0.24.4-alpha.0
43
63
 
44
64
  ### Patch Changes
45
65
 
46
- - Updated dependencies [[`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908)]:
47
- - @mastra/core@1.0.0-beta.4
48
- - @mastra/deployer@1.0.0-beta.4
66
+ - Updated dependencies [[`418420f`](https://github.com/mastra-ai/mastra/commit/418420fc10a9e2b95c7bae0e1dd08876bb7aa473)]:
67
+ - @mastra/core@0.24.4-alpha.0
68
+ - @mastra/deployer@0.24.4-alpha.0
49
69
 
50
- ## 1.0.0-beta.3
70
+ ## 0.24.3
51
71
 
52
72
  ### Patch Changes
53
73
 
54
- - dependencies updates: ([#10111](https://github.com/mastra-ai/mastra/pull/10111))
55
- - Updated dependency [`pino@^10.1.0` ↗︎](https://www.npmjs.com/package/pino/v/10.1.0) (from `^9.7.0`, in `dependencies`)
56
- - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`df9fdcd`](https://github.com/mastra-ai/mastra/commit/df9fdcd8403652c894cf4ac0503afea3b822588c), [`65591d2`](https://github.com/mastra-ai/mastra/commit/65591d2b7cecb83fff4ebc1d743e2f71859a2f7d), [`52e5984`](https://github.com/mastra-ai/mastra/commit/52e5984b067254e955646d09b217165b3f145292), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4)]:
57
- - @mastra/core@1.0.0-beta.3
58
- - @mastra/deployer@1.0.0-beta.3
59
- - @mastra/loggers@1.0.0-beta.1
74
+ - Updated dependencies [[`7491cc0`](https://github.com/mastra-ai/mastra/commit/7491cc0350b2ba067f98c4915bf607119bd0150f), [`0d10ac7`](https://github.com/mastra-ai/mastra/commit/0d10ac7b8efa03c2f0c330eb2520148bfa6091e9), [`e3e899c`](https://github.com/mastra-ai/mastra/commit/e3e899c650f4c435445303bd97a66f5840a52a1e)]:
75
+ - @mastra/core@0.24.3
76
+ - @mastra/deployer@0.24.3
60
77
 
61
- ## 1.0.0-beta.2
78
+ ## 0.24.3-alpha.0
62
79
 
63
80
  ### Patch Changes
64
81
 
65
- - Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
66
- - @mastra/core@1.0.0-beta.2
67
- - @mastra/deployer@1.0.0-beta.2
82
+ - Updated dependencies [[`7491cc0`](https://github.com/mastra-ai/mastra/commit/7491cc0350b2ba067f98c4915bf607119bd0150f), [`0d10ac7`](https://github.com/mastra-ai/mastra/commit/0d10ac7b8efa03c2f0c330eb2520148bfa6091e9), [`e3e899c`](https://github.com/mastra-ai/mastra/commit/e3e899c650f4c435445303bd97a66f5840a52a1e)]:
83
+ - @mastra/core@0.24.3-alpha.0
84
+ - @mastra/deployer@0.24.3-alpha.0
68
85
 
69
- ## 1.0.0-beta.1
86
+ ## 0.24.2
70
87
 
71
88
  ### Patch Changes
72
89
 
73
- - Do not initialize local storage ([#9840](https://github.com/mastra-ai/mastra/pull/9840))
90
+ - Updated dependencies [[`eebb7bb`](https://github.com/mastra-ai/mastra/commit/eebb7bb407c57342a3be3a2efbe68c696589feeb), [`c6e6d07`](https://github.com/mastra-ai/mastra/commit/c6e6d071ecf346a80dceab410af2c567c7e66a57), [`0e6df8f`](https://github.com/mastra-ai/mastra/commit/0e6df8f66340992cb1b319834657deb17368de52), [`6295fd7`](https://github.com/mastra-ai/mastra/commit/6295fd783d49075d5bf2c18ff9486e94d36aaa56), [`d813cf7`](https://github.com/mastra-ai/mastra/commit/d813cf7251695d85cc60469058384ffa74974484)]:
91
+ - @mastra/core@0.24.2
92
+ - @mastra/deployer@0.24.2
74
93
 
75
- - Updated dependencies [[`ac32ca9`](https://github.com/mastra-ai/mastra/commit/ac32ca968fb906f6c61fd7b4a194323bcb2f3daa), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d)]:
76
- - @mastra/deployer@1.0.0-beta.1
77
- - @mastra/core@1.0.0-beta.1
94
+ ## 0.24.2-alpha.0
78
95
 
79
- ## 1.0.0-beta.0
96
+ ### Patch Changes
80
97
 
81
- ### Major Changes
98
+ - Updated dependencies [[`eebb7bb`](https://github.com/mastra-ai/mastra/commit/eebb7bb407c57342a3be3a2efbe68c696589feeb), [`c6e6d07`](https://github.com/mastra-ai/mastra/commit/c6e6d071ecf346a80dceab410af2c567c7e66a57), [`0e6df8f`](https://github.com/mastra-ai/mastra/commit/0e6df8f66340992cb1b319834657deb17368de52), [`6295fd7`](https://github.com/mastra-ai/mastra/commit/6295fd783d49075d5bf2c18ff9486e94d36aaa56), [`d813cf7`](https://github.com/mastra-ai/mastra/commit/d813cf7251695d85cc60469058384ffa74974484)]:
99
+ - @mastra/core@0.24.2-alpha.0
100
+ - @mastra/deployer@0.24.2-alpha.0
82
101
 
83
- - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
102
+ ## 0.24.1
84
103
 
85
- - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
104
+ ### Patch Changes
86
105
 
87
- - Experimental auth -> auth ([#9660](https://github.com/mastra-ai/mastra/pull/9660))
106
+ - Use a shared `getAllToolPaths()` method from the bundler to discover tool paths. ([#10049](https://github.com/mastra-ai/mastra/pull/10049))
88
107
 
89
- - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
108
+ - Updated dependencies [[`0a0aa87`](https://github.com/mastra-ai/mastra/commit/0a0aa87910dd9234ae11e8146fbf54d71f0b1516), [`56bbbd0`](https://github.com/mastra-ai/mastra/commit/56bbbd0eb4510455ff03d6bf2827fdbd307938be), [`83b1ab1`](https://github.com/mastra-ai/mastra/commit/83b1ab13a44dd6733a401c9cf46bfbd40ae36e9f), [`d576fd8`](https://github.com/mastra-ai/mastra/commit/d576fd8f2a3c61bcf2f7d5d2bdfb496d442c46c2), [`5e48406`](https://github.com/mastra-ai/mastra/commit/5e48406766fa94e2b7c56b70fb7d6068cf7f3989), [`7fcce62`](https://github.com/mastra-ai/mastra/commit/7fcce62880c3525fbf752d59c0ac2c478cffe024), [`16a324f`](https://github.com/mastra-ai/mastra/commit/16a324f8c30a07d0d899bc2e4e7998c6b40a4cb6), [`26aee16`](https://github.com/mastra-ai/mastra/commit/26aee160149e7acb84a533bf45631aaed6dd7077), [`b063a81`](https://github.com/mastra-ai/mastra/commit/b063a8144176915a766ea15888e1e8a06a020776), [`5ff9462`](https://github.com/mastra-ai/mastra/commit/5ff9462691c80a6841b014bcc68f6a85c3fd3fbf)]:
109
+ - @mastra/core@0.24.1
110
+ - @mastra/deployer@0.24.1
90
111
 
91
- - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
112
+ ## 0.24.1-alpha.0
92
113
 
93
- - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
94
- Made the return format of all methods that return db messages consistent. It's always `{ messages: MastraDBMessage[] }` now, and messages can be converted after that using `@mastra/ai-sdk/ui`'s `toAISdkV4/5Messages()` function
114
+ ### Patch Changes
95
115
 
96
- - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
116
+ - Use a shared `getAllToolPaths()` method from the bundler to discover tool paths. ([#10049](https://github.com/mastra-ai/mastra/pull/10049))
97
117
 
98
- ### Minor Changes
118
+ - Updated dependencies [[`0a0aa87`](https://github.com/mastra-ai/mastra/commit/0a0aa87910dd9234ae11e8146fbf54d71f0b1516), [`56bbbd0`](https://github.com/mastra-ai/mastra/commit/56bbbd0eb4510455ff03d6bf2827fdbd307938be), [`83b1ab1`](https://github.com/mastra-ai/mastra/commit/83b1ab13a44dd6733a401c9cf46bfbd40ae36e9f), [`d576fd8`](https://github.com/mastra-ai/mastra/commit/d576fd8f2a3c61bcf2f7d5d2bdfb496d442c46c2), [`5e48406`](https://github.com/mastra-ai/mastra/commit/5e48406766fa94e2b7c56b70fb7d6068cf7f3989), [`7fcce62`](https://github.com/mastra-ai/mastra/commit/7fcce62880c3525fbf752d59c0ac2c478cffe024), [`16a324f`](https://github.com/mastra-ai/mastra/commit/16a324f8c30a07d0d899bc2e4e7998c6b40a4cb6), [`26aee16`](https://github.com/mastra-ai/mastra/commit/26aee160149e7acb84a533bf45631aaed6dd7077), [`b063a81`](https://github.com/mastra-ai/mastra/commit/b063a8144176915a766ea15888e1e8a06a020776), [`5ff9462`](https://github.com/mastra-ai/mastra/commit/5ff9462691c80a6841b014bcc68f6a85c3fd3fbf)]:
119
+ - @mastra/core@0.24.1-alpha.0
120
+ - @mastra/deployer@0.24.1-alpha.0
121
+
122
+ ## 0.24.0
123
+
124
+ ### Patch Changes
125
+
126
+ - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
127
+
128
+ - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`2437a90`](https://github.com/mastra-ai/mastra/commit/2437a90d94a0ff94fa8dd42d2558d73c124972d3), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`3e6c29a`](https://github.com/mastra-ai/mastra/commit/3e6c29a8924f63da4def2cf95180f671b3b2c89c), [`139588d`](https://github.com/mastra-ai/mastra/commit/139588df7755c9111a3060f72a789c1a8c95e091), [`186b29b`](https://github.com/mastra-ai/mastra/commit/186b29bd51ac1dcc24ad3825fdb7207a6d6391a6), [`4e92a19`](https://github.com/mastra-ai/mastra/commit/4e92a19aef1bd7f608482b366b1e46873a9dc6c7), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712), [`dbb705e`](https://github.com/mastra-ai/mastra/commit/dbb705e61999ec655b912ea8b5d77ae4792989a7)]:
129
+ - @mastra/deployer@0.24.0
130
+ - @mastra/loggers@0.10.19
131
+ - @mastra/core@0.24.0
99
132
 
100
- - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
133
+ ## 0.24.0-alpha.0
101
134
 
102
135
  ### Patch Changes
103
136
 
104
- - Removed "instrumentation.mjs" from deployment. Observability no longer requires this file. ([#9771](https://github.com/mastra-ai/mastra/pull/9771))
137
+ - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
138
+
139
+ - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`2437a90`](https://github.com/mastra-ai/mastra/commit/2437a90d94a0ff94fa8dd42d2558d73c124972d3), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`3e6c29a`](https://github.com/mastra-ai/mastra/commit/3e6c29a8924f63da4def2cf95180f671b3b2c89c), [`139588d`](https://github.com/mastra-ai/mastra/commit/139588df7755c9111a3060f72a789c1a8c95e091), [`186b29b`](https://github.com/mastra-ai/mastra/commit/186b29bd51ac1dcc24ad3825fdb7207a6d6391a6), [`4e92a19`](https://github.com/mastra-ai/mastra/commit/4e92a19aef1bd7f608482b366b1e46873a9dc6c7), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712), [`dbb705e`](https://github.com/mastra-ai/mastra/commit/dbb705e61999ec655b912ea8b5d77ae4792989a7)]:
140
+ - @mastra/deployer@0.24.0-alpha.0
141
+ - @mastra/loggers@0.10.19-alpha.0
142
+ - @mastra/core@0.24.0-alpha.0
143
+
144
+ ## 0.23.3
145
+
146
+ ### Patch Changes
147
+
148
+ - Updated dependencies [[`b55bbce`](https://github.com/mastra-ai/mastra/commit/b55bbce89404d35fdd967012dd503fae343d4c2d), [`d6cb18e`](https://github.com/mastra-ai/mastra/commit/d6cb18e189fd0ac95d4934cf0d6f2866876d1a2e), [`d0ecff7`](https://github.com/mastra-ai/mastra/commit/d0ecff793d5cd50408cd8d1d113f02e28d897a3d), [`e84a959`](https://github.com/mastra-ai/mastra/commit/e84a9592bfdec4f1c9fdf108c9d4ea4e2ee8f7e3), [`e742d37`](https://github.com/mastra-ai/mastra/commit/e742d371f24ef8059670cc05e9aee308eac068b9)]:
149
+ - @mastra/deployer@0.23.3
150
+ - @mastra/core@0.23.3
151
+
152
+ ## 0.23.3-alpha.0
105
153
 
106
- - Use a shared `getAllToolPaths()` method from the bundler to discover tool paths. ([#9204](https://github.com/mastra-ai/mastra/pull/9204))
154
+ ### Patch Changes
155
+
156
+ - Updated dependencies [[`b55bbce`](https://github.com/mastra-ai/mastra/commit/b55bbce89404d35fdd967012dd503fae343d4c2d), [`d6cb18e`](https://github.com/mastra-ai/mastra/commit/d6cb18e189fd0ac95d4934cf0d6f2866876d1a2e), [`d0ecff7`](https://github.com/mastra-ai/mastra/commit/d0ecff793d5cd50408cd8d1d113f02e28d897a3d), [`e84a959`](https://github.com/mastra-ai/mastra/commit/e84a9592bfdec4f1c9fdf108c9d4ea4e2ee8f7e3), [`e742d37`](https://github.com/mastra-ai/mastra/commit/e742d371f24ef8059670cc05e9aee308eac068b9)]:
157
+ - @mastra/deployer@0.23.3-alpha.0
158
+ - @mastra/core@0.23.3-alpha.0
159
+
160
+ ## 0.23.2
161
+
162
+ ### Patch Changes
163
+
164
+ - Updated dependencies [[`f57a81e`](https://github.com/mastra-ai/mastra/commit/f57a81e6ce644e45bf1c9618778cc54c50a84ad4), [`17e5a4e`](https://github.com/mastra-ai/mastra/commit/17e5a4e828a8ebc6148c76b42a139c0f9bf7e25f), [`2afd345`](https://github.com/mastra-ai/mastra/commit/2afd3450825b76e41f7973baddf13867ea042e40), [`fc79af3`](https://github.com/mastra-ai/mastra/commit/fc79af3915d1c456729cbd753673b0c0564340d8), [`eefc89e`](https://github.com/mastra-ai/mastra/commit/eefc89ee69f05bb71661473a807fc7dc03d56f17), [`60bd45d`](https://github.com/mastra-ai/mastra/commit/60bd45de021f0dfbe6583928f6da5169cb5585ba), [`a30093d`](https://github.com/mastra-ai/mastra/commit/a30093de98c1836dcd5dfddf09649010712b8c95), [`0fe7adb`](https://github.com/mastra-ai/mastra/commit/0fe7adb0f20f59a6bb41f235d01f8b7a880ea6e7), [`a42e496`](https://github.com/mastra-ai/mastra/commit/a42e49686a7486e2e9e9397fa98e5ff7a71dc1b0), [`3670db7`](https://github.com/mastra-ai/mastra/commit/3670db7e8e798f9d65fac5bfb732134a1f26ba7b), [`e40d4d0`](https://github.com/mastra-ai/mastra/commit/e40d4d0a0971b4505e7c9de73c656066c7565653), [`fc843ff`](https://github.com/mastra-ai/mastra/commit/fc843ff4d1d149317b6324553ce5ad7972062a78), [`ff16f9b`](https://github.com/mastra-ai/mastra/commit/ff16f9b9dbc701b26b6c4e9872f759f3880f9327), [`35e6cf7`](https://github.com/mastra-ai/mastra/commit/35e6cf722fef16ea0301eb9cf5a32fe9ccb12d22), [`30f92b5`](https://github.com/mastra-ai/mastra/commit/30f92b5b3aa224289f2f0eff56babcfa7a87b772), [`30a2e36`](https://github.com/mastra-ai/mastra/commit/30a2e369485e0e59c4faa1d83c5635c2260b304c)]:
165
+ - @mastra/core@0.23.2
166
+ - @mastra/deployer@0.23.2
167
+
168
+ ## 0.23.2-alpha.1
169
+
170
+ ### Patch Changes
171
+
172
+ - Updated dependencies [[`f57a81e`](https://github.com/mastra-ai/mastra/commit/f57a81e6ce644e45bf1c9618778cc54c50a84ad4), [`fc79af3`](https://github.com/mastra-ai/mastra/commit/fc79af3915d1c456729cbd753673b0c0564340d8), [`60bd45d`](https://github.com/mastra-ai/mastra/commit/60bd45de021f0dfbe6583928f6da5169cb5585ba), [`a30093d`](https://github.com/mastra-ai/mastra/commit/a30093de98c1836dcd5dfddf09649010712b8c95), [`e40d4d0`](https://github.com/mastra-ai/mastra/commit/e40d4d0a0971b4505e7c9de73c656066c7565653), [`ff16f9b`](https://github.com/mastra-ai/mastra/commit/ff16f9b9dbc701b26b6c4e9872f759f3880f9327), [`35e6cf7`](https://github.com/mastra-ai/mastra/commit/35e6cf722fef16ea0301eb9cf5a32fe9ccb12d22), [`30a2e36`](https://github.com/mastra-ai/mastra/commit/30a2e369485e0e59c4faa1d83c5635c2260b304c)]:
173
+ - @mastra/core@0.23.2-alpha.1
174
+ - @mastra/deployer@0.23.2-alpha.1
175
+
176
+ ## 0.23.2-alpha.0
177
+
178
+ ### Patch Changes
179
+
180
+ - Updated dependencies [[`17e5a4e`](https://github.com/mastra-ai/mastra/commit/17e5a4e828a8ebc6148c76b42a139c0f9bf7e25f), [`2afd345`](https://github.com/mastra-ai/mastra/commit/2afd3450825b76e41f7973baddf13867ea042e40), [`eefc89e`](https://github.com/mastra-ai/mastra/commit/eefc89ee69f05bb71661473a807fc7dc03d56f17), [`0fe7adb`](https://github.com/mastra-ai/mastra/commit/0fe7adb0f20f59a6bb41f235d01f8b7a880ea6e7), [`a42e496`](https://github.com/mastra-ai/mastra/commit/a42e49686a7486e2e9e9397fa98e5ff7a71dc1b0), [`3670db7`](https://github.com/mastra-ai/mastra/commit/3670db7e8e798f9d65fac5bfb732134a1f26ba7b), [`fc843ff`](https://github.com/mastra-ai/mastra/commit/fc843ff4d1d149317b6324553ce5ad7972062a78), [`30f92b5`](https://github.com/mastra-ai/mastra/commit/30f92b5b3aa224289f2f0eff56babcfa7a87b772)]:
181
+ - @mastra/deployer@0.23.2-alpha.0
182
+ - @mastra/core@0.23.2-alpha.0
183
+
184
+ ## 0.23.1
185
+
186
+ ### Patch Changes
187
+
188
+ - Fix peerdependencies ([`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de))
189
+
190
+ - Updated dependencies [[`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de)]:
191
+ - @mastra/deployer@0.23.1
192
+ - @mastra/loggers@0.10.18
193
+ - @mastra/core@0.23.1
194
+
195
+ ## 0.23.0
196
+
197
+ ### Patch Changes
198
+
199
+ - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3)]:
200
+ - @mastra/core@0.23.0
201
+ - @mastra/deployer@0.23.0
202
+
203
+ ## 0.23.0-alpha.0
204
+
205
+ ### Patch Changes
107
206
 
108
- - Updated dependencies [[`77ff370`](https://github.com/mastra-ai/mastra/commit/77ff370186ba77955620c465fd2e95360e1947ea), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`3852192`](https://github.com/mastra-ai/mastra/commit/3852192c81b2a4f1f883f17d80ce50e0c60dba55), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`5540775`](https://github.com/mastra-ai/mastra/commit/5540775f68685e19ddb6972ad73297f117656f59), [`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), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`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), [`2ef1f3c`](https://github.com/mastra-ai/mastra/commit/2ef1f3cc1f9785998197571478821326b2a528ee), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`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), [`b7de533`](https://github.com/mastra-ai/mastra/commit/b7de53361667eb51fefd89fcaed924f3c57cee8d), [`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), [`87f9f96`](https://github.com/mastra-ai/mastra/commit/87f9f96c772117fb868c9ea17a9eda664d41a35e), [`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), [`9e0a85d`](https://github.com/mastra-ai/mastra/commit/9e0a85d11d02ca5918463ab5c2ec55d4eebf3769), [`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), [`e41f852`](https://github.com/mastra-ai/mastra/commit/e41f852a3068be9c65818d9ab2218bae06ed0237), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`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), [`dfe3f8c`](https://github.com/mastra-ai/mastra/commit/dfe3f8c7376ffe159236819e19ca522143c1f972), [`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), [`c23200d`](https://github.com/mastra-ai/mastra/commit/c23200ddfd60830effb39329674ba4ca93be6aac), [`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), [`363284b`](https://github.com/mastra-ai/mastra/commit/363284bb974e850f06f40f89a28c79d9f432d7e4), [`6c7ffcd`](https://github.com/mastra-ai/mastra/commit/6c7ffcdf9a5b0a4435eb3f934c22c05b9e2fedb3), [`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), [`056d075`](https://github.com/mastra-ai/mastra/commit/056d075598761a47c4f6f48c0ba8f793ca915c7f), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`4a8cade`](https://github.com/mastra-ai/mastra/commit/4a8cade69b4616da04d78e6f76649b52d843997e), [`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), [`1176e03`](https://github.com/mastra-ai/mastra/commit/1176e03a0db4b8f5b0a85afbaf45d3cc7ab2d94a)]:
109
- - @mastra/deployer@1.0.0-beta.0
110
- - @mastra/core@1.0.0-beta.0
111
- - @mastra/loggers@1.0.0-beta.0
207
+ - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3)]:
208
+ - @mastra/core@0.23.0-alpha.0
209
+ - @mastra/deployer@0.23.0-alpha.0
112
210
 
113
211
  ## 0.22.2
114
212
 
package/README.md CHANGED
@@ -118,6 +118,7 @@ After deployment, your project will have:
118
118
 
119
119
  ```
120
120
  output/
121
+ ├── instrumentation.mjs # OpenTelemetry setup
121
122
  ├── package.json # With cloud dependencies
122
123
  ├── index.mjs # Main server entry
123
124
  ├── mastra.mjs # Your Mastra configuration
package/dist/index.cjs CHANGED
@@ -41,44 +41,40 @@ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
41
41
 
42
42
  // src/utils/auth.ts
43
43
  function getAuthEntrypoint() {
44
+ const tokensObject = {};
45
+ if (process.env.PLAYGROUND_JWT_TOKEN) {
46
+ tokensObject[process.env.PLAYGROUND_JWT_TOKEN] = { id: "business-api" };
47
+ }
48
+ if (process.env.BUSINESS_JWT_TOKEN) {
49
+ tokensObject[process.env.BUSINESS_JWT_TOKEN] = { id: "business-api" };
50
+ }
44
51
  return `
45
- import { MastraAuthProvider } from '@mastra/core/server';
46
-
47
- class MastraCloudAuth extends MastraAuthProvider {
48
- constructor (auth) {
49
- super()
50
- this.auth = auth
51
- }
52
-
53
- async authenticateToken (...args) {
54
- if (typeof args[0] === 'string') {
55
- const token = args[0].replace('Bearer ', '');
56
- const validTokens = [];
57
- ${process.env.PLAYGROUND_JWT_TOKEN ? `validTokens.push('${process.env.PLAYGROUND_JWT_TOKEN}');` : ""}
58
- ${process.env.BUSINESS_JWT_TOKEN ? `validTokens.push('${process.env.BUSINESS_JWT_TOKEN}');` : ""}
59
-
60
- if (validTokens.includes(token)) {
61
- return { id: 'business-api' }
62
- }
63
- }
64
- return this.auth.authenticateToken(...args)
52
+ import { SimpleAuth, CompositeAuth } from '@mastra/core/server';
53
+ class MastraCloudAuth extends SimpleAuth {
54
+ constructor() {
55
+ super({
56
+ tokens: ${JSON.stringify(tokensObject)}
57
+ });
65
58
  }
66
-
67
- async authorizeUser (...args) {
68
- if (args[1] && args[1].path === '/api') {
69
- return true
59
+ async authorizeUser(user, request) {
60
+ // Allow access to /api path
61
+ if (request && request.url && new URL(request.url).pathname === '/api') {
62
+ return true;
70
63
  }
71
- if (args[0] && args[0].id === 'business-api') {
72
- return true
64
+ // Allow access for business-api users
65
+ if (user && user.id === 'business-api') {
66
+ return true;
73
67
  }
74
- return this.auth.authorizeUser(...args)
68
+ return false;
75
69
  }
76
70
  }
77
-
78
71
  const serverConfig = mastra.getServer()
79
72
  if (serverConfig && serverConfig.auth) {
80
- const auth = serverConfig.auth
81
- serverConfig.auth = new MastraCloudAuth(auth)
73
+ const existingAuth = serverConfig.auth
74
+ const cloudAuth = new MastraCloudAuth()
75
+
76
+ // Use CompositeAuth to combine cloud auth with existing auth
77
+ serverConfig.auth = new CompositeAuth([cloudAuth, existingAuth])
82
78
  }
83
79
  `;
84
80
  }
@@ -142,7 +138,7 @@ var RedisTransport = class extends logger$1.LoggerTransport {
142
138
  await closeLogger();
143
139
  cb(err);
144
140
  }
145
- listLogs(_args) {
141
+ getLogs(_args) {
146
142
  return Promise.resolve({
147
143
  logs: [],
148
144
  total: 0,
@@ -151,7 +147,7 @@ var RedisTransport = class extends logger$1.LoggerTransport {
151
147
  hasMore: false
152
148
  });
153
149
  }
154
- listLogsByRunId(_args) {
150
+ getLogsByRunId(_args) {
155
151
  return Promise.resolve({
156
152
  logs: [],
157
153
  total: 0,
@@ -322,6 +318,11 @@ var CloudDeployer = class extends deployer.Deployer {
322
318
  }
323
319
  async deploy(_outputDirectory) {
324
320
  }
321
+ async writeInstrumentationFile(outputDirectory) {
322
+ const instrumentationFile = path.join(outputDirectory, "instrumentation.mjs");
323
+ const __dirname = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))));
324
+ await esm.copy(path.join(__dirname, "../templates", "instrumentation-template.js"), instrumentationFile);
325
+ }
325
326
  async writePackageJson(outputDirectory, dependencies) {
326
327
  const versions = await esm.readJSON(path.join(path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))), "../versions.json"));
327
328
  for (const [pkgName, version] of Object.entries(versions || {})) {
@@ -362,8 +363,10 @@ import { mastra } from '#mastra';
362
363
  import { MultiLogger } from '@mastra/core/logger';
363
364
  import { PinoLogger } from '@mastra/loggers';
364
365
  import { HttpTransport } from '@mastra/loggers/http';
366
+ import { evaluate } from '@mastra/core/eval';
367
+ import { AvailableHooks, registerHook } from '@mastra/core/hooks';
365
368
  import { LibSQLStore, LibSQLVector } from '@mastra/libsql';
366
- import { scoreTracesWorkflow } from '@mastra/core/evals/scoreTraces';
369
+ import { scoreTracesWorkflow } from '@mastra/core/scores/scoreTraces';
367
370
  const startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();
368
371
  const createNodeServerStartTime = Date.now();
369
372
 
@@ -406,20 +409,52 @@ if (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {
406
409
  const { MastraStorage } = await import('@mastra/core/storage');
407
410
  logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)
408
411
  const storage = new LibSQLStore({
409
- id: 'mastra-cloud-storage-libsql',
410
412
  url: process.env.MASTRA_STORAGE_URL,
411
413
  authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,
412
414
  })
413
415
  const vector = new LibSQLVector({
414
- id: 'mastra-cloud-storage-libsql-vector',
415
416
  connectionUrl: process.env.MASTRA_STORAGE_URL,
416
417
  authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,
417
418
  })
418
419
 
419
420
  await storage.init()
420
421
  mastra?.setStorage(storage)
421
- } else if (mastra?.storage) {
422
- mastra.storage.init()
422
+
423
+ mastra?.memory?.setStorage(storage)
424
+ mastra?.memory?.setVector(vector)
425
+
426
+ registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {
427
+ evaluate({
428
+ agentName,
429
+ input,
430
+ metric,
431
+ output,
432
+ runId,
433
+ globalRunId: runId,
434
+ instructions,
435
+ });
436
+ });
437
+ registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {
438
+ if (mastra?.storage) {
439
+ await mastra.storage.insert({
440
+ tableName: MastraStorage.TABLE_EVALS,
441
+ record: {
442
+ input: traceObject.input,
443
+ output: traceObject.output,
444
+ result: JSON.stringify(traceObject.result),
445
+ agent_name: traceObject.agentName,
446
+ metric_name: traceObject.metricName,
447
+ instructions: traceObject.instructions,
448
+ test_info: null,
449
+ global_run_id: traceObject.globalRunId,
450
+ run_id: traceObject.runId,
451
+ created_at: new Date().toISOString(),
452
+ },
453
+ });
454
+ }
455
+ });
456
+ } else if (mastra?.getStorage()) {
457
+ await mastra.getStorage().init()
423
458
  }
424
459
 
425
460
  if (mastra?.getStorage()) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/auth.ts","../src/utils/constants.ts","../src/utils/logger.ts","../src/utils/execa.ts","../src/utils/deps.ts","../src/utils/file.ts","../src/utils/report.ts","../src/index.ts"],"names":["os","createClient","LoggerTransport","resolve","PinoLogger","Transform","execa","fs","join","error","MastraError","FileService","Deployer","readJSON","dirname","fileURLToPath"],"mappings":"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","file":"index.cjs","sourcesContent":["export function getAuthEntrypoint() {\n return `\n import { MastraAuthProvider } from '@mastra/core/server';\n\n class MastraCloudAuth extends MastraAuthProvider {\n constructor (auth) {\n super()\n this.auth = auth\n }\n\n async authenticateToken (...args) {\n if (typeof args[0] === 'string') {\n const token = args[0].replace('Bearer ', '');\n const validTokens = [];\n ${process.env.PLAYGROUND_JWT_TOKEN ? `validTokens.push('${process.env.PLAYGROUND_JWT_TOKEN}');` : ''}\n ${process.env.BUSINESS_JWT_TOKEN ? `validTokens.push('${process.env.BUSINESS_JWT_TOKEN}');` : ''}\n \n if (validTokens.includes(token)) {\n return { id: 'business-api' }\n }\n }\n return this.auth.authenticateToken(...args)\n }\n\n async authorizeUser (...args) {\n if (args[1] && args[1].path === '/api') {\n return true\n }\n if (args[0] && args[0].id === 'business-api') {\n return true\n }\n return this.auth.authorizeUser(...args)\n }\n }\n\n const serverConfig = mastra.getServer()\n if (serverConfig && serverConfig.auth) {\n const auth = serverConfig.auth\n serverConfig.auth = new MastraCloudAuth(auth)\n }\n `;\n}\n","import os from 'os';\n\nexport const LOCAL = process.env.LOCAL === 'true';\nexport const TEAM_ID: string = process.env.TEAM_ID ?? '';\nexport const PROJECT_ID: string = process.env.PROJECT_ID ?? '';\nexport const BUILD_ID: string = process.env.BUILD_ID ?? '';\nexport const BUILD_URL: string = process.env.BUILD_URL ?? '';\nexport const LOG_REDIS_URL: string = process.env.LOG_REDIS_URL ?? 'redis://localhost:6379';\nexport const BUSINESS_JWT_TOKEN: string = process.env.BUSINESS_JWT_TOKEN ?? '';\nexport const PLAYGROUND_JWT_TOKEN: string = process.env.PLAYGROUND_JWT_TOKEN ?? '';\nexport const USER_IP_ADDRESS: string = process.env.USER_IP_ADDRESS ?? '';\nexport const MASTRA_DIRECTORY: string = process.env.MASTRA_DIRECTORY ?? 'src/mastra';\nexport const PROJECT_ENV_VARS: Record<string, string> = safelyParseJson(process.env.PROJECT_ENV_VARS ?? '{}');\n\nexport const PROJECT_ROOT = LOCAL ? os.tmpdir() + '/project' : (process.env.PROJECT_ROOT ?? '/project');\n\nexport function safelyParseJson(json: string) {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n}\n","import type { TransformCallback } from 'stream';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { createClient } from 'redis';\nimport { BUILD_ID, LOG_REDIS_URL, PROJECT_ID, TEAM_ID } from './constants.js';\n\nconst redisClient = createClient({\n url: LOG_REDIS_URL,\n});\n\nclass RedisTransport extends LoggerTransport {\n _transform(chunk: any, _encoding: string, callback: TransformCallback): void {\n chunk = chunk.toString();\n const logKey = `builder:logs:${TEAM_ID}:${PROJECT_ID}:${BUILD_ID}`;\n const ttl = 2 * 24 * 60 * 60; // 2 days in seconds\n const logData = typeof chunk === 'string' ? chunk : JSON.stringify(chunk);\n\n // Don't block the event loop - process logs asynchronously\n process.nextTick(async () => {\n try {\n // Connect to Redis if not already connected\n if (!redisClient.isOpen) {\n await redisClient.connect().catch(err => {\n console.error('Redis connection error:', err);\n });\n }\n\n // Use pipeline to batch Redis operations\n const pipeline = redisClient.multi();\n pipeline.rPush(logKey, logData);\n pipeline.expire(logKey, ttl);\n await pipeline.exec();\n } catch (err) {\n console.error('Redis logging error:', err);\n }\n });\n\n // Immediately pass through the chunk without waiting\n callback(null, chunk);\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null | undefined) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n async _flush(): Promise<void> {\n // // Ensure the pipeline is closed and flushed\n // redisClient.quit().catch(err => {\n // console.error('Redis connection error:', err);\n // });\n // callback();\n await new Promise(resolve => setTimeout(resolve, 10));\n }\n\n async _destroy(err: Error, cb: Function) {\n await closeLogger();\n cb(err);\n }\n\n listLogs(_args: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n\n listLogsByRunId(_args?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n}\n\nexport const transport = new RedisTransport();\n\nexport const closeLogger = async () => {\n if (redisClient.isOpen) {\n setTimeout(async () => {\n await redisClient.quit();\n }, 10);\n }\n};\n\nexport const logger = new PinoLogger({\n level: 'info',\n transports: {\n redis: transport,\n },\n});\n","import { Transform } from 'stream';\nimport { execa } from 'execa';\nimport { PROJECT_ENV_VARS, PROJECT_ROOT } from './constants.js';\nimport { logger } from './logger.js';\n\nexport const createPinoStream = () => {\n return new Transform({\n transform(chunk, encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n // Log each line through Pino\n logger.info(line);\n }\n\n // Pass through the original data\n callback(null, chunk);\n },\n });\n};\n\nexport async function runWithExeca({\n cmd,\n args,\n cwd = process.cwd(),\n env = PROJECT_ENV_VARS,\n}: {\n cmd: string;\n args: string[];\n cwd?: string;\n env?: Record<string, string>;\n}): Promise<{ stdout?: string; stderr?: string; success: boolean; error?: Error }> {\n const pinoStream = createPinoStream();\n\n try {\n const subprocess = execa(cmd, args, {\n cwd,\n env: {\n ...process.env,\n ...env,\n },\n });\n\n // Pipe stdout and stderr through the Pino stream\n subprocess.stdout?.pipe(pinoStream);\n subprocess.stderr?.pipe(pinoStream);\n\n const { stdout, stderr, exitCode } = await subprocess;\n return { stdout, stderr, success: exitCode === 0 };\n } catch (error) {\n logger.error(`Process failed: ${error}`);\n return { success: false, error: error instanceof Error ? error : new Error(String(error)) };\n }\n}\n\nexport function runWithChildProcess(cmd: string, args: string[]): { stdout?: string; stderr?: string } {\n const pinoStream = createPinoStream();\n\n try {\n const { stdout, stderr } = require('child_process').spawnSync(cmd, args, {\n cwd: PROJECT_ROOT,\n encoding: 'utf8',\n shell: true,\n env: {\n ...process.env,\n ...PROJECT_ENV_VARS,\n },\n maxBuffer: 1024 * 1024 * 10, // 10MB buffer\n });\n\n if (stdout) {\n pinoStream.write(stdout);\n }\n if (stderr) {\n pinoStream.write(stderr);\n }\n\n pinoStream.end();\n return { stdout, stderr };\n } catch (error) {\n logger.error('Process failed' + error);\n pinoStream.end();\n return {};\n }\n}\n","import * as fs from 'fs';\nimport { join, resolve } from 'path';\n\nimport { MastraError } from '@mastra/core/error';\nimport { runWithExeca } from './execa.js';\nimport { logger } from './logger.js';\n\nconst MEMOIZED = new Map();\n\nfunction findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(join(dir, file))) {\n return file;\n }\n }\n const parentDir = resolve(dir, '..');\n if (parentDir !== dir) {\n return findLockFile(parentDir);\n }\n return null;\n}\n\nexport function detectPm({ path }: { path: string }): string {\n const cached = MEMOIZED.get(path);\n if (cached) {\n return cached;\n }\n\n const lockFile = findLockFile(path);\n let pm: string = 'npm';\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n pm = 'pnpm';\n break;\n case 'package-lock.json':\n pm = 'npm';\n break;\n case 'yarn.lock':\n pm = 'yarn';\n break;\n case 'bun.lock':\n pm = 'bun';\n break;\n default:\n pm = 'npm';\n }\n\n MEMOIZED.set(path, pm);\n return pm;\n}\n\nexport async function installNodeVersion({ path }: { path: string }) {\n let nvmrcExists = false;\n let nodeVersionExists = false;\n\n try {\n fs.accessSync(join(path, '.nvmrc'));\n nvmrcExists = true;\n } catch {\n // File does not exist\n }\n\n try {\n fs.accessSync(join(path, '.node-version'));\n nodeVersionExists = true;\n } catch {\n // File does not exist\n }\n\n if (nvmrcExists || nodeVersionExists) {\n logger.info('Node version file found, installing specified Node.js version...');\n const { success, error } = await runWithExeca({\n cmd: 'n',\n args: ['auto'],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'NODE_FAIL_INSTALL_SPECIFIED_VERSION',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n }\n}\n\nexport async function installDeps({ path, pm }: { path: string; pm?: string }) {\n pm = pm ?? detectPm({ path });\n logger.info(`Installing dependencies with ${pm} in ${path}`);\n const args = ['install'];\n const { success, error } = await runWithExeca({ cmd: pm, args, cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_INSTALL_DEPS',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runInstallCommand({ path, installCommand }: { path: string; installCommand: string }) {\n logger.info(`Running install command ${installCommand} in workspace with ${path}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', installCommand], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_CUSTOM_INSTALL_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runScript({ scriptName, path, args }: { scriptName: string; path: string; args?: string[] }) {\n const pm = detectPm({ path });\n logger.info(`Running script ${scriptName} in workspace with ${pm}`);\n const { success, error } = await runWithExeca({\n cmd: pm,\n args: pm === 'npm' ? ['run', scriptName, ...(args ?? [])] : [scriptName, ...(args ?? [])],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_SCRIPT',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runBuildCommand({ command, path }: { command: string; path: string }) {\n logger.info(`Running build command ${command}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', command], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { join } from 'path';\nimport { MastraError } from '@mastra/core/error';\nimport { FileService } from '@mastra/deployer';\n\nimport { MASTRA_DIRECTORY } from './constants.js';\n\nexport function getMastraEntryFile(mastraDir: string) {\n try {\n const fileService = new FileService();\n return fileService.getFirstExistingFile([\n join(mastraDir, MASTRA_DIRECTORY, 'index.ts'),\n join(mastraDir, MASTRA_DIRECTORY, 'index.js'),\n ]);\n } catch (error) {\n throw new MastraError(\n {\n id: 'MASTRA_ENTRY_FILE_NOT_FOUND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { PROJECT_ID, BUILD_ID, BUILD_URL, USER_IP_ADDRESS } from './constants.js';\n\nexport function successEntrypoint() {\n return `\n if (process.env.CI !== 'true') {\n await fetch('${process.env.REPORTER_API_URL}', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ${process.env.REPORTER_API_URL_AUTH_TOKEN}',\n },\n body: JSON.stringify(${JSON.stringify({\n projectId: PROJECT_ID,\n buildId: BUILD_ID,\n status: 'success',\n url: BUILD_URL,\n userIpAddress: USER_IP_ADDRESS,\n })}),\n }).catch(err => {\n console.error('Failed to report build status to monitoring service', {\n error: err,\n });\n })\n }\n `;\n}\n","import { fileURLToPath } from 'node:url';\nimport { join, dirname } from 'path';\nimport { Deployer } from '@mastra/deployer';\nimport { readJSON } from 'fs-extra/esm';\n\nimport { getAuthEntrypoint } from './utils/auth.js';\nimport { MASTRA_DIRECTORY, BUILD_ID, PROJECT_ID, TEAM_ID } from './utils/constants.js';\nimport { installDeps } from './utils/deps.js';\nimport { getMastraEntryFile } from './utils/file.js';\nimport { successEntrypoint } from './utils/report.js';\n\nexport class CloudDeployer extends Deployer {\n constructor() {\n super({ name: 'cloud' });\n }\n\n async deploy(_outputDirectory: string): Promise<void> {}\n async writePackageJson(outputDirectory: string, dependencies: Map<string, string>) {\n const versions = (await readJSON(join(dirname(fileURLToPath(import.meta.url)), '../versions.json'))) as\n | Record<string, string>\n | undefined;\n for (const [pkgName, version] of Object.entries(versions || {})) {\n dependencies.set(pkgName, version);\n }\n\n return super.writePackageJson(outputDirectory, dependencies);\n }\n\n async lint() {}\n\n protected async installDependencies(outputDirectory: string, _rootDir = process.cwd()) {\n await installDeps({ path: join(outputDirectory, 'output'), pm: 'npm' });\n }\n\n async bundle(mastraDir: string, outputDirectory: string): Promise<void> {\n const currentCwd = process.cwd();\n process.chdir(mastraDir);\n\n const mastraEntryFile = getMastraEntryFile(mastraDir);\n\n const mastraAppDir = join(mastraDir, MASTRA_DIRECTORY);\n\n // Use the getAllToolPaths method to prepare tools paths\n const discoveredTools = this.getAllToolPaths(mastraAppDir);\n\n await this._bundle(\n this.getEntry(),\n mastraEntryFile,\n {\n outputDirectory,\n projectRoot: mastraDir,\n },\n discoveredTools,\n );\n process.chdir(currentCwd);\n }\n\n getAuthEntrypoint() {\n return getAuthEntrypoint();\n }\n\n private getEntry(): string {\n return `\nimport { createNodeServer, getToolExports } from '#server';\nimport { tools } from '#tools';\nimport { mastra } from '#mastra';\nimport { MultiLogger } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { HttpTransport } from '@mastra/loggers/http';\nimport { LibSQLStore, LibSQLVector } from '@mastra/libsql';\nimport { scoreTracesWorkflow } from '@mastra/core/evals/scoreTraces';\nconst startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();\nconst createNodeServerStartTime = Date.now();\n\nconsole.log(JSON.stringify({\n message: \"Server starting\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\nconst transports = {}\nif (process.env.CI !== 'true') {\n if (process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT) {\n transports.default = new HttpTransport({\n url: process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT,\n headers: {\n Authorization: 'Bearer ' + process.env.BUSINESS_JWT_TOKEN,\n },\n });\n }\n}\n\nconst logger = new PinoLogger({\n name: 'MastraCloud',\n transports,\n level: 'debug',\n});\nconst existingLogger = mastra?.getLogger();\nconst combinedLogger = existingLogger ? new MultiLogger([logger, existingLogger]) : logger;\n\nmastra.setLogger({ logger: combinedLogger });\n\nif (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {\n const { MastraStorage } = await import('@mastra/core/storage');\n logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)\n const storage = new LibSQLStore({\n id: 'mastra-cloud-storage-libsql',\n url: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n const vector = new LibSQLVector({\n id: 'mastra-cloud-storage-libsql-vector',\n connectionUrl: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n\n await storage.init()\n mastra?.setStorage(storage)\n} else if (mastra?.storage) {\n mastra.storage.init()\n}\n\nif (mastra?.getStorage()) {\n mastra.__registerInternalWorkflow(scoreTracesWorkflow);\n}\n\n${getAuthEntrypoint()}\n\nawait createNodeServer(mastra, { playground: false, swaggerUI: false, tools: getToolExports(tools) });\n\n${successEntrypoint()}\n\nconsole.log(JSON.stringify({\n message: \"Server started\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n operation_durationMs: Date.now() - createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\n\nconsole.log(JSON.stringify({\n message: \"Runner Initialized\",\n type: \"READINESS\",\n startTime,\n durationMs: Date.now() - startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n`;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/auth.ts","../src/utils/constants.ts","../src/utils/logger.ts","../src/utils/execa.ts","../src/utils/deps.ts","../src/utils/file.ts","../src/utils/report.ts","../src/index.ts"],"names":["os","createClient","LoggerTransport","resolve","PinoLogger","Transform","execa","fs","join","error","MastraError","FileService","Deployer","dirname","fileURLToPath","copy","readJSON"],"mappings":"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","file":"index.cjs","sourcesContent":["export function getAuthEntrypoint() {\n const tokensObject: Record<string, { id: string }> = {};\n\n if (process.env.PLAYGROUND_JWT_TOKEN) {\n tokensObject[process.env.PLAYGROUND_JWT_TOKEN] = { id: 'business-api' };\n }\n if (process.env.BUSINESS_JWT_TOKEN) {\n tokensObject[process.env.BUSINESS_JWT_TOKEN] = { id: 'business-api' };\n }\n\n return `\n import { SimpleAuth, CompositeAuth } from '@mastra/core/server';\n class MastraCloudAuth extends SimpleAuth {\n constructor() {\n super({\n tokens: ${JSON.stringify(tokensObject)}\n });\n }\n async authorizeUser(user, request) {\n // Allow access to /api path\n if (request && request.url && new URL(request.url).pathname === '/api') {\n return true;\n }\n // Allow access for business-api users\n if (user && user.id === 'business-api') {\n return true;\n }\n return false;\n }\n }\n const serverConfig = mastra.getServer()\n if (serverConfig && serverConfig.auth) {\n const existingAuth = serverConfig.auth\n const cloudAuth = new MastraCloudAuth()\n \n // Use CompositeAuth to combine cloud auth with existing auth\n serverConfig.auth = new CompositeAuth([cloudAuth, existingAuth])\n }\n `;\n}\n","import os from 'os';\n\nexport const LOCAL = process.env.LOCAL === 'true';\nexport const TEAM_ID: string = process.env.TEAM_ID ?? '';\nexport const PROJECT_ID: string = process.env.PROJECT_ID ?? '';\nexport const BUILD_ID: string = process.env.BUILD_ID ?? '';\nexport const BUILD_URL: string = process.env.BUILD_URL ?? '';\nexport const LOG_REDIS_URL: string = process.env.LOG_REDIS_URL ?? 'redis://localhost:6379';\nexport const BUSINESS_JWT_TOKEN: string = process.env.BUSINESS_JWT_TOKEN ?? '';\nexport const PLAYGROUND_JWT_TOKEN: string = process.env.PLAYGROUND_JWT_TOKEN ?? '';\nexport const USER_IP_ADDRESS: string = process.env.USER_IP_ADDRESS ?? '';\nexport const MASTRA_DIRECTORY: string = process.env.MASTRA_DIRECTORY ?? 'src/mastra';\nexport const PROJECT_ENV_VARS: Record<string, string> = safelyParseJson(process.env.PROJECT_ENV_VARS ?? '{}');\n\nexport const PROJECT_ROOT = LOCAL ? os.tmpdir() + '/project' : (process.env.PROJECT_ROOT ?? '/project');\n\nexport function safelyParseJson(json: string) {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n}\n","import type { TransformCallback } from 'stream';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { createClient } from 'redis';\nimport { BUILD_ID, LOG_REDIS_URL, PROJECT_ID, TEAM_ID } from './constants.js';\n\nconst redisClient = createClient({\n url: LOG_REDIS_URL,\n});\n\nclass RedisTransport extends LoggerTransport {\n _transform(chunk: any, _encoding: string, callback: TransformCallback): void {\n chunk = chunk.toString();\n const logKey = `builder:logs:${TEAM_ID}:${PROJECT_ID}:${BUILD_ID}`;\n const ttl = 2 * 24 * 60 * 60; // 2 days in seconds\n const logData = typeof chunk === 'string' ? chunk : JSON.stringify(chunk);\n\n // Don't block the event loop - process logs asynchronously\n process.nextTick(async () => {\n try {\n // Connect to Redis if not already connected\n if (!redisClient.isOpen) {\n await redisClient.connect().catch(err => {\n console.error('Redis connection error:', err);\n });\n }\n\n // Use pipeline to batch Redis operations\n const pipeline = redisClient.multi();\n pipeline.rPush(logKey, logData);\n pipeline.expire(logKey, ttl);\n await pipeline.exec();\n } catch (err) {\n console.error('Redis logging error:', err);\n }\n });\n\n // Immediately pass through the chunk without waiting\n callback(null, chunk);\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null | undefined) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n async _flush(): Promise<void> {\n // // Ensure the pipeline is closed and flushed\n // redisClient.quit().catch(err => {\n // console.error('Redis connection error:', err);\n // });\n // callback();\n await new Promise(resolve => setTimeout(resolve, 10));\n }\n\n async _destroy(err: Error, cb: Function) {\n await closeLogger();\n cb(err);\n }\n\n getLogs(_args: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n\n getLogsByRunId(_args?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n}\n\nexport const transport = new RedisTransport();\n\nexport const closeLogger = async () => {\n if (redisClient.isOpen) {\n setTimeout(async () => {\n await redisClient.quit();\n }, 10);\n }\n};\n\nexport const logger = new PinoLogger({\n level: 'info',\n transports: {\n redis: transport,\n },\n});\n","import { Transform } from 'stream';\nimport { execa } from 'execa';\nimport { PROJECT_ENV_VARS, PROJECT_ROOT } from './constants.js';\nimport { logger } from './logger.js';\n\nexport const createPinoStream = () => {\n return new Transform({\n transform(chunk, encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n // Log each line through Pino\n logger.info(line);\n }\n\n // Pass through the original data\n callback(null, chunk);\n },\n });\n};\n\nexport async function runWithExeca({\n cmd,\n args,\n cwd = process.cwd(),\n env = PROJECT_ENV_VARS,\n}: {\n cmd: string;\n args: string[];\n cwd?: string;\n env?: Record<string, string>;\n}): Promise<{ stdout?: string; stderr?: string; success: boolean; error?: Error }> {\n const pinoStream = createPinoStream();\n\n try {\n const subprocess = execa(cmd, args, {\n cwd,\n env: {\n ...process.env,\n ...env,\n },\n });\n\n // Pipe stdout and stderr through the Pino stream\n subprocess.stdout?.pipe(pinoStream);\n subprocess.stderr?.pipe(pinoStream);\n\n const { stdout, stderr, exitCode } = await subprocess;\n return { stdout, stderr, success: exitCode === 0 };\n } catch (error) {\n logger.error(`Process failed: ${error}`);\n return { success: false, error: error instanceof Error ? error : new Error(String(error)) };\n }\n}\n\nexport function runWithChildProcess(cmd: string, args: string[]): { stdout?: string; stderr?: string } {\n const pinoStream = createPinoStream();\n\n try {\n const { stdout, stderr } = require('child_process').spawnSync(cmd, args, {\n cwd: PROJECT_ROOT,\n encoding: 'utf8',\n shell: true,\n env: {\n ...process.env,\n ...PROJECT_ENV_VARS,\n },\n maxBuffer: 1024 * 1024 * 10, // 10MB buffer\n });\n\n if (stdout) {\n pinoStream.write(stdout);\n }\n if (stderr) {\n pinoStream.write(stderr);\n }\n\n pinoStream.end();\n return { stdout, stderr };\n } catch (error) {\n logger.error('Process failed' + error);\n pinoStream.end();\n return {};\n }\n}\n","import * as fs from 'fs';\nimport { join, resolve } from 'path';\n\nimport { MastraError } from '@mastra/core/error';\nimport { runWithExeca } from './execa.js';\nimport { logger } from './logger.js';\n\nconst MEMOIZED = new Map();\n\nfunction findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(join(dir, file))) {\n return file;\n }\n }\n const parentDir = resolve(dir, '..');\n if (parentDir !== dir) {\n return findLockFile(parentDir);\n }\n return null;\n}\n\nexport function detectPm({ path }: { path: string }): string {\n const cached = MEMOIZED.get(path);\n if (cached) {\n return cached;\n }\n\n const lockFile = findLockFile(path);\n let pm: string = 'npm';\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n pm = 'pnpm';\n break;\n case 'package-lock.json':\n pm = 'npm';\n break;\n case 'yarn.lock':\n pm = 'yarn';\n break;\n case 'bun.lock':\n pm = 'bun';\n break;\n default:\n pm = 'npm';\n }\n\n MEMOIZED.set(path, pm);\n return pm;\n}\n\nexport async function installNodeVersion({ path }: { path: string }) {\n let nvmrcExists = false;\n let nodeVersionExists = false;\n\n try {\n fs.accessSync(join(path, '.nvmrc'));\n nvmrcExists = true;\n } catch {\n // File does not exist\n }\n\n try {\n fs.accessSync(join(path, '.node-version'));\n nodeVersionExists = true;\n } catch {\n // File does not exist\n }\n\n if (nvmrcExists || nodeVersionExists) {\n logger.info('Node version file found, installing specified Node.js version...');\n const { success, error } = await runWithExeca({\n cmd: 'n',\n args: ['auto'],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'NODE_FAIL_INSTALL_SPECIFIED_VERSION',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n }\n}\n\nexport async function installDeps({ path, pm }: { path: string; pm?: string }) {\n pm = pm ?? detectPm({ path });\n logger.info(`Installing dependencies with ${pm} in ${path}`);\n const args = ['install'];\n const { success, error } = await runWithExeca({ cmd: pm, args, cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_INSTALL_DEPS',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runInstallCommand({ path, installCommand }: { path: string; installCommand: string }) {\n logger.info(`Running install command ${installCommand} in workspace with ${path}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', installCommand], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_CUSTOM_INSTALL_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runScript({ scriptName, path, args }: { scriptName: string; path: string; args?: string[] }) {\n const pm = detectPm({ path });\n logger.info(`Running script ${scriptName} in workspace with ${pm}`);\n const { success, error } = await runWithExeca({\n cmd: pm,\n args: pm === 'npm' ? ['run', scriptName, ...(args ?? [])] : [scriptName, ...(args ?? [])],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_SCRIPT',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runBuildCommand({ command, path }: { command: string; path: string }) {\n logger.info(`Running build command ${command}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', command], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { join } from 'path';\nimport { MastraError } from '@mastra/core/error';\nimport { FileService } from '@mastra/deployer';\n\nimport { MASTRA_DIRECTORY } from './constants.js';\n\nexport function getMastraEntryFile(mastraDir: string) {\n try {\n const fileService = new FileService();\n return fileService.getFirstExistingFile([\n join(mastraDir, MASTRA_DIRECTORY, 'index.ts'),\n join(mastraDir, MASTRA_DIRECTORY, 'index.js'),\n ]);\n } catch (error) {\n throw new MastraError(\n {\n id: 'MASTRA_ENTRY_FILE_NOT_FOUND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { PROJECT_ID, BUILD_ID, BUILD_URL, USER_IP_ADDRESS } from './constants.js';\n\nexport function successEntrypoint() {\n return `\n if (process.env.CI !== 'true') {\n await fetch('${process.env.REPORTER_API_URL}', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ${process.env.REPORTER_API_URL_AUTH_TOKEN}',\n },\n body: JSON.stringify(${JSON.stringify({\n projectId: PROJECT_ID,\n buildId: BUILD_ID,\n status: 'success',\n url: BUILD_URL,\n userIpAddress: USER_IP_ADDRESS,\n })}),\n }).catch(err => {\n console.error('Failed to report build status to monitoring service', {\n error: err,\n });\n })\n }\n `;\n}\n","import { fileURLToPath } from 'node:url';\nimport { join, dirname } from 'path';\nimport { Deployer } from '@mastra/deployer';\nimport { copy, readJSON } from 'fs-extra/esm';\n\nimport { getAuthEntrypoint } from './utils/auth.js';\nimport { MASTRA_DIRECTORY, BUILD_ID, PROJECT_ID, TEAM_ID } from './utils/constants.js';\nimport { installDeps } from './utils/deps.js';\nimport { getMastraEntryFile } from './utils/file.js';\nimport { successEntrypoint } from './utils/report.js';\n\nexport class CloudDeployer extends Deployer {\n constructor() {\n super({ name: 'cloud' });\n }\n\n async deploy(_outputDirectory: string): Promise<void> {}\n async writeInstrumentationFile(outputDirectory: string) {\n const instrumentationFile = join(outputDirectory, 'instrumentation.mjs');\n const __dirname = dirname(fileURLToPath(import.meta.url));\n\n await copy(join(__dirname, '../templates', 'instrumentation-template.js'), instrumentationFile);\n }\n async writePackageJson(outputDirectory: string, dependencies: Map<string, string>) {\n const versions = (await readJSON(join(dirname(fileURLToPath(import.meta.url)), '../versions.json'))) as\n | Record<string, string>\n | undefined;\n for (const [pkgName, version] of Object.entries(versions || {})) {\n dependencies.set(pkgName, version);\n }\n\n return super.writePackageJson(outputDirectory, dependencies);\n }\n\n async lint() {}\n\n protected async installDependencies(outputDirectory: string, _rootDir = process.cwd()) {\n await installDeps({ path: join(outputDirectory, 'output'), pm: 'npm' });\n }\n\n async bundle(mastraDir: string, outputDirectory: string): Promise<void> {\n const currentCwd = process.cwd();\n process.chdir(mastraDir);\n\n const mastraEntryFile = getMastraEntryFile(mastraDir);\n\n const mastraAppDir = join(mastraDir, MASTRA_DIRECTORY);\n\n // Use the getAllToolPaths method to prepare tools paths\n const discoveredTools = this.getAllToolPaths(mastraAppDir);\n\n await this._bundle(\n this.getEntry(),\n mastraEntryFile,\n {\n outputDirectory,\n projectRoot: mastraDir,\n },\n discoveredTools,\n );\n process.chdir(currentCwd);\n }\n\n getAuthEntrypoint() {\n return getAuthEntrypoint();\n }\n\n private getEntry(): string {\n return `\nimport { createNodeServer, getToolExports } from '#server';\nimport { tools } from '#tools';\nimport { mastra } from '#mastra';\nimport { MultiLogger } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { HttpTransport } from '@mastra/loggers/http';\nimport { evaluate } from '@mastra/core/eval';\nimport { AvailableHooks, registerHook } from '@mastra/core/hooks';\nimport { LibSQLStore, LibSQLVector } from '@mastra/libsql';\nimport { scoreTracesWorkflow } from '@mastra/core/scores/scoreTraces';\nconst startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();\nconst createNodeServerStartTime = Date.now();\n\nconsole.log(JSON.stringify({\n message: \"Server starting\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\nconst transports = {}\nif (process.env.CI !== 'true') {\n if (process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT) {\n transports.default = new HttpTransport({\n url: process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT,\n headers: {\n Authorization: 'Bearer ' + process.env.BUSINESS_JWT_TOKEN,\n },\n });\n }\n}\n\nconst logger = new PinoLogger({\n name: 'MastraCloud',\n transports,\n level: 'debug',\n});\nconst existingLogger = mastra?.getLogger();\nconst combinedLogger = existingLogger ? new MultiLogger([logger, existingLogger]) : logger;\n\nmastra.setLogger({ logger: combinedLogger });\n\nif (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {\n const { MastraStorage } = await import('@mastra/core/storage');\n logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)\n const storage = new LibSQLStore({\n url: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n const vector = new LibSQLVector({\n connectionUrl: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n\n await storage.init()\n mastra?.setStorage(storage)\n\n mastra?.memory?.setStorage(storage)\n mastra?.memory?.setVector(vector)\n\n registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {\n evaluate({\n agentName,\n input,\n metric,\n output,\n runId,\n globalRunId: runId,\n instructions,\n });\n });\n registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {\n if (mastra?.storage) {\n await mastra.storage.insert({\n tableName: MastraStorage.TABLE_EVALS,\n record: {\n input: traceObject.input,\n output: traceObject.output,\n result: JSON.stringify(traceObject.result),\n agent_name: traceObject.agentName,\n metric_name: traceObject.metricName,\n instructions: traceObject.instructions,\n test_info: null,\n global_run_id: traceObject.globalRunId,\n run_id: traceObject.runId,\n created_at: new Date().toISOString(),\n },\n });\n }\n });\n} else if (mastra?.getStorage()) {\n await mastra.getStorage().init()\n}\n\nif (mastra?.getStorage()) {\n mastra.__registerInternalWorkflow(scoreTracesWorkflow);\n}\n\n${getAuthEntrypoint()}\n\nawait createNodeServer(mastra, { playground: false, swaggerUI: false, tools: getToolExports(tools) });\n\n${successEntrypoint()}\n\nconsole.log(JSON.stringify({\n message: \"Server started\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n operation_durationMs: Date.now() - createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\n\nconsole.log(JSON.stringify({\n message: \"Runner Initialized\",\n type: \"READINESS\",\n startTime,\n durationMs: Date.now() - startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n`;\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Deployer } from '@mastra/deployer';
2
2
  export declare class CloudDeployer extends Deployer {
3
3
  constructor();
4
4
  deploy(_outputDirectory: string): Promise<void>;
5
+ writeInstrumentationFile(outputDirectory: string): Promise<void>;
5
6
  writePackageJson(outputDirectory: string, dependencies: Map<string, string>): Promise<void>;
6
7
  lint(): Promise<void>;
7
8
  protected installDependencies(outputDirectory: string, _rootDir?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,qBAAa,aAAc,SAAQ,QAAQ;;IAKnC,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAW3E,IAAI;cAEM,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,SAAgB;IAI/E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvE,iBAAiB;IAIjB,OAAO,CAAC,QAAQ;CA0GjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,qBAAa,aAAc,SAAQ,QAAQ;;IAKnC,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,wBAAwB,CAAC,eAAe,EAAE,MAAM;IAMhD,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAW3E,IAAI;cAEM,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,SAAgB;IAI/E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvE,iBAAiB;IAIjB,OAAO,CAAC,QAAQ;CA4IjB"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { fileURLToPath } from 'url';
2
2
  import { join, dirname, resolve } from 'path';
3
3
  import { Deployer, FileService } from '@mastra/deployer';
4
- import { readJSON } from 'fs-extra/esm';
4
+ import { copy, readJSON } from 'fs-extra/esm';
5
5
  import os from 'os';
6
6
  import * as fs from 'fs';
7
7
  import { MastraError } from '@mastra/core/error';
@@ -15,44 +15,40 @@ import { createClient } from 'redis';
15
15
 
16
16
  // src/utils/auth.ts
17
17
  function getAuthEntrypoint() {
18
+ const tokensObject = {};
19
+ if (process.env.PLAYGROUND_JWT_TOKEN) {
20
+ tokensObject[process.env.PLAYGROUND_JWT_TOKEN] = { id: "business-api" };
21
+ }
22
+ if (process.env.BUSINESS_JWT_TOKEN) {
23
+ tokensObject[process.env.BUSINESS_JWT_TOKEN] = { id: "business-api" };
24
+ }
18
25
  return `
19
- import { MastraAuthProvider } from '@mastra/core/server';
20
-
21
- class MastraCloudAuth extends MastraAuthProvider {
22
- constructor (auth) {
23
- super()
24
- this.auth = auth
25
- }
26
-
27
- async authenticateToken (...args) {
28
- if (typeof args[0] === 'string') {
29
- const token = args[0].replace('Bearer ', '');
30
- const validTokens = [];
31
- ${process.env.PLAYGROUND_JWT_TOKEN ? `validTokens.push('${process.env.PLAYGROUND_JWT_TOKEN}');` : ""}
32
- ${process.env.BUSINESS_JWT_TOKEN ? `validTokens.push('${process.env.BUSINESS_JWT_TOKEN}');` : ""}
33
-
34
- if (validTokens.includes(token)) {
35
- return { id: 'business-api' }
36
- }
37
- }
38
- return this.auth.authenticateToken(...args)
26
+ import { SimpleAuth, CompositeAuth } from '@mastra/core/server';
27
+ class MastraCloudAuth extends SimpleAuth {
28
+ constructor() {
29
+ super({
30
+ tokens: ${JSON.stringify(tokensObject)}
31
+ });
39
32
  }
40
-
41
- async authorizeUser (...args) {
42
- if (args[1] && args[1].path === '/api') {
43
- return true
33
+ async authorizeUser(user, request) {
34
+ // Allow access to /api path
35
+ if (request && request.url && new URL(request.url).pathname === '/api') {
36
+ return true;
44
37
  }
45
- if (args[0] && args[0].id === 'business-api') {
46
- return true
38
+ // Allow access for business-api users
39
+ if (user && user.id === 'business-api') {
40
+ return true;
47
41
  }
48
- return this.auth.authorizeUser(...args)
42
+ return false;
49
43
  }
50
44
  }
51
-
52
45
  const serverConfig = mastra.getServer()
53
46
  if (serverConfig && serverConfig.auth) {
54
- const auth = serverConfig.auth
55
- serverConfig.auth = new MastraCloudAuth(auth)
47
+ const existingAuth = serverConfig.auth
48
+ const cloudAuth = new MastraCloudAuth()
49
+
50
+ // Use CompositeAuth to combine cloud auth with existing auth
51
+ serverConfig.auth = new CompositeAuth([cloudAuth, existingAuth])
56
52
  }
57
53
  `;
58
54
  }
@@ -116,7 +112,7 @@ var RedisTransport = class extends LoggerTransport {
116
112
  await closeLogger();
117
113
  cb(err);
118
114
  }
119
- listLogs(_args) {
115
+ getLogs(_args) {
120
116
  return Promise.resolve({
121
117
  logs: [],
122
118
  total: 0,
@@ -125,7 +121,7 @@ var RedisTransport = class extends LoggerTransport {
125
121
  hasMore: false
126
122
  });
127
123
  }
128
- listLogsByRunId(_args) {
124
+ getLogsByRunId(_args) {
129
125
  return Promise.resolve({
130
126
  logs: [],
131
127
  total: 0,
@@ -296,6 +292,11 @@ var CloudDeployer = class extends Deployer {
296
292
  }
297
293
  async deploy(_outputDirectory) {
298
294
  }
295
+ async writeInstrumentationFile(outputDirectory) {
296
+ const instrumentationFile = join(outputDirectory, "instrumentation.mjs");
297
+ const __dirname = dirname(fileURLToPath(import.meta.url));
298
+ await copy(join(__dirname, "../templates", "instrumentation-template.js"), instrumentationFile);
299
+ }
299
300
  async writePackageJson(outputDirectory, dependencies) {
300
301
  const versions = await readJSON(join(dirname(fileURLToPath(import.meta.url)), "../versions.json"));
301
302
  for (const [pkgName, version] of Object.entries(versions || {})) {
@@ -336,8 +337,10 @@ import { mastra } from '#mastra';
336
337
  import { MultiLogger } from '@mastra/core/logger';
337
338
  import { PinoLogger } from '@mastra/loggers';
338
339
  import { HttpTransport } from '@mastra/loggers/http';
340
+ import { evaluate } from '@mastra/core/eval';
341
+ import { AvailableHooks, registerHook } from '@mastra/core/hooks';
339
342
  import { LibSQLStore, LibSQLVector } from '@mastra/libsql';
340
- import { scoreTracesWorkflow } from '@mastra/core/evals/scoreTraces';
343
+ import { scoreTracesWorkflow } from '@mastra/core/scores/scoreTraces';
341
344
  const startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();
342
345
  const createNodeServerStartTime = Date.now();
343
346
 
@@ -380,20 +383,52 @@ if (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {
380
383
  const { MastraStorage } = await import('@mastra/core/storage');
381
384
  logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)
382
385
  const storage = new LibSQLStore({
383
- id: 'mastra-cloud-storage-libsql',
384
386
  url: process.env.MASTRA_STORAGE_URL,
385
387
  authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,
386
388
  })
387
389
  const vector = new LibSQLVector({
388
- id: 'mastra-cloud-storage-libsql-vector',
389
390
  connectionUrl: process.env.MASTRA_STORAGE_URL,
390
391
  authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,
391
392
  })
392
393
 
393
394
  await storage.init()
394
395
  mastra?.setStorage(storage)
395
- } else if (mastra?.storage) {
396
- mastra.storage.init()
396
+
397
+ mastra?.memory?.setStorage(storage)
398
+ mastra?.memory?.setVector(vector)
399
+
400
+ registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {
401
+ evaluate({
402
+ agentName,
403
+ input,
404
+ metric,
405
+ output,
406
+ runId,
407
+ globalRunId: runId,
408
+ instructions,
409
+ });
410
+ });
411
+ registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {
412
+ if (mastra?.storage) {
413
+ await mastra.storage.insert({
414
+ tableName: MastraStorage.TABLE_EVALS,
415
+ record: {
416
+ input: traceObject.input,
417
+ output: traceObject.output,
418
+ result: JSON.stringify(traceObject.result),
419
+ agent_name: traceObject.agentName,
420
+ metric_name: traceObject.metricName,
421
+ instructions: traceObject.instructions,
422
+ test_info: null,
423
+ global_run_id: traceObject.globalRunId,
424
+ run_id: traceObject.runId,
425
+ created_at: new Date().toISOString(),
426
+ },
427
+ });
428
+ }
429
+ });
430
+ } else if (mastra?.getStorage()) {
431
+ await mastra.getStorage().init()
397
432
  }
398
433
 
399
434
  if (mastra?.getStorage()) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/auth.ts","../src/utils/constants.ts","../src/utils/logger.ts","../src/utils/execa.ts","../src/utils/deps.ts","../src/utils/file.ts","../src/utils/report.ts","../src/index.ts"],"names":["resolve","join","MastraError"],"mappings":"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","file":"index.js","sourcesContent":["export function getAuthEntrypoint() {\n return `\n import { MastraAuthProvider } from '@mastra/core/server';\n\n class MastraCloudAuth extends MastraAuthProvider {\n constructor (auth) {\n super()\n this.auth = auth\n }\n\n async authenticateToken (...args) {\n if (typeof args[0] === 'string') {\n const token = args[0].replace('Bearer ', '');\n const validTokens = [];\n ${process.env.PLAYGROUND_JWT_TOKEN ? `validTokens.push('${process.env.PLAYGROUND_JWT_TOKEN}');` : ''}\n ${process.env.BUSINESS_JWT_TOKEN ? `validTokens.push('${process.env.BUSINESS_JWT_TOKEN}');` : ''}\n \n if (validTokens.includes(token)) {\n return { id: 'business-api' }\n }\n }\n return this.auth.authenticateToken(...args)\n }\n\n async authorizeUser (...args) {\n if (args[1] && args[1].path === '/api') {\n return true\n }\n if (args[0] && args[0].id === 'business-api') {\n return true\n }\n return this.auth.authorizeUser(...args)\n }\n }\n\n const serverConfig = mastra.getServer()\n if (serverConfig && serverConfig.auth) {\n const auth = serverConfig.auth\n serverConfig.auth = new MastraCloudAuth(auth)\n }\n `;\n}\n","import os from 'os';\n\nexport const LOCAL = process.env.LOCAL === 'true';\nexport const TEAM_ID: string = process.env.TEAM_ID ?? '';\nexport const PROJECT_ID: string = process.env.PROJECT_ID ?? '';\nexport const BUILD_ID: string = process.env.BUILD_ID ?? '';\nexport const BUILD_URL: string = process.env.BUILD_URL ?? '';\nexport const LOG_REDIS_URL: string = process.env.LOG_REDIS_URL ?? 'redis://localhost:6379';\nexport const BUSINESS_JWT_TOKEN: string = process.env.BUSINESS_JWT_TOKEN ?? '';\nexport const PLAYGROUND_JWT_TOKEN: string = process.env.PLAYGROUND_JWT_TOKEN ?? '';\nexport const USER_IP_ADDRESS: string = process.env.USER_IP_ADDRESS ?? '';\nexport const MASTRA_DIRECTORY: string = process.env.MASTRA_DIRECTORY ?? 'src/mastra';\nexport const PROJECT_ENV_VARS: Record<string, string> = safelyParseJson(process.env.PROJECT_ENV_VARS ?? '{}');\n\nexport const PROJECT_ROOT = LOCAL ? os.tmpdir() + '/project' : (process.env.PROJECT_ROOT ?? '/project');\n\nexport function safelyParseJson(json: string) {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n}\n","import type { TransformCallback } from 'stream';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { createClient } from 'redis';\nimport { BUILD_ID, LOG_REDIS_URL, PROJECT_ID, TEAM_ID } from './constants.js';\n\nconst redisClient = createClient({\n url: LOG_REDIS_URL,\n});\n\nclass RedisTransport extends LoggerTransport {\n _transform(chunk: any, _encoding: string, callback: TransformCallback): void {\n chunk = chunk.toString();\n const logKey = `builder:logs:${TEAM_ID}:${PROJECT_ID}:${BUILD_ID}`;\n const ttl = 2 * 24 * 60 * 60; // 2 days in seconds\n const logData = typeof chunk === 'string' ? chunk : JSON.stringify(chunk);\n\n // Don't block the event loop - process logs asynchronously\n process.nextTick(async () => {\n try {\n // Connect to Redis if not already connected\n if (!redisClient.isOpen) {\n await redisClient.connect().catch(err => {\n console.error('Redis connection error:', err);\n });\n }\n\n // Use pipeline to batch Redis operations\n const pipeline = redisClient.multi();\n pipeline.rPush(logKey, logData);\n pipeline.expire(logKey, ttl);\n await pipeline.exec();\n } catch (err) {\n console.error('Redis logging error:', err);\n }\n });\n\n // Immediately pass through the chunk without waiting\n callback(null, chunk);\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null | undefined) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n async _flush(): Promise<void> {\n // // Ensure the pipeline is closed and flushed\n // redisClient.quit().catch(err => {\n // console.error('Redis connection error:', err);\n // });\n // callback();\n await new Promise(resolve => setTimeout(resolve, 10));\n }\n\n async _destroy(err: Error, cb: Function) {\n await closeLogger();\n cb(err);\n }\n\n listLogs(_args: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n\n listLogsByRunId(_args?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n}\n\nexport const transport = new RedisTransport();\n\nexport const closeLogger = async () => {\n if (redisClient.isOpen) {\n setTimeout(async () => {\n await redisClient.quit();\n }, 10);\n }\n};\n\nexport const logger = new PinoLogger({\n level: 'info',\n transports: {\n redis: transport,\n },\n});\n","import { Transform } from 'stream';\nimport { execa } from 'execa';\nimport { PROJECT_ENV_VARS, PROJECT_ROOT } from './constants.js';\nimport { logger } from './logger.js';\n\nexport const createPinoStream = () => {\n return new Transform({\n transform(chunk, encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n // Log each line through Pino\n logger.info(line);\n }\n\n // Pass through the original data\n callback(null, chunk);\n },\n });\n};\n\nexport async function runWithExeca({\n cmd,\n args,\n cwd = process.cwd(),\n env = PROJECT_ENV_VARS,\n}: {\n cmd: string;\n args: string[];\n cwd?: string;\n env?: Record<string, string>;\n}): Promise<{ stdout?: string; stderr?: string; success: boolean; error?: Error }> {\n const pinoStream = createPinoStream();\n\n try {\n const subprocess = execa(cmd, args, {\n cwd,\n env: {\n ...process.env,\n ...env,\n },\n });\n\n // Pipe stdout and stderr through the Pino stream\n subprocess.stdout?.pipe(pinoStream);\n subprocess.stderr?.pipe(pinoStream);\n\n const { stdout, stderr, exitCode } = await subprocess;\n return { stdout, stderr, success: exitCode === 0 };\n } catch (error) {\n logger.error(`Process failed: ${error}`);\n return { success: false, error: error instanceof Error ? error : new Error(String(error)) };\n }\n}\n\nexport function runWithChildProcess(cmd: string, args: string[]): { stdout?: string; stderr?: string } {\n const pinoStream = createPinoStream();\n\n try {\n const { stdout, stderr } = require('child_process').spawnSync(cmd, args, {\n cwd: PROJECT_ROOT,\n encoding: 'utf8',\n shell: true,\n env: {\n ...process.env,\n ...PROJECT_ENV_VARS,\n },\n maxBuffer: 1024 * 1024 * 10, // 10MB buffer\n });\n\n if (stdout) {\n pinoStream.write(stdout);\n }\n if (stderr) {\n pinoStream.write(stderr);\n }\n\n pinoStream.end();\n return { stdout, stderr };\n } catch (error) {\n logger.error('Process failed' + error);\n pinoStream.end();\n return {};\n }\n}\n","import * as fs from 'fs';\nimport { join, resolve } from 'path';\n\nimport { MastraError } from '@mastra/core/error';\nimport { runWithExeca } from './execa.js';\nimport { logger } from './logger.js';\n\nconst MEMOIZED = new Map();\n\nfunction findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(join(dir, file))) {\n return file;\n }\n }\n const parentDir = resolve(dir, '..');\n if (parentDir !== dir) {\n return findLockFile(parentDir);\n }\n return null;\n}\n\nexport function detectPm({ path }: { path: string }): string {\n const cached = MEMOIZED.get(path);\n if (cached) {\n return cached;\n }\n\n const lockFile = findLockFile(path);\n let pm: string = 'npm';\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n pm = 'pnpm';\n break;\n case 'package-lock.json':\n pm = 'npm';\n break;\n case 'yarn.lock':\n pm = 'yarn';\n break;\n case 'bun.lock':\n pm = 'bun';\n break;\n default:\n pm = 'npm';\n }\n\n MEMOIZED.set(path, pm);\n return pm;\n}\n\nexport async function installNodeVersion({ path }: { path: string }) {\n let nvmrcExists = false;\n let nodeVersionExists = false;\n\n try {\n fs.accessSync(join(path, '.nvmrc'));\n nvmrcExists = true;\n } catch {\n // File does not exist\n }\n\n try {\n fs.accessSync(join(path, '.node-version'));\n nodeVersionExists = true;\n } catch {\n // File does not exist\n }\n\n if (nvmrcExists || nodeVersionExists) {\n logger.info('Node version file found, installing specified Node.js version...');\n const { success, error } = await runWithExeca({\n cmd: 'n',\n args: ['auto'],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'NODE_FAIL_INSTALL_SPECIFIED_VERSION',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n }\n}\n\nexport async function installDeps({ path, pm }: { path: string; pm?: string }) {\n pm = pm ?? detectPm({ path });\n logger.info(`Installing dependencies with ${pm} in ${path}`);\n const args = ['install'];\n const { success, error } = await runWithExeca({ cmd: pm, args, cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_INSTALL_DEPS',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runInstallCommand({ path, installCommand }: { path: string; installCommand: string }) {\n logger.info(`Running install command ${installCommand} in workspace with ${path}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', installCommand], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_CUSTOM_INSTALL_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runScript({ scriptName, path, args }: { scriptName: string; path: string; args?: string[] }) {\n const pm = detectPm({ path });\n logger.info(`Running script ${scriptName} in workspace with ${pm}`);\n const { success, error } = await runWithExeca({\n cmd: pm,\n args: pm === 'npm' ? ['run', scriptName, ...(args ?? [])] : [scriptName, ...(args ?? [])],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_SCRIPT',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runBuildCommand({ command, path }: { command: string; path: string }) {\n logger.info(`Running build command ${command}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', command], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { join } from 'path';\nimport { MastraError } from '@mastra/core/error';\nimport { FileService } from '@mastra/deployer';\n\nimport { MASTRA_DIRECTORY } from './constants.js';\n\nexport function getMastraEntryFile(mastraDir: string) {\n try {\n const fileService = new FileService();\n return fileService.getFirstExistingFile([\n join(mastraDir, MASTRA_DIRECTORY, 'index.ts'),\n join(mastraDir, MASTRA_DIRECTORY, 'index.js'),\n ]);\n } catch (error) {\n throw new MastraError(\n {\n id: 'MASTRA_ENTRY_FILE_NOT_FOUND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { PROJECT_ID, BUILD_ID, BUILD_URL, USER_IP_ADDRESS } from './constants.js';\n\nexport function successEntrypoint() {\n return `\n if (process.env.CI !== 'true') {\n await fetch('${process.env.REPORTER_API_URL}', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ${process.env.REPORTER_API_URL_AUTH_TOKEN}',\n },\n body: JSON.stringify(${JSON.stringify({\n projectId: PROJECT_ID,\n buildId: BUILD_ID,\n status: 'success',\n url: BUILD_URL,\n userIpAddress: USER_IP_ADDRESS,\n })}),\n }).catch(err => {\n console.error('Failed to report build status to monitoring service', {\n error: err,\n });\n })\n }\n `;\n}\n","import { fileURLToPath } from 'node:url';\nimport { join, dirname } from 'path';\nimport { Deployer } from '@mastra/deployer';\nimport { readJSON } from 'fs-extra/esm';\n\nimport { getAuthEntrypoint } from './utils/auth.js';\nimport { MASTRA_DIRECTORY, BUILD_ID, PROJECT_ID, TEAM_ID } from './utils/constants.js';\nimport { installDeps } from './utils/deps.js';\nimport { getMastraEntryFile } from './utils/file.js';\nimport { successEntrypoint } from './utils/report.js';\n\nexport class CloudDeployer extends Deployer {\n constructor() {\n super({ name: 'cloud' });\n }\n\n async deploy(_outputDirectory: string): Promise<void> {}\n async writePackageJson(outputDirectory: string, dependencies: Map<string, string>) {\n const versions = (await readJSON(join(dirname(fileURLToPath(import.meta.url)), '../versions.json'))) as\n | Record<string, string>\n | undefined;\n for (const [pkgName, version] of Object.entries(versions || {})) {\n dependencies.set(pkgName, version);\n }\n\n return super.writePackageJson(outputDirectory, dependencies);\n }\n\n async lint() {}\n\n protected async installDependencies(outputDirectory: string, _rootDir = process.cwd()) {\n await installDeps({ path: join(outputDirectory, 'output'), pm: 'npm' });\n }\n\n async bundle(mastraDir: string, outputDirectory: string): Promise<void> {\n const currentCwd = process.cwd();\n process.chdir(mastraDir);\n\n const mastraEntryFile = getMastraEntryFile(mastraDir);\n\n const mastraAppDir = join(mastraDir, MASTRA_DIRECTORY);\n\n // Use the getAllToolPaths method to prepare tools paths\n const discoveredTools = this.getAllToolPaths(mastraAppDir);\n\n await this._bundle(\n this.getEntry(),\n mastraEntryFile,\n {\n outputDirectory,\n projectRoot: mastraDir,\n },\n discoveredTools,\n );\n process.chdir(currentCwd);\n }\n\n getAuthEntrypoint() {\n return getAuthEntrypoint();\n }\n\n private getEntry(): string {\n return `\nimport { createNodeServer, getToolExports } from '#server';\nimport { tools } from '#tools';\nimport { mastra } from '#mastra';\nimport { MultiLogger } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { HttpTransport } from '@mastra/loggers/http';\nimport { LibSQLStore, LibSQLVector } from '@mastra/libsql';\nimport { scoreTracesWorkflow } from '@mastra/core/evals/scoreTraces';\nconst startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();\nconst createNodeServerStartTime = Date.now();\n\nconsole.log(JSON.stringify({\n message: \"Server starting\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\nconst transports = {}\nif (process.env.CI !== 'true') {\n if (process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT) {\n transports.default = new HttpTransport({\n url: process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT,\n headers: {\n Authorization: 'Bearer ' + process.env.BUSINESS_JWT_TOKEN,\n },\n });\n }\n}\n\nconst logger = new PinoLogger({\n name: 'MastraCloud',\n transports,\n level: 'debug',\n});\nconst existingLogger = mastra?.getLogger();\nconst combinedLogger = existingLogger ? new MultiLogger([logger, existingLogger]) : logger;\n\nmastra.setLogger({ logger: combinedLogger });\n\nif (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {\n const { MastraStorage } = await import('@mastra/core/storage');\n logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)\n const storage = new LibSQLStore({\n id: 'mastra-cloud-storage-libsql',\n url: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n const vector = new LibSQLVector({\n id: 'mastra-cloud-storage-libsql-vector',\n connectionUrl: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n\n await storage.init()\n mastra?.setStorage(storage)\n} else if (mastra?.storage) {\n mastra.storage.init()\n}\n\nif (mastra?.getStorage()) {\n mastra.__registerInternalWorkflow(scoreTracesWorkflow);\n}\n\n${getAuthEntrypoint()}\n\nawait createNodeServer(mastra, { playground: false, swaggerUI: false, tools: getToolExports(tools) });\n\n${successEntrypoint()}\n\nconsole.log(JSON.stringify({\n message: \"Server started\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n operation_durationMs: Date.now() - createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\n\nconsole.log(JSON.stringify({\n message: \"Runner Initialized\",\n type: \"READINESS\",\n startTime,\n durationMs: Date.now() - startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n`;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/auth.ts","../src/utils/constants.ts","../src/utils/logger.ts","../src/utils/execa.ts","../src/utils/deps.ts","../src/utils/file.ts","../src/utils/report.ts","../src/index.ts"],"names":["resolve","join","MastraError"],"mappings":"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","file":"index.js","sourcesContent":["export function getAuthEntrypoint() {\n const tokensObject: Record<string, { id: string }> = {};\n\n if (process.env.PLAYGROUND_JWT_TOKEN) {\n tokensObject[process.env.PLAYGROUND_JWT_TOKEN] = { id: 'business-api' };\n }\n if (process.env.BUSINESS_JWT_TOKEN) {\n tokensObject[process.env.BUSINESS_JWT_TOKEN] = { id: 'business-api' };\n }\n\n return `\n import { SimpleAuth, CompositeAuth } from '@mastra/core/server';\n class MastraCloudAuth extends SimpleAuth {\n constructor() {\n super({\n tokens: ${JSON.stringify(tokensObject)}\n });\n }\n async authorizeUser(user, request) {\n // Allow access to /api path\n if (request && request.url && new URL(request.url).pathname === '/api') {\n return true;\n }\n // Allow access for business-api users\n if (user && user.id === 'business-api') {\n return true;\n }\n return false;\n }\n }\n const serverConfig = mastra.getServer()\n if (serverConfig && serverConfig.auth) {\n const existingAuth = serverConfig.auth\n const cloudAuth = new MastraCloudAuth()\n \n // Use CompositeAuth to combine cloud auth with existing auth\n serverConfig.auth = new CompositeAuth([cloudAuth, existingAuth])\n }\n `;\n}\n","import os from 'os';\n\nexport const LOCAL = process.env.LOCAL === 'true';\nexport const TEAM_ID: string = process.env.TEAM_ID ?? '';\nexport const PROJECT_ID: string = process.env.PROJECT_ID ?? '';\nexport const BUILD_ID: string = process.env.BUILD_ID ?? '';\nexport const BUILD_URL: string = process.env.BUILD_URL ?? '';\nexport const LOG_REDIS_URL: string = process.env.LOG_REDIS_URL ?? 'redis://localhost:6379';\nexport const BUSINESS_JWT_TOKEN: string = process.env.BUSINESS_JWT_TOKEN ?? '';\nexport const PLAYGROUND_JWT_TOKEN: string = process.env.PLAYGROUND_JWT_TOKEN ?? '';\nexport const USER_IP_ADDRESS: string = process.env.USER_IP_ADDRESS ?? '';\nexport const MASTRA_DIRECTORY: string = process.env.MASTRA_DIRECTORY ?? 'src/mastra';\nexport const PROJECT_ENV_VARS: Record<string, string> = safelyParseJson(process.env.PROJECT_ENV_VARS ?? '{}');\n\nexport const PROJECT_ROOT = LOCAL ? os.tmpdir() + '/project' : (process.env.PROJECT_ROOT ?? '/project');\n\nexport function safelyParseJson(json: string) {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n}\n","import type { TransformCallback } from 'stream';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { createClient } from 'redis';\nimport { BUILD_ID, LOG_REDIS_URL, PROJECT_ID, TEAM_ID } from './constants.js';\n\nconst redisClient = createClient({\n url: LOG_REDIS_URL,\n});\n\nclass RedisTransport extends LoggerTransport {\n _transform(chunk: any, _encoding: string, callback: TransformCallback): void {\n chunk = chunk.toString();\n const logKey = `builder:logs:${TEAM_ID}:${PROJECT_ID}:${BUILD_ID}`;\n const ttl = 2 * 24 * 60 * 60; // 2 days in seconds\n const logData = typeof chunk === 'string' ? chunk : JSON.stringify(chunk);\n\n // Don't block the event loop - process logs asynchronously\n process.nextTick(async () => {\n try {\n // Connect to Redis if not already connected\n if (!redisClient.isOpen) {\n await redisClient.connect().catch(err => {\n console.error('Redis connection error:', err);\n });\n }\n\n // Use pipeline to batch Redis operations\n const pipeline = redisClient.multi();\n pipeline.rPush(logKey, logData);\n pipeline.expire(logKey, ttl);\n await pipeline.exec();\n } catch (err) {\n console.error('Redis logging error:', err);\n }\n });\n\n // Immediately pass through the chunk without waiting\n callback(null, chunk);\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null | undefined) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n async _flush(): Promise<void> {\n // // Ensure the pipeline is closed and flushed\n // redisClient.quit().catch(err => {\n // console.error('Redis connection error:', err);\n // });\n // callback();\n await new Promise(resolve => setTimeout(resolve, 10));\n }\n\n async _destroy(err: Error, cb: Function) {\n await closeLogger();\n cb(err);\n }\n\n getLogs(_args: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n\n getLogsByRunId(_args?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n return Promise.resolve({\n logs: [],\n total: 0,\n page: _args?.page ?? 1,\n perPage: _args?.perPage ?? 100,\n hasMore: false,\n });\n }\n}\n\nexport const transport = new RedisTransport();\n\nexport const closeLogger = async () => {\n if (redisClient.isOpen) {\n setTimeout(async () => {\n await redisClient.quit();\n }, 10);\n }\n};\n\nexport const logger = new PinoLogger({\n level: 'info',\n transports: {\n redis: transport,\n },\n});\n","import { Transform } from 'stream';\nimport { execa } from 'execa';\nimport { PROJECT_ENV_VARS, PROJECT_ROOT } from './constants.js';\nimport { logger } from './logger.js';\n\nexport const createPinoStream = () => {\n return new Transform({\n transform(chunk, encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n // Log each line through Pino\n logger.info(line);\n }\n\n // Pass through the original data\n callback(null, chunk);\n },\n });\n};\n\nexport async function runWithExeca({\n cmd,\n args,\n cwd = process.cwd(),\n env = PROJECT_ENV_VARS,\n}: {\n cmd: string;\n args: string[];\n cwd?: string;\n env?: Record<string, string>;\n}): Promise<{ stdout?: string; stderr?: string; success: boolean; error?: Error }> {\n const pinoStream = createPinoStream();\n\n try {\n const subprocess = execa(cmd, args, {\n cwd,\n env: {\n ...process.env,\n ...env,\n },\n });\n\n // Pipe stdout and stderr through the Pino stream\n subprocess.stdout?.pipe(pinoStream);\n subprocess.stderr?.pipe(pinoStream);\n\n const { stdout, stderr, exitCode } = await subprocess;\n return { stdout, stderr, success: exitCode === 0 };\n } catch (error) {\n logger.error(`Process failed: ${error}`);\n return { success: false, error: error instanceof Error ? error : new Error(String(error)) };\n }\n}\n\nexport function runWithChildProcess(cmd: string, args: string[]): { stdout?: string; stderr?: string } {\n const pinoStream = createPinoStream();\n\n try {\n const { stdout, stderr } = require('child_process').spawnSync(cmd, args, {\n cwd: PROJECT_ROOT,\n encoding: 'utf8',\n shell: true,\n env: {\n ...process.env,\n ...PROJECT_ENV_VARS,\n },\n maxBuffer: 1024 * 1024 * 10, // 10MB buffer\n });\n\n if (stdout) {\n pinoStream.write(stdout);\n }\n if (stderr) {\n pinoStream.write(stderr);\n }\n\n pinoStream.end();\n return { stdout, stderr };\n } catch (error) {\n logger.error('Process failed' + error);\n pinoStream.end();\n return {};\n }\n}\n","import * as fs from 'fs';\nimport { join, resolve } from 'path';\n\nimport { MastraError } from '@mastra/core/error';\nimport { runWithExeca } from './execa.js';\nimport { logger } from './logger.js';\n\nconst MEMOIZED = new Map();\n\nfunction findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(join(dir, file))) {\n return file;\n }\n }\n const parentDir = resolve(dir, '..');\n if (parentDir !== dir) {\n return findLockFile(parentDir);\n }\n return null;\n}\n\nexport function detectPm({ path }: { path: string }): string {\n const cached = MEMOIZED.get(path);\n if (cached) {\n return cached;\n }\n\n const lockFile = findLockFile(path);\n let pm: string = 'npm';\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n pm = 'pnpm';\n break;\n case 'package-lock.json':\n pm = 'npm';\n break;\n case 'yarn.lock':\n pm = 'yarn';\n break;\n case 'bun.lock':\n pm = 'bun';\n break;\n default:\n pm = 'npm';\n }\n\n MEMOIZED.set(path, pm);\n return pm;\n}\n\nexport async function installNodeVersion({ path }: { path: string }) {\n let nvmrcExists = false;\n let nodeVersionExists = false;\n\n try {\n fs.accessSync(join(path, '.nvmrc'));\n nvmrcExists = true;\n } catch {\n // File does not exist\n }\n\n try {\n fs.accessSync(join(path, '.node-version'));\n nodeVersionExists = true;\n } catch {\n // File does not exist\n }\n\n if (nvmrcExists || nodeVersionExists) {\n logger.info('Node version file found, installing specified Node.js version...');\n const { success, error } = await runWithExeca({\n cmd: 'n',\n args: ['auto'],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'NODE_FAIL_INSTALL_SPECIFIED_VERSION',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n }\n}\n\nexport async function installDeps({ path, pm }: { path: string; pm?: string }) {\n pm = pm ?? detectPm({ path });\n logger.info(`Installing dependencies with ${pm} in ${path}`);\n const args = ['install'];\n const { success, error } = await runWithExeca({ cmd: pm, args, cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_INSTALL_DEPS',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runInstallCommand({ path, installCommand }: { path: string; installCommand: string }) {\n logger.info(`Running install command ${installCommand} in workspace with ${path}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', installCommand], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_CUSTOM_INSTALL_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runScript({ scriptName, path, args }: { scriptName: string; path: string; args?: string[] }) {\n const pm = detectPm({ path });\n logger.info(`Running script ${scriptName} in workspace with ${pm}`);\n const { success, error } = await runWithExeca({\n cmd: pm,\n args: pm === 'npm' ? ['run', scriptName, ...(args ?? [])] : [scriptName, ...(args ?? [])],\n cwd: path,\n });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_SCRIPT',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n\nexport async function runBuildCommand({ command, path }: { command: string; path: string }) {\n logger.info(`Running build command ${command}`);\n const { success, error } = await runWithExeca({ cmd: 'sh', args: ['-c', command], cwd: path });\n if (!success) {\n throw new MastraError(\n {\n id: 'FAIL_BUILD_COMMAND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { join } from 'path';\nimport { MastraError } from '@mastra/core/error';\nimport { FileService } from '@mastra/deployer';\n\nimport { MASTRA_DIRECTORY } from './constants.js';\n\nexport function getMastraEntryFile(mastraDir: string) {\n try {\n const fileService = new FileService();\n return fileService.getFirstExistingFile([\n join(mastraDir, MASTRA_DIRECTORY, 'index.ts'),\n join(mastraDir, MASTRA_DIRECTORY, 'index.js'),\n ]);\n } catch (error) {\n throw new MastraError(\n {\n id: 'MASTRA_ENTRY_FILE_NOT_FOUND',\n category: 'USER',\n domain: 'DEPLOYER',\n },\n error,\n );\n }\n}\n","import { PROJECT_ID, BUILD_ID, BUILD_URL, USER_IP_ADDRESS } from './constants.js';\n\nexport function successEntrypoint() {\n return `\n if (process.env.CI !== 'true') {\n await fetch('${process.env.REPORTER_API_URL}', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ${process.env.REPORTER_API_URL_AUTH_TOKEN}',\n },\n body: JSON.stringify(${JSON.stringify({\n projectId: PROJECT_ID,\n buildId: BUILD_ID,\n status: 'success',\n url: BUILD_URL,\n userIpAddress: USER_IP_ADDRESS,\n })}),\n }).catch(err => {\n console.error('Failed to report build status to monitoring service', {\n error: err,\n });\n })\n }\n `;\n}\n","import { fileURLToPath } from 'node:url';\nimport { join, dirname } from 'path';\nimport { Deployer } from '@mastra/deployer';\nimport { copy, readJSON } from 'fs-extra/esm';\n\nimport { getAuthEntrypoint } from './utils/auth.js';\nimport { MASTRA_DIRECTORY, BUILD_ID, PROJECT_ID, TEAM_ID } from './utils/constants.js';\nimport { installDeps } from './utils/deps.js';\nimport { getMastraEntryFile } from './utils/file.js';\nimport { successEntrypoint } from './utils/report.js';\n\nexport class CloudDeployer extends Deployer {\n constructor() {\n super({ name: 'cloud' });\n }\n\n async deploy(_outputDirectory: string): Promise<void> {}\n async writeInstrumentationFile(outputDirectory: string) {\n const instrumentationFile = join(outputDirectory, 'instrumentation.mjs');\n const __dirname = dirname(fileURLToPath(import.meta.url));\n\n await copy(join(__dirname, '../templates', 'instrumentation-template.js'), instrumentationFile);\n }\n async writePackageJson(outputDirectory: string, dependencies: Map<string, string>) {\n const versions = (await readJSON(join(dirname(fileURLToPath(import.meta.url)), '../versions.json'))) as\n | Record<string, string>\n | undefined;\n for (const [pkgName, version] of Object.entries(versions || {})) {\n dependencies.set(pkgName, version);\n }\n\n return super.writePackageJson(outputDirectory, dependencies);\n }\n\n async lint() {}\n\n protected async installDependencies(outputDirectory: string, _rootDir = process.cwd()) {\n await installDeps({ path: join(outputDirectory, 'output'), pm: 'npm' });\n }\n\n async bundle(mastraDir: string, outputDirectory: string): Promise<void> {\n const currentCwd = process.cwd();\n process.chdir(mastraDir);\n\n const mastraEntryFile = getMastraEntryFile(mastraDir);\n\n const mastraAppDir = join(mastraDir, MASTRA_DIRECTORY);\n\n // Use the getAllToolPaths method to prepare tools paths\n const discoveredTools = this.getAllToolPaths(mastraAppDir);\n\n await this._bundle(\n this.getEntry(),\n mastraEntryFile,\n {\n outputDirectory,\n projectRoot: mastraDir,\n },\n discoveredTools,\n );\n process.chdir(currentCwd);\n }\n\n getAuthEntrypoint() {\n return getAuthEntrypoint();\n }\n\n private getEntry(): string {\n return `\nimport { createNodeServer, getToolExports } from '#server';\nimport { tools } from '#tools';\nimport { mastra } from '#mastra';\nimport { MultiLogger } from '@mastra/core/logger';\nimport { PinoLogger } from '@mastra/loggers';\nimport { HttpTransport } from '@mastra/loggers/http';\nimport { evaluate } from '@mastra/core/eval';\nimport { AvailableHooks, registerHook } from '@mastra/core/hooks';\nimport { LibSQLStore, LibSQLVector } from '@mastra/libsql';\nimport { scoreTracesWorkflow } from '@mastra/core/scores/scoreTraces';\nconst startTime = process.env.RUNNER_START_TIME ? new Date(process.env.RUNNER_START_TIME).getTime() : Date.now();\nconst createNodeServerStartTime = Date.now();\n\nconsole.log(JSON.stringify({\n message: \"Server starting\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\nconst transports = {}\nif (process.env.CI !== 'true') {\n if (process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT) {\n transports.default = new HttpTransport({\n url: process.env.BUSINESS_API_RUNNER_LOGS_ENDPOINT,\n headers: {\n Authorization: 'Bearer ' + process.env.BUSINESS_JWT_TOKEN,\n },\n });\n }\n}\n\nconst logger = new PinoLogger({\n name: 'MastraCloud',\n transports,\n level: 'debug',\n});\nconst existingLogger = mastra?.getLogger();\nconst combinedLogger = existingLogger ? new MultiLogger([logger, existingLogger]) : logger;\n\nmastra.setLogger({ logger: combinedLogger });\n\nif (process.env.MASTRA_STORAGE_URL && process.env.MASTRA_STORAGE_AUTH_TOKEN) {\n const { MastraStorage } = await import('@mastra/core/storage');\n logger.info('Using Mastra Cloud Storage: ' + process.env.MASTRA_STORAGE_URL)\n const storage = new LibSQLStore({\n url: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n const vector = new LibSQLVector({\n connectionUrl: process.env.MASTRA_STORAGE_URL,\n authToken: process.env.MASTRA_STORAGE_AUTH_TOKEN,\n })\n\n await storage.init()\n mastra?.setStorage(storage)\n\n mastra?.memory?.setStorage(storage)\n mastra?.memory?.setVector(vector)\n\n registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {\n evaluate({\n agentName,\n input,\n metric,\n output,\n runId,\n globalRunId: runId,\n instructions,\n });\n });\n registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {\n if (mastra?.storage) {\n await mastra.storage.insert({\n tableName: MastraStorage.TABLE_EVALS,\n record: {\n input: traceObject.input,\n output: traceObject.output,\n result: JSON.stringify(traceObject.result),\n agent_name: traceObject.agentName,\n metric_name: traceObject.metricName,\n instructions: traceObject.instructions,\n test_info: null,\n global_run_id: traceObject.globalRunId,\n run_id: traceObject.runId,\n created_at: new Date().toISOString(),\n },\n });\n }\n });\n} else if (mastra?.getStorage()) {\n await mastra.getStorage().init()\n}\n\nif (mastra?.getStorage()) {\n mastra.__registerInternalWorkflow(scoreTracesWorkflow);\n}\n\n${getAuthEntrypoint()}\n\nawait createNodeServer(mastra, { playground: false, swaggerUI: false, tools: getToolExports(tools) });\n\n${successEntrypoint()}\n\nconsole.log(JSON.stringify({\n message: \"Server started\",\n operation: 'builder.createNodeServer',\n operation_startTime: createNodeServerStartTime,\n operation_durationMs: Date.now() - createNodeServerStartTime,\n type: \"READINESS\",\n startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n\n\nconsole.log(JSON.stringify({\n message: \"Runner Initialized\",\n type: \"READINESS\",\n startTime,\n durationMs: Date.now() - startTime,\n metadata: {\n teamId: \"${TEAM_ID}\",\n projectId: \"${PROJECT_ID}\",\n buildId: \"${BUILD_ID}\",\n },\n}));\n`;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,WAyChC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,WAuChC"}
@@ -7,7 +7,7 @@ declare class RedisTransport extends LoggerTransport {
7
7
  _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean;
8
8
  _flush(): Promise<void>;
9
9
  _destroy(err: Error, cb: Function): Promise<void>;
10
- listLogs(_args: {
10
+ getLogs(_args: {
11
11
  fromDate?: Date;
12
12
  toDate?: Date;
13
13
  logLevel?: LogLevel;
@@ -22,7 +22,7 @@ declare class RedisTransport extends LoggerTransport {
22
22
  perPage: number;
23
23
  hasMore: boolean;
24
24
  }>;
25
- listLogsByRunId(_args?: {
25
+ getLogsByRunId(_args?: {
26
26
  fromDate?: Date;
27
27
  toDate?: Date;
28
28
  logLevel?: LogLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,cAAM,cAAe,SAAQ,eAAe;IAC1C,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IA8B5E,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO;IAYnF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ;IAKvC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAUvG,eAAe,CAAC,KAAK,CAAC,EAAE;QACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CASH;AAED,eAAO,MAAM,SAAS,gBAAuB,CAAC;AAE9C,eAAO,MAAM,WAAW,qBAMvB,CAAC;AAEF,eAAO,MAAM,MAAM,YAKjB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,cAAM,cAAe,SAAQ,eAAe;IAC1C,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IA8B5E,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO;IAYnF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ;IAKvC,OAAO,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAUvG,cAAc,CAAC,KAAK,CAAC,EAAE;QACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CASH;AAED,eAAO,MAAM,SAAS,gBAAuB,CAAC;AAE9C,eAAO,MAAM,WAAW,qBAMvB,CAAC;AAEF,eAAO,MAAM,MAAM,YAKjB,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@mastra/deployer-cloud",
3
- "version": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939",
3
+ "version": "0.0.0-fix-backport-setserver-20251201151948",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
8
8
  "CHANGELOG.md",
9
+ "templates",
9
10
  "versions.json"
10
11
  ],
11
12
  "main": "dist/index.js",
@@ -28,27 +29,24 @@
28
29
  "dependencies": {
29
30
  "execa": "^9.6.0",
30
31
  "fs-extra": "^11.3.2",
31
- "pino": "^10.1.0",
32
+ "pino": "^9.7.0",
32
33
  "redis": "^5.8.3",
33
- "@mastra/deployer": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939",
34
- "@mastra/loggers": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939"
34
+ "@mastra/deployer": "0.0.0-fix-backport-setserver-20251201151948",
35
+ "@mastra/loggers": "0.0.0-fix-backport-setserver-20251201151948"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@manypkg/get-packages": "^3.1.0",
38
39
  "@types/fs-extra": "^11.0.4",
39
- "@types/node": "22.13.17",
40
- "@vitest/coverage-v8": "4.0.12",
41
- "@vitest/ui": "4.0.12",
40
+ "@types/node": "^20.19.0",
42
41
  "eslint": "^9.37.0",
43
42
  "tsup": "^8.5.0",
44
43
  "typescript": "^5.8.3",
45
- "vitest": "4.0.12",
46
- "@internal/lint": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939",
47
- "@internal/types-builder": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939",
48
- "@mastra/core": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939"
44
+ "vitest": "^3.2.4",
45
+ "@internal/types-builder": "0.0.0-fix-backport-setserver-20251201151948",
46
+ "@internal/lint": "0.0.0-fix-backport-setserver-20251201151948"
49
47
  },
50
48
  "peerDependencies": {
51
- "@mastra/core": "0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939"
49
+ "@mastra/core": "0.22.0"
52
50
  },
53
51
  "repository": {
54
52
  "type": "git",
@@ -59,8 +57,12 @@
59
57
  "url": "https://github.com/mastra-ai/mastra/issues"
60
58
  },
61
59
  "homepage": "https://mastra.ai",
62
- "engines": {
63
- "node": ">=22.13.0"
60
+ "publishConfig": {
61
+ "access": "public",
62
+ "publish-branch": [
63
+ "main",
64
+ "0.x"
65
+ ]
64
66
  },
65
67
  "scripts": {
66
68
  "build": "tsup --silent --config tsup.config.ts",
@@ -0,0 +1,69 @@
1
+ import { MastraCloudExporter } from '@mastra/cloud';
2
+ import {
3
+ NodeSDK,
4
+ getNodeAutoInstrumentations,
5
+ ATTR_SERVICE_NAME,
6
+ resourceFromAttributes,
7
+ ParentBasedSampler,
8
+ TraceIdRatioBasedSampler,
9
+ AlwaysOnSampler,
10
+ AlwaysOffSampler,
11
+ OTLPHttpExporter,
12
+ } from '@mastra/core/telemetry/otel-vendor';
13
+
14
+ import { telemetry } from './telemetry-config.mjs';
15
+
16
+ function getSampler(config) {
17
+ if (!config.sampling) {
18
+ return new AlwaysOnSampler();
19
+ }
20
+
21
+ if (!config.enabled) {
22
+ return new AlwaysOffSampler();
23
+ }
24
+
25
+ switch (config.sampling.type) {
26
+ case 'ratio':
27
+ return new TraceIdRatioBasedSampler(config.sampling.probability);
28
+ case 'always_on':
29
+ return new AlwaysOnSampler();
30
+ case 'always_off':
31
+ return new AlwaysOffSampler();
32
+ case 'parent_based':
33
+ const rootSampler = new TraceIdRatioBasedSampler(config.sampling.root?.probability || 1.0);
34
+ return new ParentBasedSampler({ root: rootSampler });
35
+ default:
36
+ return new AlwaysOnSampler();
37
+ }
38
+ }
39
+
40
+ async function getExporter(config) {
41
+ if (config.export?.type === 'otlp') {
42
+ return new OTLPHttpExporter({
43
+ url: config.export.endpoint,
44
+ headers: config.export.headers,
45
+ });
46
+ } else if (config.export?.type === 'custom') {
47
+ return config.export.exporter;
48
+ } else {
49
+ console.info('Using default Mastra Cloud Exporter');
50
+ return new MastraCloudExporter({
51
+ endpoint: process.env.BUSINESS_API_TRACE_ENDPOINT,
52
+ accessToken: process.env.BUSINESS_JWT_TOKEN,
53
+ });
54
+ }
55
+ }
56
+
57
+ const sampler = getSampler(telemetry);
58
+ const exporter = await getExporter(telemetry);
59
+
60
+ const sdk = new NodeSDK({
61
+ resource: resourceFromAttributes({
62
+ [ATTR_SERVICE_NAME]: telemetry.serviceName || 'default-service',
63
+ }),
64
+ sampler,
65
+ traceExporter: exporter,
66
+ instrumentations: [getNodeAutoInstrumentations()],
67
+ });
68
+
69
+ sdk.start();
package/versions.json CHANGED
@@ -1 +1 @@
1
- {"@mastra/loggers":"0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939","@mastra/libsql":"0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939"}
1
+ {"@mastra/cloud":"0.0.0-fix-backport-setserver-20251201151948","@mastra/loggers":"0.0.0-fix-backport-setserver-20251201151948","@mastra/libsql":"0.0.0-fix-backport-setserver-20251201151948"}