@mastra/core 1.13.3-alpha.1 → 1.14.0-alpha.2

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 (264) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +1333 -0
  3. package/dist/agent/index.cjs +13 -13
  4. package/dist/agent/index.js +2 -2
  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/message-list/message-list.d.ts +12 -1
  9. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  10. package/dist/agent/message-list/types.d.ts +3 -3
  11. package/dist/agent/types.d.ts +1 -1
  12. package/dist/{chunk-3B6BQEKK.cjs → chunk-2FDGDAJQ.cjs} +3 -3
  13. package/dist/{chunk-3B6BQEKK.cjs.map → chunk-2FDGDAJQ.cjs.map} +1 -1
  14. package/dist/{chunk-GYSKVDYD.js → chunk-3TECGW34.js} +5 -5
  15. package/dist/{chunk-GYSKVDYD.js.map → chunk-3TECGW34.js.map} +1 -1
  16. package/dist/{chunk-Q4W5XQK2.cjs → chunk-445B4SO3.cjs} +292 -403
  17. package/dist/chunk-445B4SO3.cjs.map +1 -0
  18. package/dist/{chunk-WO2CP4Z2.cjs → chunk-4X35LO4W.cjs} +32 -156
  19. package/dist/chunk-4X35LO4W.cjs.map +1 -0
  20. package/dist/{chunk-GC7AHOXK.js → chunk-5LHPEIQQ.js} +12 -12
  21. package/dist/chunk-5LHPEIQQ.js.map +1 -0
  22. package/dist/{chunk-CMTNYR6E.js → chunk-5UAF67E3.js} +9 -9
  23. package/dist/{chunk-CMTNYR6E.js.map → chunk-5UAF67E3.js.map} +1 -1
  24. package/dist/{chunk-SBHYPYXD.js → chunk-5WKCTOYN.js} +13 -13
  25. package/dist/chunk-5WKCTOYN.js.map +1 -0
  26. package/dist/{chunk-WKZEZJKQ.js → chunk-7V4HN5NK.js} +5 -5
  27. package/dist/{chunk-WKZEZJKQ.js.map → chunk-7V4HN5NK.js.map} +1 -1
  28. package/dist/{chunk-F3SHGIQA.cjs → chunk-B3KIJAOJ.cjs} +185 -185
  29. package/dist/{chunk-F3SHGIQA.cjs.map → chunk-B3KIJAOJ.cjs.map} +1 -1
  30. package/dist/{chunk-TAXQJ5ZP.js → chunk-BOUXMXZQ.js} +4 -94
  31. package/dist/chunk-BOUXMXZQ.js.map +1 -0
  32. package/dist/{chunk-MIILNUS4.cjs → chunk-DDIY3CRP.cjs} +10 -10
  33. package/dist/chunk-DDIY3CRP.cjs.map +1 -0
  34. package/dist/{chunk-4RWTWZET.cjs → chunk-EAKNCJKL.cjs} +31 -433
  35. package/dist/chunk-EAKNCJKL.cjs.map +1 -0
  36. package/dist/{chunk-RE3YFYVQ.cjs → chunk-EH5D56XV.cjs} +7 -7
  37. package/dist/{chunk-RE3YFYVQ.cjs.map → chunk-EH5D56XV.cjs.map} +1 -1
  38. package/dist/{chunk-A2B3L753.js → chunk-FZNKE4DK.js} +4 -4
  39. package/dist/{chunk-A2B3L753.js.map → chunk-FZNKE4DK.js.map} +1 -1
  40. package/dist/chunk-GVQJCS5O.js +812 -0
  41. package/dist/chunk-GVQJCS5O.js.map +1 -0
  42. package/dist/{chunk-NUZYNU4M.cjs → chunk-J7Q3CZI5.cjs} +14 -14
  43. package/dist/{chunk-NUZYNU4M.cjs.map → chunk-J7Q3CZI5.cjs.map} +1 -1
  44. package/dist/{chunk-CJYTDH5Q.js → chunk-KJUHI5QK.js} +5 -5
  45. package/dist/chunk-KJUHI5QK.js.map +1 -0
  46. package/dist/{chunk-B44JEQHW.js → chunk-KKNT7W4Q.js} +4 -4
  47. package/dist/{chunk-B44JEQHW.js.map → chunk-KKNT7W4Q.js.map} +1 -1
  48. package/dist/{chunk-FDC6E3MJ.cjs → chunk-LAFTYVLN.cjs} +72 -72
  49. package/dist/chunk-LAFTYVLN.cjs.map +1 -0
  50. package/dist/chunk-LIRWMGGI.cjs +931 -0
  51. package/dist/chunk-LIRWMGGI.cjs.map +1 -0
  52. package/dist/{chunk-6JM4RID6.js → chunk-MCAE3D3S.js} +41 -7
  53. package/dist/chunk-MCAE3D3S.js.map +1 -0
  54. package/dist/{chunk-T5M2TGCD.js → chunk-OGR427FH.js} +14 -350
  55. package/dist/chunk-OGR427FH.js.map +1 -0
  56. package/dist/{chunk-AZZGCVBY.js → chunk-PV2DBPYF.js} +3 -3
  57. package/dist/{chunk-AZZGCVBY.js.map → chunk-PV2DBPYF.js.map} +1 -1
  58. package/dist/{chunk-Z7JQTINS.js → chunk-QROAUTDP.js} +3 -3
  59. package/dist/{chunk-Z7JQTINS.js.map → chunk-QROAUTDP.js.map} +1 -1
  60. package/dist/{chunk-DRZWU4MQ.cjs → chunk-RQFAL5VW.cjs} +13 -13
  61. package/dist/chunk-RQFAL5VW.cjs.map +1 -0
  62. package/dist/{chunk-YTSTLTQ5.cjs → chunk-SRNRUDZ2.cjs} +21 -21
  63. package/dist/{chunk-YTSTLTQ5.cjs.map → chunk-SRNRUDZ2.cjs.map} +1 -1
  64. package/dist/{chunk-L2YA2HHZ.js → chunk-SRVR5Z2F.js} +5 -5
  65. package/dist/{chunk-L2YA2HHZ.js.map → chunk-SRVR5Z2F.js.map} +1 -1
  66. package/dist/{chunk-KMG525KB.js → chunk-TFV75T4H.js} +10 -10
  67. package/dist/{chunk-KMG525KB.js.map → chunk-TFV75T4H.js.map} +1 -1
  68. package/dist/{chunk-26JVEE76.cjs → chunk-UHO57W6H.cjs} +7 -7
  69. package/dist/{chunk-26JVEE76.cjs.map → chunk-UHO57W6H.cjs.map} +1 -1
  70. package/dist/{chunk-QXNHZJRV.js → chunk-UWTB4U2X.js} +127 -238
  71. package/dist/chunk-UWTB4U2X.js.map +1 -0
  72. package/dist/{chunk-E2Y2HLCU.cjs → chunk-W2LUCUUP.cjs} +41 -7
  73. package/dist/chunk-W2LUCUUP.cjs.map +1 -0
  74. package/dist/{chunk-X7IX2H7I.cjs → chunk-XVH7SCZN.cjs} +13 -13
  75. package/dist/{chunk-X7IX2H7I.cjs.map → chunk-XVH7SCZN.cjs.map} +1 -1
  76. package/dist/{chunk-CXYQJVHK.cjs → chunk-YSQC2LEG.cjs} +10 -10
  77. package/dist/{chunk-CXYQJVHK.cjs.map → chunk-YSQC2LEG.cjs.map} +1 -1
  78. package/dist/{chunk-XNHOUTCP.cjs → chunk-ZSFSSMFT.cjs} +84 -84
  79. package/dist/{chunk-XNHOUTCP.cjs.map → chunk-ZSFSSMFT.cjs.map} +1 -1
  80. package/dist/datasets/index.cjs +17 -17
  81. package/dist/datasets/index.js +2 -2
  82. package/dist/docs/SKILL.md +1 -1
  83. package/dist/docs/assets/SOURCE_MAP.json +721 -708
  84. package/dist/docs/references/docs-agents-adding-voice.md +6 -6
  85. package/dist/docs/references/docs-agents-agent-approval.md +4 -4
  86. package/dist/docs/references/docs-agents-guardrails.md +1 -1
  87. package/dist/docs/references/docs-agents-network-approval.md +1 -1
  88. package/dist/docs/references/docs-agents-networks.md +1 -1
  89. package/dist/docs/references/docs-agents-overview.md +2 -2
  90. package/dist/docs/references/docs-agents-processors.md +11 -11
  91. package/dist/docs/references/docs-agents-structured-output.md +4 -4
  92. package/dist/docs/references/docs-agents-supervisor-agents.md +3 -3
  93. package/dist/docs/references/docs-agents-using-tools.md +4 -4
  94. package/dist/docs/references/docs-evals-custom-scorers.md +4 -4
  95. package/dist/docs/references/docs-evals-overview.md +2 -2
  96. package/dist/docs/references/docs-memory-memory-processors.md +6 -6
  97. package/dist/docs/references/docs-memory-semantic-recall.md +1 -1
  98. package/dist/docs/references/docs-memory-storage.md +1 -1
  99. package/dist/docs/references/docs-memory-working-memory.md +1 -1
  100. package/dist/docs/references/docs-observability-datasets-running-experiments.md +1 -1
  101. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +1 -1
  102. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +2 -2
  103. package/dist/docs/references/docs-rag-graph-rag.md +2 -2
  104. package/dist/docs/references/docs-rag-retrieval.md +12 -12
  105. package/dist/docs/references/docs-server-mastra-client.md +1 -1
  106. package/dist/docs/references/docs-server-request-context.md +3 -3
  107. package/dist/docs/references/docs-streaming-tool-streaming.md +1 -1
  108. package/dist/docs/references/docs-voice-overview.md +21 -21
  109. package/dist/docs/references/docs-voice-speech-to-speech.md +2 -2
  110. package/dist/docs/references/docs-voice-speech-to-text.md +1 -1
  111. package/dist/docs/references/docs-voice-text-to-speech.md +1 -1
  112. package/dist/docs/references/docs-workspace-filesystem.md +1 -1
  113. package/dist/docs/references/docs-workspace-overview.md +1 -1
  114. package/dist/docs/references/docs-workspace-sandbox.md +1 -1
  115. package/dist/docs/references/reference-agents-agent.md +5 -5
  116. package/dist/docs/references/reference-agents-generateLegacy.md +2 -2
  117. package/dist/docs/references/reference-agents-getLLM.md +1 -1
  118. package/dist/docs/references/reference-agents-network.md +1 -1
  119. package/dist/docs/references/reference-configuration.md +3 -3
  120. package/dist/docs/references/reference-evals-answer-relevancy.md +1 -1
  121. package/dist/docs/references/reference-evals-answer-similarity.md +1 -1
  122. package/dist/docs/references/reference-evals-bias.md +1 -1
  123. package/dist/docs/references/reference-evals-context-precision.md +3 -3
  124. package/dist/docs/references/reference-evals-faithfulness.md +1 -1
  125. package/dist/docs/references/reference-evals-hallucination.md +5 -5
  126. package/dist/docs/references/reference-evals-toxicity.md +1 -1
  127. package/dist/docs/references/reference-harness-harness-class.md +4 -4
  128. package/dist/docs/references/reference-memory-memory-class.md +3 -3
  129. package/dist/docs/references/reference-memory-observational-memory.md +5 -5
  130. package/dist/docs/references/reference-processors-batch-parts-processor.md +1 -1
  131. package/dist/docs/references/reference-processors-language-detector.md +1 -1
  132. package/dist/docs/references/reference-processors-moderation-processor.md +2 -2
  133. package/dist/docs/references/reference-processors-pii-detector.md +2 -2
  134. package/dist/docs/references/reference-processors-processor-interface.md +3 -3
  135. package/dist/docs/references/reference-processors-prompt-injection-detector.md +1 -1
  136. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +1 -1
  137. package/dist/docs/references/reference-processors-token-limiter-processor.md +3 -3
  138. package/dist/docs/references/reference-processors-tool-search-processor.md +2 -2
  139. package/dist/docs/references/reference-processors-unicode-normalizer.md +1 -1
  140. package/dist/docs/references/reference-storage-mongodb.md +1 -1
  141. package/dist/docs/references/reference-storage-postgresql.md +1 -1
  142. package/dist/docs/references/reference-storage-upstash.md +1 -1
  143. package/dist/docs/references/reference-templates-overview.md +1 -1
  144. package/dist/docs/references/reference-tools-mcp-client.md +2 -2
  145. package/dist/docs/references/reference-tools-mcp-server.md +1 -1
  146. package/dist/docs/references/reference-tools-vector-query-tool.md +1 -1
  147. package/dist/docs/references/reference-vectors-libsql.md +1 -1
  148. package/dist/docs/references/reference-vectors-mongodb.md +1 -1
  149. package/dist/docs/references/reference-vectors-pg.md +1 -1
  150. package/dist/docs/references/reference-vectors-upstash.md +1 -1
  151. package/dist/docs/references/reference-voice-voice.addInstructions.md +1 -1
  152. package/dist/docs/references/reference-workspace-local-filesystem.md +1 -1
  153. package/dist/docs/references/reference-workspace-local-sandbox.md +1 -1
  154. package/dist/evals/index.cjs +20 -20
  155. package/dist/evals/index.js +3 -3
  156. package/dist/evals/scoreTraces/index.cjs +7 -7
  157. package/dist/evals/scoreTraces/index.js +3 -3
  158. package/dist/features/index.cjs +2 -1
  159. package/dist/features/index.cjs.map +1 -1
  160. package/dist/features/index.d.ts.map +1 -1
  161. package/dist/features/index.js +2 -1
  162. package/dist/features/index.js.map +1 -1
  163. package/dist/harness/index.cjs +7 -7
  164. package/dist/harness/index.js +5 -5
  165. package/dist/index.cjs +2 -2
  166. package/dist/index.js +1 -1
  167. package/dist/llm/index.cjs +16 -16
  168. package/dist/llm/index.js +5 -5
  169. package/dist/llm/model/base.types.d.ts +1 -1
  170. package/dist/llm/model/provider-types.generated.d.ts +4 -4
  171. package/dist/loop/index.cjs +14 -14
  172. package/dist/loop/index.js +1 -1
  173. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  174. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  175. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  176. package/dist/mastra/index.cjs +2 -2
  177. package/dist/mastra/index.js +1 -1
  178. package/dist/memory/index.cjs +14 -14
  179. package/dist/memory/index.js +1 -1
  180. package/dist/memory/types.d.ts +1 -1
  181. package/dist/models-dev-E24MAXL2.cjs +12 -0
  182. package/dist/{models-dev-SOEEI4UR.cjs.map → models-dev-E24MAXL2.cjs.map} +1 -1
  183. package/dist/models-dev-F65PLXGJ.js +3 -0
  184. package/dist/{models-dev-EKZCLX7Y.js.map → models-dev-F65PLXGJ.js.map} +1 -1
  185. package/dist/netlify-FT3VYX27.cjs +12 -0
  186. package/dist/{netlify-SSPGBXOO.cjs.map → netlify-FT3VYX27.cjs.map} +1 -1
  187. package/dist/netlify-NYUZ5ZTO.js +3 -0
  188. package/dist/{netlify-ALYV7577.js.map → netlify-NYUZ5ZTO.js.map} +1 -1
  189. package/dist/observability/index.cjs +17 -17
  190. package/dist/observability/index.js +1 -1
  191. package/dist/observability/types/tracing.d.ts +2 -22
  192. package/dist/observability/types/tracing.d.ts.map +1 -1
  193. package/dist/processor-provider/index.cjs +10 -10
  194. package/dist/processor-provider/index.js +1 -1
  195. package/dist/processors/index.cjs +42 -42
  196. package/dist/processors/index.js +1 -1
  197. package/dist/provider-registry-5R2TUINW.js +3 -0
  198. package/dist/{provider-registry-AZ4SPASK.js.map → provider-registry-5R2TUINW.js.map} +1 -1
  199. package/dist/provider-registry-TVYED7F2.cjs +40 -0
  200. package/dist/{provider-registry-35V252GM.cjs.map → provider-registry-TVYED7F2.cjs.map} +1 -1
  201. package/dist/provider-registry.json +8 -8
  202. package/dist/relevance/index.cjs +3 -3
  203. package/dist/relevance/index.js +1 -1
  204. package/dist/storage/constants.cjs +56 -56
  205. package/dist/storage/constants.d.ts +1 -1
  206. package/dist/storage/constants.js +1 -1
  207. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  208. package/dist/storage/domains/observability/discovery.d.ts +1 -63
  209. package/dist/storage/domains/observability/discovery.d.ts.map +1 -1
  210. package/dist/storage/domains/observability/feedback.d.ts +1 -185
  211. package/dist/storage/domains/observability/feedback.d.ts.map +1 -1
  212. package/dist/storage/domains/observability/logs.d.ts +1 -321
  213. package/dist/storage/domains/observability/logs.d.ts.map +1 -1
  214. package/dist/storage/domains/observability/metrics.d.ts +1 -394
  215. package/dist/storage/domains/observability/metrics.d.ts.map +1 -1
  216. package/dist/storage/domains/observability/scores.d.ts +1 -192
  217. package/dist/storage/domains/observability/scores.d.ts.map +1 -1
  218. package/dist/storage/domains/observability/tracing.d.ts +50 -52
  219. package/dist/storage/domains/observability/tracing.d.ts.map +1 -1
  220. package/dist/storage/domains/shared.d.ts +1 -118
  221. package/dist/storage/domains/shared.d.ts.map +1 -1
  222. package/dist/storage/index.cjs +479 -466
  223. package/dist/storage/index.js +3 -2
  224. package/dist/stream/index.cjs +11 -11
  225. package/dist/stream/index.js +2 -2
  226. package/dist/test-utils/llm-mock.cjs +4 -4
  227. package/dist/test-utils/llm-mock.js +1 -1
  228. package/dist/tool-loop-agent/index.cjs +4 -4
  229. package/dist/tool-loop-agent/index.js +1 -1
  230. package/dist/utils.cjs +23 -23
  231. package/dist/utils.js +1 -1
  232. package/dist/vector/embed.d.ts +2 -2
  233. package/dist/vector/index.cjs +7 -7
  234. package/dist/vector/index.js +1 -1
  235. package/dist/workflows/evented/index.cjs +10 -10
  236. package/dist/workflows/evented/index.js +1 -1
  237. package/dist/workflows/index.cjs +24 -24
  238. package/dist/workflows/index.js +1 -1
  239. package/package.json +6 -5
  240. package/src/llm/model/provider-types.generated.d.ts +4 -4
  241. package/dist/chunk-4RWTWZET.cjs.map +0 -1
  242. package/dist/chunk-6JM4RID6.js.map +0 -1
  243. package/dist/chunk-CJYTDH5Q.js.map +0 -1
  244. package/dist/chunk-DJCCDPZQ.js +0 -376
  245. package/dist/chunk-DJCCDPZQ.js.map +0 -1
  246. package/dist/chunk-DRZWU4MQ.cjs.map +0 -1
  247. package/dist/chunk-E2Y2HLCU.cjs.map +0 -1
  248. package/dist/chunk-FDC6E3MJ.cjs.map +0 -1
  249. package/dist/chunk-GC7AHOXK.js.map +0 -1
  250. package/dist/chunk-MIILNUS4.cjs.map +0 -1
  251. package/dist/chunk-PBDJR7QN.cjs +0 -393
  252. package/dist/chunk-PBDJR7QN.cjs.map +0 -1
  253. package/dist/chunk-Q4W5XQK2.cjs.map +0 -1
  254. package/dist/chunk-QXNHZJRV.js.map +0 -1
  255. package/dist/chunk-SBHYPYXD.js.map +0 -1
  256. package/dist/chunk-T5M2TGCD.js.map +0 -1
  257. package/dist/chunk-TAXQJ5ZP.js.map +0 -1
  258. package/dist/chunk-WO2CP4Z2.cjs.map +0 -1
  259. package/dist/models-dev-EKZCLX7Y.js +0 -3
  260. package/dist/models-dev-SOEEI4UR.cjs +0 -12
  261. package/dist/netlify-ALYV7577.js +0 -3
  262. package/dist/netlify-SSPGBXOO.cjs +0 -12
  263. package/dist/provider-registry-35V252GM.cjs +0 -40
  264. package/dist/provider-registry-AZ4SPASK.js +0 -3
