@mastra/client-js 0.0.0-scorers-api-v2-20250801171841 → 0.0.0-scorers-ui-refactored-20250916094952

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 (89) hide show
  1. package/CHANGELOG.md +671 -3
  2. package/README.md +5 -3
  3. package/dist/client.d.ts +30 -11
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/index.cjs +1459 -413
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.ts +3 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1459 -415
  10. package/dist/index.js.map +1 -1
  11. package/dist/resources/a2a.d.ts +15 -18
  12. package/dist/resources/a2a.d.ts.map +1 -1
  13. package/dist/resources/agent-builder.d.ts +161 -0
  14. package/dist/resources/agent-builder.d.ts.map +1 -0
  15. package/dist/resources/agent.d.ts +78 -15
  16. package/dist/resources/agent.d.ts.map +1 -1
  17. package/dist/resources/base.d.ts +1 -1
  18. package/dist/resources/base.d.ts.map +1 -1
  19. package/dist/resources/index.d.ts +12 -10
  20. package/dist/resources/index.d.ts.map +1 -1
  21. package/dist/resources/legacy-workflow.d.ts +7 -4
  22. package/dist/resources/legacy-workflow.d.ts.map +1 -1
  23. package/dist/resources/mcp-tool.d.ts +4 -3
  24. package/dist/resources/mcp-tool.d.ts.map +1 -1
  25. package/dist/resources/memory-thread.d.ts +3 -3
  26. package/dist/resources/memory-thread.d.ts.map +1 -1
  27. package/dist/resources/network-memory-thread.d.ts +3 -3
  28. package/dist/resources/network-memory-thread.d.ts.map +1 -1
  29. package/dist/resources/network.d.ts +6 -4
  30. package/dist/resources/network.d.ts.map +1 -1
  31. package/dist/resources/observability.d.ts +19 -0
  32. package/dist/resources/observability.d.ts.map +1 -0
  33. package/dist/resources/tool.d.ts +4 -3
  34. package/dist/resources/tool.d.ts.map +1 -1
  35. package/dist/resources/vNextNetwork.d.ts +5 -4
  36. package/dist/resources/vNextNetwork.d.ts.map +1 -1
  37. package/dist/resources/vector.d.ts +7 -4
  38. package/dist/resources/vector.d.ts.map +1 -1
  39. package/dist/resources/workflow.d.ts +80 -6
  40. package/dist/resources/workflow.d.ts.map +1 -1
  41. package/dist/tools.d.ts +22 -0
  42. package/dist/tools.d.ts.map +1 -0
  43. package/dist/types.d.ts +49 -2
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/utils/index.d.ts +2 -0
  46. package/dist/utils/index.d.ts.map +1 -1
  47. package/dist/utils/process-client-tools.d.ts.map +1 -1
  48. package/dist/utils/process-mastra-stream.d.ts +11 -0
  49. package/dist/utils/process-mastra-stream.d.ts.map +1 -0
  50. package/dist/utils/zod-to-json-schema.d.ts +2 -104
  51. package/dist/utils/zod-to-json-schema.d.ts.map +1 -1
  52. package/package.json +25 -16
  53. package/dist/adapters/agui.d.ts +0 -23
  54. package/dist/adapters/agui.d.ts.map +0 -1
  55. package/eslint.config.js +0 -6
  56. package/integration-tests/agui-adapter.test.ts +0 -122
  57. package/integration-tests/package.json +0 -18
  58. package/integration-tests/src/mastra/index.ts +0 -35
  59. package/integration-tests/vitest.config.ts +0 -9
  60. package/src/adapters/agui.test.ts +0 -322
  61. package/src/adapters/agui.ts +0 -239
  62. package/src/client.ts +0 -623
  63. package/src/example.ts +0 -95
  64. package/src/index.test.ts +0 -1226
  65. package/src/index.ts +0 -3
  66. package/src/resources/a2a.ts +0 -88
  67. package/src/resources/agent.ts +0 -785
  68. package/src/resources/base.ts +0 -76
  69. package/src/resources/index.ts +0 -10
  70. package/src/resources/legacy-workflow.ts +0 -242
  71. package/src/resources/mcp-tool.ts +0 -48
  72. package/src/resources/memory-thread.test.ts +0 -285
  73. package/src/resources/memory-thread.ts +0 -99
  74. package/src/resources/network-memory-thread.test.ts +0 -269
  75. package/src/resources/network-memory-thread.ts +0 -81
  76. package/src/resources/network.ts +0 -86
  77. package/src/resources/tool.ts +0 -45
  78. package/src/resources/vNextNetwork.ts +0 -194
  79. package/src/resources/vector.ts +0 -83
  80. package/src/resources/workflow.ts +0 -410
  81. package/src/types.ts +0 -502
  82. package/src/utils/index.ts +0 -11
  83. package/src/utils/process-client-tools.ts +0 -32
  84. package/src/utils/zod-to-json-schema.ts +0 -10
  85. package/src/v2-messages.test.ts +0 -180
  86. package/tsconfig.build.json +0 -9
  87. package/tsconfig.json +0 -5
  88. package/tsup.config.ts +0 -22
  89. package/vitest.config.js +0 -8
