@mastra/react 0.2.2-alpha.0 → 0.2.2-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{chunk-REDZDNFN-DUg7ysO-.js → chunk-REDZDNFN-C5a6GuK0.js} +2 -2
  3. package/dist/{chunk-REDZDNFN-DUg7ysO-.js.map → chunk-REDZDNFN-C5a6GuK0.js.map} +1 -1
  4. package/dist/{chunk-REDZDNFN-B7qrunfq.cjs → chunk-REDZDNFN-vi5yKtN5.cjs} +2 -2
  5. package/dist/{chunk-REDZDNFN-B7qrunfq.cjs.map → chunk-REDZDNFN-vi5yKtN5.cjs.map} +1 -1
  6. package/dist/{index-BfPYHGh-.cjs → index-DUTv-1fm.cjs} +40 -35
  7. package/dist/index-DUTv-1fm.cjs.map +1 -0
  8. package/dist/{index-DAKPTvIV.js → index-OZrcVzMn.js} +41 -36
  9. package/dist/index-OZrcVzMn.js.map +1 -0
  10. package/dist/index.cjs +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/src/agent/hooks.d.ts +2 -2
  13. package/dist/{token-6GSAFR2W-XRCSVUPZ-CHnk4P1A.cjs → token-6GSAFR2W-XRCSVUPZ-CxcM_lpA.cjs} +3 -3
  14. package/dist/{token-6GSAFR2W-XRCSVUPZ-CHnk4P1A.cjs.map → token-6GSAFR2W-XRCSVUPZ-CxcM_lpA.cjs.map} +1 -1
  15. package/dist/{token-6GSAFR2W-XRCSVUPZ-DJKOUx4t.js → token-6GSAFR2W-XRCSVUPZ-oh_q0WOI.js} +3 -3
  16. package/dist/{token-6GSAFR2W-XRCSVUPZ-DJKOUx4t.js.map → token-6GSAFR2W-XRCSVUPZ-oh_q0WOI.js.map} +1 -1
  17. package/dist/{token-util-NEHG7TUY-U7CX7GS4-TOzJ9qV6.cjs → token-util-NEHG7TUY-U7CX7GS4-CwzYo-I6.cjs} +2 -2
  18. package/dist/{token-util-NEHG7TUY-U7CX7GS4-TOzJ9qV6.cjs.map → token-util-NEHG7TUY-U7CX7GS4-CwzYo-I6.cjs.map} +1 -1
  19. package/dist/{token-util-NEHG7TUY-U7CX7GS4-DWPtGQAc.js → token-util-NEHG7TUY-U7CX7GS4-D2Go4cJt.js} +2 -2
  20. package/dist/{token-util-NEHG7TUY-U7CX7GS4-DWPtGQAc.js.map → token-util-NEHG7TUY-U7CX7GS4-D2Go4cJt.js.map} +1 -1
  21. package/package.json +4 -4
  22. package/dist/index-BfPYHGh-.cjs.map +0 -1
  23. package/dist/index-DAKPTvIV.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { createContext, useContext, useRef, useState, Fragment, useLayoutEffect, useEffect, useCallback } from 'react';
2
+ import { createContext, useContext, useRef, useState, useEffect, Fragment, useLayoutEffect, useCallback } from 'react';
3
3
  import { MastraClient } from '@mastra/client-js';
4
4
  import * as z4 from 'zod/v4';
5
5
  import { z } from 'zod/v4';
