Classe MastraEditor
La classe MastraEditor configure le système d’édition. Transmettez-la au constructeur Mastra pour activer les fonctionnalités de l’éditeur, telles que les blocs de prompt, la surcharge du code des agents, le versionnage et les fournisseurs d’outils.
Consultez Editor pour une présentation des fonctions de l’éditeur.
Exemple d’utilisationLien direct vers Exemple d’utilisation
import { Mastra } from '@mastra/core'
import { MastraEditor } from '@mastra/editor'
export const mastra = new Mastra({
agents: {/* your agents */},
editor: new MastraEditor(),
})
Paramètres du constructeurLien direct vers Paramètres du constructeur
logger?:
toolProviders?:
processorProviders?:
filesystems?:
sandboxes?:
blobStores?:
browsers?:
builder.features.agent.browser est activé. Consultez la référence BrowserProvider pour l’interface du fournisseur.builder?:
enabled: false pour désactiver Builder.source?:
codePath?:
Interfaces de fournisseurLien direct vers Interfaces de fournisseur
Chaque champ de fournisseur ci-dessus accepte un enregistrement indexé par l’ID du fournisseur. Consultez les pages de référence de chaque fournisseur pour connaître la structure de l’implémentation :
Agent BuilderLien direct vers Agent Builder
Le champ builder active Agent Builder, une interface utilisateur web permettant de créer et modifier des agents stockés. Consultez :
- Présentation d’Agent Builder : concepts et prise en main.
- AgentBuilderOptions : schéma complet des options.
- BuilderAgentDefaults : valeurs par défaut épinglées par l’administrateur pour les nouveaux agents.
- builder.configuration.agent.models : liste autorisée de modèles et modèle par défaut.
Enregistrer l’agent BuilderLien direct vers Enregistrer l’agent Builder
L’interface de Builder s’exécute avec un agent créé par la fabrique createBuilderAgent() de @mastra/editor/ee. Importez la fabrique, appelez-la, puis enregistrez l’agent renvoyé dans agents sur votre instance Mastra :
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 },
}),
})
Le nom de clé (builderAgent) est une convention. Toute clé convient. Le sous-chemin @mastra/editor/ee est contrôlé à l’exécution par la licence Mastra Enterprise Edition.
Consultez la présentation d’Agent Builder pour la liste complète des étapes de configuration.
Espaces de nomsLien direct vers Espaces de noms
L’éditeur expose des espaces de noms permettant de gérer différents types d’entités. Accédez-y depuis toute instance Mastra avec mastra.getEditor() et appelez directement les méthodes CRUD dans le code de l’application, ou utilisez les routes du serveur Mastra qui s’en servent en interne.
Tous les espaces de noms étendent une classe de base CRUD commune ; ils exposent donc les mêmes méthodes create, getById, update, delete, list, listResolved et clearCache. Les tableaux de propriétés propres à chaque espace de noms ci-dessous documentent également les méthodes supplémentaires.
agent:
create:
getById:
update:
delete:
list:
listResolved:
applyStoredOverrides:
clone:
clearCache:
prompt:
create:
getById:
update:
delete:
list:
listResolved:
preview:
clearCache:
mcp:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
mcpServer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
scorer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
Exemples d’espace de noms d’agentLien direct vers Exemples d’espace de noms d’agent
Créez un remplacement stocké pour un agent existant défini dans le code :
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' },
},
})
MéthodesLien direct vers Méthodes
Accès aux fournisseursLien direct vers Accès aux fournisseurs
getToolProvider(id)Lien direct vers gettoolproviderid
Renvoie un fournisseur d’outils enregistré à partir de son ID.
const composio = mastra.getEditor()?.getToolProvider('composio')
getToolProviders()Lien direct vers gettoolproviders
Renvoie tous les fournisseurs d’outils enregistrés sous la forme d’un Record<string, ToolProvider>.
getProcessorProvider(id)Lien direct vers getprocessorproviderid
Renvoie un fournisseur de processeurs enregistré à partir de son ID.
getProcessorProviders()Lien direct vers getprocessorproviders
Renvoie tous les fournisseurs de processeurs enregistrés.
getFilesystemProviders()Lien direct vers getfilesystemproviders
Renvoie tous les fournisseurs de systèmes de fichiers enregistrés.
getSandboxProviders()Lien direct vers getsandboxproviders
Renvoie tous les fournisseurs de sandbox enregistrés.
getBlobStoreProviders()Lien direct vers getblobstoreproviders
Renvoie tous les fournisseurs de magasins blob enregistrés.
SourceLien direct vers Source
getSource()Lien direct vers getsource
Renvoie la source configurée ('code' ou 'db'), ou undefined lorsque l’éditeur a été construit sans source explicite.
const source = mastra.getEditor()?.getSource()
Valeur renvoyée : 'code' | 'db' | undefined
Lorsque source est omise, Editor utilise le stockage de base de données configuré même si getSource() renvoie undefined. Consultez les options de stockage d’Editor pour les flux de stockage et le versionnage de la source de code pour l’activation et le comportement de l’historique Git.