@mastra/server 1.53.0-alpha.2 → 1.53.0-alpha.3

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 (44) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{api-schema-manifest-XUZGITBV.cjs → api-schema-manifest-BTKRYQN2.cjs} +4 -4
  3. package/dist/{api-schema-manifest-XUZGITBV.cjs.map → api-schema-manifest-BTKRYQN2.cjs.map} +1 -1
  4. package/dist/{api-schema-manifest-O4VMTNLT.js → api-schema-manifest-VEPBOUL3.js} +3 -3
  5. package/dist/{api-schema-manifest-O4VMTNLT.js.map → api-schema-manifest-VEPBOUL3.js.map} +1 -1
  6. package/dist/{chunk-2K3GCDOX.js → chunk-2UXT54P3.js} +3 -3
  7. package/dist/{chunk-2K3GCDOX.js.map → chunk-2UXT54P3.js.map} +1 -1
  8. package/dist/{chunk-NZZLZSVD.js → chunk-6W7NBDZW.js} +3 -3
  9. package/dist/{chunk-NZZLZSVD.js.map → chunk-6W7NBDZW.js.map} +1 -1
  10. package/dist/{chunk-EAVV7J77.cjs → chunk-C7LSLDC7.cjs} +3 -3
  11. package/dist/chunk-C7LSLDC7.cjs.map +1 -0
  12. package/dist/{chunk-TH7EIZLU.cjs → chunk-DGCF3QUM.cjs} +65 -65
  13. package/dist/{chunk-TH7EIZLU.cjs.map → chunk-DGCF3QUM.cjs.map} +1 -1
  14. package/dist/{chunk-UTOKVLFZ.cjs → chunk-HDM4ZEVO.cjs} +43 -43
  15. package/dist/{chunk-UTOKVLFZ.cjs.map → chunk-HDM4ZEVO.cjs.map} +1 -1
  16. package/dist/{chunk-ZVTNACHY.js → chunk-J2DXOUZV.js} +4 -4
  17. package/dist/{chunk-ZVTNACHY.js.map → chunk-J2DXOUZV.js.map} +1 -1
  18. package/dist/{chunk-WCTXV424.cjs → chunk-M3HO4QJQ.cjs} +46 -46
  19. package/dist/{chunk-WCTXV424.cjs.map → chunk-M3HO4QJQ.cjs.map} +1 -1
  20. package/dist/{chunk-LVGKXQCC.cjs → chunk-M5O2SOWH.cjs} +3 -3
  21. package/dist/{chunk-LVGKXQCC.cjs.map → chunk-M5O2SOWH.cjs.map} +1 -1
  22. package/dist/{chunk-LOGRPGIH.js → chunk-R7SQRQYD.js} +3 -3
  23. package/dist/chunk-R7SQRQYD.js.map +1 -0
  24. package/dist/{chunk-TTE75FML.js → chunk-TQLNRUH3.js} +5 -5
  25. package/dist/{chunk-TTE75FML.js.map → chunk-TQLNRUH3.js.map} +1 -1
  26. package/dist/docs/SKILL.md +1 -1
  27. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  28. package/dist/server/handlers/observability-new-endpoints.cjs +29 -29
  29. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  30. package/dist/server/handlers/observability-shared.cjs +9 -9
  31. package/dist/server/handlers/observability-shared.d.ts +1 -1
  32. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  33. package/dist/server/handlers/observability-shared.js +1 -1
  34. package/dist/server/handlers/observability.cjs +40 -40
  35. package/dist/server/handlers/observability.js +2 -2
  36. package/dist/server/handlers/system.cjs +3 -3
  37. package/dist/server/handlers/system.js +1 -1
  38. package/dist/server/handlers.cjs +2 -2
  39. package/dist/server/handlers.js +1 -1
  40. package/dist/server/server-adapter/index.cjs +13 -13
  41. package/dist/server/server-adapter/index.js +2 -2
  42. package/package.json +5 -5
  43. package/dist/chunk-EAVV7J77.cjs.map +0 -1
  44. package/dist/chunk-LOGRPGIH.js.map +0 -1
@@ -1,40 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var chunkEAVV7J77_cjs = require('../../chunk-EAVV7J77.cjs');
3
+ var chunkC7LSLDC7_cjs = require('../../chunk-C7LSLDC7.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "NEW_ROUTE_DEFS", {
8
8
  enumerable: true,
9
- get: function () { return chunkEAVV7J77_cjs.NEW_ROUTE_DEFS; }
9
+ get: function () { return chunkC7LSLDC7_cjs.NEW_ROUTE_DEFS; }
10
10
  });
11
11
  Object.defineProperty(exports, "OBSERVABILITY_DELTA_POLLING_FEATURE", {
12
12
  enumerable: true,
13
- get: function () { return chunkEAVV7J77_cjs.OBSERVABILITY_DELTA_POLLING_FEATURE; }
13
+ get: function () { return chunkC7LSLDC7_cjs.OBSERVABILITY_DELTA_POLLING_FEATURE; }
14
14
  });
15
15
  Object.defineProperty(exports, "OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE", {
16
16
  enumerable: true,
17
- get: function () { return chunkEAVV7J77_cjs.OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE; }
17
+ get: function () { return chunkC7LSLDC7_cjs.OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE; }
18
18
  });
19
19
  Object.defineProperty(exports, "OBSERVABILITY_LIST_ENDPOINTS", {
20
20
  enumerable: true,
21
- get: function () { return chunkEAVV7J77_cjs.OBSERVABILITY_LIST_ENDPOINTS; }
21
+ get: function () { return chunkC7LSLDC7_cjs.OBSERVABILITY_LIST_ENDPOINTS; }
22
22
  });
23
23
  Object.defineProperty(exports, "assertObservabilityDeltaSupported", {
24
24
  enumerable: true,
25
- get: function () { return chunkEAVV7J77_cjs.assertObservabilityDeltaSupported; }
25
+ get: function () { return chunkC7LSLDC7_cjs.assertObservabilityDeltaSupported; }
26
26
  });
27
27
  Object.defineProperty(exports, "createObservabilityListQuerySchema", {
28
28
  enumerable: true,
29
- get: function () { return chunkEAVV7J77_cjs.createObservabilityListQuerySchema; }
29
+ get: function () { return chunkC7LSLDC7_cjs.createObservabilityListQuerySchema; }
30
30
  });
31
31
  Object.defineProperty(exports, "getObservabilityStore", {
32
32
  enumerable: true,
33
- get: function () { return chunkEAVV7J77_cjs.getObservabilityStore; }
33
+ get: function () { return chunkC7LSLDC7_cjs.getObservabilityStore; }
34
34
  });
35
35
  Object.defineProperty(exports, "getStorage", {
36
36
  enumerable: true,
37
- get: function () { return chunkEAVV7J77_cjs.getStorage; }
37
+ get: function () { return chunkC7LSLDC7_cjs.getStorage; }
38
38
  });
39
39
  //# sourceMappingURL=observability-shared.cjs.map
40
40
  //# sourceMappingURL=observability-shared.cjs.map
