UNPKG

@mastra/core

Version:
58 lines (57 loc) 2.09 kB
import { r as SignalProvider } from "./signal-provider-Dtdpbuf1.js"; import { d as taskCheckTool, f as taskCompleteTool, m as taskWriteTool, p as taskUpdateTool, t as TaskStateProcessor } from "./task-state-processor-C9agcUfw.js"; //#region src/signals/task-signal-provider.ts /** * Bundles the built-in task tools and the {@link TaskStateProcessor} behind a * single agent registration. * * The task list is held in the thread-scoped `tasks` storage domain (the * TaskStore) and projected onto the agent state-signal lane by * `TaskStateProcessor`. Wiring task tracking by hand means registering all four * task tools **and** the processor, and keeping them in sync — forget the * processor and the tools work for a single turn but silently lose the list * across turns. This provider wires both together so that cannot happen. * * Task tracking requires a memory-backed thread (`threadId` + `resourceId`) and * a Mastra `storage` instance (the `tasks` domain is always wired in-memory by * default). Without memory the tools no-op and report that task tracking * requires agent memory. * * @example * ```ts * import { Agent } from '@mastra/core/agent'; * import { TaskSignalProvider } from '@mastra/core/signals'; * * const agent = new Agent({ * name: 'coder', * instructions: '...', * model, * memory, * signals: [new TaskSignalProvider()], * }); * ``` * * The Agent automatically merges the tools into its toolset and registers the * processor on its input-processor chain (which propagates the Mastra instance * so the processor can resolve the TaskStore). * * @experimental Agent signals are experimental and may change in a future release. */ var TaskSignalProvider = class extends SignalProvider { id = "task-signals"; #processor = new TaskStateProcessor(); getInputProcessors() { return [this.#processor]; } getTools() { return { task_write: taskWriteTool, task_update: taskUpdateTool, task_complete: taskCompleteTool, task_check: taskCheckTool }; } }; //#endregion export { TaskSignalProvider as t }; //# sourceMappingURL=signals-CrlfiLDz.js.map