> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # TaskSignalProvider 組み込みの Task Tool(`task_write`、`task_update`、`task_complete`、`task_check`)と `TaskStateProcessor` を 1 回の Agent 登録にまとめます。Tool と Processor を個別に接続せずに、構造化された Durable Task List を Agent に追加するために使用します。 [`SignalProvider`](https://mastra.zisheng.pro/ja/reference/signals/signal-provider) を拡張します。Task List は Thread スコープの `tasks` ストレージドメイン(信頼できる唯一の情報源)に保存され、Processor によって Agent の State Signal Lane に投影されます。そのため、Prompt Cache を無効にすることなく、Observational Memory の切り詰め後も保持されます。 ## 使用例 `Memory` と Mastra `storage` を持つ Agent に Provider を登録します。 ```typescript 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()], }) ``` Agent は 4 つの Task Tool を Toolset に自動的に統合し、Processor を Input Processor Chain に登録します。それ以外の接続は必要ありません。 Task Tracking には、Memory を基盤とする Thread(`threadId` + `resourceId`)が必要です。Memory がない場合、Task Tool は何も実行せず、Task Tracking には Agent Memory が必要であることを説明する結果を返します。`tasks` ストレージドメインはデフォルトでインメモリに接続されるため、ストレージバックエンドを設定しなくても Task Tracking は動作します。 ## コンストラクターのパラメーター `TaskSignalProvider` はコンストラクター引数を取りません。 ## プロパティ **id** (`'task-signals'`): Provider インスタンスの安定した識別子。 ## メソッド ### Agent との統合 これらのメソッドは、Provider が `signals` に渡されると Agent によって自動的に呼び出されます。通常、直接呼び出す必要はありません。 #### `getTools()` 4 つの Task Tool を Tool ID(`task_write`、`task_update`、`task_complete`、`task_check`)をキーとして返します。Agent はこれらを Toolset に統合します。 ```typescript const tools = new TaskSignalProvider().getTools() // { task_write, task_update, task_complete, task_check } ``` 戻り値: `Record` #### `getInputProcessors()` Provider の `TaskStateProcessor` インスタンスを返します。Agent はこれを Input Processor Chain に登録し、Mastra インスタンスを伝播させます。これにより、Processor は `tasks` Store を解決できます。 ```typescript const [processor] = new TaskSignalProvider().getInputProcessors() // processor instanceof TaskStateProcessor ``` 戻り値: `InputProcessorOrWorkflow[]`