@mastra/react 0.4.1-alpha.6 → 0.4.1-alpha.8

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.js CHANGED
@@ -478,6 +478,39 @@ var toUIMessage = ({ chunk, conversation, metadata }) => {
478
478
  }
479
479
  ];
480
480
  }
481
+ case "reasoning-start": {
482
+ const lastMessage = result[result.length - 1];
483
+ if (!lastMessage || lastMessage.role !== "assistant") {
484
+ const newMessage = {
485
+ id: `reasoning-${chunk.runId + Date.now()}`,
486
+ role: "assistant",
487
+ parts: [
488
+ {
489
+ type: "reasoning",
490
+ text: "",
491
+ state: "streaming",
492
+ providerMetadata: chunk.payload.providerMetadata
493
+ }
494
+ ],
495
+ metadata
496
+ };
497
+ return [...result, newMessage];
498
+ }
499
+ const parts = [...lastMessage.parts];
500
+ parts.push({
501
+ type: "reasoning",
502
+ text: "",
503
+ state: "streaming",
504
+ providerMetadata: chunk.payload.providerMetadata
505
+ });
506
+ return [
507
+ ...result.slice(0, -1),
508
+ {
509
+ ...lastMessage,
510
+ parts
511
+ }
512
+ ];
513
+ }
481
514
  case "reasoning-delta": {
482
515
  const lastMessage = result[result.length - 1];
483
516
  if (!lastMessage || lastMessage.role !== "assistant") {
@@ -521,6 +554,36 @@ var toUIMessage = ({ chunk, conversation, metadata }) => {
521
554
  }
522
555
  ];
523
556
  }
557
+ case "reasoning-end": {
558
+ const lastMessage = result[result.length - 1];
559
+ if (!lastMessage || lastMessage.role !== "assistant") return result;
560
+ const parts = [...lastMessage.parts];
561
+ const reasoningPartIndex = parts.findLastIndex(
562
+ (part) => part.type === "reasoning" && part.state === "streaming"
563
+ );
564
+ if (reasoningPartIndex === -1) return result;
565
+ const reasoningPart = parts[reasoningPartIndex];
566
+ if (reasoningPart.type !== "reasoning") return result;
567
+ const existingMetadata = reasoningPart.providerMetadata;
568
+ const endMetadata = chunk.payload.providerMetadata;
569
+ parts[reasoningPartIndex] = {
570
+ ...reasoningPart,
571
+ state: "done",
572
+ ...existingMetadata || endMetadata ? {
573
+ providerMetadata: {
574
+ ...existingMetadata ?? {},
575
+ ...endMetadata ?? {}
576
+ }
577
+ } : {}
578
+ };
579
+ return [
580
+ ...result.slice(0, -1),
581
+ {
582
+ ...lastMessage,
583
+ parts
584
+ }
585
+ ];
586
+ }
524
587
  case "tool-call": {
525
588
  const lastMessage = result[result.length - 1];
526
589
  if (!lastMessage || lastMessage.role !== "assistant") {
@@ -1971,6 +2034,7 @@ var useChat = ({
1971
2034
  threadId,
1972
2035
  initialMessages,
1973
2036
  requestContext: propsRequestContext,
2037
+ clientTools: hookClientTools,
1974
2038
  onSignalSent,
1975
2039
  onSignalEcho,
1976
2040
  onThreadSignalsUnsupported,
@@ -2164,6 +2228,7 @@ var useChat = ({
2164
2228
  requireToolApproval
2165
2229
  } = modelSettings || {};
2166
2230
  const resolvedRequestContext = requestContext ?? propsRequestContext;
2231
+ const resolvedClientTools = clientTools ?? hookClientTools;
2167
2232
  _requestContext.current = resolvedRequestContext;
2168
2233
  setIsRunning(true);
2169
2234
  const clientWithAbort = new MastraClient({
@@ -2191,7 +2256,7 @@ var useChat = ({
2191
2256
  providerOptions,
2192
2257
  tracingOptions,
2193
2258
  requireToolApproval,
2194
- clientTools
2259
+ clientTools: resolvedClientTools
2195
2260
  });
2196
2261
  if (response.finishReason === "suspended" && response.suspendPayload) {
2197
2262
  const { toolCallId, toolName, args } = response.suspendPayload;
@@ -2251,6 +2316,23 @@ var useChat = ({
2251
2316
  requireToolApproval
2252
2317
  } = modelSettings || {};
2253
2318
  const resolvedRequestContext = requestContext ?? propsRequestContext;
2319
+ const resolvedClientTools = clientTools ?? hookClientTools;
2320
+ const signalContinuationOptions = {
2321
+ maxSteps,
2322
+ modelSettings: {
2323
+ frequencyPenalty,
2324
+ presencePenalty,
2325
+ maxRetries,
2326
+ maxOutputTokens: maxTokens,
2327
+ temperature,
2328
+ topK,
2329
+ topP
2330
+ },
2331
+ instructions,
2332
+ providerOptions,
2333
+ requireToolApproval,
2334
+ tracingOptions
2335
+ };
2254
2336
  _requestContext.current = resolvedRequestContext;
2255
2337
  setIsRunning(true);
2256
2338
  _streamAbortRef.current?.abort();
@@ -2285,7 +2367,7 @@ var useChat = ({
2285
2367
  providerOptions,
2286
2368
  requireToolApproval,
2287
2369
  tracingOptions,
2288
- clientTools
2370
+ clientTools: resolvedClientTools
2289
2371
  });
2290
2372
  _onChunk.current = onChunk;
2291
2373
  _currentRunId.current = runId;
@@ -2320,21 +2402,9 @@ var useChat = ({
2320
2402
  threadId: threadId2,
2321
2403
  ifIdle: {
2322
2404
  streamOptions: {
2323
- maxSteps,
2324
- modelSettings: {
2325
- frequencyPenalty,
2326
- presencePenalty,
2327
- maxRetries,
2328
- maxOutputTokens: maxTokens,
2329
- temperature,
2330
- topK,
2331
- topP
2332
- },
2333
- instructions,
2405
+ ...signalContinuationOptions,
2334
2406
  requestContext: resolvedRequestContext,
2335
- providerOptions,
2336
- requireToolApproval,
2337
- tracingOptions
2407
+ clientTools: resolvedClientTools
2338
2408
  }
2339
2409
  }
2340
2410
  });