@mastra/react 1.13.0-alpha.3 → 1.13.0-alpha.5

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 (149) hide show
  1. package/dist/{accumulator-BmD8-x9I.cjs → accumulator-Bjfckb5t.cjs} +5 -9
  2. package/dist/{accumulator-BmD8-x9I.cjs.map → accumulator-Bjfckb5t.cjs.map} +1 -1
  3. package/dist/{accumulator-D9jAph99.js → accumulator-DysrPe6U.js} +5 -9
  4. package/dist/{accumulator-D9jAph99.js.map → accumulator-DysrPe6U.js.map} +1 -1
  5. package/dist/chat/index.cjs +1 -1
  6. package/dist/chat/index.js +1 -1
  7. package/dist/{combine-by-ids-CcaZKGT9.js → combine-by-ids-C-0oe4eH.js} +2 -3
  8. package/dist/{combine-by-ids-CcaZKGT9.js.map → combine-by-ids-C-0oe4eH.js.map} +1 -1
  9. package/dist/{combine-by-ids-D_lp6Dvq.cjs → combine-by-ids-ERVPXXBi.cjs} +2 -3
  10. package/dist/{combine-by-ids-D_lp6Dvq.cjs.map → combine-by-ids-ERVPXXBi.cjs.map} +1 -1
  11. package/dist/{experiments-CJw1N3FB.cjs → experiments-Duv0RgkM.cjs} +12 -19
  12. package/dist/{experiments-CJw1N3FB.cjs.map → experiments-Duv0RgkM.cjs.map} +1 -1
  13. package/dist/{experiments-B7vRMK5T.js → experiments-DyecjEut.js} +12 -19
  14. package/dist/{experiments-B7vRMK5T.js.map → experiments-DyecjEut.js.map} +1 -1
  15. package/dist/{feedback-refetch-interval-XD5FVc2k.cjs → feedback-refetch-interval-BBcT9r8s.cjs} +3 -4
  16. package/dist/{feedback-refetch-interval-XD5FVc2k.cjs.map → feedback-refetch-interval-BBcT9r8s.cjs.map} +1 -1
  17. package/dist/{feedback-refetch-interval-DLHzQoVV.js → feedback-refetch-interval-C12Nzb2r.js} +3 -4
  18. package/dist/{feedback-refetch-interval-DLHzQoVV.js.map → feedback-refetch-interval-C12Nzb2r.js.map} +1 -1
  19. package/dist/hooks/agents/index.cjs +19 -37
  20. package/dist/hooks/agents/index.cjs.map +1 -1
  21. package/dist/hooks/agents/index.js +19 -37
  22. package/dist/hooks/agents/index.js.map +1 -1
  23. package/dist/hooks/auth/index.cjs +11 -21
  24. package/dist/hooks/auth/index.cjs.map +1 -1
  25. package/dist/hooks/auth/index.js +11 -21
  26. package/dist/hooks/auth/index.js.map +1 -1
  27. package/dist/hooks/capabilities/index.cjs +11 -21
  28. package/dist/hooks/capabilities/index.cjs.map +1 -1
  29. package/dist/hooks/capabilities/index.js +11 -21
  30. package/dist/hooks/capabilities/index.js.map +1 -1
  31. package/dist/hooks/configuration/index.cjs +2 -3
  32. package/dist/hooks/configuration/index.js +2 -3
  33. package/dist/hooks/datasets/index.cjs +12 -21
  34. package/dist/hooks/datasets/index.cjs.map +1 -1
  35. package/dist/hooks/datasets/index.js +12 -21
  36. package/dist/hooks/datasets/index.js.map +1 -1
  37. package/dist/hooks/embedders/index.cjs +2 -3
  38. package/dist/hooks/embedders/index.js +2 -3
  39. package/dist/hooks/experiments/index.cjs +1 -1
  40. package/dist/hooks/experiments/index.js +1 -1
  41. package/dist/hooks/feedback/index.cjs +3 -4
  42. package/dist/hooks/feedback/index.js +3 -4
  43. package/dist/hooks/llm/index.cjs +2 -3
  44. package/dist/hooks/llm/index.js +2 -3
  45. package/dist/hooks/logs/index.cjs +4 -5
  46. package/dist/hooks/logs/index.js +4 -5
  47. package/dist/hooks/mcps/index.cjs +8 -15
  48. package/dist/hooks/mcps/index.cjs.map +1 -1
  49. package/dist/hooks/mcps/index.js +8 -15
  50. package/dist/hooks/mcps/index.js.map +1 -1
  51. package/dist/hooks/memory/index.cjs +5 -9
  52. package/dist/hooks/memory/index.cjs.map +1 -1
  53. package/dist/hooks/memory/index.js +5 -9
  54. package/dist/hooks/memory/index.js.map +1 -1
  55. package/dist/hooks/metrics/index.cjs +19 -36
  56. package/dist/hooks/metrics/index.cjs.map +1 -1
  57. package/dist/hooks/metrics/index.js +19 -36
  58. package/dist/hooks/metrics/index.js.map +1 -1
  59. package/dist/hooks/processors/index.cjs +2 -3
  60. package/dist/hooks/processors/index.js +2 -3
  61. package/dist/hooks/prompt-blocks/index.cjs +3 -5
  62. package/dist/hooks/prompt-blocks/index.cjs.map +1 -1
  63. package/dist/hooks/prompt-blocks/index.js +3 -5
  64. package/dist/hooks/prompt-blocks/index.js.map +1 -1
  65. package/dist/hooks/query/index.cjs +2 -3
  66. package/dist/hooks/query/index.js +2 -3
  67. package/dist/hooks/review/index.cjs +4 -6
  68. package/dist/hooks/review/index.cjs.map +1 -1
  69. package/dist/hooks/review/index.js +4 -6
  70. package/dist/hooks/review/index.js.map +1 -1
  71. package/dist/hooks/schedules/index.cjs +6 -10
  72. package/dist/hooks/schedules/index.cjs.map +1 -1
  73. package/dist/hooks/schedules/index.js +6 -10
  74. package/dist/hooks/schedules/index.js.map +1 -1
  75. package/dist/hooks/scores/index.cjs +8 -13
  76. package/dist/hooks/scores/index.cjs.map +1 -1
  77. package/dist/hooks/scores/index.js +8 -13
  78. package/dist/hooks/scores/index.js.map +1 -1
  79. package/dist/hooks/templates/index.cjs +2 -3
  80. package/dist/hooks/templates/index.js +2 -3
  81. package/dist/hooks/tool-providers/index.cjs +10 -19
  82. package/dist/hooks/tool-providers/index.cjs.map +1 -1
  83. package/dist/hooks/tool-providers/index.js +10 -19
  84. package/dist/hooks/tool-providers/index.js.map +1 -1
  85. package/dist/hooks/tools/index.cjs +3 -5
  86. package/dist/hooks/tools/index.cjs.map +1 -1
  87. package/dist/hooks/tools/index.js +3 -5
  88. package/dist/hooks/tools/index.js.map +1 -1
  89. package/dist/hooks/traces/index.cjs +71 -54
  90. package/dist/hooks/traces/index.cjs.map +1 -1
  91. package/dist/hooks/traces/index.d.ts +2 -0
  92. package/dist/hooks/traces/index.d.ts.map +1 -1
  93. package/dist/hooks/traces/index.js +70 -55
  94. package/dist/hooks/traces/index.js.map +1 -1
  95. package/dist/hooks/traces/use-span-aggregate.d.ts +16 -0
  96. package/dist/hooks/traces/use-span-aggregate.d.ts.map +1 -0
  97. package/dist/hooks/traces/use-trace-aggregate.d.ts +17 -0
  98. package/dist/hooks/traces/use-trace-aggregate.d.ts.map +1 -0
  99. package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts +4 -2
  100. package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts.map +1 -1
  101. package/dist/hooks/vectors/index.cjs +2 -3
  102. package/dist/hooks/vectors/index.js +2 -3
  103. package/dist/hooks/voice/index.cjs +3 -4
  104. package/dist/hooks/voice/index.js +3 -4
  105. package/dist/hooks/workflows/index.cjs +7 -11
  106. package/dist/hooks/workflows/index.cjs.map +1 -1
  107. package/dist/hooks/workflows/index.js +7 -11
  108. package/dist/hooks/workflows/index.js.map +1 -1
  109. package/dist/hooks/workspace/index.cjs +12 -22
  110. package/dist/hooks/workspace/index.cjs.map +1 -1
  111. package/dist/hooks/workspace/index.js +12 -22
  112. package/dist/hooks/workspace/index.js.map +1 -1
  113. package/dist/{hooks-XYsmqFCz.cjs → hooks-Bt15IwzP.cjs} +6 -9
  114. package/dist/{hooks-XYsmqFCz.cjs.map → hooks-Bt15IwzP.cjs.map} +1 -1
  115. package/dist/{hooks-DG-Y1KFe.js → hooks-Btt7PyI-.js} +6 -9
  116. package/dist/{hooks-DG-Y1KFe.js.map → hooks-Btt7PyI-.js.map} +1 -1
  117. package/dist/{hooks-BfysjY_K.js → hooks-CEikbhrN.js} +9 -15
  118. package/dist/{hooks-BfysjY_K.js.map → hooks-CEikbhrN.js.map} +1 -1
  119. package/dist/{hooks-BbUMSab8.cjs → hooks-D6LDSEcm.cjs} +9 -15
  120. package/dist/{hooks-BbUMSab8.cjs.map → hooks-D6LDSEcm.cjs.map} +1 -1
  121. package/dist/index.cjs +7 -9
  122. package/dist/index.cjs.map +1 -1
  123. package/dist/index.js +7 -9
  124. package/dist/index.js.map +1 -1
  125. package/dist/{map-CDv4fbu4.js → map-5-4U5rwA.js} +2 -3
  126. package/dist/{map-CDv4fbu4.js.map → map-5-4U5rwA.js.map} +1 -1
  127. package/dist/{map-wjmL1y5O.cjs → map-BGoWBTGy.cjs} +2 -3
  128. package/dist/{map-wjmL1y5O.cjs.map → map-BGoWBTGy.cjs.map} +1 -1
  129. package/dist/{mastra-client-context-Bx_g84YB.js → mastra-client-context-DQ5z_ze9.js} +2 -3
  130. package/dist/{mastra-client-context-Bx_g84YB.js.map → mastra-client-context-DQ5z_ze9.js.map} +1 -1
  131. package/dist/{mastra-client-context-DzX3f0RF.cjs → mastra-client-context-DX8wJM9p.cjs} +2 -3
  132. package/dist/{mastra-client-context-DzX3f0RF.cjs.map → mastra-client-context-DX8wJM9p.cjs.map} +1 -1
  133. package/dist/{query-utils-CcrChYgz.cjs → query-utils-BVgE_xxj.cjs} +2 -3
  134. package/dist/{query-utils-CcrChYgz.cjs.map → query-utils-BVgE_xxj.cjs.map} +1 -1
  135. package/dist/{query-utils-D1NgFnWU.js → query-utils-DvMERIwf.js} +2 -3
  136. package/dist/{query-utils-D1NgFnWU.js.map → query-utils-DvMERIwf.js.map} +1 -1
  137. package/dist/ui/index.cjs +15 -30
  138. package/dist/ui/index.cjs.map +1 -1
  139. package/dist/ui/index.js +14 -28
  140. package/dist/ui/index.js.map +1 -1
  141. package/dist/{use-in-view-B6eJO9Zi.cjs → use-in-view-BxdrrnCw.cjs} +2 -3
  142. package/dist/{use-in-view-B6eJO9Zi.cjs.map → use-in-view-BxdrrnCw.cjs.map} +1 -1
  143. package/dist/{use-in-view-C9sYPGRm.js → use-in-view-CyjKdplM.js} +2 -3
  144. package/dist/{use-in-view-C9sYPGRm.js.map → use-in-view-CyjKdplM.js.map} +1 -1
  145. package/dist/{voice-BOtUdMi8.cjs → voice-Didej2E1.cjs} +5 -8
  146. package/dist/{voice-BOtUdMi8.cjs.map → voice-Didej2E1.cjs.map} +1 -1
  147. package/dist/{voice-DgirjEyH.js → voice-ugGu7VyA.js} +5 -8
  148. package/dist/{voice-DgirjEyH.js.map → voice-ugGu7VyA.js.map} +1 -1
  149. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/traces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,6BAA6B,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/traces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,6BAA6B,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC"}