@@ -21,7 +21,7 @@ export const testAgent = new Agent({
21
21
  id: 'test-agent',
22
22
  name: 'Test Agent',
23
23
  instructions: 'You are a weather agent.',
24
- model: 'openai/gpt-5.1',
24
+ model: 'openai/gpt-5.4',
25
25
  tools: { testTool },
26
26
  })
27
27
  ```
@@ -16,7 +16,7 @@ const voiceAgent = new Agent({
16
16
  id: 'voice-agent',
17
17
  name: 'Voice Agent',
18
18
  instructions: 'You are a voice assistant that can help users with their tasks.',
19
- model: 'openai/gpt-5.1',
19
+ model: 'openai/gpt-5.4',
20
20
  voice: new OpenAIVoice(),
21
21
  })
22
22
  ```
@@ -40,7 +40,7 @@ const voiceAgent = new Agent({
40
40
  id: 'voice-agent',
41
41
  name: 'Voice Agent',
42
42
  instructions: 'You are a voice assistant that can help users with their tasks.',
43
- model: 'openai/gpt-5.1',
43
+ model: 'openai/gpt-5.4',
44
44
  voice: new OpenAIVoice(),
45
45
  })
46
46
 
@@ -68,7 +68,7 @@ const voiceAgent = new Agent({
68
68
  id: 'voice-agent',
69
69
  name: 'Voice Agent',
70
70
  instructions: 'You are a voice assistant that can help users with their tasks.',
71
- model: 'openai/gpt-5.1',
71
+ model: 'openai/gpt-5.4',
72
72
  voice: new AzureVoice(),
73
73
  })