@@ -1176,7 +1176,7 @@ var require_token_error = __commonJS$3({
1176
1176
  var marker$4 = "vercel.ai.error";
1177
1177
  var symbol$4 = Symbol.for(marker$4);
1178
1178
  var _a$4;
1179
- var _AISDKError$3 = class _AISDKError2 extends Error {
1179
+ var _AISDKError$2 = class _AISDKError2 extends Error {
1180
1180
  /**
1181
1181
  * Creates an AI SDK Error.
1182
1182
  *
@@ -1209,7 +1209,7 @@ var _AISDKError$3 = class _AISDKError2 extends Error {
1209
1209
  }
1210
1210
  };
1211
1211
  _a$4 = symbol$4;
1212
- var AISDKError$3 = _AISDKError$3;
1212
+ var AISDKError$3 = _AISDKError$2;
1213
1213
  var name$1 = "AI_APICallError";
1214
1214
  var marker2$1 = `vercel.ai.error.${name$1}`;
1215
1215
  var symbol2$1 = Symbol.for(marker2$1);
@@ -3249,8 +3249,8 @@ var require_get_vercel_oidc_token = __commonJS$3({
3249
3249
  }
3250
3250
  try {
3251
3251
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
3252
- await import('./token-util-NEHG7TUY-U7CX7GS4-DWPtGQAc.js'),
3253
- await import('./token-6GSAFR2W-XRCSVUPZ-DJKOUx4t.js')
3252
+ await import('./token-util-NEHG7TUY-U7CX7GS4-D2Go4cJt.js'),
3253
+ await import('./token-6GSAFR2W-XRCSVUPZ-oh_q0WOI.js')
3254
3254
  ]);
3255
3255
  if (!token || isExpired(getTokenPayload(token))) {
3256
3256
  await refreshToken();
@@ -3311,8 +3311,8 @@ var import_oidc2 = __toESM$2(require_dist());
3311
3311
  var marker$3 = "vercel.ai.gateway.error";
3312
3312
  var symbol$3 = Symbol.for(marker$3);
3313
3313
  var _a$3;
3314
- var _b;
3315
- var GatewayError = class _GatewayError extends (_b = Error, _a$3 = symbol$3, _b) {
3314
+ var _b$1;
3315
+ var GatewayError = class _GatewayError extends (_b$1 = Error, _a$3 = symbol$3, _b$1) {
3316
3316
  constructor({
3317
3317
  message,
3318
3318
  statusCode = 500,
@@ -3418,8 +3418,8 @@ var name3$3 = "GatewayRateLimitError";
3418
3418
  var marker4$3 = `vercel.ai.gateway.error.${name3$3}`;
3419
3419
  var symbol4$3 = Symbol.for(marker4$3);
3420
3420
  var _a4$3;
3421
- var _b4;
3422
- var GatewayRateLimitError = class extends (_b4 = GatewayError, _a4$3 = symbol4$3, _b4) {
3421
+ var _b4$1;
3422
+ var GatewayRateLimitError = class extends (_b4$1 = GatewayError, _a4$3 = symbol4$3, _b4$1) {
3423
3423
  constructor({
3424
3424
  message = "Rate limit exceeded",
3425
3425
  statusCode = 429,
@@ -5976,7 +5976,7 @@ var require_secure_json_parse$1 = __commonJS$2({
5976
5976
  var marker$2 = "vercel.ai.error";
5977
5977
  var symbol$2 = Symbol.for(marker$2);
5978
5978
  var _a$2;
5979
- var _AISDKError$2 = class _AISDKError2 extends Error {
5979
+ var _AISDKError$1 = class _AISDKError2 extends Error {
5980
5980
  /**
5981
5981
  * Creates an AI SDK Error.
5982
5982
  *
@@ -6009,7 +6009,7 @@ var _AISDKError$2 = class _AISDKError2 extends Error {
6009
6009
  }
6010
6010
  };
6011
6011
  _a$2 = symbol$2;
6012
- var AISDKError$2 = _AISDKError$2;
6012
+ var AISDKError$2 = _AISDKError$1;
6013
6013
  function getErrorMessage$1(error) {
6014
6014
  if (error == null) {
6015
6015
  return "unknown error";
@@ -9784,8 +9784,8 @@ function trimStartOfStream$1() {
9784
9784
  // src/errors/ai-sdk-error.ts
9785
9785
  var marker$1 = "vercel.ai.error";
9786
9786
  var symbol$1 = Symbol.for(marker$1);
9787
- var _a$1;
9788
- var _AISDKError$1 = class _AISDKError extends Error {
9787
+ var _a$1, _b;
9788
+ var AISDKError$1 = class _AISDKError extends (_b = Error, _a$1 = symbol$1, _b) {
9789
9789
  /**
9790
9790
  * Creates an AI SDK Error.
9791
9791
  *
@@ -9817,15 +9817,13 @@ var _AISDKError$1 = class _AISDKError extends Error {
9817
9817
  return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
9818
9818
  }
9819
9819
  };
9820
- _a$1 = symbol$1;
9821
- var AISDKError$1 = _AISDKError$1;
9822
9820
 
9823
9821
  // src/errors/invalid-argument-error.ts
9824
9822
  var name3$1 = "AI_InvalidArgumentError";
9825
9823
  var marker4$1 = `vercel.ai.error.${name3$1}`;
9826
9824
  var symbol4$1 = Symbol.for(marker4$1);
9827
- var _a4$1;
9828
- var InvalidArgumentError$1 = class InvalidArgumentError extends AISDKError$1 {
9825
+ var _a4$1, _b4;
9826
+ var InvalidArgumentError$1 = class InvalidArgumentError extends (_b4 = AISDKError$1, _a4$1 = symbol4$1, _b4) {
9829
9827
  constructor({
9830
9828
  message,
9831
9829
  cause,
@@ -9839,7 +9837,6 @@ var InvalidArgumentError$1 = class InvalidArgumentError extends AISDKError$1 {
9839
9837
  return AISDKError$1.hasMarker(error, marker4$1);
9840
9838
  }
9841
9839
  };
9842
- _a4$1 = symbol4$1;
9843
9840
 
9844
9841
  // src/combine-headers.ts
9845
9842
  var createIdGenerator$1 = ({
@@ -13644,10 +13641,15 @@ var MessageList$1 = class MessageList {
13644
13641
  sealedPartCount = existingParts.length;
13645
13642
  }
13646
13643
  const incomingParts = messageV2.content.parts;
13644
+ let newParts;
13647
13645
  if (incomingParts.length <= sealedPartCount) {
13648
- return this;
13646
+ if (messagesAreEqual(existingMessage, messageV2)) {
13647
+ return this;
13648
+ }
13649
+ newParts = incomingParts;
13650
+ } else {
13651
+ newParts = incomingParts.slice(sealedPartCount);
13649
13652
  }
13650
- const newParts = incomingParts.slice(sealedPartCount);
13651
13653
  if (newParts.length > 0) {
13652
13654
  messageV2.id = this.generateMessageId?.({ idType: "message", source: "memory" }) ?? v4();
13653
13655
  messageV2.content.parts = newParts;
@@ -26552,30 +26554,33 @@ const fromCoreUserMessageToUIMessage = (coreUserMessage) => {
26552
26554
  };
26553
26555
  };
26554
26556
 
26555
- const useChat = ({ agentId, resourceId, initializeMessages }) => {
26556
- const extractRunIdFromMessages = (messages2) => {
26557
- for (const message of messages2) {
26558
- const pendingToolApprovals = message.metadata?.pendingToolApprovals;
26559
- if (pendingToolApprovals && typeof pendingToolApprovals === "object") {
26560
- const suspensionData = Object.values(pendingToolApprovals)[0];
26561
- if (suspensionData?.runId) {
26562
- return suspensionData.runId;
26563
- }
26557
+ const extractRunIdFromMessages = (messages) => {
26558
+ for (const message of messages) {
26559
+ const pendingToolApprovals = message.metadata?.pendingToolApprovals;
26560
+ if (pendingToolApprovals && typeof pendingToolApprovals === "object") {
26561
+ const suspensionData = Object.values(pendingToolApprovals)[0];
26562
+ if (suspensionData?.runId) {
26563
+ return suspensionData.runId;
26564
26564
  }
26565
26565
  }
26566
- return void 0;
26567
- };
26568
- const initialMessages = initializeMessages?.() || [];
26569
- const initialRunId = extractRunIdFromMessages(initialMessages);
26570
- const _currentRunId = useRef(initialRunId);
26566
+ }
26567
+ return void 0;
26568
+ };
26569
+ const useChat = ({ agentId, resourceId, initialMessages }) => {
26570
+ const _currentRunId = useRef(void 0);
26571
26571
  const _onChunk = useRef(void 0);
26572
26572
  const _networkRunId = useRef(void 0);
26573
26573
  const _onNetworkChunk = useRef(void 0);
26574
- const [messages, setMessages] = useState(() => resolveInitialMessages(initialMessages));
26574
+ const [messages, setMessages] = useState([]);
26575
26575
  const [toolCallApprovals, setToolCallApprovals] = useState({});
26576
26576
  const [networkToolCallApprovals, setNetworkToolCallApprovals] = useState({});
26577
26577
  const baseClient = useMastraClient();
26578
26578
  const [isRunning, setIsRunning] = useState(false);
26579
+ useEffect(() => {
26580
+ const formattedMessages = resolveInitialMessages(initialMessages || []);
26581
+ setMessages(formattedMessages);
26582
+ _currentRunId.current = extractRunIdFromMessages(formattedMessages);
26583
+ }, [initialMessages]);
26579
26584
  const generate = async ({
26580
26585
  coreUserMessages,
26581
26586
  requestContext,
@@ -27660,4 +27665,4 @@ function useCancelWorkflowRun() {
27660
27665
  }
27661
27666
 
27662
27667
  export { MessageUsages as $, EntryTitleClass as A, EntryTitle as B, CodeBlockClass as C, CodeBlock as D, Entity as E, CodeCopyButton as F, Icon as G, IconButtonClass as H, IconSizes as I, IconButton as J, AgentIcon as K, ToolsIcon as L, MastraReactProvider as M, Tooltip as N, TooltipContentClass as O, TooltipContent as P, TooltipTrigger as Q, MessageClass as R, Message as S, ToolApprovalClass as T, MessageContentClass as U, MessageContent as V, WorkflowIcon as W, MessageActionsClass as X, MessageActions as Y, MessageUsagesClass as Z, __commonJS$3 as _, __require2 as a, MessageUsageClass as a0, MessageUsage as a1, MessageUsageEntryClass as a2, MessageUsageEntry as a3, MessageUsageValueClass as a4, MessageUsageValue as a5, MessageListClass as a6, MessageList as a7, MessageStreamingClass as a8, MessageStreaming as a9, useCreateWorkflowRun as aa, useCancelWorkflowRun as ab, useStreamWorkflow as ac, useChat as b, resolveToChildMessages as c, toAssistantUIMessage as d, useEntity as e, EntityTriggerClass as f, EntityTriggerVariantClasses as g, EntityTrigger as h, EntityContentClass as i, EntityContent as j, EntityCaret as k, ToolApproval as l, mapWorkflowStreamChunkToWatchResult as m, ToolApprovalTitleClass as n, ToolApprovalTitle as o, ToolApprovalHeaderClass as p, ToolApprovalHeader as q, require_token_error as r, ToolApprovalContentClass as s, toUIMessage as t, useMastraClient as u, ToolApprovalContent as v, ToolApprovalActionsClass as w, ToolApprovalActions as x, EntryClass as y, Entry as z };
27663
- //# sourceMappingURL=index-DAKPTvIV.js.map
27668
+ //# sourceMappingURL=index-OZrcVzMn.js.map