@@ -15,7 +15,7 @@ export declare const OBSERVABILITY_LIST_ENDPOINTS: {
15
15
  export type ObservabilityListEndpoint = (typeof OBSERVABILITY_LIST_ENDPOINTS)[keyof typeof OBSERVABILITY_LIST_ENDPOINTS];
16
16
  /** Retrieves MastraCompositeStore or throws 500 if unavailable. */
17
17
  export declare function getStorage(mastra: Mastra): MastraCompositeStore;
18
- /** Retrieves the observability storage domain or throws 500 if unavailable. */
18
+ /** Retrieves the observability storage domain or throws 501 if unavailable. */
19
19
  export declare function getObservabilityStore(mastra: Mastra): Promise<ObservabilityStorage>;
20
20
  export declare function assertObservabilityDeltaSupported(observabilityStore: ObservabilityStorage, endpoint: ObservabilityListEndpoint): void;
21
21
  export interface RouteDetails {
@@ -1 +1 @@
1
- {"version":3,"file":"observability-shared.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/observability-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS5D,eAAO,MAAM,mCAAmC,gCAAgC,CAAC;AACjF,eAAO,MAAM,2CAA2C,0GACiD,CAAC;AAE1G,eAAO,MAAM,4BAA4B;;;;;;;CAO/B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;AAUnF,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAM/D;AAED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAOzF;AAED,wBAAgB,iCAAiC,CAC/C,kBAAkB,EAAE,oBAAoB,EACxC,QAAQ,EAAE,yBAAyB,QAepC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMsB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC;AAEzE,wBAAgB,kCAAkC,CAChD,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC1C,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC3C,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ;;mBAoF/C"}
1
+ {"version":3,"file":"observability-shared.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/observability-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS5D,eAAO,MAAM,mCAAmC,gCAAgC,CAAC;AACjF,eAAO,MAAM,2CAA2C,0GACiD,CAAC;AAE1G,eAAO,MAAM,4BAA4B;;;;;;;CAO/B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;AAUnF,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAM/D;AAED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAUzF;AAED,wBAAgB,iCAAiC,CAC/C,kBAAkB,EAAE,oBAAoB,EACxC,QAAQ,EAAE,yBAAyB,QAepC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMsB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC;AAEzE,wBAAgB,kCAAkC,CAChD,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC1C,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC3C,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ;;mBAoF/C"}
@@ -1,3 +1,3 @@
1
- export { NEW_ROUTE_DEFS, OBSERVABILITY_DELTA_POLLING_FEATURE, OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE, OBSERVABILITY_LIST_ENDPOINTS, assertObservabilityDeltaSupported, createObservabilityListQuerySchema, getObservabilityStore, getStorage } from '../../chunk-LOGRPGIH.js';
1
+ export { NEW_ROUTE_DEFS, OBSERVABILITY_DELTA_POLLING_FEATURE, OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE, OBSERVABILITY_LIST_ENDPOINTS, assertObservabilityDeltaSupported, createObservabilityListQuerySchema, getObservabilityStore, getStorage } from '../../chunk-R7SQRQYD.js';
2
2
  //# sourceMappingURL=observability-shared.js.map
3
3
  //# sourceMappingURL=observability-shared.js.map
@@ -1,161 +1,161 @@
1
1
  'use strict';
2
2
 
3
- var chunkWCTXV424_cjs = require('../../chunk-WCTXV424.cjs');
4
- var chunkTH7EIZLU_cjs = require('../../chunk-TH7EIZLU.cjs');
3
+ var chunkM3HO4QJQ_cjs = require('../../chunk-M3HO4QJQ.cjs');
4
+ var chunkDGCF3QUM_cjs = require('../../chunk-DGCF3QUM.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "GET_BRANCH_ROUTE", {
9
9
  enumerable: true,
10
- get: function () { return chunkWCTXV424_cjs.GET_BRANCH_ROUTE; }
10
+ get: function () { return chunkM3HO4QJQ_cjs.GET_BRANCH_ROUTE; }
11
11
  });
12
12
  Object.defineProperty(exports, "GET_SPAN_ROUTE", {
13
13
  enumerable: true,
14
- get: function () { return chunkWCTXV424_cjs.GET_SPAN_ROUTE; }
14
+ get: function () { return chunkM3HO4QJQ_cjs.GET_SPAN_ROUTE; }
15
15
  });
16
16
  Object.defineProperty(exports, "GET_TRACE_LIGHT_ROUTE", {
17
17
  enumerable: true,
18
- get: function () { return chunkWCTXV424_cjs.GET_TRACE_LIGHT_ROUTE; }
18
+ get: function () { return chunkM3HO4QJQ_cjs.GET_TRACE_LIGHT_ROUTE; }
19
19
  });
20
20
  Object.defineProperty(exports, "GET_TRACE_ROUTE", {
21
21
  enumerable: true,
22
- get: function () { return chunkWCTXV424_cjs.GET_TRACE_ROUTE; }
22
+ get: function () { return chunkM3HO4QJQ_cjs.GET_TRACE_ROUTE; }
23
23
  });
24
24
  Object.defineProperty(exports, "GET_TRACE_TRAJECTORY_ROUTE", {
25
25
  enumerable: true,
26
- get: function () { return chunkWCTXV424_cjs.GET_TRACE_TRAJECTORY_ROUTE; }
26
+ get: function () { return chunkM3HO4QJQ_cjs.GET_TRACE_TRAJECTORY_ROUTE; }
27
27
  });
28
28
  Object.defineProperty(exports, "LIST_BRANCHES_ROUTE", {
29
29
  enumerable: true,
30
- get: function () { return chunkWCTXV424_cjs.LIST_BRANCHES_ROUTE; }
30
+ get: function () { return chunkM3HO4QJQ_cjs.LIST_BRANCHES_ROUTE; }
31
31
  });
32
32
  Object.defineProperty(exports, "LIST_SCORES_BY_SPAN_ROUTE", {
33
33
  enumerable: true,
34
- get: function () { return chunkWCTXV424_cjs.LIST_SCORES_BY_SPAN_ROUTE; }
34
+ get: function () { return chunkM3HO4QJQ_cjs.LIST_SCORES_BY_SPAN_ROUTE; }
35
35
  });
36
36
  Object.defineProperty(exports, "LIST_TRACES_LIGHT_ROUTE", {
37
37
  enumerable: true,
38
- get: function () { return chunkWCTXV424_cjs.LIST_TRACES_LIGHT_ROUTE; }
38
+ get: function () { return chunkM3HO4QJQ_cjs.LIST_TRACES_LIGHT_ROUTE; }
39
39
  });
40
40
  Object.defineProperty(exports, "LIST_TRACES_ROUTE", {
41
41
  enumerable: true,
42
- get: function () { return chunkWCTXV424_cjs.LIST_TRACES_ROUTE; }
42
+ get: function () { return chunkM3HO4QJQ_cjs.LIST_TRACES_ROUTE; }
43
43
  });
44
44
  Object.defineProperty(exports, "SCORE_TRACES_ROUTE", {
45
45
  enumerable: true,
46
- get: function () { return chunkWCTXV424_cjs.SCORE_TRACES_ROUTE; }
46
+ get: function () { return chunkM3HO4QJQ_cjs.SCORE_TRACES_ROUTE; }
47
47
  });
48
48
  Object.defineProperty(exports, "CREATE_FEEDBACK", {
49
49
  enumerable: true,
50
- get: function () { return chunkTH7EIZLU_cjs.CREATE_FEEDBACK; }
50
+ get: function () { return chunkDGCF3QUM_cjs.CREATE_FEEDBACK; }
51
51
  });
52
52
  Object.defineProperty(exports, "CREATE_SCORE", {
53
53
  enumerable: true,
54
- get: function () { return chunkTH7EIZLU_cjs.CREATE_SCORE; }
54
+ get: function () { return chunkDGCF3QUM_cjs.CREATE_SCORE; }
55
55
  });
56
56
  Object.defineProperty(exports, "GET_ENTITY_NAMES", {
57
57
  enumerable: true,
58
- get: function () { return chunkTH7EIZLU_cjs.GET_ENTITY_NAMES; }
58
+ get: function () { return chunkDGCF3QUM_cjs.GET_ENTITY_NAMES; }
59
59
  });
60
60
  Object.defineProperty(exports, "GET_ENTITY_TYPES", {
61
61
  enumerable: true,
62
- get: function () { return chunkTH7EIZLU_cjs.GET_ENTITY_TYPES; }
62
+ get: function () { return chunkDGCF3QUM_cjs.GET_ENTITY_TYPES; }
63
63
  });
64
64
  Object.defineProperty(exports, "GET_ENVIRONMENTS", {
65
65
  enumerable: true,
66
- get: function () { return chunkTH7EIZLU_cjs.GET_ENVIRONMENTS; }
66
+ get: function () { return chunkDGCF3QUM_cjs.GET_ENVIRONMENTS; }
67
67
  });
68
68
  Object.defineProperty(exports, "GET_FEEDBACK_AGGREGATE", {
69
69
  enumerable: true,
70
- get: function () { return chunkTH7EIZLU_cjs.GET_FEEDBACK_AGGREGATE; }
70
+ get: function () { return chunkDGCF3QUM_cjs.GET_FEEDBACK_AGGREGATE; }
71
71
  });
72
72
  Object.defineProperty(exports, "GET_FEEDBACK_BREAKDOWN", {
73
73
  enumerable: true,
74
- get: function () { return chunkTH7EIZLU_cjs.GET_FEEDBACK_BREAKDOWN; }
74
+ get: function () { return chunkDGCF3QUM_cjs.GET_FEEDBACK_BREAKDOWN; }
75
75
  });
76
76
  Object.defineProperty(exports, "GET_FEEDBACK_PERCENTILES", {
77
77
  enumerable: true,
78
- get: function () { return chunkTH7EIZLU_cjs.GET_FEEDBACK_PERCENTILES; }
78
+ get: function () { return chunkDGCF3QUM_cjs.GET_FEEDBACK_PERCENTILES; }
79
79
  });
80
80
  Object.defineProperty(exports, "GET_FEEDBACK_TIME_SERIES", {
81
81
  enumerable: true,
82
- get: function () { return chunkTH7EIZLU_cjs.GET_FEEDBACK_TIME_SERIES; }
82
+ get: function () { return chunkDGCF3QUM_cjs.GET_FEEDBACK_TIME_SERIES; }
83
83
  });
84
84
  Object.defineProperty(exports, "GET_METRIC_AGGREGATE", {
85
85
  enumerable: true,
86
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_AGGREGATE; }
86
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_AGGREGATE; }
87
87
  });
