@mastra/server 1.18.0-alpha.2 → 1.18.0-alpha.4

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 (164) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +521 -172
  3. package/dist/{chunk-NCCK5NVX.cjs → chunk-2HOVE4YF.cjs} +4 -4
  4. package/dist/{chunk-NCCK5NVX.cjs.map → chunk-2HOVE4YF.cjs.map} +1 -1
  5. package/dist/{chunk-E56FRMZY.js → chunk-3PYG4YYL.js} +3 -3
  6. package/dist/{chunk-E56FRMZY.js.map → chunk-3PYG4YYL.js.map} +1 -1
  7. package/dist/{chunk-YKS5HCGB.js → chunk-3XXKCBEU.js} +4 -4
  8. package/dist/{chunk-YKS5HCGB.js.map → chunk-3XXKCBEU.js.map} +1 -1
  9. package/dist/{chunk-FGZC4JP7.js → chunk-42OVSPQK.js} +575 -34
  10. package/dist/chunk-42OVSPQK.js.map +1 -0
  11. package/dist/{chunk-ULLR3RN3.cjs → chunk-42UIDILO.cjs} +4 -4
  12. package/dist/{chunk-ULLR3RN3.cjs.map → chunk-42UIDILO.cjs.map} +1 -1
  13. package/dist/{chunk-NOBDUHIG.cjs → chunk-4LOHS62D.cjs} +3 -3
  14. package/dist/{chunk-NOBDUHIG.cjs.map → chunk-4LOHS62D.cjs.map} +1 -1
  15. package/dist/{chunk-WIQDQTKG.cjs → chunk-4NTRDFFE.cjs} +6 -6
  16. package/dist/{chunk-WIQDQTKG.cjs.map → chunk-4NTRDFFE.cjs.map} +1 -1
  17. package/dist/{chunk-JL6JURL5.js → chunk-6M5HZQQV.js} +4 -4
  18. package/dist/{chunk-JL6JURL5.js.map → chunk-6M5HZQQV.js.map} +1 -1
  19. package/dist/{chunk-NTZOZIKF.cjs → chunk-7EOHGXMP.cjs} +603 -62
  20. package/dist/chunk-7EOHGXMP.cjs.map +1 -0
  21. package/dist/{chunk-4NRXB7VI.js → chunk-AUSQGJ52.js} +3 -3
  22. package/dist/{chunk-4NRXB7VI.js.map → chunk-AUSQGJ52.js.map} +1 -1
  23. package/dist/{chunk-G2ZZKKQI.js → chunk-B5DA5QVZ.js} +4 -4
  24. package/dist/{chunk-G2ZZKKQI.js.map → chunk-B5DA5QVZ.js.map} +1 -1
  25. package/dist/{chunk-AHOZXQZ5.js → chunk-BX372Y6T.js} +100 -38
  26. package/dist/chunk-BX372Y6T.js.map +1 -0
  27. package/dist/{chunk-6H7FQ4CY.cjs → chunk-CHQVMEZ3.cjs} +7 -4
  28. package/dist/chunk-CHQVMEZ3.cjs.map +1 -0
  29. package/dist/{chunk-4Q2QV27C.js → chunk-CMTOQQZD.js} +7 -4
  30. package/dist/chunk-CMTOQQZD.js.map +1 -0
  31. package/dist/{chunk-SCHPGBMK.js → chunk-DTJJFVTS.js} +5 -5
  32. package/dist/{chunk-SCHPGBMK.js.map → chunk-DTJJFVTS.js.map} +1 -1
  33. package/dist/{chunk-CL24HN6K.cjs → chunk-FQHTXKF6.cjs} +21 -21
  34. package/dist/{chunk-CL24HN6K.cjs.map → chunk-FQHTXKF6.cjs.map} +1 -1
  35. package/dist/{chunk-K7S4XDX6.js → chunk-GIRVVQTS.js} +3 -3
  36. package/dist/{chunk-K7S4XDX6.js.map → chunk-GIRVVQTS.js.map} +1 -1
  37. package/dist/{chunk-ZKXIAID6.js → chunk-HEJ53V64.js} +4 -4
  38. package/dist/{chunk-ZKXIAID6.js.map → chunk-HEJ53V64.js.map} +1 -1
  39. package/dist/{chunk-DJQT32SV.cjs → chunk-HUAXEKGI.cjs} +353 -105
  40. package/dist/chunk-HUAXEKGI.cjs.map +1 -0
  41. package/dist/{chunk-ATZ7V3XS.js → chunk-IFSINB5S.js} +3 -3
  42. package/dist/{chunk-ATZ7V3XS.js.map → chunk-IFSINB5S.js.map} +1 -1
  43. package/dist/{chunk-Z36FXNDQ.cjs → chunk-IOCKHUAA.cjs} +72 -68
  44. package/dist/chunk-IOCKHUAA.cjs.map +1 -0
  45. package/dist/{chunk-HBMIUVV4.cjs → chunk-JD5ZGRBN.cjs} +3 -3
  46. package/dist/{chunk-HBMIUVV4.cjs.map → chunk-JD5ZGRBN.cjs.map} +1 -1
  47. package/dist/{chunk-WUCJRGTK.cjs → chunk-LCA2MLVR.cjs} +3 -3
  48. package/dist/{chunk-WUCJRGTK.cjs.map → chunk-LCA2MLVR.cjs.map} +1 -1
  49. package/dist/{chunk-M6AQTASN.js → chunk-LDIPV66L.js} +3 -3
  50. package/dist/{chunk-M6AQTASN.js.map → chunk-LDIPV66L.js.map} +1 -1
  51. package/dist/{chunk-UFK5THVP.cjs → chunk-N4PIAZEA.cjs} +4 -4
  52. package/dist/{chunk-UFK5THVP.cjs.map → chunk-N4PIAZEA.cjs.map} +1 -1
  53. package/dist/{chunk-HI5EDX3F.js → chunk-NCHR6DGR.js} +3 -3
  54. package/dist/{chunk-HI5EDX3F.js.map → chunk-NCHR6DGR.js.map} +1 -1
  55. package/dist/{chunk-JH576GTI.cjs → chunk-NEB3TPME.cjs} +3 -3
  56. package/dist/{chunk-JH576GTI.cjs.map → chunk-NEB3TPME.cjs.map} +1 -1
  57. package/dist/{chunk-FB5NRM2M.js → chunk-NS5TM6YM.js} +3 -3
  58. package/dist/{chunk-FB5NRM2M.js.map → chunk-NS5TM6YM.js.map} +1 -1
  59. package/dist/{chunk-TYYGY4H4.cjs → chunk-OFI7WQSK.cjs} +4 -4
  60. package/dist/{chunk-TYYGY4H4.cjs.map → chunk-OFI7WQSK.cjs.map} +1 -1
  61. package/dist/{chunk-YEYWCSMW.cjs → chunk-PGPTFBZ3.cjs} +7 -7
  62. package/dist/{chunk-YEYWCSMW.cjs.map → chunk-PGPTFBZ3.cjs.map} +1 -1
  63. package/dist/{chunk-QJZOWORS.js → chunk-PV7IUA6N.js} +3 -3
  64. package/dist/{chunk-QJZOWORS.js.map → chunk-PV7IUA6N.js.map} +1 -1
  65. package/dist/{chunk-YV7FX2SA.cjs → chunk-S5PRNKVT.cjs} +3 -3
  66. package/dist/{chunk-YV7FX2SA.cjs.map → chunk-S5PRNKVT.cjs.map} +1 -1
  67. package/dist/{chunk-6MYRF6QR.js → chunk-SECEXHY4.js} +12 -8
  68. package/dist/chunk-SECEXHY4.js.map +1 -0
  69. package/dist/{chunk-MH2WUZWZ.js → chunk-SEPFGGZQ.js} +4 -4
  70. package/dist/{chunk-MH2WUZWZ.js.map → chunk-SEPFGGZQ.js.map} +1 -1
  71. package/dist/{chunk-4G5KVXN6.cjs → chunk-SIPQHHIE.cjs} +7 -7
  72. package/dist/{chunk-4G5KVXN6.cjs.map → chunk-SIPQHHIE.cjs.map} +1 -1
  73. package/dist/{chunk-3W54ZNYP.cjs → chunk-SUZOB46P.cjs} +4 -4
  74. package/dist/{chunk-3W54ZNYP.cjs.map → chunk-SUZOB46P.cjs.map} +1 -1
  75. package/dist/{chunk-PTTPRMT3.cjs → chunk-TEAYHLYJ.cjs} +100 -38
  76. package/dist/chunk-TEAYHLYJ.cjs.map +1 -0
  77. package/dist/{chunk-MKW43AJ3.js → chunk-TWILU7Q5.js} +4 -4
  78. package/dist/{chunk-MKW43AJ3.js.map → chunk-TWILU7Q5.js.map} +1 -1
  79. package/dist/{chunk-A5J2TY2W.cjs → chunk-U4GMLJ6B.cjs} +3 -3
  80. package/dist/{chunk-A5J2TY2W.cjs.map → chunk-U4GMLJ6B.cjs.map} +1 -1
  81. package/dist/{chunk-3BRCE7JC.cjs → chunk-VDAG64VF.cjs} +5 -5
  82. package/dist/{chunk-3BRCE7JC.cjs.map → chunk-VDAG64VF.cjs.map} +1 -1
  83. package/dist/{chunk-K6RNBFGH.js → chunk-VOCUA2P2.js} +4 -4
  84. package/dist/{chunk-K6RNBFGH.js.map → chunk-VOCUA2P2.js.map} +1 -1
  85. package/dist/{chunk-PVUR75AM.js → chunk-YUTITKH2.js} +353 -105
  86. package/dist/chunk-YUTITKH2.js.map +1 -0
  87. package/dist/{chunk-FPEX6KOJ.cjs → chunk-ZEQ3ZL2T.cjs} +4 -4
  88. package/dist/{chunk-FPEX6KOJ.cjs.map → chunk-ZEQ3ZL2T.cjs.map} +1 -1
  89. package/dist/{chunk-4D7KSU4X.js → chunk-ZL4KCUCN.js} +4 -4
  90. package/dist/{chunk-4D7KSU4X.js.map → chunk-ZL4KCUCN.js.map} +1 -1
  91. package/dist/docs/SKILL.md +1 -1
  92. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  93. package/dist/{observational-memory-UGDENJPE-NVMIXNI4.js → observational-memory-SN7GKMHZ-IWVBFBS6.js} +3 -3
  94. package/dist/{observational-memory-UGDENJPE-NVMIXNI4.js.map → observational-memory-SN7GKMHZ-IWVBFBS6.js.map} +1 -1
  95. package/dist/{observational-memory-UGDENJPE-DM3C7ZXI.cjs → observational-memory-SN7GKMHZ-WOK4TGDH.cjs} +26 -26
  96. package/dist/{observational-memory-UGDENJPE-DM3C7ZXI.cjs.map → observational-memory-SN7GKMHZ-WOK4TGDH.cjs.map} +1 -1
  97. package/dist/server/handlers/a2a.cjs +9 -9
  98. package/dist/server/handlers/a2a.js +1 -1
  99. package/dist/server/handlers/agent-builder.cjs +16 -16
  100. package/dist/server/handlers/agent-builder.js +1 -1
  101. package/dist/server/handlers/agent-versions.cjs +8 -8
  102. package/dist/server/handlers/agent-versions.js +1 -1
  103. package/dist/server/handlers/agents.cjs +33 -33
  104. package/dist/server/handlers/agents.js +1 -1
  105. package/dist/server/handlers/datasets.cjs +26 -26
  106. package/dist/server/handlers/datasets.d.ts +12 -0
  107. package/dist/server/handlers/datasets.d.ts.map +1 -1
  108. package/dist/server/handlers/datasets.js +1 -1
  109. package/dist/server/handlers/logs.cjs +4 -4
  110. package/dist/server/handlers/logs.js +1 -1
  111. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  112. package/dist/server/handlers/mcp-client-versions.js +1 -1
  113. package/dist/server/handlers/observability-new-endpoints.cjs +19 -19
  114. package/dist/server/handlers/observability-new-endpoints.d.ts +596 -224
  115. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  116. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  117. package/dist/server/handlers/observability.cjs +24 -24
  118. package/dist/server/handlers/observability.d.ts +4 -4
  119. package/dist/server/handlers/observability.js +2 -2
  120. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  121. package/dist/server/handlers/prompt-block-versions.js +1 -1
  122. package/dist/server/handlers/scorer-versions.cjs +8 -8
  123. package/dist/server/handlers/scorer-versions.js +1 -1
  124. package/dist/server/handlers/scores.cjs +7 -7
  125. package/dist/server/handlers/scores.js +1 -1
  126. package/dist/server/handlers/stored-agents.cjs +7 -7
  127. package/dist/server/handlers/stored-agents.js +1 -1
  128. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  129. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  130. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  131. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  132. package/dist/server/handlers/stored-scorers.cjs +6 -6
  133. package/dist/server/handlers/stored-scorers.js +1 -1
  134. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  135. package/dist/server/handlers/stored-workspaces.js +1 -1
  136. package/dist/server/handlers/tools.cjs +6 -6
  137. package/dist/server/handlers/tools.js +1 -1
  138. package/dist/server/handlers/voice.cjs +8 -8
  139. package/dist/server/handlers/voice.js +1 -1
  140. package/dist/server/handlers/workflows.cjs +24 -24
  141. package/dist/server/handlers/workflows.js +1 -1
  142. package/dist/server/handlers.cjs +30 -30
  143. package/dist/server/handlers.js +11 -11
  144. package/dist/server/schemas/datasets.d.ts +4 -0
  145. package/dist/server/schemas/datasets.d.ts.map +1 -1
  146. package/dist/server/schemas/index.cjs +419 -419
  147. package/dist/server/schemas/index.js +8 -8
  148. package/dist/server/server-adapter/index.cjs +205 -205
  149. package/dist/server/server-adapter/index.js +23 -23
  150. package/dist/server/server-adapter/routes/datasets.d.ts +12 -0
  151. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  152. package/dist/server/server-adapter/routes/observability.d.ts +302 -116
  153. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  154. package/package.json +3 -3
  155. package/dist/chunk-4Q2QV27C.js.map +0 -1
  156. package/dist/chunk-6H7FQ4CY.cjs.map +0 -1
  157. package/dist/chunk-6MYRF6QR.js.map +0 -1
  158. package/dist/chunk-AHOZXQZ5.js.map +0 -1
  159. package/dist/chunk-DJQT32SV.cjs.map +0 -1
  160. package/dist/chunk-FGZC4JP7.js.map +0 -1
  161. package/dist/chunk-NTZOZIKF.cjs.map +0 -1
  162. package/dist/chunk-PTTPRMT3.cjs.map +0 -1
  163. package/dist/chunk-PVUR75AM.js.map +0 -1
  164. package/dist/chunk-Z36FXNDQ.cjs.map +0 -1