@@ -1,13 +1,13 @@
1
- import { n as useMastraClient } from "../../mastra-client-context-Bx_g84YB.js";
2
- import { t as useInView } from "../../use-in-view-C9sYPGRm.js";
3
- import { t as getOrCreate } from "../../map-CDv4fbu4.js";
4
- import { n as is403ForbiddenError } from "../../query-utils-D1NgFnWU.js";
5
- import { t as getFeedbackRefetchInterval } from "../../feedback-refetch-interval-DLHzQoVV.js";
1
+ import { n as useMastraClient } from "../../mastra-client-context-DQ5z_ze9.js";
2
+ import { t as useInView } from "../../use-in-view-CyjKdplM.js";
3
+ import { n as is403ForbiddenError } from "../../query-utils-DvMERIwf.js";
4
+ import { t as getFeedbackRefetchInterval } from "../../feedback-refetch-interval-C12Nzb2r.js";
5
+ import { t as getOrCreate } from "../../map-5-4U5rwA.js";
6
6
  import { MastraClient, MastraClientError } from "@mastra/client-js";
7
7
  import { useEffect, useMemo, useRef, useState } from "react";
8
8
  import { keepPreviousData, queryOptions, skipToken, useInfiniteQuery, useMutation, useQueries, useQuery, useQueryClient } from "@tanstack/react-query";
