@mastra/playground-ui 4.0.0-alpha.8 → 4.0.0

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 (63) hide show
  1. package/dist/domains/agents/agent/context/agent-context.d.ts +13 -0
  2. package/dist/domains/agents/index.d.ts +1 -0
  3. package/dist/domains/workflows/context/workflow-run-context.d.ts +2 -2
  4. package/dist/ds/components/Badge/Badge.d.ts +9 -0
  5. package/dist/ds/components/Badge/index.d.ts +1 -0
  6. package/dist/ds/components/Breadcrumb/Breadcrumb.d.ts +16 -0
  7. package/dist/ds/components/Breadcrumb/index.d.ts +1 -0
  8. package/dist/ds/components/Button/Button.d.ts +10 -0
  9. package/dist/ds/components/Button/index.d.ts +1 -0
  10. package/dist/ds/components/Header/Header.d.ts +9 -0
  11. package/dist/ds/components/Header/index.d.ts +1 -0
  12. package/dist/ds/components/Logo/MastraLogo.d.ts +3 -0
  13. package/dist/ds/components/Logo/index.d.ts +1 -0
  14. package/dist/ds/components/Table/Cells.d.ts +24 -0
  15. package/dist/ds/components/Table/Table.d.ts +29 -0
  16. package/dist/ds/components/Table/index.d.ts +2 -0
  17. package/dist/ds/components/Table/utils.d.ts +4 -0
  18. package/dist/ds/components/Txt/Txt.d.ts +9 -0
  19. package/dist/ds/components/Txt/index.d.ts +1 -0
  20. package/dist/ds/components/types.d.ts +4 -0
  21. package/dist/ds/icons/AgentIcon.d.ts +3 -0
  22. package/dist/ds/icons/AiIcon.d.ts +3 -0
  23. package/dist/ds/icons/ApiIcon.d.ts +3 -0
  24. package/dist/ds/icons/BranchIcon.d.ts +3 -0
  25. package/dist/ds/icons/CheckIcon.d.ts +3 -0
  26. package/dist/ds/icons/CommitIcon.d.ts +3 -0
  27. package/dist/ds/icons/CrossIcon.d.ts +3 -0
  28. package/dist/ds/icons/DbIcon.d.ts +3 -0
  29. package/dist/ds/icons/DebugIcon.d.ts +3 -0
  30. package/dist/ds/icons/DeploymentIcon.d.ts +3 -0
  31. package/dist/ds/icons/DividerIcon.d.ts +3 -0
  32. package/dist/ds/icons/DocsIcon.d.ts +3 -0
  33. package/dist/ds/icons/EnvIcon.d.ts +3 -0
  34. package/dist/ds/icons/FiltersIcon.d.ts +3 -0
  35. package/dist/ds/icons/HomeIcon.d.ts +3 -0
  36. package/dist/ds/icons/Icon.d.ts +7 -0
  37. package/dist/ds/icons/InfoIcon.d.ts +3 -0
  38. package/dist/ds/icons/JudgeIcon.d.ts +3 -0
  39. package/dist/ds/icons/LogsIcon.d.ts +3 -0
  40. package/dist/ds/icons/MemoryIcon.d.ts +3 -0
  41. package/dist/ds/icons/OpenAIIcon.d.ts +3 -0
  42. package/dist/ds/icons/PromptIcon.d.ts +3 -0
  43. package/dist/ds/icons/ScoreIcon.d.ts +3 -0
  44. package/dist/ds/icons/SettingsIcon.d.ts +3 -0
  45. package/dist/ds/icons/SlashIcon.d.ts +3 -0
  46. package/dist/ds/icons/ToolsIcon.d.ts +3 -0
  47. package/dist/ds/icons/TraceIcon.d.ts +3 -0
  48. package/dist/ds/icons/TsIcon.d.ts +3 -0
  49. package/dist/ds/icons/VariablesIcon.d.ts +3 -0
  50. package/dist/ds/icons/WorkflowIcon.d.ts +3 -0
  51. package/dist/ds/tokens/borders.d.ts +9 -0
  52. package/dist/ds/tokens/colors.d.ts +23 -0
  53. package/dist/ds/tokens/fonts.d.ts +14 -0
  54. package/dist/ds/tokens/index.d.ts +5 -0
  55. package/dist/ds/tokens/sizes.d.ts +10 -0
  56. package/dist/ds/tokens/spacings.d.ts +5 -0
  57. package/dist/hooks/use-workflows.d.ts +9 -2
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.es.js +200 -14
  60. package/dist/index.es.js.map +1 -1
  61. package/dist/services/mastra-runtime-provider.d.ts +1 -1
  62. package/dist/types.d.ts +12 -0
  63. package/package.json +3 -3
