WorkflowKit sélectionne le moteur de workflow et expose un cycle de vie unifié. Le moteur par défaut est legacy (le moteur en mémoire) ; world s’exécute sur le Vercel Workflow SDK avec un backend Postgres/MongoDB durable (nécessite le package optionnel @ai_kit/workflow-world).
WorkflowKitOptions
WorldConfig
Construction
engine: "world"sans configworldlève une erreur.- Un
world.typeinconnu lève une erreur. engine: "legacy"avec une configworldest autorisé (permet de basculer entre les moteurs via une variable d’environnement sans réécrire la configuration).
Propriétés
Méthodes
start()
@ai_kit/workflow-world à la demande et crée l’adaptateur). No-op quand engine === "legacy", donc le même code de cycle de vie fonctionne pour les deux moteurs. Lève une erreur claire si @ai_kit/workflow-world n’est pas installé.
stop()
engine === "legacy" ou quand le world n’a jamais été démarré.
run(workflow, input, dispatch?)
Dispatche vers le moteur configuré (surchargeable par appel via dispatch.engine).
legacy→ délègue àWorkflow.run(options)et retourne unWorkflowRunResult.world→ délègue austart(fn, args)du SDK et retourne unWorldRunHandle(durable ; la sortie n’est pas retournée directement — voirrunAndWait/returnValue).
runAndWait(workflow, input, dispatch?)
Exécute un workflow et se résout avec sa sortie, de manière synchrone, quel que soit le moteur — l’équivalent le plus proche du legacy await workflow.run() puis .result.
result.status) :
legacy→ lève une erreur quand le statut du résultat n’est pas"success"(avec l’erreur du run) ;world→ rejette via le SDK (WorkflowRunFailedError/WorkflowRunCancelledError).
WorldRunHandle<TResult>
Le handle retourné par un run world (pass-through du Run SDK). Utilisez-le quand vous voulez démarrer maintenant et consommer plus tard :
Reconstituez un handle plus tard à partir d’un identifiant stocké avec
getRun(runId) depuis workflow/api.