@@ -1,239 +0,0 @@
1
- // Cross-platform UUID generation function
2
- import type {
3
- AgentConfig,
4
- BaseEvent,
5
- Message,
6
- RunAgentInput,
7
- RunFinishedEvent,
8
- RunStartedEvent,
9
- TextMessageContentEvent,
10
- TextMessageEndEvent,
11
- TextMessageStartEvent,
12
- ToolCallArgsEvent,
13
- ToolCallEndEvent,
14
- ToolCallStartEvent,
15
- } from '@ag-ui/client';
16
- import { AbstractAgent, EventType } from '@ag-ui/client';
17
- import type { CoreMessage } from '@mastra/core';
18
- import { Observable } from 'rxjs';
19
- import type { Agent } from '../resources/agent';
20
-
21
- interface MastraAgentConfig extends AgentConfig {
22
- agent: Agent;
23
- agentId: string;
24
- resourceId?: string;
25
- }
26
-
27
- export class AGUIAdapter extends AbstractAgent {
28
- agent: Agent;
29
- resourceId?: string;
30
- constructor({ agent, agentId, resourceId, ...rest }: MastraAgentConfig) {
31
- super({
32
- agentId,
33
- ...rest,
34
- });
35
- this.agent = agent;
36
- this.resourceId = resourceId;
37
- }
38
-
39
- protected run(input: RunAgentInput): Observable<BaseEvent> {
40
- return new Observable<BaseEvent>(subscriber => {
41
- const convertedMessages = convertMessagesToMastraMessages(input.messages);
42
- subscriber.next({
43
- type: EventType.RUN_STARTED,
44
- threadId: input.threadId,
45
- runId: input.runId,
46
- } as RunStartedEvent);
47
-
48
- this.agent
49
- .stream({
50
- threadId: input.threadId,
51
- resourceId: this.resourceId ?? '',
52
- runId: input.runId,
53
- messages: convertedMessages,
54
- clientTools: input.tools.reduce(
55
- (acc, tool) => {
56
- acc[tool.name as string] = {
57
- id: tool.name,
58
- description: tool.description,
59
- inputSchema: tool.parameters,
60
- };
61
- return acc;
62
- },
63
- {} as Record<string, any>,
64
- ),
65
- })
66
- .then(response => {
67
- let currentMessageId: string | undefined = undefined;
68
- let isInTextMessage = false;
69
- return response.processDataStream({
70
- onTextPart: text => {
71
- if (currentMessageId === undefined) {
72
- currentMessageId = generateUUID();
73
- const message: TextMessageStartEvent = {
74
- type: EventType.TEXT_MESSAGE_START,
75
- messageId: currentMessageId,
76
- role: 'assistant',
77
- };
78
- subscriber.next(message);
79
- isInTextMessage = true;
80
- }
81
-
82
- const message: TextMessageContentEvent = {
83
- type: EventType.TEXT_MESSAGE_CONTENT,
84
- messageId: currentMessageId,
85
- delta: text,
86
- };
87
- subscriber.next(message);
88
- },
89
- onFinishMessagePart: () => {
90
- if (currentMessageId !== undefined) {
91
- const message: TextMessageEndEvent = {
92
- type: EventType.TEXT_MESSAGE_END,
93
- messageId: currentMessageId,
94
- };
95
- subscriber.next(message);
96
- isInTextMessage = false;
97
- }
98
- // Emit run finished event
99
- subscriber.next({
100
- type: EventType.RUN_FINISHED,
101
- threadId: input.threadId,
102
- runId: input.runId,
103
- } as RunFinishedEvent);
104
-
105
- // Complete the observable
106
- subscriber.complete();
107
- },
108
- onToolCallPart(streamPart) {
109
- const parentMessageId = currentMessageId || generateUUID();
110
- if (isInTextMessage) {
111
- const message: TextMessageEndEvent = {
112
- type: EventType.TEXT_MESSAGE_END,
113
- messageId: parentMessageId,
114
- };
115
- subscriber.next(message);
116
- isInTextMessage = false;
117
- }
118
-
119
- subscriber.next({
120
- type: EventType.TOOL_CALL_START,
121
- toolCallId: streamPart.toolCallId,
122
- toolCallName: streamPart.toolName,
123
- parentMessageId,
124
- } as ToolCallStartEvent);
125
-
126
- subscriber.next({
127
- type: EventType.TOOL_CALL_ARGS,
128
- toolCallId: streamPart.toolCallId,
129
- delta: JSON.stringify(streamPart.args),
130
- parentMessageId,
131
- } as ToolCallArgsEvent);
132
-
133
- subscriber.next({
134
- type: EventType.TOOL_CALL_END,
135
- toolCallId: streamPart.toolCallId,
136
- parentMessageId,
137
- } as ToolCallEndEvent);
138
- },
139
- });
140
- })
141
- .catch(error => {
142
- console.error('error', error);
143
- // Handle error
144
- subscriber.error(error);
145
- });
146
-
147
- return () => {};
148
- });
149
- }
150
- }
151
-
152
- /**
153
- * Generates a UUID v4 that works in both browser and Node.js environments
154
- */
155
- export function generateUUID(): string {
156
- // Use crypto.randomUUID() if available (Node.js environment or modern browsers)
157
- if (typeof crypto !== 'undefined') {
158
- // Browser crypto API or Node.js crypto global
159
- if (typeof crypto.randomUUID === 'function') {
160
- return crypto.randomUUID();
161
- }
162
- // Fallback for older browsers
163
- if (typeof crypto.getRandomValues === 'function') {
164
- const buffer = new Uint8Array(16);
165
- crypto.getRandomValues(buffer);
166
- // Set version (4) and variant (8, 9, A, or B)
167
- buffer[6] = (buffer[6]! & 0x0f) | 0x40; // version 4
168
- buffer[8] = (buffer[8]! & 0x3f) | 0x80; // variant
169
-
170
- // Convert to hex string in UUID format
171
- let hex = '';
172
- for (let i = 0; i < 16; i++) {
173
- hex += buffer[i]!.toString(16).padStart(2, '0');
174
- // Add hyphens at standard positions
175
- if (i === 3 || i === 5 || i === 7 || i === 9) hex += '-';
176
- }
177
- return hex;
178
- }
179
- }
180
-
181
- // Last resort fallback (less secure but works everywhere)
182
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
183
- const r = (Math.random() * 16) | 0;
184
- const v = c === 'x' ? r : (r & 0x3) | 0x8;
185
- return v.toString(16);
186
- });
187
- }
188
-
189
- export function convertMessagesToMastraMessages(messages: Message[]): CoreMessage[] {
190
- const result: CoreMessage[] = [];
191
-
192
- for (const message of messages) {
193
- if (message.role === 'assistant') {
194
- const parts: any[] = message.content ? [{ type: 'text', text: message.content }] : [];
195
- for (const toolCall of message.toolCalls ?? []) {
196
- parts.push({
197
- type: 'tool-call',
198
- toolCallId: toolCall.id,
199
- toolName: toolCall.function.name,
200
- args: JSON.parse(toolCall.function.arguments),
201
- });
202
- }
203
- result.push({
204
- role: 'assistant',
205
- content: parts,
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
- }
218
- } else if (message.role === 'user') {
219
- result.push({
220
- role: 'user',
221
- content: message.content || '',
222
- });
223
- } else if (message.role === 'tool') {
224
- result.push({
225
- role: 'tool',
226
- content: [
227
- {
228
- type: 'tool-result',
229
- toolCallId: message.toolCallId,
230
- toolName: 'unknown',
231
- result: message.content,
232
- },
233
- ],
234
- });
235
- }
236
- }
237
-
238
- return result;
239
- }