@mastra/client-js 0.1.22-alpha.1 → 0.1.22-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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @mastra/client-js@0.1.22-alpha.1 build /home/runner/work/mastra/mastra/client-sdks/client-js
2
+ > @mastra/client-js@0.1.22-alpha.2 build /home/runner/work/mastra/mastra/client-sdks/client-js
3
3
  > tsup src/index.ts --format esm,cjs --dts --clean --treeshake=smallest --splitting
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -9,11 +9,11 @@
9
9
  CLI Cleaning output folder
10
10
  ESM Build start
11
11
  CJS Build start
12
- DTS Build start
13
- CJS dist/index.cjs 38.24 KB
14
- CJS ⚡️ Build success in 1623ms
12
+ CJS dist/index.cjs 38.29 KB
13
+ CJS ⚡️ Build success in 1652ms
15
14
  ESM dist/index.js 38.02 KB
16
- ESM ⚡️ Build success in 1628ms
17
- DTS ⚡️ Build success in 14543ms
15
+ ESM ⚡️ Build success in 1653ms
16
+ DTS Build start
17
+ DTS ⚡️ Build success in 14977ms
18
18
  DTS dist/index.d.ts 27.18 KB
19
19
  DTS dist/index.d.cts 27.18 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @mastra/client-js
2
2
 
3
+ ## 0.1.22-alpha.2
4
+
5
+ ### Patch Changes
6
+
7
+ - b4c6c87: fix: Specify $refStrategy: 'none' when calling zodToJsonSchema.
8
+ - c2b980b: Fix multiple too-calls in AGUI
9
+ - Updated dependencies [3171b5b]
10
+ - Updated dependencies [973e5ac]
11
+ - Updated dependencies [9e1eff5]
12
+ - @mastra/core@0.9.4-alpha.2
13
+
3
14
  ## 0.1.22-alpha.1
4
15
 
5
16
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -4,7 +4,11 @@ var client = require('@ag-ui/client');
4
4
  var rxjs = require('rxjs');
5
5
  var uiUtils = require('@ai-sdk/ui-utils');
6
6
  var zod = require('zod');
7
- var zodToJsonSchema = require('zod-to-json-schema');
7
+ var originalZodToJsonSchema = require('zod-to-json-schema');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var originalZodToJsonSchema__default = /*#__PURE__*/_interopDefault(originalZodToJsonSchema);
8
12
 
9
13
  // src/adapters/agui.ts
10
14
  var AGUIAdapter = class extends client.AbstractAgent {
@@ -159,6 +163,17 @@ function convertMessagesToMastraMessages(messages) {
159
163
  role: "assistant",
160
164
  content: parts
161
165
  });
