@mastra/playground-ui 6.7.2 → 6.8.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.
package/dist/index.es.js CHANGED
@@ -16,7 +16,8 @@ import { jsonLanguage, json } from '@codemirror/lang-json';
16
16
  import { tags } from '@lezer/highlight';
17
17
  import { draculaInit } from '@uiw/codemirror-theme-dracula';
18
18
  import CodeMirror, { EditorView } from '@uiw/react-codemirror';
19
- import { toast } from 'sonner';
19
+ import { toast as toast$1 } from 'sonner';
20
+ import './index.css';export { Toaster } from 'sonner';
20
21
  import * as DialogPrimitive from '@radix-ui/react-dialog';
21
22
  import { MarkerType, Handle, Position, useViewport, useReactFlow, Panel, useNodesState, useEdgesState, ReactFlow, Background, BackgroundVariant, ReactFlowProvider } from '@xyflow/react';
22
23
  import '@xyflow/react/dist/style.css';
@@ -51,7 +52,7 @@ import z$2 from 'zod/v4';
51
52
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
52
53
  import { useMastraClient, mapWorkflowStreamChunkToWatchResult, resolveToChildMessages, useChat, toAssistantUIMessage } from '@mastra/react';
53
54
  import { useQuery, useMutation, useQueryClient, QueryClient, QueryClientProvider } from '@tanstack/react-query';
54
- import './index.css';export * from '@tanstack/react-query';
55
+ export * from '@tanstack/react-query';
55
56
  import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
56
57
  import { RuntimeContext as RuntimeContext$1 } from '@mastra/core/runtime-context';
57
58
  import { I as IconColors } from './colors-Br49332d.js';