88
88
  Object.defineProperty(exports, "GET_METRIC_BREAKDOWN", {
89
89
  enumerable: true,
90
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_BREAKDOWN; }
90
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_BREAKDOWN; }
91
91
  });
92
92
  Object.defineProperty(exports, "GET_METRIC_LABEL_KEYS", {
93
93
  enumerable: true,
94
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_LABEL_KEYS; }
94
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_LABEL_KEYS; }
95
95
  });
96
96
  Object.defineProperty(exports, "GET_METRIC_LABEL_VALUES", {
97
97
  enumerable: true,
98
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_LABEL_VALUES; }
98
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_LABEL_VALUES; }
99
99
  });
100
100
  Object.defineProperty(exports, "GET_METRIC_NAMES", {
101
101
  enumerable: true,
102
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_NAMES; }
102
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_NAMES; }
103
103
  });
104
104
  Object.defineProperty(exports, "GET_METRIC_PERCENTILES", {
105
105
  enumerable: true,
106
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_PERCENTILES; }
106
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_PERCENTILES; }
107
107
  });
108
108
  Object.defineProperty(exports, "GET_METRIC_TIME_SERIES", {
109
109
  enumerable: true,
110
- get: function () { return chunkTH7EIZLU_cjs.GET_METRIC_TIME_SERIES; }
110
+ get: function () { return chunkDGCF3QUM_cjs.GET_METRIC_TIME_SERIES; }
111
111
  });
112
112
  Object.defineProperty(exports, "GET_SCORE", {
113
113
  enumerable: true,
114
- get: function () { return chunkTH7EIZLU_cjs.GET_SCORE; }
114
+ get: function () { return chunkDGCF3QUM_cjs.GET_SCORE; }
115
115
  });
116
116
  Object.defineProperty(exports, "GET_SCORE_AGGREGATE", {
117
117
  enumerable: true,
118
- get: function () { return chunkTH7EIZLU_cjs.GET_SCORE_AGGREGATE; }
118
+ get: function () { return chunkDGCF3QUM_cjs.GET_SCORE_AGGREGATE; }
119
119
  });
120
120
  Object.defineProperty(exports, "GET_SCORE_BREAKDOWN", {
121
121
  enumerable: true,
122
- get: function () { return chunkTH7EIZLU_cjs.GET_SCORE_BREAKDOWN; }
122
+ get: function () { return chunkDGCF3QUM_cjs.GET_SCORE_BREAKDOWN; }
123
123
  });
124
124
  Object.defineProperty(exports, "GET_SCORE_PERCENTILES", {
125
125
  enumerable: true,
126
- get: function () { return chunkTH7EIZLU_cjs.GET_SCORE_PERCENTILES; }
126
+ get: function () { return chunkDGCF3QUM_cjs.GET_SCORE_PERCENTILES; }
127
127
  });
128
128
  Object.defineProperty(exports, "GET_SCORE_TIME_SERIES", {
129
129
  enumerable: true,
130
- get: function () { return chunkTH7EIZLU_cjs.GET_SCORE_TIME_SERIES; }
130
+ get: function () { return chunkDGCF3QUM_cjs.GET_SCORE_TIME_SERIES; }
131
131
  });
132
132
  Object.defineProperty(exports, "GET_SERVICE_NAMES", {
133
133
  enumerable: true,
134
- get: function () { return chunkTH7EIZLU_cjs.GET_SERVICE_NAMES; }
134
+ get: function () { return chunkDGCF3QUM_cjs.GET_SERVICE_NAMES; }
135
135
  });
136
136
  Object.defineProperty(exports, "GET_TAGS", {
137
137
  enumerable: true,
138
- get: function () { return chunkTH7EIZLU_cjs.GET_TAGS; }
138
+ get: function () { return chunkDGCF3QUM_cjs.GET_TAGS; }
139
139
  });
140
140
  Object.defineProperty(exports, "LIST_FEEDBACK", {
141
141
  enumerable: true,
142
- get: function () { return chunkTH7EIZLU_cjs.LIST_FEEDBACK; }
142
+ get: function () { return chunkDGCF3QUM_cjs.LIST_FEEDBACK; }
143
143
  });
144
144
  Object.defineProperty(exports, "LIST_LOGS", {
145
145
  enumerable: true,
146
- get: function () { return chunkTH7EIZLU_cjs.LIST_LOGS; }
146
+ get: function () { return chunkDGCF3QUM_cjs.LIST_LOGS; }
147
147
  });
148
148
  Object.defineProperty(exports, "LIST_METRICS", {
149
149
  enumerable: true,
150
- get: function () { return chunkTH7EIZLU_cjs.LIST_METRICS; }
150
+ get: function () { return chunkDGCF3QUM_cjs.LIST_METRICS; }
151
151
  });
152
152
  Object.defineProperty(exports, "LIST_SCORES", {
153
153
  enumerable: true,
154
- get: function () { return chunkTH7EIZLU_cjs.LIST_SCORES; }
154
+ get: function () { return chunkDGCF3QUM_cjs.LIST_SCORES; }
155
155
  });
