@mastra/playground-ui 6.2.3-alpha.0 → 6.2.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.
package/dist/index.es.js CHANGED
@@ -1,9 +1,8 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import React__default, { createContext, useContext, forwardRef, memo, useState, useEffect, useRef, useCallback, useMemo, Fragment as Fragment$1, isValidElement, useId, startTransition } from 'react';
4
- import { MastraClient } from '@mastra/client-js';
5
2
  import { useMessage, MessagePrimitive, ActionBarPrimitive, useAttachment, AttachmentPrimitive, useComposerRuntime, ComposerPrimitive, useComposer, ThreadPrimitive, CompositeAttachmentAdapter, SimpleImageAttachmentAdapter, SimpleTextAttachmentAdapter, WebSpeechSynthesisAdapter, useExternalStoreRuntime, AssistantRuntimeProvider } from '@assistant-ui/react';
6
3
  import { CheckIcon as CheckIcon$1, CopyIcon, Check, Copy, ChevronUpIcon, X, Share2, Braces, Loader2, Network, ChevronDown, PauseIcon, HourglassIcon, CircleDashed, Footprints, CircleCheck, CircleX, Minus, Plus, Maximize, Workflow, AlertCircleIcon, ChevronDownIcon, CirclePause, AlertCircle, CalendarIcon, Brackets, PlusIcon, TrashIcon, Circle, StopCircle, BrainIcon, AudioLinesIcon, StopCircleIcon, FileText, CircleXIcon, Link, CloudUpload, Mic, ArrowUp, Search, RefreshCcwIcon, ChevronRight, SortAsc, SortDesc, SaveIcon, RefreshCw, ExternalLink, InfoIcon as InfoIcon$1, TriangleAlertIcon, ChevronRightIcon, ArrowLeftIcon, ArrowRightIcon, XIcon, ChevronsRightIcon, ArrowUpIcon, ArrowDownIcon, AlignLeftIcon, AlignJustifyIcon, CircleAlertIcon, GaugeIcon, HashIcon, GripVertical, EditIcon, Users, Brain, NetworkIcon, SearchIcon, WorkflowIcon as WorkflowIcon$1, PackageIcon, GitBranchIcon, PackageOpenIcon, OctagonXIcon, AlertTriangleIcon, FrownIcon, ChevronUp, ChevronsLeftRight, TimerIcon, ChevronsLeftRightIcon, ChevronFirstIcon, ChevronLastIcon, ListTreeIcon, ArrowRightToLineIcon, CoinsIcon, EyeIcon, ChevronsLeftRightEllipsisIcon, PanelTopIcon, PanelLeftIcon } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import React__default, { forwardRef, memo, useState, useEffect, useRef, useCallback, useMemo, createContext, useContext, Fragment as Fragment$1, isValidElement, useId, startTransition } from 'react';
7
6
  import { Slot } from '@radix-ui/react-slot';
8
7
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
8
  import { TooltipProvider as TooltipProvider$1 } from '@radix-ui/react-tooltip';
@@ -48,13 +47,14 @@ import * as LabelPrimitive from '@radix-ui/react-label';
48
47
  import { ZodProvider, getFieldConfigInZodStack, getDefaultValueInZodStack } from '@autoform/zod/v4';
49
48
  import { z as z$1 } from 'zod/v3';
50
49
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
50
+ import { useMastraClient, useChat } from '@mastra/react';
51
51
  import { useQuery, useMutation, QueryClient, QueryClientProvider } from '@tanstack/react-query';
52
52
  import './index.css';export * from '@tanstack/react-query';
53
53
  import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
54
54
  import Markdown from 'react-markdown';
55
55
  import { useShallow } from 'zustand/shallow';
56
56
  import { RuntimeContext as RuntimeContext$1 } from '@mastra/core/di';
57
- import { useMastraChat } from '@mastra/react-hooks';
57
+ import { MastraClient } from '@mastra/client-js';
58
58
  import { AnimatePresence } from 'motion/react';