9
9
  import { EntityType } from "@mastra/core/observability";
10
- //#region src/hooks/traces/discovery-cache.ts
10
+ // src/hooks/traces/discovery-cache.ts
11
11
  /**
12
12
  * How long discovery results (tags, environments, service names, entity
13
13
  * names) stay fresh on the client.
@@ -19,8 +19,7 @@ import { EntityType } from "@mastra/core/observability";
19
19
  * client from asking more often than the answer can change.
20
20
  */
21
21
  const DISCOVERY_STALE_TIME = 3e5;
22
- //#endregion
23
- //#region src/hooks/traces/use-branch.ts
22
+ // src/hooks/traces/use-branch.ts
24
23
  /**
25
24
  * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
26
25
  */
@@ -45,8 +44,7 @@ function useBranch({ traceId, spanId, depth, queryOptions }) {
45
44
  ...queryOptions
46
45
  });
47
46
  }
48
- //#endregion
49
- //#region src/hooks/traces/types.ts
47
+ // src/hooks/traces/types.ts
50
48
  const ROOT_ENTITY_TYPES = {
51
49
  AGENT: "agent",
52
50
  WORKFLOW: "workflow_run",
@@ -54,8 +52,7 @@ const ROOT_ENTITY_TYPES = {
54
52
  INGEST: "rag_ingestion",
55
53
  CLASSIFIER: "classifier"
56
54
  };
57
- //#endregion
58
- //#region src/hooks/traces/use-entity-names.ts
55
+ // src/hooks/traces/use-entity-names.ts
59
56
  function resolveEntityType(entityType) {
60
57
  return Object.values(EntityType).find((candidate) => candidate === entityType);
61
58
  }
@@ -95,8 +92,7 @@ const useEntityNames = ({ entityType, rootOnly = false, queryOptions } = {}) =>
95
92
  ...queryOptions
96
93
  });
