@mastra/playground-ui 6.7.2 → 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/CHANGELOG.md +47 -0
- package/dist/index.cjs.js +195 -42
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +208 -59
- package/dist/index.es.js.map +1 -1
- package/dist/src/domains/agents/components/agent-metadata/agent-metadata-model-list.d.ts +1 -3
- package/dist/src/domains/agents/components/agent-metadata/agent-metadata-model-switcher.d.ts +4 -2
- package/dist/src/domains/agents/components/agent-metadata/agent-metadata.d.ts +2 -2
- package/dist/src/domains/agents/hooks/use-agents.d.ts +3 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/lib/toast.d.ts +27 -0
- package/package.json +7 -7
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
|
-
|
|
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)
|
|
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 (
|
|
8238
|
-
|
|
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)
|
|
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 (
|
|
8290
|
-
|
|
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)
|
|
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 (
|
|
8343
|
-
|
|
8479
|
+
} catch (err) {
|
|
8480
|
+
handleStreamError(err, "Error resuming workflow stream");
|
|
8344
8481
|
} finally {
|
|
8345
8482
|
if (isMountedRef.current) {
|
|
8346
8483
|
setIsStreaming(false);
|
|
@@ -8574,9 +8711,10 @@ const useAgentMessages = ({
|
|
|
8574
8711
|
memory
|
|
8575
8712
|
}) => {
|
|
8576
8713
|
const client = useMastraClient();
|
|
8714
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
8577
8715
|
return useQuery({
|
|
8578
|
-
queryKey: ["memory", "messages", threadId, agentId],
|
|
8579
|
-
queryFn: () => client.getThreadMessages(threadId, { agentId }),
|
|
8716
|
+
queryKey: ["memory", "messages", threadId, agentId, "runtimeContext"],
|
|
8717
|
+
queryFn: () => client.getThreadMessages(threadId, { agentId, runtimeContext }),
|
|
8580
8718
|
enabled: memory && Boolean(threadId),
|
|
8581
8719
|
staleTime: 0,
|
|
8582
8720
|
gcTime: 0,
|
|
@@ -9974,6 +10112,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
|
|
|
9974
10112
|
const [workingMemoryFormat, setWorkingMemoryFormat] = useState("markdown");
|
|
9975
10113
|
const [isLoading, setIsLoading] = useState(true);
|
|
9976
10114
|
const [isUpdating, setIsUpdating] = useState(false);
|
|
10115
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
9977
10116
|
const refetch = useCallback(async () => {
|
|
9978
10117
|
setIsLoading(true);
|
|
9979
10118
|
try {
|
|
@@ -9982,7 +10121,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
|
|
|
9982
10121
|
setIsLoading(false);
|
|
9983
10122
|
return;
|
|
9984
10123
|
}
|
|
9985
|
-
const res = await client.getWorkingMemory({ agentId, threadId, resourceId });
|
|
10124
|
+
const res = await client.getWorkingMemory({ agentId, threadId, resourceId, runtimeContext });
|
|
9986
10125
|
const { workingMemory, source, workingMemoryTemplate, threadExists: threadExists2 } = res;
|
|
9987
10126
|
setThreadExists(threadExists2);
|
|
9988
10127
|
setWorkingMemoryData(workingMemory);
|
|
@@ -10021,7 +10160,7 @@ function useAgentWorkingMemory(agentId, threadId, resourceId) {
|
|
|
10021
10160
|
throw new Error("Invalid JSON working memory");
|
|
10022
10161
|
}
|
|
10023
10162
|
}
|
|
10024
|
-
await client.updateWorkingMemory({ agentId, threadId, workingMemory: newMemory, resourceId });
|
|
10163
|
+
await client.updateWorkingMemory({ agentId, threadId, workingMemory: newMemory, resourceId, runtimeContext });
|
|
10025
10164
|
refetch();
|
|
10026
10165
|
} catch (error) {
|
|
10027
10166
|
console.error("Error updating working memory", error);
|
|
@@ -11820,7 +11959,7 @@ const RuntimeContext = () => {
|
|
|
11820
11959
|
useEffect(() => {
|
|
11821
11960
|
const run = async () => {
|
|
11822
11961
|
if (!isValidJson(runtimeContextStr)) {
|
|
11823
|
-
toast.error("Invalid JSON");
|
|
11962
|
+
toast$1.error("Invalid JSON");
|
|
11824
11963
|
return;
|
|
11825
11964
|
}
|
|
11826
11965
|
const formatted = await formatJSON(runtimeContextStr);
|
|
@@ -11832,16 +11971,16 @@ const RuntimeContext = () => {
|
|
|
11832
11971
|
try {
|
|
11833
11972
|
const parsedContext = JSON.parse(runtimeContextValue);
|
|
11834
11973
|
setRuntimeContext(parsedContext);
|
|
11835
|
-
toast.success("Runtime context saved successfully");
|
|
11974
|
+
toast$1.success("Runtime context saved successfully");
|
|
11836
11975
|
} catch (error) {
|
|
11837
11976
|
console.error("error", error);
|
|
11838
|
-
toast.error("Invalid JSON");
|
|
11977
|
+
toast$1.error("Invalid JSON");
|
|
11839
11978
|
}
|
|
11840
11979
|
};
|
|
11841
11980
|
const buttonClass = "text-icon3 hover:text-icon6";
|
|
11842
11981
|
const formatRuntimeContext = async () => {
|
|
11843
11982
|
if (!isValidJson(runtimeContextValue)) {
|
|
11844
|
-
toast.error("Invalid JSON");
|
|
11983
|
+
toast$1.error("Invalid JSON");
|
|
11845
11984
|
return;
|
|
11846
11985
|
}
|
|
11847
11986
|
const formatted = await formatJSON(runtimeContextValue);
|
|
@@ -13854,7 +13993,7 @@ const useScorer = (scorerId) => {
|
|
|
13854
13993
|
} catch (error) {
|
|
13855
13994
|
setScorer(null);
|
|
13856
13995
|
console.error("Error fetching scorer", error);
|
|
13857
|
-
toast.error("Error fetching scorer");
|
|
13996
|
+
toast$1.error("Error fetching scorer");
|
|
13858
13997
|
} finally {
|
|
13859
13998
|
setIsLoading(false);
|
|
13860
13999
|
}
|
|
@@ -13968,6 +14107,7 @@ const AgentMetadataModelSwitcher = ({
|
|
|
13968
14107
|
defaultProvider,
|
|
13969
14108
|
defaultModel,
|
|
13970
14109
|
updateModel,
|
|
14110
|
+
resetModel,
|
|
13971
14111
|
apiUrl = "/api/agents/providers"
|
|
13972
14112
|
}) => {
|
|
13973
14113
|
const [originalProvider] = useState(defaultProvider);
|
|
@@ -13985,6 +14125,10 @@ const AgentMetadataModelSwitcher = ({
|
|
|
13985
14125
|
const [providersLoading, setProvidersLoading] = useState(true);
|
|
13986
14126
|
const [highlightedProviderIndex, setHighlightedProviderIndex] = useState(-1);
|
|
13987
14127
|
const [highlightedModelIndex, setHighlightedModelIndex] = useState(-1);
|
|
14128
|
+
useEffect(() => {
|
|
14129
|
+
setSelectedModel(defaultModel);
|
|
14130
|
+
setSelectedProvider(defaultProvider || "");
|
|
14131
|
+
}, [defaultModel, defaultProvider]);
|
|
13988
14132
|
const modelInputRef = useRef(null);
|
|
13989
14133
|
const providerInputRef = useRef(null);
|
|
13990
14134
|
useEffect(() => {
|
|
@@ -14138,8 +14282,10 @@ const AgentMetadataModelSwitcher = ({
|
|
|
14138
14282
|
] });
|
|
14139
14283
|
}
|
|
14140
14284
|
const handleReset = async () => {
|
|
14141
|
-
|
|
14142
|
-
|
|
14285
|
+
if (!resetModel) {
|
|
14286
|
+
console.warn("Reset model function not provided");
|
|
14287
|
+
return;
|
|
14288
|
+
}
|
|
14143
14289
|
setProviderSearch("");
|
|
14144
14290
|
setModelSearch("");
|
|
14145
14291
|
setIsSearchingProvider(false);
|
|
@@ -14148,10 +14294,7 @@ const AgentMetadataModelSwitcher = ({
|
|
|
14148
14294
|
setShowModelSuggestions(false);
|
|
14149
14295
|
try {
|
|
14150
14296
|
setLoading(true);
|
|
14151
|
-
await
|
|
14152
|
-
provider: originalProvider,
|
|
14153
|
-
modelId: originalModel
|
|
14154
|
-
});
|
|
14297
|
+
await resetModel();
|
|
14155
14298
|
} catch (error) {
|
|
14156
14299
|
console.error("Failed to reset model:", error);
|
|
14157
14300
|
} finally {
|
|
@@ -14559,7 +14702,6 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
|
14559
14702
|
|
|
14560
14703
|
const AgentMetadataModelList = ({
|
|
14561
14704
|
modelList,
|
|
14562
|
-
modelProviders,
|
|
14563
14705
|
updateModelInModelList,
|
|
14564
14706
|
reorderModelList
|
|
14565
14707
|
}) => {
|
|
@@ -14597,7 +14739,6 @@ const AgentMetadataModelList = ({
|
|
|
14597
14739
|
AgentMetadataModelListItem,
|
|
14598
14740
|
{
|
|
14599
14741
|
modelConfig,
|
|
14600
|
-
modelProviders,
|
|
14601
14742
|
updateModelInModelList: updateModel,
|
|
14602
14743
|
showDragHandle: hasMultipleModels,
|
|
14603
14744
|
dragHandleProps: provided2.dragHandleProps
|
|
@@ -14608,7 +14749,6 @@ const AgentMetadataModelList = ({
|
|
|
14608
14749
|
};
|
|
14609
14750
|
const AgentMetadataModelListItem = ({
|
|
14610
14751
|
modelConfig,
|
|
14611
|
-
modelProviders,
|
|
14612
14752
|
updateModelInModelList,
|
|
14613
14753
|
showDragHandle,
|
|
14614
14754
|
dragHandleProps
|
|
@@ -14622,7 +14762,6 @@ const AgentMetadataModelListItem = ({
|
|
|
14622
14762
|
defaultProvider: modelConfig.model.provider,
|
|
14623
14763
|
defaultModel: modelConfig.model.modelId,
|
|
14624
14764
|
updateModel: (params) => updateModelInModelList({ modelConfigId: modelConfig.id, model: params }),
|
|
14625
|
-
modelProviders,
|
|
14626
14765
|
autoSave: true
|
|
14627
14766
|
}
|
|
14628
14767
|
) }),
|
|
@@ -14653,7 +14792,7 @@ const AgentMetadata = ({
|
|
|
14653
14792
|
promptSlot,
|
|
14654
14793
|
hasMemoryEnabled,
|
|
14655
14794
|
updateModel,
|
|
14656
|
-
|
|
14795
|
+
resetModel,
|
|
14657
14796
|
updateModelInModelList,
|
|
14658
14797
|
reorderModelList,
|
|
14659
14798
|
modelVersion
|
|
@@ -14669,7 +14808,6 @@ const AgentMetadata = ({
|
|
|
14669
14808
|
AgentMetadataModelList,
|
|
14670
14809
|
{
|
|
14671
14810
|
modelList: agent.modelList,
|
|
14672
|
-
modelProviders,
|
|
14673
14811
|
updateModelInModelList,
|
|
14674
14812
|
reorderModelList
|
|
14675
14813
|
}
|
|
@@ -14688,7 +14826,7 @@ const AgentMetadata = ({
|
|
|
14688
14826
|
defaultProvider: agent.provider,
|
|
14689
14827
|
defaultModel: agent.modelId,
|
|
14690
14828
|
updateModel,
|
|
14691
|
-
|
|
14829
|
+
resetModel
|
|
14692
14830
|
}
|
|
14693
14831
|
)
|
|
14694
14832
|
}
|
|
@@ -15018,13 +15156,6 @@ const useAgents = () => {
|
|
|
15018
15156
|
queryFn: () => client.getAgents(runtimeContext)
|
|
15019
15157
|
});
|
|
15020
15158
|
};
|
|
15021
|
-
const useModelProviders = () => {
|
|
15022
|
-
const client = useMastraClient();
|
|
15023
|
-
return useQuery({
|
|
15024
|
-
queryKey: ["model-providers"],
|
|
15025
|
-
queryFn: () => client.getModelProviders()
|
|
15026
|
-
});
|
|
15027
|
-
};
|
|
15028
15159
|
const useUpdateAgentModel = (agentId) => {
|
|
15029
15160
|
const client = useMastraClient();
|
|
15030
15161
|
const queryClient = useQueryClient();
|
|
@@ -15064,6 +15195,19 @@ const useUpdateModelInModelList = (agentId) => {
|
|
|
15064
15195
|
}
|
|
15065
15196
|
});
|
|
15066
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
|
+
};
|
|
15067
15211
|
|
|
15068
15212
|
const useAgent = (agentId) => {
|
|
15069
15213
|
const client = useMastraClient();
|
|
@@ -15089,7 +15233,7 @@ const useExecuteAgentTool = () => {
|
|
|
15089
15233
|
const response = await agent.executeTool(toolId, { data: input, runtimeContext });
|
|
15090
15234
|
return response;
|
|
15091
15235
|
} catch (error) {
|
|
15092
|
-
toast.error("Error executing agent tool");
|
|
15236
|
+
toast$1.error("Error executing agent tool");
|
|
15093
15237
|
console.error("Error executing tool:", error);
|
|
15094
15238
|
throw error;
|
|
15095
15239
|
}
|
|
@@ -15179,9 +15323,10 @@ const AgentToolPanel = ({ toolId, agentId }) => {
|
|
|
15179
15323
|
|
|
15180
15324
|
const useMemory = (agentId) => {
|
|
15181
15325
|
const client = useMastraClient();
|
|
15326
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
15182
15327
|
return useQuery({
|
|
15183
15328
|
queryKey: ["memory", agentId],
|
|
15184
|
-
queryFn: () => agentId ? client.getMemoryStatus(agentId) : null,
|
|
15329
|
+
queryFn: () => agentId ? client.getMemoryStatus(agentId, runtimeContext) : null,
|
|
15185
15330
|
enabled: Boolean(agentId),
|
|
15186
15331
|
staleTime: 5 * 60 * 1e3,
|
|
15187
15332
|
// 5 minutes
|
|
@@ -15192,9 +15337,10 @@ const useMemory = (agentId) => {
|
|
|
15192
15337
|
};
|
|
15193
15338
|
const useMemoryConfig = (agentId) => {
|
|
15194
15339
|
const client = useMastraClient();
|
|
15340
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
15195
15341
|
return useQuery({
|
|
15196
15342
|
queryKey: ["memory", "config", agentId],
|
|
15197
|
-
queryFn: () => agentId ? client.getMemoryConfig({ agentId }) : null,
|
|
15343
|
+
queryFn: () => agentId ? client.getMemoryConfig({ agentId, runtimeContext }) : null,
|
|
15198
15344
|
enabled: Boolean(agentId),
|
|
15199
15345
|
staleTime: 5 * 60 * 1e3,
|
|
15200
15346
|
// 5 minutes
|
|
@@ -15210,9 +15356,10 @@ const useThreads = ({
|
|
|
15210
15356
|
isMemoryEnabled
|
|
15211
15357
|
}) => {
|
|
15212
15358
|
const client = useMastraClient();
|
|
15359
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
15213
15360
|
return useQuery({
|
|
15214
15361
|
queryKey: ["memory", "threads", resourceId, agentId],
|
|
15215
|
-
queryFn: () => isMemoryEnabled ? client.getMemoryThreads({ resourceId, agentId }) : null,
|
|
15362
|
+
queryFn: () => isMemoryEnabled ? client.getMemoryThreads({ resourceId, agentId, runtimeContext }) : null,
|
|
15216
15363
|
enabled: Boolean(isMemoryEnabled),
|
|
15217
15364
|
staleTime: 0,
|
|
15218
15365
|
gcTime: 0,
|
|
@@ -15223,8 +15370,9 @@ const useThreads = ({
|
|
|
15223
15370
|
const useDeleteThread = () => {
|
|
15224
15371
|
const client = useMastraClient();
|
|
15225
15372
|
const queryClient = useQueryClient();
|
|
15373
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
15226
15374
|
return useMutation({
|
|
15227
|
-
mutationFn: ({ threadId, agentId, networkId }) => client.deleteThread(threadId, { agentId, networkId }),
|
|
15375
|
+
mutationFn: ({ threadId, agentId, networkId }) => client.deleteThread(threadId, { agentId, networkId, runtimeContext }),
|
|
15228
15376
|
onSuccess: (_, variables) => {
|
|
15229
15377
|
const { agentId, networkId } = variables;
|
|
15230
15378
|
if (agentId) {
|
|
@@ -15233,10 +15381,10 @@ const useDeleteThread = () => {
|
|
|
15233
15381
|
if (networkId) {
|
|
15234
15382
|
queryClient.invalidateQueries({ queryKey: ["network", "threads", networkId, networkId] });
|
|
15235
15383
|
}
|
|
15236
|
-
toast.success("Chat deleted successfully");
|
|
15384
|
+
toast$1.success("Chat deleted successfully");
|
|
15237
15385
|
},
|
|
15238
15386
|
onError: () => {
|
|
15239
|
-
toast.error("Failed to delete chat");
|
|
15387
|
+
toast$1.error("Failed to delete chat");
|
|
15240
15388
|
}
|
|
15241
15389
|
});
|
|
15242
15390
|
};
|
|
@@ -15245,6 +15393,7 @@ const useMemorySearch = ({
|
|
|
15245
15393
|
resourceId,
|
|
15246
15394
|
threadId
|
|
15247
15395
|
}) => {
|
|
15396
|
+
const { runtimeContext } = usePlaygroundStore();
|
|
15248
15397
|
const searchMemory = async (searchQuery, memoryConfig) => {
|
|
15249
15398
|
if (!searchQuery.trim()) {
|
|
15250
15399
|
return { results: [], count: 0, query: searchQuery };
|
|
@@ -15252,7 +15401,8 @@ const useMemorySearch = ({
|
|
|
15252
15401
|
const params = new URLSearchParams({
|
|
15253
15402
|
searchQuery,
|
|
15254
15403
|
resourceId,
|
|
15255
|
-
agentId
|
|
15404
|
+
agentId,
|
|
15405
|
+
runtimeContext: btoa(JSON.stringify(runtimeContext))
|
|
15256
15406
|
});
|
|
15257
15407
|
if (threadId) {
|
|
15258
15408
|
params.append("threadId", threadId);
|
|
@@ -15490,7 +15640,7 @@ const AgentWorkingMemory = ({ agentId }) => {
|
|
|
15490
15640
|
setIsEditing(false);
|
|
15491
15641
|
} catch (error) {
|
|
15492
15642
|
console.error("Failed to update working memory:", error);
|
|
15493
|
-
toast.error("Failed to update working memory");
|
|
15643
|
+
toast$1.error("Failed to update working memory");
|
|
15494
15644
|
}
|
|
15495
15645
|
},
|
|
15496
15646
|
disabled: isUpdating,
|
|
@@ -16612,8 +16762,8 @@ function AgentPromptEnhancer({ agentId }) {
|
|
|
16612
16762
|
|
|
16613
16763
|
function AgentInformation({ agentId, threadId }) {
|
|
16614
16764
|
const { data: agent, isLoading } = useAgent(agentId);
|
|
16615
|
-
const { data: modelProviders } = useModelProviders();
|
|
16616
16765
|
const { mutateAsync: updateModel } = useUpdateAgentModel(agentId);
|
|
16766
|
+
const { mutateAsync: resetModel } = useResetAgentModel(agentId);
|
|
16617
16767
|
const { mutate: reorderModelList } = useReorderModelList(agentId);
|
|
16618
16768
|
const { mutateAsync: updateModelInModelList } = useUpdateModelInModelList(agentId);
|
|
16619
16769
|
const { data: memory, isLoading: isMemoryLoading } = useMemory(agentId);
|
|
@@ -16658,9 +16808,9 @@ function AgentInformation({ agentId, threadId }) {
|
|
|
16658
16808
|
agentId,
|
|
16659
16809
|
agent,
|
|
16660
16810
|
updateModel,
|
|
16811
|
+
resetModel,
|
|
16661
16812
|
updateModelInModelList,
|
|
16662
16813
|
reorderModelList,
|
|
16663
|
-
modelProviders: modelProviders || [],
|
|
16664
16814
|
hasMemoryEnabled: Boolean(memory?.result),
|
|
16665
16815
|
promptSlot: /* @__PURE__ */ jsx(AgentPromptEnhancer, { agentId }),
|
|
16666
16816
|
modelVersion: agent.modelVersion
|
|
@@ -16822,7 +16972,7 @@ const useExecuteTool = () => {
|
|
|
16822
16972
|
const response = await tool.execute({ data: input, runtimeContext });
|
|
16823
16973
|
return response;
|
|
16824
16974
|
} catch (error) {
|
|
16825
|
-
toast.error("Error executing dev tool");
|
|
16975
|
+
toast$1.error("Error executing dev tool");
|
|
16826
16976
|
console.error("Error executing dev tool:", error);
|
|
16827
16977
|
throw error;
|
|
16828
16978
|
}
|
|
@@ -17240,7 +17390,6 @@ function TemplateForm({
|
|
|
17240
17390
|
updateModel: onModelUpdate || (() => Promise.resolve({ message: "Updated" })),
|
|
17241
17391
|
closeEditor: () => {
|
|
17242
17392
|
},
|
|
17243
|
-
modelProviders: ["openai", "anthropic", "google", "xai", "groq"],
|
|
17244
17393
|
autoSave: true,
|
|
17245
17394
|
selectProviderPlaceholder: "Provider"
|
|
17246
17395
|
}
|
|
@@ -20114,7 +20263,7 @@ const MCPToolPanel = ({ toolId, serverId }) => {
|
|
|
20114
20263
|
zodInputSchema = resolveSerializedZodOutput(jsonSchemaToZod(tool.inputSchema));
|
|
20115
20264
|
} catch (e) {
|
|
20116
20265
|
console.error("Error processing input schema:", e);
|
|
20117
|
-
toast.error("Failed to process tool input schema.");
|
|
20266
|
+
toast$1.error("Failed to process tool input schema.");
|
|
20118
20267
|
zodInputSchema = z.object({});
|
|
20119
20268
|
}
|
|
20120
20269
|
return /* @__PURE__ */ jsx(
|
|
@@ -20304,5 +20453,5 @@ const useEvalsByAgentId = (agentId, type) => {
|
|
|
20304
20453
|
});
|
|
20305
20454
|
};
|
|
20306
20455
|
|
|
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,
|
|
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 };
|
|
20308
20457
|
//# sourceMappingURL=index.es.js.map
|