> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # SandboxProvider `SandboxProvider` est l'interface qu'un package implémente pour enregistrer un Sandbox auprès de [`MastraEditor`](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor). 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`](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref). Le fournisseur de Sandbox `local` intégré est enregistré automatiquement. Les fournisseurs externes, comme E2B, sont transmis via `MastraEditorConfig.sandboxes`. ## Exemple d'utilisation ```typescript import { MastraEditor } from '@mastra/editor' import { e2bSandboxProvider } from '@mastra/e2b' new MastraEditor({ sandboxes: { [e2bSandboxProvider.id]: e2bSandboxProvider, }, }) ``` ## 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`): 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`): 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 fournisseur ```typescript 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 { 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`](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref) stocké. ## Ressources associées - [Workspace](https://agent-builder.mastra.ai/workspace) : concept et exemples détaillés. - [StorageWorkspaceRef](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref) : configuration stockée utilisée par `createSandbox`. - [FilesystemProvider](https://mastra.zisheng.pro/fr/reference/editor/filesystem-provider) : fournisseur associé pour l'accès aux fichiers. - [Classe MastraEditor](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor) : registre des fournisseurs.