97
94
  };
98
- //#endregion
99
- //#region src/hooks/traces/use-environments.ts
95
+ // src/hooks/traces/use-environments.ts
100
96
  const useEnvironments = ({ queryOptions } = {}) => {
101
97
  const client = useMastraClient();
102
98
  return useQuery({
@@ -114,8 +110,7 @@ const useEnvironments = ({ queryOptions } = {}) => {
114
110
  ...queryOptions
115
111
  });
116
112
  };
117
- //#endregion
118
- //#region src/hooks/traces/use-service-names.ts
113
+ // src/hooks/traces/use-service-names.ts
119
114
  const useServiceNames = ({ queryOptions } = {}) => {
120
115
  const client = useMastraClient();
121
116
  return useQuery({
@@ -133,8 +128,7 @@ const useServiceNames = ({ queryOptions } = {}) => {
133
128
  ...queryOptions
134
129
  });
135
130
  };
136
- //#endregion
137
- //#region src/hooks/traces/use-span-detail.ts
131
+ // src/hooks/traces/use-span-detail.ts
138
132
  const IMMUTABLE_CACHE_TIME$1 = 2592e6;
139
133
  /**
140
134
  * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
@@ -158,8 +152,7 @@ function useSpanDetail({ traceId, spanId, queryOptions }) {
158
152
  ...queryOptions
159
153
  });
160
154
  }
161
- //#endregion
162
- //#region src/hooks/traces/use-tags.ts
155
+ // src/hooks/traces/use-tags.ts
163
156
  const useTags = ({ queryOptions } = {}) => {
164
157
  const client = useMastraClient();
165
158
  return useQuery({
@@ -177,8 +170,7 @@ const useTags = ({ queryOptions } = {}) => {
177
170
  ...queryOptions
178
171
  });
179
172
  };
180
- //#endregion
181
- //#region src/hooks/traces/use-thread-has-other-traces.ts
173
+ // src/hooks/traces/use-thread-has-other-traces.ts
182
174
  /**
183
175
  * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
184
176
  */
@@ -198,8 +190,7 @@ function useThreadHasOtherTraces({ threadId, queryOptions }) {
198
190
  });
199
191
  return data ?? false;
200
192
  }
