mountAgentControllerOnMastra()
beta
@mastra/code-sdk パッケージは実験的機能であり、マイナーバージョンで破壊的変更が行われる可能性があります。
mountAgentControllerOnMastra() 関数は、Mastra Code Agent Controller(mastracode CLI の基盤となる Coding Agent で、モード、Tool、Memory、スレッド管理を備えています)を構築し、サーバーが所有する Mastra インスタンスに登録します。Mastra Code Agent を独自の UI(Web アプリ、エディター、Bot)から利用できるようにするために使用します。各クライアントは、返された AgentController を通じて、独立したセッションを作成または再開します。
(デプロイ可能なエントリーファイル内などで)Mastra インスタンスを自分で構築するには、同じパッケージの prepareAgentControllerMount() を使用します。この関数はコンストラクター引数と finalize() コールバックを返します。
使用例使用例への直接リンク
src/mastra/index.ts
import { mountAgentControllerOnMastra } from '@mastra/code-sdk'
const { mastra, controller } = await mountAgentControllerOnMastra({
cwd: process.cwd(),
})
// Each client drives its own session
const session = await controller.createSession({ resourceId: 'user-123' })
すでに他のプリミティブをホストしている Mastra インスタンスに Controller をマウントするには、既存の mastra を渡します。
import { Mastra } from '@mastra/core/mastra'
import { mountAgentControllerOnMastra } from '@mastra/code-sdk'
const mastra = new Mastra({/* ... */})
const { controller } = await mountAgentControllerOnMastra({ mastra })
パラメーターパラメーターへの直接リンク
cwd?:
string
= process.cwd()
プロジェクト検出に使用する作業ディレクトリ。
mastra?:
Mastra
マウント先となる既存の Mastra インスタンス。省略すると、Controller のストレージを所有する Mastra が作成されます。
controllerId?:
string
Mastra インスタンスに Controller を登録する際の ID。
modes?:
AgentControllerMode[]
= build/plan/fast
Agent のモード(モデル ID、色、存在するモード)をオーバーライドします。
subagents?:
AgentControllerSubagent[]
= explore/plan/execute
サブ Agent の定義をオーバーライドまたは拡張します。
extraTools?:
Record<string, ToolAction> | (ctx) => Record<string, ToolAction>
動的な Tool セットにマージする追加 Tool。
postToolObserver?:
(context: ToolAfterHookContext) => void | Promise<void>
Tool を置き換えたり Hook Manager の動作を変更したりせずに、完了した Tool 呼び出しを監視します。Observer のエラーはログに記録され、成功した Tool 呼び出しを失敗させることはありません。
inputProcessors?:
InputProcessor[]
Mastra Code に必須の安全性および互換性 Processor より前に追加される、ステートレスな入力 Processor。カスタム Processor はパイプラインを拡張しますが、組み込み Processor を置き換えることはできません。
disabledTools?:
string[]
モデルに公開する前に動的な Tool セットから削除する Tool。
storage?:
StorageConfig
自動検出されるデフォルトの代わりに使用するカスタムストレージ設定。
workspace?:
AgentControllerConfig["workspace"]
= local filesystem + local sandbox based on the detected project
Workspace をオーバーライドします。
configDir?:
string
= '.mastracode'
プロジェクトレベルおよびグローバルのすべての設定パス(MCP、Hook、コマンド、データベース、Skill、Agent の指示)に使用する設定ディレクトリ名をオーバーライドします。
mcpServers?:
Record<string, McpServerConfig>
プログラムで指定する MCP サーバー設定。ファイルベースの設定とマージされ、同じ項目は上書きします。
buildApiRoutes?:
(deps: { controller, authStorage }) => ApiRoute[]
構築した Mastra に登録する追加の API ルート。
mastra を指定した場合は無視されます。buildServerConfig?:
(deps: { controller, authStorage }) => ServerConfig
構築した Mastra に組み込む追加のサーバー設定(ミドルウェア、CORS)。
mastra を指定した場合は無視されます。戻り値戻り値への直接リンク
mastra:
Mastra
Controller のマウント先となる Mastra インスタンス(作成されたもの、または渡されたもの)。
controller:
AgentController
初期化された Mastra Code Agent Controller。
controller.createSession() でセッションを作成します。authStorage:
AuthStorage
組み込みのモデル Gateway が使用する認証情報ストレージ。