156
156
  Object.defineProperty(exports, "NEW_ROUTES", {
157
157
  enumerable: true,
158
- get: function () { return chunkTH7EIZLU_cjs.NEW_ROUTES; }
158
+ get: function () { return chunkDGCF3QUM_cjs.NEW_ROUTES; }
159
159
  });
160
160
  //# sourceMappingURL=observability.cjs.map
161
161
  //# sourceMappingURL=observability.cjs.map
@@ -1,4 +1,4 @@
1
- export { GET_BRANCH_ROUTE, GET_SPAN_ROUTE, GET_TRACE_LIGHT_ROUTE, GET_TRACE_ROUTE, GET_TRACE_TRAJECTORY_ROUTE, LIST_BRANCHES_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_LIGHT_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE } from '../../chunk-ZVTNACHY.js';
2
- export { CREATE_FEEDBACK, CREATE_SCORE, GET_ENTITY_NAMES, GET_ENTITY_TYPES, GET_ENVIRONMENTS, GET_FEEDBACK_AGGREGATE, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_TIME_SERIES, GET_METRIC_AGGREGATE, GET_METRIC_BREAKDOWN, GET_METRIC_LABEL_KEYS, GET_METRIC_LABEL_VALUES, GET_METRIC_NAMES, GET_METRIC_PERCENTILES, GET_METRIC_TIME_SERIES, GET_SCORE, GET_SCORE_AGGREGATE, GET_SCORE_BREAKDOWN, GET_SCORE_PERCENTILES, GET_SCORE_TIME_SERIES, GET_SERVICE_NAMES, GET_TAGS, LIST_FEEDBACK, LIST_LOGS, LIST_METRICS, LIST_SCORES, NEW_ROUTES } from '../../chunk-NZZLZSVD.js';
1
+ export { GET_BRANCH_ROUTE, GET_SPAN_ROUTE, GET_TRACE_LIGHT_ROUTE, GET_TRACE_ROUTE, GET_TRACE_TRAJECTORY_ROUTE, LIST_BRANCHES_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_LIGHT_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE } from '../../chunk-J2DXOUZV.js';
2
+ export { CREATE_FEEDBACK, CREATE_SCORE, GET_ENTITY_NAMES, GET_ENTITY_TYPES, GET_ENVIRONMENTS, GET_FEEDBACK_AGGREGATE, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_TIME_SERIES, GET_METRIC_AGGREGATE, GET_METRIC_BREAKDOWN, GET_METRIC_LABEL_KEYS, GET_METRIC_LABEL_VALUES, GET_METRIC_NAMES, GET_METRIC_PERCENTILES, GET_METRIC_TIME_SERIES, GET_SCORE, GET_SCORE_AGGREGATE, GET_SCORE_BREAKDOWN, GET_SCORE_PERCENTILES, GET_SCORE_TIME_SERIES, GET_SERVICE_NAMES, GET_TAGS, LIST_FEEDBACK, LIST_LOGS, LIST_METRICS, LIST_SCORES, NEW_ROUTES } from '../../chunk-6W7NBDZW.js';
3
3
  //# sourceMappingURL=observability.js.map
4
4
  //# sourceMappingURL=observability.js.map
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkLVGKXQCC_cjs = require('../../chunk-LVGKXQCC.cjs');
3
+ var chunkM5O2SOWH_cjs = require('../../chunk-M5O2SOWH.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "GET_API_SCHEMA_ROUTE", {
8
8
  enumerable: true,
9
- get: function () { return chunkLVGKXQCC_cjs.GET_API_SCHEMA_ROUTE; }
9
+ get: function () { return chunkM5O2SOWH_cjs.GET_API_SCHEMA_ROUTE; }
10
10
  });
11
11
  Object.defineProperty(exports, "GET_SYSTEM_PACKAGES_ROUTE", {
12
12
  enumerable: true,
13
- get: function () { return chunkLVGKXQCC_cjs.GET_SYSTEM_PACKAGES_ROUTE; }
13
+ get: function () { return chunkM5O2SOWH_cjs.GET_SYSTEM_PACKAGES_ROUTE; }
14
14
  });
15
15
  //# sourceMappingURL=system.cjs.map
16
16
  //# sourceMappingURL=system.cjs.map
@@ -1,3 +1,3 @@
1
- export { GET_API_SCHEMA_ROUTE, GET_SYSTEM_PACKAGES_ROUTE } from '../../chunk-2K3GCDOX.js';
1
+ export { GET_API_SCHEMA_ROUTE, GET_SYSTEM_PACKAGES_ROUTE } from '../../chunk-2UXT54P3.js';
2
2
  //# sourceMappingURL=system.js.map
3
3
  //# sourceMappingURL=system.js.map
@@ -8,7 +8,7 @@ var chunk6QSLKMKV_cjs = require('../chunk-6QSLKMKV.cjs');
8
8
  var chunkBMVLDSDJ_cjs = require('../chunk-BMVLDSDJ.cjs');
9
9
  var chunkT2P7FDNG_cjs = require('../chunk-T2P7FDNG.cjs');
10
10
  var chunkLERI4STI_cjs = require('../chunk-LERI4STI.cjs');
11
- var chunkWCTXV424_cjs = require('../chunk-WCTXV424.cjs');
11
+ var chunkM3HO4QJQ_cjs = require('../chunk-M3HO4QJQ.cjs');
12
12
  var chunk5QBM7JJC_cjs = require('../chunk-5QBM7JJC.cjs');
13
13
  var chunkUSKSOKOS_cjs = require('../chunk-USKSOKOS.cjs');
14
14
  var chunkQUCQNTXT_cjs = require('../chunk-QUCQNTXT.cjs');
@@ -53,7 +53,7 @@ Object.defineProperty(exports, "memory", {
53
53
  });
54
54
  Object.defineProperty(exports, "observability", {
55
55
  enumerable: true,
56
- get: function () { return chunkWCTXV424_cjs.observability_exports; }
56
+ get: function () { return chunkM3HO4QJQ_cjs.observability_exports; }
57
57
  });