201
- //#endregion
202
- //#region src/hooks/traces/use-trace-light-spans.ts
193
+ // src/hooks/traces/use-trace-light-spans.ts
203
194
  const IMMUTABLE_CACHE_TIME = 2592e6;
204
195
  /**
205
196
  * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
@@ -219,8 +210,7 @@ function useTraceLightSpans({ traceId, queryOptions }) {
219
210
  ...queryOptions
220
211
  });
221
212
  }
222
- //#endregion
223
- //#region src/hooks/traces/use-trace-spans.ts
213
+ // src/hooks/traces/use-trace-spans.ts
224
214
  const traceSpansQueryOptions = (client, traceId) => queryOptions({
225
215
  queryKey: ["trace-spans", traceId],
226
216
  queryFn: async () => {
@@ -273,8 +263,7 @@ function useTraceSpansQueries({ traceIds, select, fallback, queryOptions }) {
273
263
  combine: (results) => results.map((result, index) => result.data === void 0 ? fallback(traceIds[index] ?? "") : result.data)
274
264
  });
275
265
  }
276
- //#endregion
277
- //#region src/hooks/traces/use-trace-or-branch-spans.ts
266
+ // src/hooks/traces/use-trace-or-branch-spans.ts
278
267
  /**
279
268
  * Unified data source for the trace/span detail panel. Returns trace spans (full tree from the
280
269
  * root) in traces mode, or branch spans (subtree rooted at `anchorSpanId`) in branches mode.
@@ -316,8 +305,44 @@ function useTraceOrBranchSpans({ traceId, anchorSpanId, listMode, depth, queryOp
316
305
  error: traceQuery.error
317
306
  };
318
307
  }
319
- //#endregion
320
- //#region src/hooks/traces/use-trace-query.ts
308
+ // src/hooks/traces/use-span-aggregate.ts
309
+ /**
310
+ * Runs `aggregateSpans()` for `request`. Check `useSpanAggregateAvailable()` before enabling it.
311
+ *
312
+ * Like `useTraceAggregate()`, it doesn't poll or retry: the client already retries server errors,
313
+ * and a rejected request (4xx) fails once.
314
+ */
315
+ function useSpanAggregate({ request, enabled = true, queryOptions }) {
316
+ const client = useMastraClient();
317
+ return useQuery({
318
+ queryKey: ["span-aggregate", request],
319
+ queryFn: () => client.aggregateSpans(request),
320
+ enabled,
321
+ retry: false,
322
+ refetchOnWindowFocus: false,
323
+ ...queryOptions
324
+ });
325
+ }
326
+ // src/hooks/traces/use-trace-aggregate.ts
327
+ /**
328
+ * Runs `aggregateTraces()` for `request`. Check `useTraceAggregateAvailable()` before enabling it.
329
+ *
330
+ * It doesn't poll: grouped requests over large tenants take seconds, so it refetches only when the
331
+ * request changes or the caller calls `refetch()`. The client already retries server errors, so
332
+ * React Query doesn't retry on top of it, and a rejected request (4xx) fails once.
333
+ */
334
+ function useTraceAggregate({ request, enabled = true, queryOptions }) {
335
+ const client = useMastraClient();
336
+ return useQuery({
337
+ queryKey: ["trace-aggregate", request],
338
+ queryFn: ({ signal }) => client.aggregateTraces(request, { signal }),
339
+ enabled,
340
+ retry: false,
341
+ refetchOnWindowFocus: false,
342
+ ...queryOptions
343
+ });
344
+ }
345
+ // src/hooks/traces/use-trace-query.ts
321
346
  const TRACE_QUERY_PER_PAGE = 25;
