@mastra/react 1.13.0-alpha.4 → 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.
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_mastra_client_context = require("../../mastra-client-context-DX8wJM9p.cjs");
3
3
  const require_use_in_view = require("../../use-in-view-BxdrrnCw.cjs");
4
- const require_map = require("../../map-BGoWBTGy.cjs");
5
4
  const require_query_utils = require("../../query-utils-BVgE_xxj.cjs");
6
5
  const require_feedback_refetch_interval = require("../../feedback-refetch-interval-BBcT9r8s.cjs");
6
+ const require_map = require("../../map-BGoWBTGy.cjs");
7
7
  let _mastra_client_js = require("@mastra/client-js");
8
8
  let react = require("react");
9
9
  let _tanstack_react_query = require("@tanstack/react-query");
@@ -306,6 +306,43 @@ function useTraceOrBranchSpans({ traceId, anchorSpanId, listMode, depth, queryOp
306
306
  error: traceQuery.error
307
307
  };
308
308
  }
309
+ // src/hooks/traces/use-span-aggregate.ts
310
+ /**
311
+ * Runs `aggregateSpans()` for `request`. Check `useSpanAggregateAvailable()` before enabling it.
312
+ *
313
+ * Like `useTraceAggregate()`, it doesn't poll or retry: the client already retries server errors,
314
+ * and a rejected request (4xx) fails once.
315
+ */
316
+ function useSpanAggregate({ request, enabled = true, queryOptions }) {
317
+ const client = require_mastra_client_context.useMastraClient();
318
+ return (0, _tanstack_react_query.useQuery)({
319
+ queryKey: ["span-aggregate", request],
320
+ queryFn: () => client.aggregateSpans(request),
321
+ enabled,
322
+ retry: false,
323
+ refetchOnWindowFocus: false,
324
+ ...queryOptions
325
+ });
326
+ }
327
+ // src/hooks/traces/use-trace-aggregate.ts
328
+ /**
329
+ * Runs `aggregateTraces()` for `request`. Check `useTraceAggregateAvailable()` before enabling it.
330
+ *
331
+ * It doesn't poll: grouped requests over large tenants take seconds, so it refetches only when the
332
+ * request changes or the caller calls `refetch()`. The client already retries server errors, so
333
+ * React Query doesn't retry on top of it, and a rejected request (4xx) fails once.
334
+ */
335
+ function useTraceAggregate({ request, enabled = true, queryOptions }) {
336
+ const client = require_mastra_client_context.useMastraClient();
337
+ return (0, _tanstack_react_query.useQuery)({
338
+ queryKey: ["trace-aggregate", request],
339
+ queryFn: ({ signal }) => client.aggregateTraces(request, { signal }),
340
+ enabled,
341
+ retry: false,
342
+ refetchOnWindowFocus: false,
343
+ ...queryOptions
344
+ });
345
+ }
309
346
  // src/hooks/traces/use-trace-query.ts
310
347
  const TRACE_QUERY_PER_PAGE = 25;
311
348
  /** Max traces per delta request; the server caps `limit` at 100. */
@@ -1376,11 +1413,12 @@ const useTraceMetadataFilterFields = ({ timeRange, queryOptions }) => {
1376
1413
  // src/hooks/traces/use-trace-column-preferences-storage-key.ts
1377
1414
  /**
1378
1415
  * Storage key for the trace list column preferences, scoped to the Mastra server the client
1379
- * talks to so each project keeps its own column layout.
1416
+ * talks to so each project keeps its own column layout, and to the list (traces or spans)
1417
+ * so each list keeps its own selection.
1380
1418
  */
1381
- function useTraceColumnPreferencesStorageKey() {
1419
+ function useTraceColumnPreferencesStorageKey(scope = "traces") {
1382
1420
  const client = require_mastra_client_context.useMastraClient();
1383
- return `mastra:traces:columns:${client.options.baseUrl || (typeof window === "undefined" ? "local" : window.location.origin || "local")}:${client.options.apiPrefix ?? "/api"}`;
1421
+ return `mastra:${scope}:columns:${client.options.baseUrl || (typeof window === "undefined" ? "local" : window.location.origin || "local")}:${client.options.apiPrefix ?? "/api"}`;
1384
1422
  }
1385
1423
  exports.DISCOVERY_STALE_TIME = DISCOVERY_STALE_TIME;
1386
1424
  exports.ROOT_ENTITY_TYPES = ROOT_ENTITY_TYPES;
@@ -1414,10 +1452,12 @@ exports.useFetchTraceSpans = useFetchTraceSpans;
1414
1452
  exports.useQuerySpans = useQuerySpans;
1415
1453
  exports.useQueryThreads = useQueryThreads;
1416
1454
  exports.useServiceNames = useServiceNames;
1455
+ exports.useSpanAggregate = useSpanAggregate;
1417
1456
  exports.useSpanDetail = useSpanDetail;
1418
1457
  exports.useSpanFeedback = useSpanFeedback;
1419
1458
  exports.useTags = useTags;
1420
1459
  exports.useThreadHasOtherTraces = useThreadHasOtherTraces;
1460
+ exports.useTraceAggregate = useTraceAggregate;
1421
1461
  exports.useTraceColumnPreferencesStorageKey = useTraceColumnPreferencesStorageKey;
1422
1462
  exports.useTraceFeedback = useTraceFeedback;
1423
1463
  exports.useTraceLightSpans = useTraceLightSpans;