@mastra/server 1.66.0-alpha.0 → 1.66.0-alpha.2

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.
Files changed (66) hide show
  1. package/dist/_types/@internal_core/dist/storage/index.d.ts +29 -1
  2. package/dist/{api-schema-manifest-DxEVjj1H.js → api-schema-manifest-BkKHbFJi.js} +2 -2
  3. package/dist/{api-schema-manifest-DxEVjj1H.js.map → api-schema-manifest-BkKHbFJi.js.map} +1 -1
  4. package/dist/{api-schema-manifest-Dkxez6Mn.cjs → api-schema-manifest-Cpw4nIVv.cjs} +2 -2
  5. package/dist/{api-schema-manifest-Dkxez6Mn.cjs.map → api-schema-manifest-Cpw4nIVv.cjs.map} +1 -1
  6. package/dist/{datasets-D0C0V2kk.js → datasets-B4qPHzEy.js} +8 -2
  7. package/dist/datasets-B4qPHzEy.js.map +1 -0
  8. package/dist/{datasets-BVbtevHd.cjs → datasets-C-_ZWnxR.cjs} +13 -1
  9. package/dist/datasets-C-_ZWnxR.cjs.map +1 -0
  10. package/dist/{dist-CX9x93MJ.js → dist-4Qm6OSPJ.js} +58 -21
  11. package/dist/dist-4Qm6OSPJ.js.map +1 -0
  12. package/dist/{dist-BnPncT17.cjs → dist-BmrsK_KX.cjs} +58 -21
  13. package/dist/{dist-BnPncT17.cjs.map → dist-BmrsK_KX.cjs.map} +1 -1
  14. package/dist/docs/SKILL.md +1 -1
  15. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  16. package/dist/docs/references/reference-observability-tracing-trace-query.md +169 -9
  17. package/dist/{observability-new-endpoints-DF85EOQS.cjs → observability-new-endpoints-BNPjbEXf.cjs} +53 -1
  18. package/dist/observability-new-endpoints-BNPjbEXf.cjs.map +1 -0
  19. package/dist/{observability-new-endpoints-Zm5VNGIa.js → observability-new-endpoints-CSiMF_Kf.js} +42 -2
  20. package/dist/observability-new-endpoints-CSiMF_Kf.js.map +1 -0
  21. package/dist/{routes-DD3joMdw.js → routes-DCwOOz84.js} +4 -2
  22. package/dist/routes-DCwOOz84.js.map +1 -0
  23. package/dist/{routes-KL4Vw4qy.cjs → routes-Dgd2S9av.cjs} +4 -2
  24. package/dist/routes-Dgd2S9av.cjs.map +1 -0
  25. package/dist/server/handlers/agent-builder.cjs +1 -1
  26. package/dist/server/handlers/agent-builder.js +1 -1
  27. package/dist/server/handlers/datasets.cjs +5 -4
  28. package/dist/server/handlers/datasets.cjs.map +1 -1
  29. package/dist/server/handlers/datasets.d.ts +2 -0
  30. package/dist/server/handlers/datasets.d.ts.map +1 -1
  31. package/dist/server/handlers/datasets.js +5 -4
  32. package/dist/server/handlers/datasets.js.map +1 -1
  33. package/dist/server/handlers/observability-new-endpoints.cjs +3 -1
  34. package/dist/server/handlers/observability-new-endpoints.d.ts +132 -0
  35. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  36. package/dist/server/handlers/observability-new-endpoints.js +2 -2
  37. package/dist/server/handlers/observability-shared.cjs +14 -0
  38. package/dist/server/handlers/observability-shared.cjs.map +1 -1
  39. package/dist/server/handlers/observability-shared.d.ts +14 -0
  40. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  41. package/dist/server/handlers/observability-shared.js +14 -0
  42. package/dist/server/handlers/observability-shared.js.map +1 -1
  43. package/dist/server/handlers/observability.cjs +5 -1
  44. package/dist/server/handlers/observability.cjs.map +1 -1
  45. package/dist/server/handlers/observability.js +4 -2
  46. package/dist/server/handlers/observability.js.map +1 -1
  47. package/dist/server/handlers/system.cjs +1 -1
  48. package/dist/server/handlers/system.js +1 -1
  49. package/dist/server/schemas/datasets.d.ts +5 -0
  50. package/dist/server/schemas/datasets.d.ts.map +1 -1
  51. package/dist/server/schemas/index.cjs +2 -1
  52. package/dist/server/schemas/index.js +2 -2
  53. package/dist/server/server-adapter/index.cjs +1 -1
  54. package/dist/server/server-adapter/index.js +1 -1
  55. package/dist/server/server-adapter/routes/datasets.d.ts +2 -0
  56. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  57. package/dist/server/server-adapter/routes/observability.d.ts +64 -0
  58. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  59. package/package.json +6 -6
  60. package/dist/datasets-BVbtevHd.cjs.map +0 -1
  61. package/dist/datasets-D0C0V2kk.js.map +0 -1
  62. package/dist/dist-CX9x93MJ.js.map +0 -1
  63. package/dist/observability-new-endpoints-DF85EOQS.cjs.map +0 -1
  64. package/dist/observability-new-endpoints-Zm5VNGIa.js.map +0 -1
  65. package/dist/routes-DD3joMdw.js.map +0 -1
  66. package/dist/routes-KL4Vw4qy.cjs.map +0 -1
@@ -3,7 +3,7 @@ name: mastra-server
3
3
  description: Documentation for @mastra/server. Use when working with @mastra/server APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/server"
