@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
@@ -3657,7 +3657,7 @@ async function getVercelRequestId() {
3657
3657
  var _a93;
3658
3658
  return (_a93 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a93["x-vercel-id"];
3659
3659
  }
3660
- var VERSION2 = "3.0.50";
3660
+ var VERSION2 = "3.0.52";
3661
3661
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
3662
3662
  function createGatewayProvider(options = {}) {
3663
3663
  var _a93, _b92;
@@ -5115,7 +5115,7 @@ function detectMediaType({
5115
5115
  }
5116
5116
  return void 0;
5117
5117
  }
5118
- var VERSION3 = "6.0.91";
5118
+ var VERSION3 = "6.0.94";
5119
5119
  var download = async ({
5120
5120
  url,
5121
5121
  maxBytes,
@@ -6540,6 +6540,10 @@ function collectToolApprovals({
6540
6540
  }
6541
6541
  return { approvedToolApprovals, deniedToolApprovals };
6542
6542
  }
6543
+ function now() {
6544
+ var _a21, _b92;
6545
+ return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
6546
+ }
6543
6547
  async function executeToolCall({
6544
6548
  toolCall,
6545
6549
  tools,
@@ -6548,7 +6552,11 @@ async function executeToolCall({
6548
6552
  messages,
6549
6553
  abortSignal,
6550
6554
  experimental_context,
6551
- onPreliminaryToolResult
6555
+ stepNumber,
6556
+ model,
6557
+ onPreliminaryToolResult,
6558
+ onToolCallStart,
6559
+ onToolCallFinish
6552
6560
  }) {
6553
6561
  const { toolName, toolCallId, input } = toolCall;
6554
6562
  const tool2 = tools == null ? void 0 : tools[toolName];
@@ -6574,6 +6582,20 @@ async function executeToolCall({
6574
6582
  tracer,
6575
6583
  fn: async (span) => {
6576
6584
  let output;
6585
+ try {
6586
+ await (onToolCallStart == null ? void 0 : onToolCallStart({
6587
+ stepNumber,
6588
+ model,
6589
+ toolCall,
6590
+ messages,
6591
+ abortSignal,
6592
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6593
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6594
+ experimental_context
6595
+ }));
6596
+ } catch (_ignored) {
6597
+ }
6598
+ const startTime = now();
6577
6599
  try {
6578
6600
  const stream = executeTool({
6579
6601
  execute: tool2.execute.bind(tool2),
@@ -6598,6 +6620,23 @@ async function executeToolCall({
6598
6620
  }
6599
6621
  }
6600
6622
  } catch (error) {
6623
+ const durationMs2 = now() - startTime;
6624
+ try {
6625
+ await (onToolCallFinish == null ? void 0 : onToolCallFinish({
6626
+ stepNumber,
6627
+ model,
6628
+ toolCall,
6629
+ messages,
6630
+ abortSignal,
6631
+ success: false,
6632
+ error,
6633
+ durationMs: durationMs2,
6634
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6635
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6636
+ experimental_context
6637
+ }));
6638
+ } catch (_ignored) {
6639
+ }
6601
6640
  recordErrorOnSpan(span, error);
6602
6641
  return {
6603
6642
  type: "tool-error",
@@ -6609,6 +6648,23 @@ async function executeToolCall({
6609
6648
  ...toolCall.providerMetadata != null ? { providerMetadata: toolCall.providerMetadata } : {}
6610
6649
  };
6611
6650
  }
6651
+ const durationMs = now() - startTime;
6652
+ try {
6653
+ await (onToolCallFinish == null ? void 0 : onToolCallFinish({
6654
+ stepNumber,
6655
+ model,
6656
+ toolCall,
6657
+ messages,
6658
+ abortSignal,
6659
+ success: true,
6660
+ output,
6661
+ durationMs,
6662
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
6663
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
6664
+ experimental_context
6665
+ }));
6666
+ } catch (_ignored) {
6667
+ }
6612
6668
  try {
6613
6669
  span.setAttributes(
6614
6670
  await selectTelemetryAttributes({
@@ -7472,6 +7528,11 @@ async function doParseToolCall({
7472
7528
  }
7473
7529
  var DefaultStepResult = class {
7474
7530
  constructor({
7531
+ stepNumber,
7532
+ model,
7533
+ functionId,
7534
+ metadata,
7535
+ experimental_context,
7475
7536
  content,
7476
7537
  finishReason,
7477
7538
  rawFinishReason,
@@ -7481,6 +7542,11 @@ var DefaultStepResult = class {
7481
7542
  response,
7482
7543
  providerMetadata
7483
7544
  }) {
7545
+ this.stepNumber = stepNumber;
7546
+ this.model = model;
7547
+ this.functionId = functionId;
7548
+ this.metadata = metadata;
7549
+ this.experimental_context = experimental_context;
7484
7550
  this.content = content;
7485
7551
  this.finishReason = finishReason;
7486
7552
  this.rawFinishReason = rawFinishReason;
@@ -7722,6 +7788,10 @@ async function generateText({
7722
7788
  experimental_context,
7723
7789
  experimental_include: include,
7724
7790
  _internal: { generateId: generateId2 = originalGenerateId } = {},
7791
+ experimental_onStart: onStart,
7792
+ experimental_onStepStart: onStepStart,
7793
+ experimental_onToolCallStart: onToolCallStart,
7794
+ experimental_onToolCallFinish: onToolCallFinish,
7725
7795
  onStepFinish,
7726
7796
  onFinish,
7727
7797
  ...settings
@@ -7756,6 +7826,37 @@ async function generateText({
7756
7826
  prompt,
7757
7827
  messages
7758
7828
  });
7829
+ try {
7830
+ await (onStart == null ? void 0 : onStart({
7831
+ model: { provider: model.provider, modelId: model.modelId },
7832
+ system,
7833
+ prompt,
7834
+ messages,
7835
+ tools,
7836
+ toolChoice,
7837
+ activeTools,
7838
+ maxOutputTokens: callSettings.maxOutputTokens,
7839
+ temperature: callSettings.temperature,
7840
+ topP: callSettings.topP,
7841
+ topK: callSettings.topK,
7842
+ presencePenalty: callSettings.presencePenalty,
7843
+ frequencyPenalty: callSettings.frequencyPenalty,
7844
+ stopSequences: callSettings.stopSequences,
7845
+ seed: callSettings.seed,
7846
+ maxRetries,
7847
+ timeout,
7848
+ headers,
7849
+ providerOptions,
7850
+ stopWhen,
7851
+ output,
7852
+ abortSignal,
7853
+ include,
7854
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
7855
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
7856
+ experimental_context
7857
+ }));
7858
+ } catch (_ignored) {
7859
+ }
7759
7860
  const tracer = getTracer(telemetry);
7760
7861
  try {
7761
7862
  return await recordSpan({
@@ -7779,7 +7880,7 @@ async function generateText({
7779
7880
  }),
7780
7881
  tracer,
7781
7882
  fn: async (span) => {
7782
- var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7883
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
7783
7884
  const initialMessages = initialPrompt.messages;
7784
7885
  const responseMessages = [];
7785
7886
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
@@ -7796,7 +7897,11 @@ async function generateText({
7796
7897
  telemetry,
7797
7898
  messages: initialMessages,
7798
7899
  abortSignal: mergedAbortSignal,
7799
- experimental_context
7900
+ experimental_context,
7901
+ stepNumber: 0,
7902
+ model: { provider: model.provider, modelId: model.modelId },
7903
+ onToolCallStart,
7904
+ onToolCallFinish
7800
7905
  });
7801
7906
  const toolContent = [];
7802
7907
  for (const output2 of toolOutputs) {
@@ -7885,11 +7990,44 @@ async function generateText({
7885
7990
  download: download2
7886
7991
  });
7887
7992
  experimental_context = (_d = prepareStepResult == null ? void 0 : prepareStepResult.experimental_context) != null ? _d : experimental_context;
7993
+ const stepActiveTools = (_e = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _e : activeTools;
7888
7994
  const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
7889
7995
  tools,
7890
- toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
7891
- activeTools: (_f = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _f : activeTools
7996
+ toolChoice: (_f = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _f : toolChoice,
7997
+ activeTools: stepActiveTools
7892
7998
  });
7999
+ const stepMessages = (_g = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _g : stepInputMessages;
8000
+ const stepSystem = (_h = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _h : initialPrompt.system;
8001
+ const stepProviderOptions = mergeObjects(
8002
+ providerOptions,
8003
+ prepareStepResult == null ? void 0 : prepareStepResult.providerOptions
8004
+ );
8005
+ try {
8006
+ await (onStepStart == null ? void 0 : onStepStart({
8007
+ stepNumber: steps.length,
8008
+ model: {
8009
+ provider: stepModel.provider,
8010
+ modelId: stepModel.modelId
8011
+ },
8012
+ system: stepSystem,
8013
+ messages: stepMessages,
8014
+ tools,
8015
+ toolChoice: stepToolChoice,
8016
+ activeTools: stepActiveTools,
8017
+ steps: [...steps],
8018
+ providerOptions: stepProviderOptions,
8019
+ timeout,
8020
+ headers,
8021
+ stopWhen,
8022
+ output,
8023
+ abortSignal,
8024
+ include,
8025
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
8026
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
8027
+ experimental_context
8028
+ }));
8029
+ } catch (_ignored) {
8030
+ }
7893
8031
  currentModelResponse = await retry(
7894
8032
  () => {
7895
8033
  var _a2222;
@@ -7932,10 +8070,6 @@ async function generateText({
7932
8070
  tracer,
7933
8071
  fn: async (span2) => {
7934
8072
  var _a23, _b222, _c2, _d2, _e2, _f2, _g2, _h2;
7935
- const stepProviderOptions = mergeObjects(
7936
- providerOptions,
7937
- prepareStepResult == null ? void 0 : prepareStepResult.providerOptions
7938
- );
7939
8073
  const result = await stepModel.doGenerate({
7940
8074
  ...callSettings2,
7941
8075
  tools: stepTools,
@@ -8067,7 +8201,14 @@ async function generateText({
8067
8201
  telemetry,
8068
8202
  messages: stepInputMessages,
8069
8203
  abortSignal: mergedAbortSignal,
8070
- experimental_context
8204
+ experimental_context,
8205
+ stepNumber: steps.length,
8206
+ model: {
8207
+ provider: stepModel.provider,
8208
+ modelId: stepModel.modelId
8209
+ },
8210
+ onToolCallStart,
8211
+ onToolCallFinish
8071
8212
  })
8072
8213
  );
8073
8214
  }
@@ -8104,15 +8245,24 @@ async function generateText({
8104
8245
  tools
8105
8246
  })
8106
8247
  );
8107
- const stepRequest = ((_g = include == null ? void 0 : include.requestBody) != null ? _g : true) ? (_h = currentModelResponse.request) != null ? _h : {} : { ...currentModelResponse.request, body: void 0 };
8248
+ const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
8108
8249
  const stepResponse = {
8109
8250
  ...currentModelResponse.response,
8110
8251
  // deep clone msgs to avoid mutating past messages in multi-step:
8111
8252
  messages: structuredClone(responseMessages),
8112
8253
  // Conditionally include response body:
8113
- body: ((_i = include == null ? void 0 : include.responseBody) != null ? _i : true) ? (_j = currentModelResponse.response) == null ? void 0 : _j.body : void 0
8254
+ body: ((_k = include == null ? void 0 : include.responseBody) != null ? _k : true) ? (_l = currentModelResponse.response) == null ? void 0 : _l.body : void 0
8114
8255
  };
8256
+ const stepNumber = steps.length;
8115
8257
  const currentStepResult = new DefaultStepResult({
8258
+ stepNumber,
8259
+ model: {
8260
+ provider: stepModel.provider,
8261
+ modelId: stepModel.modelId
8262
+ },
8263
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
8264
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
8265
+ experimental_context,
8116
8266
  content: stepContent,
8117
8267
  finishReason: currentModelResponse.finishReason.unified,
8118
8268
  rawFinishReason: currentModelResponse.finishReason.raw,
@@ -8123,7 +8273,7 @@ async function generateText({
8123
8273
  response: stepResponse
8124
8274
  });
8125
8275
  logWarnings({
8126
- warnings: (_k = currentModelResponse.warnings) != null ? _k : [],
8276
+ warnings: (_m = currentModelResponse.warnings) != null ? _m : [],
8127
8277
  provider: stepModel.provider,
8128
8278
  model: stepModel.modelId
8129
8279
  });
@@ -8181,6 +8331,11 @@ async function generateText({
8181
8331
  }
8182
8332
  );
8183
8333
  await (onFinish == null ? void 0 : onFinish({
8334
+ stepNumber: lastStep.stepNumber,
8335
+ model: lastStep.model,
8336
+ functionId: lastStep.functionId,
8337
+ metadata: lastStep.metadata,
8338
+ experimental_context: lastStep.experimental_context,
8184
8339
  finishReason: lastStep.finishReason,
8185
8340
  rawFinishReason: lastStep.rawFinishReason,
8186
8341
  usage: lastStep.usage,
@@ -8201,8 +8356,7 @@ async function generateText({
8201
8356
  warnings: lastStep.warnings,
8202
8357
  providerMetadata: lastStep.providerMetadata,
8203
8358
  steps,
8204
- totalUsage,
8205
- experimental_context
8359
+ totalUsage
8206
8360
  }));
8207
8361
  let resolvedOutput;
8208
8362
  if (lastStep.finishReason === "stop") {
@@ -8234,7 +8388,11 @@ async function executeTools({
8234
8388
  telemetry,
8235
8389
  messages,
8236
8390
  abortSignal,
8237
- experimental_context
8391
+ experimental_context,
8392
+ stepNumber,
8393
+ model,
8394
+ onToolCallStart,
8395
+ onToolCallFinish
8238
8396
  }) {
8239
8397
  const toolOutputs = await Promise.all(
8240
8398
  toolCalls.map(
@@ -8245,7 +8403,11 @@ async function executeTools({
8245
8403
  telemetry,
8246
8404
  messages,
8247
8405
  abortSignal,
8248
- experimental_context
8406
+ experimental_context,
8407
+ stepNumber,
8408
+ model,
8409
+ onToolCallStart,
8410
+ onToolCallFinish
8249
8411
  })
8250
8412
  )
8251
8413
  );
@@ -9406,10 +9568,6 @@ function createStitchableStream() {
9406
9568
  terminate
9407
9569
  };
9408
9570
  }
9409
- function now() {
9410
- var _a21, _b92;
9411
- return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
9412
- }
9413
9571
  function runToolsTransformation({
9414
9572
  tools,
9415
9573
  generatorStream,
@@ -9965,6 +10123,14 @@ var DefaultStreamTextResult = class {
9965
10123
  tools
9966
10124
  });
9967
10125
  const currentStepResult = new DefaultStepResult({
10126
+ stepNumber: recordedSteps.length,
10127
+ model: {
10128
+ provider: model.provider,
10129
+ modelId: model.modelId
10130
+ },
10131
+ functionId: telemetry == null ? void 0 : telemetry.functionId,
10132
+ metadata: telemetry == null ? void 0 : telemetry.metadata,
10133
+ experimental_context,
9968
10134
  content: recordedContent,
9969
10135
  finishReason: part.finishReason,
9970
10136
  rawFinishReason: part.rawFinishReason,
@@ -10013,6 +10179,11 @@ var DefaultStreamTextResult = class {
10013
10179
  self._steps.resolve(recordedSteps);
10014
10180
  const finalStep = recordedSteps[recordedSteps.length - 1];
10015
10181
  await (onFinish == null ? void 0 : onFinish({
10182
+ stepNumber: finalStep.stepNumber,
10183
+ model: finalStep.model,
10184
+ functionId: finalStep.functionId,
10185
+ metadata: finalStep.metadata,
10186
+ experimental_context: finalStep.experimental_context,
10016
10187
  finishReason: finalStep.finishReason,
10017
10188
  rawFinishReason: finalStep.rawFinishReason,
10018
10189
  totalUsage,
@@ -10033,8 +10204,7 @@ var DefaultStreamTextResult = class {
10033
10204
  response: finalStep.response,
10034
10205
  warnings: finalStep.warnings,
10035
10206
  providerMetadata: finalStep.providerMetadata,
10036
- steps: recordedSteps,
10037
- experimental_context
10207
+ steps: recordedSteps
10038
10208
  }));
10039
10209
  rootSpan.setAttributes(
10040
10210
  await selectTelemetryAttributes({
@@ -11436,5 +11606,5 @@ createIdGenerator({ prefix: "aiobj", size: 24 });
11436
11606
  createIdGenerator({ prefix: "aiobj", size: 24 });
11437
11607
 
11438
11608
  export { ToolLoopAgent, createGatewayProvider, embed };
11439
- //# sourceMappingURL=chunk-CXVMDV2B.js.map
11440
- //# sourceMappingURL=chunk-CXVMDV2B.js.map
11609
+ //# sourceMappingURL=chunk-IOY7Y5GV.js.map
11610
+ //# sourceMappingURL=chunk-IOY7Y5GV.js.map