@mastra/playground-ui 6.8.0 → 6.9.0-alpha.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
@@ -8711,9 +8711,10 @@ const useAgentMessages = ({
8711
8711
  memory
8712
8712
  }) => {
8713
8713
  const client = useMastraClient();
8714
+ const { runtimeContext } = usePlaygroundStore();
8714
8715
  return useQuery({
8715
- queryKey: ["memory", "messages", threadId, agentId],
8716
- queryFn: () => client.getThreadMessages(threadId, { agentId }),
8716
+ queryKey: ["memory", "messages", threadId, agentId, "runtimeContext"],
8717
+ queryFn: () => client.getThreadMessages(threadId, { agentId, runtimeContext }),
8717
8718
  enabled: memory && Boolean(threadId),
8718
8719
  staleTime: 0,
8719
8720
  gcTime: 0,
@@ -10111,6 +10112,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
10111
10112
  const [workingMemoryFormat, setWorkingMemoryFormat] = useState("markdown");
10112
10113
  const [isLoading, setIsLoading] = useState(true);
10113
10114
  const [isUpdating, setIsUpdating] = useState(false);
10115
+ const { runtimeContext } = usePlaygroundStore();
10114
10116
  const refetch = useCallback(async () => {
10115
10117
  setIsLoading(true);
10116
10118
  try {
@@ -10119,7 +10121,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
10119
10121
  setIsLoading(false);
10120
10122
  return;
10121
10123
  }
10122
- const res = await client.getWorkingMemory({ agentId, threadId, resourceId });
10124
+ const res = await client.getWorkingMemory({ agentId, threadId, resourceId, runtimeContext });
10123
10125
  const { workingMemory, source, workingMemoryTemplate, threadExists: threadExists2 } = res;
10124
10126
  setThreadExists(threadExists2);
10125
10127
  setWorkingMemoryData(workingMemory);
@@ -10158,7 +10160,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
10158
10160
  throw new Error("Invalid JSON working memory");
10159
10161
  }
10160
10162
  }
10161
- await client.updateWorkingMemory({ agentId, threadId, workingMemory: newMemory, resourceId });
10163
+ await client.updateWorkingMemory({ agentId, threadId, workingMemory: newMemory, resourceId, runtimeContext });
10162
10164
  refetch();
10163
10165
  } catch (error) {
10164
10166
  console.error("Error updating working memory", error);
@@ -14105,6 +14107,7 @@ const AgentMetadataModelSwitcher = ({
14105
14107
  defaultProvider,
14106
14108
  defaultModel,
14107
14109
  updateModel,
14110
+ resetModel,
14108
14111
  apiUrl = "/api/agents/providers"
14109
14112
  }) => {
14110
14113
  const [originalProvider] = useState(defaultProvider);
@@ -14122,6 +14125,10 @@ const AgentMetadataModelSwitcher = ({
14122
14125
  const [providersLoading, setProvidersLoading] = useState(true);
14123
14126
  const [highlightedProviderIndex, setHighlightedProviderIndex] = useState(-1);
14124
14127
  const [highlightedModelIndex, setHighlightedModelIndex] = useState(-1);
14128
+ useEffect(() => {
14129
+ setSelectedModel(defaultModel);
14130
+ setSelectedProvider(defaultProvider || "");
14131
+ }, [defaultModel, defaultProvider]);
14125
14132
  const modelInputRef = useRef(null);
14126
14133
  const providerInputRef = useRef(null);
14127
14134
  useEffect(() => {
@@ -14275,8 +14282,10 @@ const AgentMetadataModelSwitcher = ({
14275
14282
  ] });
14276
14283
  }
14277
14284
  const handleReset = async () => {
14278
- setSelectedProvider(cleanProviderId(originalProvider));
14279
- setSelectedModel(originalModel);
14285
+ if (!resetModel) {
14286
+ console.warn("Reset model function not provided");
14287
+ return;
14288
+ }
14280
14289
  setProviderSearch("");
14281
14290
  setModelSearch("");
14282
14291
  setIsSearchingProvider(false);
@@ -14285,10 +14294,7 @@ const AgentMetadataModelSwitcher = ({
14285
14294
  setShowModelSuggestions(false);
14286
14295
  try {
14287
14296
  setLoading(true);
14288
- await updateModel({
14289
- provider: originalProvider,
14290
- modelId: originalModel
14291
- });
14297
+ await resetModel();
14292
14298
  } catch (error) {
14293
14299
  console.error("Failed to reset model:", error);
14294
14300
  } finally {
@@ -14696,7 +14702,6 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
14696
14702
 
14697
14703
  const AgentMetadataModelList = ({
14698
14704
  modelList,
14699
- modelProviders,
14700
14705
  updateModelInModelList,
14701
14706
  reorderModelList
14702
14707
  }) => {
@@ -14734,7 +14739,6 @@ const AgentMetadataModelList = ({
14734
14739
  AgentMetadataModelListItem,
14735
14740
  {
14736
14741
  modelConfig,
14737
- modelProviders,
14738
14742
  updateModelInModelList: updateModel,
14739
14743
  showDragHandle: hasMultipleModels,
14740
14744
  dragHandleProps: provided2.dragHandleProps
@@ -14745,7 +14749,6 @@ const AgentMetadataModelList = ({
14745
14749
  };
14746
14750
  const AgentMetadataModelListItem = ({
14747
14751
  modelConfig,
14748
- modelProviders,
14749
14752
  updateModelInModelList,
14750
14753
  showDragHandle,
14751
14754
  dragHandleProps
@@ -14759,7 +14762,6 @@ const AgentMetadataModelListItem = ({
14759
14762
  defaultProvider: modelConfig.model.provider,
14760
14763
  defaultModel: modelConfig.model.modelId,
14761
14764
  updateModel: (params) => updateModelInModelList({ modelConfigId: modelConfig.id, model: params }),
14762
- modelProviders,
14763
14765
  autoSave: true
14764
14766
  }
14765
14767
  ) }),
@@ -14790,7 +14792,7 @@ const AgentMetadata = ({
14790
14792
  promptSlot,
14791
14793
  hasMemoryEnabled,
14792
14794
  updateModel,
14793
- modelProviders,
14795
+ resetModel,
14794
14796
  updateModelInModelList,
14795
14797
  reorderModelList,
14796
14798
  modelVersion
@@ -14806,7 +14808,6 @@ const AgentMetadata = ({
14806
14808
  AgentMetadataModelList,
14807
14809
  {
14808
14810
  modelList: agent.modelList,
14809
- modelProviders,
14810
14811
  updateModelInModelList,
14811
14812
  reorderModelList
14812
14813
  }
@@ -14825,7 +14826,7 @@ const AgentMetadata = ({
14825
14826
  defaultProvider: agent.provider,
14826
14827
  defaultModel: agent.modelId,
14827
14828
  updateModel,
14828
- modelProviders
14829
+ resetModel
14829
14830
  }
14830
14831
  )
14831
14832
  }
@@ -15155,13 +15156,6 @@ const useAgents = () => {
15155
15156
  queryFn: () => client.getAgents(runtimeContext)
15156
15157
  });
15157
15158
  };
15158
- const useModelProviders = () => {
15159
- const client = useMastraClient();
15160
- return useQuery({
15161
- queryKey: ["model-providers"],
15162
- queryFn: () => client.getModelProviders()
15163
- });
15164
- };
15165
15159
  const useUpdateAgentModel = (agentId) => {
15166
15160
  const client = useMastraClient();
15167
15161
  const queryClient = useQueryClient();
@@ -15201,6 +15195,19 @@ const useUpdateModelInModelList = (agentId) => {
15201
15195
  }
15202
15196
  });
15203
15197
  };
15198
+ const useResetAgentModel = (agentId) => {
15199
+ const client = useMastraClient();
15200
+ const queryClient = useQueryClient();
15201
+ return useMutation({
15202
+ mutationFn: async () => client.getAgent(agentId).resetModel(),
15203
+ onSuccess: () => {
15204
+ queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
15205
+ },
15206
+ onError: (err) => {
15207
+ console.error("Error resetting model", err);
15208
+ }
15209
+ });
15210
+ };
15204
15211
 
15205
15212
  const useAgent = (agentId) => {
15206
15213
  const client = useMastraClient();
@@ -15316,9 +15323,10 @@ const AgentToolPanel = ({ toolId, agentId }) => {
15316
15323
 
15317
15324
  const useMemory = (agentId) => {
15318
15325
  const client = useMastraClient();
15326
+ const { runtimeContext } = usePlaygroundStore();
15319
15327
  return useQuery({
15320
15328
  queryKey: ["memory", agentId],
15321
- queryFn: () => agentId ? client.getMemoryStatus(agentId) : null,
15329
+ queryFn: () => agentId ? client.getMemoryStatus(agentId, runtimeContext) : null,
15322
15330
  enabled: Boolean(agentId),
15323
15331
  staleTime: 5 * 60 * 1e3,
15324
15332
  // 5 minutes
@@ -15329,9 +15337,10 @@ const useMemory = (agentId) => {
15329
15337
  };
15330
15338
  const useMemoryConfig = (agentId) => {
15331
15339
  const client = useMastraClient();
15340
+ const { runtimeContext } = usePlaygroundStore();
15332
15341
  return useQuery({
15333
15342
  queryKey: ["memory", "config", agentId],
15334
- queryFn: () => agentId ? client.getMemoryConfig({ agentId }) : null,
15343
+ queryFn: () => agentId ? client.getMemoryConfig({ agentId, runtimeContext }) : null,
15335
15344
  enabled: Boolean(agentId),
15336
15345
  staleTime: 5 * 60 * 1e3,
15337
15346
  // 5 minutes
@@ -15347,9 +15356,10 @@ const useThreads = ({
15347
15356
  isMemoryEnabled
15348
15357
  }) => {
15349
15358
  const client = useMastraClient();
15359
+ const { runtimeContext } = usePlaygroundStore();
15350
15360
  return useQuery({
15351
15361
  queryKey: ["memory", "threads", resourceId, agentId],
15352
- queryFn: () => isMemoryEnabled ? client.getMemoryThreads({ resourceId, agentId }) : null,
15362
+ queryFn: () => isMemoryEnabled ? client.getMemoryThreads({ resourceId, agentId, runtimeContext }) : null,
15353
15363
  enabled: Boolean(isMemoryEnabled),
15354
15364
  staleTime: 0,
15355
15365
  gcTime: 0,
@@ -15360,8 +15370,9 @@ const useThreads = ({
15360
15370
  const useDeleteThread = () => {
15361
15371
  const client = useMastraClient();
15362
15372
  const queryClient = useQueryClient();
15373
+ const { runtimeContext } = usePlaygroundStore();
15363
15374
  return useMutation({
15364
- mutationFn: ({ threadId, agentId, networkId }) => client.deleteThread(threadId, { agentId, networkId }),
15375
+ mutationFn: ({ threadId, agentId, networkId }) => client.deleteThread(threadId, { agentId, networkId, runtimeContext }),
15365
15376
  onSuccess: (_, variables) => {
15366
15377
  const { agentId, networkId } = variables;
15367
15378
  if (agentId) {
@@ -15382,6 +15393,7 @@ const useMemorySearch = ({
15382
15393
  resourceId,
15383
15394
  threadId
15384
15395
  }) => {
15396
+ const { runtimeContext } = usePlaygroundStore();
15385
15397
  const searchMemory = async (searchQuery, memoryConfig) => {
15386
15398
  if (!searchQuery.trim()) {
15387
15399
  return { results: [], count: 0, query: searchQuery };
@@ -15389,7 +15401,8 @@ const useMemorySearch = ({
15389
15401
  const params = new URLSearchParams({
15390
15402
  searchQuery,
15391
15403
  resourceId,
15392
- agentId
15404
+ agentId,
15405
+ runtimeContext: btoa(JSON.stringify(runtimeContext))
15393
15406
  });
15394
15407
  if (threadId) {
15395
15408
  params.append("threadId", threadId);
@@ -16749,8 +16762,8 @@ function AgentPromptEnhancer({ agentId }) {
16749
16762
 
16750
16763
  function AgentInformation({ agentId, threadId }) {
16751
16764
  const { data: agent, isLoading } = useAgent(agentId);
16752
- const { data: modelProviders } = useModelProviders();
16753
16765
  const { mutateAsync: updateModel } = useUpdateAgentModel(agentId);
16766
+ const { mutateAsync: resetModel } = useResetAgentModel(agentId);
16754
16767
  const { mutate: reorderModelList } = useReorderModelList(agentId);
16755
16768
  const { mutateAsync: updateModelInModelList } = useUpdateModelInModelList(agentId);
16756
16769
  const { data: memory, isLoading: isMemoryLoading } = useMemory(agentId);
@@ -16795,9 +16808,9 @@ function AgentInformation({ agentId, threadId }) {
16795
16808
  agentId,
16796
16809
  agent,
16797
16810
  updateModel,
16811
+ resetModel,
16798
16812
  updateModelInModelList,
16799
16813
  reorderModelList,
16800
- modelProviders: modelProviders || [],
16801
16814
  hasMemoryEnabled: Boolean(memory?.result),
16802
16815
  promptSlot: /* @__PURE__ */ jsx(AgentPromptEnhancer, { agentId }),
16803
16816
  modelVersion: agent.modelVersion
@@ -17377,7 +17390,6 @@ function TemplateForm({
17377
17390
  updateModel: onModelUpdate || (() => Promise.resolve({ message: "Updated" })),
17378
17391
  closeEditor: () => {
17379
17392
  },
17380
- modelProviders: ["openai", "anthropic", "google", "xai", "groq"],
17381
17393
  autoSave: true,
17382
17394
  selectProviderPlaceholder: "Provider"
17383
17395
  }
@@ -20441,5 +20453,5 @@ const useEvalsByAgentId = (agentId, type) => {
20441
20453
  });
20442
20454
  };
20443
20455
 
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 };
20456
+ 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, useModelReset, usePlaygroundStore, usePolling, useReorderModelList, useResetAgentModel, useScorer, useScorers, useScoresByEntityId, useScoresByScorerId, useSendWorkflowRunEvent, useSpeechRecognition, useStreamWorkflow, useThreadInput, useThreads, useTool, useTools, useTraceSpanScores, useUpdateAgentModel, useUpdateModelInModelList, useWorkflow, useWorkflowRuns, useWorkflows, useWorkingMemory };
20445
20457
  //# sourceMappingURL=index.es.js.map