322
347
  /** Max traces per delta request; the server caps `limit` at 100. */
323
348
  const TRACE_QUERY_DELTA_LIMIT = 100;
@@ -626,8 +651,7 @@ function useTraceQueryLatest({ query, limit = 25, enabled = true, refetchInterva
626
651
  ...queryOptions
627
652
  });
628
653
  }
629
- //#endregion
630
- //#region src/hooks/traces/use-query-spans.ts
654
+ // src/hooks/traces/use-query-spans.ts
631
655
  const SPAN_QUERY_PER_PAGE = 25;
632
656
  const selectSpans = (data) => data.pages.flatMap((page) => page.spans);
633
657
  /** Queries completed spans with cursor pagination and viewport-driven loading. */
@@ -678,8 +702,7 @@ function useQuerySpans({ query, limit = 25, enabled = true, queryOptions }) {
678
702
  refetch: () => void refetch()
679
703
  };
680
704
  }
681
- //#endregion
682
- //#region src/hooks/traces/use-query-threads.ts
705
+ // src/hooks/traces/use-query-threads.ts
683
706
  const THREAD_QUERY_PER_PAGE = 25;
684
707
  const selectThreads = (data) => data.pages.flatMap((page) => page.threads);
685
708
  /** Queries thread rows with cursor pagination and viewport-driven loading. */
@@ -730,8 +753,7 @@ function useQueryThreads({ query, limit = 25, enabled = true, queryOptions }) {
730
753
  refetch: () => void refetch()
731
754
  };
732
755
  }
733
- //#endregion
734
- //#region src/hooks/traces/use-trace-usage.ts
756
+ // src/hooks/traces/use-trace-usage.ts
735
757
  const INPUT_TOKEN_METRIC = "mastra_model_total_input_tokens";
