MastraEditor クラス
MastraEditor クラスは Editor システムをセットアップします。Mastra コンストラクターに渡すと、Prompt Block、Agent コードのオーバーライド、バージョニング、Tool Provider などの Editor 機能が有効になります。
Editor の概要については、Editor を参照してください。
使用例使用例への直接リンク
import { Mastra } from '@mastra/core'
import { MastraEditor } from '@mastra/editor'
export const mastra = new Mastra({
agents: {/* your agents */},
editor: new MastraEditor(),
})
コンストラクターのパラメーターコンストラクターのパラメーターへの直接リンク
logger?:
toolProviders?:
processorProviders?:
filesystems?:
sandboxes?:
blobStores?:
browsers?:
builder.features.agent.browser を有効にする場合は必須です。Provider インターフェースについては BrowserProvider リファレンスを参照してください。builder?:
enabled: false を設定します。source?:
codePath?:
Provider インターフェースProvider インターフェースへの直接リンク
上記の各 Provider フィールドは、Provider ID をキーとするレコードを受け取ります。実装の形式については、各 Provider のリファレンスページを参照してください。
Agent BuilderAgent Builderへの直接リンク
builder フィールドは、保存済み Agent を作成・編集するためのブラウザーベース UI、Agent Builder を有効にします。以下を参照してください。
- Agent Builder の概要: 概念と導入方法。
- AgentBuilderOptions: 完全なオプションスキーマ。
- BuilderAgentDefaults: 新しい Agent に対して管理者が固定するデフォルト値。
- builder.configuration.agent.models: Model の許可リストとデフォルト Model。
Builder Agent の登録Builder Agent の登録への直接リンク
Builder UI は、createBuilderAgent() ファクトリーによって作成された Agent に対して動作します。このファクトリーは @mastra/editor/ee から提供されます。ファクトリーをインポートして呼び出し、返された Agent を Mastra インスタンスの agents に登録します。
import { Mastra } from '@mastra/core'
import { MastraEditor } from '@mastra/editor'
import { createBuilderAgent } from '@mastra/editor/ee'
export const mastra = new Mastra({
agents: { builderAgent: createBuilderAgent() },
editor: new MastraEditor({
builder: { enabled: true },
}),
})
キー名(builderAgent)は慣例的なものです。任意のキーを使用できます。@mastra/editor/ee サブパスは、実行時に Mastra Enterprise Edition ライセンスによって制限されます。
セットアップの完全なチェックリストについては、Agent Builder の概要を参照してください。
NamespaceNamespaceへの直接リンク
Editor は、さまざまなエンティティ型を管理する Namespace を公開します。任意の Mastra インスタンスから mastra.getEditor() でアクセスし、アプリケーションコードで CRUD メソッドを直接呼び出すか、内部でそれらを使用する Mastra サーバールートを利用します。
すべての Namespace は共通の CRUD 基底クラスを拡張しているため、同じ create、getById、update、delete、list、listResolved、clearCache メソッドを公開します。以下の Namespace 固有のプロパティテーブルには、追加のメソッドも記載されています。
agent:
create:
getById:
update:
delete:
list:
listResolved:
applyStoredOverrides:
clone:
clearCache:
prompt:
create:
getById:
update:
delete:
list:
listResolved:
preview:
clearCache:
mcp:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
mcpServer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
scorer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
Agent Namespace の例Agent Namespace の例への直接リンク
既存のコード定義 Agent に対する保存済みオーバーライドを作成します。
import { mastra } from '../mastra'
const editor = mastra.getEditor()!
await editor.agent.create({
id: 'support-agent',
instructions: 'You are a friendly support agent for Acme.',
tools: {
search_kb: { description: 'Search the Acme knowledge base' },
},
})
メソッドメソッドへの直接リンク
Provider へのアクセスProvider へのアクセスへの直接リンク
getToolProvider(id)gettoolprovideridへの直接リンク
登録済みの Tool Provider を ID で返します。
const composio = mastra.getEditor()?.getToolProvider('composio')
getToolProviders()gettoolprovidersへの直接リンク
登録済みのすべての Tool Provider を Record<string, ToolProvider> として返します。
getProcessorProvider(id)getprocessorprovideridへの直接リンク
登録済みの Processor Provider を ID で返します。
getProcessorProviders()getprocessorprovidersへの直接リンク
登録済みのすべての Processor Provider を返します。
getFilesystemProviders()getfilesystemprovidersへの直接リンク
登録済みのすべての Filesystem Provider を返します。
getSandboxProviders()getsandboxprovidersへの直接リンク
登録済みのすべての Sandbox Provider を返します。
getBlobStoreProviders()getblobstoreprovidersへの直接リンク
登録済みのすべての Blob Store Provider を返します。
SourceSourceへの直接リンク
getSource()getsourceへの直接リンク
構成済みの source('code' または 'db')を返します。Editor を明示的な source なしで構築した場合は undefined を返します。明示的な source は source で指定します。
const source = mastra.getEditor()?.getSource()
戻り値: 'code' | 'db' | undefined
source を省略した場合、getSource() が undefined を返しても、Editor は構成済みのデータベースストレージを使用します。ストレージのワークフローについては Editor のストレージオプション、有効化と Git 履歴の動作については code source のバージョニングを参照してください。