package/dist/index.es.js CHANGED
@@ -24,6 +24,7 @@ import CodeMirror from '@uiw/react-codemirror';
24
24
  import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
25
25
  import { processDataStream } from '@ai-sdk/ui-utils';
26
26
  import Markdown from 'react-markdown';
27
+ import { useDebouncedCallback } from 'use-debounce';
27
28
  import { MarkerType, Handle, Position, useNodesState, useEdgesState, ReactFlow, Controls, MiniMap, Background, BackgroundVariant, ReactFlowProvider } from '@xyflow/react';
28
29
  import '@xyflow/react/dist/style.css';
29
30
  import Dagre from '@dagrejs/dagre';
@@ -36,7 +37,6 @@ import z$1, { z } from 'zod';
36
37
  import { AutoForm as AutoForm$1, buildZodFieldConfig } from '@autoform/react';
37
38
  import * as LabelPrimitive from '@radix-ui/react-label';
38
39
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
39
- import { useDebouncedCallback } from 'use-debounce';
40
40
  import { DayPicker } from 'react-day-picker';
41
41
  import * as PopoverPrimitive from '@radix-ui/react-popover';
42
42
  import * as SelectPrimitive from '@radix-ui/react-select';
@@ -3495,11 +3495,13 @@ function MastraRuntimeProvider({
3495
3495
  memory,
3496
3496
  threadId,
3497
3497
  baseUrl,
3498
- refreshThreadList
3498
+ refreshThreadList,
3499
+ modelSettings = {}
3499
3500
  }) {
3500
3501
  const [isRunning, setIsRunning] = useState(false);
3501
3502
  const [messages, setMessages] = useState([]);
3502
3503
  const [currentThreadId, setCurrentThreadId] = useState(threadId);
3504
+ const { frequencyPenalty, presencePenalty, maxRetries, maxSteps, maxTokens, temperature, topK, topP, instructions } = modelSettings;
3503
3505
  useEffect(() => {
3504
3506
  const hasNewInitialMessages = initialMessages && initialMessages?.length > messages?.length;
3505
3507
  if (messages.length === 0 || currentThreadId !== threadId || hasNewInitialMessages && currentThreadId === threadId) {
@@ -3555,6 +3557,15 @@ function MastraRuntimeProvider({
3555
3557
  }
3556
3558
  ],
3557
3559
  runId: agentId,
3560
+ frequencyPenalty,
3561
+ presencePenalty,
3562
+ maxRetries,
3563
+ maxSteps,
3564
+ maxTokens,
3565
+ temperature,
3566
+ topK,
3567
+ topP,
3568
+ instructions,
3558
3569
  ...memory ? { threadId, resourceId: agentId } : {}
3559
3570
  });
3560
3571
  if (!response.body) {
@@ -3652,6 +3663,10 @@ function MastraRuntimeProvider({
3652
3663
  } catch (error) {
3653
3664
  console.error("Error occurred in MastraRuntimeProvider", error);
3654
3665
  setIsRunning(false);
3666
+ setMessages((currentConversation) => [
3667
+ ...currentConversation,
3668
+ { role: "assistant", content: [{ type: "text", text: `Error: ${error}` }] }
3669
+ ]);
3655
3670
  }
3656
3671
  };
3657
3672
  const runtime = useExternalStoreRuntime({
@@ -3667,6 +3682,31 @@ function MastraRuntimeProvider({
3667
3682
  ] });
3668
3683
  }
3669
3684
 
3685
+ const defaultModelSettings = {
3686
+ maxRetries: 2,
3687
+ maxSteps: 1,
3688
+ temperature: 0.5,
3689
+ topP: 1
3690
+ };
3691
+ const AgentContext = createContext({});
3692
+ function AgentProvider({ children }) {
3693
+ const [modelSettings, setModelSettings] = useState(defaultModelSettings);
3694
+ const resetModelSettings = () => {
3695
+ setModelSettings(defaultModelSettings);
3696
+ };
3697
+ return /* @__PURE__ */ jsx(
3698
+ AgentContext.Provider,
3699
+ {
3700
+ value: {
3701
+ modelSettings,
3702
+ setModelSettings,
3703
+ resetModelSettings
3704
+ },
3705
+ children
3706
+ }
3707
+ );
3708
+ }
3709
+
3670
3710
  const AgentChat = ({
3671
3711
  agentId,
3672
3712
  agentName,
@@ -3676,6 +3716,7 @@ const AgentChat = ({
3676
3716
  baseUrl,
3677
3717
  refreshThreadList
3678
3718
  }) => {
3719
+ const { modelSettings } = useContext(AgentContext);
3679
3720
  return /* @__PURE__ */ jsx(
3680
3721
  MastraRuntimeProvider,
3681
3722
  {
@@ -3686,6 +3727,7 @@ const AgentChat = ({
3686
3727
  memory,
3687
3728
  baseUrl,
3688
3729
  refreshThreadList,
3730
+ modelSettings,
3689
3731
  children: /* @__PURE__ */ jsx(Thread, { memory })
3690
3732
  }
3691
3733
  );
@@ -3707,7 +3749,7 @@ const badgeVariants = cva(
3707
3749
  }
3708
3750
  }
3709
3751
  );
3710
- function Badge({ className, variant, ...props }) {
3752
+ function Badge$1({ className, variant, ...props }) {
3711
3753
  return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
3712
3754
  }
3713
3755
 
@@ -3783,7 +3825,7 @@ const Input = React.forwardRef(
3783
3825
  Input.displayName = "Input";
3784
3826
 
3785
3827
  function ScoreIndicator({ score }) {
3786
- return /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: score.toFixed(2) });
3828
+ return /* @__PURE__ */ jsx(Badge$1, { variant: "secondary", children: score.toFixed(2) });
3787
3829
  }
3788
3830
 
3789
3831
  function Skeleton({ className, ...props }) {
@@ -3964,7 +4006,7 @@ function EvalTable({ evals, isCIMode = false }) {
3964
4006
  }
3965
4007
  )
3966
4008
  ] }),
3967
- /* @__PURE__ */ jsxs(Badge, { variant: "secondary", className: "text-xs", children: [
4009
+ /* @__PURE__ */ jsxs(Badge$1, { variant: "secondary", className: "text-xs", children: [
3968
4010
  evals.length,
3969
4011
  " Total Evaluations"
3970
4012
  ] }),
@@ -4024,7 +4066,7 @@ function EvalTable({ evals, isCIMode = false }) {
4024
4066
  /* @__PURE__ */ jsx(TableCell, { className: "min-w-[200px] max-w-[30%] font-medium text-mastra-el-5", children: group.metricName }),
4025
4067
  /* @__PURE__ */ jsx(TableCell, { className: "flex-1 text-mastra-el-5" }),
4026
4068
  /* @__PURE__ */ jsx(TableCell, { className: "w-48 text-mastra-el-5", children: /* @__PURE__ */ jsx(ScoreIndicator, { score: group.averageScore }) }),
4027
- /* @__PURE__ */ jsx(TableCell, { className: "w-48 text-mastra-el-5", children: /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: group.evals.length }) })
4069
+ /* @__PURE__ */ jsx(TableCell, { className: "w-48 text-mastra-el-5", children: /* @__PURE__ */ jsx(Badge$1, { variant: "secondary", children: group.evals.length }) })
4028
4070
  ]
4029
4071
  }
4030
4072
  ),
@@ -4068,7 +4110,7 @@ function EvalTable({ evals, isCIMode = false }) {
4068
4110
  multiline: true
4069
4111
  }
4070
4112
  ) }) }),