736
758
  const OUTPUT_TOKEN_METRIC = "mastra_model_total_output_tokens";
737
759
  const TRACE_IDS_PER_REQUEST = 500;
@@ -807,8 +829,7 @@ function useTraceUsage({ traceIds, enabled, autoRefetch, queryOptions }) {
807
829
  ...queryOptions
808
830
  });
809
831
  }
810
- //#endregion
811
- //#region src/hooks/traces/use-traces.tsx
832
+ // src/hooks/traces/use-traces.tsx
812
833
  const deltaSupportByClient = /* @__PURE__ */ new WeakMap();
813
834
  const lightListSupportByClient = /* @__PURE__ */ new WeakMap();
814
835
  /** When the current run of light-endpoint 500s started, per client. Cleared by any light success. */
@@ -1198,8 +1219,7 @@ const useTraces = ({ filters, listMode = "traces", polling = {}, enabled = true,
1198
1219
  recentlyAddedKeys
1199
1220
  };
1200
1221
  };
1201
- //#endregion
1202
- //#region src/hooks/traces/use-create-feedback.tsx
1222
+ // src/hooks/traces/use-create-feedback.tsx
1203
1223
  /**
1204
1224
  * Submits a free-text comment as a feedback record, scoped to the trace or to a
1205
1225
  * single span, then invalidates the matching feedback list so it refreshes.
@@ -1223,8 +1243,7 @@ const useCreateFeedback = ({ traceId, spanId, queryOptions }) => {
1223
1243
  ...queryOptions
1224
1244
  });
1225
1245
  };
1226
- //#endregion
1227
- //#region src/hooks/traces/use-delete-feedback.tsx
1246
+ // src/hooks/traces/use-delete-feedback.tsx
1228
1247
  /**
1229
1248
  * Deletes a single feedback record by id, then invalidates the matching
1230
1249
  * feedback list (trace- or span-scoped) so it refreshes.
@@ -1242,8 +1261,7 @@ const useDeleteFeedback = ({ traceId, spanId, queryOptions }) => {
1242
1261
  ...queryOptions
1243
1262
  });
1244
1263
  };
1245
- //#endregion
1246
- //#region src/hooks/traces/use-span-feedback.tsx
1264
+ // src/hooks/traces/use-span-feedback.tsx
1247
1265
  /**
1248
1266
  * Feedback scoped to a single span. Both identifiers are required: without a `spanId`
1249
1267
  * the query stays disabled rather than falling back to trace-wide feedback.
@@ -1276,8 +1294,7 @@ const useSpanFeedback = ({ traceId = "", spanId = "", page, queryOptions }) => {
1276
1294
  ...queryOptions
1277
1295
  });
1278
1296
  };
1279
- //#endregion
1280
- //#region src/hooks/traces/use-trace-feedback.tsx
1297
+ // src/hooks/traces/use-trace-feedback.tsx
1281
1298
  /** Loads a page of trace-level feedback and stops polling when storage cannot serve feedback. */
1282
1299
  /**
1283
1300
  * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
@@ -1319,8 +1336,7 @@ const useTraceFeedback = ({ traceId = "", page, queryOptions }) => {
1319
1336
  ...queryOptions
1320
1337
  });
1321
1338
  };
1322
- //#endregion
1323
- //#region src/hooks/traces/use-trace-metadata-filter-fields.ts
1339
+ // src/hooks/traces/use-trace-metadata-filter-fields.ts
1324
1340
  const DISCOVERY_LIMIT = 100;
1325
1341
  const EMPTY_FIELDS = {
1326
1342
  canonicalFields: [],
@@ -1393,17 +1409,16 @@ const useTraceMetadataFilterFields = ({ timeRange, queryOptions }) => {
1393
1409
  error: query.error
1394
1410
  };
1395
1411
  };
1396
- //#endregion
1397
- //#region src/hooks/traces/use-trace-column-preferences-storage-key.ts
1412
+ // src/hooks/traces/use-trace-column-preferences-storage-key.ts
1398
1413
  /**
1399
1414
  * Storage key for the trace list column preferences, scoped to the Mastra server the client
1400
- * talks to so each project keeps its own column layout.
1415
+ * talks to so each project keeps its own column layout, and to the list (traces or spans)
1416
+ * so each list keeps its own selection.
1401
1417
  */