59
59
  import * as TabsPrimitive from '@radix-ui/react-tabs';
60
60
  import * as VisuallyHidden from '@radix-ui/react-visually-hidden';
@@ -67,31 +67,6 @@ import { RuntimeContext as RuntimeContext$2 } from '@mastra/core/runtime-context
67
67
  import { format as format$1 } from 'date-fns/format';
68
68
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
69
69
 
70
- const createMastraClient = (baseUrl, mastraClientHeaders = {}) => {
71
- return new MastraClient({
72
- baseUrl: baseUrl || "",
73
- // only add the header if the baseUrl is not provided i.e it's a local dev environment
74
- headers: !baseUrl ? { ...mastraClientHeaders, "x-mastra-dev-playground": "true" } : mastraClientHeaders
75
- });
76
- };
77
-
78
- const MastraClientContext = createContext(void 0);
79
- const MastraClientProvider = ({
80
- children,
81
- baseUrl,
82
- headers
83
- }) => {
84
- const client = createMastraClient(baseUrl, headers);
85
- return /* @__PURE__ */ jsx(MastraClientContext.Provider, { value: { client }, children });
86
- };
87
- const useMastraClient = () => {
88
- const context = useContext(MastraClientContext);
89
- if (context === void 0) {
90
- throw new Error("useMastraClient must be used within a MastraClientProvider");
91
- }
92
- return context.client;
93
- };
94
-
95
70
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
96
71
 
97
72
  const falsyToString = (value)=>typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
@@ -7902,10 +7877,12 @@ const Reasoning = ({ text }) => {
7902
7877
  ] });
7903
7878
  };
7904
7879
 
7905
- const AssistantMessage = ({ ToolFallback: ToolFallbackCustom }) => {
7880
+ const AssistantMessage = ({ ToolFallback: ToolFallbackCustom, hasModelList }) => {
7906
7881
  const data = useMessage();
7907
7882
  const messageId = data.id;
7908
7883
  const isToolCallAndOrReasoning = data.content.every(({ type }) => type === "tool-call" || type === "reasoning");
7884
+ const modelMetadata = data.metadata?.custom?.modelMetadata;
7885
+ const showModelUsed = hasModelList && modelMetadata;
7909
7886
  return /* @__PURE__ */ jsxs(MessagePrimitive.Root, { className: "max-w-full", "data-message-id": messageId, children: [
7910
7887
  /* @__PURE__ */ jsx("div", { className: "text-icon6 text-ui-lg leading-ui-lg", children: /* @__PURE__ */ jsx(
7911
7888
  MessagePrimitive.Parts,
@@ -7917,7 +7894,17 @@ const AssistantMessage = ({ ToolFallback: ToolFallbackCustom }) => {
7917
7894
  }
7918
7895
  }
7919
7896
  ) }),
7920
- !isToolCallAndOrReasoning && /* @__PURE__ */ jsx("div", { className: "h-6 pt-1", children: /* @__PURE__ */ jsx(AssistantActionBar$1, {}) })
7897
+ !isToolCallAndOrReasoning && /* @__PURE__ */ jsxs("div", { className: cn("h-6 pt-1 flex gap-2 items-center", { "pb-1": showModelUsed }), children: [
7898
+ showModelUsed && /* @__PURE__ */ jsxs(Fragment, { children: [
7899
+ /* @__PURE__ */ jsx(BrainIcon, { className: "size-4" }),
7900
+ /* @__PURE__ */ jsxs("span", { className: "text-ui-sm leading-ui-sm text-icon6", children: [
7901
+ modelMetadata.modelProvider,
7902
+ "/",
7903
+ modelMetadata.modelId
7904
+ ] })
7905
+ ] }),
7906
+ /* @__PURE__ */ jsx(AssistantActionBar$1, {})
7907
+ ] })
7921
7908
  ] });
7922
7909
  };