@@ -4299,7 +4300,7 @@ function useCopyToClipboard({ text, copyMessage = "Copied to clipboard!" }) {
4299
4300
  const timeoutRef = useRef(null);
4300
4301
  const handleCopy = useCallback(() => {
4301
4302
  navigator.clipboard.writeText(text).then(() => {
4302
- toast.success(copyMessage);
4303
+ toast$1.success(copyMessage);
4303
4304
  setIsCopied(true);
4304
4305
  if (timeoutRef.current) {
4305
4306
  clearTimeout(timeoutRef.current);
@@ -4309,7 +4310,7 @@ function useCopyToClipboard({ text, copyMessage = "Copied to clipboard!" }) {
4309
4310
  setIsCopied(false);
4310
4311
  }, 2e3);
4311
4312
  }).catch(() => {
4312
- toast.error("Failed to copy to clipboard.");
4313
+ toast$1.error("Failed to copy to clipboard.");
4313
4314
  });
4314
4315
  }, [text, copyMessage]);
4315
4316
  return { isCopied, handleCopy };
@@ -5340,7 +5341,7 @@ const WorkflowRunEventForm = ({ event, runId, onSendEvent }) => {
5340
5341
  try {
5341
5342
  setError(null);
5342
5343
  const result = await onSendEvent({ event, data, runId });
5343
- toast.success(result.message);
5344
+ toast$1.success(result.message);
5344
5345
  } catch (error2) {
5345
5346
  console.error("Error sending event", error2);
5346
5347
  setError("Error sending event");
@@ -7426,7 +7427,7 @@ function WorkflowTrigger({
7426
7427
  streamWorkflow({ workflowId, runId, inputData: data, runtimeContext });
7427
7428
  } catch (err) {
7428
7429
  setIsRunning(false);
7429
- toast.error("Error executing workflow");
7430
+ toast$1.error("Error executing workflow");
7430
7431
  }
7431
7432
  };
7432
7433
  const handleResumeWorkflow = async (step) => {
@@ -8098,6 +8099,110 @@ const useWorkflows = () => {
8098
8099
  });
8099
8100
  };
8100
8101
 
8102
+ const defaultOptions = {
8103
+ duration: 3e3,
8104
+ cancel: {
8105
+ label: /* @__PURE__ */ jsx(X, { size: "14" }),
8106
+ onClick: () => {
8107
+ }
8108
+ },
8109
+ unstyled: true,
8110
+ classNames: {
8111
+ toast: "bg-[#0F0F0F] w-full backdrop-accent h-auto rounded-lg gap-2 border border p-4 flex items-start rounded-lg pointer-events-auto",
8112
+ title: "text-white font-semibold text-xs mb-1 -mt-1",
8113
+ description: "!text-text text-sm !font-light",
8114
+ cancelButton: "self-start !bg-transparent !p-0 flex items-center justify-center !text-text opacity-50 order-last hover:opacity-100",
8115
+ actionButton: "!bg-white flex items-center justify-center font-medium !text-black order-last hover:opacity-80"
8116
+ }
8117
+ };
8118
+ function getToastOptions(options) {
8119
+ const { classNames, ...rest } = defaultOptions;
8120
+ const { classNames: optionsClassNames, ...restOptions } = options || {};
8121
+ return {
8122
+ ...rest,
8123
+ classNames: {
8124
+ ...classNames,
8125
+ title: cn(classNames?.title, "mt-auto", optionsClassNames?.title),
8126
+ toast: cn(classNames?.toast, "!items-center", optionsClassNames?.toast),
8127
+ cancelButton: cn(classNames?.cancelButton, "!self-center", optionsClassNames?.cancelButton),
8128
+ actionButton: cn(classNames?.actionButton, optionsClassNames?.actionButton)
8129
+ },
8130
+ ...restOptions
8131
+ };
8132
+ }
8133
+ const toast = (message, options = {}) => {
8134
+ if (Array.isArray(message)) {
8135
+ return message.forEach((msg) => toast$1(msg, getToastOptions(options)));
8136
+ } else if (React__default.isValidElement(message)) {
8137
+ return toast$1(message, getToastOptions(options));
8138
+ } else if (typeof message === "string") {
8139
+ return toast$1(message, getToastOptions(options));
8140
+ }
8141
+ throw new Error("Invalid message type");
8142
+ };
8143
+ toast.success = (message, options = {}) => {
8144
+ switch (typeof message) {
8145
+ case "string":
8146
+ return toast$1.success(message, getToastOptions(options));
8147
+ case "object":
8148
+ return message.forEach((message2) => toast$1.success(message2, getToastOptions(options)));
8149
+ }
8150
+ };
8151
+ toast.error = (message, options = {}) => {
8152
+ switch (typeof message) {
8153
+ case "string":
8154
+ return toast$1.error(message, getToastOptions(options));
8155
+ case "object":
8156
+ return message.forEach((message2) => toast$1.error(message2, getToastOptions(options)));
8157
+ }
8158
+ };
8159
+ toast.warning = (message, options = {}) => {
8160
+ switch (typeof message) {
8161
+ case "string":
8162
+ return toast$1.warning(message, getToastOptions(options));
8163
+ case "object":
8164
+ return message.forEach((message2) => toast$1.warning(message2, getToastOptions(options)));
8165
+ }
8166
+ };
8167
+ toast.info = (message, options = {}) => {
8168
+ switch (typeof message) {
8169
+ case "string":
8170
+ return toast$1.info(message, getToastOptions(options));
8171
+ case "object":
8172
+ return message.forEach((message2) => toast$1.info(message2, getToastOptions(options)));
8173
+ }
8174
+ };
8175
+ toast.custom = (message, options = {}) => {
8176
+ return toast$1(message, getToastOptions(options));
8177
+ };
8178
+ toast.dismiss = (toastId) => {
8179
+ if (toastId) {
8180
+ toast$1.dismiss(toastId);
8181
+ }
8182
+ };
8183
+ toast.promise = ({
8184
+ myPromise,
8185
+ loadingMessage,
8186
+ successMessage,
8187
+ errorMessage,
8188
+ onSuccess,
8189
+ onError,
8190
+ options = {}
8191
+ }) => {
8192
+ return toast$1.promise(myPromise, {
8193
+ loading: loadingMessage ?? "Loading...",
8194
+ success: (data) => {
8195
+ onSuccess?.(data);
8196
+ return successMessage;
8197
+ },
8198
+ error: (err) => {
8199
+ onError?.(err);
8200
+ return errorMessage || err?.message || "Error...";
8201
+ },
8202
+ ...getToastOptions(options)
8203
+ });
8204
+ };
8205
+
8101
8206
  const useExecuteWorkflow = () => {
8102
8207
  const client = useMastraClient();
8103
8208
  const createWorkflowRun = useMutation({
@@ -8194,6 +8299,23 @@ const useStreamWorkflow = () => {
8194
8299
  }
8195
8300
  };
8196
8301
  }, []);
8302
+ const handleStreamError = (err, defaultMessage, setIsStreaming2) => {
8303
+ if (err instanceof TypeError) {
8304
+ return;
8305
+ }
8306
+ const errorMessage = err instanceof Error ? err.message : defaultMessage;
8307
+ toast.error(errorMessage);
8308
+ setIsStreaming2?.(false);
8309
+ };
8310
+ const handleWorkflowFinish = (value) => {
8311
+ if (value.type === "workflow-finish") {
8312
+ const streamStatus = value.payload?.workflowStatus;
8313
+ const metadata = value.payload?.metadata;
8314
+ if (streamStatus === "failed") {
8315
+ throw new Error(metadata?.errorMessage || "Workflow execution failed");
8316
+ }
8317
+ }
8318
+ };
8197
8319
  const streamWorkflow = useMutation({
8198
8320
  mutationFn: async ({
8199
8321
  workflowId,
@@ -8213,7 +8335,9 @@ const useStreamWorkflow = () => {
8213
8335
  });
8214
8336
  const workflow = client.getWorkflow(workflowId);
8215
8337
  const stream = await workflow.streamVNext({ runId, inputData, runtimeContext, closeOnSuspend: true });
8216
- if (!stream) throw new Error("No stream returned");
8338
+ if (!stream) {
8339
+ return handleStreamError(new Error("No stream returned"), "No stream returned", setIsStreaming);
8340
+ }
8217
8341
  const reader = stream.getReader();
8218
8342
  readerRef.current = reader;
8219
8343
  try {
@@ -8232,10 +8356,13 @@ const useStreamWorkflow = () => {
8232
8356
  if (value.type === "workflow-step-suspended") {
8233
8357
  setIsStreaming(false);
8234
8358
  }
8359
+ if (value.type === "workflow-finish") {
8360
+ handleWorkflowFinish(value);
8361
+ }
8235
8362
  }
8236
8363
  }
8237
- } catch (error) {
8238
- console.error("Error streaming workflow:", error);
8364
+ } catch (err) {
8365
+ handleStreamError(err, "Error streaming workflow");
8239
8366
  } finally {
8240
8367
  if (isMountedRef.current) {
8241
8368
  setIsStreaming(false);
@@ -8265,7 +8392,9 @@ const useStreamWorkflow = () => {
8265
8392
  }
8266
8393
  const workflow = client.getWorkflow(workflowId);
8267
8394
  const stream = await workflow.observeStreamVNext({ runId });
8268
- if (!stream) throw new Error("No stream returned");
8395
+ if (!stream) {
8396
+ return handleStreamError(new Error("No stream returned"), "No stream returned", setIsStreaming);
8397
+ }
8269
8398
  const reader = stream.getReader();
8270
8399
  observerRef.current = reader;
8271
8400
  try {
@@ -8284,10 +8413,13 @@ const useStreamWorkflow = () => {
8284
8413
  if (value.type === "workflow-step-suspended") {
8285
8414
  setIsStreaming(false);
8286
8415
  }
8416
+ if (value.type === "workflow-finish") {
8417
+ handleWorkflowFinish(value);
8418
+ }
8287
8419
  }
8288
8420
  }
8289
- } catch (error) {
8290
- console.error("Error streaming workflow:", error);
8421
+ } catch (err) {
8422
+ handleStreamError(err, "Error observing workflow");
8291
8423
  } finally {
8292
8424
  if (isMountedRef.current) {
8293
8425
  setIsStreaming(false);
@@ -8318,7 +8450,9 @@ const useStreamWorkflow = () => {
8318
8450
  runtimeContext.set(key, value);
8319
8451
  });
8320
8452
  const stream = await workflow.resumeStreamVNext({ runId, step, resumeData, runtimeContext });
8321
- if (!stream) throw new Error("No stream returned");
8453
+ if (!stream) {
8454
+ return handleStreamError(new Error("No stream returned"), "No stream returned", setIsStreaming);
8455
+ }
8322
8456
  const reader = stream.getReader();
8323
8457
  resumeStreamRef.current = reader;
8324
8458
  try {
@@ -8337,10 +8471,13 @@ const useStreamWorkflow = () => {
8337
8471
  if (value.type === "workflow-step-suspended") {
8338
8472
  setIsStreaming(false);
8339
8473
  }
8474
+ if (value.type === "workflow-finish") {
8475
+ handleWorkflowFinish(value);
8476
+ }
8340
8477
  }
8341
8478
  }
8342
- } catch (error) {
8343
- console.error("Error resuming workflow stream:", error);
8479
+ } catch (err) {
8480
+ handleStreamError(err, "Error resuming workflow stream");
8344
8481
  } finally {
8345
8482
  if (isMountedRef.current) {
8346
8483
  setIsStreaming(false);
@@ -11820,7 +11957,7 @@ const RuntimeContext = () => {
11820
11957
  useEffect(() => {
11821
11958
  const run = async () => {
11822
11959
  if (!isValidJson(runtimeContextStr)) {
11823
- toast.error("Invalid JSON");
11960
+ toast$1.error("Invalid JSON");
11824
11961
  return;
11825
11962
  }
11826
11963
  const formatted = await formatJSON(runtimeContextStr);
@@ -11832,16 +11969,16 @@ const RuntimeContext = () => {
11832
11969
  try {
11833
11970
  const parsedContext = JSON.parse(runtimeContextValue);
11834
11971
  setRuntimeContext(parsedContext);
11835
- toast.success("Runtime context saved successfully");
11972
+ toast$1.success("Runtime context saved successfully");
11836
11973
  } catch (error) {
11837
11974
  console.error("error", error);
11838
- toast.error("Invalid JSON");
11975
+ toast$1.error("Invalid JSON");
11839
11976
  }
11840
11977
  };
11841
11978
  const buttonClass = "text-icon3 hover:text-icon6";
11842
11979
  const formatRuntimeContext = async () => {
11843
11980
  if (!isValidJson(runtimeContextValue)) {
11844
- toast.error("Invalid JSON");
11981
+ toast$1.error("Invalid JSON");
11845
11982
  return;
11846
11983
  }
11847
11984
  const formatted = await formatJSON(runtimeContextValue);
@@ -13854,7 +13991,7 @@ const useScorer = (scorerId) => {
13854
13991
  } catch (error) {
13855
13992
  setScorer(null);
13856
13993
  console.error("Error fetching scorer", error);
13857
- toast.error("Error fetching scorer");
13994
+ toast$1.error("Error fetching scorer");
13858
13995
  } finally {
13859
13996
  setIsLoading(false);
13860
13997
  }
@@ -15089,7 +15226,7 @@ const useExecuteAgentTool = () => {
15089
15226
  const response = await agent.executeTool(toolId, { data: input, runtimeContext });
15090
15227
  return response;
15091
15228
  } catch (error) {
15092
- toast.error("Error executing agent tool");
15229
+ toast$1.error("Error executing agent tool");
15093
15230
  console.error("Error executing tool:", error);
15094
15231
  throw error;
15095
15232
  }
@@ -15233,10 +15370,10 @@ const useDeleteThread = () => {
15233
15370
  if (networkId) {
15234
15371
  queryClient.invalidateQueries({ queryKey: ["network", "threads", networkId, networkId] });
15235
15372
  }
15236
- toast.success("Chat deleted successfully");
15373
+ toast$1.success("Chat deleted successfully");
15237
15374
  },
15238
15375
  onError: () => {
15239
- toast.error("Failed to delete chat");
15376
+ toast$1.error("Failed to delete chat");
15240
15377
  }
15241
15378
  });
15242
15379
  };
@@ -15490,7 +15627,7 @@ const AgentWorkingMemory = ({ agentId }) => {
15490
15627
  setIsEditing(false);
15491
15628
  } catch (error) {
15492
15629
  console.error("Failed to update working memory:", error);
15493
- toast.error("Failed to update working memory");
15630
+ toast$1.error("Failed to update working memory");
15494
15631
  }
15495
15632
  },
15496
15633
  disabled: isUpdating,
@@ -16822,7 +16959,7 @@ const useExecuteTool = () => {
16822
16959
  const response = await tool.execute({ data: input, runtimeContext });
16823
16960
  return response;
16824
16961
  } catch (error) {
16825
- toast.error("Error executing dev tool");
16962
+ toast$1.error("Error executing dev tool");
16826
16963
  console.error("Error executing dev tool:", error);
16827
16964
  throw error;
16828
16965
  }
@@ -20114,7 +20251,7 @@ const MCPToolPanel = ({ toolId, serverId }) => {
20114
20251
  zodInputSchema = resolveSerializedZodOutput(jsonSchemaToZod(tool.inputSchema));
20115
20252
  } catch (e) {
20116
20253
  console.error("Error processing input schema:", e);
20117
- toast.error("Failed to process tool input schema.");
20254
+ toast$1.error("Failed to process tool input schema.");
20118
20255
  zodInputSchema = z.object({});
20119
20256
  }
20120
20257
  return /* @__PURE__ */ jsx(
@@ -20304,5 +20441,5 @@ const useEvalsByAgentId = (agentId, type) => {
20304
20441
  });
20305
20442
  };
20306
20443
 
20307
- export { AgentChat, AgentCoinIcon, AgentEntityHeader, AgentEvals, AgentIcon, AgentInformation, AgentMetadata, AgentMetadataList, AgentMetadataListEmpty, AgentMetadataListItem, AgentMetadataNetworkList, AgentMetadataPrompt, AgentMetadataScorerList, AgentMetadataSection, AgentMetadataToolList, AgentMetadataWorkflowList, AgentMetadataWrapper, AgentNetworkCoinIcon, AgentSettings, AgentSettingsContext, AgentSettingsProvider, AgentToolPanel, AgentsTable, AiIcon, Alert$1 as Alert, AlertDescription$1 as AlertDescription, AlertDialog, AlertTitle$1 as AlertTitle, ApiIcon, Badge$1 as Badge, BranchIcon, Breadcrumb, Button$1 as Button, ButtonsGroup, Cell, ChatThreads, CheckIcon, ChevronIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, CommitIcon, CrossIcon, Crumb, DarkLogo, DateTimeCell, DateTimePicker, DateTimePickerContent, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, DividerIcon, DocsIcon, DynamicForm, EmptyState, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityMainHeader, EntityName, Entry, EntryCell, EntryList, EntryListSkeleton, EnvIcon, EvaluatorCoinIcon, FiltersIcon, FolderIcon, FormActions, GithubCoinIcon, GithubIcon, GoogleIcon, Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, Icon, InfoIcon, InputField, JudgeIcon, Kbd, KeyValueList, LatencyIcon, LinkComponentProvider, LogsIcon, MCPDetail, MCPTable, MCPToolPanel, MainContentContent, MainContentLayout, MainSidebar, MainSidebarProvider, MastraResizablePanel, McpCoinIcon, McpServerIcon, MemoryIcon, MemorySearch, ModelResetProvider, Notification, OpenAIIcon, PageHeader, PlaygroundQueryClient, PlaygroundTabs, PromptIcon, RadioGroup, RadioGroupField, RadioGroupItem, RepoIcon, Row, RuntimeContext, RuntimeContextWrapper, ScoreDialog, ScoreIcon, ScorersTable, ScoresList, ScoresTools, SearchField, Searchbar, SearchbarWrapper, Section, Sections, SelectField, SettingsIcon, SideDialog, SlashIcon, SliderField, SpanScoreList, SpanScoring, SpanTabs, Tab$1 as Tab, TabContent$1 as TabContent, TabList$1 as 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, ToolIconMap, ToolInformation, ToolPanel, ToolTable, ToolsIcon, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceDialog, TraceIcon, TraceTimeline, TraceTimelineLegend, TraceTimelineSpan, TracesList, TracesTools, TracesView, TracesViewSkeleton, TsIcon, Txt, TxtCell, UnitCell, VariablesIcon, WorkflowCoinIcon, WorkflowGraph, WorkflowIcon, WorkflowRunContext, WorkflowRunDetail, WorkflowRunList, WorkflowRunProvider, WorkflowTable, WorkflowTrigger, WorkingMemoryContext, WorkingMemoryProvider, allowedAiSpanAttributes, cleanString, convertWorkflowRunStateToStreamResult, extractPrompt, formatDuration, formatHierarchicalSpans, formatOtelTimestamp, formatOtelTimestamp2, getColumnTemplate, getShortId, getSpanTypeUi, getToNextEntryFn, getToPreviousEntryFn, parseError, providerMapToIcon, scoresListColumns, spanTypePrefixes, traceScoresListColumns, tracesListColumns, transformKey, useAgent, useAgentSettings, useAgents, useCancelWorkflowRun, useCurrentRun, useDeleteThread, useEvalsByAgentId, useExecuteAgentTool, useExecuteMCPTool, useExecuteTool, useExecuteWorkflow, useInView, useLinkComponent, useMCPServerTool, useMCPServerTools, useMCPServers, useMainSidebar, useMemory, useMemoryConfig, useMemorySearch, useModelProviders, useModelReset, usePlaygroundStore, usePolling, useReorderModelList, useScorer, useScorers, useScoresByEntityId, useScoresByScorerId, useSendWorkflowRunEvent, useSpeechRecognition, useStreamWorkflow, useThreadInput, useThreads, useTool, useTools, useTraceSpanScores, useUpdateAgentModel, useUpdateModelInModelList, useWorkflow, useWorkflowRuns, useWorkflows, useWorkingMemory };
20444
+ export { AgentChat, AgentCoinIcon, AgentEntityHeader, AgentEvals, AgentIcon, AgentInformation, AgentMetadata, AgentMetadataList, AgentMetadataListEmpty, AgentMetadataListItem, AgentMetadataNetworkList, AgentMetadataPrompt, AgentMetadataScorerList, AgentMetadataSection, AgentMetadataToolList, AgentMetadataWorkflowList, AgentMetadataWrapper, AgentNetworkCoinIcon, AgentSettings, AgentSettingsContext, AgentSettingsProvider, AgentToolPanel, AgentsTable, AiIcon, Alert$1 as Alert, AlertDescription$1 as AlertDescription, AlertDialog, AlertTitle$1 as AlertTitle, ApiIcon, Badge$1 as Badge, BranchIcon, Breadcrumb, Button$1 as Button, ButtonsGroup, Cell, ChatThreads, CheckIcon, ChevronIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, CommitIcon, CrossIcon, Crumb, DarkLogo, DateTimeCell, DateTimePicker, DateTimePickerContent, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, DividerIcon, DocsIcon, DynamicForm, EmptyState, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityMainHeader, EntityName, Entry, EntryCell, EntryList, EntryListSkeleton, EnvIcon, EvaluatorCoinIcon, FiltersIcon, FolderIcon, FormActions, GithubCoinIcon, GithubIcon, GoogleIcon, Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, Icon, InfoIcon, InputField, JudgeIcon, Kbd, KeyValueList, LatencyIcon, LinkComponentProvider, LogsIcon, MCPDetail, MCPTable, MCPToolPanel, MainContentContent, MainContentLayout, MainSidebar, MainSidebarProvider, MastraResizablePanel, McpCoinIcon, McpServerIcon, MemoryIcon, MemorySearch, ModelResetProvider, Notification, OpenAIIcon, PageHeader, PlaygroundQueryClient, PlaygroundTabs, PromptIcon, RadioGroup, RadioGroupField, RadioGroupItem, RepoIcon, Row, RuntimeContext, RuntimeContextWrapper, ScoreDialog, ScoreIcon, ScorersTable, ScoresList, ScoresTools, SearchField, Searchbar, SearchbarWrapper, Section, Sections, SelectField, SettingsIcon, SideDialog, SlashIcon, SliderField, SpanScoreList, SpanScoring, SpanTabs, Tab$1 as Tab, TabContent$1 as TabContent, TabList$1 as 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, ToolIconMap, ToolInformation, ToolPanel, ToolTable, ToolsIcon, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceDialog, TraceIcon, TraceTimeline, TraceTimelineLegend, TraceTimelineSpan, TracesList, TracesTools, TracesView, TracesViewSkeleton, TsIcon, Txt, TxtCell, UnitCell, VariablesIcon, WorkflowCoinIcon, WorkflowGraph, WorkflowIcon, WorkflowRunContext, WorkflowRunDetail, WorkflowRunList, WorkflowRunProvider, WorkflowTable, WorkflowTrigger, WorkingMemoryContext, WorkingMemoryProvider, allowedAiSpanAttributes, cleanString, convertWorkflowRunStateToStreamResult, extractPrompt, formatDuration, formatHierarchicalSpans, formatOtelTimestamp, formatOtelTimestamp2, getColumnTemplate, getShortId, getSpanTypeUi, getToNextEntryFn, getToPreviousEntryFn, parseError, providerMapToIcon, scoresListColumns, spanTypePrefixes, toast, traceScoresListColumns, tracesListColumns, transformKey, useAgent, useAgentSettings, useAgents, useCancelWorkflowRun, useCurrentRun, useDeleteThread, useEvalsByAgentId, useExecuteAgentTool, useExecuteMCPTool, useExecuteTool, useExecuteWorkflow, useInView, useLinkComponent, useMCPServerTool, useMCPServerTools, useMCPServers, useMainSidebar, useMemory, useMemoryConfig, useMemorySearch, useModelProviders, useModelReset, usePlaygroundStore, usePolling, useReorderModelList, useScorer, useScorers, useScoresByEntityId, useScoresByScorerId, useSendWorkflowRunEvent, useSpeechRecognition, useStreamWorkflow, useThreadInput, useThreads, useTool, useTools, useTraceSpanScores, useUpdateAgentModel, useUpdateModelInModelList, useWorkflow, useWorkflowRuns, useWorkflows, useWorkingMemory };
20308
20445
  //# sourceMappingURL=index.es.js.map