1402
- function useTraceColumnPreferencesStorageKey() {
1418
+ function useTraceColumnPreferencesStorageKey(scope = "traces") {
1403
1419
  const client = useMastraClient();
1404
- return `mastra:traces:columns:${client.options.baseUrl || (typeof window === "undefined" ? "local" : window.location.origin || "local")}:${client.options.apiPrefix ?? "/api"}`;
1420
+ return `mastra:${scope}:columns:${client.options.baseUrl || (typeof window === "undefined" ? "local" : window.location.origin || "local")}:${client.options.apiPrefix ?? "/api"}`;
1405
1421
  }
1406
- //#endregion
1407
- export { DISCOVERY_STALE_TIME, ROOT_ENTITY_TYPES, SPAN_QUERY_PER_PAGE, THREAD_QUERY_PER_PAGE, TRACES_PER_PAGE, TRACE_QUERY_DELTA_LIMIT, TRACE_QUERY_PER_PAGE, createTraceQueryValuesResolver, getLegacyTraceQueryNextPageParam, getTraceQueryNextPageParam, getTracesNextPageParam, lightSpanToTraceQueryTrace, mergeDeltaIntoPage0, mergeTraceQueryDelta, refreshPage0Rows, selectLegacyTraceQueryTraces, selectTraceQueryTraces, selectUniqueTraces, shouldPinLightList, shouldResetAfterIdle, traceQueryFieldsQueryKey, traceQueryKey, traceSpansQueryOptions, useBranch, useCreateFeedback, useDeleteFeedback, useEntityNames, useEnvironments, useFetchTraceSpans, useQuerySpans, useQueryThreads, useServiceNames, useSpanDetail, useSpanFeedback, useTags, useThreadHasOtherTraces, useTraceColumnPreferencesStorageKey, useTraceFeedback, useTraceLightSpans, useTraceMetadataFilterFields, useTraceOrBranchSpans, useTraceQuery, useTraceQueryLatest, useTraceSpans, useTraceSpansQueries, useTraceUsage, useTraces };
1422
+ export { DISCOVERY_STALE_TIME, ROOT_ENTITY_TYPES, SPAN_QUERY_PER_PAGE, THREAD_QUERY_PER_PAGE, TRACES_PER_PAGE, TRACE_QUERY_DELTA_LIMIT, TRACE_QUERY_PER_PAGE, createTraceQueryValuesResolver, getLegacyTraceQueryNextPageParam, getTraceQueryNextPageParam, getTracesNextPageParam, lightSpanToTraceQueryTrace, mergeDeltaIntoPage0, mergeTraceQueryDelta, refreshPage0Rows, selectLegacyTraceQueryTraces, selectTraceQueryTraces, selectUniqueTraces, shouldPinLightList, shouldResetAfterIdle, traceQueryFieldsQueryKey, traceQueryKey, traceSpansQueryOptions, useBranch, useCreateFeedback, useDeleteFeedback, useEntityNames, useEnvironments, useFetchTraceSpans, useQuerySpans, useQueryThreads, useServiceNames, useSpanAggregate, useSpanDetail, useSpanFeedback, useTags, useThreadHasOtherTraces, useTraceAggregate, useTraceColumnPreferencesStorageKey, useTraceFeedback, useTraceLightSpans, useTraceMetadataFilterFields, useTraceOrBranchSpans, useTraceQuery, useTraceQueryLatest, useTraceSpans, useTraceSpansQueries, useTraceUsage, useTraces };
1408
1423
 
1409
1424
  //# sourceMappingURL=index.js.map