74
74
 
@@ -95,7 +95,7 @@ const voiceAgent = new Agent({
95
95
  id: 'voice-agent',
96
96
  name: 'Voice Agent',
97
97
  instructions: 'You are a voice assistant that can help users with their tasks.',
98
- model: 'openai/gpt-5.1',
98
+ model: 'openai/gpt-5.4',
99
99
  voice: new ElevenLabsVoice(),
100
100
  })
101
101
 
@@ -122,7 +122,7 @@ const voiceAgent = new Agent({
122
122
  id: 'voice-agent',
123
123
  name: 'Voice Agent',
124
124
  instructions: 'You are a voice assistant that can help users with their tasks.',
125
- model: 'openai/gpt-5.1',
125
+ model: 'openai/gpt-5.4',
126
126
  voice: new PlayAIVoice(),
127
127
  })
128
128
 
@@ -149,7 +149,7 @@ const voiceAgent = new Agent({
149
149
  id: 'voice-agent',
150
150
  name: 'Voice Agent',
151
151
  instructions: 'You are a voice assistant that can help users with their tasks.',
152
- model: 'openai/gpt-5.1',
152
+ model: 'openai/gpt-5.4',
153
153
  voice: new GoogleVoice(),
154
154
  })
155
155
 
@@ -176,7 +176,7 @@ const voiceAgent = new Agent({
176
176
  id: 'voice-agent',
177
177
  name: 'Voice Agent',
178
178
  instructions: 'You are a voice assistant that can help users with their tasks.',
179
- model: 'openai/gpt-5.1',
179
+ model: 'openai/gpt-5.4',
180
180
  voice: new CloudflareVoice(),
181
181
  })
182
182
 
@@ -203,7 +203,7 @@ const voiceAgent = new Agent({
203
203
  id: 'voice-agent',
204
204
  name: 'Voice Agent',
205
205
  instructions: 'You are a voice assistant that can help users with their tasks.',
206
- model: 'openai/gpt-5.1',
206
+ model: 'openai/gpt-5.4',
207
207
  voice: new DeepgramVoice(),
208
208
  })
209
209
 
@@ -230,7 +230,7 @@ const voiceAgent = new Agent({
230
230
  id: 'voice-agent',
231
231
  name: 'Voice Agent',
232
232
  instructions: 'You are a voice assistant that can help users with their tasks.',
233
- model: 'openai/gpt-5.1',
233
+ model: 'openai/gpt-5.4',
234
234
  voice: new SpeechifyVoice(),
235
235
  })
236
236
 
@@ -257,7 +257,7 @@ const voiceAgent = new Agent({
257
257
  id: 'voice-agent',
258
258
  name: 'Voice Agent',
259
259
  instructions: 'You are a voice assistant that can help users with their tasks.',
260
- model: 'openai/gpt-5.1',
260
+ model: 'openai/gpt-5.4',
261
261
  voice: new SarvamVoice(),
262
262
  })
263
263
 
@@ -284,7 +284,7 @@ const voiceAgent = new Agent({
284
284
  id: 'voice-agent',
285
285
  name: 'Voice Agent',
286
286
  instructions: 'You are a voice assistant that can help users with their tasks.',
287
- model: 'openai/gpt-5.1',
287
+ model: 'openai/gpt-5.4',
288
288
  voice: new MurfVoice(),
289
289
  })
