@mastra/core 0.17.0-alpha.5 → 0.17.0-alpha.6

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 (206) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/cache.d.ts +1 -0
  3. package/dist/agent/agent.d.ts +1 -1
  4. package/dist/agent/index.cjs +11 -11
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/input-processor/index.cjs +6 -6
  7. package/dist/agent/input-processor/index.js +1 -1
  8. package/dist/ai-tracing/index.cjs +32 -32
  9. package/dist/ai-tracing/index.js +1 -1
  10. package/dist/base.cjs +2 -2
  11. package/dist/base.js +1 -1
  12. package/dist/bundler/index.cjs +2 -2
  13. package/dist/bundler/index.js +1 -1
  14. package/dist/cache/base.d.ts +14 -0
  15. package/dist/cache/base.d.ts.map +1 -0
  16. package/dist/cache/index.cjs +16 -0
  17. package/dist/cache/index.cjs.map +1 -0
  18. package/dist/cache/index.d.ts +3 -0
  19. package/dist/cache/index.d.ts.map +1 -0
  20. package/dist/cache/index.js +3 -0
  21. package/dist/cache/index.js.map +1 -0
  22. package/dist/cache/inmemory.d.ts +13 -0
  23. package/dist/cache/inmemory.d.ts.map +1 -0
  24. package/dist/{chunk-KYFRWMTX.js → chunk-2V7YKWZX.js} +3 -3
  25. package/dist/{chunk-KYFRWMTX.js.map → chunk-2V7YKWZX.js.map} +1 -1
  26. package/dist/chunk-3PQNUWJM.js +62 -0
  27. package/dist/chunk-3PQNUWJM.js.map +1 -0
  28. package/dist/{chunk-CP4TZ4HO.cjs → chunk-3ZWRKJSW.cjs} +15 -15
  29. package/dist/{chunk-CP4TZ4HO.cjs.map → chunk-3ZWRKJSW.cjs.map} +1 -1
  30. package/dist/{chunk-QHDT3QQC.cjs → chunk-4HWB6PCC.cjs} +4 -4
  31. package/dist/{chunk-QHDT3QQC.cjs.map → chunk-4HWB6PCC.cjs.map} +1 -1
  32. package/dist/{chunk-KXCUCBEI.cjs → chunk-4L3P3PCP.cjs} +8 -8
  33. package/dist/{chunk-KXCUCBEI.cjs.map → chunk-4L3P3PCP.cjs.map} +1 -1
  34. package/dist/{chunk-666JQVO5.js → chunk-5GPOS52F.js} +36 -25
  35. package/dist/chunk-5GPOS52F.js.map +1 -0
  36. package/dist/{chunk-3DHX2SDR.cjs → chunk-5HQNR726.cjs} +7 -7
  37. package/dist/{chunk-3DHX2SDR.cjs.map → chunk-5HQNR726.cjs.map} +1 -1
  38. package/dist/{chunk-TLJPVRO5.js → chunk-5QXPHYHO.js} +2 -3
  39. package/dist/chunk-5QXPHYHO.js.map +1 -0
  40. package/dist/{chunk-7NKIBBCV.cjs → chunk-725O36VY.cjs} +6 -6
  41. package/dist/{chunk-7NKIBBCV.cjs.map → chunk-725O36VY.cjs.map} +1 -1
  42. package/dist/{chunk-VXJFKEON.js → chunk-B5G6KT7N.js} +5 -5
  43. package/dist/{chunk-VXJFKEON.js.map → chunk-B5G6KT7N.js.map} +1 -1
  44. package/dist/{chunk-6GF5M4GX.js → chunk-BMVFEBPE.js} +3 -3
  45. package/dist/{chunk-6GF5M4GX.js.map → chunk-BMVFEBPE.js.map} +1 -1
  46. package/dist/{chunk-X3GXU6TZ.js → chunk-BN2M4UK5.js} +5 -4
  47. package/dist/chunk-BN2M4UK5.js.map +1 -0
  48. package/dist/{chunk-HBQSSMAD.cjs → chunk-BZ6PR75D.cjs} +8 -8
  49. package/dist/{chunk-HBQSSMAD.cjs.map → chunk-BZ6PR75D.cjs.map} +1 -1
  50. package/dist/{chunk-IODUKRQP.js → chunk-C7EN3GVU.js} +3 -3
  51. package/dist/{chunk-IODUKRQP.js.map → chunk-C7EN3GVU.js.map} +1 -1
  52. package/dist/{chunk-7UO6UWCO.cjs → chunk-D6AHONH5.cjs} +4 -4
  53. package/dist/{chunk-7UO6UWCO.cjs.map → chunk-D6AHONH5.cjs.map} +1 -1
  54. package/dist/{chunk-YFAHGS45.js → chunk-DH34KXOJ.js} +4 -4
  55. package/dist/{chunk-YFAHGS45.js.map → chunk-DH34KXOJ.js.map} +1 -1
  56. package/dist/{chunk-IYN65QCO.js → chunk-DLLUCABV.js} +18 -33
  57. package/dist/chunk-DLLUCABV.js.map +1 -0
  58. package/dist/{chunk-EXG53YAJ.cjs → chunk-EQHKK6BB.cjs} +71 -59
  59. package/dist/chunk-EQHKK6BB.cjs.map +1 -0
  60. package/dist/{chunk-RNJ4GD7U.cjs → chunk-F5DBJ235.cjs} +9 -9
  61. package/dist/{chunk-RNJ4GD7U.cjs.map → chunk-F5DBJ235.cjs.map} +1 -1
  62. package/dist/{chunk-SZZPFXZ7.cjs → chunk-F6N4JWKV.cjs} +13 -13
  63. package/dist/{chunk-SZZPFXZ7.cjs.map → chunk-F6N4JWKV.cjs.map} +1 -1
  64. package/dist/{chunk-2PQSZI63.js → chunk-GBW5ZDLZ.js} +3 -3
  65. package/dist/{chunk-2PQSZI63.js.map → chunk-GBW5ZDLZ.js.map} +1 -1
  66. package/dist/{chunk-K3JIDVC4.js → chunk-ITD7IHN5.js} +3 -3
  67. package/dist/{chunk-K3JIDVC4.js.map → chunk-ITD7IHN5.js.map} +1 -1
  68. package/dist/{chunk-MRZHPP3G.cjs → chunk-JAJMFWRT.cjs} +4 -4
  69. package/dist/{chunk-MRZHPP3G.cjs.map → chunk-JAJMFWRT.cjs.map} +1 -1
  70. package/dist/chunk-KTCBGNCZ.cjs +69 -0
  71. package/dist/chunk-KTCBGNCZ.cjs.map +1 -0
  72. package/dist/{chunk-QQIBOVFQ.js → chunk-NRJQMZLW.js} +4 -4
  73. package/dist/{chunk-QQIBOVFQ.js.map → chunk-NRJQMZLW.js.map} +1 -1
  74. package/dist/{chunk-Z73WO76N.js → chunk-NTXNE4YR.js} +3 -3
  75. package/dist/{chunk-Z73WO76N.js.map → chunk-NTXNE4YR.js.map} +1 -1
  76. package/dist/{chunk-S5QJEY5X.cjs → chunk-O6PQYYT6.cjs} +4 -4
  77. package/dist/{chunk-S5QJEY5X.cjs.map → chunk-O6PQYYT6.cjs.map} +1 -1
  78. package/dist/{chunk-AHJY7RHO.cjs → chunk-OT25QTJ2.cjs} +6 -6
  79. package/dist/{chunk-AHJY7RHO.cjs.map → chunk-OT25QTJ2.cjs.map} +1 -1
  80. package/dist/{chunk-ABRPHTOG.cjs → chunk-PRVMPHNQ.cjs} +2 -2
  81. package/dist/{chunk-ABRPHTOG.cjs.map → chunk-PRVMPHNQ.cjs.map} +1 -1
  82. package/dist/{chunk-G366B5BY.js → chunk-PYVA36ZV.js} +3 -3
  83. package/dist/{chunk-G366B5BY.js.map → chunk-PYVA36ZV.js.map} +1 -1
  84. package/dist/{chunk-NRGXWM6C.js → chunk-Q3KDKDXZ.js} +6 -6
  85. package/dist/{chunk-NRGXWM6C.js.map → chunk-Q3KDKDXZ.js.map} +1 -1
  86. package/dist/chunk-QLYANYE2.cjs +14 -0
  87. package/dist/{chunk-QPOJZU26.cjs.map → chunk-QLYANYE2.cjs.map} +1 -1
  88. package/dist/{chunk-BJGHUKKM.js → chunk-RAQ4VAQ4.js} +2 -2
  89. package/dist/{chunk-BJGHUKKM.js.map → chunk-RAQ4VAQ4.js.map} +1 -1
  90. package/dist/{chunk-PL3B3FZM.js → chunk-SPD7FTTH.js} +5 -5
  91. package/dist/{chunk-PL3B3FZM.js.map → chunk-SPD7FTTH.js.map} +1 -1
  92. package/dist/{chunk-XRJDA7BI.js → chunk-SPZSVMEW.js} +3 -3
  93. package/dist/{chunk-XRJDA7BI.js.map → chunk-SPZSVMEW.js.map} +1 -1
  94. package/dist/{chunk-VBBMXF7Z.cjs → chunk-WM4KFRLA.cjs} +30 -45
  95. package/dist/chunk-WM4KFRLA.cjs.map +1 -0
  96. package/dist/{chunk-F6XWBVVG.cjs → chunk-WOC5SCZF.cjs} +4 -4
  97. package/dist/{chunk-F6XWBVVG.cjs.map → chunk-WOC5SCZF.cjs.map} +1 -1
  98. package/dist/{chunk-V5WKCX3G.cjs → chunk-WVCEJBDR.cjs} +5 -4
  99. package/dist/chunk-WVCEJBDR.cjs.map +1 -0
  100. package/dist/{chunk-D43ZGJR3.js → chunk-XBBHFBQL.js} +3 -3
  101. package/dist/{chunk-D43ZGJR3.js.map → chunk-XBBHFBQL.js.map} +1 -1
  102. package/dist/{chunk-4VHC2F5H.js → chunk-YVLIR34D.js} +4 -4
  103. package/dist/{chunk-4VHC2F5H.js.map → chunk-YVLIR34D.js.map} +1 -1
  104. package/dist/{chunk-GEPX327P.cjs → chunk-YWXSGDDO.cjs} +4 -4
  105. package/dist/{chunk-GEPX327P.cjs.map → chunk-YWXSGDDO.cjs.map} +1 -1
  106. package/dist/{chunk-BHB4PDNV.cjs → chunk-ZBINIUJL.cjs} +2 -3
  107. package/dist/chunk-ZBINIUJL.cjs.map +1 -0
  108. package/dist/deployer/index.cjs +2 -2
  109. package/dist/deployer/index.js +1 -1
  110. package/dist/index.cjs +66 -66
  111. package/dist/index.js +18 -18
  112. package/dist/integration/index.cjs +3 -3
  113. package/dist/integration/index.js +1 -1
  114. package/dist/logger/constants.d.ts +1 -0
  115. package/dist/logger/constants.d.ts.map +1 -1
  116. package/dist/logger/index.cjs +6 -6
  117. package/dist/logger/index.js +1 -1
  118. package/dist/loop/index.cjs +2 -2
  119. package/dist/loop/index.js +1 -1
  120. package/dist/loop/network/index.d.ts.map +1 -1
  121. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  122. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  123. package/dist/mastra/index.cjs +2 -2
  124. package/dist/mastra/index.d.ts +6 -12
  125. package/dist/mastra/index.d.ts.map +1 -1
  126. package/dist/mastra/index.js +1 -1
  127. package/dist/mcp/index.cjs +4 -4
  128. package/dist/mcp/index.js +2 -2
  129. package/dist/memory/index.cjs +4 -4
  130. package/dist/memory/index.js +1 -1
  131. package/dist/network/vNext/index.cjs +34 -34
  132. package/dist/network/vNext/index.cjs.map +1 -1
  133. package/dist/network/vNext/index.js +5 -5
  134. package/dist/network/vNext/index.js.map +1 -1
  135. package/dist/processors/index.cjs +8 -8
  136. package/dist/processors/index.js +2 -2
  137. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  138. package/dist/relevance/index.cjs +4 -4
  139. package/dist/relevance/index.js +1 -1
  140. package/dist/scores/index.cjs +8 -8
  141. package/dist/scores/index.js +1 -1
  142. package/dist/server/index.cjs +4 -4
  143. package/dist/server/index.js +2 -2
  144. package/dist/storage/index.cjs +17 -17
  145. package/dist/storage/index.js +4 -4
  146. package/dist/stream/MastraWorkflowStream.d.ts +5 -4
  147. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  148. package/dist/stream/base/output.d.ts.map +1 -1
  149. package/dist/stream/index.cjs +7 -3
  150. package/dist/stream/index.d.ts +1 -0
  151. package/dist/stream/index.d.ts.map +1 -1
  152. package/dist/stream/index.js +1 -1
  153. package/dist/telemetry/index.cjs +7 -7
  154. package/dist/telemetry/index.js +1 -1
  155. package/dist/telemetry/telemetry.decorators.d.ts.map +1 -1
  156. package/dist/test-utils/llm-mock.cjs +2 -2
  157. package/dist/test-utils/llm-mock.js +1 -1
  158. package/dist/tools/index.cjs +4 -4
  159. package/dist/tools/index.js +1 -1
  160. package/dist/tools/is-vercel-tool.cjs +2 -2
  161. package/dist/tools/is-vercel-tool.js +1 -1
  162. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  163. package/dist/tools/tool.d.ts +2 -4
  164. package/dist/tools/tool.d.ts.map +1 -1
  165. package/dist/tools/types.d.ts +5 -4
  166. package/dist/tools/types.d.ts.map +1 -1
  167. package/dist/tts/index.cjs +2 -2
  168. package/dist/tts/index.js +1 -1
  169. package/dist/utils.cjs +17 -17
  170. package/dist/utils.d.ts +1 -1
  171. package/dist/utils.d.ts.map +1 -1
  172. package/dist/utils.js +1 -1
  173. package/dist/vector/index.cjs +4 -4
  174. package/dist/vector/index.js +1 -1
  175. package/dist/voice/index.cjs +4 -4
  176. package/dist/voice/index.js +1 -1
  177. package/dist/workflows/default.d.ts.map +1 -1
  178. package/dist/workflows/evented/index.cjs +10 -10
  179. package/dist/workflows/evented/index.js +1 -1
  180. package/dist/workflows/index.cjs +10 -10
  181. package/dist/workflows/index.js +1 -1
  182. package/dist/workflows/legacy/index.cjs +22 -22
  183. package/dist/workflows/legacy/index.js +1 -1
  184. package/dist/workflows/workflow.d.ts +44 -4
  185. package/dist/workflows/workflow.d.ts.map +1 -1
  186. package/package.json +5 -4
  187. package/dist/chunk-666JQVO5.js.map +0 -1
  188. package/dist/chunk-BHB4PDNV.cjs.map +0 -1
  189. package/dist/chunk-EXG53YAJ.cjs.map +0 -1
  190. package/dist/chunk-IYN65QCO.js.map +0 -1
  191. package/dist/chunk-QPOJZU26.cjs +0 -14
  192. package/dist/chunk-TLJPVRO5.js.map +0 -1
  193. package/dist/chunk-V5WKCX3G.cjs.map +0 -1
  194. package/dist/chunk-VBBMXF7Z.cjs.map +0 -1
  195. package/dist/chunk-X3GXU6TZ.js.map +0 -1
  196. package/dist/network/index.cjs +0 -316
  197. package/dist/network/index.cjs.map +0 -1
  198. package/dist/network/index.d.ts +0 -3
  199. package/dist/network/index.d.ts.map +0 -1
  200. package/dist/network/index.js +0 -314
  201. package/dist/network/index.js.map +0 -1
  202. package/dist/network/network.d.ts +0 -124
  203. package/dist/network/network.d.ts.map +0 -1
  204. package/dist/network/types.d.ts +0 -9
  205. package/dist/network/types.d.ts.map +0 -1
  206. package/network.d.ts +0 -1
