프로세서 공급자
ProcessorProvider구성 가능 프로세서를 등록하기 위해 패키지가 구현하는 인터페이스입니다.MastraEditor. 프로세서 공급자는 두 가지 목적을 수행합니다.
- 검색: UI는
info,configSchema,availablePhases를 사용해 구성 양식을 렌더링합니다. - 런타임: 편집기는 Agent 하이드레이션 중
createProcessor(config)를 호출하여 저장된 구성으로 프로세서를 인스턴스화합니다. 공급자는 다음을 통해 공급됩니다.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의 프로세서가 지원하는 단계입니다.
'processInput', 'processInputStep', 'processOutputStream', 'processOutputResult', 'processOutputStep' 중 하나 이상입니다.createProcessor:
(config: Record<string, unknown>) => Processor
검증된 구성으로
Processor 인스턴스를 생성합니다. Agent 하이드레이션 중 호출되어 저장된 프로세서 구성을 실제 인스턴스로 해석합니다.공급자 구현공급자 구현에 대한 직접 링크
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 클래스: 공급자 레지스트리.