WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@dane-ai-mastra
Copy link
Contributor

@dane-ai-mastra dane-ai-mastra bot commented Dec 9, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@mastra/[email protected]

Minor Changes

  • Fix "MessagePartRuntime is not available" error when chatting with agents in Studio playground by replacing deprecated useMessagePart hook with useAssistantState (#11039)

Patch Changes

  • fix: persist data-* chunks from writer.custom() to memory storage (#10884)

    • Add persistence for custom data chunks (data-* parts) emitted via writer.custom() in tools
    • Data chunks are now saved to message storage so they survive page refreshes
    • Update @assistant-ui/react to v0.11.47 with native DataMessagePart support
    • Convert data-* parts to DataMessagePart format ({ type: 'data', name: string, data: T })
    • Update related @assistant-ui/* packages for compatibility
  • Updated dependencies [261473a]:

[email protected]

Minor Changes

  • Fix "MessagePartRuntime is not available" error when chatting with agents in Studio playground by replacing deprecated useMessagePart hook with useAssistantState (#11039)

Patch Changes

@mastra/[email protected]

Minor Changes

  • Fix "MessagePartRuntime is not available" error when chatting with agents in Studio playground by replacing deprecated useMessagePart hook with useAssistantState (#11039)

Patch Changes

  • Remove console.log in playground-ui (#11004)

  • Use the hash based stringification mechanism of tanstack query to ensure keys ordering (and to keep the caching key valid and consistent) (#11008)

  • Add delete workflow run API (#10991)

    await workflow.deleteWorkflowRunById(runId);
  • Add the possibility to pass down options to the tanstack query client. Goal is to have cacheable request in cloud and it's not possible for now because of context resolution beeing different (#11026)

  • fix: persist data-* chunks from writer.custom() to memory storage (#10884)

    • Add persistence for custom data chunks (data-* parts) emitted via writer.custom() in tools
    • Data chunks are now saved to message storage so they survive page refreshes
    • Update @assistant-ui/react to v0.11.47 with native DataMessagePart support
    • Convert data-* parts to DataMessagePart format ({ type: 'data', name: string, data: T })
    • Update related @assistant-ui/* packages for compatibility
  • Updated dependencies [edb07e4, b7e17d3, 261473a, 5d7000f, 4f0331a, 151fe4d, 8a000da]:

@mastra/[email protected]

Minor Changes

  • Add output format support to ElevenLabs voice integration (#11027)

    The speak() method now supports specifying audio output formats via the outputFormat option. This enables telephony and VoIP use cases that require specific audio formats like μ-law (ulaw_8000) or PCM formats.

    import { ElevenLabsVoice } from '@mastra/voice-elevenlabs';
    
    const voice = new ElevenLabsVoice();
    
    // Generate speech with telephony format (μ-law 8kHz)
    const stream = await voice.speak('Hello from Mastra!', {
      outputFormat: 'ulaw_8000',
    });
    
    // Generate speech with PCM format
    const pcmStream = await voice.speak('Hello from Mastra!', {
      outputFormat: 'pcm_16000',
    });

    Supported formats include:

    • MP3 variants: mp3_22050_32, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192
    • PCM variants: pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_44100
    • Telephony formats: ulaw_8000, alaw_8000 (μ-law and A-law 8kHz for VoIP/telephony)
    • WAV formats: wav, wav_8000, wav_16000

    If outputFormat is not specified, the method defaults to ElevenLabs' default format (typically mp3_44100_128).

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

  • Add support for typed structured output in agent workflow steps (#11014)

    When wrapping an agent with createStep() and providing a structuredOutput.schema, the step's outputSchema is now correctly inferred from the provided schema instead of defaulting to { text: string }.

    This enables type-safe chaining of agent steps with structured output to subsequent steps:

    const articleSchema = z.object({
      title: z.string(),
      summary: z.string(),
      tags: z.array(z.string()),
    });
    
    // Agent step with structured output - outputSchema is now articleSchema
    const agentStep = createStep(agent, {
      structuredOutput: { schema: articleSchema },
    });
    
    // Next step can receive the structured output directly
    const processStep = createStep({
      id: 'process',
      inputSchema: articleSchema, // Matches agent's outputSchema
      outputSchema: z.object({ tagCount: z.number() }),
      execute: async ({ inputData }) => ({
        tagCount: inputData.tags.length, // Fully typed!
      }),
    });
    
    workflow.then(agentStep).then(processStep).commit();

    When structuredOutput is not provided, the agent step continues to use the default { text: string } output schema.

  • Fixed a bug where multiple tools streaming output simultaneously could fail with "WritableStreamDefaultWriter is locked" errors. Tool streaming now works reliably during concurrent tool executions. (#10830)

  • Add delete workflow run API (#10991)

    await workflow.deleteWorkflowRunById(runId);
  • Fixed CachedToken tracking in all Observability Exporters. Also fixed TimeToFirstToken in Langfuse, Braintrust, PostHog exporters. Fixed trace formatting in Posthog Exporter. (#11029)

  • fix: persist data-* chunks from writer.custom() to memory storage (#10884)

    • Add persistence for custom data chunks (data-* parts) emitted via writer.custom() in tools
    • Data chunks are now saved to message storage so they survive page refreshes
    • Update @assistant-ui/react to v0.11.47 with native DataMessagePart support
    • Convert data-* parts to DataMessagePart format ({ type: 'data', name: string, data: T })
    • Update related @assistant-ui/* packages for compatibility
  • Fixed double validation bug that prevented Zod transforms from working correctly in tool schemas. (#11025)

    When tools with Zod .transform() or .pipe() in their outputSchema were executed through the Agent pipeline, validation was happening twice - once in Tool.execute() (correct) and again in CoreToolBuilder (incorrect). The second validation received already-transformed data but expected pre-transform data, causing validation errors.

    This fix enables proper use of Zod transforms in both inputSchema (for normalizing/cleaning input data) and outputSchema (for transforming output data to be LLM-friendly).

  • Updated dependencies [5d7000f]:

[email protected]

Patch Changes

  • Add delete workflow run API (#10991)

    await workflow.deleteWorkflowRunById(runId);

@mastra/[email protected]

Patch Changes

  • Breaking Changes (#11028)

    • Renamed RuntimeContext type to ServerContext to avoid confusion with the user-facing RequestContext (previously called RuntimeContext)
    • Removed playground and isDev options from server adapter constructors - these only set context variables without any actual functionality

    Changes

    @mastra/server

    • Renamed RuntimeContext type to ServerContext in route handler types
    • Renamed createTestRuntimeContext to createTestServerContext in test utilities
    • Renamed isPlayground parameter to isStudio in formatAgent function

    @mastra/hono

    • Removed playground and isDev from HonoVariables type
    • Removed setting of playground and isDev context variables in middleware

    @mastra/express

    • Removed playground and isDev from Express.Locals interface
    • Removed setting of playground and isDev in response locals
  • Updated dependencies [edb07e4, b7e17d3, 26346be, 261473a, 5d7000f, 4f0331a, 8a000da]:

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

  • Breaking Changes (#11028)

    • Renamed RuntimeContext type to ServerContext to avoid confusion with the user-facing RequestContext (previously called RuntimeContext)
    • Removed playground and isDev options from server adapter constructors - these only set context variables without any actual functionality

    Changes

    @mastra/server

    • Renamed RuntimeContext type to ServerContext in route handler types
    • Renamed createTestRuntimeContext to createTestServerContext in test utilities
    • Renamed isPlayground parameter to isStudio in formatAgent function

    @mastra/hono

    • Removed playground and isDev from HonoVariables type
    • Removed setting of playground and isDev context variables in middleware

    @mastra/express

    • Removed playground and isDev from Express.Locals interface
    • Removed setting of playground and isDev in response locals
  • Add delete workflow run API (#10991)

    await workflow.deleteWorkflowRunById(runId);
  • Updated dependencies [edb07e4, b7e17d3, 261473a, 5d7000f, 4f0331a, 8a000da]:

@mastra/[email protected]

Patch Changes

  • Breaking Changes (#11028)

    • Renamed RuntimeContext type to ServerContext to avoid confusion with the user-facing RequestContext (previously called RuntimeContext)
    • Removed playground and isDev options from server adapter constructors - these only set context variables without any actual functionality

    Changes

    @mastra/server

    • Renamed RuntimeContext type to ServerContext in route handler types
    • Renamed createTestRuntimeContext to createTestServerContext in test utilities
    • Renamed isPlayground parameter to isStudio in formatAgent function

    @mastra/hono

    • Removed playground and isDev from HonoVariables type
    • Removed setting of playground and isDev context variables in middleware

    @mastra/express

    • Removed playground and isDev from Express.Locals interface
    • Removed setting of playground and isDev in response locals
  • Updated dependencies [edb07e4, b7e17d3, 26346be, 261473a, 5d7000f, 4f0331a, 8a000da]:

@mastra/[email protected]

Patch Changes

  • Breaking Changes (#11028)

    • Renamed RuntimeContext type to ServerContext to avoid confusion with the user-facing RequestContext (previously called RuntimeContext)
    • Removed playground and isDev options from server adapter constructors - these only set context variables without any actual functionality

    Changes

    @mastra/server

    • Renamed RuntimeContext type to ServerContext in route handler types
    • Renamed createTestRuntimeContext to createTestServerContext in test utilities
    • Renamed isPlayground parameter to isStudio in formatAgent function

    @mastra/hono

    • Removed playground and isDev from HonoVariables type
    • Removed setting of playground and isDev context variables in middleware

    @mastra/express

    • Removed playground and isDev from Express.Locals interface
    • Removed setting of playground and isDev in response locals
  • Updated dependencies [edb07e4, b7e17d3, 26346be, 261473a, 5d7000f, 4f0331a, 8a000da]:

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

  • Add delete workflow run API (#10991)

    await workflow.deleteWorkflowRunById(runId);
  • Add halfvec type support for large dimension embeddings (#11002)

    Adds vectorType option to createIndex() for choosing between full precision (vector) and half precision (halfvec) storage. halfvec uses 2 bytes per dimension instead of 4, enabling indexes on embeddings up to 4000 dimensions.

    await pgVector.createIndex({
      indexName: 'large-embeddings',
      dimension: 3072, // text-embedding-3-large
      metric: 'cosine',
      vectorType: 'halfvec',
    });

    Requires pgvector >= 0.7.0 for halfvec support. Docker compose files updated to use pgvector 0.8.0.

  • Updated dependencies [edb07e4, b7e17d3, 261473a, 5d7000f, 4f0331a, 8a000da]:

@mastra/[email protected]

Patch Changes

@mastra/[email protected]

Patch Changes

  • Internal code refactoring (#10830)

  • Add support for typed structured output in agent workflow steps (#11014)

    When wrapping an agent with createStep() and providing a structuredOutput.schema, the step's outputSchema is now correctly inferred from the provided schema instead of defaulting to { text: string }.

    This enables type-safe chaining of agent steps with structured output to subsequent steps:

    const articleSchema = z.object({
      title: z.string(),
      summary: z.string(),
      tags: z.array(z.string()),
    });
    
    // Agent step with structured output - outputSchema is now articleSchema
    const agentStep = createStep(agent, {
      structuredOutput: { schema: articleSchema },
    });
    
    // Next step can receive the structured output directly
    const processStep = createStep({
      id: 'process',
      inputSchema: articleSchema, // Matches agent's outputSchema
      outputSchema: z.object({ tagCount: z.number() }),
      execute: async ({ inputData }) => ({
        tagCount: inputData.tags.length, // Fully typed!
      }),
    });
    
    workflow.then(agentStep).then(processStep).commit();

    When structuredOutput is not provided, the agent step continues to use the default { text: string } output schema.

  • Updated dependencies [edb07e4, b7e17d3, 261473a, 5d7000f, 4f0331a, 8a000da]:

@vercel
Copy link

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
assistant-ui Ready Ready Preview Comment Dec 9, 2025 10:02pm
mastra-docs Ready Ready Preview Comment Dec 9, 2025 10:02pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 9, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch 2 times, most recently from 7475bfc to 0d97aee Compare December 9, 2025 10:11
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 0d97aee to 4ea71c1 Compare December 9, 2025 10:18
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 4ea71c1 to 8e7674b Compare December 9, 2025 10:48
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 8e7674b to 486c8c5 Compare December 9, 2025 12:16
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 486c8c5 to 7088125 Compare December 9, 2025 14:57
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 7088125 to 479f39c Compare December 9, 2025 15:51
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 479f39c to ee7f6f1 Compare December 9, 2025 15:52
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 1f80183 to b5c000e Compare December 9, 2025 16:31
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from b5c000e to b14e11f Compare December 9, 2025 16:57
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from b14e11f to eac7c60 Compare December 9, 2025 17:07
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from eac7c60 to bca6def Compare December 9, 2025 18:06
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from bca6def to 5ff68d9 Compare December 9, 2025 19:28
@dane-ai-mastra dane-ai-mastra bot force-pushed the changeset-release/main branch from 5ff68d9 to a5b27ae Compare December 9, 2025 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants