@mastra/core 1.5.0 → 1.6.0

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 (237) hide show
  1. package/CHANGELOG.md +386 -0
  2. package/dist/agent/index.cjs +13 -13
  3. package/dist/agent/index.js +2 -2
  4. package/dist/agent/message-list/adapters/AIV5Adapter.d.ts.map +1 -1
  5. package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/agent/workflows/prepare-stream/index.d.ts +7 -7
  9. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +7 -7
  10. package/dist/agent/workflows/prepare-stream/schema.d.ts +11 -11
  11. package/dist/{chunk-CQ4Z6ZAV.cjs → chunk-3U3XFMGJ.cjs} +7 -7
  12. package/dist/{chunk-CQ4Z6ZAV.cjs.map → chunk-3U3XFMGJ.cjs.map} +1 -1
  13. package/dist/{chunk-D57U4II4.js → chunk-4WG5K4CK.js} +9 -8
  14. package/dist/chunk-4WG5K4CK.js.map +1 -0
  15. package/dist/{chunk-UZFGMMKU.js → chunk-5K45E5VE.js} +37 -3
  16. package/dist/chunk-5K45E5VE.js.map +1 -0
  17. package/dist/{chunk-OQ5LZ6OV.cjs → chunk-5VQPSWPG.cjs} +149 -61
  18. package/dist/chunk-5VQPSWPG.cjs.map +1 -0
  19. package/dist/{chunk-AIRMLZ43.js → chunk-7EXW4AAG.js} +4 -4
  20. package/dist/{chunk-AIRMLZ43.js.map → chunk-7EXW4AAG.js.map} +1 -1
  21. package/dist/{chunk-S4VVZI4E.cjs → chunk-AYHSPIT6.cjs} +326 -5
  22. package/dist/chunk-AYHSPIT6.cjs.map +1 -0
  23. package/dist/{chunk-YW54RH77.cjs → chunk-DB7U2C5B.cjs} +12 -5
  24. package/dist/chunk-DB7U2C5B.cjs.map +1 -0
  25. package/dist/{chunk-DST75PA4.js → chunk-DGS2KGDI.js} +4 -4
  26. package/dist/{chunk-DST75PA4.js.map → chunk-DGS2KGDI.js.map} +1 -1
  27. package/dist/{chunk-YIN5F7VO.js → chunk-EEU5NHHU.js} +4254 -3958
  28. package/dist/chunk-EEU5NHHU.js.map +1 -0
  29. package/dist/{chunk-A6EWCOGA.cjs → chunk-H5S4PS44.cjs} +197 -27
  30. package/dist/chunk-H5S4PS44.cjs.map +1 -0
  31. package/dist/{chunk-3YMDR4OL.cjs → chunk-HTAUP7ER.cjs} +4 -4
  32. package/dist/{chunk-3YMDR4OL.cjs.map → chunk-HTAUP7ER.cjs.map} +1 -1
  33. package/dist/{chunk-OHLVZVIK.js → chunk-IC5OUWKJ.js} +12 -5
  34. package/dist/chunk-IC5OUWKJ.js.map +1 -0
  35. package/dist/{chunk-MZIMV2BB.js → chunk-IHDE4CJV.js} +244 -213
  36. package/dist/chunk-IHDE4CJV.js.map +1 -0
  37. package/dist/{chunk-3KJW4EMO.js → chunk-IHEYJDJP.js} +3 -3
  38. package/dist/{chunk-3KJW4EMO.js.map → chunk-IHEYJDJP.js.map} +1 -1
  39. package/dist/{chunk-CXVMDV2B.js → chunk-IOY7Y5GV.js} +197 -27
  40. package/dist/chunk-IOY7Y5GV.js.map +1 -0
  41. package/dist/{chunk-MDC6VYA6.cjs → chunk-KAVAKMOQ.cjs} +4 -8
  42. package/dist/chunk-KAVAKMOQ.cjs.map +1 -0
  43. package/dist/{chunk-7WC7ALDW.cjs → chunk-LNKS4TJ6.cjs} +6 -6
  44. package/dist/{chunk-7WC7ALDW.cjs.map → chunk-LNKS4TJ6.cjs.map} +1 -1
  45. package/dist/{chunk-R3364RAL.js → chunk-MWGGSA5Q.js} +4 -4
  46. package/dist/{chunk-R3364RAL.js.map → chunk-MWGGSA5Q.js.map} +1 -1
  47. package/dist/{chunk-QSN5KQXZ.cjs → chunk-O7PZ4VOO.cjs} +11 -11
  48. package/dist/{chunk-QSN5KQXZ.cjs.map → chunk-O7PZ4VOO.cjs.map} +1 -1
  49. package/dist/chunk-OQDRPRKM.cjs +46 -0
  50. package/dist/chunk-OQDRPRKM.cjs.map +1 -0
  51. package/dist/{chunk-YV2YGQRY.js → chunk-RHKNKJNM.js} +101 -13
  52. package/dist/chunk-RHKNKJNM.js.map +1 -0
  53. package/dist/{chunk-TPDMP7OD.js → chunk-RHYZ6CQN.js} +4 -8
  54. package/dist/chunk-RHYZ6CQN.js.map +1 -0
  55. package/dist/{chunk-G5JVVFIG.cjs → chunk-RZNHRIM7.cjs} +9 -9
  56. package/dist/{chunk-G5JVVFIG.cjs.map → chunk-RZNHRIM7.cjs.map} +1 -1
  57. package/dist/{chunk-JZ6TH4HQ.cjs → chunk-TL2TTA4X.cjs} +4260 -3962
  58. package/dist/chunk-TL2TTA4X.cjs.map +1 -0
  59. package/dist/{chunk-KNXZ7KYL.cjs → chunk-TVPANHLE.cjs} +40 -2
  60. package/dist/chunk-TVPANHLE.cjs.map +1 -0
  61. package/dist/{chunk-7S6LA43E.cjs → chunk-VJWRJWSC.cjs} +278 -248
  62. package/dist/chunk-VJWRJWSC.cjs.map +1 -0
  63. package/dist/chunk-X2HAI3OX.js +39 -0
  64. package/dist/chunk-X2HAI3OX.js.map +1 -0
  65. package/dist/{chunk-FZ5DRHKE.js → chunk-XB3DA67Q.js} +325 -5
  66. package/dist/chunk-XB3DA67Q.js.map +1 -0
  67. package/dist/{chunk-NUV3BLRH.cjs → chunk-XWZAKKFT.cjs} +17 -16
  68. package/dist/chunk-XWZAKKFT.cjs.map +1 -0
  69. package/dist/{chunk-4GB2GS4S.js → chunk-YM6245EM.js} +5 -5
  70. package/dist/{chunk-4GB2GS4S.js.map → chunk-YM6245EM.js.map} +1 -1
  71. package/dist/datasets/index.cjs +17 -17
  72. package/dist/datasets/index.js +2 -2
  73. package/dist/docs/SKILL.md +2 -1
  74. package/dist/docs/assets/SOURCE_MAP.json +417 -391
  75. package/dist/docs/references/docs-memory-observational-memory.md +2 -0
  76. package/dist/docs/references/docs-streaming-tool-streaming.md +6 -0
  77. package/dist/docs/references/docs-workspace-filesystem.md +21 -1
  78. package/dist/docs/references/reference-harness-harness-class.md +645 -0
  79. package/dist/docs/references/reference-memory-memory-class.md +1 -1
  80. package/dist/docs/references/reference-memory-observational-memory.md +1 -0
  81. package/dist/docs/references/reference-workspace-local-filesystem.md +25 -0
  82. package/dist/docs/references/reference-workspace-workspace-class.md +1 -24
  83. package/dist/docs/references/reference.md +1 -0
  84. package/dist/editor/types.d.ts +20 -1
  85. package/dist/editor/types.d.ts.map +1 -1
  86. package/dist/evals/base.d.ts.map +1 -1
  87. package/dist/evals/index.cjs +20 -20
  88. package/dist/evals/index.js +3 -3
  89. package/dist/evals/scoreTraces/index.cjs +5 -5
  90. package/dist/evals/scoreTraces/index.js +2 -2
  91. package/dist/events/index.cjs +6 -2
  92. package/dist/events/index.d.ts +1 -0
  93. package/dist/events/index.d.ts.map +1 -1
  94. package/dist/events/index.js +1 -1
  95. package/dist/harness/harness.d.ts +105 -35
  96. package/dist/harness/harness.d.ts.map +1 -1
  97. package/dist/harness/index.cjs +472 -64
  98. package/dist/harness/index.cjs.map +1 -1
  99. package/dist/harness/index.d.ts +2 -1
  100. package/dist/harness/index.d.ts.map +1 -1
  101. package/dist/harness/index.js +468 -62
  102. package/dist/harness/index.js.map +1 -1
  103. package/dist/harness/tools.d.ts +38 -0
  104. package/dist/harness/tools.d.ts.map +1 -1
  105. package/dist/harness/types.d.ts +64 -9
  106. package/dist/harness/types.d.ts.map +1 -1
  107. package/dist/index.cjs +2 -2
  108. package/dist/index.js +1 -1
  109. package/dist/llm/index.cjs +12 -12
  110. package/dist/llm/index.js +3 -3
  111. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  112. package/dist/loop/index.cjs +12 -12
  113. package/dist/loop/index.js +1 -1
  114. package/dist/loop/network/index.d.ts +6 -6
  115. package/dist/loop/network/index.d.ts.map +1 -1
  116. package/dist/loop/test-utils/options.d.ts.map +1 -1
  117. package/dist/loop/workflows/agentic-execution/index.d.ts +21 -21
  118. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +14 -14
  119. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  120. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +7 -7
  121. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  122. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  123. package/dist/loop/workflows/agentic-loop/index.d.ts +21 -21
  124. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  125. package/dist/loop/workflows/schema.d.ts +30 -30
  126. package/dist/loop/workflows/stream.d.ts +0 -13
  127. package/dist/loop/workflows/stream.d.ts.map +1 -1
  128. package/dist/mastra/index.cjs +2 -2
  129. package/dist/mastra/index.js +1 -1
  130. package/dist/memory/index.cjs +14 -14
  131. package/dist/memory/index.js +1 -1
  132. package/dist/models-dev-6P4CM74H.js +3 -0
  133. package/dist/{models-dev-MDI5E2YA.js.map → models-dev-6P4CM74H.js.map} +1 -1
  134. package/dist/models-dev-CLLSNT5L.cjs +12 -0
  135. package/dist/{models-dev-BW2GAM3K.cjs.map → models-dev-CLLSNT5L.cjs.map} +1 -1
  136. package/dist/processor-provider/index.cjs +256 -0
  137. package/dist/processor-provider/index.cjs.map +1 -0
  138. package/dist/processor-provider/index.d.ts +5 -0
  139. package/dist/processor-provider/index.d.ts.map +1 -0
  140. package/dist/processor-provider/index.js +243 -0
  141. package/dist/processor-provider/index.js.map +1 -0
  142. package/dist/processor-provider/phase-filtered-processor.d.ts +22 -0
  143. package/dist/processor-provider/phase-filtered-processor.d.ts.map +1 -0
  144. package/dist/processor-provider/providers/index.d.ts +12 -0
  145. package/dist/processor-provider/providers/index.d.ts.map +1 -0
  146. package/dist/processor-provider/types.d.ts +65 -0
  147. package/dist/processor-provider/types.d.ts.map +1 -0
  148. package/dist/processors/index.cjs +41 -41
  149. package/dist/processors/index.js +1 -1
  150. package/dist/processors/memory/message-history.d.ts.map +1 -1
  151. package/dist/processors/step-schema.d.ts +14 -14
  152. package/dist/provider-registry-HMTFO5FV.cjs +40 -0
  153. package/dist/{provider-registry-4PH2JPIA.cjs.map → provider-registry-HMTFO5FV.cjs.map} +1 -1
  154. package/dist/provider-registry-TTZ2WN2P.js +3 -0
  155. package/dist/{provider-registry-VEJ3PN4S.js.map → provider-registry-TTZ2WN2P.js.map} +1 -1
  156. package/dist/relevance/index.cjs +3 -3
  157. package/dist/relevance/index.js +1 -1
  158. package/dist/storage/base.d.ts +2 -1
  159. package/dist/storage/base.d.ts.map +1 -1
  160. package/dist/storage/constants.cjs +68 -52
  161. package/dist/storage/constants.d.ts +6 -2
  162. package/dist/storage/constants.d.ts.map +1 -1
  163. package/dist/storage/constants.js +1 -1
  164. package/dist/storage/domains/index.d.ts +1 -0
  165. package/dist/storage/domains/index.d.ts.map +1 -1
  166. package/dist/storage/domains/inmemory-db.d.ts +4 -1
  167. package/dist/storage/domains/inmemory-db.d.ts.map +1 -1
  168. package/dist/storage/domains/mcp-servers/base.d.ts +47 -0
  169. package/dist/storage/domains/mcp-servers/base.d.ts.map +1 -0
  170. package/dist/storage/domains/mcp-servers/index.d.ts +3 -0
  171. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
  172. package/dist/storage/domains/mcp-servers/inmemory.d.ts +31 -0
  173. package/dist/storage/domains/mcp-servers/inmemory.d.ts.map +1 -0
  174. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  175. package/dist/storage/domains/observability/types.d.ts +44 -44
  176. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  177. package/dist/storage/index.cjs +178 -154
  178. package/dist/storage/index.js +2 -2
  179. package/dist/storage/mock.d.ts.map +1 -1
  180. package/dist/storage/types.d.ts +220 -6
  181. package/dist/storage/types.d.ts.map +1 -1
  182. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  183. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  184. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  185. package/dist/stream/base/input.d.ts +19 -0
  186. package/dist/stream/base/input.d.ts.map +1 -1
  187. package/dist/stream/base/output.d.ts.map +1 -1
  188. package/dist/stream/index.cjs +11 -11
  189. package/dist/stream/index.js +2 -2
  190. package/dist/tool-loop-agent/index.cjs +4 -4
  191. package/dist/tool-loop-agent/index.js +1 -1
  192. package/dist/vector/index.cjs +9 -9
  193. package/dist/vector/index.js +2 -2
  194. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  195. package/dist/workflows/evented/index.cjs +10 -10
  196. package/dist/workflows/evented/index.js +1 -1
  197. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  198. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  199. package/dist/workflows/index.cjs +25 -25
  200. package/dist/workflows/index.js +1 -1
  201. package/dist/workflows/step.d.ts.map +1 -1
  202. package/dist/workspace/constants/index.d.ts +1 -0
  203. package/dist/workspace/constants/index.d.ts.map +1 -1
  204. package/dist/workspace/index.cjs +64 -64
  205. package/dist/workspace/index.js +1 -1
  206. package/dist/workspace/tools/ast-edit.d.ts +97 -0
  207. package/dist/workspace/tools/ast-edit.d.ts.map +1 -0
  208. package/dist/workspace/tools/search.d.ts +1 -1
  209. package/dist/workspace/tools/tools.d.ts.map +1 -1
  210. package/package.json +12 -11
  211. package/processor-provider.d.ts +1 -0
  212. package/dist/chunk-4D4KB75Y.cjs +0 -9
  213. package/dist/chunk-4D4KB75Y.cjs.map +0 -1
  214. package/dist/chunk-7S6LA43E.cjs.map +0 -1
  215. package/dist/chunk-A6EWCOGA.cjs.map +0 -1
  216. package/dist/chunk-BVUMKER5.js +0 -7
  217. package/dist/chunk-BVUMKER5.js.map +0 -1
  218. package/dist/chunk-CXVMDV2B.js.map +0 -1
  219. package/dist/chunk-D57U4II4.js.map +0 -1
  220. package/dist/chunk-FZ5DRHKE.js.map +0 -1
  221. package/dist/chunk-JZ6TH4HQ.cjs.map +0 -1
  222. package/dist/chunk-KNXZ7KYL.cjs.map +0 -1
  223. package/dist/chunk-MDC6VYA6.cjs.map +0 -1
  224. package/dist/chunk-MZIMV2BB.js.map +0 -1
  225. package/dist/chunk-NUV3BLRH.cjs.map +0 -1
  226. package/dist/chunk-OHLVZVIK.js.map +0 -1
  227. package/dist/chunk-OQ5LZ6OV.cjs.map +0 -1
  228. package/dist/chunk-S4VVZI4E.cjs.map +0 -1
  229. package/dist/chunk-TPDMP7OD.js.map +0 -1
  230. package/dist/chunk-UZFGMMKU.js.map +0 -1
  231. package/dist/chunk-YIN5F7VO.js.map +0 -1
  232. package/dist/chunk-YV2YGQRY.js.map +0 -1
  233. package/dist/chunk-YW54RH77.cjs.map +0 -1
  234. package/dist/models-dev-BW2GAM3K.cjs +0 -12
  235. package/dist/models-dev-MDI5E2YA.js +0 -3
  236. package/dist/provider-registry-4PH2JPIA.cjs +0 -40
  237. package/dist/provider-registry-VEJ3PN4S.js +0 -3
