Aller au contenu principal

mountAgentControllerOnMastra()

beta

Le package @mastra/code-sdk est expérimental et susceptible de subir des changements incompatibles dans les versions mineures.

La fonction mountAgentControllerOnMastra() construit le contrôleur d'Agent Mastra Code (l'Agent de programmation sur lequel repose la CLI mastracode, avec ses modes, ses Tools, sa mémoire et sa gestion des threads) et l'enregistre sur une instance Mastra appartenant au serveur. Utilisez-la pour mettre l'Agent Mastra Code à la disposition de votre propre interface utilisateur (application web, éditeur ou bot) : chaque client crée ou reprend sa propre session isolée au moyen de l'AgentController renvoyé.

Pour construire vous-même l'instance Mastra (par exemple dans un fichier d'entrée déployable), utilisez prepareAgentControllerMount() du même package. Cette fonction renvoie les arguments du constructeur ainsi qu'une fonction de rappel finalize().

Exemple d'utilisation
Lien direct vers Exemple d'utilisation

src/mastra/index.ts
import { mountAgentControllerOnMastra } from '@mastra/code-sdk'

const { mastra, controller } = await mountAgentControllerOnMastra({
cwd: process.cwd(),
})

// Each client drives its own session
const session = await controller.createSession({ resourceId: 'user-123' })

Transmettez un objet mastra existant pour monter le contrôleur sur une instance Mastra qui héberge déjà d'autres primitives :

import { Mastra } from '@mastra/core/mastra'
import { mountAgentControllerOnMastra } from '@mastra/code-sdk'

const mastra = new Mastra({/* ... */})

const { controller } = await mountAgentControllerOnMastra({ mastra })

Paramètres
Lien direct vers Paramètres

cwd?:

string
= process.cwd()
Répertoire de travail utilisé pour détecter le projet.

mastra?:

Mastra
Instance Mastra existante sur laquelle effectuer le montage. Lorsqu'elle est omise, une instance Mastra propriétaire du stockage du contrôleur est créée.

controllerId?:

string
Identifiant sous lequel le contrôleur est enregistré sur l'instance Mastra.

modes?:

AgentControllerMode[]
= build/plan/fast
Remplace les modes de l'Agent (identifiants des modèles, couleurs et modes disponibles).

subagents?:

AgentControllerSubagent[]
= explore/plan/execute
Remplace ou étend les définitions des sous-Agents.

extraTools?:

Record<string, ToolAction> | (ctx) => Record<string, ToolAction>
Tools supplémentaires fusionnés dans l'ensemble dynamique de Tools.

postToolObserver?:

(context: ToolAfterHookContext) => void | Promise<void>
Observe les appels de Tool terminés sans remplacer le Tool ni modifier le comportement du gestionnaire de hooks. Les erreurs de l'observateur sont consignées et ne font pas échouer les appels de Tool réussis.

inputProcessors?:

InputProcessor[]
Processors d'entrée sans état ajoutés avant les Processors obligatoires de sécurité et de compatibilité de Mastra Code. Les Processors personnalisés étendent le pipeline, mais ne peuvent pas remplacer les Processors intégrés.

disabledTools?:

string[]
Tools retirés de l'ensemble dynamique de Tools avant son exposition au modèle.

storage?:

StorageConfig
Configuration de stockage personnalisée utilisée à la place de la configuration par défaut détectée automatiquement.

workspace?:

AgentControllerConfig["workspace"]
= système de fichiers local + Sandbox local basé sur le projet détecté
Remplace le Workspace.

configDir?:

string
= '.mastracode'
Remplace le nom du répertoire de configuration utilisé pour tous les chemins de configuration globaux et propres au projet (MCP, hooks, commandes, base de données, Skills et instructions de l'Agent).

mcpServers?:

Record<string, McpServerConfig>
Configurations programmatiques des serveurs MCP, fusionnées avec les configurations basées sur des fichiers et prioritaires sur celles-ci.

buildApiRoutes?:

(deps: { controller, authStorage }) => ApiRoute[]
Routes d'API supplémentaires enregistrées sur l'instance Mastra construite. Ignorées lorsque mastra est fourni.

buildServerConfig?:

(deps: { controller, authStorage }) => ServerConfig
Configuration supplémentaire du serveur (middleware, CORS) intégrée à l'instance Mastra construite. Ignorée lorsque mastra est fourni.

Valeur renvoyée
Lien direct vers Valeur renvoyée

mastra:

Mastra
Instance Mastra sur laquelle le contrôleur est monté (créée ou transmise en entrée).

controller:

AgentController
Contrôleur d'Agent Mastra Code initialisé. Créez des sessions avec controller.createSession().

authStorage:

AuthStorage
Stockage des identifiants utilisé par la passerelle de modèles intégrée.