@@ -53,6 +53,7 @@ var threadIdField = v4.z.string().describe("Conversation thread identifier");
53
53
  var requestIdField = v4.z.string().describe("HTTP request ID for log correlation");
54
54
  var environmentField = v4.z.string().describe(`Environment (e.g., "production" | "staging" | "development")`);
55
55
  var sourceField = v4.z.string().describe(`Source of execution (e.g., "local" | "cloud" | "ci")`);
56
+ var executionSourceField = v4.z.string().describe(`Source of execution (e.g., "local" | "cloud" | "ci")`);
56
57
  var serviceNameField = v4.z.string().describe("Name of the service");
57
58
  var parentEntityTypeField = v4.z.nativeEnum(EntityType).describe("Entity type of the parent entity");
58
59
  var parentEntityIdField = v4.z.string().describe("ID of the parent entity");
@@ -64,7 +65,7 @@ var experimentIdField = v4.z.string().describe("Experiment or eval run identifie
64
65
  var scopeField = v4.z.record(v4.z.string(), v4.z.unknown()).describe('Arbitrary package/app version info (e.g., {"core": "1.0.0", "memory": "1.0.0", "gitSha": "abcd1234"})');
65
66
  var metadataField = v4.z.record(v4.z.string(), v4.z.unknown()).describe("User-defined metadata for custom filtering");
66
67
  var tagsField = v4.z.array(v4.z.string()).describe("Labels for filtering");
67
- var contextFields = {
68
+ var contextFieldsBase = {
68
69
  // Entity identification
69
70
  entityType: entityTypeField.nullish(),
70
71
  entityId: entityIdField.nullish(),
@@ -88,12 +89,19 @@ var contextFields = {
88
89
  requestId: requestIdField.nullish(),
89
90
  // Deployment context
90
91
  environment: environmentField.nullish(),
91
- source: sourceField.nullish(),
92
92
  serviceName: serviceNameField.nullish(),
93
93
  scope: scopeField.nullish(),
94
94
  // Experimentation
95
95
  experimentId: experimentIdField.nullish()
96
96
  };
97
+ var contextFields = {
98
+ ...contextFieldsBase,
99
+ executionSource: executionSourceField.nullish(),
100
+ tags: tagsField.nullish()
101
+ };
102
+ ({
103
+ source: sourceField.nullish()
104
+ });
97
105
  var commonFilterFields = {
98
106
  timestamp: dateRangeSchema.optional().describe("Filter by timestamp range"),
99
107
  traceId: v4.z.string().optional().describe("Filter by trace ID"),
@@ -104,9 +112,7 @@ var commonFilterFields = {
104
112
  organizationId: organizationIdField.optional(),
105
113
  experimentId: experimentIdField.optional(),
106
114
  serviceName: serviceNameField.optional(),
107
- environment: environmentField.optional()
108
- };
109
- var observabilitySignalFilterFields = {
115
+ environment: environmentField.optional(),
110
116
  parentEntityType: parentEntityTypeField.optional(),
111
117
  parentEntityName: parentEntityNameField.optional(),
112
118
  rootEntityType: rootEntityTypeField.optional(),
@@ -116,7 +122,7 @@ var observabilitySignalFilterFields = {
116
122
  sessionId: sessionIdField.optional(),
117
123
  threadId: threadIdField.optional(),
118
124
  requestId: requestIdField.optional(),
119
- source: sourceField.optional(),
125
+ executionSource: executionSourceField.optional(),
120
126
  tags: v4.z.array(v4.z.string()).optional().describe("Filter by tags (must have all specified tags)")
121
127
  };
122
128
  var traceIdField = v4.z.string().describe("Unique trace identifier");
@@ -132,10 +138,12 @@ var logRecordSchema = v4.z.object({
132
138
  // Correlation
133
139
  traceId: traceIdField.nullish(),
134
140
  spanId: spanIdField.nullish(),
135
- // Context fields (same as tracing)
141
+ // Context fields
136
142
  ...contextFields,
137
- // Filtering
138
- tags: tagsField.nullish(),
143
+ /**
144
+ * @deprecated Use `executionSource` instead.
145
+ */
146
+ source: v4.z.string().nullish().describe("Execution source"),
139
147
  metadata: metadataField.nullish()
140
148
  }).describe("Log record as stored in the database");
141
149
  v4.z.object({
@@ -150,8 +158,11 @@ v4.z.object({
150
158
  }).describe("Arguments for batch creating logs");
151
159
  var logsFilterSchema = v4.z.object({
152
160
  ...commonFilterFields,
153
- ...observabilitySignalFilterFields,
154
161
  // Log-specific filters
162
+ /**
163
+ * @deprecated Use `executionSource` instead.
164
+ */
165
+ source: v4.z.string().optional().describe("Filter by execution source"),
155
166
  level: v4.z.union([logLevelSchema, v4.z.array(logLevelSchema)]).optional().describe("Filter by log level(s)")
156
167
  }).describe("Filters for querying logs");
157
168
  var logsOrderByFieldSchema = v4.z.enum(["timestamp"]).describe("Field to order by: 'timestamp'");
@@ -170,7 +181,7 @@ var listLogsResponseSchema = v4.z.object({
170
181
  });
171
182
  var scorerIdField = v4.z.string().describe("Identifier of the scorer (e.g., relevance, accuracy)");
172
183
  var scorerVersionField = v4.z.string().describe("Version of the scorer");
173
- var sourceField2 = v4.z.string().describe("Source of the score (e.g., manual, automated, experiment)");
184
+ var scoreSourceField = v4.z.string().describe("Source of the score (e.g., manual, automated, experiment)");
174
185
  var scoreValueField = v4.z.number().describe("Score value (range defined by scorer)");
175
186
  var scoreReasonField = v4.z.string().describe("Explanation for the score");
176
187
  var scoreRecordSchema = v4.z.object({
@@ -181,10 +192,15 @@ var scoreRecordSchema = v4.z.object({
181
192
  // Score data
182
193
  scorerId: scorerIdField,
183
194
  scorerVersion: scorerVersionField.nullish(),
184
- source: sourceField2.nullish(),
195
+ scoreSource: scoreSourceField.nullish(),
196
+ /**
197
+ * @deprecated Use `scoreSource` instead.
198
+ */
199
+ source: scoreSourceField.nullish(),
185
200
  score: scoreValueField,
186
201
  reason: scoreReasonField.nullish(),
187
- experimentId: experimentIdField.nullish(),
202
+ // Context (entity hierarchy, identity, correlation, deployment, experimentation)
203
+ ...contextFields,
188
204
  /** Trace ID of the scoring run (links to trace that generated this score) */
189
205
  scoreTraceId: v4.z.string().nullish().describe("Trace ID of the scoring run for debugging score generation"),
190
206
  // User-defined metadata (context fields stored here)
@@ -193,7 +209,11 @@ var scoreRecordSchema = v4.z.object({
193
209
  v4.z.object({
194
210
  scorerId: scorerIdField,
195
211
  scorerVersion: scorerVersionField.optional(),
196
- source: sourceField2.optional(),
212
+ scoreSource: scoreSourceField.optional(),
213
+ /**
214
+ * @deprecated Use `scoreSource` instead.
215
+ */
216
+ source: scoreSourceField.optional(),
197
217
  score: scoreValueField,
198
218
  reason: scoreReasonField.optional(),
199
219
  metadata: v4.z.record(v4.z.string(), v4.z.unknown()).optional().describe("Additional scorer-specific metadata"),
@@ -214,7 +234,12 @@ v4.z.object({
214
234
  var scoresFilterSchema = v4.z.object({
215
235
  ...commonFilterFields,
216
236
  // Score-specific filters
217
- scorerId: v4.z.union([v4.z.string(), v4.z.array(v4.z.string())]).optional().describe("Filter by scorer ID(s)")
237
+ scorerId: v4.z.union([v4.z.string(), v4.z.array(v4.z.string())]).optional().describe("Filter by scorer ID(s)"),
238
+ scoreSource: scoreSourceField.optional().describe("Filter by score source"),
239
+ /**
240
+ * @deprecated Use `scoreSource` instead.
241
+ */
242
+ source: scoreSourceField.optional().describe("Filter by score source")
218
243
  }).describe("Filters for querying scores");
219
244
  var scoresOrderByFieldSchema = v4.z.enum(["timestamp", "score"]).describe("Field to order by: 'timestamp' | 'score'");
220
245
  var scoresOrderBySchema = v4.z.object({
@@ -234,58 +259,90 @@ var feedbackSourceField = v4.z.string().describe("Source of feedback (e.g., 'use
234
259
  var feedbackTypeField = v4.z.string().describe("Type of feedback (e.g., 'thumbs', 'rating', 'correction')");
235
260
  var feedbackValueField = v4.z.union([v4.z.number(), v4.z.string()]).describe("Feedback value (rating number or correction text)");
236
261
  var feedbackCommentField = v4.z.string().describe("Additional comment or context");
237
- var feedbackRecordSchema = v4.z.object({
262
+ var feedbackUserIdField = v4.z.string().describe("User who provided the feedback");
263
+ function normalizeLegacyFeedbackActor(input) {
264
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
265
+ return input;
266
+ }
267
+ const record = { ...input };
268
+ if (typeof record.userId === "string" && record.feedbackUserId == null) {
269
+ record.feedbackUserId = record.userId;
270
+ delete record.userId;
271
+ }
272
+ return record;
273
+ }
274
+ var feedbackRecordObjectSchema = v4.z.object({
238
275
  timestamp: v4.z.date().describe("When the feedback was recorded"),
239
276
  // Target
240
277
  traceId: traceIdField,
241
278
  spanId: spanIdField.nullish().describe("Span ID this feedback applies to"),
242
279
  // Feedback data
243
- source: feedbackSourceField,
280
+ feedbackSource: feedbackSourceField.nullish(),
281
+ /**
282
+ * @deprecated Use `feedbackSource` instead.
283
+ */
284
+ source: feedbackSourceField.nullish(),
244
285
  feedbackType: feedbackTypeField,
245
286
  value: feedbackValueField,
246
287
  comment: feedbackCommentField.nullish(),
247
- experimentId: experimentIdField.nullish(),
248
- // Identity
249
- userId: userIdField.nullish(),
288
+ // Feedback actor identity
289
+ feedbackUserId: feedbackUserIdField.nullish(),
290
+ // Context (entity hierarchy, identity, correlation, deployment, experimentation)
291
+ ...contextFields,
250
292
  // Source linkage (e.g. dataset item result ID)
251
293
  sourceId: v4.z.string().nullish().describe("ID of the source record this feedback is linked to (e.g. experiment result ID)"),
252
294
  // User-defined metadata (context fields stored here)
253
295
  metadata: v4.z.record(v4.z.string(), v4.z.unknown()).nullish().describe("User-defined metadata")
254
- }).describe("Feedback record as stored in the database");
255
- v4.z.object({
256
- source: feedbackSourceField,
296
+ });
297
+ var feedbackRecordSchema = v4.z.object(feedbackRecordObjectSchema.shape).describe("Feedback record as stored in the database");
298
+ var feedbackInputObjectSchema = v4.z.object({
299
+ feedbackSource: feedbackSourceField.optional(),
300
+ /**
301
+ * @deprecated Use `feedbackSource` instead.
302
+ */
303
+ source: feedbackSourceField.optional(),
257
304
  feedbackType: feedbackTypeField,
258
305
  value: feedbackValueField,
259
306
  comment: feedbackCommentField.optional(),
260
- userId: userIdField.optional(),
307
+ feedbackUserId: feedbackUserIdField.optional(),
308
+ /**
309
+ * @deprecated Use `feedbackUserId` instead.
310
+ */
311
+ userId: feedbackUserIdField.optional(),
261
312
  metadata: v4.z.record(v4.z.string(), v4.z.unknown()).optional().describe("Additional feedback-specific metadata"),
262
313
  experimentId: experimentIdField.optional(),
263
314
  sourceId: v4.z.string().optional().describe("ID of the source record this feedback is linked to")
264
- }).describe("User-provided feedback input");
265
- var createFeedbackRecordSchema = feedbackRecordSchema;
315
+ });
316
+ v4.z.object(feedbackInputObjectSchema.shape).describe("User-provided feedback input");
266
317
  v4.z.object({
267
- feedback: createFeedbackRecordSchema
318
+ feedback: v4.z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema)
268
319
  }).describe("Arguments for creating feedback");
269
320
  var createFeedbackBodySchema = v4.z.object({
270
- feedback: createFeedbackRecordSchema.omit({ timestamp: true })
321
+ feedback: feedbackRecordObjectSchema.omit({ timestamp: true })
271
322
  }).describe("Arguments for creating feedback");
272
323
  var createFeedbackResponseSchema = v4.z.object({ success: v4.z.boolean() }).describe("Response from creating feedback");
273
324
  v4.z.object({
274
- feedbacks: v4.z.array(createFeedbackRecordSchema)
325
+ feedbacks: v4.z.array(v4.z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema))
275
326
  }).describe("Arguments for batch recording feedback");
276
- var feedbackFilterSchema = v4.z.object({
327
+ var feedbackFilterObjectSchema = v4.z.object({
277
328
  ...commonFilterFields,
278
329
  // Feedback-specific filters
279
330
  feedbackType: v4.z.union([v4.z.string(), v4.z.array(v4.z.string())]).optional().describe("Filter by feedback type(s)"),
280
- source: v4.z.string().optional().describe("Filter by feedback source (e.g., user, system, manual)")
281
- }).describe("Filters for querying feedback");
331
+ feedbackSource: feedbackSourceField.optional().describe("Filter by feedback source (e.g., user, system, manual)"),
332
+ /**
333
+ * @deprecated Use `feedbackSource` instead.
334
+ */
335
+ source: feedbackSourceField.optional().describe("Filter by feedback source (e.g., user, system, manual)"),
336
+ feedbackUserId: feedbackUserIdField.optional()
337
+ });
338
+ var feedbackFilterSchema = v4.z.object(feedbackFilterObjectSchema.shape).describe("Filters for querying feedback");
282
339
  var feedbackOrderByFieldSchema = v4.z.enum(["timestamp"]).describe("Field to order by: 'timestamp'");
283
340
  var feedbackOrderBySchema = v4.z.object({
284
341
  field: feedbackOrderByFieldSchema.default("timestamp").describe("Field to order by"),
285
342
  direction: sortDirectionSchema.default("DESC").describe("Sort direction")
286
343
  }).describe("Order by configuration");
287
344
  v4.z.object({
288
- filters: feedbackFilterSchema.optional().describe("Optional filters to apply"),
345
+ filters: v4.z.preprocess(normalizeLegacyFeedbackActor, feedbackFilterObjectSchema).optional().describe("Optional filters to apply"),
289
346
  pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe("Pagination settings"),
290
347
  orderBy: feedbackOrderBySchema.default({ field: "timestamp", direction: "DESC" }).describe("Ordering configuration (defaults to timestamp desc)")
291
348
  }).describe("Arguments for listing feedback");
@@ -311,6 +368,10 @@ var metricRecordSchema = v4.z.object({
311
368
  spanId: spanIdField.nullish(),
312
369
  // Context (entity hierarchy, identity, correlation, deployment, experimentation)
313
370
  ...contextFields,
371
+ /**
372
+ * @deprecated Use `executionSource` instead.
373
+ */
374
+ source: v4.z.string().nullish().describe("Execution source"),
314
375
  // Canonical costing fields
315
376
  provider: providerField.nullish(),
316
377
  model: modelField.nullish(),
@@ -318,8 +379,6 @@ var metricRecordSchema = v4.z.object({
318
379
  estimatedCost: estimatedCostField.nullish(),
319
380
  costUnit: costUnitField.nullish(),
320
381
  costMetadata: costMetadField.nullish(),
321
- // Filtering
322
- tags: tagsField.nullish(),
323
382
  // User-defined labels used for filtering
324
383
  labels: labelsField.default({}),
325
384
  // User-defined metadata
@@ -343,9 +402,12 @@ v4.z.object({
343
402
  }).describe("Metrics aggregation configuration");
344
403
  var metricsFilterSchema = v4.z.object({
345
404
  ...commonFilterFields,
346
- ...observabilitySignalFilterFields,
347
405
  // Metric identification
348
406
  name: v4.z.array(v4.z.string()).nonempty().optional().describe("Filter by metric name(s)"),
407
+ /**
408
+ * @deprecated Use `executionSource` instead.
409
+ */
410
+ source: v4.z.string().optional().describe("Filter by execution source"),
349
411
  // Canonical costing filters
350
412
  provider: providerField.optional(),
351
413
  model: modelField.optional(),
@@ -712,5 +774,5 @@ exports.LIST_FEEDBACK = LIST_FEEDBACK;
712
774
  exports.LIST_LOGS = LIST_LOGS;
713
775
  exports.LIST_SCORES = LIST_SCORES;
714
776
  exports.NEW_ROUTES = NEW_ROUTES;
715
- //# sourceMappingURL=chunk-PTTPRMT3.cjs.map
716
- //# sourceMappingURL=chunk-PTTPRMT3.cjs.map
777
+ //# sourceMappingURL=chunk-TEAYHLYJ.cjs.map
778
+ //# sourceMappingURL=chunk-TEAYHLYJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../_internal-core/src/storage/domains/shared.ts","../../_internal-core/src/storage/domains/observability/logs.ts","../../_internal-core/src/storage/domains/observability/scores.ts","../../_internal-core/src/storage/domains/observability/feedback.ts","../../_internal-core/src/storage/domains/observability/metrics.ts","../../_internal-core/src/storage/domains/observability/discovery.ts","../src/server/handlers/observability-new-endpoints.ts"],"names":["EntityType","z","createRoute","coreFeatures","HTTPException","handleError","NEW_ROUTE_DEFS","wrapSchemaForQueryParams","pickParams","getObservabilityStore"],"mappings":"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","file":"chunk-TEAYHLYJ.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n/** Types of entities that can produce observability spans. */\nexport enum EntityType {\n /** Agent/Model execution */\n AGENT = 'agent',\n /** Eval */\n EVAL = 'eval',\n /** Input Processor */\n INPUT_PROCESSOR = 'input_processor',\n /** Input Step Processor */\n INPUT_STEP_PROCESSOR = 'input_step_processor',\n /** Output Processor */\n OUTPUT_PROCESSOR = 'output_processor',\n /** Output Step Processor */\n OUTPUT_STEP_PROCESSOR = 'output_step_processor',\n /** Workflow Step */\n WORKFLOW_STEP = 'workflow_step',\n /** Tool */\n TOOL = 'tool',\n /** Workflow */\n WORKFLOW_RUN = 'workflow_run',\n}\n\n/**\n * Common DB fields\n */\nexport const createdAtField = z.date().describe('Database record creation time');\n\nexport const updatedAtField = z.date().describe('Database record last update time');\n\nexport const dbTimestamps = {\n createdAt: createdAtField,\n updatedAt: updatedAtField.nullable(),\n} as const satisfies z.ZodRawShape;\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 */\nexport const paginationArgsSchema = z\n .object({\n page: z.coerce.number().int().min(0).optional().default(0).describe('Zero-indexed page number'),\n perPage: z.coerce.number().int().min(1).max(100).optional().default(10).describe('Number of items per page'),\n })\n .describe('Pagination options for list queries');\n\n/** Input type for pagination arguments (page and perPage). */\nexport type PaginationArgs = z.input<typeof paginationArgsSchema>;\n\n/**\n * Pagination response info\n * Used across all paginated endpoints\n */\nexport const paginationInfoSchema = z.object({\n total: z.number().describe('Total number of items available'),\n page: z.number().describe('Current page'),\n perPage: z\n .union([z.number(), z.literal(false)])\n .describe('Number of items per page, or false if pagination is disabled'),\n hasMore: z.boolean().describe('True if more pages are available'),\n});\n\n/**\n * Date range for filtering by time\n * Uses z.coerce to handle ISO string → Date conversion from query params\n */\nexport const dateRangeSchema = z\n .object({\n start: z.coerce.date().optional().describe('Start of date range (inclusive by default)'),\n end: z.coerce.date().optional().describe('End of date range (inclusive by default)'),\n startExclusive: z\n .boolean()\n .optional()\n .describe('When true, excludes the start date from results (uses > instead of >=)'),\n endExclusive: z\n .boolean()\n .optional()\n .describe('When true, excludes the end date from results (uses < instead of <=)'),\n })\n .describe('Date range filter for timestamps');\n\n/** Date range with optional inclusive/exclusive boundaries. */\nexport type DateRange = z.input<typeof dateRangeSchema>;\n\nexport const sortDirectionSchema = z.enum(['ASC', 'DESC']).describe(\"Sort direction: 'ASC' | 'DESC'\");\n\nexport const entityTypeField = z\n .nativeEnum(EntityType)\n .describe(`Entity type (e.g., 'agent' | 'processor' | 'tool' | 'workflow')`);\n\nexport const entityIdField = z.string().describe('ID of the entity (e.g., \"weatherAgent\", \"orderWorkflow\")');\n\nexport const entityNameField = z.string().describe('Name of the entity');\n\nexport const userIdField = z.string().describe('Human end-user who triggered execution');\n\nexport const organizationIdField = z.string().describe('Multi-tenant organization/account');\n\nexport const resourceIdField = z.string().describe('Broader resource context (Mastra memory compatibility)');\n\nexport const runIdField = z.string().describe('Unique execution run identifier');\n\nexport const sessionIdField = z.string().describe('Session identifier for grouping traces');\n\nexport const threadIdField = z.string().describe('Conversation thread identifier');\n\nexport const requestIdField = z.string().describe('HTTP request ID for log correlation');\n\nexport const environmentField = z.string().describe(`Environment (e.g., \"production\" | \"staging\" | \"development\")`);\n\nexport const sourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\nexport const executionSourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\n\nexport const serviceNameField = z.string().describe('Name of the service');\n\n// Parent entity hierarchy fields\nexport const parentEntityTypeField = z.nativeEnum(EntityType).describe('Entity type of the parent entity');\nexport const parentEntityIdField = z.string().describe('ID of the parent entity');\nexport const parentEntityNameField = z.string().describe('Name of the parent entity');\n\n// Root entity hierarchy fields\nexport const rootEntityTypeField = z.nativeEnum(EntityType).describe('Entity type of the root entity');\nexport const rootEntityIdField = z.string().describe('ID of the root entity');\nexport const rootEntityNameField = z.string().describe('Name of the root entity');\n\n// Experimentation\nexport const experimentIdField = z.string().describe('Experiment or eval run identifier');\n\n// ============================================================================\n// Common observability fields (shared across tracing, metrics, logs)\n// ============================================================================\n\nexport const scopeField = z\n .record(z.string(), z.unknown())\n .describe('Arbitrary package/app version info (e.g., {\"core\": \"1.0.0\", \"memory\": \"1.0.0\", \"gitSha\": \"abcd1234\"})');\n\nexport const metadataField = z.record(z.string(), z.unknown()).describe('User-defined metadata for custom filtering');\n\nexport const tagsField = z.array(z.string()).describe('Labels for filtering');\n\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 // Entity identification\n entityType: entityTypeField.nullish(),\n entityId: entityIdField.nullish(),\n entityName: entityNameField.nullish(),\n\n // Parent entity hierarchy\n parentEntityType: parentEntityTypeField.nullish(),\n parentEntityId: parentEntityIdField.nullish(),\n parentEntityName: parentEntityNameField.nullish(),\n\n // Root entity hierarchy\n rootEntityType: rootEntityTypeField.nullish(),\n rootEntityId: rootEntityIdField.nullish(),\n rootEntityName: rootEntityNameField.nullish(),\n\n // Identity & tenancy\n userId: userIdField.nullish(),\n organizationId: organizationIdField.nullish(),\n resourceId: resourceIdField.nullish(),\n\n // Correlation IDs\n runId: runIdField.nullish(),\n sessionId: sessionIdField.nullish(),\n threadId: threadIdField.nullish(),\n requestId: requestIdField.nullish(),\n\n // Deployment context\n environment: environmentField.nullish(),\n serviceName: serviceNameField.nullish(),\n scope: scopeField.nullish(),\n\n // Experimentation\n experimentId: experimentIdField.nullish(),\n} as const;\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 */\nexport const contextFields = {\n ...contextFieldsBase,\n executionSource: executionSourceField.nullish(),\n tags: tagsField.nullish(),\n} as const;\n\n/**\n * Context fields used by tracing/span records.\n * Tracing continues to expose execution provenance as `source`.\n */\nexport const spanContextFields = {\n ...contextFieldsBase,\n source: sourceField.nullish(),\n} as const;\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 */\nexport const commonFilterFields = {\n timestamp: dateRangeSchema.optional().describe('Filter by timestamp range'),\n traceId: z.string().optional().describe('Filter by trace ID'),\n spanId: z.string().optional().describe('Filter by span ID'),\n entityType: entityTypeField.optional(),\n entityName: entityNameField.optional(),\n userId: userIdField.optional(),\n organizationId: organizationIdField.optional(),\n experimentId: experimentIdField.optional(),\n serviceName: serviceNameField.optional(),\n environment: environmentField.optional(),\n parentEntityType: parentEntityTypeField.optional(),\n parentEntityName: parentEntityNameField.optional(),\n rootEntityType: rootEntityTypeField.optional(),\n rootEntityName: rootEntityNameField.optional(),\n resourceId: resourceIdField.optional(),\n runId: runIdField.optional(),\n sessionId: sessionIdField.optional(),\n threadId: threadIdField.optional(),\n requestId: requestIdField.optional(),\n executionSource: executionSourceField.optional(),\n tags: z.array(z.string()).optional().describe('Filter by tags (must have all specified tags)'),\n} as const;\n\n// ============================================================================\n// Tracing identifier fields (shared across scores, feedback, metrics)\n// ============================================================================\n\n/** Zod schema for trace ID field */\nexport const traceIdField = z.string().describe('Unique trace identifier');\n\n/** Zod schema for span ID field */\nexport const spanIdField = z.string().describe('Unique span identifier within a trace');\n","import { z } from 'zod/v4';\nimport {\n commonFilterFields,\n contextFields,\n metadataField,\n paginationArgsSchema,\n paginationInfoSchema,\n sortDirectionSchema,\n spanIdField,\n tagsField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\n/** Log level schema for validation */\nexport const logLevelSchema = z.enum(['debug', 'info', 'warn', 'error', '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// ============================================================================\n// LogRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for logs as stored in the database.\n * Includes all fields from ExportedLog plus storage-specific fields.\n */\nexport const logRecordSchema = z\n .object({\n timestamp: z.date().describe('When the log was created'),\n level: logLevelSchema.describe('Log severity level'),\n message: messageField,\n data: logDataField.nullish(),\n\n // Correlation\n traceId: traceIdField.nullish(),\n spanId: spanIdField.nullish(),\n\n // Context fields\n ...contextFields,\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().nullish().describe('Execution source'),\n\n metadata: metadataField.nullish(),\n })\n .describe('Log record as stored in the database');\n\n/** Log record type for storage */\nexport type LogRecord = z.infer<typeof logRecordSchema>;\n\n// ============================================================================\n// LogRecordInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided log input (minimal required fields).\n * The logger enriches this with context before emitting ExportedLog.\n */\nexport const logRecordInputSchema = z\n .object({\n level: logLevelSchema,\n message: messageField,\n data: logDataField.optional(),\n tags: tagsField.optional(),\n })\n .describe('User-provided log input');\n\n/** User-facing log input type */\nexport type LogRecordInput = z.infer<typeof logRecordInputSchema>;\n\n// ============================================================================\n// Create Log Schemas\n// ============================================================================\n\n/** Schema for creating a log record */\nexport const createLogRecordSchema = logRecordSchema;\n\n/** Log record for creation (excludes db timestamps) */\nexport type CreateLogRecord = z.infer<typeof createLogRecordSchema>;\n\n/** Schema for batchCreateLogs operation arguments */\nexport const batchCreateLogsArgsSchema = z\n .object({\n logs: z.array(createLogRecordSchema),\n })\n .describe('Arguments for batch creating logs');\n\n/** Arguments for batch creating logs */\nexport type BatchCreateLogsArgs = z.infer<typeof batchCreateLogsArgsSchema>;\n\n// ============================================================================\n// Log Filter Schema\n// ============================================================================\n\n/** Schema for filtering logs in list queries */\nexport const logsFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Log-specific filters\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().optional().describe('Filter by execution source'),\n level: z\n .union([logLevelSchema, z.array(logLevelSchema)])\n .optional()\n .describe('Filter by log level(s)'),\n })\n .describe('Filters for querying logs');\n\n/** Filters for querying logs */\nexport type LogsFilter = z.infer<typeof logsFilterSchema>;\n\n// ============================================================================\n// List Logs Schemas\n// ============================================================================\n\n/** Fields available for ordering log results */\nexport const logsOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for log queries */\nexport const logsOrderBySchema = z\n .object({\n field: logsOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listLogs operation arguments */\nexport const listLogsArgsSchema = z\n .object({\n filters: logsFilterSchema.optional().describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: logsOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing logs');\n\n/** Arguments for listing logs */\nexport type ListLogsArgs = z.input<typeof listLogsArgsSchema>;\n\n/** Schema for listLogs operation response */\nexport const listLogsResponseSchema = z.object({\n pagination: paginationInfoSchema,\n logs: z.array(logRecordSchema),\n});\n\n/** Response containing paginated logs */\nexport type ListLogsResponse = z.infer<typeof listLogsResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n commonFilterFields,\n experimentIdField,\n contextFields,\n paginationArgsSchema,\n paginationInfoSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\nconst scorerIdField = z.string().describe('Identifier of the scorer (e.g., relevance, accuracy)');\nconst scorerVersionField = z.string().describe('Version of the scorer');\nconst scoreSourceField = z.string().describe('Source of the score (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// ============================================================================\n// ScoreRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for scores as stored in the database.\n * Includes all fields from ExportedScore plus storage-specific fields.\n */\nexport const scoreRecordSchema = z\n .object({\n timestamp: z.date().describe('When the score was recorded'),\n\n // Target\n traceId: traceIdField,\n spanId: spanIdField.nullish().describe('Span ID this score applies to'),\n\n // Score data\n scorerId: scorerIdField,\n scorerVersion: scorerVersionField.nullish(),\n scoreSource: scoreSourceField.nullish(),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.nullish(),\n score: scoreValueField,\n reason: scoreReasonField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n\n /** Trace ID of the scoring run (links to trace that generated this score) */\n scoreTraceId: z.string().nullish().describe('Trace ID of the scoring run for debugging score generation'),\n\n // User-defined metadata (context fields stored here)\n metadata: z.record(z.string(), z.unknown()).nullish().describe('User-defined metadata'),\n })\n .describe('Score record as stored in the database');\n\n/** Score record type for storage */\nexport type ScoreRecord = z.infer<typeof scoreRecordSchema>;\n\n// ============================================================================\n// ScoreInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided score input (minimal required fields).\n * The span/trace context adds traceId/spanId before emitting ExportedScore.\n */\nexport const scoreInputSchema = z\n .object({\n scorerId: scorerIdField,\n scorerVersion: scorerVersionField.optional(),\n scoreSource: scoreSourceField.optional(),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.optional(),\n score: scoreValueField,\n reason: scoreReasonField.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional scorer-specific metadata'),\n experimentId: experimentIdField.optional(),\n scoreTraceId: z.string().optional().describe('Trace ID of the scoring run for debugging score generation'),\n })\n .describe('User-provided score input');\n\n/** User-facing score input type */\nexport type ScoreInput = z.infer<typeof scoreInputSchema>;\n\n// ============================================================================\n// Create Score Schemas\n// ============================================================================\n\n/** Schema for creating a score record */\nexport const createScoreRecordSchema = scoreRecordSchema;\n\n/** Score record for creation */\nexport type CreateScoreRecord = z.infer<typeof createScoreRecordSchema>;\n\n/** Schema for createScore operation arguments */\nexport const createScoreArgsSchema = z\n .object({\n score: createScoreRecordSchema,\n })\n .describe('Arguments for creating a score');\n\n/** Arguments for creating a score */\nexport type CreateScoreArgs = z.infer<typeof createScoreArgsSchema>;\n\n/** Schema for createScore operation body in client/server */\nexport const createScoreBodySchema = z\n .object({\n score: createScoreRecordSchema.omit({ timestamp: true }),\n })\n .describe('Arguments for creating a score');\n\n/** Body for creating a score in client/server */\nexport type CreateScoreBody = z.infer<typeof createScoreBodySchema>;\n\n/** Schema for createScore operation response */\nexport const createScoreResponseSchema = z.object({ success: z.boolean() }).describe('Response from creating a score');\n\n/** Response from creating a score */\nexport type CreateScoreResponse = z.infer<typeof createScoreResponseSchema>;\n\n/** Schema for batchCreateScores operation arguments */\nexport const batchCreateScoresArgsSchema = z\n .object({\n scores: z.array(createScoreRecordSchema),\n })\n .describe('Arguments for batch recording scores');\n\n/** Arguments for batch creating scores */\nexport type BatchCreateScoresArgs = z.infer<typeof batchCreateScoresArgsSchema>;\n\n// ============================================================================\n// Score Filter Schema\n// ============================================================================\n\n/** Schema for filtering scores in list queries */\nexport const scoresFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Score-specific filters\n scorerId: z\n .union([z.string(), z.array(z.string())])\n .optional()\n .describe('Filter by scorer ID(s)'),\n scoreSource: scoreSourceField.optional().describe('Filter by score source'),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.optional().describe('Filter by score source'),\n })\n .describe('Filters for querying scores');\n\n/** Filters for querying scores */\nexport type ScoresFilter = z.infer<typeof scoresFilterSchema>;\n\n// ============================================================================\n// List Scores Schemas\n// ============================================================================\n\n/** Fields available for ordering score results */\nexport const scoresOrderByFieldSchema = z\n .enum(['timestamp', 'score'])\n .describe(\"Field to order by: 'timestamp' | 'score'\");\n\n/** Order by configuration for score queries */\nexport const scoresOrderBySchema = z\n .object({\n field: scoresOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listScores operation arguments */\nexport const listScoresArgsSchema = z\n .object({\n filters: scoresFilterSchema.optional().describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: scoresOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing scores');\n\n/** Arguments for listing scores */\nexport type ListScoresArgs = z.input<typeof listScoresArgsSchema>;\n\n/** Schema for listScores operation response */\nexport const listScoresResponseSchema = z.object({\n pagination: paginationInfoSchema,\n scores: z.array(scoreRecordSchema),\n});\n\n/** Response containing paginated scores */\nexport type ListScoresResponse = z.infer<typeof listScoresResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n commonFilterFields,\n experimentIdField,\n contextFields,\n paginationArgsSchema,\n paginationInfoSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\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\n .union([z.number(), z.string()])\n .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');\n\nfunction normalizeLegacyFeedbackActor<T>(input: T): T {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n return input;\n }\n\n const record = { ...(input as Record<string, unknown>) };\n if (typeof record.userId === 'string' && record.feedbackUserId == null) {\n record.feedbackUserId = record.userId;\n delete record.userId;\n }\n\n return record as T;\n}\n\n// ============================================================================\n// FeedbackRecord Schema (Storage Format)\n// ============================================================================\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 timestamp: z.date().describe('When the feedback was recorded'),\n\n // Target\n traceId: traceIdField,\n spanId: spanIdField.nullish().describe('Span ID this feedback applies to'),\n\n // Feedback data\n feedbackSource: feedbackSourceField.nullish(),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.nullish(),\n feedbackType: feedbackTypeField,\n value: feedbackValueField,\n comment: feedbackCommentField.nullish(),\n\n // Feedback actor identity\n feedbackUserId: feedbackUserIdField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n\n // Source linkage (e.g. dataset item result ID)\n sourceId: z\n .string()\n .nullish()\n .describe('ID of the source record this feedback is linked to (e.g. experiment result ID)'),\n\n // User-defined metadata (context fields stored here)\n metadata: z.record(z.string(), z.unknown()).nullish().describe('User-defined metadata'),\n});\n\nexport const feedbackRecordSchema = z\n .object(feedbackRecordObjectSchema.shape)\n .describe('Feedback record as stored in the database');\n\n/** Feedback record type for storage */\nexport type FeedbackRecord = z.infer<typeof feedbackRecordSchema>;\n\n// ============================================================================\n// FeedbackInput Schema (User-Facing API)\n// ============================================================================\n\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 feedbackSource: feedbackSourceField.optional(),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.optional(),\n feedbackType: feedbackTypeField,\n value: feedbackValueField,\n comment: feedbackCommentField.optional(),\n feedbackUserId: feedbackUserIdField.optional(),\n /**\n * @deprecated Use `feedbackUserId` instead.\n */\n userId: feedbackUserIdField.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional feedback-specific metadata'),\n experimentId: experimentIdField.optional(),\n sourceId: z.string().optional().describe('ID of the source record this feedback is linked to'),\n});\n\nexport const feedbackInputSchema = z.object(feedbackInputObjectSchema.shape).describe('User-provided feedback input');\n\n/** User-facing feedback input type */\nexport type FeedbackInput = z.infer<typeof feedbackInputSchema>;\n\n// ============================================================================\n// Create Feedback Schemas\n// ============================================================================\n\n/** Schema for creating a feedback record */\nexport const createFeedbackRecordSchema = feedbackRecordSchema;\n\n/** Feedback record for creation */\nexport type CreateFeedbackRecord = z.infer<typeof createFeedbackRecordSchema>;\n\n/** Schema for createFeedback operation arguments */\nexport const createFeedbackArgsSchema = z\n .object({\n feedback: z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema),\n })\n .describe('Arguments for creating feedback');\n\n/** Arguments for creating feedback */\nexport type CreateFeedbackArgs = z.infer<typeof createFeedbackArgsSchema>;\n\n/** Schema for createFeedback operation body in client/server */\nexport const createFeedbackBodySchema = z\n .object({\n feedback: feedbackRecordObjectSchema.omit({ timestamp: true }),\n })\n .describe('Arguments for creating feedback');\n\n/** Body for creating feedback in client/server */\nexport type CreateFeedbackBody = z.infer<typeof createFeedbackBodySchema>;\n\n/** Schema for createFeedback operation response */\nexport const createFeedbackResponseSchema = z\n .object({ success: z.boolean() })\n .describe('Response from creating feedback');\n\n/** Response from creating feedback */\nexport type CreateFeedbackResponse = z.infer<typeof createFeedbackResponseSchema>;\n\n/** Schema for batchCreateFeedback operation arguments */\nexport const batchCreateFeedbackArgsSchema = z\n .object({\n feedbacks: z.array(z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema)),\n })\n .describe('Arguments for batch recording feedback');\n\n/** Arguments for batch creating feedback */\nexport type BatchCreateFeedbackArgs = z.infer<typeof batchCreateFeedbackArgsSchema>;\n\n// ============================================================================\n// Feedback Filter Schema\n// ============================================================================\n\n/** Schema for filtering feedback in list queries */\nconst feedbackFilterObjectSchema = z.object({\n ...commonFilterFields,\n\n // Feedback-specific filters\n feedbackType: z\n .union([z.string(), z.array(z.string())])\n .optional()\n .describe('Filter by feedback type(s)'),\n feedbackSource: feedbackSourceField.optional().describe('Filter by feedback source (e.g., user, system, manual)'),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.optional().describe('Filter by feedback source (e.g., user, system, manual)'),\n feedbackUserId: feedbackUserIdField.optional(),\n});\n\nexport const feedbackFilterSchema = z\n .object(feedbackFilterObjectSchema.shape)\n .describe('Filters for querying feedback');\n\n/** Filters for querying feedback */\nexport type FeedbackFilter = z.infer<typeof feedbackFilterSchema>;\n\n// ============================================================================\n// List Feedback Schemas\n// ============================================================================\n\n/** Fields available for ordering feedback results */\nexport const feedbackOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for feedback queries */\nexport const feedbackOrderBySchema = z\n .object({\n field: feedbackOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listFeedback operation arguments */\nexport const listFeedbackArgsSchema = z\n .object({\n filters: z\n .preprocess(normalizeLegacyFeedbackActor, feedbackFilterObjectSchema)\n .optional()\n .describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: feedbackOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing feedback');\n\n/** Arguments for listing feedback */\nexport type ListFeedbackArgs = z.input<typeof listFeedbackArgsSchema>;\n\n/** Schema for listFeedback operation response */\nexport const listFeedbackResponseSchema = z.object({\n pagination: paginationInfoSchema,\n feedback: z.array(feedbackRecordSchema),\n});\n\n/** Response containing paginated feedback */\nexport type ListFeedbackResponse = z.infer<typeof listFeedbackResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n commonFilterFields,\n contextFields,\n paginationArgsSchema,\n paginationInfoSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n metadataField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\n/**\n * @deprecated MetricType is no longer stored. All metrics are raw events\n * with aggregation determined at query time.\n */\nexport const metricTypeSchema = z.enum(['counter', 'gauge', '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// ============================================================================\n// MetricRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for metrics as stored in the database.\n * Each record is a single metric observation.\n */\nexport const metricRecordSchema = z\n .object({\n timestamp: z.date().describe('When the metric was recorded'),\n name: metricNameField,\n value: metricValueField,\n\n // Correlation\n traceId: traceIdField.nullish(),\n spanId: spanIdField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().nullish().describe('Execution source'),\n\n // Canonical costing fields\n provider: providerField.nullish(),\n model: modelField.nullish(),\n\n // Estimated cost related fields\n estimatedCost: estimatedCostField.nullish(),\n costUnit: costUnitField.nullish(),\n costMetadata: costMetadField.nullish(),\n\n // User-defined labels used for filtering\n labels: labelsField.default({}),\n\n // User-defined metadata\n metadata: metadataField.nullish(),\n })\n .describe('Metric record as stored in the database');\n\n/** Metric record type for storage */\nexport type MetricRecord = z.infer<typeof metricRecordSchema>;\n\n// ============================================================================\n// MetricInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided metric input (minimal required fields).\n * The metrics context enriches this with environment before emitting ExportedMetric.\n */\nexport const metricInputSchema = z\n .object({\n name: metricNameField,\n value: metricValueField,\n labels: labelsField.optional(),\n })\n .describe('User-provided metric input');\n\n/** User-facing metric input type */\nexport type MetricInput = z.infer<typeof metricInputSchema>;\n\n// ============================================================================\n// Create Metric Schemas\n// ============================================================================\n\n/** Schema for creating a metric record (without db timestamps) */\nexport const createMetricRecordSchema = metricRecordSchema;\n\n/** Metric record for creation (excludes db timestamps) */\nexport type CreateMetricRecord = z.infer<typeof createMetricRecordSchema>;\n\n/** Schema for batchCreateMetrics operation arguments */\nexport const batchCreateMetricsArgsSchema = z\n .object({\n metrics: z.array(createMetricRecordSchema),\n })\n .describe('Arguments for batch recording metrics');\n\n/** Arguments for batch recording metrics */\nexport type BatchCreateMetricsArgs = z.infer<typeof batchCreateMetricsArgsSchema>;\n\n// ============================================================================\n// Metric Aggregation Schemas\n// ============================================================================\n\n/** Aggregation type schema */\nexport const aggregationTypeSchema = z.enum(['sum', 'avg', 'min', 'max', 'count', 'last']);\nexport type AggregationType = z.infer<typeof aggregationTypeSchema>;\n\n/** Aggregation interval schema */\nexport const aggregationIntervalSchema = z.enum(['1m', '5m', '15m', '1h', '1d']);\nexport type AggregationInterval = z.infer<typeof aggregationIntervalSchema>;\n\n/** Schema for metric aggregation configuration */\nexport const metricsAggregationSchema = z\n .object({\n type: aggregationTypeSchema.describe('Aggregation function'),\n interval: aggregationIntervalSchema.optional().describe('Time bucket interval'),\n groupBy: z.array(z.string()).optional().describe('Label keys to group by'),\n })\n .describe('Metrics aggregation configuration');\n\n/** Metrics aggregation configuration type */\nexport type MetricsAggregation = z.infer<typeof metricsAggregationSchema>;\n\n// ============================================================================\n// Metric Filter Schema\n// ============================================================================\n\n/** Schema for filtering metrics in queries */\nexport const metricsFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Metric identification\n name: z.array(z.string()).nonempty().optional().describe('Filter by metric name(s)'),\n\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().optional().describe('Filter by execution source'),\n\n // Canonical costing filters\n provider: providerField.optional(),\n model: modelField.optional(),\n costUnit: costUnitField.optional(),\n\n // Label filters (exact match on label values)\n labels: z.record(z.string(), z.string()).optional().describe('Exact match on label key-value pairs'),\n })\n .describe('Filters for querying metrics');\n\n/** Filters for querying metrics */\nexport type MetricsFilter = z.infer<typeof metricsFilterSchema>;\n\n/** Fields available for ordering metric list results */\nexport const metricsOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for metric list queries */\nexport const metricsOrderBySchema = z\n .object({\n field: metricsOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listMetrics operation arguments */\nexport const listMetricsArgsSchema = z\n .object({\n filters: metricsFilterSchema.optional().describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: metricsOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing metrics');\n\n/** Arguments for listing metrics */\nexport type ListMetricsArgs = z.input<typeof listMetricsArgsSchema>;\n\n/** Schema for listMetrics operation response */\nexport const listMetricsResponseSchema = z.object({\n pagination: paginationInfoSchema,\n metrics: z.array(metricRecordSchema),\n});\n\n/** Response containing paginated metrics */\nexport type ListMetricsResponse = z.infer<typeof listMetricsResponseSchema>;\n\n// ============================================================================\n// OLAP Query Schemas\n// ============================================================================\n\n/** Compare period for aggregate queries with period-over-period comparison */\nexport const comparePeriodSchema = z\n .enum(['previous_period', 'previous_day', 'previous_week'])\n .describe('Comparison period for aggregate queries');\n\n// --- getMetricAggregate ---\n\nexport const getMetricAggregateArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s) to aggregate'),\n aggregation: aggregationTypeSchema.describe('Aggregation function'),\n filters: metricsFilterSchema.optional().describe('Optional filters'),\n comparePeriod: comparePeriodSchema.optional().describe('Optional comparison period'),\n })\n .describe('Arguments for getting a metric aggregate');\n\nexport type GetMetricAggregateArgs = z.infer<typeof getMetricAggregateArgsSchema>;\n\nexport const getMetricAggregateResponseSchema = z.object({\n value: z.number().nullable().describe('Aggregated value'),\n estimatedCost: z.number().nullable().optional().describe('Aggregated estimated cost from the same filtered row set'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for the aggregated rows, or null when mixed/unknown'),\n previousValue: z.number().nullable().optional().describe('Value from comparison period'),\n previousEstimatedCost: z\n .number()\n .nullable()\n .optional()\n .describe('Aggregated estimated cost from the comparison period'),\n changePercent: z.number().nullable().optional().describe('Percentage change from comparison period'),\n costChangePercent: z\n .number()\n .nullable()\n .optional()\n .describe('Percentage change in estimated cost from comparison period'),\n});\n\nexport type GetMetricAggregateResponse = z.infer<typeof getMetricAggregateResponseSchema>;\n\n// --- getMetricBreakdown ---\n\nexport const getMetricBreakdownArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s) to break down'),\n groupBy: z.array(z.string()).min(1).describe('Fields to group by'),\n aggregation: aggregationTypeSchema.describe('Aggregation function'),\n filters: metricsFilterSchema.optional().describe('Optional filters'),\n })\n .describe('Arguments for getting a metric breakdown');\n\nexport type GetMetricBreakdownArgs = z.infer<typeof getMetricBreakdownArgsSchema>;\n\nexport const getMetricBreakdownResponseSchema = z.object({\n groups: z.array(\n z.object({\n dimensions: z.record(z.string(), z.string().nullable()).describe('Dimension values for this group'),\n value: z.number().describe('Aggregated value for this group'),\n estimatedCost: z.number().nullable().optional().describe('Summed estimated cost for this group'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for this group, or null when mixed/unknown'),\n }),\n ),\n});\n\nexport type GetMetricBreakdownResponse = z.infer<typeof getMetricBreakdownResponseSchema>;\n\n// --- getMetricTimeSeries ---\n\nexport const getMetricTimeSeriesArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s)'),\n interval: aggregationIntervalSchema.describe('Time bucket interval'),\n aggregation: aggregationTypeSchema.describe('Aggregation function'),\n filters: metricsFilterSchema.optional().describe('Optional filters'),\n groupBy: z.array(z.string()).optional().describe('Optional fields to group by'),\n })\n .describe('Arguments for getting metric time series');\n\nexport type GetMetricTimeSeriesArgs = z.infer<typeof getMetricTimeSeriesArgsSchema>;\n\nexport const getMetricTimeSeriesResponseSchema = z.object({\n series: z.array(\n z.object({\n name: z.string().describe('Series name (metric name or group key)'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for this series, or null when mixed/unknown'),\n points: z.array(\n z.object({\n timestamp: z.date().describe('Bucket timestamp'),\n value: z.number().describe('Aggregated value'),\n estimatedCost: z.number().nullable().optional().describe('Summed estimated cost in this bucket'),\n }),\n ),\n }),\n ),\n});\n\nexport type GetMetricTimeSeriesResponse = z.infer<typeof getMetricTimeSeriesResponseSchema>;\n\n// --- getMetricPercentiles ---\n\nexport const getMetricPercentilesArgsSchema = z\n .object({\n name: z.string().describe('Metric name'),\n percentiles: z.array(z.number().min(0).max(1)).describe('Percentile values (0-1)'),\n interval: aggregationIntervalSchema.describe('Time bucket interval'),\n filters: metricsFilterSchema.optional().describe('Optional filters'),\n })\n .describe('Arguments for getting metric percentiles');\n\nexport type GetMetricPercentilesArgs = z.infer<typeof getMetricPercentilesArgsSchema>;\n\nexport const getMetricPercentilesResponseSchema = z.object({\n series: z.array(\n z.object({\n percentile: z.number().describe('Percentile value'),\n points: z.array(\n z.object({\n timestamp: z.date().describe('Bucket timestamp'),\n value: z.number().describe('Percentile value at this bucket'),\n }),\n ),\n }),\n ),\n});\n\nexport type GetMetricPercentilesResponse = z.infer<typeof getMetricPercentilesResponseSchema>;\n","import { z } from 'zod/v4';\nimport { entityTypeField } from '../shared';\n\n// ============================================================================\n// Metric Discovery\n// ============================================================================\n\n// --- getMetricNames ---\n\nexport const getMetricNamesArgsSchema = z\n .object({\n prefix: z.string().optional().describe('Filter metric names by prefix'),\n limit: z.number().int().min(1).optional().describe('Maximum number of names to return'),\n })\n .describe('Arguments for getting metric names');\n\nexport type GetMetricNamesArgs = z.infer<typeof getMetricNamesArgsSchema>;\n\nexport const getMetricNamesResponseSchema = z.object({\n names: z.array(z.string()).describe('Distinct metric names'),\n});\n\nexport type GetMetricNamesResponse = z.infer<typeof getMetricNamesResponseSchema>;\n\n// --- getMetricLabelKeys ---\n\nexport const getMetricLabelKeysArgsSchema = z\n .object({\n metricName: z.string().describe('Metric name to get label keys for'),\n })\n .describe('Arguments for getting metric label keys');\n\nexport type GetMetricLabelKeysArgs = z.infer<typeof getMetricLabelKeysArgsSchema>;\n\nexport const getMetricLabelKeysResponseSchema = z.object({\n keys: z.array(z.string()).describe('Distinct label keys for the metric'),\n});\n\nexport type GetMetricLabelKeysResponse = z.infer<typeof getMetricLabelKeysResponseSchema>;\n\n// --- getMetricLabelValues ---\n\nexport const getMetricLabelValuesArgsSchema = z\n .object({\n metricName: z.string().describe('Metric name'),\n labelKey: z.string().describe('Label key to get values for'),\n prefix: z.string().optional().describe('Filter values by prefix'),\n limit: z.number().int().min(1).optional().describe('Maximum number of values to return'),\n })\n .describe('Arguments for getting label values');\n\nexport type GetMetricLabelValuesArgs = z.infer<typeof getMetricLabelValuesArgsSchema>;\n\nexport const getMetricLabelValuesResponseSchema = z.object({\n values: z.array(z.string()).describe('Distinct label values'),\n});\n\nexport type GetMetricLabelValuesResponse = z.infer<typeof getMetricLabelValuesResponseSchema>;\n\n// ============================================================================\n// Entity & Environment Discovery\n// ============================================================================\n\n// --- getEntityTypes ---\n\nexport const getEntityTypesArgsSchema = z.object({}).describe('Arguments for getting entity types');\n\nexport type GetEntityTypesArgs = z.infer<typeof getEntityTypesArgsSchema>;\n\nexport const getEntityTypesResponseSchema = z.object({\n entityTypes: z.array(entityTypeField).describe('Distinct entity types'),\n});\n\nexport type GetEntityTypesResponse = z.infer<typeof getEntityTypesResponseSchema>;\n\n// --- getEntityNames ---\n\nexport const getEntityNamesArgsSchema = z\n .object({\n entityType: entityTypeField.optional().describe('Optional entity type filter'),\n })\n .describe('Arguments for getting entity names');\n\nexport type GetEntityNamesArgs = z.infer<typeof getEntityNamesArgsSchema>;\n\nexport const getEntityNamesResponseSchema = z.object({\n names: z.array(z.string()).describe('Distinct entity names'),\n});\n\nexport type GetEntityNamesResponse = z.infer<typeof getEntityNamesResponseSchema>;\n\n// --- getServiceNames ---\n\nexport const getServiceNamesArgsSchema = z.object({}).describe('Arguments for getting service names');\n\nexport type GetServiceNamesArgs = z.infer<typeof getServiceNamesArgsSchema>;\n\nexport const getServiceNamesResponseSchema = z.object({\n serviceNames: z.array(z.string()).describe('Distinct service names'),\n});\n\nexport type GetServiceNamesResponse = z.infer<typeof getServiceNamesResponseSchema>;\n\n// --- getEnvironments ---\n\nexport const getEnvironmentsArgsSchema = z.object({}).describe('Arguments for getting environments');\n\nexport type GetEnvironmentsArgs = z.infer<typeof getEnvironmentsArgsSchema>;\n\nexport const getEnvironmentsResponseSchema = z.object({\n environments: z.array(z.string()).describe('Distinct environments'),\n});\n\nexport type GetEnvironmentsResponse = z.infer<typeof getEnvironmentsResponseSchema>;\n\n// --- getTags ---\n\nexport const getTagsArgsSchema = z\n .object({\n entityType: entityTypeField.optional().describe('Optional entity type filter'),\n })\n .describe('Arguments for getting tags');\n\nexport type GetTagsArgs = z.infer<typeof getTagsArgsSchema>;\n\nexport const getTagsResponseSchema = z.object({\n tags: z.array(z.string()).describe('Distinct tags'),\n});\n\nexport type GetTagsResponse = z.infer<typeof getTagsResponseSchema>;\n","import {\n // Logs\n logsFilterSchema,\n logsOrderBySchema,\n listLogsResponseSchema,\n // Scores (observability)\n scoresFilterSchema,\n scoresOrderBySchema,\n listScoresResponseSchema as obsListScoresResponseSchema,\n createScoreBodySchema,\n createScoreResponseSchema,\n // Feedback\n feedbackFilterSchema,\n feedbackOrderBySchema,\n listFeedbackResponseSchema,\n createFeedbackBodySchema,\n createFeedbackResponseSchema,\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 paginationArgsSchema,\n} from '@internal/core/storage';\nimport { coreFeatures } from '@mastra/core/features';\nimport type { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport type { InferParams, ServerContext, ServerRouteHandler } from '../server-adapter/routes';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { getObservabilityStore, NEW_ROUTE_DEFS } 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 handler: ServerRouteHandler<InferParams<TPathSchema, TQuerySchema, TBodySchema>>;\n },\n) {\n const { handler, ...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 if (!coreFeatures.has('observability:v1.13.2')) {\n throw new HTTPException(501, {\n message: 'New observability endpoints require @mastra/core >= 1.13.3, please upgrade.',\n });\n }\n\n try {\n return await handler(params);\n } catch (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// Log Routes\n// ============================================================================\n\nexport const LIST_LOGS = createNewRoute(NEW_ROUTE_DEFS.LIST_LOGS, {\n queryParamSchema: wrapSchemaForQueryParams(\n logsFilterSchema.extend(paginationArgsSchema.shape).extend(logsOrderBySchema.shape).partial(),\n ),\n responseSchema: listLogsResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(logsFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(logsOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listLogs({ filters, pagination, orderBy });\n },\n});\n\n// ============================================================================\n// Score Routes\n// ============================================================================\n\nexport const LIST_SCORES = createNewRoute(NEW_ROUTE_DEFS.LIST_SCORES, {\n queryParamSchema: wrapSchemaForQueryParams(\n scoresFilterSchema.extend(paginationArgsSchema.shape).extend(scoresOrderBySchema.shape).partial(),\n ),\n responseSchema: obsListScoresResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(scoresFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(scoresOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listScores({ filters, pagination, orderBy });\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({ score: { ...score, timestamp: new Date() } });\n return { success: true };\n },\n});\n\n// ============================================================================\n// Feedback Routes\n// ============================================================================\n\nexport const LIST_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.LIST_FEEDBACK, {\n queryParamSchema: wrapSchemaForQueryParams(\n feedbackFilterSchema.extend(paginationArgsSchema.shape).extend(feedbackOrderBySchema.shape).partial(),\n ),\n responseSchema: listFeedbackResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(feedbackFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(feedbackOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listFeedback({ filters, pagination, orderBy });\n },\n});\n\nexport const CREATE_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.CREATE_FEEDBACK, {\n bodySchema: createFeedbackBodySchema,\n responseSchema: createFeedbackResponseSchema,\n handler: async ({ mastra, feedback }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.createFeedback({ feedback: { ...feedback, timestamp: new Date() } });\n return { success: true };\n },\n});\n\n// ============================================================================\n// Metrics Routes\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 LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\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"]}
@@ -1,10 +1,10 @@
1
- import { listStoredScorersResponseSchema, listStoredScorersQuerySchema, getStoredScorerResponseSchema, storedScorerIdPathParams, createStoredScorerResponseSchema, createStoredScorerBodySchema, updateStoredScorerResponseSchema, updateStoredScorerBodySchema, deleteStoredScorerResponseSchema } from './chunk-BWUKBT7Z.js';
2
1
  import { handleAutoVersioning } from './chunk-33QPJPK4.js';
2
+ import { listStoredScorersResponseSchema, listStoredScorersQuerySchema, getStoredScorerResponseSchema, storedScorerIdPathParams, createStoredScorerResponseSchema, createStoredScorerBodySchema, updateStoredScorerResponseSchema, updateStoredScorerBodySchema, deleteStoredScorerResponseSchema } from './chunk-BWUKBT7Z.js';
3
3
  import { toSlug } from './chunk-RGI5IQDO.js';
4
- import { statusQuerySchema } from './chunk-S2QK2XG2.js';
5
4
  import { handleError } from './chunk-P23KBWKB.js';
6
5
  import { createRoute } from './chunk-NMS2SC2B.js';
7
6
  import { HTTPException } from './chunk-6QWQZI4Q.js';
7
+ import { statusQuerySchema } from './chunk-S2QK2XG2.js';
8
8
 
9
9
  // src/server/handlers/stored-scorers.ts
10
10
  var SCORER_SNAPSHOT_CONFIG_FIELDS = [
@@ -271,5 +271,5 @@ var DELETE_STORED_SCORER_ROUTE = createRoute({
271
271
  });
272
272
 
273
273
  export { CREATE_STORED_SCORER_ROUTE, DELETE_STORED_SCORER_ROUTE, GET_STORED_SCORER_ROUTE, LIST_STORED_SCORERS_ROUTE, UPDATE_STORED_SCORER_ROUTE };
274
- //# sourceMappingURL=chunk-MKW43AJ3.js.map
275
- //# sourceMappingURL=chunk-MKW43AJ3.js.map
274
+ //# sourceMappingURL=chunk-TWILU7Q5.js.map
275
+ //# sourceMappingURL=chunk-TWILU7Q5.js.map