7923
7910
  const AssistantActionBar$1 = () => {
@@ -8503,11 +8490,11 @@ const useThreadInput = () => {
8503
8490
  return useContext(ThreadInputContext);
8504
8491
  };
8505
8492
 
8506
- const Thread = ({ ToolFallback, agentName, agentId, hasMemory }) => {
8493
+ const Thread = ({ ToolFallback, agentName, agentId, hasMemory, hasModelList }) => {
8507
8494
  const areaRef = useRef(null);
8508
8495
  useAutoscroll(areaRef, { enabled: true });
8509
8496
  const WrappedAssistantMessage = (props) => {
8510
- return /* @__PURE__ */ jsx(AssistantMessage, { ...props, ToolFallback });
8497
+ return /* @__PURE__ */ jsx(AssistantMessage, { ...props, ToolFallback, hasModelList });
8511
8498
  };
8512
8499
  return /* @__PURE__ */ jsxs(ThreadWrapper$1, { children: [
8513
8500
  /* @__PURE__ */ jsxs(ThreadPrimitive.Viewport, { ref: areaRef, autoScroll: false, className: "overflow-y-scroll scroll-smooth h-full", children: [
@@ -8890,14 +8877,14 @@ const useAdapters = (agentId) => {
8890
8877
  };
8891
8878
 
8892
8879
  const handleNetworkMessageFromMemory = (content) => {
8893
- if (content.resourceType === "workflow") {
8880
+ if (content.primitiveType === "workflow") {
8894
8881
  return {
8895
8882
  role: "assistant",
8896
8883
  content: [
8897
8884
  {
8898
8885
  type: "tool-call",
8899
8886
  toolCallId: content.finalResult.runId,
8900
- toolName: content.resourceId,
8887
+ toolName: content.primitiveId,
8901
8888
  result: { runId: content.finalResult.runId },
8902
8889
  args: {
8903
8890
  __mastraMetadata: {
@@ -8912,7 +8899,7 @@ const handleNetworkMessageFromMemory = (content) => {
8912
8899
  ]
8913
8900
  };
8914
8901
  }
8915
- if (content.resourceType === "agent") {
8902
+ if (content.primitiveType === "agent") {
8916
8903
  const badgeMessages = [];
8917
8904
  let toolCalls = {};
8918
8905
  const messages = content.finalResult.messages.slice(1);
@@ -8950,7 +8937,7 @@ const handleNetworkMessageFromMemory = (content) => {
8950
8937
  {
8951
8938
  type: "tool-call",
8952
8939
  toolCallId: content.finalResult.runId,
8953
- toolName: content.resourceId,
8940
+ toolName: content.primitiveId,
8954
8941
  result: { runId: content.finalResult.runId },
8955
8942
  args: {
8956
8943
  __mastraMetadata: {
@@ -8966,14 +8953,14 @@ const handleNetworkMessageFromMemory = (content) => {
8966
8953
  ]
8967
8954
  };
8968
8955
  }
8969
- if (content.resourceType === "tool") {
8956
+ if (content.primitiveType === "tool") {
8970
8957
  return {
8971
8958
  role: "assistant",
8972
8959
  content: [
8973
8960
  {
8974
8961
  type: "tool-call",
8975
8962
  toolCallId: content.finalResult.toolCallId,
8976
- toolName: content.resourceId,
8963
+ toolName: content.primitiveId,
8977
8964
  result: content.finalResult.result,
8978
8965
  args: {
8979
8966
  ...content?.input,
@@ -8993,34 +8980,45 @@ const handleNetworkMessageFromMemory = (content) => {
8993
8980
 
8994
8981
  const handleStreamChunk = ({ chunk, conversation }) => {
8995
8982
  switch (chunk.type) {
8996
- default:
8997
- return [...conversation];
8998
- case "text-start": {
8983
+ case "start": {
8999
8984
  const newMessage = {
9000
8985
  role: "assistant",
9001
- content: [{ type: "text", text: "" }]
8986
+ content: []
9002
8987
  };
9003
8988
  return [...conversation, newMessage];
9004
8989
  }
8990
+ case "text-start":
9005
8991
  case "text-delta": {
9006
8992
  const lastMessage = conversation[conversation.length - 1];
9007
- if (lastMessage && lastMessage.role === "assistant" && Array.isArray(lastMessage.content)) {
9008
- const updatedContent = lastMessage.content.map((part) => {
9009
- if (typeof part === "object" && part.type === "text") {
9010
- return {
9011
- ...part,
9012
- text: part.text + chunk.payload.text
9013
- };
8993
+ if (!lastMessage) return conversation;
8994
+ if (lastMessage.role === "assistant" && typeof lastMessage.content !== `string` && (!lastMessage.content || lastMessage.content.length === 0 || lastMessage.content[lastMessage.content.length - 1]?.type !== `text`)) {
8995
+ return [
8996
+ ...conversation.slice(0, -1),
8997
+ {
8998
+ ...lastMessage,
8999
+ content: [...lastMessage.content || [], { type: "text", text: "" }]
9014
9000
  }
9015
- return part;
9016
- });
9017
- const updatedMessage = {
9018
- ...lastMessage,
9019
- content: updatedContent
9020
- };
9021
- return [...conversation.slice(0, -1), updatedMessage];
9001
+ ];
9022
9002
  }
9023
- return [...conversation];
9003
+ if (chunk.type === `text-start`) return conversation;
9004
+ if (typeof lastMessage.content === `string`) {
9005
+ return [
9006
+ ...conversation.slice(0, -1),
9007
+ {
9008
+ ...lastMessage,
9009
+ content: lastMessage.content + chunk.payload.text
9010
+ }
9011
+ ];
9012
+ }
9013
+ const lastPart = lastMessage.content?.[lastMessage.content.length - 1];
9014
+ if (!lastPart || lastPart.type !== `text`) return conversation;
9015
+ return [
9016
+ ...conversation.slice(0, -1),
9017
+ {
9018
+ ...lastMessage,
9019
+ content: [...lastMessage.content.slice(0, -1), { ...lastPart, text: lastPart.text + chunk.payload.text }]
9020
+ }
9021
+ ];
9024
9022
  }
9025
9023
  case "tool-output": {
9026
9024
  if (chunk.payload.output?.type.startsWith("workflow-")) {
@@ -9139,7 +9137,19 @@ const handleStreamChunk = ({ chunk, conversation }) => {
9139
9137
  return [...conversation];
9140
9138
  }
9141
9139
  case "finish": {
9140
+ const lastMessage = conversation[conversation.length - 1];
9142
9141
  handleFinishReason$1(chunk.payload.stepResult.reason);
9142
+ if (lastMessage && lastMessage.role === "assistant") {
9143
+ const updatedMessage = {
9144
+ ...lastMessage,
9145
+ metadata: {
9146
+ custom: {
9147
+ modelMetadata: chunk.payload.metadata.modelMetadata
9148
+ }
9149
+ }
9150
+ };
9151
+ return [...conversation.slice(0, -1), updatedMessage];
9152
+ }
9143
9153
  return [...conversation];
9144
9154
  }
9145
9155
  case "reasoning-delta": {
@@ -9171,6 +9181,8 @@ const handleStreamChunk = ({ chunk, conversation }) => {
9171
9181
  };
9172
9182
  return [...conversation, newMessage];
9173
9183
  }
9184
+ default:
9185
+ return [...conversation];
9174
9186
  }
9175
9187
  };
9176
9188
  const handleFinishReason$1 = (finishReason) => {
@@ -9525,7 +9537,7 @@ function MastraRuntimeProvider({
9525
9537
  network,
9526
9538
  cancelRun,
9527
9539
  isRunning: isRunningStreamVNext
9528
- } = useMastraChat({
9540
+ } = useChat({
9529
9541
  agentId,
9530
9542
  initializeMessages: () => memory ? initializeMessageState(initialMessages || []) : []
9531
9543
  });
@@ -9650,7 +9662,17 @@ function MastraRuntimeProvider({
9650
9662
  },
9651
9663
  { role: "assistant", content: [] }
9652
9664
  );
9653
- setMessages((currentConversation) => [...currentConversation, latestMessage]);
9665
+ setMessages((currentConversation) => [
9666
+ ...currentConversation,
9667
+ {
9668
+ ...latestMessage,
9669
+ metadata: {
9670
+ custom: {
9671
+ modelMetadata: generatedResponse.response.modelMetadata
9672
+ }
9673
+ }
9674
+ }
9675
+ ]);
9654
9676
  if (generatedResponse.finishReason) {
9655
9677
  handleFinishReason(generatedResponse.finishReason);
9656
9678
  }
@@ -9717,7 +9739,7 @@ function MastraRuntimeProvider({
9717
9739
  if (!currentEntityId) return conversation;
9718
9740
  return handleWorkflowChunk({ workflowChunk, conversation, entityName: currentEntityId });
9719
9741
  } else if (chunk.type === "workflow-execution-start" || chunk.type === "agent-execution-start") {
9720
- currentEntityId = chunk.payload?.args?.resourceId;
9742
+ currentEntityId = chunk.payload?.args?.primitiveId;
9721
9743
  const runId = chunk.payload.runId;
9722
9744
  if (!currentEntityId || !runId) return conversation;
9723
9745
  return createRootToolAssistantMessage({
@@ -10178,7 +10200,8 @@ const AgentChat = ({
10178
10200
  initialMessages,
10179
10201
  memory,
10180
10202
  refreshThreadList,
10181
- modelVersion
10203
+ modelVersion,
10204
+ modelList
10182
10205
  }) => {
10183
10206
  const { settings } = useAgentSettings();
10184
10207
  const { runtimeContext } = usePlaygroundStore();
@@ -10194,7 +10217,7 @@ const AgentChat = ({
10194
10217
  refreshThreadList,
10195
10218
  settings,
10196
10219
  runtimeContext,
10197
- children: /* @__PURE__ */ jsx(Thread, { agentName: agentName ?? "", hasMemory: memory, agentId })
10220
+ children: /* @__PURE__ */ jsx(Thread, { agentName: agentName ?? "", hasMemory: memory, agentId, hasModelList: Boolean(modelList) })
10198
10221
  }
10199
10222
  );
10200
10223
  };
@@ -13801,7 +13824,7 @@ const AgentMetadataScorerList = ({ entityId, entityType }) => {
13801
13824
  const scorerList = Object.keys(scorers).filter((scorerKey) => {
13802
13825
  const scorer = scorers[scorerKey];
13803
13826
  if (entityType === "AGENT") {
13804
- return scorer.agentNames.includes(entityId);
13827
+ return scorer.agentNames?.includes?.(entityId);
13805
13828
  }
13806
13829
  return scorer.workflowIds.includes(entityId);
13807
13830
  }).map((scorerKey) => ({ ...scorers[scorerKey], id: scorerKey }));
@@ -18411,5 +18434,5 @@ const parseError = (error) => {
18411
18434
  }
18412
18435
  };
18413
18436
 
18414
- export { AgentChat, AgentCoinIcon, AgentEntityHeader, AgentEvals, AgentIcon, AgentMetadata, AgentMetadataList, AgentMetadataListEmpty, AgentMetadataListItem, AgentMetadataNetworkList, AgentMetadataPrompt, AgentMetadataScorerList, AgentMetadataSection, AgentMetadataToolList, AgentMetadataWorkflowList, AgentMetadataWrapper, AgentNetworkCoinIcon, AgentSettings, AgentSettingsContext, AgentSettingsProvider, AgentsTable, AgentsTableSkeleton, AiIcon, AlertDialog, ApiIcon, Badge$1 as Badge, BranchIcon, Breadcrumb, Button$1 as Button, Cell, ChatThreads, CheckIcon, ChevronIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, CommitIcon, CrossIcon, Crumb, DarkLogo, DateTimeCell, DateTimePicker, DateTimePickerContent, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, DividerIcon, DocsIcon, DynamicForm, EmptyAgentsTable, EmptyScorersTable, EmptyState, EmptyWorkflowsTable, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityMainHeader, EntityName, Entry, EntryCell, EntryList, EntryListItem, EntryListPageHeader, EntryListStatusCell, EntryListTextCell, EntryListToolbar, EnvIcon, EvaluatorCoinIcon, FiltersIcon, FolderIcon, FormActions, GithubCoinIcon, GithubIcon, GoogleIcon, Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, Icon, InfoIcon, InputField, JudgeIcon, Kbd, KeyValueList, LatencyIcon, LinkComponentProvider, LogsIcon, MainContentContent, MainContentLayout, MastraClientProvider, MastraResizablePanel, McpCoinIcon, McpServerIcon, MemoryIcon, MemorySearch, NetworkContext, NetworkProvider, NetworkTable, NetworkTableEmpty, NetworkTableSkeleton, OpenAIIcon, PageHeader, PlaygroundQueryClient, PlaygroundTabs, PromptIcon, RadioGroup, RadioGroupField, RadioGroupItem, RepoIcon, Row, RuntimeContext, RuntimeContextWrapper, ScoreDialog, ScoreIcon, ScorersTable, ScorersTableSkeleton, ScoresTools, SearchField, Searchbar, SelectField, SettingsIcon, SideDialog, SideDialogCodeSection, SideDialogContent, SideDialogFooter, SideDialogFooterGroup, SideDialogHeader, SideDialogHeading, SideDialogKeyValueList, SideDialogSection, SideDialogTop, SlashIcon, SliderField, Tab, TabContent, TabList, Table$1 as Table, Tbody, TemplateFailure, TemplateForm, TemplateInfo, TemplateInstallation, TemplateSuccess, TemplatesList, TemplatesTools, TextAndIcon, TextareaField, Th, Thead, ThreadDeleteButton, ThreadInputProvider, ThreadItem, ThreadLink, ThreadList, Threads, ToolCoinIcon, ToolList, ToolListEmpty, ToolListSkeleton, ToolsIcon, TraceDialog, TraceIcon, TraceTimeline, TraceTimelineLegend, TraceTimelineSpan, TracesTools, TracesView, TracesViewSkeleton, TsIcon, Txt, TxtCell, UnitCell, VNextNetworkChat, VariablesIcon, WorkflowCoinIcon, WorkflowGraph, WorkflowIcon, WorkflowRunContext, WorkflowRunProvider, WorkflowRuns, WorkflowTable, WorkflowTableSkeleton, WorkflowTrigger, WorkingMemoryContext, WorkingMemoryProvider, allowedAiSpanAttributes, cleanString, convertWorkflowRunStateToWatchResult, formatDuration, formatHierarchicalSpans, formatOtelTimestamp, formatOtelTimestamp2, getColumnTemplate, getShortId, getSpanTypeUi, mapWorkflowStreamChunkToWatchResult, parseError, providerMapToIcon, spanTypePrefixes, transformKey, useAgentSettings, useCurrentRun, useInView, useLinkComponent, useMastraClient, usePlaygroundStore, usePolling, useScorer, useScorers, useScoresByEntityId, useScoresByScorerId, useSpeechRecognition, useThreadInput, useWorkflow, useWorkflowRuns, useWorkingMemory };
18437
+ export { AgentChat, AgentCoinIcon, AgentEntityHeader, AgentEvals, AgentIcon, AgentMetadata, AgentMetadataList, AgentMetadataListEmpty, AgentMetadataListItem, AgentMetadataNetworkList, AgentMetadataPrompt, AgentMetadataScorerList, AgentMetadataSection, AgentMetadataToolList, AgentMetadataWorkflowList, AgentMetadataWrapper, AgentNetworkCoinIcon, AgentSettings, AgentSettingsContext, AgentSettingsProvider, AgentsTable, AgentsTableSkeleton, AiIcon, AlertDialog, ApiIcon, Badge$1 as Badge, BranchIcon, Breadcrumb, Button$1 as Button, Cell, ChatThreads, CheckIcon, ChevronIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, CommitIcon, CrossIcon, Crumb, DarkLogo, DateTimeCell, DateTimePicker, DateTimePickerContent, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, DividerIcon, DocsIcon, DynamicForm, EmptyAgentsTable, EmptyScorersTable, EmptyState, EmptyWorkflowsTable, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityMainHeader, EntityName, Entry, EntryCell, EntryList, EntryListItem, EntryListPageHeader, EntryListStatusCell, EntryListTextCell, EntryListToolbar, EnvIcon, EvaluatorCoinIcon, FiltersIcon, FolderIcon, FormActions, GithubCoinIcon, GithubIcon, GoogleIcon, Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, Icon, InfoIcon, InputField, JudgeIcon, Kbd, KeyValueList, LatencyIcon, LinkComponentProvider, LogsIcon, MainContentContent, MainContentLayout, MastraResizablePanel, McpCoinIcon, McpServerIcon, MemoryIcon, MemorySearch, NetworkContext, NetworkProvider, NetworkTable, NetworkTableEmpty, NetworkTableSkeleton, OpenAIIcon, PageHeader, PlaygroundQueryClient, PlaygroundTabs, PromptIcon, RadioGroup, RadioGroupField, RadioGroupItem, RepoIcon, Row, RuntimeContext, RuntimeContextWrapper, ScoreDialog, ScoreIcon, ScorersTable, ScorersTableSkeleton, ScoresTools, SearchField, Searchbar, SelectField, SettingsIcon, SideDialog, SideDialogCodeSection, SideDialogContent, SideDialogFooter, SideDialogFooterGroup, SideDialogHeader, SideDialogHeading, SideDialogKeyValueList, SideDialogSection, SideDialogTop, SlashIcon, SliderField, Tab, TabContent, TabList, Table$1 as Table, Tbody, TemplateFailure, TemplateForm, TemplateInfo, TemplateInstallation, TemplateSuccess, TemplatesList, TemplatesTools, TextAndIcon, TextareaField, Th, Thead, ThreadDeleteButton, ThreadInputProvider, ThreadItem, ThreadLink, ThreadList, Threads, ToolCoinIcon, ToolFallback, ToolList, ToolListEmpty, ToolListSkeleton, ToolsIcon, TraceDialog, TraceIcon, TraceTimeline, TraceTimelineLegend, TraceTimelineSpan, TracesTools, TracesView, TracesViewSkeleton, TsIcon, Txt, TxtCell, UnitCell, VNextNetworkChat, VariablesIcon, WorkflowCoinIcon, WorkflowGraph, WorkflowIcon, WorkflowRunContext, WorkflowRunProvider, WorkflowRuns, WorkflowTable, WorkflowTableSkeleton, WorkflowTrigger, WorkingMemoryContext, WorkingMemoryProvider, allowedAiSpanAttributes, cleanString, convertWorkflowRunStateToWatchResult, formatDuration, formatHierarchicalSpans, formatOtelTimestamp, formatOtelTimestamp2, getColumnTemplate, getShortId, getSpanTypeUi, mapWorkflowStreamChunkToWatchResult, parseError, providerMapToIcon, spanTypePrefixes, transformKey, useAgentSettings, useCurrentRun, useInView, useLinkComponent, usePlaygroundStore, usePolling, useScorer, useScorers, useScoresByEntityId, useScoresByScorerId, useSpeechRecognition, useThreadInput, useWorkflow, useWorkflowRuns, useWorkingMemory };
18415
18438
  //# sourceMappingURL=index.es.js.map