290
290
 
@@ -319,7 +319,7 @@ const voiceAgent = new Agent({
319
319
  id: 'voice-agent',
320
320
  name: 'Voice Agent',
321
321
  instructions: 'You are a voice assistant that can help users with their tasks.',
322
- model: 'openai/gpt-5.1',
322
+ model: 'openai/gpt-5.4',
323
323
  voice: new OpenAIVoice(),
324
324
  })
325
325
 
@@ -348,7 +348,7 @@ const voiceAgent = new Agent({
348
348
  id: 'voice-agent',
349
349
  name: 'Voice Agent',
350
350
  instructions: 'You are a voice assistant that can help users with their tasks.',
351
- model: 'openai/gpt-5.1',
351
+ model: 'openai/gpt-5.4',
352
352
  voice: new AzureVoice(),
353
353
  })
354
354
 
@@ -376,7 +376,7 @@ const voiceAgent = new Agent({
376
376
  id: 'voice-agent',
377
377
  name: 'Voice Agent',
378
378
  instructions: 'You are a voice assistant that can help users with their tasks.',
379
- model: 'openai/gpt-5.1',
379
+ model: 'openai/gpt-5.4',
380
380
  voice: new ElevenLabsVoice(),
381
381
  })
382
382
 
@@ -404,7 +404,7 @@ const voiceAgent = new Agent({
404
404
  id: 'voice-agent',
405
405
  name: 'Voice Agent',
406
406
  instructions: 'You are a voice assistant that can help users with their tasks.',
407
- model: 'openai/gpt-5.1',
407
+ model: 'openai/gpt-5.4',
408
408
  voice: new GoogleVoice(),
409
409
  })
410
410
 
@@ -432,7 +432,7 @@ const voiceAgent = new Agent({
432
432
  id: 'voice-agent',
433
433
  name: 'Voice Agent',
434
434
  instructions: 'You are a voice assistant that can help users with their tasks.',
435
- model: 'openai/gpt-5.1',
435
+ model: 'openai/gpt-5.4',
436
436
  voice: new CloudflareVoice(),
437
437
  })
438
438
 
@@ -460,7 +460,7 @@ const voiceAgent = new Agent({
460
460
  id: 'voice-agent',
461
461
  name: 'Voice Agent',
462
462
  instructions: 'You are a voice assistant that can help users with their tasks.',
463
- model: 'openai/gpt-5.1',
463
+ model: 'openai/gpt-5.4',
464
464
  voice: new DeepgramVoice(),
465
465
  })
466
466
 
@@ -488,7 +488,7 @@ const voiceAgent = new Agent({
488
488
  id: 'voice-agent',
489
489
  name: 'Voice Agent',
490
490
  instructions: 'You are a voice assistant that can help users with their tasks.',
491
- model: 'openai/gpt-5.1',
491
+ model: 'openai/gpt-5.4',
492
492
  voice: new SarvamVoice(),
493
493
  })
494
494
 
@@ -520,7 +520,7 @@ const voiceAgent = new Agent({
520
520
  id: 'voice-agent',
521
521
  name: 'Voice Agent',
522
522
  instructions: 'You are a voice assistant that can help users with their tasks.',
523
- model: 'openai/gpt-5.1',
523
+ model: 'openai/gpt-5.4',
524
524
  voice: new OpenAIRealtimeVoice(),
525
525
  })
526
526
 
