@mastra/react 1.4.13-alpha.1 → 1.5.0-alpha.4

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.
@@ -3,7 +3,7 @@ import type { CoreUserMessage } from '@mastra/core/llm';
3
3
  import type { TracingOptions } from '@mastra/core/observability';
4
4
  import type { RequestContext } from '@mastra/core/request-context';
5
5
  import type { ChunkType, NetworkChunkType } from '@mastra/core/stream';
6
- import type { ClientToolsInput, ModelSettings } from './types.js';
6
+ import type { ClientToolsInput, ClientToolsResolver, ModelSettings } from './types.js';
7
7
  export interface MastraChatProps {
8
8
  agentId: string;
9
9
  resourceId?: string;
@@ -25,6 +25,8 @@ export interface MastraChatProps {
25
25
  * Defaults to `false`; set to `true` to opt into thread signals.
26
26
  */
27
27
  enableThreadSignals?: boolean;
28
+ /** Override the legacy stream route for editor-owned hidden agents. */
29
+ streamPath?: string;
28
30
  }
29
31
  interface SharedArgs {
30
32
  coreUserMessages: CoreUserMessage[];
@@ -50,10 +52,12 @@ export type SendMessageArgs = {
50
52
  export type GenerateArgs = SharedArgs & {
51
53
  onFinish?: (messages: MastraDBMessage[]) => Promise<void>;
52
54
  clientTools?: ClientToolsInput;
55
+ clientToolsResolver?: ClientToolsResolver;
53
56
  };
54
57
  export type StreamArgs = SharedArgs & {
55
58
  onChunk?: (chunk: ChunkType) => Promise<void>;
56
59
  clientTools?: ClientToolsInput;
60
+ clientToolsResolver?: ClientToolsResolver;
57
61
  signalId?: string;
58
62
  /**
59
63
  * Client-generated correlation id stamped on the optimistic pending bubble
@@ -64,7 +68,7 @@ export type StreamArgs = SharedArgs & {
64
68
  export type NetworkArgs = SharedArgs & {
65
69
  onNetworkChunk?: (chunk: NetworkChunkType) => Promise<void>;
66
70
  };
67
- export declare const useChat: ({ agentId, resourceId, threadId, initialMessages, requestContext: propsRequestContext, clientTools: hookClientTools, onSignalSent, onSignalEcho, onThreadSignalsUnsupported, enableThreadSignals, }: MastraChatProps) => {
71
+ export declare const useChat: ({ agentId, resourceId, threadId, initialMessages, requestContext: propsRequestContext, clientTools: hookClientTools, onSignalSent, onSignalEcho, onThreadSignalsUnsupported, enableThreadSignals, streamPath, }: MastraChatProps) => {
68
72
  setMessages: import("react").Dispatch<import("react").SetStateAction<MastraDBMessage[]>>;
69
73
  sendMessage: ({ mode, ...args }: SendMessageArgs) => Promise<void>;
70
74
  isRunning: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/agent/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/agent/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { GenerateLegacyParams } from '@mastra/client-js';
2
2
  import type { ToolsInput } from '@mastra/core/agent';
3
3
  export type ClientToolsInput = ToolsInput;
4
+ export type ClientToolsResolver = () => ClientToolsInput | undefined;
4
5
  export type ProviderOptionsInput = GenerateLegacyParams['providerOptions'];
5
6
  export interface ModelSettings {
6
7
  frequencyPenalty?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAC1C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_ui = require("./ui-DL8WaLmH.cjs");
2
+ const require_ui = require("./ui-C979LXC_.cjs");
3
3
  let _mastra_client_js = require("@mastra/client-js");
4
4
  let react = require("react");
5
5
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -1909,7 +1909,7 @@ const dbFromServerUiMessages = (uiMessages, metadata) => uiMessages.map((uiMsg)
1909
1909
  }
1910
1910
  };
1911
1911
  });
1912
- const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContext: propsRequestContext, clientTools: hookClientTools, onSignalSent, onSignalEcho, onThreadSignalsUnsupported, enableThreadSignals = false }) => {
1912
+ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContext: propsRequestContext, clientTools: hookClientTools, onSignalSent, onSignalEcho, onThreadSignalsUnsupported, enableThreadSignals = false, streamPath }) => {
1913
1913
  const threadSignalsDisabled = enableThreadSignals === false;
1914
1914
  const _currentRunId = (0, react.useRef)(void 0);
1915
1915
  const _onChunk = (0, react.useRef)(void 0);
@@ -2085,7 +2085,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2085
2085
  (onChunk ?? _onChunk.current)?.(chunk);
2086
2086
  }, [onSignalEcho]);
2087
2087
  const ensureThreadSubscription = (0, react.useCallback)(async ({ threadId, resourceId }) => {
2088
- const subscriptionKey = `${agentId}:${resourceId ?? ""}:${threadId}`;
2088
+ const subscriptionKey = `${agentId}:${resourceId ?? ""}:${threadId}:${streamPath ?? ""}`;
2089
2089
  if (_threadSubscriptionKeyRef.current === subscriptionKey && _threadSubscriptionPromiseRef.current) {
2090
2090
  await _threadSubscriptionPromiseRef.current;
2091
2091
  return;
@@ -2104,7 +2104,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2104
2104
  const subscriptionAgent = new _mastra_client_js.MastraClient({
2105
2105
  ...baseClient.options,
2106
2106
  abortSignal: subscriptionAbort.signal
2107
- }).getAgent(agentId);
2107
+ }).getAgent(agentId, void 0, { stream: streamPath });
2108
2108
  _threadSubscriptionPromiseRef.current = subscriptionAgent.subscribeToThread({
2109
2109
  resourceId,
2110
2110
  threadId
@@ -2142,7 +2142,8 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2142
2142
  baseClient,
2143
2143
  closeThreadSubscription,
2144
2144
  markThreadSignalsUnsupported,
2145
- processStreamChunk
2145
+ processStreamChunk,
2146
+ streamPath
2146
2147
  ]);
2147
2148
  (0, react.useEffect)(() => {
2148
2149
  _threadSignalsUnsupportedRef.current = false;
@@ -2172,7 +2173,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2172
2173
  threadId,
2173
2174
  threadSignalsDisabled
2174
2175
  ]);
2175
- const generate = async ({ coreUserMessages, model, requestContext, threadId, modelSettings, signal, onFinish, tracingOptions, clientTools }) => {
2176
+ const generate = async ({ coreUserMessages, model, requestContext, threadId, modelSettings, signal, onFinish, tracingOptions, clientTools, clientToolsResolver }) => {
2176
2177
  const { frequencyPenalty, presencePenalty, maxRetries, maxTokens, temperature, topK, topP, instructions, system, providerOptions, maxSteps, requireToolApproval } = modelSettings || {};
2177
2178
  const resolvedRequestContext = requestContext ?? propsRequestContext;
2178
2179
  const resolvedClientTools = clientTools ?? hookClientTools;
@@ -2184,7 +2185,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2184
2185
  const agent = new _mastra_client_js.MastraClient({
2185
2186
  ...baseClient.options,
2186
2187
  abortSignal: signal
2187
- }).getAgent(agentId);
2188
+ }).getAgent(agentId, void 0, { stream: streamPath });
2188
2189
  const runId = (0, _lukeed_uuid.v4)();
2189
2190
  _currentRunId.current = runId;
2190
2191
  const response = await agent.generate(coreUserMessages, {
@@ -2210,7 +2211,8 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2210
2211
  providerOptions,
2211
2212
  tracingOptions,
2212
2213
  requireToolApproval,
2213
- clientTools: resolvedClientTools
2214
+ clientTools: resolvedClientTools,
2215
+ clientToolsResolver
2214
2216
  });
2215
2217
  if (response.finishReason === "suspended" && response.suspendPayload) {
2216
2218
  const { toolCallId, toolName, args } = response.suspendPayload;
@@ -2235,7 +2237,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2235
2237
  setMessages((prev) => [...prev, ...dbMessages]);
2236
2238
  }
2237
2239
  };
2238
- const stream = async ({ coreUserMessages, model, requestContext, threadId, onChunk, modelSettings, signal, tracingOptions, clientTools, signalId, clientMessageId }) => {
2240
+ const stream = async ({ coreUserMessages, model, requestContext, threadId, onChunk, modelSettings, signal, tracingOptions, clientTools, clientToolsResolver, signalId, clientMessageId }) => {
2239
2241
  const { frequencyPenalty, presencePenalty, maxRetries, maxTokens, temperature, topK, topP, instructions, system, providerOptions, maxSteps, requireToolApproval } = modelSettings || {};
2240
2242
  const resolvedRequestContext = requestContext ?? propsRequestContext;
2241
2243
  const resolvedClientTools = clientTools ?? hookClientTools;
@@ -2270,7 +2272,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2270
2272
  const agent = new _mastra_client_js.MastraClient({
2271
2273
  ...baseClient.options,
2272
2274
  abortSignal: internalAbort.signal
2273
- }).getAgent(agentId);
2275
+ }).getAgent(agentId, void 0, { stream: streamPath });
2274
2276
  const streamWithLegacyRoute = async () => {
2275
2277
  const runId = (0, _lukeed_uuid.v4)();
2276
2278
  const response = await agent.stream(coreUserMessages, {
@@ -2297,7 +2299,8 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2297
2299
  providerOptions,
2298
2300
  requireToolApproval,
2299
2301
  tracingOptions,
2300
- clientTools: resolvedClientTools
2302
+ clientTools: resolvedClientTools,
2303
+ clientToolsResolver
2301
2304
  });
2302
2305
  _onChunk.current = onChunk;
2303
2306
  _currentRunId.current = runId;
@@ -2338,7 +2341,9 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2338
2341
  requestContext: requestContextRecord,
2339
2342
  providerOptions,
2340
2343
  requireToolApproval,
2341
- tracingOptions
2344
+ tracingOptions,
2345
+ clientTools: resolvedClientTools,
2346
+ clientToolsResolver
2342
2347
  };
2343
2348
  try {
2344
2349
  const result = await agent.sendMessage({
@@ -2351,7 +2356,8 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2351
2356
  ifIdle: { streamOptions: {
2352
2357
  ...signalContinuationOptions,
2353
2358
  requestContext: requestContextRecord,
2354
- clientTools: resolvedClientTools
2359
+ clientTools: resolvedClientTools,
2360
+ clientToolsResolver
2355
2361
  } }
2356
2362
  });
2357
2363
  const echoedSignalId = result.signal && typeof result.signal === "object" && "id" in result.signal && typeof result.signal.id === "string" ? result.signal.id : resolvedSignalId;
@@ -2396,7 +2402,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2396
2402
  const agent = new _mastra_client_js.MastraClient({
2397
2403
  ...baseClient.options,
2398
2404
  abortSignal: signal
2399
- }).getAgent(agentId);
2405
+ }).getAgent(agentId, void 0, { stream: streamPath });
2400
2406
  const runId = (0, _lukeed_uuid.v4)();
2401
2407
  const response = await agent.network(coreUserMessages, {
2402
2408
  model,
@@ -2460,7 +2466,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2460
2466
  ...prev,
2461
2467
  [toolCallId]: { status: "approved" }
2462
2468
  }));
2463
- const agent = baseClient.getAgent(agentId);
2469
+ const agent = baseClient.getAgent(agentId, void 0, { stream: streamPath });
2464
2470
  if (_threadSubscriptionKeyRef.current && threadId) {
2465
2471
  try {
2466
2472
  await agent.sendToolApproval({
@@ -2521,7 +2527,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2521
2527
  ...prev,
2522
2528
  [toolCallId]: { status: "declined" }
2523
2529
  }));
2524
- const agent = baseClient.getAgent(agentId);
2530
+ const agent = baseClient.getAgent(agentId, void 0, { stream: streamPath });
2525
2531
  if (_threadSubscriptionKeyRef.current && threadId) {
2526
2532
  try {
2527
2533
  await agent.sendToolApproval({
@@ -2566,7 +2572,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2566
2572
  ...prev,
2567
2573
  [toolCallId]: { status: "approved" }
2568
2574
  }));
2569
- const response = await baseClient.getAgent(agentId).approveToolCallGenerate({
2575
+ const response = await baseClient.getAgent(agentId, void 0, { stream: streamPath }).approveToolCallGenerate({
2570
2576
  runId: currentRunId,
2571
2577
  toolCallId,
2572
2578
  ...continuation
@@ -2586,7 +2592,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2586
2592
  ...prev,
2587
2593
  [toolCallId]: { status: "declined" }
2588
2594
  }));
2589
- const response = await baseClient.getAgent(agentId).declineToolCallGenerate({
2595
+ const response = await baseClient.getAgent(agentId, void 0, { stream: streamPath }).declineToolCallGenerate({
2590
2596
  runId: currentRunId,
2591
2597
  toolCallId,
2592
2598
  ...continuation
@@ -2607,7 +2613,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2607
2613
  ...prev,
2608
2614
  [runId ? `${runId}-${toolName}` : toolName]: { status: "approved" }
2609
2615
  }));
2610
- await (await baseClient.getAgent(agentId).approveNetworkToolCall({
2616
+ await (await baseClient.getAgent(agentId, void 0, { stream: streamPath }).approveNetworkToolCall({
2611
2617
  runId: networkRunId,
2612
2618
  ...continuation
2613
2619
  })).processDataStream({ onChunk: async (chunk) => {
@@ -2631,7 +2637,7 @@ const useChat = ({ agentId, resourceId, threadId, initialMessages, requestContex
2631
2637
  ...prev,
2632
2638
  [runId ? `${runId}-${toolName}` : toolName]: { status: "declined" }
2633
2639
  }));
2634
- await (await baseClient.getAgent(agentId).declineNetworkToolCall({
2640
+ await (await baseClient.getAgent(agentId, void 0, { stream: streamPath }).declineNetworkToolCall({
2635
2641
  runId: networkRunId,
2636
2642
  ...continuation
2637
2643
  })).processDataStream({ onChunk: async (chunk) => {