@@ -1,314 +0,0 @@
1
- import { Agent } from '../chunk-666JQVO5.js';
2
- import { MastraError } from '../chunk-MCOVMKIS.js';
3
- import { createTool } from '../chunk-BJGHUKKM.js';
4
- import { MastraBase } from '../chunk-6GF5M4GX.js';
5
- import { RegisteredLogger } from '../chunk-X3GXU6TZ.js';
6
- import { z } from 'zod';
7
-
8
- var AgentNetwork = class extends MastraBase {
9
- #instructions;
10
- #agents;
11
- #model;
12
- #routingAgent;
13
- #agentHistory = {};
14
- constructor(config) {
15
- super({ component: RegisteredLogger.NETWORK, name: config.name || "AgentNetwork" });
16
- console.warn(
17
- `\u26A0\uFE0F DEPRECATION WARNING: AgentNetwork will be deprecated on September 16th, 2025 and will be removed in a future version. Please use agent.network() instead.`
18
- );
19
- this.#instructions = config.instructions;
20
- this.#agents = config.agents;
21
- this.#model = config.model;
22
- this.#routingAgent = new Agent({
23
- name: config.name,
24
- instructions: this.getInstructions(),
25
- model: this.#model,
26
- tools: this.getTools()
27
- });
28
- }
29
- formatAgentId(name) {
30
- return name.replace(/[^a-zA-Z0-9_-]/g, "_");
31
- }
32
- getTools() {
33
- return {
34
- transmit: createTool({
35
- id: "transmit",
36
- description: "Call one or more specialized agents to handle specific tasks",
37
- inputSchema: z.object({
38
- actions: z.array(
39
- z.object({
40
- agent: z.string().describe("The name of the agent to call"),
41
- input: z.string().describe("The input to pass to the agent"),
42
- includeHistory: z.boolean().optional().describe("Whether to include previous agent outputs in the context")
43
- })
44
- )
45
- }),
46
- execute: async ({ context, runtimeContext }) => {
47
- try {
48
- const actions = context.actions;
49
- this.logger.debug(`Executing ${actions.length} specialized agents`);
50
- const results = await Promise.all(
51
- actions.map(
52
- (action) => this.executeAgent(
53
- action.agent,
54
- [{ role: "user", content: action.input }],
55
- action.includeHistory,
56
- runtimeContext
57
- )
58
- )
59
- );
60
- this.logger.debug("Results:", { results });
61
- actions.forEach((action, index) => {
62
- this.#addToAgentHistory(action.agent, {
63
- input: action.input,
64
- output: results[index] || ""
65
- // Ensure output is always a string
66
- });
67
- });
68
- return actions.map((action, index) => `[${action.agent}]: ${results[index]}`).join("\n\n");
69
- } catch (err) {
70
- const error = err;
71
- this.logger.error("Error in transmit tool:", { error });
72
- return `Error executing agents: ${error.message}`;
73
- }
74
- }
75
- })
76
- };
77
- }
78
- #addToAgentHistory(agentId, interaction) {
79
- if (!this.#agentHistory[agentId]) {
80
- this.#agentHistory[agentId] = [];
81
- }
82
- this.#agentHistory[agentId].push({
83
- ...interaction,
84
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
85
- });
86
- }
87
- getAgentHistory(agentId) {
88
- return this.#agentHistory[agentId] || [];
89
- }
90
- #clearNetworkHistoryBeforeRun() {
91
- this.#agentHistory = {};
92
- }
93
- /**
94
- * Get the history of all agent interactions that have occurred in this network
95
- * @returns A record of agent interactions, keyed by agent ID
96
- */
97
- getAgentInteractionHistory() {
98
- return { ...this.#agentHistory };
99
- }
100
- /**
101
- * Get a summary of agent interactions in a more readable format, displayed chronologically
102
- * @returns A formatted string with all agent interactions in chronological order
103
- */
104
- getAgentInteractionSummary() {
105
- const history = this.#agentHistory;
106
- const agentIds = Object.keys(history);
107
- if (agentIds.length === 0) {
108
- return "No agent interactions have occurred yet.";
109
- }
110
- const allInteractions = [];
111
- let globalSequence = 0;
112
- agentIds.forEach((agentId) => {
113
- const interactions = history[agentId] || [];
114
- interactions.forEach((interaction, index) => {
115
- allInteractions.push({
116
- agentId,
117
- interaction,
118
- index,
119
- // Assign a sequence number based on when it was added to the history
120
- sequence: globalSequence++
121
- });
122
- });
123
- });
124
- allInteractions.sort((a, b) => {
125
- if (a.interaction.timestamp && b.interaction.timestamp) {
126
- return new Date(a.interaction.timestamp).getTime() - new Date(b.interaction.timestamp).getTime();
127
- }
128
- return a.sequence - b.sequence;
129
- });
130
- if (allInteractions.length === 0) {
131
- return "No agent interactions have occurred yet.";
132
- }
133
- return "# Chronological Agent Interactions\n\n" + allInteractions.map(
134
- (item, i) => `## Step ${i + 1}: Agent ${item.agentId} at ${item.interaction.timestamp}
135
- **Input:** ${item.interaction.input.substring(0, 100)}${item.interaction.input.length > 100 ? "..." : ""}
136
-
137
- **Output:** ${item.interaction.output.substring(0, 100)}${item.interaction.output.length > 100 ? "..." : ""}`
138
- ).join("\n\n");
139
- }
140
- async executeAgent(agentId, input, includeHistory = false, runtimeContext) {
141
- try {
142
- const agent = this.#agents.find((agent2) => this.formatAgentId(agent2.name) === agentId);
143
- if (!agent) {
144
- const error = new MastraError({
145
- id: "AGENT_NETWORK_EXECUTE_UNKNOWN_AGENT",
146
- domain: "AGENT_NETWORK" /* AGENT_NETWORK */,
147
- category: "USER" /* USER */,
148
- text: `Agent "${agentId}" not found.`
149
- });
150
- this.logger.trackException?.(error);
151
- throw error;
152
- }
153
- let messagesWithContext = [...input];
154
- if (includeHistory) {
155
- const allHistory = Object.entries(this.#agentHistory);
156
- if (allHistory.length > 0) {
157
- const contextMessage = {
158
- role: "system",
159
- content: `Previous agent interactions:
160
-
161
- ${allHistory.map(([agentName, interactions]) => {
162
- return `## ${agentName}
163
- ${interactions.map(
164
- (interaction, i) => `Interaction ${i + 1} (${interaction.timestamp || "No timestamp"}):
165
- - Input: ${interaction.input}
166
- - Output: ${interaction.output}`
167
- ).join("\n\n")}`;
168
- }).join("\n\n")}`
169
- };
170
- messagesWithContext = [contextMessage, ...messagesWithContext];
171
- }
172
- }
173
- const result = await agent.generate(messagesWithContext, { runtimeContext });
174
- return result.text;
175
- } catch (err) {
176
- const error = err;
177
- this.logger.error(`Error executing agent "${agentId}":`, { error });
178
- return `Unable to execute agent "${agentId}": ${error.message}`;
179
- }
180
- }
181
- getInstructions() {
182
- const agentList = this.#agents.map((agent) => {
183
- const id = this.formatAgentId(agent.name);
184
- return ` - **${id}**: ${agent.name}`;
185
- }).join("\n");
186
- return `
187
- You are a router in a network of specialized AI agents.
188
- Your job is to decide which agent should handle each step of a task.
189
-
190
- ## System Instructions
191
- ${this.#instructions}
192
-
193
- ## Available Specialized Agents
194
- You can call these agents using the "transmit" tool:
195
- ${agentList}
196
-
197
- ## How to Use the "transmit" Tool
198
-
199
- The "transmit" tool allows you to call one or more specialized agents.
200
-
201
- ### Single Agent Call
202
- To call a single agent, use this format:
203
- \`\`\`json
204
- {
205
- "actions": [
206
- {
207
- "agent": "agent_name",
208
- "input": "detailed instructions for the agent"
209
- }
210
- ]
211
- }
212
- \`\`\`
213
-
214
- ### Multiple Parallel Agent Calls
215
- To call multiple agents in parallel, use this format:
216
- \`\`\`json
217
- {
218
- "actions": [
219
- {
220
- "agent": "first_agent_name",
221
- "input": "detailed instructions for the first agent"
222
- },
223
- {
224
- "agent": "second_agent_name",
225
- "input": "detailed instructions for the second agent"
226
- }
227
- ]
228
- }
229
- \`\`\`
230
-
231
- ## Context Sharing
232
-
233
- When calling an agent, you can choose to include the output from previous agents in the context.
234
- This allows the agent to take into account the results from previous steps.
235
-
236
- To include context, add the "includeHistory" field to the action and set it to true:
237
- \`\`\`json
238
- {
239
- "actions": [
240
- {
241
- "agent": "agent_name",
242
- "input": "detailed instructions for the agent",
243
- "includeHistory": true
244
- }
245
- ]
246
- }
247
- \`\`\`
248
-
249
- ## Best Practices
250
- 1. Break down complex tasks into smaller steps
251
- 2. Choose the most appropriate agent for each step
252
- 3. Provide clear, detailed instructions to each agent
253
- 4. Synthesize the results from multiple agents when needed
254
- 5. Provide a final summary or answer to the user
255
-
256
- ## Workflow
257
- 1. Analyze the user's request
258
- 2. Identify which specialized agent(s) can help
259
- 3. Call the appropriate agent(s) using the transmit tool
260
- 4. Review the agent's response
261
- 5. Either call more agents or provide a final answer
262
- `;
263
- }
264
- getRoutingAgent() {
265
- return this.#routingAgent;
266
- }
267
- getAgents() {
268
- return this.#agents;
269
- }
270
- async generate(messages, args) {
271
- this.#clearNetworkHistoryBeforeRun();
272
- this.logger.debug(`AgentNetwork: Starting generation with ${this.#agents.length} available agents`);
273
- const ops = {
274
- maxSteps: this.#agents?.length * 10,
275
- // Default to 10 steps per agent
276
- ...args
277
- };
278
- this.logger.debug(`AgentNetwork: Routing with max steps: ${ops.maxSteps}`);
279
- const result = await this.#routingAgent.generate(
280
- messages,
281
- ops
282
- );
283
- this.logger.debug(`AgentNetwork: Generation complete with ${result.steps?.length || 0} steps`);
284
- return result;
285
- }
286
- async stream(messages, args) {
287
- this.#clearNetworkHistoryBeforeRun();
288
- this.logger.debug(`AgentNetwork: Starting generation with ${this.#agents.length} available agents`);
289
- const ops = {
290
- maxSteps: this.#agents?.length * 10,
291
- // Default to 10 steps per agent
292
- ...args
293
- };
294
- this.logger.debug(`AgentNetwork: Routing with max steps: ${ops.maxSteps}`);
295
- const result = await this.#routingAgent.stream(
296
- messages,
297
- ops
298
- );
299
- return result;
300
- }
301
- __registerMastra(p) {
302
- this.__setLogger(p.getLogger());
303
- this.#routingAgent.__registerMastra(p);
304
- for (const agent of this.#agents) {
305
- if (typeof agent.__registerMastra === "function") {
306
- agent.__registerMastra(p);
307
- }
308
- }
309
- }
310
- };
311
-
312
- export { AgentNetwork };
313
- //# sourceMappingURL=index.js.map
314
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/network/network.ts"],"names":["agent"],"mappings":"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","file":"index.js","sourcesContent":["import type {\n CoreMessage,\n GenerateObjectResult,\n GenerateTextResult,\n LanguageModelV1,\n StreamObjectResult,\n StreamTextResult,\n} from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport { z } from 'zod';\nimport type { ZodSchema } from 'zod';\n\nimport { Agent } from '../agent';\nimport type { AgentGenerateOptions, AgentStreamOptions } from '../agent';\nimport type { MessageListInput } from '../agent/message-list';\nimport { MastraBase } from '../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\n\nimport type { GenerateReturn } from '../llm/model/base.types';\nimport { RegisteredLogger } from '../logger';\nimport type { Mastra } from '../mastra';\nimport type { RuntimeContext } from '../runtime-context';\nimport { createTool } from '../tools';\nimport type { ToolAction } from '../tools';\nimport type { AgentNetworkConfig } from './types';\n\nexport class AgentNetwork extends MastraBase {\n #instructions: string;\n #agents: Agent[];\n #model: LanguageModelV1;\n #routingAgent: Agent;\n #agentHistory: Record<\n string,\n Array<{\n input: string;\n output: string;\n timestamp: string;\n }>\n > = {};\n\n constructor(config: AgentNetworkConfig) {\n super({ component: RegisteredLogger.NETWORK, name: config.name || 'AgentNetwork' });\n\n console.warn(\n `⚠️ DEPRECATION WARNING: AgentNetwork will be deprecated on September 16th, 2025 and will be removed in a future version. Please use agent.network() instead.`,\n );\n\n this.#instructions = config.instructions;\n this.#agents = config.agents;\n this.#model = config.model;\n\n this.#routingAgent = new Agent({\n name: config.name,\n instructions: this.getInstructions(),\n model: this.#model,\n tools: this.getTools() as Record<string, ToolAction>,\n });\n }\n\n formatAgentId(name: string) {\n return name.replace(/[^a-zA-Z0-9_-]/g, '_');\n }\n\n getTools() {\n return {\n transmit: createTool({\n id: 'transmit',\n description: 'Call one or more specialized agents to handle specific tasks',\n inputSchema: z.object({\n actions: z.array(\n z.object({\n agent: z.string().describe('The name of the agent to call'),\n input: z.string().describe('The input to pass to the agent'),\n includeHistory: z\n .boolean()\n .optional()\n .describe('Whether to include previous agent outputs in the context'),\n }),\n ),\n }),\n execute: async ({ context, runtimeContext }) => {\n try {\n // Extract the actions from the context\n const actions = context.actions;\n\n this.logger.debug(`Executing ${actions.length} specialized agents`);\n\n // Execute each agent in parallel and collect results\n const results = await Promise.all(\n actions.map(action =>\n this.executeAgent(\n action.agent,\n [{ role: 'user', content: action.input }],\n action.includeHistory,\n runtimeContext,\n ),\n ),\n );\n\n this.logger.debug('Results:', { results });\n\n // Store the results in the agent history for future reference\n actions.forEach((action, index) => {\n this.#addToAgentHistory(action.agent, {\n input: action.input,\n output: results[index] || '', // Ensure output is always a string\n });\n });\n\n // Format the results with agent names for clarity\n return actions.map((action, index) => `[${action.agent}]: ${results[index]}`).join('\\n\\n');\n } catch (err) {\n // Properly type the error\n const error = err as Error;\n this.logger.error('Error in transmit tool:', { error });\n return `Error executing agents: ${error.message}`;\n }\n },\n }),\n } as const;\n }\n\n #addToAgentHistory(agentId: string, interaction: { input: string; output: string }) {\n if (!this.#agentHistory[agentId]) {\n this.#agentHistory[agentId] = [];\n }\n // Add timestamp to the interaction\n this.#agentHistory[agentId].push({\n ...interaction,\n timestamp: new Date().toISOString(),\n });\n }\n\n getAgentHistory(agentId: string) {\n return this.#agentHistory[agentId] || [];\n }\n\n #clearNetworkHistoryBeforeRun() {\n this.#agentHistory = {};\n }\n\n /**\n * Get the history of all agent interactions that have occurred in this network\n * @returns A record of agent interactions, keyed by agent ID\n */\n getAgentInteractionHistory() {\n return { ...this.#agentHistory };\n }\n\n /**\n * Get a summary of agent interactions in a more readable format, displayed chronologically\n * @returns A formatted string with all agent interactions in chronological order\n */\n getAgentInteractionSummary() {\n const history = this.#agentHistory;\n const agentIds = Object.keys(history);\n\n if (agentIds.length === 0) {\n return 'No agent interactions have occurred yet.';\n }\n\n // Collect all interactions with their agent IDs\n const allInteractions: Array<{\n agentId: string;\n interaction: { input: string; output: string; timestamp: string };\n index: number;\n // We'll use a global sequence number to track the true chronological order\n sequence: number;\n }> = [];\n\n // Track the global sequence of interactions\n let globalSequence = 0;\n\n // Gather all interactions with their source agent\n agentIds.forEach(agentId => {\n const interactions = history[agentId] || [];\n interactions.forEach((interaction, index) => {\n allInteractions.push({\n agentId,\n interaction,\n index,\n // Assign a sequence number based on when it was added to the history\n sequence: globalSequence++,\n });\n });\n });\n\n // Sort by timestamp for true chronological order\n allInteractions.sort((a, b) => {\n // Compare timestamps if available\n if (a.interaction.timestamp && b.interaction.timestamp) {\n return new Date(a.interaction.timestamp).getTime() - new Date(b.interaction.timestamp).getTime();\n }\n // Fall back to sequence number if timestamps aren't available\n return a.sequence - b.sequence;\n });\n\n // Format the chronological summary\n if (allInteractions.length === 0) {\n return 'No agent interactions have occurred yet.';\n }\n\n return (\n '# Chronological Agent Interactions\\n\\n' +\n allInteractions\n .map(\n (item, i) =>\n `## Step ${i + 1}: Agent ${item.agentId} at ${item.interaction.timestamp}\\n` +\n `**Input:** ${item.interaction.input.substring(0, 100)}${item.interaction.input.length > 100 ? '...' : ''}\\n\\n` +\n `**Output:** ${item.interaction.output.substring(0, 100)}${item.interaction.output.length > 100 ? '...' : ''}`,\n )\n .join('\\n\\n')\n );\n }\n\n async executeAgent(agentId: string, input: CoreMessage[], includeHistory = false, runtimeContext?: RuntimeContext) {\n try {\n // Find the agent by its formatted ID\n const agent = this.#agents.find(agent => this.formatAgentId(agent.name) === agentId);\n\n if (!agent) {\n const error = new MastraError({\n id: 'AGENT_NETWORK_EXECUTE_UNKNOWN_AGENT',\n domain: ErrorDomain.AGENT_NETWORK,\n category: ErrorCategory.USER,\n text: `Agent \"${agentId}\" not found.`,\n });\n this.logger.trackException?.(error);\n throw error;\n }\n\n // If requested, include relevant history from other agents\n let messagesWithContext = [...input];\n\n if (includeHistory) {\n // Get all agent histories\n const allHistory = Object.entries(this.#agentHistory);\n\n if (allHistory.length > 0) {\n // Add a system message with the context from other agents\n const contextMessage = {\n role: 'system' as const,\n content: `Previous agent interactions:\\n\\n${allHistory\n .map(([agentName, interactions]) => {\n return `## ${agentName}\\n${interactions\n .map(\n (interaction, i) =>\n `Interaction ${i + 1} (${interaction.timestamp || 'No timestamp'}):\\n- Input: ${interaction.input}\\n- Output: ${interaction.output}`,\n )\n .join('\\n\\n')}`;\n })\n .join('\\n\\n')}`,\n };\n\n // Add the context message before the user input\n messagesWithContext = [contextMessage, ...messagesWithContext];\n }\n }\n\n // Generate a response from the agent\n const result = await agent.generate(messagesWithContext, { runtimeContext });\n\n return result.text;\n } catch (err) {\n // Properly type the error\n const error = err as Error;\n this.logger.error(`Error executing agent \"${agentId}\":`, { error });\n return `Unable to execute agent \"${agentId}\": ${error.message}`;\n }\n }\n\n getInstructions() {\n // Create a formatted list of available agents with their names\n const agentList = this.#agents\n .map(agent => {\n const id = this.formatAgentId(agent.name);\n // Use agent name instead of description since description might not exist\n return ` - **${id}**: ${agent.name}`;\n })\n .join('\\n');\n\n return `\n You are a router in a network of specialized AI agents. \n Your job is to decide which agent should handle each step of a task.\n \n ## System Instructions\n ${this.#instructions}\n \n ## Available Specialized Agents\n You can call these agents using the \"transmit\" tool:\n ${agentList}\n \n ## How to Use the \"transmit\" Tool\n \n The \"transmit\" tool allows you to call one or more specialized agents.\n \n ### Single Agent Call\n To call a single agent, use this format:\n \\`\\`\\`json\n {\n \"actions\": [\n {\n \"agent\": \"agent_name\",\n \"input\": \"detailed instructions for the agent\"\n }\n ]\n }\n \\`\\`\\`\n \n ### Multiple Parallel Agent Calls\n To call multiple agents in parallel, use this format:\n \\`\\`\\`json\n {\n \"actions\": [\n {\n \"agent\": \"first_agent_name\",\n \"input\": \"detailed instructions for the first agent\"\n },\n {\n \"agent\": \"second_agent_name\",\n \"input\": \"detailed instructions for the second agent\"\n }\n ]\n }\n \\`\\`\\`\n \n ## Context Sharing\n \n When calling an agent, you can choose to include the output from previous agents in the context.\n This allows the agent to take into account the results from previous steps.\n \n To include context, add the \"includeHistory\" field to the action and set it to true:\n \\`\\`\\`json\n {\n \"actions\": [\n {\n \"agent\": \"agent_name\",\n \"input\": \"detailed instructions for the agent\",\n \"includeHistory\": true\n }\n ]\n }\n \\`\\`\\`\n \n ## Best Practices\n 1. Break down complex tasks into smaller steps\n 2. Choose the most appropriate agent for each step\n 3. Provide clear, detailed instructions to each agent\n 4. Synthesize the results from multiple agents when needed\n 5. Provide a final summary or answer to the user\n \n ## Workflow\n 1. Analyze the user's request\n 2. Identify which specialized agent(s) can help\n 3. Call the appropriate agent(s) using the transmit tool\n 4. Review the agent's response\n 5. Either call more agents or provide a final answer\n `;\n }\n\n getRoutingAgent() {\n return this.#routingAgent;\n }\n\n getAgents() {\n return this.#agents;\n }\n\n async generate(\n messages: MessageListInput,\n args?: AgentGenerateOptions<undefined, undefined> & { output?: never; experimental_output?: never },\n ): Promise<GenerateTextResult<any, undefined>>;\n async generate<OUTPUT extends ZodSchema | JSONSchema7>(\n messages: MessageListInput,\n args?: AgentGenerateOptions<OUTPUT, undefined> & { output?: OUTPUT; experimental_output?: never },\n ): Promise<GenerateObjectResult<OUTPUT>>;\n async generate<EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7>(\n messages: MessageListInput,\n args?: AgentGenerateOptions<undefined, EXPERIMENTAL_OUTPUT> & {\n output?: never;\n experimental_output?: EXPERIMENTAL_OUTPUT;\n },\n ): Promise<GenerateTextResult<any, EXPERIMENTAL_OUTPUT>>;\n async generate<\n OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n >(\n messages: MessageListInput,\n args?: AgentGenerateOptions<OUTPUT, EXPERIMENTAL_OUTPUT>,\n ): Promise<GenerateReturn<any, OUTPUT, EXPERIMENTAL_OUTPUT>> {\n this.#clearNetworkHistoryBeforeRun();\n this.logger.debug(`AgentNetwork: Starting generation with ${this.#agents.length} available agents`);\n\n const ops = {\n maxSteps: this.#agents?.length * 10, // Default to 10 steps per agent\n ...args,\n };\n\n // Log the start of the routing process\n this.logger.debug(`AgentNetwork: Routing with max steps: ${ops.maxSteps}`);\n\n // Generate a response using the routing agent\n const result = await this.#routingAgent.generate(\n messages,\n ops as AgentGenerateOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & { output?: never; experimental_output?: never },\n );\n\n // Log completion\n this.logger.debug(`AgentNetwork: Generation complete with ${result.steps?.length || 0} steps`);\n\n return result as unknown as GenerateReturn<any, OUTPUT, EXPERIMENTAL_OUTPUT>;\n }\n\n async stream<\n OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n >(\n messages: MessageListInput,\n args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & { output?: never; experimental_output?: never },\n ): Promise<StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown>>;\n async stream<\n OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n >(\n messages: MessageListInput,\n args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & { output?: OUTPUT; experimental_output?: never },\n ): Promise<StreamObjectResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown, any>>;\n async stream<\n OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n >(\n messages: MessageListInput,\n args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & {\n output?: never;\n experimental_output?: EXPERIMENTAL_OUTPUT;\n },\n ): Promise<\n StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown> & {\n partialObjectStream: StreamTextResult<\n any,\n OUTPUT extends ZodSchema\n ? z.infer<OUTPUT>\n : EXPERIMENTAL_OUTPUT extends ZodSchema\n ? z.infer<EXPERIMENTAL_OUTPUT>\n : unknown\n >['experimental_partialOutputStream'];\n }\n >;\n async stream<\n OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined,\n >(\n messages: MessageListInput,\n args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT>,\n ): Promise<\n | StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown>\n | StreamObjectResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown, any>\n > {\n this.#clearNetworkHistoryBeforeRun();\n this.logger.debug(`AgentNetwork: Starting generation with ${this.#agents.length} available agents`);\n\n const ops: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> = {\n maxSteps: this.#agents?.length * 10, // Default to 10 steps per agent\n ...args,\n };\n\n // Log the start of the routing process\n this.logger.debug(`AgentNetwork: Routing with max steps: ${ops.maxSteps}`);\n\n // Generate a response using the routing agent\n const result = await this.#routingAgent.stream(\n messages,\n ops as AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & { output?: never; experimental_output?: never },\n );\n\n return result as unknown as\n | StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown>\n | StreamObjectResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown, any>;\n }\n\n __registerMastra(p: Mastra) {\n this.__setLogger(p.getLogger());\n this.#routingAgent.__registerMastra(p);\n // Register primitives for each agent in the network\n for (const agent of this.#agents) {\n if (typeof agent.__registerMastra === 'function') {\n agent.__registerMastra(p);\n }\n }\n }\n}\n"]}
@@ -1,124 +0,0 @@
1
- import type { CoreMessage, GenerateObjectResult, GenerateTextResult, StreamObjectResult, StreamTextResult } from 'ai';
2
- import type { JSONSchema7 } from 'json-schema';
3
- import { z } from 'zod';
4
- import type { ZodSchema } from 'zod';
5
- import { Agent } from '../agent/index.js';
6
- import type { AgentGenerateOptions, AgentStreamOptions } from '../agent/index.js';
7
- import type { MessageListInput } from '../agent/message-list/index.js';
8
- import { MastraBase } from '../base.js';
9
- import type { Mastra } from '../mastra/index.js';
10
- import type { RuntimeContext } from '../runtime-context/index.js';
11
- import type { AgentNetworkConfig } from './types.js';
12
- export declare class AgentNetwork extends MastraBase {
13
- #private;
14
- constructor(config: AgentNetworkConfig);
15
- formatAgentId(name: string): string;
16
- getTools(): {
17
- readonly transmit: import("../tools").Tool<z.ZodObject<{
18
- actions: z.ZodArray<z.ZodObject<{
19
- agent: z.ZodString;
20
- input: z.ZodString;
21
- includeHistory: z.ZodOptional<z.ZodBoolean>;
22
- }, "strip", z.ZodTypeAny, {
23
- input: string;
24
- agent: string;
25
- includeHistory?: boolean | undefined;
26
- }, {
27
- input: string;
28
- agent: string;
29
- includeHistory?: boolean | undefined;
30
- }>, "many">;
31
- }, "strip", z.ZodTypeAny, {
32
- actions: {
33
- input: string;
34
- agent: string;
35
- includeHistory?: boolean | undefined;
36
- }[];
37
- }, {
38
- actions: {
39
- input: string;
40
- agent: string;
41
- includeHistory?: boolean | undefined;
42
- }[];
43
- }>, undefined, import("..").ToolExecutionContext<z.ZodObject<{
44
- actions: z.ZodArray<z.ZodObject<{
45
- agent: z.ZodString;
46
- input: z.ZodString;
47
- includeHistory: z.ZodOptional<z.ZodBoolean>;
48
- }, "strip", z.ZodTypeAny, {
49
- input: string;
50
- agent: string;
51
- includeHistory?: boolean | undefined;
52
- }, {
53
- input: string;
54
- agent: string;
55
- includeHistory?: boolean | undefined;
56
- }>, "many">;
57
- }, "strip", z.ZodTypeAny, {
58
- actions: {
59
- input: string;
60
- agent: string;
61
- includeHistory?: boolean | undefined;
62
- }[];
63
- }, {
64
- actions: {
65
- input: string;
66
- agent: string;
67
- includeHistory?: boolean | undefined;
68
- }[];
69
- }>>>;
70
- };
71
- getAgentHistory(agentId: string): {
72
- input: string;
73
- output: string;
74
- timestamp: string;
75
- }[];
76
- /**
77
- * Get the history of all agent interactions that have occurred in this network
78
- * @returns A record of agent interactions, keyed by agent ID
79
- */
80
- getAgentInteractionHistory(): {
81
- [x: string]: {
82
- input: string;
83
- output: string;
84
- timestamp: string;
85
- }[];
86
- };
87
- /**
88
- * Get a summary of agent interactions in a more readable format, displayed chronologically
89
- * @returns A formatted string with all agent interactions in chronological order
90
- */
91
- getAgentInteractionSummary(): string;
92
- executeAgent(agentId: string, input: CoreMessage[], includeHistory?: boolean, runtimeContext?: RuntimeContext): Promise<string>;
93
- getInstructions(): string;
94
- getRoutingAgent(): Agent<string, import("../agent").ToolsInput, Record<string, import("..").Metric>>;
95
- getAgents(): Agent<string, import("../agent").ToolsInput, Record<string, import("..").Metric>>[];
96
- generate(messages: MessageListInput, args?: AgentGenerateOptions<undefined, undefined> & {
97
- output?: never;
98
- experimental_output?: never;
99
- }): Promise<GenerateTextResult<any, undefined>>;
100
- generate<OUTPUT extends ZodSchema | JSONSchema7>(messages: MessageListInput, args?: AgentGenerateOptions<OUTPUT, undefined> & {
101
- output?: OUTPUT;
102
- experimental_output?: never;
103
- }): Promise<GenerateObjectResult<OUTPUT>>;
104
- generate<EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7>(messages: MessageListInput, args?: AgentGenerateOptions<undefined, EXPERIMENTAL_OUTPUT> & {
105
- output?: never;
106
- experimental_output?: EXPERIMENTAL_OUTPUT;
107
- }): Promise<GenerateTextResult<any, EXPERIMENTAL_OUTPUT>>;
108
- stream<OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined, EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined>(messages: MessageListInput, args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & {
109
- output?: never;
110
- experimental_output?: never;
111
- }): Promise<StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown>>;
112
- stream<OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined, EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined>(messages: MessageListInput, args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & {
113
- output?: OUTPUT;
114
- experimental_output?: never;
115
- }): Promise<StreamObjectResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown, any>>;
116
- stream<OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined, EXPERIMENTAL_OUTPUT extends ZodSchema | JSONSchema7 | undefined = undefined>(messages: MessageListInput, args?: AgentStreamOptions<OUTPUT, EXPERIMENTAL_OUTPUT> & {
117
- output?: never;
118
- experimental_output?: EXPERIMENTAL_OUTPUT;
119
- }): Promise<StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : unknown> & {
120
- partialObjectStream: StreamTextResult<any, OUTPUT extends ZodSchema ? z.infer<OUTPUT> : EXPERIMENTAL_OUTPUT extends ZodSchema ? z.infer<EXPERIMENTAL_OUTPUT> : unknown>['experimental_partialOutputStream'];
121
- }>;
122
- __registerMastra(p: Mastra): void;
123
- }
124
- //# sourceMappingURL=network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,YAAa,SAAQ,UAAU;;gBAc9B,MAAM,EAAE,kBAAkB;IAmBtC,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsER,eAAe,CAAC,OAAO,EAAE,MAAM;eAnGpB,MAAM;gBACL,MAAM;mBACH,MAAM;;IAyGrB;;;OAGG;IACH,0BAA0B;;mBA/Gf,MAAM;oBACL,MAAM;uBACH,MAAM;;;IAiHrB;;;OAGG;IACH,0BAA0B;IA8DpB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,cAAc,UAAQ,EAAE,cAAc,CAAC,EAAE,cAAc;IAwDjH,eAAe;IAyFf,eAAe;IAIf,SAAS;IAIH,QAAQ,CACZ,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAC,mBAAmB,CAAC,EAAE,KAAK,CAAA;KAAE,GAClG,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,SAAS,SAAS,GAAG,WAAW,EACnD,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,KAAK,CAAA;KAAE,GAChG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,mBAAmB,SAAS,SAAS,GAAG,WAAW,EAChE,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG;QAC5D,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C,GACA,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IA+BlD,MAAM,CACV,MAAM,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAC9D,mBAAmB,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAE3E,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAC,mBAAmB,CAAC,EAAE,KAAK,CAAA;KAAE,GACvG,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IACjF,MAAM,CACV,MAAM,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAC9D,mBAAmB,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAE3E,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,KAAK,CAAA;KAAE,GACxG,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC;IACxF,MAAM,CACV,MAAM,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAC9D,mBAAmB,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EAE3E,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG;QACvD,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C,GACA,OAAO,CACR,gBAAgB,CAAC,GAAG,EAAE,MAAM,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG;QAC5E,mBAAmB,EAAE,gBAAgB,CACnC,GAAG,EACH,MAAM,SAAS,SAAS,GACpB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GACf,mBAAmB,SAAS,SAAS,GACnC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAC5B,OAAO,CACd,CAAC,kCAAkC,CAAC,CAAC;KACvC,CACF;IAiCD,gBAAgB,CAAC,CAAC,EAAE,MAAM;CAU3B"}
@@ -1,9 +0,0 @@
1
- import type { LanguageModelV1 } from 'ai';
2
- import type { Agent } from '../agent/index.js';
3
- export type AgentNetworkConfig = {
4
- name: string;
5
- agents: Agent[];
6
- model: LanguageModelV1;
7
- instructions: string;
8
- };
9
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC"}
package/network.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './dist/network';