58
58
  Object.defineProperty(exports, "conversations", {
59
59
  enumerable: true,
@@ -6,7 +6,7 @@ export { scores_exports as scores } from '../chunk-FZLA552S.js';
6
6
  export { responses_exports as responses } from '../chunk-YQDPAOM2.js';
7
7
  export { mcp_exports as mcp } from '../chunk-T272I2ME.js';
8
8
  export { memory_exports as memory } from '../chunk-AJXH4AOX.js';
9
- export { observability_exports as observability } from '../chunk-ZVTNACHY.js';
9
+ export { observability_exports as observability } from '../chunk-J2DXOUZV.js';
10
10
  export { conversations_exports as conversations } from '../chunk-ZD4SKL6I.js';
11
11
  export { logs_exports as logs } from '../chunk-5ZFBQKCW.js';
12
12
  export { a2a_exports as a2a } from '../chunk-ET73PQRG.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUTOKVLFZ_cjs = require('../../chunk-UTOKVLFZ.cjs');
3
+ var chunkHDM4ZEVO_cjs = require('../../chunk-HDM4ZEVO.cjs');
4
4
  var chunkLGCARVUR_cjs = require('../../chunk-LGCARVUR.cjs');
5
5
  var chunkEVOVAWN6_cjs = require('../../chunk-EVOVAWN6.cjs');
6
6
  var chunkVK4EOZXR_cjs = require('../../chunk-VK4EOZXR.cjs');
@@ -63,7 +63,7 @@ function getBuiltInRouteFGAConfig(route) {
63
63
  if (!isProtectedFGARoute(route) || !route.path || !route.method) {
64
64
  return null;
65
65
  }
66
- const permission = chunkUTOKVLFZ_cjs.getEffectivePermission(route);
66
+ const permission = chunkHDM4ZEVO_cjs.getEffectivePermission(route);
67
67
  if (!permission) {
68
68
  return null;
69
69
  }
@@ -277,7 +277,7 @@ function getFGARouteInfo(route) {
277
277
  };
278
278
  }
279
279
  function getRoutePermissions(route) {
280
- return [chunkUTOKVLFZ_cjs.getEffectivePermission(route), route.fga?.permission].flatMap((value) => Array.isArray(value) ? value : [value]).filter((permission) => Boolean(permission));
280
+ return [chunkHDM4ZEVO_cjs.getEffectivePermission(route), route.fga?.permission].flatMap((value) => Array.isArray(value) ? value : [value]).filter((permission) => Boolean(permission));
281
281
  }
282
282
  async function resolveRouteFGAConfig(fgaProvider, route, requestContext, params) {
283
283
  if (route.fga) {
@@ -611,7 +611,7 @@ var MastraServer = class _MastraServer extends server.MastraServerBase {
611
611
  if (!rbacProvider) {
612
612
  return null;
613
613
  }
614
- const requiredPermission = chunkUTOKVLFZ_cjs.getEffectivePermission(route);
614
+ const requiredPermission = chunkHDM4ZEVO_cjs.getEffectivePermission(route);
615
615
  if (!requiredPermission) {
616
616
  return null;
617
617
  }
@@ -704,7 +704,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
704
704
  const customRoutes = (this.customApiRoutes ?? serverConfig?.apiRoutes ?? []).filter(
705
705
  (route) => !route._mastraInternal
706
706
  );
707
- const routes = [...chunkUTOKVLFZ_cjs.SERVER_ROUTES, ...customRoutes];
707
+ const routes = [...chunkHDM4ZEVO_cjs.SERVER_ROUTES, ...customRoutes];
708
708
  if (fgaProvider.validatePermissions) {
709
709
  const permissions = [...new Set(routes.flatMap((route) => getRoutePermissions(route)))];
710
710
  await fgaProvider.validatePermissions(permissions);
@@ -881,7 +881,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
881
881
  * Builds the OpenAPI spec object with servers field and custom route paths.
882
882
  */
883
883
  buildOpenAPISpec(config, prefix) {
884
- const openApiSpec = chunkRTTQ6WVP_cjs.generateOpenAPIDocument(chunkUTOKVLFZ_cjs.SERVER_ROUTES, config);
884
+ const openApiSpec = chunkRTTQ6WVP_cjs.generateOpenAPIDocument(chunkHDM4ZEVO_cjs.SERVER_ROUTES, config);
885
885
  if (prefix) {
886
886
  openApiSpec.servers = [{ url: prefix }];
887
887
  }
@@ -916,7 +916,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
916
916
  await this.registerRoute(app, openApiRoute, { prefix });
917
917
  }
918
918
  async registerRoutes() {
919
- for (const route of chunkUTOKVLFZ_cjs.SERVER_ROUTES) {
919
+ for (const route of chunkHDM4ZEVO_cjs.SERVER_ROUTES) {
920
920
  await this.registerRoute(this.app, route, { prefix: this.prefix });
921
921
  }
922
922
  if (this.openapiPath) {
@@ -1005,7 +1005,7 @@ async function checkRouteFGA(mastra, route, requestContext, params) {
1005
1005
  message: "FGA authorization denied: route FGA metadata is incomplete"
1006
1006
  };
1007
1007
  }
1008
- const effectivePermission = route.path ? chunkUTOKVLFZ_cjs.getEffectivePermission(route) : null;
1008
+ const effectivePermission = route.path ? chunkHDM4ZEVO_cjs.getEffectivePermission(route) : null;
1009
1009
  const permission = fgaConfig.permission || effectivePermission || `${getFGAResourcePermissionSlug(fgaConfig.resourceType)}:${deriveFGAAction(route.method)}`;
1010
1010
  const authorized = await fgaProvider.check(user, {
1011
1011
  resource: { type: fgaConfig.resourceType, id: resourceId },
@@ -1047,23 +1047,23 @@ function getFGAResourcePermissionSlug(resourceType) {
1047
1047
 
1048
1048
  Object.defineProperty(exports, "SERVER_ROUTES", {
1049
1049
  enumerable: true,
1050
- get: function () { return chunkUTOKVLFZ_cjs.SERVER_ROUTES; }
1050
+ get: function () { return chunkHDM4ZEVO_cjs.SERVER_ROUTES; }
1051
1051
  });
1052
1052
  Object.defineProperty(exports, "deriveAction", {
1053
1053
  enumerable: true,
1054
- get: function () { return chunkUTOKVLFZ_cjs.deriveAction; }
1054
+ get: function () { return chunkHDM4ZEVO_cjs.deriveAction; }
1055
1055
  });
1056
1056
  Object.defineProperty(exports, "derivePermission", {
1057
1057
  enumerable: true,
1058
- get: function () { return chunkUTOKVLFZ_cjs.derivePermission; }
1058
+ get: function () { return chunkHDM4ZEVO_cjs.derivePermission; }
1059
1059
  });
1060
1060
  Object.defineProperty(exports, "extractResource", {
1061
1061
  enumerable: true,
1062
- get: function () { return chunkUTOKVLFZ_cjs.extractResource; }
1062
+ get: function () { return chunkHDM4ZEVO_cjs.extractResource; }
1063
1063
  });
1064
1064
  Object.defineProperty(exports, "getEffectivePermission", {
1065
1065
  enumerable: true,
1066
- get: function () { return chunkUTOKVLFZ_cjs.getEffectivePermission; }
1066
+ get: function () { return chunkHDM4ZEVO_cjs.getEffectivePermission; }
1067
1067
  });
1068
1068
  Object.defineProperty(exports, "WorkflowRegistry", {
1069
1069
  enumerable: true,
@@ -1,5 +1,5 @@
1
- import { getEffectivePermission, SERVER_ROUTES } from '../../chunk-TTE75FML.js';
2
- export { SERVER_ROUTES, deriveAction, derivePermission, extractResource, getEffectivePermission } from '../../chunk-TTE75FML.js';
1
+ import { getEffectivePermission, SERVER_ROUTES } from '../../chunk-TQLNRUH3.js';
2
+ export { SERVER_ROUTES, deriveAction, derivePermission, extractResource, getEffectivePermission } from '../../chunk-TQLNRUH3.js';
3
3
  import { coreAuthMiddleware } from '../../chunk-RVTLB72J.js';
4
4
  import { normalizeRoutePath } from '../../chunk-4GWTCVFL.js';
5
5
  export { WorkflowRegistry, normalizeRoutePath } from '../../chunk-4GWTCVFL.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/server",
3
- "version": "1.53.0-alpha.2",
3
+ "version": "1.53.0-alpha.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -117,13 +117,13 @@
117
117
  "zod": "^4.4.3",
118
118
  "zod-to-ts": "^2.1.0",
119
119
  "@internal/lint": "0.0.116",
120
- "@internal/core": "0.1.0",
120
+ "@internal/storage-test-utils": "0.0.112",
121
121
  "@internal/test-utils": "0.0.52",
122
+ "@internal/core": "0.1.0",
122
123
  "@internal/types-builder": "0.0.91",
123
- "@internal/voice": "0.0.16",
124
124
  "@mastra/agent-builder": "1.1.7",
125
- "@internal/storage-test-utils": "0.0.112",
126
- "@mastra/core": "1.53.0-alpha.2",
125
+ "@mastra/core": "1.53.0-alpha.3",
126
+ "@internal/voice": "0.0.16",
127
127
  "@mastra/schema-compat": "1.3.4"
128
128
  },
129
129
  "homepage": "https://mastra.ai",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/observability-shared.ts"],"names":["HTTPException","coreFeatures","z","paginationArgsSchema","wrapSchemaForQueryParams","listModeSchema","deltaCursorSchema","deltaLimitSchema"],"mappings":"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","file":"chunk-EAVV7J77.cjs","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport { coreFeatures } from '@mastra/core/features';\nimport type { MastraCompositeStore, ObservabilityStorage } from '@mastra/core/storage';\nimport { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport type { ServerRoute } from '../server-adapter/routes';\nimport { wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport {\n deltaCursorSchema,\n deltaLimitSchema,\n listModeSchema,\n paginationArgsSchema,\n} from './observability-list-query-schemas';\n\nexport const OBSERVABILITY_DELTA_POLLING_FEATURE = 'observability-delta-polling';\nexport const OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE =\n 'Delta polling requires a newer @mastra/core with observability delta polling support. Please upgrade.';\n\nexport const OBSERVABILITY_LIST_ENDPOINTS = {\n traces: 'traces',\n branches: 'branches',\n logs: 'logs',\n metrics: 'metrics',\n scores: 'scores',\n feedback: 'feedback',\n} as const;\n\nexport type ObservabilityListEndpoint =\n (typeof OBSERVABILITY_LIST_ENDPOINTS)[keyof typeof OBSERVABILITY_LIST_ENDPOINTS];\nconst OBSERVABILITY_DELTA_POLLING_STORAGE_FEATURE = 'delta-polling';\n\nfunction getFeatures(observabilityStore: ObservabilityStorage): readonly string[] | undefined {\n const candidate = observabilityStore as ObservabilityStorage & {\n getFeatures?: () => readonly string[] | undefined;\n };\n return candidate.getFeatures?.();\n}\n\n/** Retrieves MastraCompositeStore or throws 500 if unavailable. */\nexport function getStorage(mastra: Mastra): MastraCompositeStore {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n return storage;\n}\n\n/** Retrieves the observability storage domain or throws 500 if unavailable. */\nexport async function getObservabilityStore(mastra: Mastra): Promise<ObservabilityStorage> {\n const storage = getStorage(mastra);\n const observability = await storage.getStore('observability');\n if (!observability) {\n throw new HTTPException(500, { message: 'Observability storage domain is not available' });\n }\n return observability;\n}\n\nexport function assertObservabilityDeltaSupported(\n observabilityStore: ObservabilityStorage,\n endpoint: ObservabilityListEndpoint,\n) {\n if (!coreFeatures.has(OBSERVABILITY_DELTA_POLLING_FEATURE)) {\n throw new HTTPException(501, {\n message: `${OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE} (endpoint: ${endpoint})`,\n });\n }\n\n if (getFeatures(observabilityStore)?.includes(OBSERVABILITY_DELTA_POLLING_STORAGE_FEATURE)) {\n return;\n }\n\n throw new HTTPException(501, {\n message: `Delta polling is not supported by the configured observability store for ${endpoint}`,\n });\n}\n\nexport interface RouteDetails {\n method: ServerRoute['method'];\n path: `/${string}`;\n summary: string;\n description: string;\n requiresPermission?: ServerRoute['requiresPermission'];\n}\n\nexport const NEW_ROUTE_DEFS = {\n LIST_METRICS: {\n method: 'GET',\n path: '/observability/metrics',\n summary: 'List metrics',\n description: 'Returns a paginated list of metrics with optional filtering and sorting',\n },\n\n LIST_LOGS: {\n method: 'GET',\n path: '/observability/logs',\n summary: 'List logs',\n description: 'Returns a paginated list of logs with optional filtering and sorting',\n },\n\n LIST_SCORES: {\n method: 'GET',\n path: '/observability/scores',\n summary: 'List scores',\n description: 'Returns a paginated list of scores with optional filtering and sorting',\n },\n\n CREATE_SCORE: {\n method: 'POST',\n path: '/observability/scores',\n summary: 'Create a score',\n description: 'Creates a single score record in the observability store',\n },\n\n GET_SCORE: {\n method: 'GET',\n path: '/observability/scores/:scoreId',\n summary: 'Get score',\n description: 'Returns a single score by scoreId',\n },\n\n GET_SCORE_AGGREGATE: {\n method: 'POST',\n path: '/observability/scores/aggregate',\n summary: 'Get score aggregate',\n description: 'Returns an aggregated score value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_BREAKDOWN: {\n method: 'POST',\n path: '/observability/scores/breakdown',\n summary: 'Get score breakdown',\n description: 'Returns score values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_TIME_SERIES: {\n method: 'POST',\n path: '/observability/scores/timeseries',\n summary: 'Get score time series',\n description: 'Returns score values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_PERCENTILES: {\n method: 'POST',\n path: '/observability/scores/percentiles',\n summary: 'Get score percentiles',\n description: 'Returns percentile values for a score bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n LIST_FEEDBACK: {\n method: 'GET',\n path: '/observability/feedback',\n summary: 'List feedback',\n description: 'Returns a paginated list of feedback with optional filtering and sorting',\n },\n\n CREATE_FEEDBACK: {\n method: 'POST',\n path: '/observability/feedback',\n summary: 'Create feedback',\n description: 'Creates a single feedback record in the observability store',\n },\n\n GET_FEEDBACK_AGGREGATE: {\n method: 'POST',\n path: '/observability/feedback/aggregate',\n summary: 'Get feedback aggregate',\n description: 'Returns an aggregated numeric feedback value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_BREAKDOWN: {\n method: 'POST',\n path: '/observability/feedback/breakdown',\n summary: 'Get feedback breakdown',\n description: 'Returns numeric feedback values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_TIME_SERIES: {\n method: 'POST',\n path: '/observability/feedback/timeseries',\n summary: 'Get feedback time series',\n description: 'Returns numeric feedback values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_PERCENTILES: {\n method: 'POST',\n path: '/observability/feedback/percentiles',\n summary: 'Get feedback percentiles',\n description: 'Returns percentile values for numeric feedback bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_AGGREGATE: {\n method: 'POST',\n path: '/observability/metrics/aggregate',\n summary: 'Get metric aggregate',\n description: 'Returns an aggregated metric value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_BREAKDOWN: {\n method: 'POST',\n path: '/observability/metrics/breakdown',\n summary: 'Get metric breakdown',\n description: 'Returns metric values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_TIME_SERIES: {\n method: 'POST',\n path: '/observability/metrics/timeseries',\n summary: 'Get metric time series',\n description: 'Returns metric values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_PERCENTILES: {\n method: 'POST',\n path: '/observability/metrics/percentiles',\n summary: 'Get metric percentiles',\n description: 'Returns percentile values for a metric bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_NAMES: {\n method: 'GET',\n path: '/observability/discovery/metric-names',\n summary: 'Get metric names',\n description: 'Returns distinct metric names with optional prefix filtering',\n },\n\n GET_METRIC_LABEL_KEYS: {\n method: 'GET',\n path: '/observability/discovery/metric-label-keys',\n summary: 'Get metric label keys',\n description: 'Returns distinct label keys for a given metric',\n },\n\n GET_METRIC_LABEL_VALUES: {\n method: 'GET',\n path: '/observability/discovery/metric-label-values',\n summary: 'Get label values',\n description: 'Returns distinct values for a given metric label key',\n },\n\n GET_ENTITY_TYPES: {\n method: 'GET',\n path: '/observability/discovery/entity-types',\n summary: 'Get entity types',\n description: 'Returns distinct entity types from observability data',\n },\n\n GET_ENTITY_NAMES: {\n method: 'GET',\n path: '/observability/discovery/entity-names',\n summary: 'Get entity names',\n description: 'Returns distinct entity names with optional type filtering',\n },\n\n GET_SERVICE_NAMES: {\n method: 'GET',\n path: '/observability/discovery/service-names',\n summary: 'Get service names',\n description: 'Returns distinct service names from observability data',\n },\n\n GET_ENVIRONMENTS: {\n method: 'GET',\n path: '/observability/discovery/environments',\n summary: 'Get environments',\n description: 'Returns distinct environments from observability data',\n },\n\n GET_TAGS: {\n method: 'GET',\n path: '/observability/discovery/tags',\n summary: 'Get tags',\n description: 'Returns distinct tags with optional entity type filtering',\n },\n} as const satisfies Record<string, RouteDetails>;\n\nexport type NewRoutesKey = keyof typeof NEW_ROUTE_DEFS;\nexport type NewRoutesDefinitions = (typeof NEW_ROUTE_DEFS)[NewRoutesKey];\n\nexport function createObservabilityListQuerySchema<\n TFilter extends z.ZodObject<z.ZodRawShape>,\n TOrderBy extends z.ZodObject<z.ZodRawShape>,\n>(filterSchema: TFilter, orderBySchema: TOrderBy) {\n const unwrapDefault = (schema: unknown) => {\n const zodSchema = schema as z.ZodTypeAny;\n return zodSchema instanceof z.ZodDefault ? zodSchema.unwrap() : zodSchema;\n };\n const paginationShape = paginationArgsSchema.shape as unknown as Record<string, z.ZodTypeAny>;\n const orderByShape = orderBySchema.shape as unknown as Record<string, z.ZodTypeAny>;\n\n const pageSchema = unwrapDefault(paginationShape.page);\n const perPageSchema = unwrapDefault(paginationShape.perPage);\n const fieldSchema = orderByShape.field ? unwrapDefault(orderByShape.field) : z.never().optional();\n const directionSchema = orderByShape.direction ? unwrapDefault(orderByShape.direction) : z.never().optional();\n\n return wrapSchemaForQueryParams(\n z\n .object({\n ...filterSchema.shape,\n page: pageSchema,\n perPage: perPageSchema,\n field: fieldSchema,\n direction: directionSchema,\n mode: listModeSchema.optional(),\n after: deltaCursorSchema.optional(),\n limit: deltaLimitSchema,\n })\n .partial(),\n ).superRefine((value, ctx) => {\n const isDelta = value.mode === 'delta';\n const hasPagination = value.page !== undefined || value.perPage !== undefined;\n const hasOrderBy = value.field !== undefined || value.direction !== undefined;\n const hasAfter = value.after !== undefined;\n const hasLimit = value.limit !== undefined;\n\n if (isDelta) {\n if (hasPagination) {\n if (value.page !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['page'],\n message: '`page` is not allowed when `mode=delta`',\n });\n }\n if (value.perPage !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['perPage'],\n message: '`perPage` is not allowed when `mode=delta`',\n });\n }\n }\n if (hasOrderBy) {\n if (value.field !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['field'],\n message: '`field` is not allowed when `mode=delta`',\n });\n }\n if (value.direction !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['direction'],\n message: '`direction` is not allowed when `mode=delta`',\n });\n }\n }\n return;\n }\n\n if (hasAfter) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['after'],\n message: '`after` is only allowed when `mode=delta`',\n });\n }\n if (hasLimit) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['limit'],\n message: '`limit` is only allowed when `mode=delta`',\n });\n }\n });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/observability-shared.ts"],"names":[],"mappings":"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","file":"chunk-LOGRPGIH.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport { coreFeatures } from '@mastra/core/features';\nimport type { MastraCompositeStore, ObservabilityStorage } from '@mastra/core/storage';\nimport { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport type { ServerRoute } from '../server-adapter/routes';\nimport { wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport {\n deltaCursorSchema,\n deltaLimitSchema,\n listModeSchema,\n paginationArgsSchema,\n} from './observability-list-query-schemas';\n\nexport const OBSERVABILITY_DELTA_POLLING_FEATURE = 'observability-delta-polling';\nexport const OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE =\n 'Delta polling requires a newer @mastra/core with observability delta polling support. Please upgrade.';\n\nexport const OBSERVABILITY_LIST_ENDPOINTS = {\n traces: 'traces',\n branches: 'branches',\n logs: 'logs',\n metrics: 'metrics',\n scores: 'scores',\n feedback: 'feedback',\n} as const;\n\nexport type ObservabilityListEndpoint =\n (typeof OBSERVABILITY_LIST_ENDPOINTS)[keyof typeof OBSERVABILITY_LIST_ENDPOINTS];\nconst OBSERVABILITY_DELTA_POLLING_STORAGE_FEATURE = 'delta-polling';\n\nfunction getFeatures(observabilityStore: ObservabilityStorage): readonly string[] | undefined {\n const candidate = observabilityStore as ObservabilityStorage & {\n getFeatures?: () => readonly string[] | undefined;\n };\n return candidate.getFeatures?.();\n}\n\n/** Retrieves MastraCompositeStore or throws 500 if unavailable. */\nexport function getStorage(mastra: Mastra): MastraCompositeStore {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n return storage;\n}\n\n/** Retrieves the observability storage domain or throws 500 if unavailable. */\nexport async function getObservabilityStore(mastra: Mastra): Promise<ObservabilityStorage> {\n const storage = getStorage(mastra);\n const observability = await storage.getStore('observability');\n if (!observability) {\n throw new HTTPException(500, { message: 'Observability storage domain is not available' });\n }\n return observability;\n}\n\nexport function assertObservabilityDeltaSupported(\n observabilityStore: ObservabilityStorage,\n endpoint: ObservabilityListEndpoint,\n) {\n if (!coreFeatures.has(OBSERVABILITY_DELTA_POLLING_FEATURE)) {\n throw new HTTPException(501, {\n message: `${OBSERVABILITY_DELTA_POLLING_UPGRADE_MESSAGE} (endpoint: ${endpoint})`,\n });\n }\n\n if (getFeatures(observabilityStore)?.includes(OBSERVABILITY_DELTA_POLLING_STORAGE_FEATURE)) {\n return;\n }\n\n throw new HTTPException(501, {\n message: `Delta polling is not supported by the configured observability store for ${endpoint}`,\n });\n}\n\nexport interface RouteDetails {\n method: ServerRoute['method'];\n path: `/${string}`;\n summary: string;\n description: string;\n requiresPermission?: ServerRoute['requiresPermission'];\n}\n\nexport const NEW_ROUTE_DEFS = {\n LIST_METRICS: {\n method: 'GET',\n path: '/observability/metrics',\n summary: 'List metrics',\n description: 'Returns a paginated list of metrics with optional filtering and sorting',\n },\n\n LIST_LOGS: {\n method: 'GET',\n path: '/observability/logs',\n summary: 'List logs',\n description: 'Returns a paginated list of logs with optional filtering and sorting',\n },\n\n LIST_SCORES: {\n method: 'GET',\n path: '/observability/scores',\n summary: 'List scores',\n description: 'Returns a paginated list of scores with optional filtering and sorting',\n },\n\n CREATE_SCORE: {\n method: 'POST',\n path: '/observability/scores',\n summary: 'Create a score',\n description: 'Creates a single score record in the observability store',\n },\n\n GET_SCORE: {\n method: 'GET',\n path: '/observability/scores/:scoreId',\n summary: 'Get score',\n description: 'Returns a single score by scoreId',\n },\n\n GET_SCORE_AGGREGATE: {\n method: 'POST',\n path: '/observability/scores/aggregate',\n summary: 'Get score aggregate',\n description: 'Returns an aggregated score value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_BREAKDOWN: {\n method: 'POST',\n path: '/observability/scores/breakdown',\n summary: 'Get score breakdown',\n description: 'Returns score values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_TIME_SERIES: {\n method: 'POST',\n path: '/observability/scores/timeseries',\n summary: 'Get score time series',\n description: 'Returns score values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_SCORE_PERCENTILES: {\n method: 'POST',\n path: '/observability/scores/percentiles',\n summary: 'Get score percentiles',\n description: 'Returns percentile values for a score bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n LIST_FEEDBACK: {\n method: 'GET',\n path: '/observability/feedback',\n summary: 'List feedback',\n description: 'Returns a paginated list of feedback with optional filtering and sorting',\n },\n\n CREATE_FEEDBACK: {\n method: 'POST',\n path: '/observability/feedback',\n summary: 'Create feedback',\n description: 'Creates a single feedback record in the observability store',\n },\n\n GET_FEEDBACK_AGGREGATE: {\n method: 'POST',\n path: '/observability/feedback/aggregate',\n summary: 'Get feedback aggregate',\n description: 'Returns an aggregated numeric feedback value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_BREAKDOWN: {\n method: 'POST',\n path: '/observability/feedback/breakdown',\n summary: 'Get feedback breakdown',\n description: 'Returns numeric feedback values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_TIME_SERIES: {\n method: 'POST',\n path: '/observability/feedback/timeseries',\n summary: 'Get feedback time series',\n description: 'Returns numeric feedback values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_FEEDBACK_PERCENTILES: {\n method: 'POST',\n path: '/observability/feedback/percentiles',\n summary: 'Get feedback percentiles',\n description: 'Returns percentile values for numeric feedback bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_AGGREGATE: {\n method: 'POST',\n path: '/observability/metrics/aggregate',\n summary: 'Get metric aggregate',\n description: 'Returns an aggregated metric value with optional period-over-period comparison',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_BREAKDOWN: {\n method: 'POST',\n path: '/observability/metrics/breakdown',\n summary: 'Get metric breakdown',\n description: 'Returns metric values grouped by specified dimensions',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_TIME_SERIES: {\n method: 'POST',\n path: '/observability/metrics/timeseries',\n summary: 'Get metric time series',\n description: 'Returns metric values bucketed by time interval with optional grouping',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_PERCENTILES: {\n method: 'POST',\n path: '/observability/metrics/percentiles',\n summary: 'Get metric percentiles',\n description: 'Returns percentile values for a metric bucketed by time interval',\n requiresPermission: 'observability:read',\n },\n\n GET_METRIC_NAMES: {\n method: 'GET',\n path: '/observability/discovery/metric-names',\n summary: 'Get metric names',\n description: 'Returns distinct metric names with optional prefix filtering',\n },\n\n GET_METRIC_LABEL_KEYS: {\n method: 'GET',\n path: '/observability/discovery/metric-label-keys',\n summary: 'Get metric label keys',\n description: 'Returns distinct label keys for a given metric',\n },\n\n GET_METRIC_LABEL_VALUES: {\n method: 'GET',\n path: '/observability/discovery/metric-label-values',\n summary: 'Get label values',\n description: 'Returns distinct values for a given metric label key',\n },\n\n GET_ENTITY_TYPES: {\n method: 'GET',\n path: '/observability/discovery/entity-types',\n summary: 'Get entity types',\n description: 'Returns distinct entity types from observability data',\n },\n\n GET_ENTITY_NAMES: {\n method: 'GET',\n path: '/observability/discovery/entity-names',\n summary: 'Get entity names',\n description: 'Returns distinct entity names with optional type filtering',\n },\n\n GET_SERVICE_NAMES: {\n method: 'GET',\n path: '/observability/discovery/service-names',\n summary: 'Get service names',\n description: 'Returns distinct service names from observability data',\n },\n\n GET_ENVIRONMENTS: {\n method: 'GET',\n path: '/observability/discovery/environments',\n summary: 'Get environments',\n description: 'Returns distinct environments from observability data',\n },\n\n GET_TAGS: {\n method: 'GET',\n path: '/observability/discovery/tags',\n summary: 'Get tags',\n description: 'Returns distinct tags with optional entity type filtering',\n },\n} as const satisfies Record<string, RouteDetails>;\n\nexport type NewRoutesKey = keyof typeof NEW_ROUTE_DEFS;\nexport type NewRoutesDefinitions = (typeof NEW_ROUTE_DEFS)[NewRoutesKey];\n\nexport function createObservabilityListQuerySchema<\n TFilter extends z.ZodObject<z.ZodRawShape>,\n TOrderBy extends z.ZodObject<z.ZodRawShape>,\n>(filterSchema: TFilter, orderBySchema: TOrderBy) {\n const unwrapDefault = (schema: unknown) => {\n const zodSchema = schema as z.ZodTypeAny;\n return zodSchema instanceof z.ZodDefault ? zodSchema.unwrap() : zodSchema;\n };\n const paginationShape = paginationArgsSchema.shape as unknown as Record<string, z.ZodTypeAny>;\n const orderByShape = orderBySchema.shape as unknown as Record<string, z.ZodTypeAny>;\n\n const pageSchema = unwrapDefault(paginationShape.page);\n const perPageSchema = unwrapDefault(paginationShape.perPage);\n const fieldSchema = orderByShape.field ? unwrapDefault(orderByShape.field) : z.never().optional();\n const directionSchema = orderByShape.direction ? unwrapDefault(orderByShape.direction) : z.never().optional();\n\n return wrapSchemaForQueryParams(\n z\n .object({\n ...filterSchema.shape,\n page: pageSchema,\n perPage: perPageSchema,\n field: fieldSchema,\n direction: directionSchema,\n mode: listModeSchema.optional(),\n after: deltaCursorSchema.optional(),\n limit: deltaLimitSchema,\n })\n .partial(),\n ).superRefine((value, ctx) => {\n const isDelta = value.mode === 'delta';\n const hasPagination = value.page !== undefined || value.perPage !== undefined;\n const hasOrderBy = value.field !== undefined || value.direction !== undefined;\n const hasAfter = value.after !== undefined;\n const hasLimit = value.limit !== undefined;\n\n if (isDelta) {\n if (hasPagination) {\n if (value.page !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['page'],\n message: '`page` is not allowed when `mode=delta`',\n });\n }\n if (value.perPage !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['perPage'],\n message: '`perPage` is not allowed when `mode=delta`',\n });\n }\n }\n if (hasOrderBy) {\n if (value.field !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['field'],\n message: '`field` is not allowed when `mode=delta`',\n });\n }\n if (value.direction !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['direction'],\n message: '`direction` is not allowed when `mode=delta`',\n });\n }\n }\n return;\n }\n\n if (hasAfter) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['after'],\n message: '`after` is only allowed when `mode=delta`',\n });\n }\n if (hasLimit) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['limit'],\n message: '`limit` is only allowed when `mode=delta`',\n });\n }\n });\n}\n"]}