> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # ProcessorProvider `ProcessorProvider` est l’interface qu’un package implémente pour enregistrer un Processor configurable auprès de [`MastraEditor`](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor). Les fournisseurs de Processor remplissent deux fonctions : 1. **Découverte :** l’interface utilisateur emploie `info`, `configSchema` et `availablePhases` pour afficher les formulaires de configuration. 2. **Exécution :** l’Editor appelle `createProcessor(config)` lors de l’hydratation de l’Agent afin d’instancier les Processors à partir de la configuration enregistrée. Les fournisseurs sont transmis au moyen de `MastraEditorConfig.processorProviders`. ## Exemple d’utilisation ```typescript import { MastraEditor } from '@mastra/editor' import { moderationProcessorProvider } from '@mastra/processors/moderation' new MastraEditor({ processorProviders: { moderation: moderationProcessorProvider, }, }) ``` ## Propriétés **info** (`ProcessorProviderInfo`): Métadonnées relatives au fournisseur. **info.id** (`string`): Identifiant unique (par exemple, "moderation" ou "token-limiter"). **info.name** (`string`): Nom lisible. **info.description** (`string`): Courte description du fournisseur. **configSchema** (`ZodSchema`): Schéma Zod décrivant la configuration acceptée par ce fournisseur. Utilisé par l’interface utilisateur pour afficher un formulaire. L’objet de configuration validé est transmis à createProcessor(). **availablePhases** (`ProcessorPhase[]`): Phases prises en charge par les Processors de ce fournisseur. Une ou plusieurs parmi 'processInput', 'processInputStep', 'processOutputStream', 'processOutputResult' et 'processOutputStep'. **createProcessor** (`(config: Record) => Processor`): Crée une instance de Processor à partir de la configuration validée. Cette méthode est appelée lors de l’hydratation de l’Agent afin de convertir les configurations de Processor enregistrées en instances actives. ## Implémenter un fournisseur ```typescript 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 }) }, } ``` ## Voir aussi - [Classe MastraEditor](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor) : registre des fournisseurs.