SandboxProvider
SandboxProvider est l'interface qu'un package implémente pour enregistrer un Sandbox auprès de MastraEditor. Lors de l'hydratation du Workspace, l'éditeur appelle createSandbox(config) en utilisant comme clé de recherche l'ID provider de la configuration du Sandbox stockée dans StorageWorkspaceRef.
Le fournisseur de Sandbox local intégré est enregistré automatiquement. Les fournisseurs externes, comme E2B, sont transmis via MastraEditorConfig.sandboxes.
Exemple d'utilisationLien direct vers Exemple d'utilisation
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { e2bSandboxProvider } from '@mastra/e2b'
new MastraEditor({
sandboxes: {
[e2bSandboxProvider.id]: e2bSandboxProvider,
},
})
PropriétésLien direct vers Propriétés
id:
string
Identifiant unique du fournisseur (par exemple,
"local" ou "e2b"). Doit correspondre à StorageSandboxConfig.provider pour chaque Workspace stocké qui utilise ce fournisseur.name:
string
Nom lisible affiché dans l'interface utilisateur.
description?:
string
Courte description affichée dans le sélecteur de Sandbox du Workspace.
configSchema?:
Record<string, unknown>
Schéma JSON décrivant la configuration propre au fournisseur. Utilisé par l'interface pour afficher les formulaires de configuration.
createSandbox:
(config: TConfig) => WorkspaceSandbox | Promise<WorkspaceSandbox>
Crée une instance d'exécution de
WorkspaceSandbox à partir de la configuration stockée. Appelée lors de l'hydratation du Workspace.Implémenter un fournisseurLien direct vers Implémenter un fournisseur
src/providers/my-sandbox.ts
import type { SandboxProvider, WorkspaceSandbox } from '@mastra/core/editor'
export const mySandboxProvider: SandboxProvider<{ apiKey: string }> = {
id: 'my-sandbox',
name: 'My Sandbox',
description: 'Cloud sandbox for command execution.',
configSchema: {
type: 'object',
required: ['apiKey'],
properties: {
apiKey: { type: 'string' },
},
},
async createSandbox(config): Promise<WorkspaceSandbox> {
return createMySandbox({ apiKey: config.apiKey })
},
}
Une fois le fournisseur enregistré, les administrateurs peuvent le référencer depuis une configuration de Workspace en ligne ou depuis un StorageWorkspaceRef stocké.
Ressources associéesLien direct vers Ressources associées
- Workspace : concept et exemples détaillés.
- StorageWorkspaceRef : configuration stockée utilisée par
createSandbox. - FilesystemProvider : fournisseur associé pour l'accès aux fichiers.
- Classe MastraEditor : registre des fournisseurs.