6
- version: "1.66.0-alpha.0"
6
+ version: "1.66.0-alpha.2"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.66.0-alpha.0",
2
+ "version": "1.66.0-alpha.2",
3
3
  "package": "@mastra/server",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -24,6 +24,7 @@ const result = await mastraClient.queryTraces({
24
24
  op: 'and',
25
25
  args: [
26
26
  { op: 'eq', left: { path: 'scorerId' }, right: { literal: 'factuality' } },
27
+ { op: 'eq', left: { path: 'scorerVersion' }, right: { literal: '2.1.0' } },
27
28
  { op: 'lt', left: { path: 'score' }, right: { literal: 0.6 } },
28
29
  ],
29
30
  },
@@ -34,7 +35,7 @@ const result = await mastraClient.queryTraces({
34
35
  })
35
36
  ```
36
37
 
37
- A `some` clause matches when one related record satisfies its complete nested predicate. In this example, `scorerId` and `score` must match on the same score record. A `none` clause matches when no related record satisfies its complete nested predicate.
38
+ A `some` clause matches when one related record satisfies its complete nested predicate. In this example, `scorerId`, `scorerVersion`, and `score` must match on the same score record. A `none` clause uses anti-existence semantics: it matches when no related record satisfies its complete nested predicate. A trace with no related scores therefore matches `scores.none`.
38
39
 
39
40
  Span clauses examine the current root span and current child spans. The root `timeRange` applies only to the selected current root's `startedAt`. Related spans and scores can participate even when their own timestamps are outside that range. Related records correlate only through a matching non-null `traceId`.
40
41
 
@@ -99,17 +100,176 @@ Hono and Fastify enforce the request-body limit before JSON parsing. Express and
99
100
 
100
101
  ## Fields and operators
101
102
 
102
- | Predicate context | Fields | Operators |
103
- | ----------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
104
- | Trace | `traceId`, `threadId`, `resourceId`, `entityName`, `entityType`, `environment`, `status` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
105
- | Trace | `startedAt`, `endedAt` | `eq`, `ne`, `in`, `notIn`, `lt`, `lte`, `gt`, `gte`, `exists`, `notExists` |
106
- | Span | `spanType` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
107
- | Span | `error` | `exists`, `notExists` |
108
- | Score | `scorerId` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
109
- | Score | `score` | `eq`, `ne`, `in`, `notIn`, `lt`, `lte`, `gt`, `gte`, `exists`, `notExists` |
103
+ | Predicate context | Fields | Operators |
104
+ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
105
+ | Trace | `traceId`, `threadId`, `resourceId`, `entityName`, `entityType`, `environment`, `status` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
106
+ | Trace metadata | `metadata.<key>` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
107
+ | Trace | `startedAt`, `endedAt` | `eq`, `ne`, `in`, `notIn`, `lt`, `lte`, `gt`, `gte`, `exists`, `notExists` |
108
+ | Span | `name`, `spanType`, `model`, `provider`, `status`, `entityType`, `entityId`, `entityName`, `entityVersionId`, `parentEntityVersionId`, `rootEntityVersionId` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
109
+ | Span | `startedAt`, `endedAt`, `durationMs` | `eq`, `ne`, `in`, `notIn`, `lt`, `lte`, `gt`, `gte`, `exists`, `notExists` |
110
+ | Span | `error` | `exists`, `notExists` |
111
+ | Score | `scorerId`, `scorerVersion`, `scoreSource`, `entityVersionId`, `parentEntityVersionId`, `rootEntityVersionId` | `eq`, `ne`, `in`, `notIn`, `exists`, `notExists` |
112
+ | Score | `score`, `timestamp` | `eq`, `ne`, `in`, `notIn`, `lt`, `lte`, `gt`, `gte`, `exists`, `notExists` |
113
+ | Score | `spanId` | `exists`, `notExists` |
110
114
 
111
115
  Compose predicates with `{ op: 'and', args: [...] }`, `{ op: 'or', args: [...] }`, and `{ op: 'not', arg: ... }`. Comparison predicates place a field reference on the left and a literal on the right. Membership predicates use a field reference in `value` and a homogeneous literal array in `set`.
112
116
 
117
+ String comparisons are case-sensitive, and literals are never coerced. Canonical string fields compare exact stored values. Metadata string values are trimmed before comparison, as described below. Numeric predicates, including `score` and `durationMs`, require numbers, while timestamp predicates require ISO timestamp strings. A missing value satisfies neither positive nor ordered predicates, although it does satisfy the negative operators `ne` and `notIn`. Combine a negative predicate with `exists` when the field must also be present.
118
+
119
+ ### Filter by span properties
120
+
121
+ Every condition inside one `spans.some` or `spans.none` clause applies to the same current span. For example, this predicate finds a failed tool span whose name is `medication_lookup`; a matching name on one span and an error on another don't satisfy it:
122
+
123
+ ```typescript
124
+ const failedMedicationLookup = {
125
+ spans: {
126
+ some: {
127
+ op: 'and',
128
+ args: [
129
+ { op: 'eq', left: { path: 'name' }, right: { literal: 'medication_lookup' } },
130
+ { op: 'eq', left: { path: 'spanType' }, right: { literal: 'tool_call' } },
131
+ { op: 'exists', path: 'error' },
132
+ ],
133
+ },
134
+ },
135
+ }
136
+ ```
137
+
138
+ Use `status` for the derived `success` or `error` outcome. Use `error` when you only need to test whether error details are present.
139
+
140
+ `durationMs` is the span's elapsed time in milliseconds. Span `startedAt` and `endedAt` conditions filter related spans independently of the top-level root `timeRange`:
141
+
142
+ ```typescript
143
+ const slowModelCalls = {
144
+ spans: {
145
+ some: {
146
+ op: 'and',
147
+ args: [
148
+ { op: 'eq', left: { path: 'spanType' }, right: { literal: 'model_generation' } },
149
+ { op: 'gt', left: { path: 'durationMs' }, right: { literal: 5000 } },
150
+ {
151
+ op: 'gte',
152
+ left: { path: 'startedAt' },
153
+ right: { literal: '2026-07-15T00:00:00.000Z' },
154
+ },
155
+ ],
156
+ },
157
+ },
158
+ }
159
+ ```
160
+
161
+ `model` and `provider` read the canonical `attributes.model` and `attributes.provider` span attributes. Only stored string values are queryable; missing, null, and non-string values count as missing.
162
+
163
+ ```typescript
164
+ const selectedModel = {
165
+ spans: {
166
+ some: {
167
+ op: 'and',
168
+ args: [
169
+ {
170
+ op: 'eq',
171
+ left: { path: 'model' },
172
+ right: { literal: 'claude-sonnet-4-6' },
173
+ },
174
+ { op: 'eq', left: { path: 'provider' }, right: { literal: 'anthropic' } },
175
+ ],
176
+ },
177
+ },
178
+ }
179
+ ```
180
+
181
+ Use generic entity fields for tool and retrieval identity. The version fields let one clause qualify the same span by its entity lineage:
182
+
183
+ ```typescript
184
+ const versionedRetrieval = {
185
+ spans: {
186
+ some: {
187
+ op: 'and',
188
+ args: [
189
+ { op: 'eq', left: { path: 'entityType' }, right: { literal: 'rag_ingestion' } },
190
+ { op: 'eq', left: { path: 'entityId' }, right: { literal: 'medication-index' } },
191
+ { op: 'eq', left: { path: 'entityVersionId' }, right: { literal: 'index-v3' } },
192
+ { op: 'eq', left: { path: 'rootEntityVersionId' }, right: { literal: 'agent-v2' } },
193
+ ],
194
+ },
195
+ },
196
+ }
197
+ ```
198
+
199
+ ### Filter by score time
200
+
201
+ Score timestamps are independent of the required top-level trace `timeRange`. The top-level range selects trace candidates by trace start time. A nested `timestamp` predicate limits related score records:
202
+
203
+ ```typescript
204
+ const query = {
205
+ timeRange: {
206
+ from: '2026-08-01T00:00:00.000Z',
207
+ to: '2026-08-08T00:00:00.000Z',
208
+ },
209
+ where: {
210
+ scores: {
211
+ some: {
212
+ op: 'and',
213
+ args: [
214
+ { op: 'eq', left: { path: 'scoreSource' }, right: { literal: 'automated' } },
215
+ {
216
+ op: 'gte',
217
+ left: { path: 'timestamp' },
218
+ right: { literal: '2026-07-15T00:00:00.000Z' },
219
+ },
220
+ {
221
+ op: 'lt',
222
+ left: { path: 'timestamp' },
223
+ right: { literal: '2026-08-01T00:00:00.000Z' },
224
+ },
225
+ ],
226
+ },
227
+ },
228
+ },
229
+ }
230
+ ```
231
+
232
+ ### Filter by span anchoring
233
+
234
+ Use `spanId` only to test whether a score targets a span. The predicate doesn't join the score to a matching span predicate:
235
+
236
+ ```typescript
237
+ // At least one score targets a span.
238
+ const anchoredToSpanWhere = { scores: { some: { op: 'exists', path: 'spanId' } } }
239
+
240
+ // At least one score applies to the trace rather than a span.
241
+ const traceLevelScoreWhere = { scores: { some: { op: 'notExists', path: 'spanId' } } }
242
+ ```
243
+
244
+ The deprecated `source` field and `scorerName` aren't available as score predicate fields. Use the canonical `scoreSource` and `scorerId` fields.
245
+
246
+ ### Filter by metadata
247
+
248
+ Use `metadata.<key>` paths for custom dimensions stored on the current root span. Metadata predicates compare trimmed, non-empty string values exactly and case-sensitively. Leading and trailing whitespace in a stored string value is ignored. Values empty after trimming count as missing. Null, numeric, boolean, object, and array values also count as missing.
249
+
250
+ ```typescript
251
+ const messageTrace = {
252
+ op: 'and',
253
+ args: [
254
+ { op: 'eq', left: { path: 'metadata.messageId' }, right: { literal: 'message-123' } },
255
+ { op: 'in', value: { path: 'metadata.actorRole' }, set: ['assistant', 'tool'] },
256
+ { op: 'exists', path: 'metadata.protocolVersion' },
257
+ {
258
+ op: 'or',
259
+ args: [
260
+ { op: 'eq', left: { path: 'metadata.temporalRunId' }, right: { literal: 'run-456' } },
261
+ { op: 'eq', left: { path: 'metadata.externalTraceId' }, right: { literal: 'trace-789' } },
262
+ ],
263
+ },
264
+ { op: 'not', arg: { op: 'exists', path: 'metadata.parentMessageId' } },
265
+ ],
266
+ }
267
+ ```
268
+
269
+ The key must name one top-level property. Empty keys and nested paths are rejected. Metadata keys aren't trimmed, so leading and trailing whitespace remains part of the exact key identity. When metadata duplicates a canonical trace field, such as `resourceId`, `threadId`, or `environment`, prefer the canonical field because it uses the dedicated storage column. The `metadata.<key>` form remains available when you specifically need the value from the metadata object. Metadata and canonical values may differ.
270
+
271
+ Metadata fields aren't available for grouping or field discovery.
272
+
113
273
  ## Responses
114
274
 
115
275
  An ungrouped query returns only lightweight completed traces:
@@ -402,6 +402,15 @@ const createScoreBodySchema = zod_v4.z.object({ score: createScoreRecordSchema.o
402
402
  /** Schema for createScore operation response */
403
403
  const createScoreResponseSchema = zod_v4.z.object({ success: zod_v4.z.boolean() }).describe("Response from creating a score");
404
404
  zod_v4.z.object({ scores: zod_v4.z.array(createScoreRecordSchema) }).describe("Arguments for batch recording scores");
405
+ const DELETE_SCORES_MAX_IDS = 1e3;
406
+ /** Schema for deleteScores operation arguments */
407
+ const deleteScoresArgsSchema = zod_v4.z.object({
408
+ scoreIds: zod_v4.z.array(zod_v4.z.string()).max(DELETE_SCORES_MAX_IDS).describe(`IDs of the score events to delete (maximum ${DELETE_SCORES_MAX_IDS})`),
409
+ organizationId: organizationIdField.optional().describe("Restrict deletion to scores in this organization"),
410
+ resourceId: resourceIdField.optional().describe("Restrict deletion to scores for this resource")
411
+ }).describe("Arguments for deleting scores by id");
412
+ /** Schema for deleteScores operation response */
413
+ const deleteScoresResponseSchema = zod_v4.z.object({ success: zod_v4.z.boolean() }).describe("Response from deleting scores");
405
414
  /** Schema for filtering scores in list queries */
406
415
  const scoresFilterSchema = zod_v4.z.object({
407
416
  ...commonFilterFields,
@@ -561,6 +570,15 @@ zod_v4.z.object({
561
570
  feedbackId: zod_v4.z.string(),
562
571
  reviewStatus: feedbackReviewStatusSchema
563
572
  }).describe("Arguments for updating a feedback record's review status");
573
+ const DELETE_FEEDBACK_MAX_IDS = 1e3;
574
+ /** Schema for deleteFeedback operation arguments */
575
+ const deleteFeedbackArgsSchema = zod_v4.z.object({
576
+ feedbackIds: zod_v4.z.array(zod_v4.z.string()).max(DELETE_FEEDBACK_MAX_IDS).describe(`IDs of the feedback events to delete (maximum ${DELETE_FEEDBACK_MAX_IDS})`),
577
+ organizationId: organizationIdField.optional().describe("Restrict deletion to feedback in this organization"),
578
+ resourceId: resourceIdField.optional().describe("Restrict deletion to feedback for this resource")
579
+ }).describe("Arguments for deleting feedback by id");
580
+ /** Schema for deleteFeedback operation response */
581
+ const deleteFeedbackResponseSchema = zod_v4.z.object({ success: zod_v4.z.boolean() }).describe("Response from deleting feedback");
564
582
  /** Schema for filtering feedback in list queries */
565
583
  const feedbackFilterObjectSchema = zod_v4.z.object({
566
584
  ...commonFilterFields,
@@ -1072,6 +1090,16 @@ const CREATE_SCORE = createNewRoute(require_server_handlers_observability_shared
1072
1090
  return { success: true };
1073
1091
  }
1074
1092
  });
1093
+ const DELETE_SCORES = createNewRoute(require_server_handlers_observability_shared.NEW_ROUTE_DEFS.DELETE_SCORES, {
1094
+ bodySchema: deleteScoresArgsSchema,
1095
+ responseSchema: deleteScoresResponseSchema,
1096
+ handler: async ({ mastra, ...params }) => {
1097
+ if (!_mastra_core_features.coreFeatures.has("observability-signal-deletion")) throw new require_http_exception.HTTPException(501, { message: "Score deletion requires a newer @mastra/core with observability signal deletion support." });
1098
+ const args = require_route_builder.pickParams(deleteScoresArgsSchema, params);
1099
+ await (await require_server_handlers_observability_shared.getObservabilityStore(mastra)).deleteScores(args);
1100
+ return { success: true };
1101
+ }
1102
+ });
1075
1103
  const GET_SCORE = createNewRoute(require_server_handlers_observability_shared.NEW_ROUTE_DEFS.GET_SCORE, {
1076
1104
  pathParamSchema: zod_v4.z.object({ scoreId: zod_v4.z.string() }),
1077
1105
  responseSchema: zod_v4.z.object({ score: scoreRecordSchema.nullable() }),
@@ -1164,6 +1192,16 @@ const CREATE_FEEDBACK = createNewRoute(require_server_handlers_observability_sha
1164
1192
  return { success: true };
1165
1193
  }
1166
1194
  });
1195
+ const DELETE_FEEDBACK = createNewRoute(require_server_handlers_observability_shared.NEW_ROUTE_DEFS.DELETE_FEEDBACK, {
1196
+ bodySchema: deleteFeedbackArgsSchema,
1197
+ responseSchema: deleteFeedbackResponseSchema,
1198
+ handler: async ({ mastra, ...params }) => {
1199
+ if (!_mastra_core_features.coreFeatures.has("observability-signal-deletion")) throw new require_http_exception.HTTPException(501, { message: "Feedback deletion requires a newer @mastra/core with observability signal deletion support." });
1200
+ const args = require_route_builder.pickParams(deleteFeedbackArgsSchema, params);
1201
+ await (await require_server_handlers_observability_shared.getObservabilityStore(mastra)).deleteFeedback(args);
1202
+ return { success: true };
1203
+ }
1204
+ });
1167
1205
  const UPDATE_FEEDBACK_REVIEW_STATUS = createNewRoute(require_server_handlers_observability_shared.NEW_ROUTE_DEFS.UPDATE_FEEDBACK_REVIEW_STATUS, {
1168
1206
  pathParamSchema: zod_v4.z.object({ feedbackId: zod_v4.z.string() }),
1169
1207
  bodySchema: zod_v4.z.object({ reviewStatus: feedbackReviewStatusSchema }),
@@ -1337,6 +1375,7 @@ const NEW_ROUTES = {
1337
1375
  LIST_LOGS,
1338
1376
  LIST_SCORES,
1339
1377
  CREATE_SCORE,
1378
+ DELETE_SCORES,
1340
1379
  GET_SCORE,
1341
1380
  GET_SCORE_AGGREGATE,
1342
1381
  GET_SCORE_BREAKDOWN,
@@ -1344,6 +1383,7 @@ const NEW_ROUTES = {
1344
1383
  GET_SCORE_PERCENTILES,
1345
1384
  LIST_FEEDBACK,
1346
1385
  CREATE_FEEDBACK,
1386
+ DELETE_FEEDBACK,
1347
1387
  UPDATE_FEEDBACK_REVIEW_STATUS,
1348
1388
  GET_FEEDBACK_AGGREGATE,
1349
1389
  GET_FEEDBACK_BREAKDOWN,
@@ -1376,6 +1416,18 @@ Object.defineProperty(exports, "CREATE_SCORE", {
1376
1416
  return CREATE_SCORE;
1377
1417
  }
1378
1418
  });
1419
+ Object.defineProperty(exports, "DELETE_FEEDBACK", {
1420
+ enumerable: true,
1421
+ get: function() {
1422
+ return DELETE_FEEDBACK;
1423
+ }
1424
+ });
1425
+ Object.defineProperty(exports, "DELETE_SCORES", {
1426
+ enumerable: true,
1427
+ get: function() {
1428
+ return DELETE_SCORES;
1429
+ }
1430
+ });
1379
1431
  Object.defineProperty(exports, "GET_ENTITY_NAMES", {
1380
1432
  enumerable: true,
1381
1433
  get: function() {
@@ -1545,4 +1597,4 @@ Object.defineProperty(exports, "UPDATE_FEEDBACK_REVIEW_STATUS", {
1545
1597
  }
1546
1598
  });
1547
1599
 
1548
- //# sourceMappingURL=observability-new-endpoints-DF85EOQS.cjs.map
1600
+ //# sourceMappingURL=observability-new-endpoints-BNPjbEXf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-new-endpoints-BNPjbEXf.cjs","names":["z","listFeedbackResponseSchema","storageListFeedbackResponseSchema","z","createRoute","coreFeatures","HTTPException","handleError","z","NEW_ROUTE_DEFS","coreStorage","getObservabilityStore","createObservabilityListQuerySchema","pickParams","OBSERVABILITY_LIST_ENDPOINTS","paginationArgsSchema","obsListScoresResponseSchema","prepareAuthorEnrichment","isStudioClientTypeHeader","MASTRA_USER_KEY","wrapSchemaForQueryParams"],"sources":["../../_internal-core/dist/storage/index.js","../src/server/schemas/feedback.ts","../src/server/handlers/observability-new-endpoints.ts"],"sourcesContent":["import { z } from \"zod/v4\";\n//#region src/storage/domains/shared.ts\n/** Types of entities that can produce observability spans. */\nlet EntityType = /* @__PURE__ */ function(EntityType) {\n\t/** Agent/Model execution */\n\tEntityType[\"AGENT\"] = \"agent\";\n\t/** Scorer definition/execution */\n\tEntityType[\"SCORER\"] = \"scorer\";\n\t/** RAG ingestion pipeline execution */\n\tEntityType[\"RAG_INGESTION\"] = \"rag_ingestion\";\n\t/** Trajectory evaluation target */\n\tEntityType[\"TRAJECTORY\"] = \"trajectory\";\n\t/** Input Processor */\n\tEntityType[\"INPUT_PROCESSOR\"] = \"input_processor\";\n\t/** Input Step Processor */\n\tEntityType[\"INPUT_STEP_PROCESSOR\"] = \"input_step_processor\";\n\t/** Output Processor */\n\tEntityType[\"OUTPUT_PROCESSOR\"] = \"output_processor\";\n\t/** Output Step Processor */\n\tEntityType[\"OUTPUT_STEP_PROCESSOR\"] = \"output_step_processor\";\n\t/** Tool Result Processor */\n\tEntityType[\"TOOL_RESULT_PROCESSOR\"] = \"tool_result_processor\";\n\t/** Workflow Step */\n\tEntityType[\"WORKFLOW_STEP\"] = \"workflow_step\";\n\t/** Tool */\n\tEntityType[\"TOOL\"] = \"tool\";\n\t/** Workflow */\n\tEntityType[\"WORKFLOW_RUN\"] = \"workflow_run\";\n\t/** Memory */\n\tEntityType[\"MEMORY\"] = \"memory\";\n\treturn EntityType;\n}({});\n/**\n* Common DB fields\n*/\nconst createdAtField = z.date().describe(\"Database record creation time\");\nconst updatedAtField = z.date().describe(\"Database record last update time\");\nconst dbTimestamps = {\n\tcreatedAt: createdAtField,\n\tupdatedAt: updatedAtField.nullable()\n};\n/**\n* Pagination arguments for list queries (page and perPage only)\n* Uses z.coerce to handle string → number conversion from query params\n*/\nconst paginationArgsSchema = z.object({\n\tpage: z.coerce.number().int().min(0).optional().default(0).describe(\"Zero-indexed page number\"),\n\tperPage: z.coerce.number().int().min(1).max(100).optional().default(10).describe(\"Number of items per page\")\n}).describe(\"Pagination options for list queries\");\n/**\n* Pagination response info\n* Used across all paginated endpoints\n*/\nconst paginationInfoSchema = z.object({\n\ttotal: z.number().describe(\"Total number of items available\"),\n\tpage: z.number().describe(\"Current page\"),\n\tperPage: z.union([z.number(), z.literal(false)]).describe(\"Number of items per page, or false if pagination is disabled\"),\n\thasMore: z.boolean().describe(\"True if more pages are available\")\n});\n/** Opaque cursor used to resume incremental polling for observability list endpoints. */\nconst deltaCursorSchema = z.string().min(1).describe(\"Opaque cursor value for incremental polling\");\n/** Explicit list mode selector for observability list endpoints. */\nconst listModeSchema = z.enum([\"page\", \"delta\"]).describe(\"List mode: 'page' | 'delta', defaults to 'page' when omitted.\");\n/** Max number of updates returned from a delta poll window. */\nconst deltaLimitSchema = z.coerce.number().int().min(1).max(100).optional().describe(\"Maximum number of updates to return in one delta poll\");\n/** Default page-mode pagination used to preserve legacy list arg behavior. */\nconst defaultPaginationArgs = {\n\tpage: 0,\n\tperPage: 10\n};\n/** Default number of updates returned when delta mode does not specify a limit. */\nconst defaultDeltaLimit = 10;\n/**\n* Enforces the shared page-vs-delta parameter rules for observability list endpoints.\n* Keeps validation centralized while allowing endpoints to keep their own filters and orderBy schemas.\n*/\nfunction refineObservabilityListMode(value, ctx) {\n\tif (value.mode === \"delta\") {\n\t\tif (value.pagination !== void 0) ctx.addIssue({\n\t\t\tcode: \"custom\",\n\t\t\tpath: [\"pagination\"],\n\t\t\tmessage: \"pagination is not allowed in delta mode\"\n\t\t});\n\t\tif (value.orderBy !== void 0) ctx.addIssue({\n\t\t\tcode: \"custom\",\n\t\t\tpath: [\"orderBy\"],\n\t\t\tmessage: \"orderBy is not allowed in delta mode\"\n\t\t});\n\t\treturn;\n\t}\n\tif (value.after !== void 0) ctx.addIssue({\n\t\tcode: \"custom\",\n\t\tpath: [\"after\"],\n\t\tmessage: \"after is only allowed in delta mode\"\n\t});\n\tif (value.limit !== void 0) ctx.addIssue({\n\t\tcode: \"custom\",\n\t\tpath: [\"limit\"],\n\t\tmessage: \"limit is only allowed in delta mode\"\n\t});\n}\n/**\n* Normalizes observability list args into the legacy-friendly shape expected by existing stores.\n* Page mode remains the default, and pagination/orderBy/limit are always populated.\n*/\nfunction normalizeObservabilityListArgs(value, defaults) {\n\treturn {\n\t\tmode: value.mode === \"delta\" ? \"delta\" : \"page\",\n\t\tfilters: value.filters,\n\t\tpagination: value.pagination ?? defaults.pagination ?? defaultPaginationArgs,\n\t\torderBy: value.orderBy ?? defaults.orderBy,\n\t\tafter: value.after,\n\t\tlimit: value.limit ?? defaults.limit ?? 10\n\t};\n}\n/** Metadata returned for a delta poll window. */\nconst deltaInfoSchema = z.object({\n\tlimit: z.number().describe(\"Maximum number of updates requested for this delta poll\"),\n\thasMore: z.boolean().describe(\"True when more matching updates remain after this response\")\n}).describe(\"Incremental polling metadata\");\n/**\n* Date range for filtering by time\n* Uses z.coerce to handle ISO string → Date conversion from query params\n*/\nconst dateRangeSchema = z.object({\n\tstart: z.coerce.date().optional().describe(\"Start of date range (inclusive by default)\"),\n\tend: z.coerce.date().optional().describe(\"End of date range (inclusive by default)\"),\n\tstartExclusive: z.boolean().optional().describe(\"When true, excludes the start date from results (uses > instead of >=)\"),\n\tendExclusive: z.boolean().optional().describe(\"When true, excludes the end date from results (uses < instead of <=)\")\n}).describe(\"Date range filter for timestamps\");\nconst sortDirectionSchema = z.enum([\"ASC\", \"DESC\"]).describe(\"Sort direction: 'ASC' | 'DESC'\");\n/** Aggregation type schema shared across OLAP-style observability queries. */\nconst aggregationTypeSchema = z.enum([\n\t\"sum\",\n\t\"avg\",\n\t\"min\",\n\t\"max\",\n\t\"count\",\n\t\"count_distinct\",\n\t\"last\"\n]).describe(\"Aggregation function\");\n/** Aggregation interval schema shared across OLAP-style observability queries. */\nconst aggregationIntervalSchema = z.enum([\n\t\"1m\",\n\t\"5m\",\n\t\"15m\",\n\t\"1h\",\n\t\"1d\"\n]).describe(\"Time bucket interval\");\n/** Compare period for aggregate queries with period-over-period comparison. */\nconst comparePeriodSchema = z.enum([\n\t\"previous_period\",\n\t\"previous_day\",\n\t\"previous_week\"\n]).describe(\"Comparison period for aggregate queries\");\n/** Shared groupBy schema for OLAP-style breakdown and time-series queries. */\nconst groupBySchema = z.array(z.string()).min(1).describe(\"Fields to group by\");\n/** Shared percentiles schema for percentile queries. */\nconst percentilesSchema = z.array(z.number().min(0).max(1)).min(1).describe(\"Percentile values (0-1)\");\n/** Shared fields for aggregate OLAP responses across observability signals. */\nconst aggregateResponseFields = {\n\tvalue: z.number().nullable().describe(\"Aggregated value\"),\n\tpreviousValue: z.number().nullable().optional().describe(\"Value from comparison period\"),\n\tchangePercent: z.number().nullable().optional().describe(\"Percentage change from comparison period\")\n};\n/** Shared field for OLAP breakdown dimension values. */\nconst dimensionsField = z.record(z.string(), z.string().nullable()).describe(\"Dimension values for this group\");\n/** Shared field for non-null OLAP aggregated values. */\nconst aggregatedValueField = z.number().describe(\"Aggregated value\");\n/** Shared field for OLAP bucket timestamps. */\nconst bucketTimestampField = z.date().describe(\"Bucket timestamp\");\n/** Shared field for percentile identifiers in OLAP responses. */\nconst percentileField = z.number().describe(\"Percentile value\");\n/** Shared field for percentile values within a time bucket. */\nconst percentileBucketValueField = z.number().describe(\"Percentile value at this bucket\");\nconst entityTypeField = z.nativeEnum(EntityType).describe(`Entity type (e.g., 'agent' | 'processor' | 'tool' | 'workflow')`);\nconst entityIdField = z.string().describe(\"ID of the entity (e.g., \\\"weatherAgent\\\", \\\"orderWorkflow\\\")\");\nconst entityNameField = z.string().describe(\"Name of the entity\");\nconst userIdField = z.string().describe(\"Human end-user who triggered execution\");\nconst organizationIdField = z.string().describe(\"Multi-tenant organization/account\");\nconst resourceIdField = z.string().describe(\"Broader resource context (Mastra memory compatibility)\");\nconst runIdField = z.string().describe(\"Unique execution run identifier\");\nconst sessionIdField = z.string().describe(\"Session identifier for grouping traces\");\nconst threadIdField = z.string().describe(\"Conversation thread identifier\");\nconst requestIdField = z.string().describe(\"HTTP request ID for log correlation\");\nconst environmentField = z.string().describe(`Environment (e.g., \"production\" | \"staging\" | \"development\")`);\nconst sourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\nconst executionSourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\nconst serviceNameField = z.string().describe(\"Name of the service\");\nconst parentEntityTypeField = z.nativeEnum(EntityType).describe(\"Entity type of the parent entity\");\nconst parentEntityIdField = z.string().describe(\"ID of the parent entity\");\nconst parentEntityNameField = z.string().describe(\"Name of the parent entity\");\nconst rootEntityTypeField = z.nativeEnum(EntityType).describe(\"Entity type of the root entity\");\nconst rootEntityIdField = z.string().describe(\"ID of the root entity\");\nconst rootEntityNameField = z.string().describe(\"Name of the root entity\");\nconst entityVersionIdField = z.string().describe(\"Version ID of the entity that produced this signal (e.g., agent version, workflow version)\");\nconst parentEntityVersionIdField = z.string().describe(\"Version ID of the parent entity that produced this signal\");\nconst rootEntityVersionIdField = z.string().describe(\"Version ID of the root entity that produced this signal\");\nconst experimentIdField = z.string().describe(\"Experiment or eval run identifier\");\nconst scopeField = z.record(z.string(), z.unknown()).describe(\"Arbitrary package/app version info (e.g., {\\\"core\\\": \\\"1.0.0\\\", \\\"memory\\\": \\\"1.0.0\\\", \\\"gitSha\\\": \\\"abcd1234\\\"})\");\nconst metadataField = z.record(z.string(), z.unknown()).describe(\"User-defined metadata for custom filtering\");\nconst tagsField = z.array(z.string()).describe(\"Labels for filtering\");\n/**\n* Base context fields shared across tracing and non-tracing observability records.\n* Source/provenance is intentionally excluded because tracing uses `source`\n* while signals use `executionSource`.\n*/\nconst contextFieldsBase = {\n\tentityType: entityTypeField.nullish(),\n\tentityId: entityIdField.nullish(),\n\tentityName: entityNameField.nullish(),\n\tparentEntityType: parentEntityTypeField.nullish(),\n\tparentEntityId: parentEntityIdField.nullish(),\n\tparentEntityName: parentEntityNameField.nullish(),\n\trootEntityType: rootEntityTypeField.nullish(),\n\trootEntityId: rootEntityIdField.nullish(),\n\trootEntityName: rootEntityNameField.nullish(),\n\tuserId: userIdField.nullish(),\n\torganizationId: organizationIdField.nullish(),\n\tresourceId: resourceIdField.nullish(),\n\trunId: runIdField.nullish(),\n\tsessionId: sessionIdField.nullish(),\n\tthreadId: threadIdField.nullish(),\n\trequestId: requestIdField.nullish(),\n\tenvironment: environmentField.nullish(),\n\tserviceName: serviceNameField.nullish(),\n\tscope: scopeField.nullish(),\n\tentityVersionId: entityVersionIdField.nullish(),\n\tparentEntityVersionId: parentEntityVersionIdField.nullish(),\n\trootEntityVersionId: rootEntityVersionIdField.nullish(),\n\texperimentId: experimentIdField.nullish()\n};\n/**\n* Context fields shared across observability signals other than spans (metrics, logs, scores, feedback).\n* These use `executionSource` to avoid colliding with signal-specific provenance fields.\n*/\nconst contextFields = {\n\t...contextFieldsBase,\n\texecutionSource: executionSourceField.nullish(),\n\ttags: tagsField.nullish()\n};\n/**\n* Context fields used by tracing/span records.\n* Tracing continues to expose execution provenance as `source`.\n*/\nconst spanContextFields = {\n\t...contextFieldsBase,\n\tsource: sourceField.nullish()\n};\n/**\n* Common filter fields shared across observability signal filters (metrics, logs, scores, feedback).\n* All fields are optional — each signal extends this with signal-specific filters.\n*/\nconst commonFilterFields = {\n\ttimestamp: dateRangeSchema.optional().describe(\"Filter by timestamp range\"),\n\ttraceId: z.string().optional().describe(\"Filter by trace ID\"),\n\tspanId: z.string().optional().describe(\"Filter by span ID\"),\n\tentityType: entityTypeField.optional(),\n\tentityName: entityNameField.optional(),\n\tentityVersionId: entityVersionIdField.optional(),\n\tparentEntityVersionId: parentEntityVersionIdField.optional(),\n\trootEntityVersionId: rootEntityVersionIdField.optional(),\n\tuserId: userIdField.optional(),\n\torganizationId: organizationIdField.optional(),\n\texperimentId: experimentIdField.optional(),\n\tserviceName: serviceNameField.optional(),\n\tenvironment: environmentField.optional(),\n\tparentEntityType: parentEntityTypeField.optional(),\n\tparentEntityName: parentEntityNameField.optional(),\n\trootEntityType: rootEntityTypeField.optional(),\n\trootEntityName: rootEntityNameField.optional(),\n\tresourceId: resourceIdField.optional(),\n\trunId: runIdField.optional(),\n\tsessionId: sessionIdField.optional(),\n\tthreadId: threadIdField.optional(),\n\trequestId: requestIdField.optional(),\n\texecutionSource: executionSourceField.optional(),\n\ttags: z.array(z.string()).optional().describe(\"Filter by tags (must have all specified tags)\")\n};\n/** Zod schema for trace ID field */\nconst traceIdField = z.string().describe(\"Unique trace identifier\");\n/** Zod schema for span ID field */\nconst spanIdField = z.string().describe(\"Unique span identifier within a trace\");\n//#endregion\n//#region src/storage/domains/observability/logs.ts\n/** Log level schema for validation */\nconst logLevelSchema = z.enum([\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\"\n]);\nconst messageField = z.string().describe(\"Log message\");\nconst logDataField = z.record(z.string(), z.unknown()).describe(\"Structured data attached to the log\");\n/**\n* Schema for logs as stored in the database.\n* Includes all fields from ExportedLog plus storage-specific fields.\n*/\nconst logRecordSchema = z.object({\n\tlogId: z.string().nullish().describe(\"Unique id for this log event\"),\n\ttimestamp: z.date().describe(\"When the log was created\"),\n\tlevel: logLevelSchema.describe(\"Log severity level\"),\n\tmessage: messageField,\n\tdata: logDataField.nullish(),\n\ttraceId: traceIdField.nullish(),\n\tspanId: spanIdField.nullish(),\n\t...contextFields,\n\t/**\n\t* @deprecated Use `executionSource` instead.\n\t*/\n\tsource: z.string().nullish().describe(\"Execution source\"),\n\tmetadata: metadataField.nullish()\n}).describe(\"Log record as stored in the database\");\n/**\n* Schema for user-provided log input (minimal required fields).\n* The logger enriches this with context before emitting ExportedLog.\n*/\nconst logRecordInputSchema = z.object({\n\tlevel: logLevelSchema,\n\tmessage: messageField,\n\tdata: logDataField.optional(),\n\ttags: tagsField.optional()\n}).describe(\"User-provided log input\");\n/** Schema for creating a log record */\nconst createLogRecordSchema = logRecordSchema;\n/** Schema for batchCreateLogs operation arguments */\nconst batchCreateLogsArgsSchema = z.object({ logs: z.array(createLogRecordSchema) }).describe(\"Arguments for batch creating logs\");\n/** Schema for filtering logs in list queries */\nconst logsFilterSchema = z.object({\n\t...commonFilterFields,\n\t/**\n\t* @deprecated Use `executionSource` instead.\n\t*/\n\tsource: z.string().optional().describe(\"Filter by execution source\"),\n\tlevel: z.union([logLevelSchema, z.array(logLevelSchema)]).optional().describe(\"Filter by log level(s)\")\n}).describe(\"Filters for querying logs\");\n/** Fields available for ordering log results */\nconst logsOrderByFieldSchema = z.enum([\"timestamp\"]).describe(\"Field to order by: 'timestamp'\");\n/** Order by configuration for log queries */\nconst logsOrderBySchema = z.object({\n\tfield: logsOrderByFieldSchema.default(\"timestamp\").describe(\"Field to order by\"),\n\tdirection: sortDirectionSchema.default(\"DESC\").describe(\"Sort direction\")\n}).describe(\"Order by configuration\");\n/** Schema for listLogs operation arguments */\nconst listLogsArgsSchema = z.object({\n\tmode: listModeSchema.optional(),\n\tfilters: logsFilterSchema.optional().describe(\"Optional filters to apply\"),\n\tpagination: paginationArgsSchema.optional(),\n\torderBy: logsOrderBySchema.optional(),\n\tafter: deltaCursorSchema.optional(),\n\tlimit: deltaLimitSchema\n}).strict().superRefine(refineObservabilityListMode).transform((value) => normalizeObservabilityListArgs(value, { orderBy: {\n\tfield: \"timestamp\",\n\tdirection: \"DESC\"\n} })).describe(\"Arguments for listing logs\");\n/** Schema for listLogs operation response */\nconst listLogsResponseSchema = z.object({\n\tpagination: paginationInfoSchema.optional(),\n\tdelta: deltaInfoSchema.optional(),\n\tdeltaCursor: deltaCursorSchema.optional(),\n\tlogs: z.array(logRecordSchema)\n}).describe(\"Response from listing logs\");\n//#endregion\n//#region src/storage/domains/observability/scores.ts\nconst scorerIdField = z.string().describe(\"Identifier of the scorer (e.g., relevance, accuracy)\");\nconst scorerNameField = z.string().describe(\"Display name of the scorer\");\nconst scorerVersionField = z.string().describe(\"Version of the scorer\");\nconst scoreSourceField = z.string().describe(\"How the score was produced (e.g., manual, automated, experiment)\");\nconst scoreValueField = z.number().describe(\"Score value (range defined by scorer)\");\nconst scoreReasonField = z.string().describe(\"Explanation for the score\");\n/**\n* Schema for scores as stored in the database.\n* Includes all fields from ExportedScore plus storage-specific fields.\n*/\nconst scoreRecordSchema = z.object({\n\tscoreId: z.string().nullish().describe(\"Unique id for this score event\"),\n\ttimestamp: z.date().describe(\"When the score was recorded\"),\n\ttraceId: traceIdField.nullish().describe(\"Trace that anchors the scored target when available\"),\n\tspanId: spanIdField.nullish().describe(\"Span ID this score applies to\"),\n\tscorerId: scorerIdField,\n\tscorerName: scorerNameField.nullish(),\n\tscorerVersion: scorerVersionField.nullish(),\n\tscoreSource: scoreSourceField.nullish(),\n\t/**\n\t* @deprecated Use `scoreSource` instead.\n\t*/\n\tsource: scoreSourceField.nullish(),\n\tscore: scoreValueField,\n\treason: scoreReasonField.nullish(),\n\t...contextFields,\n\t/** Trace ID of the scoring run (links to trace that generated this score) */\n\tscoreTraceId: z.string().nullish().describe(\"Trace ID of the scoring run for debugging score generation\"),\n\tmetadata: z.record(z.string(), z.unknown()).nullish().describe(\"User-defined metadata\")\n}).describe(\"Score record as stored in the database\");\n/**\n* Schema for user-provided score input (minimal required fields).\n* The span/trace context adds traceId/spanId before emitting ExportedScore.\n*/\nconst scoreInputSchema = z.object({\n\tscorerId: scorerIdField,\n\tscorerName: scorerNameField.optional(),\n\tscorerVersion: scorerVersionField.optional(),\n\tscoreSource: scoreSourceField.optional(),\n\t/**\n\t* @deprecated Use `scoreSource` instead.\n\t*/\n\tsource: scoreSourceField.optional(),\n\tscore: scoreValueField,\n\treason: scoreReasonField.optional(),\n\tmetadata: z.record(z.string(), z.unknown()).optional().describe(\"Additional scorer-specific metadata\"),\n\texperimentId: experimentIdField.optional(),\n\tscoreTraceId: z.string().optional().describe(\"Trace ID of the scoring run for debugging score generation\"),\n\ttargetEntityType: entityTypeField.optional().describe(\"Entity type the scorer evaluated when known\")\n}).describe(\"User-provided score input\");\n/** Schema for creating a score record */\nconst createScoreRecordSchema = scoreRecordSchema;\n/** Schema for createScore operation arguments */\nconst createScoreArgsSchema = z.object({ score: createScoreRecordSchema }).describe(\"Arguments for creating a score\");\n/** Schema for createScore operation body in client/server */\nconst createScoreBodySchema = z.object({ score: createScoreRecordSchema.omit({ timestamp: true }) }).describe(\"Arguments for creating a score\");\n/** Schema for createScore operation response */\nconst createScoreResponseSchema = z.object({ success: z.boolean() }).describe(\"Response from creating a score\");\n/** Schema for batchCreateScores operation arguments */\nconst batchCreateScoresArgsSchema = z.object({ scores: z.array(createScoreRecordSchema) }).describe(\"Arguments for batch recording scores\");\nconst DELETE_SCORES_MAX_IDS = 1e3;\n/** Schema for deleteScores operation arguments */\nconst deleteScoresArgsSchema = z.object({\n\tscoreIds: z.array(z.string()).max(DELETE_SCORES_MAX_IDS).describe(`IDs of the score events to delete (maximum ${DELETE_SCORES_MAX_IDS})`),\n\torganizationId: organizationIdField.optional().describe(\"Restrict deletion to scores in this organization\"),\n\tresourceId: resourceIdField.optional().describe(\"Restrict deletion to scores for this resource\")\n}).describe(\"Arguments for deleting scores by id\");\n/** Schema for deleteScores operation response */\nconst deleteScoresResponseSchema = z.object({ success: z.boolean() }).describe(\"Response from deleting scores\");\n/** Schema for filtering scores in list queries */\nconst scoresFilterSchema = z.object({\n\t...commonFilterFields,\n\tscorerId: z.union([z.string(), z.array(z.string())]).optional().describe(\"Filter by scorer ID(s)\"),\n\tscoreSource: scoreSourceField.optional().describe(\"Filter by how the score was produced\"),\n\tmetadata: metadataField.nullish().describe(\"Filter by metadata key-value pairs (exact match per key)\"),\n\t/**\n\t* @deprecated Use `scoreSource` instead.\n\t*/\n\tsource: scoreSourceField.optional().describe(\"Filter by how the score was produced\")\n}).describe(\"Filters for querying scores\");\n/** Fields available for ordering score results */\nconst scoresOrderByFieldSchema = z.enum([\"timestamp\", \"score\"]).describe(\"Field to order by: 'timestamp' | 'score'\");\n/** Order by configuration for score queries */\nconst scoresOrderBySchema = z.object({\n\tfield: scoresOrderByFieldSchema.default(\"timestamp\").describe(\"Field to order by\"),\n\tdirection: sortDirectionSchema.default(\"DESC\").describe(\"Sort direction\")\n}).describe(\"Order by configuration\");\nconst listScoresArgsSchema = z.object({\n\tmode: listModeSchema.optional(),\n\tfilters: scoresFilterSchema.optional(),\n\tpagination: paginationArgsSchema.optional(),\n\torderBy: scoresOrderBySchema.optional(),\n\tafter: deltaCursorSchema.optional(),\n\tlimit: deltaLimitSchema\n}).strict().superRefine(refineObservabilityListMode).transform((value) => normalizeObservabilityListArgs(value, { orderBy: {\n\tfield: \"timestamp\",\n\tdirection: \"DESC\"\n} })).describe(\"Arguments for listing scores\");\n/** Schema for listScores operation response */\nconst listScoresResponseSchema = z.object({\n\tpagination: paginationInfoSchema.optional(),\n\tdelta: deltaInfoSchema.optional(),\n\tdeltaCursor: deltaCursorSchema.optional(),\n\tscores: z.array(scoreRecordSchema)\n}).describe(\"Response from listing scores\");\nconst getScoreAggregateArgsSchema = z.object({\n\tscorerId: scorerIdField,\n\tscoreSource: scoreSourceField.optional(),\n\taggregation: aggregationTypeSchema,\n\tfilters: scoresFilterSchema.optional(),\n\tcomparePeriod: comparePeriodSchema.optional()\n}).describe(\"Arguments for getting a score aggregate\");\nconst getScoreAggregateResponseSchema = z.object(aggregateResponseFields);\nconst getScoreBreakdownArgsSchema = z.object({\n\tscorerId: scorerIdField,\n\tscoreSource: scoreSourceField.optional(),\n\tgroupBy: groupBySchema,\n\taggregation: aggregationTypeSchema,\n\tfilters: scoresFilterSchema.optional()\n}).describe(\"Arguments for getting a score breakdown\");\nconst getScoreBreakdownResponseSchema = z.object({ groups: z.array(z.object({\n\tdimensions: dimensionsField,\n\tvalue: aggregatedValueField\n})) });\nconst getScoreTimeSeriesArgsSchema = z.object({\n\tscorerId: scorerIdField,\n\tscoreSource: scoreSourceField.optional(),\n\tinterval: aggregationIntervalSchema,\n\taggregation: aggregationTypeSchema,\n\tfilters: scoresFilterSchema.optional(),\n\tgroupBy: groupBySchema.optional()\n}).describe(\"Arguments for getting score time series\");\nconst getScoreTimeSeriesResponseSchema = z.object({ series: z.array(z.object({\n\tname: z.string().describe(\"Series name (scorer ID or group key)\"),\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: aggregatedValueField\n\t}))\n})) });\nconst getScorePercentilesArgsSchema = z.object({\n\tscorerId: scorerIdField,\n\tscoreSource: scoreSourceField.optional(),\n\tpercentiles: percentilesSchema,\n\tinterval: aggregationIntervalSchema,\n\tfilters: scoresFilterSchema.optional()\n}).describe(\"Arguments for getting score percentiles\");\nconst getScorePercentilesResponseSchema = z.object({ series: z.array(z.object({\n\tpercentile: percentileField,\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: percentileBucketValueField\n\t}))\n})) });\n//#endregion\n//#region src/storage/domains/observability/feedback.ts\nconst feedbackSourceField = z.string().describe(\"Source of feedback (e.g., 'user', 'system', 'manual')\");\nconst feedbackTypeField = z.string().describe(\"Type of feedback (e.g., 'thumbs', 'rating', 'correction')\");\nconst feedbackValueField = z.union([z.number(), z.string()]).describe(\"Feedback value (rating number or correction text)\");\nconst feedbackCommentField = z.string().describe(\"Additional comment or context\");\nconst feedbackUserIdField = z.string().describe(\"User who provided the feedback\");\nconst feedbackReviewStatusSchema = z.enum([\"needs-review\", \"reviewed\"]);\nfunction normalizeLegacyFeedbackActor(input) {\n\tif (!input || typeof input !== \"object\" || Array.isArray(input)) return input;\n\tconst record = { ...input };\n\tif (typeof record.userId === \"string\" && record.feedbackUserId == null) {\n\t\trecord.feedbackUserId = record.userId;\n\t\tdelete record.userId;\n\t}\n\treturn record;\n}\n/**\n* Schema for feedback as stored in the database.\n* Includes all fields from ExportedFeedback plus storage-specific fields.\n*/\nconst feedbackRecordObjectSchema = z.object({\n\tfeedbackId: z.string().nullish().describe(\"Unique id for this feedback event\"),\n\ttimestamp: z.date().describe(\"When the feedback was recorded\"),\n\ttraceId: traceIdField.nullish().describe(\"Trace that anchors the feedback target when available\"),\n\tspanId: spanIdField.nullish().describe(\"Span ID this feedback applies to\"),\n\tfeedbackSource: feedbackSourceField.nullish(),\n\t/**\n\t* @deprecated Use `feedbackSource` instead.\n\t*/\n\tsource: feedbackSourceField.nullish(),\n\tfeedbackType: feedbackTypeField,\n\tvalue: feedbackValueField,\n\tcomment: feedbackCommentField.nullish(),\n\tfeedbackUserId: feedbackUserIdField.nullish(),\n\t...contextFields,\n\tsourceId: z.string().nullish().describe(\"ID of the source record this feedback is linked to (e.g. experiment result ID)\"),\n\tmetadata: z.record(z.string(), z.unknown()).nullish().describe(\"User-defined metadata\"),\n\treviewStatus: feedbackReviewStatusSchema.describe(\"Feedback review workflow status\")\n});\n/** Feedback record fields accepted on creation: `reviewStatus` is optional and defaults to `needs-review` in storage */\nconst createFeedbackRecordObjectSchema = feedbackRecordObjectSchema.extend({ reviewStatus: feedbackReviewStatusSchema.optional().describe(\"Feedback review workflow status\") });\nconst feedbackRecordSchema = z.object(feedbackRecordObjectSchema.shape).describe(\"Feedback record as stored in the database\");\n/**\n* Schema for user-provided feedback input (minimal required fields).\n* The span/trace context adds traceId/spanId before emitting ExportedFeedback.\n*/\nconst feedbackInputObjectSchema = z.object({\n\tfeedbackSource: feedbackSourceField.optional(),\n\t/**\n\t* @deprecated Use `feedbackSource` instead.\n\t*/\n\tsource: feedbackSourceField.optional(),\n\tfeedbackType: feedbackTypeField,\n\tvalue: feedbackValueField,\n\tcomment: feedbackCommentField.optional(),\n\tfeedbackUserId: feedbackUserIdField.optional(),\n\t/**\n\t* @deprecated Use `feedbackUserId` instead.\n\t*/\n\tuserId: feedbackUserIdField.optional(),\n\tmetadata: z.record(z.string(), z.unknown()).optional().describe(\"Additional feedback-specific metadata\"),\n\texperimentId: experimentIdField.optional(),\n\tsourceId: z.string().optional().describe(\"ID of the source record this feedback is linked to\")\n});\nconst feedbackInputSchema = z.object(feedbackInputObjectSchema.shape).describe(\"User-provided feedback input\");\n/** Schema for creating a feedback record */\nconst createFeedbackRecordSchema = z.object(createFeedbackRecordObjectSchema.shape).describe(\"Feedback record accepted on creation\");\n/** Schema for createFeedback operation arguments */\nconst createFeedbackArgsSchema = z.object({ feedback: z.preprocess(normalizeLegacyFeedbackActor, createFeedbackRecordObjectSchema) }).describe(\"Arguments for creating feedback\");\n/** Schema for createFeedback operation body in client/server */\nconst createFeedbackBodySchema = z.object({ feedback: createFeedbackRecordObjectSchema.omit({ timestamp: true }) }).describe(\"Arguments for creating feedback\");\n/** Schema for createFeedback operation response */\nconst createFeedbackResponseSchema = z.object({ success: z.boolean() }).describe(\"Response from creating feedback\");\n/** Schema for batchCreateFeedback operation arguments */\nconst batchCreateFeedbackArgsSchema = z.object({ feedbacks: z.array(z.preprocess(normalizeLegacyFeedbackActor, createFeedbackRecordObjectSchema)) }).describe(\"Arguments for batch recording feedback\");\n/** Schema for updating a feedback record's review status */\nconst updateFeedbackReviewStatusArgsSchema = z.object({\n\tfeedbackId: z.string(),\n\treviewStatus: feedbackReviewStatusSchema\n}).describe(\"Arguments for updating a feedback record's review status\");\nconst DELETE_FEEDBACK_MAX_IDS = 1e3;\n/** Schema for deleteFeedback operation arguments */\nconst deleteFeedbackArgsSchema = z.object({\n\tfeedbackIds: z.array(z.string()).max(DELETE_FEEDBACK_MAX_IDS).describe(`IDs of the feedback events to delete (maximum ${DELETE_FEEDBACK_MAX_IDS})`),\n\torganizationId: organizationIdField.optional().describe(\"Restrict deletion to feedback in this organization\"),\n\tresourceId: resourceIdField.optional().describe(\"Restrict deletion to feedback for this resource\")\n}).describe(\"Arguments for deleting feedback by id\");\n/** Schema for deleteFeedback operation response */\nconst deleteFeedbackResponseSchema = z.object({ success: z.boolean() }).describe(\"Response from deleting feedback\");\n/** Schema for filtering feedback in list queries */\nconst feedbackFilterObjectSchema = z.object({\n\t...commonFilterFields,\n\tfeedbackType: z.union([z.string(), z.array(z.string())]).optional().describe(\"Filter by feedback type(s)\"),\n\tfeedbackSource: feedbackSourceField.optional(),\n\t/**\n\t* @deprecated Use `feedbackSource` instead.\n\t*/\n\tsource: feedbackSourceField.optional(),\n\tfeedbackUserId: feedbackUserIdField.optional(),\n\treviewStatus: feedbackReviewStatusSchema.optional()\n});\nconst feedbackFilterSchema = z.object(feedbackFilterObjectSchema.shape).describe(\"Filters for querying feedback\");\n/** Fields available for ordering feedback results */\nconst feedbackOrderByFieldSchema = z.enum([\"timestamp\"]).describe(\"Field to order by: 'timestamp'\");\n/** Order by configuration for feedback queries */\nconst feedbackOrderBySchema = z.object({\n\tfield: feedbackOrderByFieldSchema.default(\"timestamp\").describe(\"Field to order by\"),\n\tdirection: sortDirectionSchema.default(\"DESC\").describe(\"Sort direction\")\n}).describe(\"Order by configuration\");\nconst listFeedbackArgsSchema = z.object({\n\tmode: listModeSchema.optional(),\n\tfilters: z.preprocess(normalizeLegacyFeedbackActor, feedbackFilterObjectSchema).optional(),\n\tpagination: paginationArgsSchema.optional(),\n\torderBy: feedbackOrderBySchema.optional(),\n\tafter: deltaCursorSchema.optional(),\n\tlimit: deltaLimitSchema\n}).strict().superRefine(refineObservabilityListMode).transform((value) => normalizeObservabilityListArgs(value, { orderBy: {\n\tfield: \"timestamp\",\n\tdirection: \"DESC\"\n} })).describe(\"Arguments for listing feedback\");\n/** Schema for listFeedback operation response */\nconst listFeedbackResponseSchema = z.object({\n\tpagination: paginationInfoSchema.optional(),\n\tdelta: deltaInfoSchema.optional(),\n\tdeltaCursor: deltaCursorSchema.optional(),\n\tfeedback: z.array(feedbackRecordSchema)\n}).describe(\"Response from listing feedback\");\nconst getFeedbackAggregateArgsSchema = z.object({\n\tfeedbackType: feedbackTypeField,\n\tfeedbackSource: feedbackSourceField.optional(),\n\taggregation: aggregationTypeSchema,\n\tfilters: feedbackFilterSchema.optional(),\n\tcomparePeriod: comparePeriodSchema.optional()\n}).describe(\"Arguments for getting a feedback aggregate over numeric values\");\nconst getFeedbackAggregateResponseSchema = z.object(aggregateResponseFields);\nconst getFeedbackBreakdownArgsSchema = z.object({\n\tfeedbackType: feedbackTypeField,\n\tfeedbackSource: feedbackSourceField.optional(),\n\tgroupBy: groupBySchema,\n\taggregation: aggregationTypeSchema,\n\tfilters: feedbackFilterSchema.optional()\n}).describe(\"Arguments for getting a feedback breakdown over numeric values\");\nconst getFeedbackBreakdownResponseSchema = z.object({ groups: z.array(z.object({\n\tdimensions: dimensionsField,\n\tvalue: aggregatedValueField\n})) });\nconst getFeedbackTimeSeriesArgsSchema = z.object({\n\tfeedbackType: feedbackTypeField,\n\tfeedbackSource: feedbackSourceField.optional(),\n\tinterval: aggregationIntervalSchema,\n\taggregation: aggregationTypeSchema,\n\tfilters: feedbackFilterSchema.optional(),\n\tgroupBy: groupBySchema.optional()\n}).describe(\"Arguments for getting feedback time series over numeric values\");\nconst getFeedbackTimeSeriesResponseSchema = z.object({ series: z.array(z.object({\n\tname: z.string().describe(\"Series name (feedback type or group key)\"),\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: aggregatedValueField\n\t}))\n})) });\nconst getFeedbackPercentilesArgsSchema = z.object({\n\tfeedbackType: feedbackTypeField,\n\tfeedbackSource: feedbackSourceField.optional(),\n\tpercentiles: percentilesSchema,\n\tinterval: aggregationIntervalSchema,\n\tfilters: feedbackFilterSchema.optional()\n}).describe(\"Arguments for getting feedback percentiles over numeric values\");\nconst getFeedbackPercentilesResponseSchema = z.object({ series: z.array(z.object({\n\tpercentile: percentileField,\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: percentileBucketValueField\n\t}))\n})) });\n//#endregion\n//#region src/storage/domains/observability/metrics.ts\n/**\n* @deprecated MetricType is no longer stored. All metrics are raw events\n* with aggregation determined at query time.\n*/\nconst metricTypeSchema = z.enum([\n\t\"counter\",\n\t\"gauge\",\n\t\"histogram\"\n]);\nconst metricNameField = z.string().describe(\"Metric name (e.g., mastra_agent_duration_ms)\");\nconst metricValueField = z.number().describe(\"Metric value\");\nconst labelsField = z.record(z.string(), z.string()).describe(\"Metric labels for dimensional filtering\");\nconst providerField = z.string().describe(\"Model provider\");\nconst modelField = z.string().describe(\"Model\");\nconst estimatedCostField = z.number().describe(\"Estimated cost\");\nconst costUnitField = z.string().describe(\"Unit for the estimated cost (e.g., usd)\");\nconst costMetadField = z.record(z.string(), z.unknown()).nullish().describe(\"Structured costing metadata\");\n/**\n* Schema for metrics as stored in the database.\n* Each record is a single metric observation.\n*/\nconst metricRecordSchema = z.object({\n\tmetricId: z.string().nullish().describe(\"Unique id for this metric event\"),\n\ttimestamp: z.date().describe(\"When the metric was recorded\"),\n\tname: metricNameField,\n\tvalue: metricValueField,\n\ttraceId: traceIdField.nullish(),\n\tspanId: spanIdField.nullish(),\n\t...contextFields,\n\t/**\n\t* @deprecated Use `executionSource` instead.\n\t*/\n\tsource: z.string().nullish().describe(\"Execution source\"),\n\tprovider: providerField.nullish(),\n\tmodel: modelField.nullish(),\n\testimatedCost: estimatedCostField.nullish(),\n\tcostUnit: costUnitField.nullish(),\n\tcostMetadata: costMetadField.nullish(),\n\tlabels: labelsField.default({}),\n\tmetadata: metadataField.nullish()\n}).describe(\"Metric record as stored in the database\");\n/**\n* Schema for user-provided metric input (minimal required fields).\n* The metrics context enriches this with environment before emitting ExportedMetric.\n*/\nconst metricInputSchema = z.object({\n\tname: metricNameField,\n\tvalue: metricValueField,\n\tlabels: labelsField.optional()\n}).describe(\"User-provided metric input\");\n/** Schema for creating a metric record (without db timestamps) */\nconst createMetricRecordSchema = metricRecordSchema;\n/** Schema for batchCreateMetrics operation arguments */\nconst batchCreateMetricsArgsSchema = z.object({ metrics: z.array(createMetricRecordSchema) }).describe(\"Arguments for batch recording metrics\");\n/** Schema for metric aggregation configuration */\nconst metricsAggregationSchema = z.object({\n\ttype: aggregationTypeSchema,\n\tinterval: aggregationIntervalSchema.optional(),\n\tgroupBy: groupBySchema.optional()\n}).describe(\"Metrics aggregation configuration\");\n/** Schema for filtering metrics in queries */\nconst metricsFilterSchema = z.object({\n\t...commonFilterFields,\n\ttraceIds: z.array(traceIdField).nonempty().max(1e3).optional().describe(\"Filter by one or more trace IDs\"),\n\tname: z.array(z.string()).nonempty().optional().describe(\"Filter by metric name(s)\"),\n\t/**\n\t* @deprecated Use `executionSource` instead.\n\t*/\n\tsource: z.string().optional().describe(\"Filter by execution source\"),\n\tprovider: providerField.optional(),\n\tmodel: modelField.optional(),\n\tcostUnit: costUnitField.optional(),\n\tlabels: z.record(z.string(), z.string()).optional().describe(\"Exact match on label key-value pairs\")\n}).describe(\"Filters for querying metrics\");\n/** Fields available for ordering metric list results */\nconst metricsOrderByFieldSchema = z.enum([\"timestamp\"]).describe(\"Field to order by: 'timestamp'\");\n/** Order by configuration for metric list queries */\nconst metricsOrderBySchema = z.object({\n\tfield: metricsOrderByFieldSchema.default(\"timestamp\").describe(\"Field to order by\"),\n\tdirection: sortDirectionSchema.default(\"DESC\").describe(\"Sort direction\")\n}).describe(\"Order by configuration\");\nconst listMetricsArgsSchema = z.object({\n\tmode: listModeSchema.optional(),\n\tfilters: metricsFilterSchema.optional(),\n\tpagination: paginationArgsSchema.optional(),\n\torderBy: metricsOrderBySchema.optional(),\n\tafter: deltaCursorSchema.optional(),\n\tlimit: deltaLimitSchema\n}).strict().superRefine(refineObservabilityListMode).transform((value) => normalizeObservabilityListArgs(value, { orderBy: {\n\tfield: \"timestamp\",\n\tdirection: \"DESC\"\n} })).describe(\"Arguments for listing metrics\");\n/** Schema for listMetrics operation response */\nconst listMetricsResponseSchema = z.object({\n\tpagination: paginationInfoSchema.optional(),\n\tdelta: deltaInfoSchema.optional(),\n\tdeltaCursor: deltaCursorSchema.optional(),\n\tmetrics: z.array(metricRecordSchema)\n}).describe(\"Response from listing metrics\");\n/**\n* Columns eligible for `count_distinct`.\n*\n* Restricted to low/medium-cardinality categorical attributes. ID columns are\n* intentionally excluded — approximate distinct count over near-unique values\n* converges to the row count and is rarely a useful KPI.\n*/\nconst METRIC_DISTINCT_COLUMNS = [\n\t\"entityType\",\n\t\"entityName\",\n\t\"parentEntityType\",\n\t\"parentEntityName\",\n\t\"rootEntityType\",\n\t\"rootEntityName\",\n\t\"name\",\n\t\"provider\",\n\t\"model\",\n\t\"environment\",\n\t\"executionSource\",\n\t\"serviceName\",\n\t\"threadId\",\n\t\"resourceId\"\n];\nconst distinctColumnSchema = z.enum(METRIC_DISTINCT_COLUMNS).optional().describe(\"Column to apply count_distinct over (required when aggregation is 'count_distinct'). Restricted to allowlisted metric dimensions.\");\nconst requireDistinctColumnRefinement = {\n\tcheck: (data) => data.aggregation !== \"count_distinct\" || data.distinctColumn !== void 0,\n\toptions: {\n\t\tmessage: \"distinctColumn is required when aggregation is 'count_distinct'\",\n\t\tpath: [\"distinctColumn\"]\n\t}\n};\nconst getMetricAggregateArgsSchema = z.object({\n\tname: z.array(z.string()).nonempty().describe(\"Metric name(s) to aggregate\"),\n\taggregation: aggregationTypeSchema,\n\tdistinctColumn: distinctColumnSchema,\n\tfilters: metricsFilterSchema.optional(),\n\tcomparePeriod: comparePeriodSchema.optional()\n}).refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options).describe(\"Arguments for getting a metric aggregate\");\nconst getMetricAggregateResponseSchema = z.object({\n\t...aggregateResponseFields,\n\testimatedCost: z.number().nullable().optional().describe(\"Aggregated estimated cost from the same filtered row set\"),\n\tcostUnit: z.string().nullable().optional().describe(\"Shared cost unit for the aggregated rows, or null when mixed/unknown\"),\n\tpreviousEstimatedCost: z.number().nullable().optional().describe(\"Aggregated estimated cost from the comparison period\"),\n\tcostChangePercent: z.number().nullable().optional().describe(\"Percentage change in estimated cost from comparison period\")\n});\nconst getMetricBreakdownArgsSchema = z.object({\n\tname: z.array(z.string()).nonempty().describe(\"Metric name(s) to break down\"),\n\tgroupBy: groupBySchema,\n\taggregation: aggregationTypeSchema,\n\tdistinctColumn: distinctColumnSchema,\n\tfilters: metricsFilterSchema.optional(),\n\tlimit: z.number().int().positive().max(1e3).optional().describe(\"Maximum number of groups to return (server-side TopK). Required for high-cardinality groupBy.\"),\n\torderDirection: sortDirectionSchema.optional().describe(\"Sort direction for the aggregated value (defaults to 'DESC' at the storage layer; pairs with limit for top/bottom-N).\")\n}).refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options).describe(\"Arguments for getting a metric breakdown\");\nconst getMetricBreakdownResponseSchema = z.object({ groups: z.array(z.object({\n\tdimensions: dimensionsField,\n\tvalue: aggregatedValueField,\n\testimatedCost: z.number().nullable().optional().describe(\"Summed estimated cost for this group\"),\n\tcostUnit: z.string().nullable().optional().describe(\"Shared cost unit for this group, or null when mixed/unknown\")\n})) });\nconst getMetricTimeSeriesArgsSchema = z.object({\n\tname: z.array(z.string()).nonempty().describe(\"Metric name(s)\"),\n\tinterval: aggregationIntervalSchema,\n\taggregation: aggregationTypeSchema,\n\tdistinctColumn: distinctColumnSchema,\n\tfilters: metricsFilterSchema.optional(),\n\tgroupBy: groupBySchema.optional()\n}).refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options).describe(\"Arguments for getting metric time series\");\nconst getMetricTimeSeriesResponseSchema = z.object({ series: z.array(z.object({\n\tname: z.string().describe(\"Series name (metric name or group key)\"),\n\tcostUnit: z.string().nullable().optional().describe(\"Shared cost unit for this series, or null when mixed/unknown\"),\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: aggregatedValueField,\n\t\testimatedCost: z.number().nullable().optional().describe(\"Summed estimated cost in this bucket\")\n\t}))\n})) });\nconst getMetricPercentilesArgsSchema = z.object({\n\tname: z.string().describe(\"Metric name\"),\n\tpercentiles: percentilesSchema,\n\tinterval: aggregationIntervalSchema,\n\tfilters: metricsFilterSchema.optional()\n}).describe(\"Arguments for getting metric percentiles\");\nconst getMetricPercentilesResponseSchema = z.object({ series: z.array(z.object({\n\tpercentile: percentileField,\n\tpoints: z.array(z.object({\n\t\ttimestamp: bucketTimestampField,\n\t\tvalue: percentileBucketValueField\n\t}))\n})) });\n//#endregion\n//#region src/storage/domains/observability/discovery.ts\nconst getMetricNamesArgsSchema = z.object({\n\tprefix: z.string().optional().describe(\"Filter metric names by prefix\"),\n\tlimit: z.coerce.number().int().min(1).optional().describe(\"Maximum number of names to return\")\n}).describe(\"Arguments for getting metric names\");\nconst getMetricNamesResponseSchema = z.object({ names: z.array(z.string()).describe(\"Distinct metric names\") });\nconst getMetricLabelKeysArgsSchema = z.object({ metricName: z.string().describe(\"Metric name to get label keys for\") }).describe(\"Arguments for getting metric label keys\");\nconst getMetricLabelKeysResponseSchema = z.object({ keys: z.array(z.string()).describe(\"Distinct label keys for the metric\") });\nconst getMetricLabelValuesArgsSchema = z.object({\n\tmetricName: z.string().describe(\"Metric name\"),\n\tlabelKey: z.string().describe(\"Label key to get values for\"),\n\tprefix: z.string().optional().describe(\"Filter values by prefix\"),\n\tlimit: z.coerce.number().int().min(1).optional().describe(\"Maximum number of values to return\")\n}).describe(\"Arguments for getting label values\");\nconst getMetricLabelValuesResponseSchema = z.object({ values: z.array(z.string()).describe(\"Distinct label values\") });\nconst getEntityTypesArgsSchema = z.object({}).describe(\"Arguments for getting entity types\");\nconst getEntityTypesResponseSchema = z.object({ entityTypes: z.array(entityTypeField).describe(\"Distinct entity types\") });\nconst getEntityNamesArgsSchema = z.object({ entityType: entityTypeField.optional().describe(\"Optional entity type filter\") }).describe(\"Arguments for getting entity names\");\nconst getEntityNamesResponseSchema = z.object({ names: z.array(z.string()).describe(\"Distinct entity names\") });\nconst getServiceNamesArgsSchema = z.object({}).describe(\"Arguments for getting service names\");\nconst getServiceNamesResponseSchema = z.object({ serviceNames: z.array(z.string()).describe(\"Distinct service names\") });\nconst getEnvironmentsArgsSchema = z.object({}).describe(\"Arguments for getting environments\");\nconst getEnvironmentsResponseSchema = z.object({ environments: z.array(z.string()).describe(\"Distinct environments\") });\nconst getTagsArgsSchema = z.object({ entityType: entityTypeField.optional().describe(\"Optional entity type filter\") }).describe(\"Arguments for getting tags\");\nconst getTagsResponseSchema = z.object({ tags: z.array(z.string()).describe(\"Distinct tags\") });\n//#endregion\nexport { EntityType, METRIC_DISTINCT_COLUMNS, aggregateResponseFields, aggregatedValueField, aggregationIntervalSchema, aggregationTypeSchema, batchCreateFeedbackArgsSchema, batchCreateLogsArgsSchema, batchCreateMetricsArgsSchema, batchCreateScoresArgsSchema, bucketTimestampField, commonFilterFields, comparePeriodSchema, contextFields, createFeedbackArgsSchema, createFeedbackBodySchema, createFeedbackRecordSchema, createFeedbackResponseSchema, createLogRecordSchema, createMetricRecordSchema, createScoreArgsSchema, createScoreBodySchema, createScoreRecordSchema, createScoreResponseSchema, createdAtField, dateRangeSchema, dbTimestamps, defaultDeltaLimit, defaultPaginationArgs, deleteFeedbackArgsSchema, deleteFeedbackResponseSchema, deleteScoresArgsSchema, deleteScoresResponseSchema, deltaCursorSchema, deltaInfoSchema, deltaLimitSchema, dimensionsField, distinctColumnSchema, entityIdField, entityNameField, entityTypeField, entityVersionIdField, environmentField, executionSourceField, experimentIdField, feedbackFilterSchema, feedbackInputSchema, feedbackOrderByFieldSchema, feedbackOrderBySchema, feedbackRecordSchema, feedbackReviewStatusSchema, getEntityNamesArgsSchema, getEntityNamesResponseSchema, getEntityTypesArgsSchema, getEntityTypesResponseSchema, getEnvironmentsArgsSchema, getEnvironmentsResponseSchema, getFeedbackAggregateArgsSchema, getFeedbackAggregateResponseSchema, getFeedbackBreakdownArgsSchema, getFeedbackBreakdownResponseSchema, getFeedbackPercentilesArgsSchema, getFeedbackPercentilesResponseSchema, getFeedbackTimeSeriesArgsSchema, getFeedbackTimeSeriesResponseSchema, getMetricAggregateArgsSchema, getMetricAggregateResponseSchema, getMetricBreakdownArgsSchema, getMetricBreakdownResponseSchema, getMetricLabelKeysArgsSchema, getMetricLabelKeysResponseSchema, getMetricLabelValuesArgsSchema, getMetricLabelValuesResponseSchema, getMetricNamesArgsSchema, getMetricNamesResponseSchema, getMetricPercentilesArgsSchema, getMetricPercentilesResponseSchema, getMetricTimeSeriesArgsSchema, getMetricTimeSeriesResponseSchema, getScoreAggregateArgsSchema, getScoreAggregateResponseSchema, getScoreBreakdownArgsSchema, getScoreBreakdownResponseSchema, getScorePercentilesArgsSchema, getScorePercentilesResponseSchema, getScoreTimeSeriesArgsSchema, getScoreTimeSeriesResponseSchema, getServiceNamesArgsSchema, getServiceNamesResponseSchema, getTagsArgsSchema, getTagsResponseSchema, groupBySchema, listFeedbackArgsSchema, listFeedbackResponseSchema, listLogsArgsSchema, listLogsResponseSchema, listMetricsArgsSchema, listMetricsResponseSchema, listModeSchema, listScoresArgsSchema, listScoresResponseSchema, logLevelSchema, logRecordInputSchema, logRecordSchema, logsFilterSchema, logsOrderByFieldSchema, logsOrderBySchema, metadataField, metricInputSchema, metricRecordSchema, metricTypeSchema, metricsAggregationSchema, metricsFilterSchema, metricsOrderByFieldSchema, metricsOrderBySchema, normalizeObservabilityListArgs, organizationIdField, paginationArgsSchema, paginationInfoSchema, parentEntityIdField, parentEntityNameField, parentEntityTypeField, parentEntityVersionIdField, percentileBucketValueField, percentileField, percentilesSchema, refineObservabilityListMode, requestIdField, resourceIdField, rootEntityIdField, rootEntityNameField, rootEntityTypeField, rootEntityVersionIdField, runIdField, scopeField, scoreInputSchema, scoreRecordSchema, scoresFilterSchema, scoresOrderByFieldSchema, scoresOrderBySchema, serviceNameField, sessionIdField, sortDirectionSchema, sourceField, spanContextFields, spanIdField, tagsField, threadIdField, traceIdField, updateFeedbackReviewStatusArgsSchema, updatedAtField, userIdField };\n\n//# sourceMappingURL=index.js.map","import {\n feedbackRecordSchema,\n listFeedbackResponseSchema as storageListFeedbackResponseSchema,\n} from '@internal/core/storage';\nimport { z } from 'zod/v4';\n\nexport const listFeedbackResponseSchema = storageListFeedbackResponseSchema.extend({\n feedback: z.array(\n feedbackRecordSchema.extend({\n author: z\n .object({\n id: z.string(),\n name: z.string().optional(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n })\n .optional(),\n }),\n ),\n});\n","import {\n // Metrics list\n metricsFilterSchema,\n metricsOrderBySchema,\n listMetricsResponseSchema,\n // Logs\n logsFilterSchema,\n logsOrderBySchema,\n listLogsResponseSchema,\n // Scores (observability)\n scoresFilterSchema,\n scoresOrderBySchema,\n listScoresResponseSchema as obsListScoresResponseSchema,\n createScoreBodySchema,\n createScoreResponseSchema,\n deleteScoresArgsSchema,\n deleteScoresResponseSchema,\n scoreRecordSchema,\n getScoreAggregateArgsSchema,\n getScoreAggregateResponseSchema,\n getScoreBreakdownArgsSchema,\n getScoreBreakdownResponseSchema,\n getScoreTimeSeriesArgsSchema,\n getScoreTimeSeriesResponseSchema,\n getScorePercentilesArgsSchema,\n getScorePercentilesResponseSchema,\n // Feedback\n feedbackFilterSchema,\n feedbackOrderBySchema,\n feedbackRecordSchema,\n feedbackReviewStatusSchema,\n createFeedbackBodySchema,\n createFeedbackResponseSchema,\n deleteFeedbackArgsSchema,\n deleteFeedbackResponseSchema,\n getFeedbackAggregateArgsSchema,\n getFeedbackAggregateResponseSchema,\n getFeedbackBreakdownArgsSchema,\n getFeedbackBreakdownResponseSchema,\n getFeedbackTimeSeriesArgsSchema,\n getFeedbackTimeSeriesResponseSchema,\n getFeedbackPercentilesArgsSchema,\n getFeedbackPercentilesResponseSchema,\n // Metrics OLAP\n getMetricAggregateArgsSchema,\n getMetricAggregateResponseSchema,\n getMetricBreakdownArgsSchema,\n getMetricBreakdownResponseSchema,\n getMetricTimeSeriesArgsSchema,\n getMetricTimeSeriesResponseSchema,\n getMetricPercentilesArgsSchema,\n getMetricPercentilesResponseSchema,\n // Discovery\n getMetricNamesArgsSchema,\n getMetricNamesResponseSchema,\n getMetricLabelKeysArgsSchema,\n getMetricLabelKeysResponseSchema,\n getMetricLabelValuesArgsSchema,\n getMetricLabelValuesResponseSchema,\n getEntityTypesResponseSchema,\n getEntityNamesArgsSchema,\n getEntityNamesResponseSchema,\n getServiceNamesResponseSchema,\n getEnvironmentsResponseSchema,\n getTagsArgsSchema,\n getTagsResponseSchema,\n} from '@internal/core/storage';\nimport { coreFeatures } from '@mastra/core/features';\nimport { generateSignalId } from '@mastra/core/observability';\nimport type { ValidationErrorHook } from '@mastra/core/server';\nimport * as coreStorage from '@mastra/core/storage';\nimport { z } from 'zod/v4';\nimport { MASTRA_USER_KEY, MASTRA_CLIENT_TYPE_HEADER, isStudioClientTypeHeader } from '../constants';\nimport { HTTPException } from '../http-exception';\nimport { listFeedbackResponseSchema } from '../schemas/feedback';\nimport type { InferParams, ServerContext, ServerRouteHandler } from '../server-adapter/routes';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { prepareAuthorEnrichment } from './author-enrichment';\nimport { handleError } from './error';\nimport { paginationArgsSchema } from './observability-list-query-schemas';\nimport {\n assertObservabilityDeltaSupported,\n assertObservabilityTraceQuerySupported,\n createObservabilityListQuerySchema,\n getObservabilityStore,\n NEW_ROUTE_DEFS,\n OBSERVABILITY_LIST_ENDPOINTS,\n} from './observability-shared';\nimport type { RouteDetails } from './observability-shared';\n\nfunction createNewRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n>(\n def: RouteDetails,\n config: {\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n onValidationError?: ValidationErrorHook;\n maxBodySize?: number;\n preserveHttpExceptions?: boolean;\n handler: ServerRouteHandler<InferParams<TPathSchema, TQuerySchema, TBodySchema>>;\n },\n) {\n const { handler, preserveHttpExceptions, ...schemas } = config;\n return createRoute({\n ...def,\n ...schemas,\n responseType: 'json' as const,\n tags: ['Observability'],\n requiresAuth: true,\n handler: (async (params: InferParams<TPathSchema, TQuerySchema, TBodySchema> & ServerContext) => {\n try {\n if (!coreFeatures.has('observability:v1.13.2')) {\n throw new HTTPException(501, {\n message: 'New observability endpoints require @mastra/core >= 1.13.2, please upgrade.',\n });\n }\n\n return await handler(params);\n } catch (error) {\n if (preserveHttpExceptions && error instanceof HTTPException) throw error;\n return handleError(error, `Error calling: '${def.summary.toLocaleLowerCase()}'`);\n }\n }) as ServerRouteHandler<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n 'json'\n >,\n });\n}\n\n// ============================================================================\n// Trace query route\n// ============================================================================\n\nconst traceQueryMalformedBodyErrorSchema = z\n .object({\n error: z.literal('Invalid request body'),\n issues: z.array(z.object({ field: z.literal('body'), message: z.string() }).strict()),\n })\n .strict();\n\nconst traceQueryBodyTooLargeErrorSchema = z\n .object({\n error: z.literal('Request body too large'),\n })\n .strict();\n\nconst traceQueryMalformedCursorErrorSchema = z\n .object({\n code: z.literal('TRACE_QUERY_CURSOR_MALFORMED'),\n message: z.string(),\n })\n .strict();\n\nconst traceQueryCursorConflictErrorSchema = z\n .object({\n code: z.literal('TRACE_QUERY_CURSOR_CONFLICT'),\n message: z.string(),\n })\n .strict();\n\nconst traceQueryValidationIssueSchema = z\n .object({\n code: z.string(),\n path: z.array(z.union([z.string(), z.number()])),\n message: z.string(),\n })\n .strict();\n\nconst traceQueryValidationResponseSchema = z\n .object({\n code: z.literal('TRACE_QUERY_INVALID'),\n message: z.string(),\n issues: z.array(traceQueryValidationIssueSchema),\n })\n .strict();\n\nconst traceQueryUnsupportedErrorSchema = z\n .object({\n code: z.literal('TRACE_QUERY_UNSUPPORTED'),\n message: z.string(),\n })\n .strict();\n\nconst traceQueryTimeoutErrorSchema = z\n .object({\n code: z.literal('TRACE_QUERY_EXECUTION_TIMEOUT'),\n message: z.string(),\n })\n .strict();\n\nconst traceQueryValidationError: ValidationErrorHook = error => ({\n status: 422,\n body: {\n code: 'TRACE_QUERY_INVALID',\n message: 'The trace query is invalid',\n issues: error.issues.map(issue => ({\n code: 'invalid_request',\n path: issue.path.map(part => (typeof part === 'symbol' ? String(part) : part)),\n message: issue.message,\n })),\n },\n});\n\nfunction throwTraceQueryError(status: 400 | 409 | 413 | 422 | 501 | 504, body: Record<string, unknown>): never {\n const message = typeof body.message === 'string' ? body.message : 'Trace query failed';\n throw new HTTPException(status, {\n message,\n res: new Response(JSON.stringify(body), {\n status,\n headers: { 'content-type': 'application/json' },\n }),\n });\n}\n\nexport const QUERY_TRACES = createNewRoute(NEW_ROUTE_DEFS.QUERY_TRACES, {\n bodySchema: coreStorage.traceQueryRequestSchema,\n responseSchema: coreStorage.traceQueryResponseSchema,\n onValidationError: traceQueryValidationError,\n maxBodySize: 256 * 1024,\n preserveHttpExceptions: true,\n handler: async ({ mastra, timeRange, where, group, orderBy, page }) => {\n let plan;\n try {\n plan = coreStorage.planTraceQuery({ timeRange, where, group, orderBy, page });\n } catch (error) {\n if (error instanceof coreStorage.TraceQueryValidationError) {\n throwTraceQueryError(422, { code: error.code, message: error.message, issues: error.issues });\n }\n if (error instanceof coreStorage.TraceQueryCursorError) {\n throwTraceQueryError(error.code === 'TRACE_QUERY_CURSOR_CONFLICT' ? 409 : 400, {\n code: error.code,\n message: error.message,\n });\n }\n throw error;\n }\n\n let observabilityStore: Awaited<ReturnType<typeof getObservabilityStore>>;\n try {\n observabilityStore = await getObservabilityStore(mastra);\n assertObservabilityTraceQuerySupported(observabilityStore);\n } catch (error) {\n if (error instanceof HTTPException && error.status === 501) {\n throwTraceQueryError(501, { code: 'TRACE_QUERY_UNSUPPORTED', message: error.message });\n }\n throw error;\n }\n\n try {\n return await observabilityStore.queryTraces(plan);\n } catch (error) {\n if (error instanceof coreStorage.TraceQueryExecutionError) {\n throwTraceQueryError(504, { code: error.code, message: error.message });\n }\n throw error;\n }\n },\n});\n\nif (QUERY_TRACES.openapi) {\n QUERY_TRACES.openapi.responses[400] = {\n description: 'Malformed JSON or malformed cursor',\n content: {\n 'application/json': {\n schema: z.union([traceQueryMalformedBodyErrorSchema, traceQueryMalformedCursorErrorSchema]),\n },\n },\n };\n QUERY_TRACES.openapi.responses[409] = {\n description: 'Cursor does not match the normalized query',\n content: { 'application/json': { schema: traceQueryCursorConflictErrorSchema } },\n };\n QUERY_TRACES.openapi.responses[413] = {\n description: 'Request body exceeds 256 KiB',\n content: { 'application/json': { schema: traceQueryBodyTooLargeErrorSchema } },\n };\n QUERY_TRACES.openapi.responses[422] = {\n description: 'Structurally or semantically invalid trace query',\n content: { 'application/json': { schema: traceQueryValidationResponseSchema } },\n };\n QUERY_TRACES.openapi.responses[501] = {\n description: 'The configured observability store does not support trace queries',\n content: { 'application/json': { schema: traceQueryUnsupportedErrorSchema } },\n };\n QUERY_TRACES.openapi.responses[504] = {\n description: 'Trace query exceeded the configured database execution timeout',\n content: { 'application/json': { schema: traceQueryTimeoutErrorSchema } },\n };\n}\n\n// ============================================================================\n// Log Routes\n// ============================================================================\n\nexport const LIST_LOGS = createNewRoute(NEW_ROUTE_DEFS.LIST_LOGS, {\n queryParamSchema: createObservabilityListQuerySchema(logsFilterSchema, logsOrderBySchema),\n responseSchema: listLogsResponseSchema,\n handler: async ({ mastra, mode, after, limit, ...params }) => {\n const filters = pickParams(logsFilterSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n\n if (mode === 'delta') {\n assertObservabilityDeltaSupported(observabilityStore, OBSERVABILITY_LIST_ENDPOINTS.logs);\n return await observabilityStore.listLogs({\n mode,\n filters,\n after: typeof after === 'string' ? after : undefined,\n limit,\n });\n }\n\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(logsOrderBySchema, params);\n return await observabilityStore.listLogs(\n mode === 'page' ? { mode, filters, pagination, orderBy } : { filters, pagination, orderBy },\n );\n },\n});\n\n// ============================================================================\n// Score Routes\n// ============================================================================\n\nexport const LIST_SCORES = createNewRoute(NEW_ROUTE_DEFS.LIST_SCORES, {\n queryParamSchema: createObservabilityListQuerySchema(scoresFilterSchema, scoresOrderBySchema),\n responseSchema: obsListScoresResponseSchema,\n handler: async ({ mastra, mode, after, limit, ...params }) => {\n const filters = pickParams(scoresFilterSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n\n if (mode === 'delta') {\n assertObservabilityDeltaSupported(observabilityStore, OBSERVABILITY_LIST_ENDPOINTS.scores);\n return await observabilityStore.listScores({\n mode,\n filters,\n after: typeof after === 'string' ? after : undefined,\n limit,\n });\n }\n\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(scoresOrderBySchema, params);\n return await observabilityStore.listScores(\n mode === 'page' ? { mode, filters, pagination, orderBy } : { filters, pagination, orderBy },\n );\n },\n});\n\nexport const CREATE_SCORE = createNewRoute(NEW_ROUTE_DEFS.CREATE_SCORE, {\n bodySchema: createScoreBodySchema,\n responseSchema: createScoreResponseSchema,\n handler: async ({ mastra, score }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.createScore({\n score: { ...score, scoreId: score.scoreId ?? generateSignalId(), timestamp: new Date() },\n });\n return { success: true };\n },\n});\n\nexport const DELETE_SCORES = createNewRoute(NEW_ROUTE_DEFS.DELETE_SCORES, {\n bodySchema: deleteScoresArgsSchema,\n responseSchema: deleteScoresResponseSchema,\n handler: async ({ mastra, ...params }) => {\n if (!coreFeatures.has('observability-signal-deletion')) {\n throw new HTTPException(501, {\n message: 'Score deletion requires a newer @mastra/core with observability signal deletion support.',\n });\n }\n const args = pickParams(deleteScoresArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.deleteScores(args);\n return { success: true };\n },\n});\n\nexport const GET_SCORE = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE, {\n pathParamSchema: z.object({ scoreId: z.string() }),\n responseSchema: z.object({ score: scoreRecordSchema.nullable() }),\n handler: async ({ mastra, scoreId }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n const score = await observabilityStore.getScoreById(scoreId);\n return { score: score ?? null };\n },\n});\n\nexport const GET_SCORE_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_AGGREGATE, {\n bodySchema: getScoreAggregateArgsSchema,\n responseSchema: getScoreAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreAggregate(args);\n },\n});\n\nexport const GET_SCORE_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_BREAKDOWN, {\n bodySchema: getScoreBreakdownArgsSchema,\n responseSchema: getScoreBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreBreakdown(args);\n },\n});\n\nexport const GET_SCORE_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_TIME_SERIES, {\n bodySchema: getScoreTimeSeriesArgsSchema,\n responseSchema: getScoreTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreTimeSeries(args);\n },\n});\n\nexport const GET_SCORE_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_PERCENTILES, {\n bodySchema: getScorePercentilesArgsSchema,\n responseSchema: getScorePercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScorePercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScorePercentiles(args);\n },\n});\n\n// ============================================================================\n// Feedback Routes\n// ============================================================================\n\nexport const LIST_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.LIST_FEEDBACK, {\n queryParamSchema: createObservabilityListQuerySchema(feedbackFilterSchema, feedbackOrderBySchema),\n responseSchema: listFeedbackResponseSchema,\n handler: async ({ mastra, requestContext, request, mode, after, limit, ...params }) => {\n const filters = pickParams(feedbackFilterSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n\n if (mode === 'delta') {\n assertObservabilityDeltaSupported(observabilityStore, OBSERVABILITY_LIST_ENDPOINTS.feedback);\n }\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(feedbackOrderBySchema, params);\n const result = await observabilityStore.listFeedback(\n mode === 'delta'\n ? { mode, filters, after: typeof after === 'string' ? after : undefined, limit }\n : mode === 'page'\n ? { mode, filters, pagination, orderBy }\n : { filters, pagination, orderBy },\n );\n const authors = await prepareAuthorEnrichment(\n mastra,\n requestContext,\n result.feedback.map(record => record.feedbackUserId),\n isStudioClientTypeHeader(request?.headers.get(MASTRA_CLIENT_TYPE_HEADER) ?? undefined),\n );\n return {\n ...result,\n feedback: result.feedback.map(record => {\n const author = record.feedbackUserId ? authors?.get(record.feedbackUserId) : undefined;\n return author ? { ...record, author } : record;\n }),\n };\n },\n});\n\nexport const CREATE_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.CREATE_FEEDBACK, {\n bodySchema: createFeedbackBodySchema,\n responseSchema: createFeedbackResponseSchema,\n handler: async ({ mastra, requestContext, feedback }) => {\n const user = requestContext.get(MASTRA_USER_KEY);\n const authenticatedId = user && typeof user === 'object' && 'id' in user ? user.id : undefined;\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.createFeedback({\n feedback: {\n ...feedback,\n ...(typeof authenticatedId === 'string' && authenticatedId.trim().length > 0\n ? { feedbackUserId: authenticatedId }\n : {}),\n feedbackId: feedback.feedbackId ?? generateSignalId(),\n timestamp: new Date(),\n reviewStatus: feedback.reviewStatus ?? 'needs-review',\n },\n });\n return { success: true };\n },\n});\n\nexport const DELETE_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.DELETE_FEEDBACK, {\n bodySchema: deleteFeedbackArgsSchema,\n responseSchema: deleteFeedbackResponseSchema,\n handler: async ({ mastra, ...params }) => {\n if (!coreFeatures.has('observability-signal-deletion')) {\n throw new HTTPException(501, {\n message: 'Feedback deletion requires a newer @mastra/core with observability signal deletion support.',\n });\n }\n const args = pickParams(deleteFeedbackArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.deleteFeedback(args);\n return { success: true };\n },\n});\n\nexport const UPDATE_FEEDBACK_REVIEW_STATUS = createNewRoute(NEW_ROUTE_DEFS.UPDATE_FEEDBACK_REVIEW_STATUS, {\n pathParamSchema: z.object({ feedbackId: z.string() }),\n bodySchema: z.object({ reviewStatus: feedbackReviewStatusSchema }),\n responseSchema: feedbackRecordSchema,\n handler: async ({ mastra, feedbackId, reviewStatus }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.updateFeedbackReviewStatus({ feedbackId, reviewStatus });\n },\n});\n\nexport const GET_FEEDBACK_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_AGGREGATE, {\n bodySchema: getFeedbackAggregateArgsSchema,\n responseSchema: getFeedbackAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackAggregate(args);\n },\n});\n\nexport const GET_FEEDBACK_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_BREAKDOWN, {\n bodySchema: getFeedbackBreakdownArgsSchema,\n responseSchema: getFeedbackBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackBreakdown(args);\n },\n});\n\nexport const GET_FEEDBACK_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_TIME_SERIES, {\n bodySchema: getFeedbackTimeSeriesArgsSchema,\n responseSchema: getFeedbackTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackTimeSeries(args);\n },\n});\n\nexport const GET_FEEDBACK_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_PERCENTILES, {\n bodySchema: getFeedbackPercentilesArgsSchema,\n responseSchema: getFeedbackPercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackPercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackPercentiles(args);\n },\n});\n\n// ============================================================================\n// Metrics Routes\n// ============================================================================\n\nexport const LIST_METRICS = createNewRoute(NEW_ROUTE_DEFS.LIST_METRICS, {\n queryParamSchema: createObservabilityListQuerySchema(metricsFilterSchema, metricsOrderBySchema),\n responseSchema: listMetricsResponseSchema,\n handler: async ({ mastra, mode, after, limit, ...params }) => {\n const filters = pickParams(metricsFilterSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n\n if (mode === 'delta') {\n assertObservabilityDeltaSupported(observabilityStore, OBSERVABILITY_LIST_ENDPOINTS.metrics);\n return await observabilityStore.listMetrics({\n mode,\n filters,\n after: typeof after === 'string' ? after : undefined,\n limit,\n });\n }\n\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(metricsOrderBySchema, params);\n return await observabilityStore.listMetrics(\n mode === 'page' ? { mode, filters, pagination, orderBy } : { filters, pagination, orderBy },\n );\n },\n});\n\nexport const GET_METRIC_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_AGGREGATE, {\n bodySchema: getMetricAggregateArgsSchema,\n responseSchema: getMetricAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricAggregate(args);\n },\n});\n\nexport const GET_METRIC_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_BREAKDOWN, {\n bodySchema: getMetricBreakdownArgsSchema,\n responseSchema: getMetricBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricBreakdown(args);\n },\n});\n\nexport const GET_METRIC_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_TIME_SERIES, {\n bodySchema: getMetricTimeSeriesArgsSchema,\n responseSchema: getMetricTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricTimeSeries(args);\n },\n});\n\nexport const GET_METRIC_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_PERCENTILES, {\n bodySchema: getMetricPercentilesArgsSchema,\n responseSchema: getMetricPercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricPercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricPercentiles(args);\n },\n});\n\n// ============================================================================\n// Discovery Routes\n// ============================================================================\n\nexport const GET_METRIC_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_NAMES, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricNamesArgsSchema.partial()),\n responseSchema: getMetricNamesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricNamesArgsSchema.parse(pickParams(getMetricNamesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricNames(args);\n },\n});\n\nexport const GET_METRIC_LABEL_KEYS = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_LABEL_KEYS, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricLabelKeysArgsSchema),\n responseSchema: getMetricLabelKeysResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricLabelKeysArgsSchema.parse(pickParams(getMetricLabelKeysArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricLabelKeys(args);\n },\n});\n\nexport const GET_METRIC_LABEL_VALUES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_LABEL_VALUES, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricLabelValuesArgsSchema),\n responseSchema: getMetricLabelValuesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricLabelValuesArgsSchema.parse(pickParams(getMetricLabelValuesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricLabelValues(args);\n },\n});\n\nexport const GET_ENTITY_TYPES = createNewRoute(NEW_ROUTE_DEFS.GET_ENTITY_TYPES, {\n responseSchema: getEntityTypesResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEntityTypes({});\n },\n});\n\nexport const GET_ENTITY_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_ENTITY_NAMES, {\n queryParamSchema: wrapSchemaForQueryParams(getEntityNamesArgsSchema.partial()),\n responseSchema: getEntityNamesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getEntityNamesArgsSchema.parse(pickParams(getEntityNamesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEntityNames(args);\n },\n});\n\nexport const GET_SERVICE_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_SERVICE_NAMES, {\n responseSchema: getServiceNamesResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getServiceNames({});\n },\n});\n\nexport const GET_ENVIRONMENTS = createNewRoute(NEW_ROUTE_DEFS.GET_ENVIRONMENTS, {\n responseSchema: getEnvironmentsResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEnvironments({});\n },\n});\n\nexport const GET_TAGS = createNewRoute(NEW_ROUTE_DEFS.GET_TAGS, {\n queryParamSchema: wrapSchemaForQueryParams(getTagsArgsSchema.partial()),\n responseSchema: getTagsResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getTagsArgsSchema.parse(pickParams(getTagsArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n try {\n return await observabilityStore.getTags(args);\n } catch (error) {\n // Some storage providers (e.g. LibSQL) don't support tag discovery\n if (error instanceof Error && error.message.includes('does not support tag discovery')) {\n return { tags: [] };\n }\n throw error;\n }\n },\n});\n\nexport const NEW_ROUTES = {\n QUERY_TRACES,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n DELETE_SCORES,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n DELETE_FEEDBACK,\n UPDATE_FEEDBACK_REVIEW_STATUS,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n LIST_METRICS,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n};\n"],"mappings":"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"}