Aller au contenu principal

TaskSignalProvider

Regroupe les Tools de tâches intégrés (task_write, task_update, task_complete, task_check) et le TaskStateProcessor derrière un unique enregistrement d’Agent. Utilisez-le pour ajouter une liste de tâches structurée et durable à un Agent sans connecter séparément les Tools et le processeur.

Étend SignalProvider. La liste de tâches est stockée dans le domaine de stockage tasks limité au thread (la source de vérité), puis projetée par le processeur sur la voie de signal d’état de l’Agent ; elle survit ainsi à la troncature de la mémoire d’observation sans invalider le cache du prompt.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

Enregistrez le fournisseur sur un Agent disposant de Memory et d’un storage Mastra :

src/mastra/index.ts
import { Agent } from '@mastra/core/agent'
import { TaskSignalProvider } from '@mastra/core/signals'

const agent = new Agent({
id: 'coder',
name: 'coder',
instructions: '...',
model,
memory,
signals: [new TaskSignalProvider()],
})

L’Agent fusionne automatiquement les quatre Tools de tâches dans son ensemble de Tools et enregistre le processeur dans sa chaîne de Processors d’entrée. Aucun autre câblage n’est nécessaire.

Le suivi des tâches exige un thread adossé à une mémoire (threadId + resourceId). Sans mémoire, les Tools de tâches ne font rien et renvoient un résultat expliquant que le suivi des tâches exige la mémoire de l’Agent. Le domaine de stockage tasks est connecté en mémoire par défaut ; le suivi des tâches fonctionne donc sans configurer de backend de stockage.

Paramètres du constructeur
Lien direct vers Paramètres du constructeur

TaskSignalProvider ne prend aucun argument de constructeur.

Propriétés
Lien direct vers Propriétés

id:

'task-signals'
Identifiant stable de l’instance de fournisseur.

Méthodes
Lien direct vers Méthodes

Intégration à l’Agent
Lien direct vers Intégration à l’Agent

Ces méthodes sont appelées automatiquement par l’Agent lorsque le fournisseur est transmis à signals. Vous ne les appelez généralement pas directement.

getTools()
Lien direct vers gettools

Renvoie les quatre Tools de tâches, indexés par leurs id de Tool (task_write, task_update, task_complete, task_check). L’Agent les fusionne dans son ensemble de Tools.

const tools = new TaskSignalProvider().getTools()
// { task_write, task_update, task_complete, task_check }

Renvoie : Record<string, Tool>

getInputProcessors()
Lien direct vers getinputprocessors

Renvoie l’instance TaskStateProcessor du fournisseur. L’Agent l’enregistre dans la chaîne de Processors d’entrée, qui propage l’instance Mastra afin que le processeur puisse résoudre le stockage tasks.

const [processor] = new TaskSignalProvider().getInputProcessors()
// processor instanceof TaskStateProcessor

Renvoie : InputProcessorOrWorkflow[]