@mastra/client-js 0.0.0-transpile-packages-20250724123433 → 0.0.0-transpile-packages-20250731152758
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/.turbo/turbo-build.log +2 -17
- package/CHANGELOG.md +202 -2
- package/dist/adapters/agui.d.ts +23 -0
- package/dist/adapters/agui.d.ts.map +1 -0
- package/dist/client.d.ts +265 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/example.d.ts +2 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/index.cjs +348 -251
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +4 -1224
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +348 -251
- package/dist/index.js.map +1 -0
- package/dist/resources/a2a.d.ts +44 -0
- package/dist/resources/a2a.d.ts.map +1 -0
- package/dist/resources/agent.d.ts +112 -0
- package/dist/resources/agent.d.ts.map +1 -0
- package/dist/resources/base.d.ts +13 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/index.d.ts +11 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/legacy-workflow.d.ts +87 -0
- package/dist/resources/legacy-workflow.d.ts.map +1 -0
- package/dist/resources/mcp-tool.d.ts +27 -0
- package/dist/resources/mcp-tool.d.ts.map +1 -0
- package/dist/resources/memory-thread.d.ts +53 -0
- package/dist/resources/memory-thread.d.ts.map +1 -0
- package/dist/resources/network-memory-thread.d.ts +47 -0
- package/dist/resources/network-memory-thread.d.ts.map +1 -0
- package/dist/resources/network.d.ts +30 -0
- package/dist/resources/network.d.ts.map +1 -0
- package/dist/resources/tool.d.ts +23 -0
- package/dist/resources/tool.d.ts.map +1 -0
- package/dist/resources/vNextNetwork.d.ts +42 -0
- package/dist/resources/vNextNetwork.d.ts.map +1 -0
- package/dist/resources/vector.d.ts +48 -0
- package/dist/resources/vector.d.ts.map +1 -0
- package/dist/resources/workflow.d.ts +154 -0
- package/dist/resources/workflow.d.ts.map +1 -0
- package/dist/types.d.ts +422 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/process-client-tools.d.ts +3 -0
- package/dist/utils/process-client-tools.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema.d.ts +105 -0
- package/dist/utils/zod-to-json-schema.d.ts.map +1 -0
- package/integration-tests/agui-adapter.test.ts +122 -0
- package/integration-tests/package.json +18 -0
- package/integration-tests/src/mastra/index.ts +35 -0
- package/integration-tests/vitest.config.ts +9 -0
- package/package.json +10 -7
- package/src/adapters/agui.test.ts +145 -3
- package/src/client.ts +97 -0
- package/src/index.test.ts +349 -1
- package/src/index.ts +1 -0
- package/src/resources/agent.ts +285 -300
- package/src/resources/base.ts +3 -1
- package/src/resources/memory-thread.test.ts +285 -0
- package/src/resources/memory-thread.ts +18 -0
- package/src/resources/network-memory-thread.test.ts +269 -0
- package/src/resources/network-memory-thread.ts +18 -0
- package/src/resources/network.ts +4 -3
- package/src/types.ts +61 -6
- package/src/utils/process-client-tools.ts +1 -1
- package/src/v2-messages.test.ts +180 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +1 -1
- package/tsup.config.ts +22 -0
- package/dist/index.d.cts +0 -1224
package/src/types.ts
CHANGED
|
@@ -11,11 +11,12 @@ import type {
|
|
|
11
11
|
PaginationInfo,
|
|
12
12
|
MastraMessageV2,
|
|
13
13
|
} from '@mastra/core';
|
|
14
|
-
import type { AgentGenerateOptions, AgentStreamOptions, ToolsInput } from '@mastra/core/agent';
|
|
14
|
+
import type { AgentGenerateOptions, AgentStreamOptions, ToolsInput, UIMessageWithMetadata } from '@mastra/core/agent';
|
|
15
15
|
import type { BaseLogMessage, LogLevel } from '@mastra/core/logger';
|
|
16
16
|
|
|
17
17
|
import type { MCPToolType, ServerInfo } from '@mastra/core/mcp';
|
|
18
18
|
import type { RuntimeContext } from '@mastra/core/runtime-context';
|
|
19
|
+
import type { MastraScorer, MastraScorerEntry, ScoreRowData } from '@mastra/core/scores';
|
|
19
20
|
import type { Workflow, WatchEvent, WorkflowResult } from '@mastra/core/workflows';
|
|
20
21
|
import type {
|
|
21
22
|
StepAction,
|
|
@@ -69,7 +70,7 @@ export interface GetAgentResponse {
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
export type GenerateParams<T extends JSONSchema7 | ZodSchema | undefined = undefined> = {
|
|
72
|
-
messages: string | string[] | CoreMessage[] | AiMessageType[];
|
|
73
|
+
messages: string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[];
|
|
73
74
|
output?: T;
|
|
74
75
|
experimental_output?: T;
|
|
75
76
|
runtimeContext?: RuntimeContext | Record<string, any>;
|
|
@@ -79,7 +80,7 @@ export type GenerateParams<T extends JSONSchema7 | ZodSchema | undefined = undef
|
|
|
79
80
|
>;
|
|
80
81
|
|
|
81
82
|
export type StreamParams<T extends JSONSchema7 | ZodSchema | undefined = undefined> = {
|
|
82
|
-
messages: string | string[] | CoreMessage[] | AiMessageType[];
|
|
83
|
+
messages: string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[];
|
|
83
84
|
output?: T;
|
|
84
85
|
experimental_output?: T;
|
|
85
86
|
runtimeContext?: RuntimeContext | Record<string, any>;
|
|
@@ -197,16 +198,16 @@ export interface GetVectorIndexResponse {
|
|
|
197
198
|
}
|
|
198
199
|
|
|
199
200
|
export interface SaveMessageToMemoryParams {
|
|
200
|
-
messages: MastraMessageV1[];
|
|
201
|
+
messages: (MastraMessageV1 | MastraMessageV2)[];
|
|
201
202
|
agentId: string;
|
|
202
203
|
}
|
|
203
204
|
|
|
204
205
|
export interface SaveNetworkMessageToMemoryParams {
|
|
205
|
-
messages: MastraMessageV1[];
|
|
206
|
+
messages: (MastraMessageV1 | MastraMessageV2)[];
|
|
206
207
|
networkId: string;
|
|
207
208
|
}
|
|
208
209
|
|
|
209
|
-
export type SaveMessageToMemoryResponse = MastraMessageV1[];
|
|
210
|
+
export type SaveMessageToMemoryResponse = (MastraMessageV1 | MastraMessageV2)[];
|
|
210
211
|
|
|
211
212
|
export interface CreateMemoryThreadParams {
|
|
212
213
|
title?: string;
|
|
@@ -445,3 +446,57 @@ export interface McpToolInfo {
|
|
|
445
446
|
export interface McpServerToolListResponse {
|
|
446
447
|
tools: McpToolInfo[];
|
|
447
448
|
}
|
|
449
|
+
|
|
450
|
+
export type ClientScoreRowData = Omit<ScoreRowData, 'createdAt' | 'updatedAt'> & {
|
|
451
|
+
createdAt: string;
|
|
452
|
+
updatedAt: string;
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
// Scores-related types
|
|
456
|
+
export interface GetScoresByRunIdParams {
|
|
457
|
+
runId: string;
|
|
458
|
+
page?: number;
|
|
459
|
+
perPage?: number;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
export interface GetScoresByScorerIdParams {
|
|
463
|
+
scorerId: string;
|
|
464
|
+
entityId?: string;
|
|
465
|
+
entityType?: string;
|
|
466
|
+
page?: number;
|
|
467
|
+
perPage?: number;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export interface GetScoresByEntityIdParams {
|
|
471
|
+
entityId: string;
|
|
472
|
+
entityType: string;
|
|
473
|
+
page?: number;
|
|
474
|
+
perPage?: number;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
export interface SaveScoreParams {
|
|
478
|
+
score: Omit<ScoreRowData, 'id' | 'createdAt' | 'updatedAt'>;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export interface GetScoresResponse {
|
|
482
|
+
pagination: {
|
|
483
|
+
total: number;
|
|
484
|
+
page: number;
|
|
485
|
+
perPage: number;
|
|
486
|
+
hasMore: boolean;
|
|
487
|
+
};
|
|
488
|
+
scores: ClientScoreRowData[];
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
export interface SaveScoreResponse {
|
|
492
|
+
score: ClientScoreRowData;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
export type GetScorerResponse = MastraScorerEntry & {
|
|
496
|
+
agentIds: string[];
|
|
497
|
+
workflowIds: string[];
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
export interface GetScorersResponse {
|
|
501
|
+
scorers: Array<GetScorerResponse>;
|
|
502
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
import type { MastraMessageV1, MastraMessageV2 } from '@mastra/core';
|
|
3
|
+
import { MastraClient } from './client';
|
|
4
|
+
|
|
5
|
+
describe('V2 Message Format Support', () => {
|
|
6
|
+
let client: MastraClient;
|
|
7
|
+
const agentId = 'test-agent';
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
global.fetch = vi.fn();
|
|
11
|
+
client = new MastraClient({
|
|
12
|
+
baseUrl: 'http://localhost:3000',
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('should send v1 messages successfully', async () => {
|
|
17
|
+
const v1Messages: MastraMessageV1[] = [
|
|
18
|
+
{
|
|
19
|
+
id: 'msg-v1-1',
|
|
20
|
+
role: 'user',
|
|
21
|
+
content: 'Hello from v1!',
|
|
22
|
+
type: 'text',
|
|
23
|
+
createdAt: new Date(),
|
|
24
|
+
threadId: 'thread-123',
|
|
25
|
+
resourceId: 'resource-123',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
(global.fetch as any).mockResolvedValueOnce({
|
|
30
|
+
ok: true,
|
|
31
|
+
json: async () => v1Messages,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
const result = await client.saveMessageToMemory({
|
|
35
|
+
agentId,
|
|
36
|
+
messages: v1Messages,
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
expect(result).toEqual(v1Messages);
|
|
40
|
+
expect(global.fetch).toHaveBeenCalledWith(
|
|
41
|
+
expect.stringContaining('/api/memory/save-messages'),
|
|
42
|
+
expect.objectContaining({
|
|
43
|
+
method: 'POST',
|
|
44
|
+
body: JSON.stringify({ agentId, messages: v1Messages }),
|
|
45
|
+
}),
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('should send v2 messages successfully', async () => {
|
|
50
|
+
const v2Messages: MastraMessageV2[] = [
|
|
51
|
+
{
|
|
52
|
+
id: 'msg-v2-1',
|
|
53
|
+
role: 'assistant',
|
|
54
|
+
createdAt: new Date(),
|
|
55
|
+
threadId: 'thread-123',
|
|
56
|
+
resourceId: 'resource-123',
|
|
57
|
+
content: {
|
|
58
|
+
format: 2,
|
|
59
|
+
parts: [{ type: 'text', text: 'Hello from v2!' }],
|
|
60
|
+
content: 'Hello from v2!',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
(global.fetch as any).mockResolvedValueOnce({
|
|
66
|
+
ok: true,
|
|
67
|
+
json: async () => v2Messages,
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const result = await client.saveMessageToMemory({
|
|
71
|
+
agentId,
|
|
72
|
+
messages: v2Messages,
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
expect(result).toEqual(v2Messages);
|
|
76
|
+
expect(global.fetch).toHaveBeenCalledWith(
|
|
77
|
+
expect.stringContaining('/api/memory/save-messages'),
|
|
78
|
+
expect.objectContaining({
|
|
79
|
+
method: 'POST',
|
|
80
|
+
body: JSON.stringify({ agentId, messages: v2Messages }),
|
|
81
|
+
}),
|
|
82
|
+
);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('should send mixed v1 and v2 messages successfully', async () => {
|
|
86
|
+
const mixedMessages: (MastraMessageV1 | MastraMessageV2)[] = [
|
|
87
|
+
{
|
|
88
|
+
id: 'msg-v1-1',
|
|
89
|
+
role: 'user',
|
|
90
|
+
content: 'Question in v1 format',
|
|
91
|
+
type: 'text',
|
|
92
|
+
createdAt: new Date(),
|
|
93
|
+
threadId: 'thread-123',
|
|
94
|
+
resourceId: 'resource-123',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 'msg-v2-1',
|
|
98
|
+
role: 'assistant',
|
|
99
|
+
createdAt: new Date(),
|
|
100
|
+
threadId: 'thread-123',
|
|
101
|
+
resourceId: 'resource-123',
|
|
102
|
+
content: {
|
|
103
|
+
format: 2,
|
|
104
|
+
parts: [
|
|
105
|
+
{ type: 'text', text: 'Answer in v2 format' },
|
|
106
|
+
{
|
|
107
|
+
type: 'tool-invocation',
|
|
108
|
+
toolInvocation: {
|
|
109
|
+
state: 'result' as const,
|
|
110
|
+
toolCallId: 'call-123',
|
|
111
|
+
toolName: 'calculator',
|
|
112
|
+
args: { a: 1, b: 2 },
|
|
113
|
+
result: '3',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
toolInvocations: [
|
|
118
|
+
{
|
|
119
|
+
state: 'result' as const,
|
|
120
|
+
toolCallId: 'call-123',
|
|
121
|
+
toolName: 'calculator',
|
|
122
|
+
args: { a: 1, b: 2 },
|
|
123
|
+
result: '3',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
|
|
130
|
+
(global.fetch as any).mockResolvedValueOnce({
|
|
131
|
+
ok: true,
|
|
132
|
+
json: async () => mixedMessages,
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
const result = await client.saveMessageToMemory({
|
|
136
|
+
agentId,
|
|
137
|
+
messages: mixedMessages,
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
expect(result).toEqual(mixedMessages);
|
|
141
|
+
expect(global.fetch).toHaveBeenCalledWith(
|
|
142
|
+
expect.stringContaining('/api/memory/save-messages'),
|
|
143
|
+
expect.objectContaining({
|
|
144
|
+
method: 'POST',
|
|
145
|
+
body: JSON.stringify({ agentId, messages: mixedMessages }),
|
|
146
|
+
}),
|
|
147
|
+
);
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it('should handle v2 messages with attachments', async () => {
|
|
151
|
+
const v2MessageWithAttachments: MastraMessageV2 = {
|
|
152
|
+
id: 'msg-v2-att',
|
|
153
|
+
role: 'user',
|
|
154
|
+
createdAt: new Date(),
|
|
155
|
+
threadId: 'thread-123',
|
|
156
|
+
resourceId: 'resource-123',
|
|
157
|
+
content: {
|
|
158
|
+
format: 2,
|
|
159
|
+
parts: [
|
|
160
|
+
{ type: 'text', text: 'Check out this image:' },
|
|
161
|
+
{ type: 'file', data: 'data:image/png;base64,iVBORw0...', mimeType: 'image/png' },
|
|
162
|
+
],
|
|
163
|
+
experimental_attachments: [{ url: 'data:image/png;base64,iVBORw0...', contentType: 'image/png' }],
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
(global.fetch as any).mockResolvedValueOnce({
|
|
168
|
+
ok: true,
|
|
169
|
+
json: async () => [v2MessageWithAttachments],
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
const result = await client.saveMessageToMemory({
|
|
173
|
+
agentId,
|
|
174
|
+
messages: [v2MessageWithAttachments],
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
expect(result).toHaveLength(1);
|
|
178
|
+
expect(result[0]).toEqual(v2MessageWithAttachments);
|
|
179
|
+
});
|
|
180
|
+
});
|
package/tsconfig.json
CHANGED
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { defineConfig } from 'tsup';
|
|
4
|
+
|
|
5
|
+
const exec = promisify(spawn);
|
|
6
|
+
|
|
7
|
+
export default defineConfig({
|
|
8
|
+
entry: ['src/index.ts'],
|
|
9
|
+
format: ['esm', 'cjs'],
|
|
10
|
+
clean: true,
|
|
11
|
+
dts: false,
|
|
12
|
+
splitting: true,
|
|
13
|
+
treeshake: {
|
|
14
|
+
preset: 'smallest',
|
|
15
|
+
},
|
|
16
|
+
sourcemap: true,
|
|
17
|
+
onSuccess: async () => {
|
|
18
|
+
await exec('pnpm', ['tsc', '-p', 'tsconfig.build.json'], {
|
|
19
|
+
stdio: 'inherit',
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|