4071
- isCIMode && /* @__PURE__ */ jsx(TableCell, { className: "text-mastra-el-4 align-top py-4", children: evaluation.testInfo?.testName && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: evaluation.testInfo.testName }) })
4113
+ isCIMode && /* @__PURE__ */ jsx(TableCell, { className: "text-mastra-el-4 align-top py-4", children: evaluation.testInfo?.testName && /* @__PURE__ */ jsx(Badge$1, { variant: "secondary", className: "text-xs", children: evaluation.testInfo.testName }) })
4072
4114
  ]
4073
4115
  },
4074
4116
  `${group.metricName}-${index}`
@@ -4707,7 +4749,7 @@ const useCodemirrorTheme = () => {
4707
4749
  return useMemo(
4708
4750
  () => githubDarkInit({
4709
4751
  settings: {
4710
- fontFamily: "var(--commit-mono)",
4752
+ fontFamily: "var(--geist-mono)",
4711
4753
  fontSize: "0.8rem",
4712
4754
  foreground: "#030712",
4713
4755
  background: "#1a1a1a",
@@ -5876,6 +5918,31 @@ const useExecuteWorkflow = (baseUrl) => {
5876
5918
  const useWatchWorkflow = (baseUrl) => {
5877
5919
  const [isWatchingWorkflow, setIsWatchingWorkflow] = useState(false);
5878
5920
  const [watchResult, setWatchResult] = useState(null);
5921
+ const debouncedSetWatchResult = useDebouncedCallback((record) => {
5922
+ const formattedResults = Object.entries(record.results || {}).reduce(
5923
+ (acc, [key, value]) => {
5924
+ let output = value.status === "success" ? value.output : void 0;
5925
+ if (output) {
5926
+ output = Object.entries(output).reduce(
5927
+ (_acc, [_key, _value]) => {
5928
+ const val = _value;
5929
+ _acc[_key] = val.type?.toLowerCase() === "buffer" ? { type: "Buffer", data: `[...buffered data]` } : val;
5930
+ return _acc;
5931
+ },
5932
+ {}
5933
+ );
5934
+ }
5935
+ acc[key] = { ...value, output };
5936
+ return acc;
5937
+ },
5938
+ {}
5939
+ );
5940
+ const sanitizedRecord = {
5941
+ ...record,
5942
+ sanitizedOutput: record ? JSON.stringify({ ...record, results: formattedResults }, null, 2).slice(0, 5e4) : null
5943
+ };
5944
+ setWatchResult(sanitizedRecord);
5945
+ }, 100);
5879
5946
  const watchWorkflow = async ({ workflowId, runId }) => {
5880
5947
  try {
5881
5948
  setIsWatchingWorkflow(true);
@@ -5884,7 +5951,14 @@ const useWatchWorkflow = (baseUrl) => {
5884
5951
  });
5885
5952
  const workflow = client.getWorkflow(workflowId);
5886
5953
  await workflow.watch({ runId }, (record) => {
5887
- setWatchResult(record);
5954
+ try {
5955
+ debouncedSetWatchResult(record);
5956
+ } catch (err) {
5957
+ console.error("Error processing workflow record:", err);
5958
+ setWatchResult({
5959
+ ...record
5960
+ });
5961
+ }
5888
5962
  });
5889
5963
  } catch (error) {
5890
5964
  console.error("Error watching workflow:", error);
@@ -7592,7 +7666,7 @@ function WorkflowTrigger({
7592
7666
  if (!triggerSchema) {
7593
7667
  return /* @__PURE__ */ jsx(ScrollArea, { className: "h-[calc(100vh-126px)] pt-2 px-4 pb-4 text-xs w-full", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
7594
7668
  /* @__PURE__ */ jsx("div", { className: "px-4 space-y-4", children: /* @__PURE__ */ jsx(Button, { className: "w-full", disabled: isRunning, onClick: () => handleExecuteWorkflow(null), children: isRunning ? /* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin" }) : "Trigger" }) }),
7595
- /* @__PURE__ */ jsxs("div", { children: [
7669
+ /* @__PURE__ */ jsxs("div", { className: "group relative flex flex-col", children: [
7596
7670
  /* @__PURE__ */ jsx(Text, { variant: "secondary", className: "px-4 text-mastra-el-3", size: "xs", children: "Output" }),
7597
7671
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx(
7598
7672
  CopyButton,
@@ -7605,7 +7679,7 @@ function WorkflowTrigger({
7605
7679
  CodeBlockDemo,
7606
7680
  {
7607
7681
  className: "w-full overflow-x-auto",
7608
- code: JSON.stringify(result ?? {}, null, 2),
7682
+ code: result?.sanitizedOutput || JSON.stringify(result ?? {}, null, 2),
7609
7683
  language: "json"
7610
7684
  }
7611
7685
  )
@@ -7679,7 +7753,7 @@ function WorkflowTrigger({
7679
7753
  }
7680
7754
  )
7681
7755
  ] })),
7682
- result && /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
7756
+ result && /* @__PURE__ */ jsxs("div", { className: "flex flex-col group relative", children: [
7683
7757
  /* @__PURE__ */ jsx(Text, { variant: "secondary", className: "px-4 text-mastra-el-3", size: "xs", children: "Output" }),
7684
7758
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx(
7685
7759
  CopyButton,
@@ -7688,10 +7762,122 @@ function WorkflowTrigger({
7688
7762
  content: JSON.stringify(result, null, 2)
7689
7763
  }
7690
7764
  ) }),
7691
- /* @__PURE__ */ jsx(CodeBlockDemo, { className: "w-full overflow-x-auto", code: JSON.stringify(result, null, 2), language: "json" })
7765
+ /* @__PURE__ */ jsx(
7766
+ CodeBlockDemo,
7767
+ {
7768
+ className: "w-full overflow-x-auto",
7769
+ code: result.sanitizedOutput || JSON.stringify(result, null, 2),
7770
+ language: "json"
7771
+ }
7772
+ )
7692
7773
  ] })
7693
7774
  ] }) });
7694
7775
  }
7695
7776
 
7696
- export { AgentChat, AgentEvals, AgentTraces, AgentsTable, DynamicForm, MastraResizablePanel, NetworkChat, WorkflowGraph, WorkflowRunContext, WorkflowRunProvider, WorkflowTraces, WorkflowTrigger, WorkflowsTable };
7777
+ const sizes = {
7778
+ default: "[&>svg]:h-icon-default [&>svg]:w-icon-default",
7779
+ lg: "[&>svg]:h-icon-lg [&>svg]:w-icon-lg"
7780
+ };
7781
+ const Icon = ({ children, className, size = "default", ...props }) => {
7782
+ return /* @__PURE__ */ jsx("div", { className: clsx(sizes[size], className), ...props, children });
7783
+ };
7784
+
7785
+ const variantClasses = {
7786
+ default: "text-icon3",
7787
+ success: "text-accent1",
7788
+ error: "text-accent2",
7789
+ info: "text-accent3"
7790
+ };
7791
+ const Badge = ({ icon, variant = "default", className, children, ...props }) => {
7792
+ return /* @__PURE__ */ jsxs(
7793
+ "div",
7794
+ {
7795
+ className: clsx(
7796
+ "bg-surface4 text-ui-sm gap-md h-badge-default inline-flex items-center rounded-md",
7797
+ icon ? "pl-md pr-1.5" : "px-1.5",
7798
+ icon || variant === "default" ? "text-icon5" : variantClasses[variant],
7799
+ className
7800
+ ),
7801
+ ...props,
7802
+ children: [
7803
+ icon && /* @__PURE__ */ jsx("span", { className: variantClasses[variant], children: /* @__PURE__ */ jsx(Icon, { children: icon }) }),
7804
+ children
7805
+ ]
7806
+ }
7807
+ );
7808
+ };
7809
+
7810
+ const DarkLogo = (props) => /* @__PURE__ */ jsxs("svg", { width: "100", height: "100", viewBox: "0 0 100 100", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
7811
+ /* @__PURE__ */ jsx("rect", { width: "100", height: "100", fill: "black" }),
7812
+ /* @__PURE__ */ jsx(
7813
+ "path",
7814
+ {
7815
+ fillRule: "evenodd",
7816
+ clipRule: "evenodd",
7817
+ d: "M49.9996 13.1627C29.6549 13.1627 13.1622 29.6553 13.1622 50.0001C13.1622 70.3449 29.6549 86.8375 49.9996 86.8375C70.3444 86.8375 86.8371 70.3449 86.8371 50.0001C86.8371 29.6553 70.3444 13.1627 49.9996 13.1627ZM10 50.0001C10 27.9089 27.9084 10.0005 49.9996 10.0005C72.0908 10.0005 89.9992 27.9089 89.9992 50.0001C89.9992 72.0913 72.0908 89.9997 49.9996 89.9997C27.9084 89.9997 10 72.0913 10 50.0001Z",
7818
+ fill: "currentColor"
7819
+ }
7820
+ ),
7821
+ /* @__PURE__ */ jsx(
7822
+ "path",
7823
+ {
7824
+ fillRule: "evenodd",
7825
+ clipRule: "evenodd",
7826
+ d: "M43.3709 19.4582C35.493 17.9055 28.4985 19.4076 23.954 23.9521C19.4094 28.4967 17.9073 35.4911 19.46 43.3691C21.0103 51.235 25.5889 59.7924 32.8993 67.1028C40.2097 74.4132 48.7671 78.9918 56.633 80.5421C64.511 82.0948 71.5054 80.5927 76.05 76.0481C80.5945 71.5036 82.0966 64.5091 80.5439 56.6312C78.9936 48.7653 74.415 40.2079 67.1046 32.8975C59.7942 25.5871 51.2368 21.0085 43.3709 19.4582ZM43.9824 16.3557C52.5432 18.043 61.6476 22.9685 69.3406 30.6615C77.0336 38.3545 81.9591 47.4589 83.6464 56.0197C85.3313 64.5685 83.8044 72.7657 78.286 78.2841C72.7675 83.8026 64.5704 85.3295 56.0216 83.6446C47.4607 81.9573 38.3563 77.0317 30.6633 69.3388C22.9704 61.6458 18.0448 52.5414 16.3575 43.9805C14.6726 35.4317 16.1995 27.2346 21.718 21.7161C27.2364 16.1977 35.4336 14.6708 43.9824 16.3557Z",
7827
+ fill: "currentColor"
7828
+ }
7829
+ ),
7830
+ /* @__PURE__ */ jsx(
7831
+ "path",
7832
+ {
7833
+ fillRule: "evenodd",
7834
+ clipRule: "evenodd",
7835
+ d: "M65.8864 51.719H34.314V48.5568H65.8864V51.719Z",
7836
+ fill: "currentColor"
7837
+ }
7838
+ ),
7839
+ /* @__PURE__ */ jsx(
7840
+ "path",
7841
+ {
7842
+ fillRule: "evenodd",
7843
+ clipRule: "evenodd",
7844
+ d: "M59.2351 43.2352L43.194 59.2763L40.958 57.0403L56.9991 40.9992L59.2351 43.2352Z",
7845
+ fill: "currentColor"
7846
+ }
7847
+ ),
7848
+ /* @__PURE__ */ jsx(
7849
+ "path",
7850
+ {
7851
+ fillRule: "evenodd",
7852
+ clipRule: "evenodd",
7853
+ d: "M43.1969 40.9992L59.2379 57.0403L57.002 59.2763L40.9609 43.2352L43.1969 40.9992Z",
7854
+ fill: "currentColor"
7855
+ }
7856
+ ),
7857
+ /* @__PURE__ */ jsx(
7858
+ "path",
7859
+ {
7860
+ fillRule: "evenodd",
7861
+ clipRule: "evenodd",
7862
+ d: "M23.7151 33.0924C17.0466 37.565 13.1629 43.573 13.1629 49.9999C13.1629 56.4269 17.0466 62.4349 23.7151 66.9075C30.3734 71.3733 39.662 74.1867 50.0004 74.1867C60.3388 74.1867 69.6274 71.3733 76.2857 66.9075C82.9541 62.4349 86.8378 56.4269 86.8378 49.9999C86.8378 43.573 82.9541 37.565 76.2857 33.0924C69.6274 28.6266 60.3388 25.8132 50.0004 25.8132C39.662 25.8132 30.3734 28.6266 23.7151 33.0924ZM21.9537 30.4662C29.2002 25.6059 39.1209 22.651 50.0004 22.651C60.8799 22.651 70.8006 25.6059 78.0471 30.4662C85.2834 35.3197 90 42.1957 90 49.9999C90 57.8042 85.2834 64.6802 78.0471 69.5337C70.8006 74.394 60.8799 77.3489 50.0004 77.3489C39.1209 77.3489 29.2002 74.394 21.9537 69.5337C14.7174 64.6802 10.0008 57.8042 10.0008 49.9999C10.0008 42.1957 14.7174 35.3197 21.9537 30.4662Z",
7863
+ fill: "currentColor"
7864
+ }
7865
+ )
7866
+ ] });
7867
+
7868
+ const variants = {
7869
+ "header-md": "text-header-md leading-header-md",
7870
+ "ui-lg": "text-ui-lg leading-ui-lg",
7871
+ "ui-md": "text-ui-md leading-ui-md",
7872
+ "ui-sm": "text-ui-sm leading-ui-sm",
7873
+ "ui-xs": "text-ui-xs leading-ui-xs"
7874
+ };
7875
+ const fonts = {
7876
+ mono: "font-mono"
7877
+ };
7878
+ const Txt = ({ as: Root = "p", className, variant = "ui-md", font, ...props }) => {
7879
+ return /* @__PURE__ */ jsx(Root, { className: clsx(variants[variant], font && fonts[font], className), ...props });
7880
+ };
7881
+
7882
+ export { AgentChat, AgentContext, AgentEvals, AgentProvider, AgentTraces, AgentsTable, Badge, DarkLogo, DynamicForm, MastraResizablePanel, NetworkChat, Txt, WorkflowGraph, WorkflowRunContext, WorkflowRunProvider, WorkflowTraces, WorkflowTrigger, WorkflowsTable };
7697
7883
  //# sourceMappingURL=index.es.js.map