> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # MastraEditor クラス `MastraEditor` クラスは Editor システムをセットアップします。`Mastra` コンストラクターに渡すと、Prompt Block、Agent コードのオーバーライド、バージョニング、Tool Provider などの Editor 機能が有効になります。 Editor の概要については、[Editor](https://mastra.zisheng.pro/ja/docs/editor/overview) を参照してください。 ## 使用例 ```typescript import { Mastra } from '@mastra/core' import { MastraEditor } from '@mastra/editor' export const mastra = new Mastra({ agents: {/* your agents */}, editor: new MastraEditor(), }) ``` ## コンストラクターのパラメーター **logger** (`Logger`): Logger インスタンス。設定されていない場合は、Mastra インスタンスの Logger にフォールバックします。 **toolProviders** (`Record`): ID をキーとする連携 Tool Provider(Composio や Arcade など)。Editor を介して追加されたサードパーティ Tool を Agent が使用できるようにします。 (Default: `{}`) **processorProviders** (`Record`): 構成可能な入出力処理(モデレーションやトークン制限など)の Processor Provider。組み込み Provider は常に含まれます。 (Default: `{}`) **filesystems** (`Record`): ファイルアクセス用の Filesystem Provider(S3 や GCS など)。ローカル Filesystem Provider は常に含まれます。 (Default: `{}`) **sandboxes** (`Record`): コード実行用の Sandbox Provider(E2B など)。ローカル Sandbox Provider は常に含まれます。 (Default: `{}`) **blobStores** (`Record`): バイナリデータ用の Blob Storage Provider(S3 など)。Provider が指定されていない場合は、Mastra ストレージの Blob Store にフォールバックします。 (Default: `{}`) **browsers** (`Record`): Agent のブラウザーアクセス用の Browser Provider(Stagehand など)。組み込み Provider はないため、builder.features.agent.browser を有効にする場合は必須です。Provider インターフェースについては BrowserProvider リファレンスを参照してください。 (Default: `{}`) **builder** (`AgentBuilderOptions`): Agent Builder の構成。AgentBuilderOptions リファレンスを参照してください。Builder を無効にするには省略するか、enabled: false を設定します。 **source** (`'code' | 'db'`): Agent のオーバーライドを保存する場所。'db' では、オーバーライドは構成済みのストレージバックエンドに保存され、Studio には保存と公開のフローが表示されます。'code' では、オーバーライドは Agent ごとの JSON ファイルとしてディスク上に保存され(ローカル FilesystemStore を経由)、Studio にはファイルシステム操作が表示されます。違いについては、Editor のストレージオプションを参照してください。 (Default: `'db'`) **codePath** (`string`): 'code' ソースが Agent ごとの JSON ファイルに使用するディレクトリ。source が 'code' でない場合は無視されます。 (Default: `'./mastra/editor/'`) ### Provider インターフェース 上記の各 Provider フィールドは、Provider ID をキーとするレコードを受け取ります。実装の形式については、各 Provider のリファレンスページを参照してください。 - [ProcessorProvider](https://mastra.zisheng.pro/ja/reference/editor/processor-provider) - [FilesystemProvider](https://mastra.zisheng.pro/ja/reference/editor/filesystem-provider) - [SandboxProvider](https://mastra.zisheng.pro/ja/reference/editor/sandbox-provider) - [BlobStoreProvider](https://mastra.zisheng.pro/ja/reference/editor/blob-store-provider) - [BrowserProvider](https://mastra.zisheng.pro/ja/reference/editor/browser-provider) ## Agent Builder `builder` フィールドは、保存済み Agent を作成・編集するためのブラウザーベース UI、[Agent Builder](https://agent-builder.mastra.ai/) を有効にします。以下を参照してください。 - [Agent Builder の概要](https://agent-builder.mastra.ai/): 概念と導入方法。 - [AgentBuilderOptions](https://agent-builder.mastra.ai/reference/agent-builder-options): 完全なオプションスキーマ。 - [BuilderAgentDefaults](https://agent-builder.mastra.ai/reference/builder-agent-defaults): 新しい Agent に対して管理者が固定するデフォルト値。 - [builder.configuration.agent.models](https://agent-builder.mastra.ai/reference/builder-models): Model の許可リストとデフォルト Model。 ### Builder Agent の登録 Builder UI は、`createBuilderAgent()` ファクトリーによって作成された Agent に対して動作します。このファクトリーは `@mastra/editor/ee` から提供されます。ファクトリーをインポートして呼び出し、返された Agent を Mastra インスタンスの `agents` に登録します。 ```typescript 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 の概要](https://agent-builder.mastra.ai/#prerequisites)を参照してください。 ## Namespace Editor は、さまざまなエンティティ型を管理する Namespace を公開します。任意の Mastra インスタンスから `mastra.getEditor()` でアクセスし、アプリケーションコードで CRUD メソッドを直接呼び出すか、内部でそれらを使用する Mastra サーバールートを利用します。 すべての Namespace は共通の CRUD 基底クラスを拡張しているため、同じ `create`、`getById`、`update`、`delete`、`list`、`listResolved`、`clearCache` メソッドを公開します。以下の Namespace 固有のプロパティテーブルには、追加のメソッドも記載されています。 **agent** (`EditorAgentNamespace`): 保存済み Agent の CRUD 操作とバージョン管理。保存済みのオーバーライドをコード定義の Agent に適用します。 **agent.create** (`(input: StorageCreateAgentInput) => Promise`): 新しい保存済み Agent を作成し、ハイドレートされた Agent インスタンスを返します。id、authorId、metadata、および初期スナップショット(name、description、instructions、model、tools、memory など)を受け取ります。 **agent.getById** (`(id: string, options?: GetByIdOptions) => Promise`): 保存済み Agent のハイドレートされた Agent インスタンスを返します。特定のバージョンを対象にするには、versionId、versionNumber、または status("draft" | "published" | "archived")を含む options を渡します。デフォルトバージョンのリクエストはキャッシュされます。 **agent.update** (`(input: StorageUpdateAgentInput) => Promise`): 保存済み Agent を部分的に更新します。指定されたスナップショットフィールドからバージョンを作成し、activeVersionId に割り当てて、キャッシュを無効化します。memory を無効にするには null を設定します。 **agent.delete** (`(id: string) => Promise`): 保存済み Agent を削除し、Mastra のランタイムレジストリから除去します。 **agent.list** (`(args?: StorageListAgentsInput) => Promise`): 任意の pagination、orderBy、authorId、metadata フィルターを使用して、保存済み Agent を一覧表示します。未処理の保存済みスナップショットを返します。 **agent.listResolved** (`(args?: StorageListAgentsInput) => Promise`): list と同じですが、参照を解決した完全な構成を返します。 **agent.applyStoredOverrides** (`(agent: Agent, options?: { versionId?: string; status?: "draft" | "published" }) => Promise`): コード定義の Agent をその場で変更し、保存済みのオーバーライド(instructions、tools、variables)を適用します。mastra.getAgent() が内部で呼び出すため、直接呼び出すことはほとんどありません。 **agent.clone** (`(agent: Agent, options: { newId: string; newName?: string; metadata?: Record; authorId?: string; requestContext?: RequestContext; }) => Promise`): 既存の Agent を複製して、新しい保存済み Agent を作成します。 **agent.clearCache** (`(agentId?: string) => void`): 1 つまたはすべての Agent のメモリ内キャッシュを消去します。変更後に自動的に呼び出されます。 **prompt** (`EditorPromptNamespace`): Prompt Block の CRUD 操作。ドラフトの内容を使って Instruction Block を解決する preview メソッドを含みます。 **prompt.create** (`(input: StorageCreatePromptBlockInput) => Promise`): 新しい保存済み Prompt Block を作成します。id、authorId、metadata、および初期スナップショット(name、description、content、rules、requestContextSchema)を受け取ります。 **prompt.getById** (`(id: string, options?: GetByIdOptions) => Promise`): 解決済みの Prompt Block を返します。特定のバージョンまたは status を対象にするには options を渡します。 **prompt.update** (`(input: StorageUpdatePromptBlockInput) => Promise`): 保存済み Prompt Block を部分的に更新します。指定されたスナップショットフィールドを持つ新しいドラフトバージョンを作成します。 **prompt.delete** (`(id: string) => Promise`): 保存済み Prompt Block を削除し、Mastra のランタイムレジストリから除去します。 **prompt.list** (`(args?: StorageListPromptBlocksInput) => Promise`): 任意の pagination、orderBy、authorId、metadata、status フィルターを使用して、保存済み Prompt Block を一覧表示します。 **prompt.listResolved** (`(args?: StorageListPromptBlocksInput) => Promise`): list と同じですが、完全に解決された Prompt Block の内容を返します。 **prompt.preview** (`(blocks: AgentInstructionBlock[], context: Record) => Promise`): Instruction Block の配列を context に照らして解決し、テンプレート変数をレンダリングして表示条件を評価します。参照される Prompt Block のドラフト内容も含まれます。 **prompt.clearCache** (`(id?: string) => void`): 1 つまたはすべての Prompt Block のメモリ内キャッシュを消去します。 **mcp** (`EditorMCPNamespace`): 保存済み MCP Client 構成の CRUD 操作。 **mcp.create** (`(input: StorageCreateMCPClientInput) => Promise`): 新しい保存済み MCP Client を作成します。id、authorId、metadata、および初期スナップショット(servers、tool filtering)を受け取ります。 **mcp.getById** (`(id: string, options?: GetByIdOptions) => Promise`): 保存済み MCP Client のハイドレートされた MCPClient インスタンスを返します。 **mcp.update** (`(input: StorageUpdateMCPClientInput) => Promise`): 保存済み MCP Client を部分的に更新し、キャッシュを無効化します。 **mcp.delete** (`(id: string) => Promise`): 保存済み MCP Client を削除し、Mastra のランタイムレジストリから除去します。 **mcp.list** (`(args?: StorageListMCPClientsInput) => Promise`): 任意の pagination とフィルターを使用して、保存済み MCP Client を一覧表示します。 **mcp.listResolved** (`(args?: StorageListMCPClientsInput) => Promise`): list と同じですが、完全に解決された MCP Client 構成を返します。 **mcp.clearCache** (`(id?: string) => void`): 1 つまたはすべての MCP Client のメモリ内キャッシュを消去します。 **mcpServer** (`EditorMCPServerNamespace`): MCP Server 構成の CRUD 操作。 **mcpServer.create** (`(input: StorageCreateMCPServerInput) => Promise`): 新しい保存済み MCP Server 構成を作成し、ハイドレートされた Server インスタンスを返します。 **mcpServer.getById** (`(id: string, options?: GetByIdOptions) => Promise`): 指定された ID のハイドレートされた MCP Server を返します。 **mcpServer.update** (`(input: StorageUpdateMCPServerInput) => Promise`): 保存済み MCP Server 構成を部分的に更新します。 **mcpServer.delete** (`(id: string) => Promise`): 保存済み MCP Server 構成を削除します。 **mcpServer.list** (`(args?: StorageListMCPServersInput) => Promise`): 保存済み MCP Server 構成を一覧表示します。 **mcpServer.listResolved** (`(args?: StorageListMCPServersInput) => Promise`): list と同じですが、完全に解決された Server 構成を返します。 **mcpServer.clearCache** (`(id?: string) => void`): 1 つまたはすべての MCP Server のメモリ内キャッシュを消去します。 **scorer** (`EditorScorerNamespace`): Scorer 構成の CRUD 操作。 **scorer.create** (`(input: StorageCreateScorerInput) => Promise`): 新しい保存済み Scorer を作成し、ハイドレートされた MastraScorer インスタンスを返します。 **scorer.getById** (`(id: string, options?: GetByIdOptions) => Promise`): 指定された ID のハイドレートされた Scorer を返します。 **scorer.update** (`(input: StorageUpdateScorerInput) => Promise`): 保存済み Scorer を部分的に更新します。 **scorer.delete** (`(id: string) => Promise`): 保存済み Scorer を削除し、Mastra のランタイムレジストリから除去します。 **scorer.list** (`(args?: StorageListScorersInput) => Promise`): 任意の pagination とフィルターを使用して、保存済み Scorer を一覧表示します。 **scorer.listResolved** (`(args?: StorageListScorersInput) => Promise`): list と同じですが、完全に解決された Scorer 構成を返します。 **scorer.clearCache** (`(id?: string) => void`): 1 つまたはすべての Scorer のメモリ内キャッシュを消去します。 ### Agent Namespace の例 既存のコード定義 Agent に対する保存済みオーバーライドを作成します。 ```typescript 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 へのアクセス #### `getToolProvider(id)` 登録済みの Tool Provider を ID で返します。 ```typescript const composio = mastra.getEditor()?.getToolProvider('composio') ``` #### `getToolProviders()` 登録済みのすべての Tool Provider を `Record` として返します。 #### `getProcessorProvider(id)` 登録済みの Processor Provider を ID で返します。 #### `getProcessorProviders()` 登録済みのすべての Processor Provider を返します。 #### `getFilesystemProviders()` 登録済みのすべての Filesystem Provider を返します。 #### `getSandboxProviders()` 登録済みのすべての Sandbox Provider を返します。 #### `getBlobStoreProviders()` 登録済みのすべての Blob Store Provider を返します。 ### Source #### `getSource()` 構成済みの source(`'code'` または `'db'`)を返します。Editor を明示的な source なしで構築した場合は `undefined` を返します。明示的な source は `source` で指定します。 ```typescript const source = mastra.getEditor()?.getSource() ``` 戻り値: `'code' | 'db' | undefined` `source` を省略した場合、`getSource()` が `undefined` を返しても、Editor は構成済みのデータベースストレージを使用します。ストレージのワークフローについては [Editor のストレージオプション](https://mastra.zisheng.pro/ja/docs/editor/overview)、有効化と Git 履歴の動作については [code source のバージョニング](https://mastra.zisheng.pro/ja/reference/editor/versioning)を参照してください。