🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@mastra/codemod

Package Overview
Dependencies
Maintainers
6
Versions
128
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
This package has malicious versions linked to the ongoing "Mastra AI framework compromise" supply chain attack.

Affected versions:

1.0.4
View campaign page

@mastra/codemod

Codemod CLI for Mastra

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
1.9K
106.43%
Maintainers
6
Weekly downloads
 
Created
Source

Mastra Codemods

Mastra provides automated code transformations (codemods) to help upgrade your codebase when features are deprecated, removed, or changed between versions.

Codemods are transformations that run on your codebase programmatically, allowing you to apply many changes without manually editing every file.

Quick Start

Run Version-Specific Codemods

npx @mastra/codemod v1

Run Individual Codemods

To run a specific codemod:

npx @mastra/codemod <codemod-name> <path>

Examples:

# Transform a specific file
npx @mastra/codemod v1/mastra-core-imports src/mastra.ts

# Transform a directory
npx @mastra/codemod v1/mastra-core-imports src/lib/

# Transform entire project
npx @mastra/codemod v1/mastra-core-imports .

Available Codemods

v1 Codemods (v0 → v1 Migration)

CodemodDescription
v1/agent-abort-signalMoves abortSignal from modelSettings to top-level options in agent method calls
v1/agent-generate-stream-v-nextRenames agent.generateVNext()agent.generate() and agent.streamVNext()agent.stream()
v1/agent-processor-methodsRenames agent.getInputProcessors()agent.listInputProcessors() and similar output processor methods
v1/agent-property-accessTransforms agent property access to method calls: agent.llmagent.getLLM()
v1/agent-voiceMoves agent voice methods to namespace: agent.speak()agent.voice.speak()
v1/client-get-memory-threadUpdates client.getMemoryThread(threadId, agentId) to use object parameter
v1/client-msg-function-argsTransforms MastraClient agent method calls to use messages as the first argument
v1/client-offset-limitRenames pagination properties from offset/limit to page/perPage
v1/client-sdk-typesRenames Client SDK types from Get* to List* pattern
v1/client-to-ai-sdk-formatRenames toAISdkFormat to toAISdkStream
v1/evals-prebuilt-importsUpdates prebuilt scorer imports from scorers/llm and scorers/code to scorers/prebuilt
v1/evals-run-experimentRenames runExperiment()runEvals() in imports and usages
v1/evals-scorer-by-nameRenames mastra.getScorerByName()mastra.getScorerById()
v1/experimental-authRenames experimental_auth to auth in Mastra configuration
v1/mastra-core-importsUpdates imports from @mastra/core to use new subpath imports
v1/mastra-plural-apisRenames Mastra plural API methods from get* to list*
v1/mcp-get-toolsRenames mcp.getTools()mcp.listTools()
v1/mcp-get-toolsetsRenames mcp.getToolsets()mcp.listToolsets()
v1/memory-message-v2-typeRenames MastraMessageV2 type → MastraDBMessage in imports and usages
v1/memory-query-to-recallRenames memory.query()memory.recall()
v1/memory-vector-search-paramRenames vectorMessageSearch parameter → vectorSearchString in memory.recall() calls
v1/memory-readonly-to-optionsMoves memory.readOnly to memory.options.readOnly in agent method calls
v1/runtime-contextRenames RuntimeContext to RequestContext and updates parameter names from runtimeContext to requestContext
v1/storage-get-messages-paginatedRenames storage.getMessagesPaginated()storage.listMessages() and offset/limitpage/perPage
v1/storage-get-threads-by-resourceRenames storage.getThreadsByResourceId()storage.listThreadsByResourceId()
v1/storage-list-messages-by-idRenames storage.getMessagesById()storage.listMessagesById()
v1/storage-list-workflow-runsRenames storage.getWorkflowRuns()storage.listWorkflowRuns()
v1/storage-postgres-schema-nameRenames schema property → schemaName in PostgresStore constructor
v1/vector-pg-constructorConverts new PgVector(connectionString) to new PgVector({ connectionString })
v1/voice-property-namesRenames voice property names in Agent configuration: speakProvideroutput
v1/workflow-create-run-asyncRenames workflow.createRunAsync()workflow.createRun()
v1/workflow-list-runsRenames workflow.getWorkflowRuns()workflow.listWorkflowRuns()
v1/workflow-run-countRenames context.runCountcontext.retryCount in step execution functions
v1/workflow-stream-vnextRenames streamVNext(), resumeStreamVNext(), and observeStreamVNext()

CLI Options

Commands

npx @mastra/codemod <command> [options]

Available Commands:

  • <codemod-name> <path> - Apply specific codemod

Global Options

  • --dry - Preview changes without applying them
  • --print - Print transformed code to stdout
  • --verbose - Show detailed transformation logs

Examples

# Show verbose output for specific codemod
npx @mastra/codemod --verbose v1/mastra-core-imports src/

# Print transformed code for specific codemod
npx @mastra/codemod --print v1/mastra-core-imports src/mastra.ts

Contributing

Adding New Codemods

  • Create the codemod in src/codemods/<version>

  • Add test fixtures in src/test/__fixtures__/

  • Create tests in src/test/

  • Use the scaffold script to generate boilerplate:

    pnpm scaffold
    

Testing Codemods

First, navigate to the codemod directory:

cd packages/codemod

Then run the tests:

# Run all tests
pnpm test

# Run specific codemod tests
pnpm test mastra-core-imports

# Test in development
pnpm test:watch

Keywords

mastra

FAQs

Package last updated on 19 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts