Aller au contenu principal

Mastra.addDynamicWorkflow()

beta

Les Workflows dynamiques sont en bêta. Des changements avec rupture de compatibilité peuvent survenir sans incrément de version majeure tant que l’API n’est pas stable.

La méthode .addDynamicWorkflow() valide une définition de Workflow dynamique et l’enregistre comme Workflow actif sur l’instance, en la persistant via le domaine de stockage workflowDefinitions. Une fois enregistré, le Workflow s’exécute comme tout autre Workflow au moyen de getWorkflow().

Consultez les Workflows dynamiques pour un exemple complet de configuration et la référence de définition de Workflow dynamique pour les champs et entrées de graphe acceptés.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

await mastra.addDynamicWorkflow({
id: 'greeting-workflow',
description: 'Returns a greeting for the supplied name',
inputSchema: {
type: 'object',
properties: { name: { type: 'string' } },
required: ['name'],
},
outputSchema: {
type: 'object',
properties: { message: { type: 'string' } },
required: ['message'],
},
graph: [
{
type: 'mapping',
id: 'create-greeting',
mapConfig: JSON.stringify({
message: { template: 'Hello, ${initData.name}!' },
}),
},
],
})

const run = await mastra.getWorkflow('greeting-workflow').createRun()
const result = await run.start({ inputData: { name: 'Ada' } })

Paramètres
Lien direct vers Paramètres

def:

DynamicWorkflowGraph
Définition de Workflow : id, description et métadonnées facultatives, schémas d’entrée et de sortie JSON Schema, schémas facultatifs d’état et de contexte de requête, et graphe des étapes.

Valeur renvoyée
Lien direct vers Valeur renvoyée

Promesse qui se résout une fois la définition validée, enregistrée et persistée.

Comportement
Lien direct vers Comportement

  • La définition est entièrement validée (structure, références, flux des schémas) avant toute mutation. Les Agents, Tools et Workflows référencés par le graphe doivent déjà être enregistrés sur l’instance.
  • L’ajout d’une définition avec un ID existant remplace à la fois la définition stockée et l’enregistrement actif. Les exécutions en cours conservent le graphe avec lequel elles ont démarré.
  • Sans adaptateur de stockage prenant en charge le domaine workflowDefinitions, le Workflow est toujours validé et enregistré en mémoire, mais la définition est perdue au redémarrage.
  • Pour ajouter un Workflow racine avec les Workflows auxiliaires qu’il imbrique, utilisez addDynamicWorkflows().