@@ -550,7 +550,7 @@ const voiceAgent = new Agent({
550
550
  id: 'voice-agent',
551
551
  name: 'Voice Agent',
552
552
  instructions: 'You are a voice assistant that can help users with their tasks.',
553
- model: 'openai/gpt-5.1',
553
+ model: 'openai/gpt-5.4',
554
554
  voice: new GeminiLiveVoice({
555
555
  // Live API mode
556
556
  apiKey: process.env.GOOGLE_API_KEY,
@@ -844,7 +844,7 @@ const voiceAgent = new Agent({
844
844
  id: 'aisdk-voice-agent',
845
845
  name: 'AI SDK Voice Agent',
846
846
  instructions: 'You are a helpful assistant with voice capabilities.',
847
- model: 'openai/gpt-5.1',
847
+ model: 'openai/gpt-5.4',
848
848
  voice,
849
849
  })
850
850
  ```
@@ -32,7 +32,7 @@ const agent = new Agent({
32
32
  id: 'agent',
33
33
  name: 'OpenAI Realtime Agent',
34
34
  instructions: `You are a helpful assistant with real-time voice capabilities.`,
35
- model: 'openai/gpt-5.1',
35
+ model: 'openai/gpt-5.4',
36
36
  voice: new OpenAIRealtimeVoice(),
37
37
  })
38
38
 
@@ -66,7 +66,7 @@ const agent = new Agent({
66
66
  name: 'Gemini Live Agent',
67
67
  instructions: 'You are a helpful assistant with real-time voice capabilities.',
68
68
  // Model used for text generation; voice provider handles realtime audio
69
- model: 'openai/gpt-5.1',
69
+ model: 'openai/gpt-5.4',
70
70
  voice: new GeminiLiveVoice({
71
71
  apiKey: process.env.GOOGLE_API_KEY,
72
72
  model: 'gemini-2.0-flash-exp',
@@ -57,7 +57,7 @@ const agent = new Agent({
57
57
  id: 'voice-agent',
58
58
  name: 'Voice Agent',
59
59
  instructions: 'You are a voice assistant that provides recommendations based on user input.',
60
- model: 'openai/gpt-5.1',
60
+ model: 'openai/gpt-5.4',
61
61
  voice,
62
62
  })
63
63
 
@@ -64,7 +64,7 @@ const agent = new Agent({
64
64
  id: 'voice-agent',
65
65
  name: 'Voice Agent',
66
66
  instructions: 'You are a voice assistant that can help users with their tasks.',
67
- model: 'openai/gpt-5.1',
67
+ model: 'openai/gpt-5.4',
68
68
  voice,
69
69
  })
70
70
 
@@ -41,7 +41,7 @@ const workspace = new Workspace({
41
41
 
42
42
  const agent = new Agent({
43
43
  id: 'file-agent',
44
- model: 'openai/gpt-4o',
44
+ model: 'openai/gpt-5.4',
45
45
  instructions: 'You are a helpful file management assistant.',
46
46
  workspace,
47
47
  })
@@ -70,7 +70,7 @@ const workspace = new Workspace({
70
70
 
71
71
  export const myAgent = new Agent({
72
72
  id: 'my-agent',
73
- model: 'openai/gpt-4o',
73
+ model: 'openai/gpt-5.4',
74
74
  workspace,
75
75
  })
76
76
  ```
@@ -39,7 +39,7 @@ const workspace = new Workspace({
39
39
 
40
40
  const agent = new Agent({
41
41
  id: 'dev-agent',
42
- model: 'openai/gpt-4o',
42
+ model: 'openai/gpt-5.4',
43
43
  instructions: 'You are a helpful development assistant.',
44
44
  workspace,
45
45
  })
@@ -14,7 +14,7 @@ export const agent = new Agent({
14
14
  id: 'test-agent',
15
15
  name: 'Test Agent',
16
16
  instructions: 'You are a helpful assistant that provides concise answers.',
17
- model: 'openai/gpt-5.1',
17
+ model: 'openai/gpt-5.4',
18
18
  })
19
19
 
20
20
  // System message object
@@ -25,7 +25,7 @@ export const agent2 = new Agent({
25
25
  role: 'system',
26
26
  content: 'You are an expert programmer',
27
27
  },
28
- model: 'openai/gpt-5.1',
28
+ model: 'openai/gpt-5.4',
29
29
  })
30
30
 
31
31
  // Array of system messages
@@ -36,7 +36,7 @@ export const agent3 = new Agent({
36
36
  { role: 'system', content: 'You are a helpful assistant' },
37
37
  { role: 'system', content: 'You have expertise in TypeScript' },
38
38
  ],
39
- model: 'openai/gpt-5.1',
39
+ model: 'openai/gpt-5.4',
40
40
  })
41
41
  ```
42
42
 
@@ -59,7 +59,7 @@ export const agent = new Agent({
59
59
  },
60
60
  },
61
61
  },
62
- model: 'openai/gpt-5.1',
62
+ model: 'openai/gpt-5.4',
63
63
  })
64
64
  ```
65
65
 
@@ -88,7 +88,7 @@ export const agent = new Agent({
88
88
  },
89
89
  },
90
90
  ],
91
- model: 'anthropic/claude-sonnet-4-20250514',
91
+ model: 'anthropic/claude-sonnet-4-6',
92
92
  })
93
93
  ```
94
94
 
@@ -195,12 +195,12 @@ await agent.generateLegacy(
195
195
  sentiment: z.enum(['positive', 'negative', 'neutral']),
196
196
  confidence: z.number(),
197
197
  }),
198
- model: 'openai/gpt-5.1',
198
+ model: 'openai/gpt-5.4',
199
199
  errorStrategy: 'warn',
200
200
  },
201
201
  // Output processors for response validation
202
202
  outputProcessors: [
203
- new ModerationProcessor({ model: 'openai/gpt-4.1-nano' }),
203
+ new ModerationProcessor({ model: 'openai/gpt-5-mini' }),
204
204
  new TokenLimiterProcessor({ maxTokens: 1000 }),
205
205
  ],
206
206
  },
@@ -25,7 +25,7 @@ await agent.getLLM()
25
25
  ```typescript
26
26
  await agent.getLLM({
27
27
  requestContext: new RequestContext(),
28
- model: 'openai/gpt-5.1',
28
+ model: 'openai/gpt-5.4',
29
29
  })
30
30
  ```
31
31
 
@@ -16,7 +16,7 @@ const agent = new Agent({
16
16
  id: 'network-agent',
17
17
  name: 'Network Agent',
18
18
  instructions: 'You are a network agent that can help users with a variety of tasks.',
19
- model: 'openai/gpt-5.1',
19
+ model: 'openai/gpt-5.4',
20
20
  agents: {
21
21
  agent1,
22
22
  agent2,
@@ -30,7 +30,7 @@ export const mastra = new Mastra({
30
30
  id: 'weather-agent',
31
31
  name: 'Weather Agent',
32
32
  instructions: 'You help with weather information',
33
- model: 'openai/gpt-4o',
33
+ model: 'openai/gpt-5.4',
34
34
  }),
35
35
  },
36
36
  })
@@ -249,7 +249,7 @@ import { ModerationProcessor } from '@mastra/core/processors'
249
249
  export const mastra = new Mastra({
250
250
  processors: {
251
251
  moderation: new ModerationProcessor({
252
- model: 'openai/gpt-4.1-nano',
252
+ model: 'openai/gpt-5-mini',
253
253
  categories: ['hate', 'harassment', 'violence'],
254
254
  }),
255
255
  },
@@ -290,7 +290,7 @@ import { createToxicityScorer } from '@mastra/evals/scorers/prebuilt'
290
290
 
291
291
  export const mastra = new Mastra({
292
292
  scorers: {
293
- toxicity: createToxicityScorer({ model: 'openai/gpt-4.1-nano' }),
293
+ toxicity: createToxicityScorer({ model: 'openai/gpt-5-mini' }),
294
294
  },
295
295
  })
296
296
  ```
@@ -69,7 +69,7 @@ import { runEvals } from '@mastra/core/evals'
69
69
  import { createAnswerRelevancyScorer } from '@mastra/evals/scorers/prebuilt'
70
70
  import { myAgent } from './agent'
71
71
 
72
- const scorer = createAnswerRelevancyScorer({ model: 'openai/gpt-4o' })
72
+ const scorer = createAnswerRelevancyScorer({ model: 'openai/gpt-5.4' })
73
73
 
74
74
  const result = await runEvals({
75
75
  data: [
@@ -62,7 +62,7 @@ import { runEvals } from '@mastra/core/evals'
62
62
  import { createAnswerSimilarityScorer } from '@mastra/evals/scorers/prebuilt'
63
63
  import { myAgent } from './agent'
64
64
 
65
- const scorer = createAnswerSimilarityScorer({ model: 'openai/gpt-4o' })
65
+ const scorer = createAnswerSimilarityScorer({ model: 'openai/gpt-5.4' })
66
66
 
67
67
  const result = await runEvals({
68
68
  data: [
@@ -82,7 +82,7 @@ import { runEvals } from '@mastra/core/evals'
82
82
  import { createBiasScorer } from '@mastra/evals/scorers/prebuilt'
83
83
  import { myAgent } from './agent'
84
84
 
85
- const scorer = createBiasScorer({ model: 'openai/gpt-4o' })
85
+ const scorer = createBiasScorer({ model: 'openai/gpt-5.4' })
86
86
 
87
87
  const result = await runEvals({
88
88
  data: [
@@ -98,7 +98,7 @@ MAP = (1.0 + 0.67) / 2 = 0.835 ≈ **0.83**
98
98
 
99
99
  ```typescript
100
100
  const scorer = createContextPrecisionScorer({
101
- model: 'openai/gpt-5.1',
101
+ model: 'openai/gpt-5.4',
102
102
  options: {
103
103
  contextExtractor: (input, output) => {
104
104
  // Extract context dynamically based on the query
@@ -117,7 +117,7 @@ const scorer = createContextPrecisionScorer({
117
117
 
118
118
  ```typescript
119
119
  const scorer = createContextPrecisionScorer({
120
- model: 'openai/gpt-5.1',
120
+ model: 'openai/gpt-5.4',
121
121
  options: {
122
122
  context: [
123
123
  // Simulate retrieved documents from vector database
@@ -142,7 +142,7 @@ import { createContextPrecisionScorer } from '@mastra/evals/scorers/prebuilt'
142
142
  import { myAgent } from './agent'
143
143
 
144
144
  const scorer = createContextPrecisionScorer({
145
- model: 'openai/gpt-4o',
145
+ model: 'openai/gpt-5.4',
146
146
  options: {
147
147
  contextExtractor: (input, output) => {
148
148
  // Extract context from agent's retrieved documents
@@ -79,7 +79,7 @@ import { myAgent } from './agent'
79
79
 
80
80
  // Context is typically populated from agent tool calls or RAG retrieval
81
81
  const scorer = createFaithfulnessScorer({
82
- model: 'openai/gpt-4o',
82
+ model: 'openai/gpt-5.4',
83
83
  })
84
84
 
85
85
  const result = await runEvals({
@@ -104,7 +104,7 @@ Use static context when you have known ground truth to compare against:
104
104
  import { createHallucinationScorer } from '@mastra/evals/scorers/prebuilt'
105
105
 
106
106
  const scorer = createHallucinationScorer({
107
- model: 'openai/gpt-4o',
107
+ model: 'openai/gpt-5.4',
108
108
  options: {
109
109
  context: [
110
110
  'The first iPhone was announced on January 9, 2007.',
@@ -124,7 +124,7 @@ import { createHallucinationScorer } from '@mastra/evals/scorers/prebuilt'
124
124
  import { extractToolResults } from '@mastra/evals/scorers'
125
125
 
126
126
  const scorer = createHallucinationScorer({
127
- model: 'openai/gpt-4o',
127
+ model: 'openai/gpt-5.4',
128
128
  options: {
129
129
  getContext: ({ run, step }) => {
130
130
  // Extract tool results as context
@@ -145,7 +145,7 @@ import { createHallucinationScorer } from '@mastra/evals/scorers/prebuilt'
145
145
  import { extractToolResults } from '@mastra/evals/scorers'
146
146
 
147
147
  const hallucinationScorer = createHallucinationScorer({
148
- model: 'openai/gpt-4o',
148
+ model: 'openai/gpt-5.4',
149
149
  options: {
150
150
  getContext: ({ run }) => {
151
151
  const toolResults = extractToolResults(run.output)
@@ -156,7 +156,7 @@ const hallucinationScorer = createHallucinationScorer({
156
156
 
157
157
  const agent = new Agent({
158
158
  name: 'my-agent',
159
- model: 'openai/gpt-4o',
159
+ model: 'openai/gpt-5.4',
160
160
  instructions: 'You are a helpful assistant.',
161
161
  evals: {
162
162
  scorers: [hallucinationScorer],
@@ -172,7 +172,7 @@ import { createHallucinationScorer } from '@mastra/evals/scorers/prebuilt'
172
172
  import { myAgent } from './agent'
173
173
 
174
174
  const scorer = createHallucinationScorer({
175
- model: 'openai/gpt-4o',
175
+ model: 'openai/gpt-5.4',
176
176
  options: {
177
177
  context: ['Known fact 1', 'Known fact 2'],
178
178
  },
@@ -86,7 +86,7 @@ import { runEvals } from '@mastra/core/evals'
86
86
  import { createToxicityScorer } from '@mastra/evals/scorers/prebuilt'
87
87
  import { myAgent } from './agent'
88
88
 
89
- const scorer = createToxicityScorer({ model: 'openai/gpt-4o' })
89
+ const scorer = createToxicityScorer({ model: 'openai/gpt-5.4' })
90
90
 
91
91
  const result = await runEvals({
92
92
  data: [
@@ -153,7 +153,7 @@ const state = harness.getState()
153
153
  Update the harness state. Validates against `stateSchema` if provided, and emits a `state_changed` event with the new state and changed keys.
154
154
 
155
155
  ```typescript
156
- await harness.setState({ currentModelId: 'anthropic/claude-sonnet-4-20250514' })
156
+ await harness.setState({ currentModelId: 'anthropic/claude-sonnet-4-6' })
157
157
  ```
158
158
 
159
159
  ### Modes
@@ -232,10 +232,10 @@ Switch the active model. When `scope` is `'thread'`, the model ID is persisted t
232
232
 
233
233
  ```typescript
234
234
  // Set for current session only
235
- await harness.switchModel({ modelId: 'anthropic/claude-sonnet-4-20250514' })
235
+ await harness.switchModel({ modelId: 'anthropic/claude-sonnet-4-6' })
236
236
 
237
237
  // Persist to the current thread
238
- await harness.switchModel({ modelId: 'anthropic/claude-sonnet-4-20250514', scope: 'thread' })
238
+ await harness.switchModel({ modelId: 'anthropic/claude-sonnet-4-6', scope: 'thread' })
239
239
  ```
240
240
 
241
241
  #### `getCurrentModelAuthStatus()`
@@ -663,7 +663,7 @@ Set the subagent model ID. Pass an `agentType` to set a per-type override, or om
663
663
 
664
664
  ```typescript
665
665
  // Set global subagent model
666
- await harness.setSubagentModelId({ modelId: 'anthropic/claude-sonnet-4-20250514' })
666
+ await harness.setSubagentModelId({ modelId: 'anthropic/claude-sonnet-4-6' })
667
667
 
668
668
  // Set per-type model
669
669
  await harness.setSubagentModelId({ modelId: 'anthropic/claude-haiku-3.5', agentType: 'explore' })
@@ -11,7 +11,7 @@ import { Agent } from '@mastra/core/agent'
11
11
  export const agent = new Agent({
12
12
  name: 'test-agent',
13
13
  instructions: 'You are an agent with memory.',
14
- model: 'openai/gpt-5.1',
14
+ model: 'openai/gpt-5.4',
15
15
  memory: new Memory({
16
16
  options: {
17
17
  workingMemory: {
@@ -60,7 +60,7 @@ import { LibSQLStore, LibSQLVector } from '@mastra/libsql'
60
60
  export const agent = new Agent({
61
61
  name: 'test-agent',
62
62
  instructions: 'You are an agent with memory.',
63
- model: 'openai/gpt-5.1',
63
+ model: 'openai/gpt-5.4',
64
64
  memory: new Memory({
65
65
  storage: new LibSQLStore({
66
66
  id: 'test-agent-storage',
@@ -97,7 +97,7 @@ import { PgStore, PgVector } from '@mastra/pg'
97
97
  export const agent = new Agent({
98
98
  name: 'pg-agent',
99
99
  instructions: 'You are an agent with optimized PostgreSQL memory.',
100
- model: 'openai/gpt-5.1',
100
+ model: 'openai/gpt-5.4',
101
101
  memory: new Memory({
102
102
  storage: new PgStore({
103
103
  id: 'pg-agent-storage',
@@ -159,11 +159,11 @@ import { Agent } from '@mastra/core/agent'
159
159
  export const agent = new Agent({
160
160
  name: 'my-agent',
161
161
  instructions: 'You are a helpful assistant.',
162
- model: 'openai/gpt-5-mini',
162
+ model: 'openai/gpt-5.4',
163
163
  memory: new Memory({
164
164
  options: {
165
165
  observationalMemory: {
166
- model: 'openai/gpt-4o-mini',
166
+ model: 'openai/gpt-5-mini',
167
167
  },
168
168
  },
169
169
  }),
@@ -179,7 +179,7 @@ import { Agent } from '@mastra/core/agent'
179
179
  export const agent = new Agent({
180
180
  name: 'my-agent',
181
181
  instructions: 'You are a helpful assistant.',
182
- model: 'openai/gpt-5-mini',
182
+ model: 'openai/gpt-5.4',
183
183
  memory: new Memory({
184
184
  options: {
185
185
  observationalMemory: {
@@ -187,7 +187,7 @@ export const agent = new Agent({
187
187
  model: 'google/gemini-2.5-flash',
188
188
  },
189
189
  reflection: {
190
- model: 'openai/gpt-4o-mini',
190
+ model: 'openai/gpt-5-mini',
191
191
  },
192
192
  },
193
193
  },
@@ -206,7 +206,7 @@ import { Agent } from '@mastra/core/agent'
206
206
  export const agent = new Agent({
207
207
  name: 'health-assistant',
208
208
  instructions: 'You are a health and wellness assistant.',
209
- model: 'openai/gpt-5-mini',
209
+ model: 'openai/gpt-5.4',
210
210
  memory: new Memory({
211
211
  options: {
212
212
  observationalMemory: {
@@ -43,7 +43,7 @@ import { BatchPartsProcessor } from '@mastra/core/processors'
43
43
  export const agent = new Agent({
44
44
  name: 'batched-agent',
45
45
  instructions: 'You are a helpful assistant',
46
- model: 'openai/gpt-5.1',
46
+ model: 'openai/gpt-5.4',
47
47
  outputProcessors: [
48
48
  new BatchPartsProcessor({
49
49
  batchSize: 5,
@@ -57,7 +57,7 @@ export const agent = new Agent({
57
57
  id: 'multilingual-agent',
58
58
  name: 'multilingual-agent',
59
59
  instructions: 'You are a helpful assistant',
60
- model: 'openai/gpt-5.1',
60
+ model: 'openai/gpt-5.4',
61
61
  inputProcessors: [
62
62
  new LanguageDetector({
63
63
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -56,7 +56,7 @@ import { ModerationProcessor } from '@mastra/core/processors'
56
56
  export const agent = new Agent({
57
57
  name: 'moderated-agent',
58
58
  instructions: 'You are a helpful assistant',
59
- model: 'openai/gpt-5.1',
59
+ model: 'openai/gpt-5.4',
60
60
  inputProcessors: [
61
61
  new ModerationProcessor({
62
62
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -81,7 +81,7 @@ import { BatchPartsProcessor, ModerationProcessor } from '@mastra/core/processor
81
81
  export const agent = new Agent({
82
82
  name: 'output-moderated-agent',
83
83
  instructions: 'You are a helpful assistant',
84
- model: 'openai/gpt-5.1',
84
+ model: 'openai/gpt-5.4',
85
85
  outputProcessors: [
86
86
  // Batch stream parts first to reduce LLM calls
87
87
  new BatchPartsProcessor({
@@ -58,7 +58,7 @@ import { PIIDetector } from '@mastra/core/processors'
58
58
  export const agent = new Agent({
59
59
  name: 'private-agent',
60
60
  instructions: 'You are a helpful assistant',
61
- model: 'openai/gpt-5.1',
61
+ model: 'openai/gpt-5.4',
62
62
  inputProcessors: [
63
63
  new PIIDetector({
64
64
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -86,7 +86,7 @@ import { BatchPartsProcessor, PIIDetector } from '@mastra/core/processors'
86
86
  export const agent = new Agent({
87
87
  name: 'output-pii-agent',
88
88
  instructions: 'You are a helpful assistant',
89
- model: 'openai/gpt-5.1',
89
+ model: 'openai/gpt-5.4',
90
90
  outputProcessors: [
91
91
  // Batch stream parts first to reduce LLM calls
92
92
  new BatchPartsProcessor({