@@ -3678,7 +3678,7 @@ async function getVercelRequestId() {
3678
3678
  var _a93;
3679
3679
  return (_a93 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a93["x-vercel-id"];
3680
3680
  }
3681
- var VERSION2 = "3.0.50";
3681
+ var VERSION2 = "3.0.52";
3682
3682
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
3683
3683
  function createGatewayProvider(options = {}) {
3684
3684
  var _a93, _b92;
@@ -5136,7 +5136,7 @@ function detectMediaType({
5136
5136
  }
5137
5137
  return void 0;
5138
5138
  }
5139
- var VERSION3 = "6.0.91";
5139
+ var VERSION3 = "6.0.94";
5140
5140
  var download = async ({
5141
5141
  url,
5142
5142
  maxBytes,
@@ -6561,6 +6561,10 @@ function collectToolApprovals({
6561
6561
  }
6562
6562
  return { approvedToolApprovals, deniedToolApprovals };
6563
6563
  }
6564
+ function now() {
6565
+ var _a21, _b92;
6566
+ return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
6567
+ }
6564
6568
  async function executeToolCall({
6565
6569
  toolCall,
6566
6570
  tools,
@@ -6569,7 +6573,11 @@ async function executeToolCall({
6569
6573
  messages,
6570
6574
  abortSignal,
6571
6575
  experimental_context,
6572
- onPreliminaryToolResult
6576
+ stepNumber,
6577
+ model,
6578
+ onPreliminaryToolResult,
6579
+ onToolCallStart,
6580
+ onToolCallFinish
6573
6581
  }) {
6574
6582
  const { toolName, toolCallId, input } = toolCall;
6575
6583
  const tool2 = tools == null ? void 0 : tools[toolName];
@@ -6595,6 +6603,20 @@ async function executeToolCall({
6595
6603
  tracer,
6596
6604
  fn: async (span) => {
6597
6605
  let output;
6606
+ try {
6607
+ await (onToolCallStart == null ? void 0 : onToolCallStart({
6608
+ stepNumber,
6609
+ model,
6610
+ toolCall,
6611
+ messages,
6612
+ abortSignal,
6613
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6614
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6615
+ experimental_context
6616
+ }));
6617
+ } catch (_ignored) {
6618
+ }
6619
+ const startTime = now();
6598
6620
  try {
6599
6621
  const stream = executeTool({
6600
6622
  execute: tool2.execute.bind(tool2),
@@ -6619,6 +6641,23 @@ async function executeToolCall({
6619
6641
  }
6620
6642
  }
6621
6643
  } catch (error) {
6644
+ const durationMs2 = now() - startTime;
6645
+ try {
6646
+ await (onToolCallFinish == null ? void 0 : onToolCallFinish({
6647
+ stepNumber,
6648
+ model,
6649
+ toolCall,
6650
+ messages,
6651
+ abortSignal,
6652
+ success: false,
6653
+ error,
6654
+ durationMs: durationMs2,
6655
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6656
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6657
+ experimental_context
6658
+ }));
6659
+ } catch (_ignored) {
6660
+ }
6622
6661
  recordErrorOnSpan(span, error);
6623
6662
  return {
6624
6663
  type: "tool-error",
@@ -6630,6 +6669,23 @@ async function executeToolCall({
6630
6669
  ...toolCall.providerMetadata != null ? { providerMetadata: toolCall.providerMetadata } : {}
6631
6670
  };
6632
6671
  }
6672
+ const durationMs = now() - startTime;
6673
+ try {
6674
+ await (onToolCallFinish == null ? void 0 : onToolCallFinish({
6675
+ stepNumber,
6676
+ model,
6677
+ toolCall,
6678
+ messages,
6679
+ abortSignal,
6680
+ success: true,
6681
+ output,
6682
+ durationMs,
6683
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6684
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6685
+ experimental_context
6686
+ }));
6687
+ } catch (_ignored) {
6688
+ }
6633
6689
  try {
6634
6690
  span.setAttributes(
6635
6691
  await selectTelemetryAttributes({
@@ -7493,6 +7549,11 @@ async function doParseToolCall({
7493
7549
  }
7494
7550
  var DefaultStepResult = class {
7495
7551
  constructor({
7552
+ stepNumber,
7553
+ model,
7554
+ functionId,
7555
+ metadata,
7556
+ experimental_context,
7496
7557
  content,
7497
7558
  finishReason,
7498
7559
  rawFinishReason,
@@ -7502,6 +7563,11 @@ var DefaultStepResult = class {
7502
7563
  response,
7503
7564
  providerMetadata
7504
7565
  }) {
7566
+ this.stepNumber = stepNumber;
7567
+ this.model = model;
7568
+ this.functionId = functionId;
7569
+ this.metadata = metadata;
7570
+ this.experimental_context = experimental_context;
7505
7571
  this.content = content;
7506
7572
  this.finishReason = finishReason;
7507
7573
  this.rawFinishReason = rawFinishReason;
@@ -7743,6 +7809,10 @@ async function generateText({
7743
7809
  experimental_context,
7744
7810
  experimental_include: include,
7745
7811
  _internal: { generateId: generateId2 = originalGenerateId } = {},
7812
+ experimental_onStart: onStart,
7813
+ experimental_onStepStart: onStepStart,
7814
+ experimental_onToolCallStart: onToolCallStart,
7815
+ experimental_onToolCallFinish: onToolCallFinish,
7746
7816
  onStepFinish,
7747
7817
  onFinish,
7748
7818
  ...settings
@@ -7777,6 +7847,37 @@ async function generateText({
7777
7847
  prompt,
7778
7848
  messages
7779
7849
  });
7850
+ try {
7851
+ await (onStart == null ? void 0 : onStart({
7852
+ model: { provider: model.provider, modelId: model.modelId },
7853
+ system,
7854
+ prompt,
7855
+ messages,
7856
+ tools,
7857
+ toolChoice,
7858
+ activeTools,
7859
+ maxOutputTokens: callSettings.maxOutputTokens,
7860
+ temperature: callSettings.temperature,
7861
+ topP: callSettings.topP,
7862
+ topK: callSettings.topK,
7863
+ presencePenalty: callSettings.presencePenalty,
7864
+ frequencyPenalty: callSettings.frequencyPenalty,
7865
+ stopSequences: callSettings.stopSequences,
7866
+ seed: callSettings.seed,
7867
+ maxRetries,
7868
+ timeout,
7869
+ headers,
7870
+ providerOptions,
7871
+ stopWhen,
7872
+ output,
7873
+ abortSignal,
7874
+ include,
7875
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
7876
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
7877
+ experimental_context
7878
+ }));
7879
+ } catch (_ignored) {
7880
+ }
7780
7881
  const tracer = getTracer(telemetry);
7781
7882
  try {
7782
7883
  return await recordSpan({
@@ -7800,7 +7901,7 @@ async function generateText({
7800
7901
  }),
7801
7902
  tracer,
7802
7903
  fn: async (span) => {
7803
- var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7904
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
7804
7905
  const initialMessages = initialPrompt.messages;
7805
7906
  const responseMessages = [];
7806
7907
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
@@ -7817,7 +7918,11 @@ async function generateText({
7817
7918
  telemetry,
7818
7919
  messages: initialMessages,
7819
7920
  abortSignal: mergedAbortSignal,
7820
- experimental_context
7921
+ experimental_context,
7922
+ stepNumber: 0,
7923
+ model: { provider: model.provider, modelId: model.modelId },
7924
+ onToolCallStart,
7925
+ onToolCallFinish
7821
7926
  });
7822
7927
  const toolContent = [];
7823
7928
  for (const output2 of toolOutputs) {
@@ -7906,11 +8011,44 @@ async function generateText({
7906
8011
  download: download2
7907
8012
  });
7908
8013
  experimental_context = (_d = prepareStepResult == null ? void 0 : prepareStepResult.experimental_context) != null ? _d : experimental_context;
8014
+ const stepActiveTools = (_e = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _e : activeTools;
7909
8015
  const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
7910
8016
  tools,
7911
- toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
7912
- activeTools: (_f = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _f : activeTools
8017
+ toolChoice: (_f = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _f : toolChoice,
8018
+ activeTools: stepActiveTools
7913
8019
  });
8020
+ const stepMessages = (_g = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _g : stepInputMessages;
8021
+ const stepSystem = (_h = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _h : initialPrompt.system;
8022
+ const stepProviderOptions = mergeObjects(
8023
+ providerOptions,
8024
+ prepareStepResult == null ? void 0 : prepareStepResult.providerOptions
8025
+ );
8026
+ try {
8027
+ await (onStepStart == null ? void 0 : onStepStart({
8028
+ stepNumber: steps.length,
8029
+ model: {
8030
+ provider: stepModel.provider,
8031
+ modelId: stepModel.modelId
8032
+ },
8033
+ system: stepSystem,
8034
+ messages: stepMessages,
8035
+ tools,
8036
+ toolChoice: stepToolChoice,
8037
+ activeTools: stepActiveTools,
8038
+ steps: [...steps],
8039
+ providerOptions: stepProviderOptions,
8040
+ timeout,
8041
+ headers,
8042
+ stopWhen,
8043
+ output,
8044
+ abortSignal,
8045
+ include,
8046
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
8047
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
8048
+ experimental_context
8049
+ }));
8050
+ } catch (_ignored) {
8051
+ }
7914
8052
  currentModelResponse = await retry(
7915
8053
  () => {
7916
8054
  var _a2222;
@@ -7953,10 +8091,6 @@ async function generateText({
7953
8091
  tracer,
7954
8092
  fn: async (span2) => {
7955
8093
  var _a23, _b222, _c2, _d2, _e2, _f2, _g2, _h2;
7956
- const stepProviderOptions = mergeObjects(
7957
- providerOptions,
7958
- prepareStepResult == null ? void 0 : prepareStepResult.providerOptions
7959
- );
7960
8094
  const result = await stepModel.doGenerate({
7961
8095
  ...callSettings2,
7962
8096
  tools: stepTools,
@@ -8088,7 +8222,14 @@ async function generateText({
8088
8222
  telemetry,
8089
8223
  messages: stepInputMessages,
8090
8224
  abortSignal: mergedAbortSignal,
8091
- experimental_context
8225
+ experimental_context,
8226
+ stepNumber: steps.length,
8227
+ model: {
8228
+ provider: stepModel.provider,
8229
+ modelId: stepModel.modelId
8230
+ },
8231
+ onToolCallStart,
8232
+ onToolCallFinish
8092
8233
  })
8093
8234
  );
8094
8235
  }
@@ -8125,15 +8266,24 @@ async function generateText({
8125
8266
  tools
8126
8267
  })
8127
8268
  );
8128
- const stepRequest = ((_g = include == null ? void 0 : include.requestBody) != null ? _g : true) ? (_h = currentModelResponse.request) != null ? _h : {} : { ...currentModelResponse.request, body: void 0 };
8269
+ const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
8129
8270
  const stepResponse = {
8130
8271
  ...currentModelResponse.response,
8131
8272
  // deep clone msgs to avoid mutating past messages in multi-step:
8132
8273
  messages: structuredClone(responseMessages),
8133
8274
  // Conditionally include response body:
8134
- body: ((_i = include == null ? void 0 : include.responseBody) != null ? _i : true) ? (_j = currentModelResponse.response) == null ? void 0 : _j.body : void 0
8275
+ body: ((_k = include == null ? void 0 : include.responseBody) != null ? _k : true) ? (_l = currentModelResponse.response) == null ? void 0 : _l.body : void 0
8135
8276
  };
8277
+ const stepNumber = steps.length;
8136
8278
  const currentStepResult = new DefaultStepResult({
8279
+ stepNumber,
8280
+ model: {
8281
+ provider: stepModel.provider,
8282
+ modelId: stepModel.modelId
8283
+ },
8284
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
8285
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
8286
+ experimental_context,
8137
8287
  content: stepContent,
8138
8288
  finishReason: currentModelResponse.finishReason.unified,
8139
8289
  rawFinishReason: currentModelResponse.finishReason.raw,
@@ -8144,7 +8294,7 @@ async function generateText({
8144
8294
  response: stepResponse
8145
8295
  });
8146
8296
  logWarnings({
8147
- warnings: (_k = currentModelResponse.warnings) != null ? _k : [],
8297
+ warnings: (_m = currentModelResponse.warnings) != null ? _m : [],
8148
8298
  provider: stepModel.provider,
8149
8299
  model: stepModel.modelId
8150
8300
  });
@@ -8202,6 +8352,11 @@ async function generateText({
8202
8352
  }
8203
8353
  );
8204
8354
  await (onFinish == null ? void 0 : onFinish({
8355
+ stepNumber: lastStep.stepNumber,
8356
+ model: lastStep.model,
8357
+ functionId: lastStep.functionId,
8358
+ metadata: lastStep.metadata,
8359
+ experimental_context: lastStep.experimental_context,
8205
8360
  finishReason: lastStep.finishReason,
8206
8361
  rawFinishReason: lastStep.rawFinishReason,
8207
8362
  usage: lastStep.usage,
@@ -8222,8 +8377,7 @@ async function generateText({
8222
8377
  warnings: lastStep.warnings,
8223
8378
  providerMetadata: lastStep.providerMetadata,
8224
8379
  steps,
8225
- totalUsage,
8226
- experimental_context
8380
+ totalUsage
8227
8381
  }));
8228
8382
  let resolvedOutput;
8229
8383
  if (lastStep.finishReason === "stop") {
@@ -8255,7 +8409,11 @@ async function executeTools({
8255
8409
  telemetry,
8256
8410
  messages,
8257
8411
  abortSignal,
8258
- experimental_context
8412
+ experimental_context,
8413
+ stepNumber,
8414
+ model,
8415
+ onToolCallStart,
8416
+ onToolCallFinish
8259
8417
  }) {
8260
8418
  const toolOutputs = await Promise.all(
8261
8419
  toolCalls.map(
@@ -8266,7 +8424,11 @@ async function executeTools({
8266
8424
  telemetry,
8267
8425
  messages,
8268
8426
  abortSignal,
8269
- experimental_context
8427
+ experimental_context,
8428
+ stepNumber,
8429
+ model,
8430
+ onToolCallStart,
8431
+ onToolCallFinish
8270
8432
  })
8271
8433
  )
8272
8434
  );
@@ -9427,10 +9589,6 @@ function createStitchableStream() {
9427
9589
  terminate
9428
9590
  };
9429
9591
  }
9430
- function now() {
9431
- var _a21, _b92;
9432
- return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
9433
- }
9434
9592
  function runToolsTransformation({
9435
9593
  tools,
9436
9594
  generatorStream,
@@ -9986,6 +10144,14 @@ var DefaultStreamTextResult = class {
9986
10144
  tools
9987
10145
  });
9988
10146
  const currentStepResult = new DefaultStepResult({
10147
+ stepNumber: recordedSteps.length,
10148
+ model: {
10149
+ provider: model.provider,
10150
+ modelId: model.modelId
10151
+ },
10152
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
10153
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
10154
+ experimental_context,
9989
10155
  content: recordedContent,
9990
10156
  finishReason: part.finishReason,
9991
10157
  rawFinishReason: part.rawFinishReason,
@@ -10034,6 +10200,11 @@ var DefaultStreamTextResult = class {
10034
10200
  self._steps.resolve(recordedSteps);
10035
10201
  const finalStep = recordedSteps[recordedSteps.length - 1];
10036
10202
  await (onFinish == null ? void 0 : onFinish({
10203
+ stepNumber: finalStep.stepNumber,
10204
+ model: finalStep.model,
10205
+ functionId: finalStep.functionId,
10206
+ metadata: finalStep.metadata,
10207
+ experimental_context: finalStep.experimental_context,
10037
10208
  finishReason: finalStep.finishReason,
10038
10209
  rawFinishReason: finalStep.rawFinishReason,
10039
10210
  totalUsage,
@@ -10054,8 +10225,7 @@ var DefaultStreamTextResult = class {
10054
10225
  response: finalStep.response,
10055
10226
  warnings: finalStep.warnings,
10056
10227
  providerMetadata: finalStep.providerMetadata,
10057
- steps: recordedSteps,
10058
- experimental_context
10228
+ steps: recordedSteps
10059
10229
  }));
10060
10230
  rootSpan.setAttributes(
10061
10231
  await selectTelemetryAttributes({
@@ -11459,5 +11629,5 @@ createIdGenerator({ prefix: "aiobj", size: 24 });
11459
11629
  exports.ToolLoopAgent = ToolLoopAgent;
11460
11630
  exports.createGatewayProvider = createGatewayProvider;
11461
11631
  exports.embed = embed;
11462
- //# sourceMappingURL=chunk-A6EWCOGA.cjs.map
11463
- //# sourceMappingURL=chunk-A6EWCOGA.cjs.map
11632
+ //# sourceMappingURL=chunk-H5S4PS44.cjs.map
11633
+ //# sourceMappingURL=chunk-H5S4PS44.cjs.map