{"version":3,"sources":["../../src/signals/task-signal-provider.ts"],"names":["SignalProvider","TaskStateProcessor","taskWriteTool","taskUpdateTool","taskCompleteTool","taskCheckTool"],"mappings":";;;;;;AA0CO,IAAM,kBAAA,GAAN,cAAiCA,gCAAA,CAA+B;AAAA,EAC5D,EAAA,GAAK,cAAA;AAAA,EAEL,UAAA,GAAa,IAAIC,oCAAA,EAAmB;AAAA,EAE7C,kBAAA,GAAiD;AAC/C,IAAA,OAAO,CAAC,KAAK,UAAU,CAAA;AAAA,EACzB;AAAA,EAEA,QAAA,GAAW;AACT,IAAA,OAAO;AAAA,MACL,UAAA,EAAYC,+BAAA;AAAA,MACZ,WAAA,EAAaC,gCAAA;AAAA,MACb,aAAA,EAAeC,kCAAA;AAAA,MACf,UAAA,EAAYC;AAAA,KACd;AAAA,EACF;AACF","file":"index.cjs","sourcesContent":["import type { InputProcessorOrWorkflow } from '../processors';\nimport { TaskStateProcessor } from '../tools/builtin/task-state-processor';\nimport { taskCheckTool, taskCompleteTool, taskUpdateTool, taskWriteTool } from '../tools/builtin/task-tools';\n\nimport { SignalProvider } from './signal-provider';\n\n/**\n * Bundles the built-in task tools and the {@link TaskStateProcessor} behind a\n * single agent registration.\n *\n * The task list is held in the thread-scoped `tasks` storage domain (the\n * TaskStore) and projected onto the agent state-signal lane by\n * `TaskStateProcessor`. Wiring task tracking by hand means registering all four\n * task tools **and** the processor, and keeping them in sync — forget the\n * processor and the tools work for a single turn but silently lose the list\n * across turns. This provider wires both together so that cannot happen.\n *\n * Task tracking requires a memory-backed thread (`threadId` + `resourceId`) and\n * a Mastra `storage` instance (the `tasks` domain is always wired in-memory by\n * default). Without memory the tools no-op and report that task tracking\n * requires agent memory.\n *\n * @example\n * ```ts\n * import { Agent } from '@mastra/core/agent';\n * import { TaskSignalProvider } from '@mastra/core/signals';\n *\n * const agent = new Agent({\n *   name: 'coder',\n *   instructions: '...',\n *   model,\n *   memory,\n *   signals: [new TaskSignalProvider()],\n * });\n * ```\n *\n * The Agent automatically merges the tools into its toolset and registers the\n * processor on its input-processor chain (which propagates the Mastra instance\n * so the processor can resolve the TaskStore).\n *\n * @experimental Agent signals are experimental and may change in a future release.\n */\nexport class TaskSignalProvider extends SignalProvider<'task-signals'> {\n  readonly id = 'task-signals';\n\n  readonly #processor = new TaskStateProcessor();\n\n  getInputProcessors(): InputProcessorOrWorkflow[] {\n    return [this.#processor];\n  }\n\n  getTools() {\n    return {\n      task_write: taskWriteTool,\n      task_update: taskUpdateTool,\n      task_complete: taskCompleteTool,\n      task_check: taskCheckTool,\n    };\n  }\n}\n"]}