@mastra/react 1.5.0-alpha.4 → 1.5.0-alpha.6

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.
@@ -72,6 +72,7 @@ export declare const useChat: ({ agentId, resourceId, threadId, initialMessages,
72
72
  setMessages: import("react").Dispatch<import("react").SetStateAction<MastraDBMessage[]>>;
73
73
  sendMessage: ({ mode, ...args }: SendMessageArgs) => Promise<void>;
74
74
  isRunning: boolean;
75
+ activeRunId: string | undefined;
75
76
  isAwaitingToolApproval: boolean;
76
77
  messages: MastraDBMessage[];
77
78
  tasks: {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/agent/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,eAAe,EAA4B,MAAM,iCAAiC,CAAC;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAiB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAkBtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA0JpF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAU;IAClB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,CACtF,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,GAC/D,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,GAC3D,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,GAC7D,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAChE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAoDF,eAAO,MAAM,OAAO,oNAYjB,eAAe;;qCA88ByC,eAAe;;;;;;;;;;kCAnP7B,MAAM,eAAe,OAAO;kCAuE5B,MAAM;0CAoDE,MAAM;0CA2BN,MAAM;;;;oBAz1BvB,UAAU,GAAG,UAAU;;;uCAo3BT,MAAM,UAAU,MAAM;uCAiCtB,MAAM,UAAU,MAAM;;;oBAl5BtC,UAAU,GAAG,UAAU;;;CAu/BxD,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/agent/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -2046,11 +2046,29 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2046
2046
  const processStreamChunk = (0, react.useCallback)(async (chunk, onChunk) => {
2047
2047
  const isTerminal = chunk.type === "finish" || chunk.type === "abort" || chunk.type === "error";
2048
2048
  if (isTerminal && liveRunId.current && chunk.runId !== liveRunId.current) return;
2049
- setMessages((prev) => accumulateChunk({
2050
- chunk,
2051
- conversation: prev,
2052
- metadata: { mode: "stream" }
2053
- }));
2049
+ const runId = "runId" in chunk && typeof chunk.runId === "string" ? chunk.runId : void 0;
2050
+ setMessages((prev) => {
2051
+ const metadata = {
2052
+ mode: "stream",
2053
+ runId
2054
+ };
2055
+ const next = accumulateChunk({
2056
+ chunk,
2057
+ conversation: prev,
2058
+ metadata
2059
+ });
2060
+ if ((chunk.type === "start" || chunk.type === "step-start") && chunk.payload?.messageId && runId) return next.map((message) => message.id === chunk.payload.messageId && message.role === "assistant" ? {
2061
+ ...message,
2062
+ content: {
2063
+ ...message.content,
2064
+ metadata: {
2065
+ ...message.content.metadata,
2066
+ ...metadata
2067
+ }
2068
+ }
2069
+ } : message);
2070
+ return next;
2071
+ });
2054
2072
  const streamedTasks = extractTasksFromToolResultChunk(chunk) ?? extractTasksFromSignalChunk(chunk);
2055
2073
  if (streamedTasks !== void 0) {
2056
2074
  liveTasks.current = streamedTasks;
@@ -2404,6 +2422,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2404
2422
  abortSignal: signal
2405
2423
  }).getAgent(agentId, void 0, { stream: streamPath });
2406
2424
  const runId = (0, _lukeed_uuid.v4)();
2425
+ _currentRunId.current = runId;
2407
2426
  const response = await agent.network(coreUserMessages, {
2408
2427
  model,
2409
2428
  maxSteps,
@@ -2430,7 +2449,10 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2430
2449
  setMessages((prev) => accumulateNetworkChunk({
2431
2450
  chunk,
2432
2451
  conversation: prev,
2433
- metadata: { mode: "network" }
2452
+ metadata: {
2453
+ mode: "network",
2454
+ runId
2455
+ }
2434
2456
  }));
2435
2457
  onNetworkChunk?.(chunk);
2436
2458
  } });
@@ -2608,6 +2630,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2608
2630
  const networkRunId = runId || _networkRunId.current;
2609
2631
  const continuation = _activeContinuation.current;
2610
2632
  if (!networkRunId) return console.info("[approveNetworkToolCall] approveNetworkToolCall can only be called after a network stream has started");
2633
+ _currentRunId.current = networkRunId;
2611
2634
  setIsRunning(true);
2612
2635
  setNetworkToolCallApprovals((prev) => ({
2613
2636
  ...prev,
@@ -2620,7 +2643,10 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2620
2643
  setMessages((prev) => accumulateNetworkChunk({
2621
2644
  chunk,
2622
2645
  conversation: prev,
2623
- metadata: { mode: "network" }
2646
+ metadata: {
2647
+ mode: "network",
2648
+ runId: networkRunId
2649
+ }
2624
2650
  }));
2625
2651
  onNetworkChunk?.(chunk);
2626
2652
  } });
@@ -2632,6 +2658,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2632
2658
  const networkRunId = runId || _networkRunId.current;
2633
2659
  const continuation = _activeContinuation.current;
2634
2660
  if (!networkRunId) return console.info("[declineNetworkToolCall] declineNetworkToolCall can only be called after a network stream has started");
2661
+ _currentRunId.current = networkRunId;
2635
2662
  setIsRunning(true);
2636
2663
  setNetworkToolCallApprovals((prev) => ({
2637
2664
  ...prev,
@@ -2644,7 +2671,10 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2644
2671
  setMessages((prev) => accumulateNetworkChunk({
2645
2672
  chunk,
2646
2673
  conversation: prev,
2647
- metadata: { mode: "network" }
2674
+ metadata: {
2675
+ mode: "network",
2676
+ runId: networkRunId
2677
+ }
2648
2678
  }));
2649
2679
  onNetworkChunk?.(chunk);
2650
2680
  } });
@@ -2652,6 +2682,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2652
2682
  setIsRunning(false);
2653
2683
  };
2654
2684
  const sendMessage = async ({ mode = "stream", ...args }) => {
2685
+ if (!isRunning && !isAwaitingToolApproval) _currentRunId.current = void 0;
2655
2686
  const coreUserMessages = [{
2656
2687
  role: "user",
2657
2688
  content: [{
@@ -2705,6 +2736,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2705
2736
  setMessages,
2706
2737
  sendMessage,
2707
2738
  isRunning,
2739
+ activeRunId: isRunning || isAwaitingToolApproval ? _currentRunId.current : void 0,
2708
2740
  isAwaitingToolApproval,
2709
2741
  messages,
2710
2742
  tasks,