@mastra/server 0.0.0-vnextAgentNetwork-20250527105810 → 0.0.0-vnextAgentNetwork-20250602084555
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/_tsup-dts-rollup.d.cts +96 -0
- package/dist/_tsup-dts-rollup.d.ts +96 -0
- package/dist/server/handlers/vNextNetwork.cjs +151 -0
- package/dist/server/handlers/vNextNetwork.d.cts +4 -0
- package/dist/server/handlers/vNextNetwork.d.ts +4 -0
- package/dist/server/handlers/vNextNetwork.js +146 -0
- package/package.json +3 -3
|
@@ -43,7 +43,13 @@ import type { Workflow } from '@mastra/core/workflows';
|
|
|
43
43
|
import { WorkflowContext as WorkflowContext_2 } from '@mastra/core/workflows/legacy';
|
|
44
44
|
import { WorkflowResult } from '@mastra/core/workflows';
|
|
45
45
|
import type { WorkflowRuns } from '@mastra/core/storage';
|
|
46
|
+
import { ZodBoolean } from 'zod';
|
|
47
|
+
import { ZodEnum } from 'zod';
|
|
48
|
+
import { ZodObject } from 'zod';
|
|
49
|
+
import { ZodOptional } from 'zod';
|
|
50
|
+
import { ZodString } from 'zod';
|
|
46
51
|
import { ZodType } from 'zod';
|
|
52
|
+
import { ZodTypeAny } from 'zod';
|
|
47
53
|
import { ZodTypeDef } from 'zod';
|
|
48
54
|
|
|
49
55
|
export declare namespace a2a {
|
|
@@ -179,6 +185,18 @@ export declare function generateSpeechHandler({ mastra, agentId, body, }: VoiceC
|
|
|
179
185
|
};
|
|
180
186
|
}): Promise<NodeJS.ReadableStream>;
|
|
181
187
|
|
|
188
|
+
export declare function generateVNextNetworkHandler({ mastra, runtimeContext, networkId, body, }: NetworkContext_2 & {
|
|
189
|
+
runtimeContext: RuntimeContext;
|
|
190
|
+
body: {
|
|
191
|
+
message: string;
|
|
192
|
+
};
|
|
193
|
+
}): Promise<{
|
|
194
|
+
task: string;
|
|
195
|
+
result: string;
|
|
196
|
+
resourceId: string;
|
|
197
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
198
|
+
}>;
|
|
199
|
+
|
|
182
200
|
export declare function getAgentByIdHandler({ mastra, runtimeContext, agentId, }: Context & {
|
|
183
201
|
runtimeContext: RuntimeContext;
|
|
184
202
|
agentId: string;
|
|
@@ -330,6 +348,48 @@ export declare function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext,
|
|
|
330
348
|
|
|
331
349
|
export declare function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>): Promise<Record<string, any>>;
|
|
332
350
|
|
|
351
|
+
export declare function getVNextNetworkByIdHandler({ mastra, networkId, runtimeContext, }: Pick<NetworkContext_2, 'mastra' | 'networkId' | 'runtimeContext'>): Promise<{
|
|
352
|
+
id: string;
|
|
353
|
+
name: string;
|
|
354
|
+
instructions: string;
|
|
355
|
+
agents: {
|
|
356
|
+
name: string;
|
|
357
|
+
provider: string;
|
|
358
|
+
modelId: string;
|
|
359
|
+
}[];
|
|
360
|
+
workflows: {
|
|
361
|
+
name: string | undefined;
|
|
362
|
+
description: string | undefined;
|
|
363
|
+
inputSchema: string | undefined;
|
|
364
|
+
outputSchema: string | undefined;
|
|
365
|
+
}[];
|
|
366
|
+
routingModel: {
|
|
367
|
+
provider: string;
|
|
368
|
+
modelId: string;
|
|
369
|
+
};
|
|
370
|
+
}>;
|
|
371
|
+
|
|
372
|
+
export declare function getVNextNetworksHandler({ mastra, runtimeContext, }: Pick<NetworkContext_2, 'mastra' | 'runtimeContext'>): Promise<{
|
|
373
|
+
id: string;
|
|
374
|
+
name: string;
|
|
375
|
+
instructions: string;
|
|
376
|
+
agents: {
|
|
377
|
+
name: string;
|
|
378
|
+
provider: string;
|
|
379
|
+
modelId: string;
|
|
380
|
+
}[];
|
|
381
|
+
workflows: {
|
|
382
|
+
name: string | undefined;
|
|
383
|
+
description: string | undefined;
|
|
384
|
+
inputSchema: string | undefined;
|
|
385
|
+
outputSchema: string | undefined;
|
|
386
|
+
}[];
|
|
387
|
+
routingModel: {
|
|
388
|
+
provider: string;
|
|
389
|
+
modelId: string;
|
|
390
|
+
};
|
|
391
|
+
}[]>;
|
|
392
|
+
|
|
333
393
|
export declare function getWorkflowByIdHandler({ mastra, workflowId }: WorkflowContext_3): Promise<{
|
|
334
394
|
steps: SerializedStep[];
|
|
335
395
|
name: string | undefined;
|
|
@@ -543,6 +603,11 @@ declare interface NetworkContext extends Context {
|
|
|
543
603
|
runtimeContext: RuntimeContext;
|
|
544
604
|
}
|
|
545
605
|
|
|
606
|
+
declare interface NetworkContext_2 extends Context {
|
|
607
|
+
networkId?: string;
|
|
608
|
+
runtimeContext: RuntimeContext;
|
|
609
|
+
}
|
|
610
|
+
|
|
546
611
|
export declare function normalizeError(error: any, reqId: number | string | null, taskId?: string, logger?: IMastraLogger): JSONRPCResponse<null, unknown>;
|
|
547
612
|
|
|
548
613
|
declare interface QueryRequest {
|
|
@@ -674,6 +739,37 @@ export declare function streamGenerateHandler_alias_1({ mastra, networkId, body,
|
|
|
674
739
|
} & Parameters<AgentNetwork['stream']>[1];
|
|
675
740
|
}): Promise<Response>;
|
|
676
741
|
|
|
742
|
+
export declare function streamGenerateVNextNetworkHandler({ mastra, networkId, body, runtimeContext, }: NetworkContext_2 & {
|
|
743
|
+
runtimeContext: RuntimeContext;
|
|
744
|
+
body: {
|
|
745
|
+
message: string;
|
|
746
|
+
};
|
|
747
|
+
}): Promise<{
|
|
748
|
+
stream: ReadableStream<WatchEvent>;
|
|
749
|
+
getWorkflowState: () => Promise<WorkflowResult<ZodObject< {
|
|
750
|
+
task: ZodString;
|
|
751
|
+
resourceId: ZodString;
|
|
752
|
+
resourceType: ZodEnum<["agent", "workflow", "none", "tool", "none"]>;
|
|
753
|
+
prompt: ZodString;
|
|
754
|
+
result: ZodString;
|
|
755
|
+
isComplete: ZodOptional<ZodBoolean>;
|
|
756
|
+
}, "strip", ZodTypeAny, {
|
|
757
|
+
prompt: string;
|
|
758
|
+
resourceId: string;
|
|
759
|
+
result: string;
|
|
760
|
+
task: string;
|
|
761
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
762
|
+
isComplete?: boolean | undefined;
|
|
763
|
+
}, {
|
|
764
|
+
prompt: string;
|
|
765
|
+
resourceId: string;
|
|
766
|
+
result: string;
|
|
767
|
+
task: string;
|
|
768
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
769
|
+
isComplete?: boolean | undefined;
|
|
770
|
+
}>, Step<string, any, any, ZodType<any, ZodTypeDef, any>, ZodType<any, ZodTypeDef, any>>[]>>;
|
|
771
|
+
}>;
|
|
772
|
+
|
|
677
773
|
export declare function streamWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<WorkflowContext_3, 'mastra' | 'workflowId' | 'runId'> & {
|
|
678
774
|
inputData?: unknown;
|
|
679
775
|
runtimeContext?: RuntimeContext_2;
|
|
@@ -43,7 +43,13 @@ import type { Workflow } from '@mastra/core/workflows';
|
|
|
43
43
|
import { WorkflowContext as WorkflowContext_2 } from '@mastra/core/workflows/legacy';
|
|
44
44
|
import { WorkflowResult } from '@mastra/core/workflows';
|
|
45
45
|
import type { WorkflowRuns } from '@mastra/core/storage';
|
|
46
|
+
import { ZodBoolean } from 'zod';
|
|
47
|
+
import { ZodEnum } from 'zod';
|
|
48
|
+
import { ZodObject } from 'zod';
|
|
49
|
+
import { ZodOptional } from 'zod';
|
|
50
|
+
import { ZodString } from 'zod';
|
|
46
51
|
import { ZodType } from 'zod';
|
|
52
|
+
import { ZodTypeAny } from 'zod';
|
|
47
53
|
import { ZodTypeDef } from 'zod';
|
|
48
54
|
|
|
49
55
|
export declare namespace a2a {
|
|
@@ -179,6 +185,18 @@ export declare function generateSpeechHandler({ mastra, agentId, body, }: VoiceC
|
|
|
179
185
|
};
|
|
180
186
|
}): Promise<NodeJS.ReadableStream>;
|
|
181
187
|
|
|
188
|
+
export declare function generateVNextNetworkHandler({ mastra, runtimeContext, networkId, body, }: NetworkContext_2 & {
|
|
189
|
+
runtimeContext: RuntimeContext;
|
|
190
|
+
body: {
|
|
191
|
+
message: string;
|
|
192
|
+
};
|
|
193
|
+
}): Promise<{
|
|
194
|
+
task: string;
|
|
195
|
+
result: string;
|
|
196
|
+
resourceId: string;
|
|
197
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
198
|
+
}>;
|
|
199
|
+
|
|
182
200
|
export declare function getAgentByIdHandler({ mastra, runtimeContext, agentId, }: Context & {
|
|
183
201
|
runtimeContext: RuntimeContext;
|
|
184
202
|
agentId: string;
|
|
@@ -330,6 +348,48 @@ export declare function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext,
|
|
|
330
348
|
|
|
331
349
|
export declare function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>): Promise<Record<string, any>>;
|
|
332
350
|
|
|
351
|
+
export declare function getVNextNetworkByIdHandler({ mastra, networkId, runtimeContext, }: Pick<NetworkContext_2, 'mastra' | 'networkId' | 'runtimeContext'>): Promise<{
|
|
352
|
+
id: string;
|
|
353
|
+
name: string;
|
|
354
|
+
instructions: string;
|
|
355
|
+
agents: {
|
|
356
|
+
name: string;
|
|
357
|
+
provider: string;
|
|
358
|
+
modelId: string;
|
|
359
|
+
}[];
|
|
360
|
+
workflows: {
|
|
361
|
+
name: string | undefined;
|
|
362
|
+
description: string | undefined;
|
|
363
|
+
inputSchema: string | undefined;
|
|
364
|
+
outputSchema: string | undefined;
|
|
365
|
+
}[];
|
|
366
|
+
routingModel: {
|
|
367
|
+
provider: string;
|
|
368
|
+
modelId: string;
|
|
369
|
+
};
|
|
370
|
+
}>;
|
|
371
|
+
|
|
372
|
+
export declare function getVNextNetworksHandler({ mastra, runtimeContext, }: Pick<NetworkContext_2, 'mastra' | 'runtimeContext'>): Promise<{
|
|
373
|
+
id: string;
|
|
374
|
+
name: string;
|
|
375
|
+
instructions: string;
|
|
376
|
+
agents: {
|
|
377
|
+
name: string;
|
|
378
|
+
provider: string;
|
|
379
|
+
modelId: string;
|
|
380
|
+
}[];
|
|
381
|
+
workflows: {
|
|
382
|
+
name: string | undefined;
|
|
383
|
+
description: string | undefined;
|
|
384
|
+
inputSchema: string | undefined;
|
|
385
|
+
outputSchema: string | undefined;
|
|
386
|
+
}[];
|
|
387
|
+
routingModel: {
|
|
388
|
+
provider: string;
|
|
389
|
+
modelId: string;
|
|
390
|
+
};
|
|
391
|
+
}[]>;
|
|
392
|
+
|
|
333
393
|
export declare function getWorkflowByIdHandler({ mastra, workflowId }: WorkflowContext_3): Promise<{
|
|
334
394
|
steps: SerializedStep[];
|
|
335
395
|
name: string | undefined;
|
|
@@ -543,6 +603,11 @@ declare interface NetworkContext extends Context {
|
|
|
543
603
|
runtimeContext: RuntimeContext;
|
|
544
604
|
}
|
|
545
605
|
|
|
606
|
+
declare interface NetworkContext_2 extends Context {
|
|
607
|
+
networkId?: string;
|
|
608
|
+
runtimeContext: RuntimeContext;
|
|
609
|
+
}
|
|
610
|
+
|
|
546
611
|
export declare function normalizeError(error: any, reqId: number | string | null, taskId?: string, logger?: IMastraLogger): JSONRPCResponse<null, unknown>;
|
|
547
612
|
|
|
548
613
|
declare interface QueryRequest {
|
|
@@ -674,6 +739,37 @@ export declare function streamGenerateHandler_alias_1({ mastra, networkId, body,
|
|
|
674
739
|
} & Parameters<AgentNetwork['stream']>[1];
|
|
675
740
|
}): Promise<Response>;
|
|
676
741
|
|
|
742
|
+
export declare function streamGenerateVNextNetworkHandler({ mastra, networkId, body, runtimeContext, }: NetworkContext_2 & {
|
|
743
|
+
runtimeContext: RuntimeContext;
|
|
744
|
+
body: {
|
|
745
|
+
message: string;
|
|
746
|
+
};
|
|
747
|
+
}): Promise<{
|
|
748
|
+
stream: ReadableStream<WatchEvent>;
|
|
749
|
+
getWorkflowState: () => Promise<WorkflowResult<ZodObject< {
|
|
750
|
+
task: ZodString;
|
|
751
|
+
resourceId: ZodString;
|
|
752
|
+
resourceType: ZodEnum<["agent", "workflow", "none", "tool", "none"]>;
|
|
753
|
+
prompt: ZodString;
|
|
754
|
+
result: ZodString;
|
|
755
|
+
isComplete: ZodOptional<ZodBoolean>;
|
|
756
|
+
}, "strip", ZodTypeAny, {
|
|
757
|
+
prompt: string;
|
|
758
|
+
resourceId: string;
|
|
759
|
+
result: string;
|
|
760
|
+
task: string;
|
|
761
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
762
|
+
isComplete?: boolean | undefined;
|
|
763
|
+
}, {
|
|
764
|
+
prompt: string;
|
|
765
|
+
resourceId: string;
|
|
766
|
+
result: string;
|
|
767
|
+
task: string;
|
|
768
|
+
resourceType: "none" | "tool" | "agent" | "workflow";
|
|
769
|
+
isComplete?: boolean | undefined;
|
|
770
|
+
}>, Step<string, any, any, ZodType<any, ZodTypeDef, any>, ZodType<any, ZodTypeDef, any>>[]>>;
|
|
771
|
+
}>;
|
|
772
|
+
|
|
677
773
|
export declare function streamWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<WorkflowContext_3, 'mastra' | 'workflowId' | 'runId'> & {
|
|
678
774
|
inputData?: unknown;
|
|
679
775
|
runtimeContext?: RuntimeContext_2;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkYWLUOY3D_cjs = require('../../chunk-YWLUOY3D.cjs');
|
|
4
|
+
var chunk57CJTIPW_cjs = require('../../chunk-57CJTIPW.cjs');
|
|
5
|
+
var chunk64U3UDTH_cjs = require('../../chunk-64U3UDTH.cjs');
|
|
6
|
+
var chunkOCWPVYNI_cjs = require('../../chunk-OCWPVYNI.cjs');
|
|
7
|
+
|
|
8
|
+
// src/server/handlers/vNextNetwork.ts
|
|
9
|
+
async function getVNextNetworksHandler({
|
|
10
|
+
mastra,
|
|
11
|
+
runtimeContext
|
|
12
|
+
}) {
|
|
13
|
+
try {
|
|
14
|
+
const networks = mastra.vnext_getNetworks();
|
|
15
|
+
const serializedNetworks = await Promise.all(
|
|
16
|
+
networks.map(async (network) => {
|
|
17
|
+
const routingAgent = await network.getRoutingAgent({ runtimeContext });
|
|
18
|
+
const routingLLM = await routingAgent.getLLM({ runtimeContext });
|
|
19
|
+
const agents = await network.getAgents({ runtimeContext });
|
|
20
|
+
const workflows = await network.getWorkflows({ runtimeContext });
|
|
21
|
+
const networkInstruction = await network.getInstructions({ runtimeContext });
|
|
22
|
+
return {
|
|
23
|
+
id: network.id,
|
|
24
|
+
name: network.name,
|
|
25
|
+
instructions: networkInstruction,
|
|
26
|
+
agents: await Promise.all(
|
|
27
|
+
Object.values(agents).map(async (agent) => {
|
|
28
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
29
|
+
return {
|
|
30
|
+
name: agent.name,
|
|
31
|
+
provider: llm?.getProvider(),
|
|
32
|
+
modelId: llm?.getModelId()
|
|
33
|
+
};
|
|
34
|
+
})
|
|
35
|
+
),
|
|
36
|
+
workflows: await Promise.all(
|
|
37
|
+
Object.values(workflows).map(async (workflow) => {
|
|
38
|
+
return {
|
|
39
|
+
name: workflow.name,
|
|
40
|
+
description: workflow.description,
|
|
41
|
+
inputSchema: workflow.inputSchema ? chunkYWLUOY3D_cjs.stringify(chunkYWLUOY3D_cjs.esm_default(workflow.inputSchema)) : void 0,
|
|
42
|
+
outputSchema: workflow.outputSchema ? chunkYWLUOY3D_cjs.stringify(chunkYWLUOY3D_cjs.esm_default(workflow.outputSchema)) : void 0
|
|
43
|
+
};
|
|
44
|
+
})
|
|
45
|
+
),
|
|
46
|
+
routingModel: {
|
|
47
|
+
provider: routingLLM?.getProvider(),
|
|
48
|
+
modelId: routingLLM?.getModelId()
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
})
|
|
52
|
+
);
|
|
53
|
+
return serializedNetworks;
|
|
54
|
+
} catch (error) {
|
|
55
|
+
return chunk64U3UDTH_cjs.handleError(error, "Error getting networks");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function getVNextNetworkByIdHandler({
|
|
59
|
+
mastra,
|
|
60
|
+
networkId,
|
|
61
|
+
runtimeContext
|
|
62
|
+
}) {
|
|
63
|
+
try {
|
|
64
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
65
|
+
if (!network) {
|
|
66
|
+
throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
|
|
67
|
+
}
|
|
68
|
+
const routingAgent = await network.getRoutingAgent({ runtimeContext });
|
|
69
|
+
const routingLLM = await routingAgent.getLLM({ runtimeContext });
|
|
70
|
+
const agents = await network.getAgents({ runtimeContext });
|
|
71
|
+
const workflows = await network.getWorkflows({ runtimeContext });
|
|
72
|
+
const networkInstruction = await network.getInstructions({ runtimeContext });
|
|
73
|
+
const serializedNetwork = {
|
|
74
|
+
id: network.id,
|
|
75
|
+
name: network.name,
|
|
76
|
+
instructions: networkInstruction,
|
|
77
|
+
agents: await Promise.all(
|
|
78
|
+
Object.values(agents).map(async (agent) => {
|
|
79
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
80
|
+
return {
|
|
81
|
+
name: agent.name,
|
|
82
|
+
provider: llm?.getProvider(),
|
|
83
|
+
modelId: llm?.getModelId()
|
|
84
|
+
};
|
|
85
|
+
})
|
|
86
|
+
),
|
|
87
|
+
workflows: await Promise.all(
|
|
88
|
+
Object.values(workflows).map(async (workflow) => {
|
|
89
|
+
return {
|
|
90
|
+
name: workflow.name,
|
|
91
|
+
description: workflow.description,
|
|
92
|
+
inputSchema: workflow.inputSchema ? chunkYWLUOY3D_cjs.stringify(chunkYWLUOY3D_cjs.esm_default(workflow.inputSchema)) : void 0,
|
|
93
|
+
outputSchema: workflow.outputSchema ? chunkYWLUOY3D_cjs.stringify(chunkYWLUOY3D_cjs.esm_default(workflow.outputSchema)) : void 0
|
|
94
|
+
};
|
|
95
|
+
})
|
|
96
|
+
),
|
|
97
|
+
routingModel: {
|
|
98
|
+
provider: routingLLM?.getProvider(),
|
|
99
|
+
modelId: routingLLM?.getModelId()
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
return serializedNetwork;
|
|
103
|
+
} catch (error) {
|
|
104
|
+
return chunk64U3UDTH_cjs.handleError(error, "Error getting network by ID");
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function generateVNextNetworkHandler({
|
|
108
|
+
mastra,
|
|
109
|
+
runtimeContext,
|
|
110
|
+
networkId,
|
|
111
|
+
body
|
|
112
|
+
}) {
|
|
113
|
+
try {
|
|
114
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
115
|
+
if (!network) {
|
|
116
|
+
throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
|
|
117
|
+
}
|
|
118
|
+
chunk57CJTIPW_cjs.validateBody({ message: body.message });
|
|
119
|
+
const { message } = body;
|
|
120
|
+
const result = await network.generate(message, { runtimeContext });
|
|
121
|
+
return result;
|
|
122
|
+
} catch (error) {
|
|
123
|
+
return chunk64U3UDTH_cjs.handleError(error, "Error generating from network");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async function streamGenerateVNextNetworkHandler({
|
|
127
|
+
mastra,
|
|
128
|
+
networkId,
|
|
129
|
+
body,
|
|
130
|
+
runtimeContext
|
|
131
|
+
}) {
|
|
132
|
+
try {
|
|
133
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
134
|
+
if (!network) {
|
|
135
|
+
throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
|
|
136
|
+
}
|
|
137
|
+
chunk57CJTIPW_cjs.validateBody({ message: body.message });
|
|
138
|
+
const { message } = body;
|
|
139
|
+
const streamResult = await network.stream(message, {
|
|
140
|
+
runtimeContext
|
|
141
|
+
});
|
|
142
|
+
return streamResult;
|
|
143
|
+
} catch (error) {
|
|
144
|
+
return chunk64U3UDTH_cjs.handleError(error, "Error streaming from network");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
exports.generateVNextNetworkHandler = generateVNextNetworkHandler;
|
|
149
|
+
exports.getVNextNetworkByIdHandler = getVNextNetworkByIdHandler;
|
|
150
|
+
exports.getVNextNetworksHandler = getVNextNetworksHandler;
|
|
151
|
+
exports.streamGenerateVNextNetworkHandler = streamGenerateVNextNetworkHandler;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { getVNextNetworksHandler } from '../../_tsup-dts-rollup.cjs';
|
|
2
|
+
export { getVNextNetworkByIdHandler } from '../../_tsup-dts-rollup.cjs';
|
|
3
|
+
export { generateVNextNetworkHandler } from '../../_tsup-dts-rollup.cjs';
|
|
4
|
+
export { streamGenerateVNextNetworkHandler } from '../../_tsup-dts-rollup.cjs';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { getVNextNetworksHandler } from '../../_tsup-dts-rollup.js';
|
|
2
|
+
export { getVNextNetworkByIdHandler } from '../../_tsup-dts-rollup.js';
|
|
3
|
+
export { generateVNextNetworkHandler } from '../../_tsup-dts-rollup.js';
|
|
4
|
+
export { streamGenerateVNextNetworkHandler } from '../../_tsup-dts-rollup.js';
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { stringify, esm_default } from '../../chunk-LIVAK2DM.js';
|
|
2
|
+
import { validateBody } from '../../chunk-H5PTF3Y4.js';
|
|
3
|
+
import { handleError } from '../../chunk-M5ABIP7D.js';
|
|
4
|
+
import { HTTPException } from '../../chunk-NYN7KFXL.js';
|
|
5
|
+
|
|
6
|
+
// src/server/handlers/vNextNetwork.ts
|
|
7
|
+
async function getVNextNetworksHandler({
|
|
8
|
+
mastra,
|
|
9
|
+
runtimeContext
|
|
10
|
+
}) {
|
|
11
|
+
try {
|
|
12
|
+
const networks = mastra.vnext_getNetworks();
|
|
13
|
+
const serializedNetworks = await Promise.all(
|
|
14
|
+
networks.map(async (network) => {
|
|
15
|
+
const routingAgent = await network.getRoutingAgent({ runtimeContext });
|
|
16
|
+
const routingLLM = await routingAgent.getLLM({ runtimeContext });
|
|
17
|
+
const agents = await network.getAgents({ runtimeContext });
|
|
18
|
+
const workflows = await network.getWorkflows({ runtimeContext });
|
|
19
|
+
const networkInstruction = await network.getInstructions({ runtimeContext });
|
|
20
|
+
return {
|
|
21
|
+
id: network.id,
|
|
22
|
+
name: network.name,
|
|
23
|
+
instructions: networkInstruction,
|
|
24
|
+
agents: await Promise.all(
|
|
25
|
+
Object.values(agents).map(async (agent) => {
|
|
26
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
27
|
+
return {
|
|
28
|
+
name: agent.name,
|
|
29
|
+
provider: llm?.getProvider(),
|
|
30
|
+
modelId: llm?.getModelId()
|
|
31
|
+
};
|
|
32
|
+
})
|
|
33
|
+
),
|
|
34
|
+
workflows: await Promise.all(
|
|
35
|
+
Object.values(workflows).map(async (workflow) => {
|
|
36
|
+
return {
|
|
37
|
+
name: workflow.name,
|
|
38
|
+
description: workflow.description,
|
|
39
|
+
inputSchema: workflow.inputSchema ? stringify(esm_default(workflow.inputSchema)) : void 0,
|
|
40
|
+
outputSchema: workflow.outputSchema ? stringify(esm_default(workflow.outputSchema)) : void 0
|
|
41
|
+
};
|
|
42
|
+
})
|
|
43
|
+
),
|
|
44
|
+
routingModel: {
|
|
45
|
+
provider: routingLLM?.getProvider(),
|
|
46
|
+
modelId: routingLLM?.getModelId()
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
})
|
|
50
|
+
);
|
|
51
|
+
return serializedNetworks;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
return handleError(error, "Error getting networks");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function getVNextNetworkByIdHandler({
|
|
57
|
+
mastra,
|
|
58
|
+
networkId,
|
|
59
|
+
runtimeContext
|
|
60
|
+
}) {
|
|
61
|
+
try {
|
|
62
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
63
|
+
if (!network) {
|
|
64
|
+
throw new HTTPException(404, { message: "Network not found" });
|
|
65
|
+
}
|
|
66
|
+
const routingAgent = await network.getRoutingAgent({ runtimeContext });
|
|
67
|
+
const routingLLM = await routingAgent.getLLM({ runtimeContext });
|
|
68
|
+
const agents = await network.getAgents({ runtimeContext });
|
|
69
|
+
const workflows = await network.getWorkflows({ runtimeContext });
|
|
70
|
+
const networkInstruction = await network.getInstructions({ runtimeContext });
|
|
71
|
+
const serializedNetwork = {
|
|
72
|
+
id: network.id,
|
|
73
|
+
name: network.name,
|
|
74
|
+
instructions: networkInstruction,
|
|
75
|
+
agents: await Promise.all(
|
|
76
|
+
Object.values(agents).map(async (agent) => {
|
|
77
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
78
|
+
return {
|
|
79
|
+
name: agent.name,
|
|
80
|
+
provider: llm?.getProvider(),
|
|
81
|
+
modelId: llm?.getModelId()
|
|
82
|
+
};
|
|
83
|
+
})
|
|
84
|
+
),
|
|
85
|
+
workflows: await Promise.all(
|
|
86
|
+
Object.values(workflows).map(async (workflow) => {
|
|
87
|
+
return {
|
|
88
|
+
name: workflow.name,
|
|
89
|
+
description: workflow.description,
|
|
90
|
+
inputSchema: workflow.inputSchema ? stringify(esm_default(workflow.inputSchema)) : void 0,
|
|
91
|
+
outputSchema: workflow.outputSchema ? stringify(esm_default(workflow.outputSchema)) : void 0
|
|
92
|
+
};
|
|
93
|
+
})
|
|
94
|
+
),
|
|
95
|
+
routingModel: {
|
|
96
|
+
provider: routingLLM?.getProvider(),
|
|
97
|
+
modelId: routingLLM?.getModelId()
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
return serializedNetwork;
|
|
101
|
+
} catch (error) {
|
|
102
|
+
return handleError(error, "Error getting network by ID");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function generateVNextNetworkHandler({
|
|
106
|
+
mastra,
|
|
107
|
+
runtimeContext,
|
|
108
|
+
networkId,
|
|
109
|
+
body
|
|
110
|
+
}) {
|
|
111
|
+
try {
|
|
112
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
113
|
+
if (!network) {
|
|
114
|
+
throw new HTTPException(404, { message: "Network not found" });
|
|
115
|
+
}
|
|
116
|
+
validateBody({ message: body.message });
|
|
117
|
+
const { message } = body;
|
|
118
|
+
const result = await network.generate(message, { runtimeContext });
|
|
119
|
+
return result;
|
|
120
|
+
} catch (error) {
|
|
121
|
+
return handleError(error, "Error generating from network");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function streamGenerateVNextNetworkHandler({
|
|
125
|
+
mastra,
|
|
126
|
+
networkId,
|
|
127
|
+
body,
|
|
128
|
+
runtimeContext
|
|
129
|
+
}) {
|
|
130
|
+
try {
|
|
131
|
+
const network = mastra.vnext_getNetwork(networkId);
|
|
132
|
+
if (!network) {
|
|
133
|
+
throw new HTTPException(404, { message: "Network not found" });
|
|
134
|
+
}
|
|
135
|
+
validateBody({ message: body.message });
|
|
136
|
+
const { message } = body;
|
|
137
|
+
const streamResult = await network.stream(message, {
|
|
138
|
+
runtimeContext
|
|
139
|
+
});
|
|
140
|
+
return streamResult;
|
|
141
|
+
} catch (error) {
|
|
142
|
+
return handleError(error, "Error streaming from network");
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export { generateVNextNetworkHandler, getVNextNetworkByIdHandler, getVNextNetworksHandler, streamGenerateVNextNetworkHandler };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/server",
|
|
3
|
-
"version": "0.0.0-vnextAgentNetwork-
|
|
3
|
+
"version": "0.0.0-vnextAgentNetwork-20250602084555",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"vitest": "^2.1.9",
|
|
61
61
|
"zod": "^3.24.3",
|
|
62
62
|
"zod-to-json-schema": "^3.24.5",
|
|
63
|
-
"@internal/lint": "0.0.0-vnextAgentNetwork-
|
|
64
|
-
"@mastra/core": "0.0.0-vnextAgentNetwork-
|
|
63
|
+
"@internal/lint": "0.0.0-vnextAgentNetwork-20250602084555",
|
|
64
|
+
"@mastra/core": "0.0.0-vnextAgentNetwork-20250602084555"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"build": "tsup src/index.ts src/server/handlers.ts src/server/handlers/*.ts !src/server/handlers/*.test.ts --format esm,cjs --clean --experimental-dts --treeshake=smallest --splitting",
|