ProcessorProvider
ProcessorProvider は、設定可能な Processor を MastraEditor に登録するためにパッケージが実装するインターフェースです。Processor Provider には、次の2つの役割があります。
- 検出: UI は
info、configSchema、availablePhasesを使用して設定フォームをレンダリングします。 - ランタイム: Editor は Agent のハイドレーション時に
createProcessor(config)を呼び出し、保存された設定から Processor をインスタンス化します。
Provider は MastraEditorConfig.processorProviders を介して指定します。
使用例使用例への直接リンク
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { moderationProcessorProvider } from '@mastra/processors/moderation'
new MastraEditor({
processorProviders: {
moderation: moderationProcessorProvider,
},
})
プロパティプロパティへの直接リンク
info:
ProcessorProviderInfo
Provider に関するメタデータ。
id:
string
一意の識別子(例:
"moderation"、"token-limiter")。name:
string
人が読みやすい名前。
description?:
string
Provider の簡潔な説明。
configSchema:
ZodSchema
この Provider が受け入れる設定を記述する Zod スキーマ。UI がフォームをレンダリングするために使用します。検証済みの設定オブジェクトは
createProcessor() に渡されます。availablePhases:
ProcessorPhase[]
この Provider の Processor がサポートするフェーズ。
'processInput'、'processInputStep'、'processOutputStream'、'processOutputResult'、'processOutputStep' のうち1つ以上。createProcessor:
(config: Record<string, unknown>) => Processor
検証済みの設定から
Processor インスタンスを作成します。Agent のハイドレーション時に呼び出され、保存された Processor 設定を実際のインスタンスに解決します。Provider を実装するProvider を実装するへの直接リンク
src/providers/my-processor.ts
import type { ProcessorProvider } from '@mastra/core/processor-provider'
import { z } from 'zod'
import { MyProcessor } from './my-processor-impl'
export const myProcessorProvider: ProcessorProvider = {
info: {
id: 'my-processor',
name: 'My Processor',
description: 'Filters output for sensitive content.',
},
configSchema: z.object({
threshold: z.number().min(0).max(1),
}),
availablePhases: ['processOutputStream', 'processOutputResult'],
createProcessor(config) {
return new MyProcessor(config as { threshold: number })
},
}
関連情報関連情報への直接リンク
- MastraEditor クラス: Provider レジストリ。