166
+ if (message.toolCalls?.length) {
167
+ result.push({
168
+ role: "tool",
169
+ content: message.toolCalls.map((toolCall) => ({
170
+ type: "tool-result",
171
+ toolCallId: toolCall.id,
172
+ toolName: toolCall.function.name,
173
+ result: JSON.parse(toolCall.function.arguments)
174
+ }))
175
+ });
176
+ }
162
177
  } else if (message.role === "user") {
163
178
  result.push({
164
179
  role: "user",
@@ -180,6 +195,12 @@ function convertMessagesToMastraMessages(messages) {
180
195
  }
181
196
  return result;
182
197
  }
198
+ function zodToJsonSchema(zodSchema) {
199
+ if (!(zodSchema instanceof zod.ZodSchema)) {
200
+ return zodSchema;
201
+ }
202
+ return originalZodToJsonSchema__default.default(zodSchema, { $refStrategy: "none" });
203
+ }
183
204
 
184
205
  // src/resources/base.ts
185
206
  var BaseResource = class {
@@ -310,8 +331,8 @@ var Agent = class extends BaseResource {
310
331
  generate(params) {
311
332
  const processedParams = {
312
333
  ...params,
313
- output: params.output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.output) : params.output,
314
- experimental_output: params.experimental_output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.experimental_output) : params.experimental_output,
334
+ output: zodToJsonSchema(params.output),
335
+ experimental_output: zodToJsonSchema(params.experimental_output),
315
336
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : void 0
316
337
  };
317
338
  return this.request(`/api/agents/${this.agentId}/generate`, {
@@ -327,8 +348,8 @@ var Agent = class extends BaseResource {
327
348
  async stream(params) {
328
349
  const processedParams = {
329
350
  ...params,
330
- output: params.output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.output) : params.output,
331
- experimental_output: params.experimental_output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.experimental_output) : params.experimental_output,
351
+ output: zodToJsonSchema(params.output),
352
+ experimental_output: zodToJsonSchema(params.experimental_output),
332
353
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : void 0
333
354
  };
334
355
  const response = await this.request(`/api/agents/${this.agentId}/stream`, {
@@ -406,8 +427,8 @@ var Network = class extends BaseResource {
406
427
  generate(params) {
407
428
  const processedParams = {
408
429
  ...params,
409
- output: params.output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.output) : params.output,
410
- experimental_output: params.experimental_output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.experimental_output) : params.experimental_output
430
+ output: zodToJsonSchema(params.output),
431
+ experimental_output: zodToJsonSchema(params.experimental_output)
411
432
  };
412
433
  return this.request(`/api/networks/${this.networkId}/generate`, {
413
434
  method: "POST",
@@ -422,8 +443,8 @@ var Network = class extends BaseResource {
422
443
  async stream(params) {
423
444
  const processedParams = {
424
445
  ...params,
425
- output: params.output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.output) : params.output,
426
- experimental_output: params.experimental_output instanceof zod.ZodSchema ? zodToJsonSchema.zodToJsonSchema(params.experimental_output) : params.experimental_output
446
+ output: zodToJsonSchema(params.output),
447
+ experimental_output: zodToJsonSchema(params.experimental_output)
427
448
  };
428
449
  const response = await this.request(`/api/networks/${this.networkId}/stream`, {
429
450
  method: "POST",
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { AbstractAgent, EventType } from '@ag-ui/client';
2
2
  import { Observable } from 'rxjs';
3
3
  import { processDataStream } from '@ai-sdk/ui-utils';
4
4
  import { ZodSchema } from 'zod';
5
- import { zodToJsonSchema } from 'zod-to-json-schema';
5
+ import originalZodToJsonSchema from 'zod-to-json-schema';
6
6
 
7
7
  // src/adapters/agui.ts
8
8
  var AGUIAdapter = class extends AbstractAgent {
@@ -157,6 +157,17 @@ function convertMessagesToMastraMessages(messages) {
157
157
  role: "assistant",
158
158
  content: parts
159
159
  });
160
+ if (message.toolCalls?.length) {
161
+ result.push({
162
+ role: "tool",
163
+ content: message.toolCalls.map((toolCall) => ({
164
+ type: "tool-result",
165
+ toolCallId: toolCall.id,
166
+ toolName: toolCall.function.name,
167
+ result: JSON.parse(toolCall.function.arguments)
168
+ }))
169
+ });
170
+ }
160
171
  } else if (message.role === "user") {
161
172
  result.push({
162
173
  role: "user",
@@ -178,6 +189,12 @@ function convertMessagesToMastraMessages(messages) {
178
189
  }
179
190
  return result;
180
191
  }
192
+ function zodToJsonSchema(zodSchema) {
193
+ if (!(zodSchema instanceof ZodSchema)) {
194
+ return zodSchema;
195
+ }
196
+ return originalZodToJsonSchema(zodSchema, { $refStrategy: "none" });
197
+ }
181
198
 
182
199
  // src/resources/base.ts
183
200
  var BaseResource = class {
@@ -308,8 +325,8 @@ var Agent = class extends BaseResource {
308
325
  generate(params) {
309
326
  const processedParams = {
310
327
  ...params,
311
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
312
- experimental_output: params.experimental_output instanceof ZodSchema ? zodToJsonSchema(params.experimental_output) : params.experimental_output,
328
+ output: zodToJsonSchema(params.output),
329
+ experimental_output: zodToJsonSchema(params.experimental_output),
313
330
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : void 0
314
331
  };
315
332
  return this.request(`/api/agents/${this.agentId}/generate`, {
@@ -325,8 +342,8 @@ var Agent = class extends BaseResource {
325
342
  async stream(params) {
326
343
  const processedParams = {
327
344
  ...params,
328
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
329
- experimental_output: params.experimental_output instanceof ZodSchema ? zodToJsonSchema(params.experimental_output) : params.experimental_output,
345
+ output: zodToJsonSchema(params.output),
346
+ experimental_output: zodToJsonSchema(params.experimental_output),
330
347
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : void 0
331
348
  };
332
349
  const response = await this.request(`/api/agents/${this.agentId}/stream`, {
@@ -404,8 +421,8 @@ var Network = class extends BaseResource {
404
421
  generate(params) {
405
422
  const processedParams = {
406
423
  ...params,
407
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
408
- experimental_output: params.experimental_output instanceof ZodSchema ? zodToJsonSchema(params.experimental_output) : params.experimental_output
424
+ output: zodToJsonSchema(params.output),
425
+ experimental_output: zodToJsonSchema(params.experimental_output)
409
426
  };
410
427
  return this.request(`/api/networks/${this.networkId}/generate`, {
411
428
  method: "POST",
@@ -420,8 +437,8 @@ var Network = class extends BaseResource {
420
437
  async stream(params) {
421
438
  const processedParams = {
422
439
  ...params,
423
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
424
- experimental_output: params.experimental_output instanceof ZodSchema ? zodToJsonSchema(params.experimental_output) : params.experimental_output
440
+ output: zodToJsonSchema(params.output),
441
+ experimental_output: zodToJsonSchema(params.experimental_output)
425
442
  };
426
443
  const response = await this.request(`/api/networks/${this.networkId}/stream`, {
427
444
  method: "POST",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/client-js",
3
- "version": "0.1.22-alpha.1",
3
+ "version": "0.1.22-alpha.2",
4
4
  "description": "The official TypeScript library for the Mastra Client API",
5
5
  "author": "",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  "rxjs": "7.8.1",
29
29
  "zod": "^3.24.3",
30
30
  "zod-to-json-schema": "^3.24.5",
31
- "@mastra/core": "^0.9.4-alpha.1"
31
+ "@mastra/core": "^0.9.4-alpha.2"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "zod": "^3.0.0"
@@ -91,6 +91,17 @@ describe('convertMessagesToMastraMessages', () => {
91
91
  },
92
92
  ],
93
93
  },
94
+ {
95
+ role: 'tool',
96
+ content: [
97
+ {
98
+ type: 'tool-result',
99
+ toolCallId: 'tool-call-1',
100
+ toolName: 'getWeather',
101
+ result: { location: 'San Francisco' },
102
+ },
103
+ ],
104
+ },
94
105
  ]);
95
106
  });
96
107
 
@@ -143,12 +154,6 @@ describe('convertMessagesToMastraMessages', () => {
143
154
  },
144
155
  ],
145
156
  },
146
- {
147
- id: '3',
148
- role: 'tool',
149
- toolCallId: 'tool-call-1',
150
- content: '{"temperature":72,"unit":"F"}',
151
- },
152
157
  {
153
158
  id: '4',
154
159
  role: 'assistant',
@@ -162,6 +167,14 @@ describe('convertMessagesToMastraMessages', () => {
162
167
  expect(result[0].role).toBe('user');
163
168
  expect(result[1].role).toBe('assistant');
164
169
  expect(result[2].role).toBe('tool');
170
+ expect(result[2].content).toEqual([
171
+ {
172
+ type: 'tool-result',
173
+ toolCallId: 'tool-call-1',
174
+ toolName: 'getWeather',
175
+ result: { location: 'San Francisco' },
176
+ },
177
+ ]);
165
178
  expect(result[3].role).toBe('assistant');
166
179
  });
167
180
  });
@@ -1,19 +1,19 @@
1
1
  // Cross-platform UUID generation function
2
- import { AbstractAgent, EventType } from '@ag-ui/client';
3
2
  import type {
3
+ AgentConfig,
4
4
  BaseEvent,
5
+ Message,
5
6
  RunAgentInput,
6
- AgentConfig,
7
- RunStartedEvent,
8
7
  RunFinishedEvent,
9
- TextMessageStartEvent,
8
+ RunStartedEvent,
10
9
  TextMessageContentEvent,
11
10
  TextMessageEndEvent,
12
- Message,
13
- ToolCallStartEvent,
11
+ TextMessageStartEvent,
14
12
  ToolCallArgsEvent,
15
13
  ToolCallEndEvent,
14
+ ToolCallStartEvent,
16
15
  } from '@ag-ui/client';
16
+ import { AbstractAgent, EventType } from '@ag-ui/client';
17
17
  import type { CoreMessage } from '@mastra/core';
18
18
  import { Observable } from 'rxjs';
19
19
  import type { Agent } from '../resources/agent';
@@ -39,7 +39,6 @@ export class AGUIAdapter extends AbstractAgent {
39
39
  protected run(input: RunAgentInput): Observable<BaseEvent> {
40
40
  return new Observable<BaseEvent>(subscriber => {
41
41
  const convertedMessages = convertMessagesToMastraMessages(input.messages);
42
-
43
42
  subscriber.next({
44
43
  type: EventType.RUN_STARTED,
45
44
  threadId: input.threadId,
@@ -205,6 +204,17 @@ export function convertMessagesToMastraMessages(messages: Message[]): CoreMessag
205
204
  role: 'assistant',
206
205
  content: parts,
207
206
  });
207
+ if (message.toolCalls?.length) {
208
+ result.push({
209
+ role: 'tool',
210
+ content: message.toolCalls.map(toolCall => ({
211
+ type: 'tool-result',
212
+ toolCallId: toolCall.id,
213
+ toolName: toolCall.function.name,
214
+ result: JSON.parse(toolCall.function.arguments),
215
+ })),
216
+ });
217
+ }
208
218
  } else if (message.role === 'user') {
209
219
  result.push({
210
220
  role: 'user',
@@ -2,7 +2,7 @@ import { processDataStream } from '@ai-sdk/ui-utils';
2
2
  import type { GenerateReturn } from '@mastra/core';
3
3
  import type { JSONSchema7 } from 'json-schema';
4
4
  import { ZodSchema } from 'zod';
5
- import { zodToJsonSchema } from 'zod-to-json-schema';
5
+ import { zodToJsonSchema } from '../utils/zod-to-json-schema';
6
6
 
7
7
  import type {
8
8
  GenerateParams,
@@ -100,11 +100,8 @@ export class Agent extends BaseResource {
100
100
  ): Promise<GenerateReturn<T>> {
101
101
  const processedParams = {
102
102
  ...params,
103
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
104
- experimental_output:
105
- params.experimental_output instanceof ZodSchema
106
- ? zodToJsonSchema(params.experimental_output)
107
- : params.experimental_output,
103
+ output: zodToJsonSchema(params.output),
104
+ experimental_output: zodToJsonSchema(params.experimental_output),
108
105
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : undefined,
109
106
  };
110
107
 
@@ -128,11 +125,8 @@ export class Agent extends BaseResource {
128
125
  > {
129
126
  const processedParams = {
130
127
  ...params,
131
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
132
- experimental_output:
133
- params.experimental_output instanceof ZodSchema
134
- ? zodToJsonSchema(params.experimental_output)
135
- : params.experimental_output,
128
+ output: zodToJsonSchema(params.output),
129
+ experimental_output: zodToJsonSchema(params.experimental_output),
136
130
  runtimeContext: params.runtimeContext ? Object.fromEntries(params.runtimeContext.entries()) : undefined,
137
131
  };
138
132
 
@@ -2,7 +2,7 @@ import { processDataStream } from '@ai-sdk/ui-utils';
2
2
  import type { GenerateReturn } from '@mastra/core';
3
3
  import type { JSONSchema7 } from 'json-schema';
4
4
  import { ZodSchema } from 'zod';
5
- import { zodToJsonSchema } from 'zod-to-json-schema';
5
+ import { zodToJsonSchema } from '../utils/zod-to-json-schema';
6
6
 
7
7
  import type { GenerateParams, ClientOptions, StreamParams, GetNetworkResponse } from '../types';
8
8
 
@@ -34,11 +34,8 @@ export class Network extends BaseResource {
34
34
  ): Promise<GenerateReturn<T>> {
35
35
  const processedParams = {
36
36
  ...params,
37
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
38
- experimental_output:
39
- params.experimental_output instanceof ZodSchema
40
- ? zodToJsonSchema(params.experimental_output)
41
- : params.experimental_output,
37
+ output: zodToJsonSchema(params.output),
38
+ experimental_output: zodToJsonSchema(params.experimental_output),
42
39
  };
43
40
 
44
41
  return this.request(`/api/networks/${this.networkId}/generate`, {
@@ -61,11 +58,8 @@ export class Network extends BaseResource {
61
58
  > {
62
59
  const processedParams = {
63
60
  ...params,
64
- output: params.output instanceof ZodSchema ? zodToJsonSchema(params.output) : params.output,
65
- experimental_output:
66
- params.experimental_output instanceof ZodSchema
67
- ? zodToJsonSchema(params.experimental_output)
68
- : params.experimental_output,
61
+ output: zodToJsonSchema(params.output),
62
+ experimental_output: zodToJsonSchema(params.experimental_output),
69
63
  };
70
64
 
71
65
  const response: Response & {
@@ -0,0 +1,10 @@
1
+ import { ZodSchema } from 'zod';
2
+ import originalZodToJsonSchema from 'zod-to-json-schema';
3
+
4
+ export function zodToJsonSchema<T extends ZodSchema | any>(zodSchema: T) {
5
+ if (!(zodSchema instanceof ZodSchema)) {
6
+ return zodSchema;
7
+ }
8
+
9
+ return originalZodToJsonSchema(zodSchema, { $refStrategy: 'none' });
10
+ }