@mastra/observability 0.0.0-main-test-05-11-2025-2-20251106022801 → 0.0.0-main-test-05-11-2025-2-20251106025330
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 +4 -2
- package/dist/config.d.ts +268 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/default.d.ts.map +1 -1
- package/dist/index.cjs +98 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +95 -8
- package/dist/index.js.map +1 -1
- package/package.json +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mastra/observability
|
|
2
2
|
|
|
3
|
-
## 0.0.0-main-test-05-11-2025-2-
|
|
3
|
+
## 0.0.0-main-test-05-11-2025-2-20251106025330
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
@@ -48,8 +48,10 @@
|
|
|
48
48
|
|
|
49
49
|
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
50
50
|
|
|
51
|
+
- moved observability config to zod to provide better validation ([#9783](https://github.com/mastra-ai/mastra/pull/9783))
|
|
52
|
+
|
|
51
53
|
- Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`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), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
52
|
-
- @mastra/core@0.0.0-main-test-05-11-2025-2-
|
|
54
|
+
- @mastra/core@0.0.0-main-test-05-11-2025-2-20251106025330
|
|
53
55
|
|
|
54
56
|
## 0.0.2
|
|
55
57
|
|
package/dist/config.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { RequestContext } from '@mastra/core/di';
|
|
8
8
|
import type { ObservabilityInstance, ObservabilityExporter, SpanOutputProcessor, ConfigSelector } from '@mastra/core/observability';
|
|
9
|
+
import { z } from 'zod';
|
|
9
10
|
/**
|
|
10
11
|
* Sampling strategy types
|
|
11
12
|
*/
|
|
@@ -72,4 +73,271 @@ export interface ObservabilityRegistryConfig {
|
|
|
72
73
|
/** Optional selector function to choose which tracing instance to use */
|
|
73
74
|
configSelector?: ConfigSelector;
|
|
74
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Zod schema for SamplingStrategy
|
|
78
|
+
*/
|
|
79
|
+
export declare const samplingStrategySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
80
|
+
type: z.ZodLiteral<SamplingStrategyType.ALWAYS>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
type: SamplingStrategyType.ALWAYS;
|
|
83
|
+
}, {
|
|
84
|
+
type: SamplingStrategyType.ALWAYS;
|
|
85
|
+
}>, z.ZodObject<{
|
|
86
|
+
type: z.ZodLiteral<SamplingStrategyType.NEVER>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
type: SamplingStrategyType.NEVER;
|
|
89
|
+
}, {
|
|
90
|
+
type: SamplingStrategyType.NEVER;
|
|
91
|
+
}>, z.ZodObject<{
|
|
92
|
+
type: z.ZodLiteral<SamplingStrategyType.RATIO>;
|
|
93
|
+
probability: z.ZodNumber;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
type: SamplingStrategyType.RATIO;
|
|
96
|
+
probability: number;
|
|
97
|
+
}, {
|
|
98
|
+
type: SamplingStrategyType.RATIO;
|
|
99
|
+
probability: number;
|
|
100
|
+
}>, z.ZodObject<{
|
|
101
|
+
type: z.ZodLiteral<SamplingStrategyType.CUSTOM>;
|
|
102
|
+
sampler: z.ZodFunction<z.ZodTuple<[z.ZodOptional<z.ZodAny>], z.ZodUnknown>, z.ZodBoolean>;
|
|
103
|
+
}, "strip", z.ZodTypeAny, {
|
|
104
|
+
type: SamplingStrategyType.CUSTOM;
|
|
105
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
106
|
+
}, {
|
|
107
|
+
type: SamplingStrategyType.CUSTOM;
|
|
108
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
109
|
+
}>]>;
|
|
110
|
+
/**
|
|
111
|
+
* Zod schema for ObservabilityInstanceConfig
|
|
112
|
+
* Note: exporters, spanOutputProcessors, and configSelector are validated as any
|
|
113
|
+
* since they're complex runtime objects
|
|
114
|
+
*/
|
|
115
|
+
export declare const observabilityInstanceConfigSchema: z.ZodObject<{
|
|
116
|
+
name: z.ZodString;
|
|
117
|
+
serviceName: z.ZodString;
|
|
118
|
+
sampling: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
119
|
+
type: z.ZodLiteral<SamplingStrategyType.ALWAYS>;
|
|
120
|
+
}, "strip", z.ZodTypeAny, {
|
|
121
|
+
type: SamplingStrategyType.ALWAYS;
|
|
122
|
+
}, {
|
|
123
|
+
type: SamplingStrategyType.ALWAYS;
|
|
124
|
+
}>, z.ZodObject<{
|
|
125
|
+
type: z.ZodLiteral<SamplingStrategyType.NEVER>;
|
|
126
|
+
}, "strip", z.ZodTypeAny, {
|
|
127
|
+
type: SamplingStrategyType.NEVER;
|
|
128
|
+
}, {
|
|
129
|
+
type: SamplingStrategyType.NEVER;
|
|
130
|
+
}>, z.ZodObject<{
|
|
131
|
+
type: z.ZodLiteral<SamplingStrategyType.RATIO>;
|
|
132
|
+
probability: z.ZodNumber;
|
|
133
|
+
}, "strip", z.ZodTypeAny, {
|
|
134
|
+
type: SamplingStrategyType.RATIO;
|
|
135
|
+
probability: number;
|
|
136
|
+
}, {
|
|
137
|
+
type: SamplingStrategyType.RATIO;
|
|
138
|
+
probability: number;
|
|
139
|
+
}>, z.ZodObject<{
|
|
140
|
+
type: z.ZodLiteral<SamplingStrategyType.CUSTOM>;
|
|
141
|
+
sampler: z.ZodFunction<z.ZodTuple<[z.ZodOptional<z.ZodAny>], z.ZodUnknown>, z.ZodBoolean>;
|
|
142
|
+
}, "strip", z.ZodTypeAny, {
|
|
143
|
+
type: SamplingStrategyType.CUSTOM;
|
|
144
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
145
|
+
}, {
|
|
146
|
+
type: SamplingStrategyType.CUSTOM;
|
|
147
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
148
|
+
}>]>>;
|
|
149
|
+
exporters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
|
|
150
|
+
spanOutputProcessors: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
|
|
151
|
+
includeInternalSpans: z.ZodOptional<z.ZodBoolean>;
|
|
152
|
+
requestContextKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
153
|
+
}, "strip", z.ZodTypeAny, {
|
|
154
|
+
name: string;
|
|
155
|
+
serviceName: string;
|
|
156
|
+
sampling?: {
|
|
157
|
+
type: SamplingStrategyType.ALWAYS;
|
|
158
|
+
} | {
|
|
159
|
+
type: SamplingStrategyType.NEVER;
|
|
160
|
+
} | {
|
|
161
|
+
type: SamplingStrategyType.RATIO;
|
|
162
|
+
probability: number;
|
|
163
|
+
} | {
|
|
164
|
+
type: SamplingStrategyType.CUSTOM;
|
|
165
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
166
|
+
} | undefined;
|
|
167
|
+
exporters?: any[] | undefined;
|
|
168
|
+
spanOutputProcessors?: any[] | undefined;
|
|
169
|
+
includeInternalSpans?: boolean | undefined;
|
|
170
|
+
requestContextKeys?: string[] | undefined;
|
|
171
|
+
}, {
|
|
172
|
+
name: string;
|
|
173
|
+
serviceName: string;
|
|
174
|
+
sampling?: {
|
|
175
|
+
type: SamplingStrategyType.ALWAYS;
|
|
176
|
+
} | {
|
|
177
|
+
type: SamplingStrategyType.NEVER;
|
|
178
|
+
} | {
|
|
179
|
+
type: SamplingStrategyType.RATIO;
|
|
180
|
+
probability: number;
|
|
181
|
+
} | {
|
|
182
|
+
type: SamplingStrategyType.CUSTOM;
|
|
183
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
184
|
+
} | undefined;
|
|
185
|
+
exporters?: any[] | undefined;
|
|
186
|
+
spanOutputProcessors?: any[] | undefined;
|
|
187
|
+
includeInternalSpans?: boolean | undefined;
|
|
188
|
+
requestContextKeys?: string[] | undefined;
|
|
189
|
+
}>;
|
|
190
|
+
/**
|
|
191
|
+
* Zod schema for config values in the configs map
|
|
192
|
+
* This is the config object without the name field
|
|
193
|
+
*/
|
|
194
|
+
export declare const observabilityConfigValueSchema: z.ZodObject<{
|
|
195
|
+
serviceName: z.ZodString;
|
|
196
|
+
sampling: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
197
|
+
type: z.ZodLiteral<SamplingStrategyType.ALWAYS>;
|
|
198
|
+
}, "strip", z.ZodTypeAny, {
|
|
199
|
+
type: SamplingStrategyType.ALWAYS;
|
|
200
|
+
}, {
|
|
201
|
+
type: SamplingStrategyType.ALWAYS;
|
|
202
|
+
}>, z.ZodObject<{
|
|
203
|
+
type: z.ZodLiteral<SamplingStrategyType.NEVER>;
|
|
204
|
+
}, "strip", z.ZodTypeAny, {
|
|
205
|
+
type: SamplingStrategyType.NEVER;
|
|
206
|
+
}, {
|
|
207
|
+
type: SamplingStrategyType.NEVER;
|
|
208
|
+
}>, z.ZodObject<{
|
|
209
|
+
type: z.ZodLiteral<SamplingStrategyType.RATIO>;
|
|
210
|
+
probability: z.ZodNumber;
|
|
211
|
+
}, "strip", z.ZodTypeAny, {
|
|
212
|
+
type: SamplingStrategyType.RATIO;
|
|
213
|
+
probability: number;
|
|
214
|
+
}, {
|
|
215
|
+
type: SamplingStrategyType.RATIO;
|
|
216
|
+
probability: number;
|
|
217
|
+
}>, z.ZodObject<{
|
|
218
|
+
type: z.ZodLiteral<SamplingStrategyType.CUSTOM>;
|
|
219
|
+
sampler: z.ZodFunction<z.ZodTuple<[z.ZodOptional<z.ZodAny>], z.ZodUnknown>, z.ZodBoolean>;
|
|
220
|
+
}, "strip", z.ZodTypeAny, {
|
|
221
|
+
type: SamplingStrategyType.CUSTOM;
|
|
222
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
223
|
+
}, {
|
|
224
|
+
type: SamplingStrategyType.CUSTOM;
|
|
225
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
226
|
+
}>]>>;
|
|
227
|
+
exporters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
|
|
228
|
+
spanOutputProcessors: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
|
|
229
|
+
includeInternalSpans: z.ZodOptional<z.ZodBoolean>;
|
|
230
|
+
requestContextKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
231
|
+
}, "strip", z.ZodTypeAny, {
|
|
232
|
+
serviceName: string;
|
|
233
|
+
sampling?: {
|
|
234
|
+
type: SamplingStrategyType.ALWAYS;
|
|
235
|
+
} | {
|
|
236
|
+
type: SamplingStrategyType.NEVER;
|
|
237
|
+
} | {
|
|
238
|
+
type: SamplingStrategyType.RATIO;
|
|
239
|
+
probability: number;
|
|
240
|
+
} | {
|
|
241
|
+
type: SamplingStrategyType.CUSTOM;
|
|
242
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
243
|
+
} | undefined;
|
|
244
|
+
exporters?: any[] | undefined;
|
|
245
|
+
spanOutputProcessors?: any[] | undefined;
|
|
246
|
+
includeInternalSpans?: boolean | undefined;
|
|
247
|
+
requestContextKeys?: string[] | undefined;
|
|
248
|
+
}, {
|
|
249
|
+
serviceName: string;
|
|
250
|
+
sampling?: {
|
|
251
|
+
type: SamplingStrategyType.ALWAYS;
|
|
252
|
+
} | {
|
|
253
|
+
type: SamplingStrategyType.NEVER;
|
|
254
|
+
} | {
|
|
255
|
+
type: SamplingStrategyType.RATIO;
|
|
256
|
+
probability: number;
|
|
257
|
+
} | {
|
|
258
|
+
type: SamplingStrategyType.CUSTOM;
|
|
259
|
+
sampler: (args_0: any, ...args: unknown[]) => boolean;
|
|
260
|
+
} | undefined;
|
|
261
|
+
exporters?: any[] | undefined;
|
|
262
|
+
spanOutputProcessors?: any[] | undefined;
|
|
263
|
+
includeInternalSpans?: boolean | undefined;
|
|
264
|
+
requestContextKeys?: string[] | undefined;
|
|
265
|
+
}>;
|
|
266
|
+
/**
|
|
267
|
+
* Zod schema for ObservabilityRegistryConfig
|
|
268
|
+
* Note: Individual configs are validated separately in the constructor to allow for
|
|
269
|
+
* both plain config objects and pre-instantiated ObservabilityInstance objects.
|
|
270
|
+
* The schema is permissive to handle edge cases gracefully (arrays, null values).
|
|
271
|
+
*/
|
|
272
|
+
export declare const observabilityRegistryConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
273
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
274
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
275
|
+
}, "strip", z.ZodTypeAny, {
|
|
276
|
+
enabled?: boolean | undefined;
|
|
277
|
+
}, {
|
|
278
|
+
enabled?: boolean | undefined;
|
|
279
|
+
}>>>;
|
|
280
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
281
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
282
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
283
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
284
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
285
|
+
}, "strip", z.ZodTypeAny, {
|
|
286
|
+
enabled?: boolean | undefined;
|
|
287
|
+
}, {
|
|
288
|
+
enabled?: boolean | undefined;
|
|
289
|
+
}>>>;
|
|
290
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
291
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
292
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
293
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
294
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
295
|
+
}, "strip", z.ZodTypeAny, {
|
|
296
|
+
enabled?: boolean | undefined;
|
|
297
|
+
}, {
|
|
298
|
+
enabled?: boolean | undefined;
|
|
299
|
+
}>>>;
|
|
300
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
301
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
302
|
+
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
303
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
304
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
305
|
+
}, "strip", z.ZodTypeAny, {
|
|
306
|
+
enabled?: boolean | undefined;
|
|
307
|
+
}, {
|
|
308
|
+
enabled?: boolean | undefined;
|
|
309
|
+
}>>>;
|
|
310
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
311
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
312
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
313
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
314
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
315
|
+
}, "strip", z.ZodTypeAny, {
|
|
316
|
+
enabled?: boolean | undefined;
|
|
317
|
+
}, {
|
|
318
|
+
enabled?: boolean | undefined;
|
|
319
|
+
}>>>;
|
|
320
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
321
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
322
|
+
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
323
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
324
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
325
|
+
}, "strip", z.ZodTypeAny, {
|
|
326
|
+
enabled?: boolean | undefined;
|
|
327
|
+
}, {
|
|
328
|
+
enabled?: boolean | undefined;
|
|
329
|
+
}>>>;
|
|
330
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
331
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
332
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
333
|
+
default: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
334
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
335
|
+
}, "strip", z.ZodTypeAny, {
|
|
336
|
+
enabled?: boolean | undefined;
|
|
337
|
+
}, {
|
|
338
|
+
enabled?: boolean | undefined;
|
|
339
|
+
}>>>;
|
|
340
|
+
configs: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNull]>>;
|
|
341
|
+
configSelector: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
342
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
75
343
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAA;CAAE,CAAC;AAMhG;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,uBAAuB;IACvB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACpC,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qFAAqF;IACrF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAC5F,yEAAyE;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAMD;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ5C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOzC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiD3C,CAAC"}
|
package/dist/default.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAA+B,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAezF,qBAAa,aAAc,SAAQ,UAAW,YAAW,uBAAuB;;gBAGlE,MAAM,EAAE,2BAA2B;IAsF/C,gBAAgB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuBnD,SAAS,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI;IAOnD,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,SAAS;IAItF;;OAEG;IAEH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAIxF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI5D,kBAAkB,IAAI,qBAAqB,GAAG,SAAS;IAIvD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAI3D,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIjD,KAAK,IAAI,IAAI;IAIP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var base = require('@mastra/core/base');
|
|
4
|
-
var logger = require('@mastra/core/logger');
|
|
5
4
|
var error = require('@mastra/core/error');
|
|
5
|
+
var logger = require('@mastra/core/logger');
|
|
6
|
+
var zod = require('zod');
|
|
6
7
|
var observability = require('@mastra/core/observability');
|
|
7
8
|
var utils = require('@mastra/core/utils');
|
|
8
9
|
var web = require('stream/web');
|
|
9
10
|
|
|
10
11
|
// src/default.ts
|
|
11
|
-
|
|
12
|
-
// src/config.ts
|
|
13
12
|
var SamplingStrategyType = /* @__PURE__ */ ((SamplingStrategyType2) => {
|
|
14
13
|
SamplingStrategyType2["ALWAYS"] = "always";
|
|
15
14
|
SamplingStrategyType2["NEVER"] = "never";
|
|
@@ -17,6 +16,66 @@ var SamplingStrategyType = /* @__PURE__ */ ((SamplingStrategyType2) => {
|
|
|
17
16
|
SamplingStrategyType2["CUSTOM"] = "custom";
|
|
18
17
|
return SamplingStrategyType2;
|
|
19
18
|
})(SamplingStrategyType || {});
|
|
19
|
+
var samplingStrategySchema = zod.z.discriminatedUnion("type", [
|
|
20
|
+
zod.z.object({
|
|
21
|
+
type: zod.z.literal("always" /* ALWAYS */)
|
|
22
|
+
}),
|
|
23
|
+
zod.z.object({
|
|
24
|
+
type: zod.z.literal("never" /* NEVER */)
|
|
25
|
+
}),
|
|
26
|
+
zod.z.object({
|
|
27
|
+
type: zod.z.literal("ratio" /* RATIO */),
|
|
28
|
+
probability: zod.z.number().min(0, "Probability must be between 0 and 1").max(1, "Probability must be between 0 and 1")
|
|
29
|
+
}),
|
|
30
|
+
zod.z.object({
|
|
31
|
+
type: zod.z.literal("custom" /* CUSTOM */),
|
|
32
|
+
sampler: zod.z.function().args(zod.z.any().optional()).returns(zod.z.boolean())
|
|
33
|
+
})
|
|
34
|
+
]);
|
|
35
|
+
var observabilityInstanceConfigSchema = zod.z.object({
|
|
36
|
+
name: zod.z.string().min(1, "Name is required"),
|
|
37
|
+
serviceName: zod.z.string().min(1, "Service name is required"),
|
|
38
|
+
sampling: samplingStrategySchema.optional(),
|
|
39
|
+
exporters: zod.z.array(zod.z.any()).optional(),
|
|
40
|
+
spanOutputProcessors: zod.z.array(zod.z.any()).optional(),
|
|
41
|
+
includeInternalSpans: zod.z.boolean().optional(),
|
|
42
|
+
requestContextKeys: zod.z.array(zod.z.string()).optional()
|
|
43
|
+
});
|
|
44
|
+
var observabilityConfigValueSchema = zod.z.object({
|
|
45
|
+
serviceName: zod.z.string().min(1, "Service name is required"),
|
|
46
|
+
sampling: samplingStrategySchema.optional(),
|
|
47
|
+
exporters: zod.z.array(zod.z.any()).optional(),
|
|
48
|
+
spanOutputProcessors: zod.z.array(zod.z.any()).optional(),
|
|
49
|
+
includeInternalSpans: zod.z.boolean().optional(),
|
|
50
|
+
requestContextKeys: zod.z.array(zod.z.string()).optional()
|
|
51
|
+
});
|
|
52
|
+
var observabilityRegistryConfigSchema = zod.z.object({
|
|
53
|
+
default: zod.z.object({
|
|
54
|
+
enabled: zod.z.boolean().optional()
|
|
55
|
+
}).optional().nullable(),
|
|
56
|
+
configs: zod.z.union([zod.z.record(zod.z.string(), zod.z.any()), zod.z.array(zod.z.any()), zod.z.null()]).optional(),
|
|
57
|
+
configSelector: zod.z.function().optional()
|
|
58
|
+
}).passthrough().refine(
|
|
59
|
+
(data) => {
|
|
60
|
+
const isDefaultEnabled = data.default?.enabled === true;
|
|
61
|
+
const hasConfigs = data.configs && typeof data.configs === "object" && !Array.isArray(data.configs) ? Object.keys(data.configs).length > 0 : false;
|
|
62
|
+
return !(isDefaultEnabled && hasConfigs);
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
message: 'Cannot specify both "default" (when enabled) and "configs". Use either default observability or custom configs, but not both.'
|
|
66
|
+
}
|
|
67
|
+
).refine(
|
|
68
|
+
(data) => {
|
|
69
|
+
const configCount = data.configs && typeof data.configs === "object" && !Array.isArray(data.configs) ? Object.keys(data.configs).length : 0;
|
|
70
|
+
if (configCount > 1 && !data.configSelector) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
message: 'A "configSelector" function is required when multiple configs are specified to determine which config to use.'
|
|
77
|
+
}
|
|
78
|
+
);
|
|
20
79
|
var BaseExporter = class {
|
|
21
80
|
/** Mastra logger instance */
|
|
22
81
|
logger;
|
|
@@ -1996,10 +2055,38 @@ var Observability = class extends base.MastraBase {
|
|
|
1996
2055
|
if (config === void 0) {
|
|
1997
2056
|
config = {};
|
|
1998
2057
|
}
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2058
|
+
const validationResult = observabilityRegistryConfigSchema.safeParse(config);
|
|
2059
|
+
if (!validationResult.success) {
|
|
2060
|
+
const errorMessages = validationResult.error.errors.map((err) => `${err.path.join(".") || "config"}: ${err.message}`).join("; ");
|
|
2061
|
+
throw new error.MastraError({
|
|
2062
|
+
id: "OBSERVABILITY_INVALID_CONFIG",
|
|
2063
|
+
text: `Invalid observability configuration: ${errorMessages}`,
|
|
2064
|
+
domain: error.ErrorDomain.MASTRA_OBSERVABILITY,
|
|
2065
|
+
category: error.ErrorCategory.USER,
|
|
2066
|
+
details: {
|
|
2067
|
+
validationErrors: errorMessages
|
|
2068
|
+
}
|
|
2069
|
+
});
|
|
2070
|
+
}
|
|
2071
|
+
if (config.configs) {
|
|
2072
|
+
for (const [name, configValue] of Object.entries(config.configs)) {
|
|
2073
|
+
if (!isInstance(configValue)) {
|
|
2074
|
+
const configValidation = observabilityConfigValueSchema.safeParse(configValue);
|
|
2075
|
+
if (!configValidation.success) {
|
|
2076
|
+
const errorMessages = configValidation.error.errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("; ");
|
|
2077
|
+
throw new error.MastraError({
|
|
2078
|
+
id: "OBSERVABILITY_INVALID_INSTANCE_CONFIG",
|
|
2079
|
+
text: `Invalid configuration for observability instance '${name}': ${errorMessages}`,
|
|
2080
|
+
domain: error.ErrorDomain.MASTRA_OBSERVABILITY,
|
|
2081
|
+
category: error.ErrorCategory.USER,
|
|
2082
|
+
details: {
|
|
2083
|
+
instanceName: name,
|
|
2084
|
+
validationErrors: errorMessages
|
|
2085
|
+
}
|
|
2086
|
+
});
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
}
|
|
2003
2090
|
}
|
|
2004
2091
|
if (config.default?.enabled) {
|
|
2005
2092
|
const defaultInstance = new DefaultObservabilityInstance({
|
|
@@ -2098,5 +2185,9 @@ exports.Observability = Observability;
|
|
|
2098
2185
|
exports.SamplingStrategyType = SamplingStrategyType;
|
|
2099
2186
|
exports.SensitiveDataFilter = SensitiveDataFilter;
|
|
2100
2187
|
exports.deepClean = deepClean;
|
|
2188
|
+
exports.observabilityConfigValueSchema = observabilityConfigValueSchema;
|
|
2189
|
+
exports.observabilityInstanceConfigSchema = observabilityInstanceConfigSchema;
|
|
2190
|
+
exports.observabilityRegistryConfigSchema = observabilityRegistryConfigSchema;
|
|
2191
|
+
exports.samplingStrategySchema = samplingStrategySchema;
|
|
2101
2192
|
//# sourceMappingURL=index.cjs.map
|
|
2102
2193
|
//# sourceMappingURL=index.cjs.map
|