agent-sdk/typescript.md +28 −6
2386 kind: "task-notification";2386 kind: "task-notification";
2387 subkind?: "scheduled-trigger" | "peer-send-message";2387 subkind?: "scheduled-trigger" | "peer-send-message";
2388 fireReason?: string;2388 fireReason?: string;
2389 runId?: string;
2389 }2390 }
2390 | { kind: "coordinator" }2391 | { kind: "coordinator" }
2391 | { kind: "auto-continuation" }2392 | { kind: "auto-continuation" }
2415 2416
2416`fireReason` indica por qué se activó una notificación `scheduled-trigger`, como un token breve en minúsculas, por ejemplo `scheduled`, `manual`, `retry`, `catch_up` o `api`. Los servidores de Anthropic lo establecen en las entregas de una [rutina](/docs/es/routines), y tu aplicación lo establece cuando declara una ejecución programada. Está ausente cuando ninguno de los dos envió uno. Requiere TypeScript Agent SDK v0.3.280 o posterior.2417`fireReason` indica por qué se activó una notificación `scheduled-trigger`, como un token breve en minúsculas, por ejemplo `scheduled`, `manual`, `retry`, `catch_up` o `api`. Los servidores de Anthropic lo establecen en las entregas de una [rutina](/docs/es/routines), y tu aplicación lo establece cuando declara una ejecución programada. Está ausente cuando ninguno de los dos envió uno. Requiere TypeScript Agent SDK v0.3.280 o posterior.
2417 2418
2419Una tarea en segundo plano puede ejecutarse más de una vez con el mismo `task_id`, por ejemplo cuando Claude [reanuda un subagente](/docs/es/agent-sdk/subagents#resume-subagents). Cada ejecución tiene su propio [`run_id`](#sdktaskstartedmessage). Cuando la notificación de una ejecución llega a tu sesión como un mensaje de usuario, `runId` en el origen `task-notification` de ese mensaje contiene el mismo valor. Una notificación puede llegar después de que haya comenzado la siguiente ejecución de la tarea, y aun así lleva el ID de la ejecución anterior. Para saber a qué ejecución pertenece un turno, compara `runId`, no `task_id`. Requiere TypeScript Agent SDK v0.3.292 o posterior.
2420
2418<h4 id="declare-a-scheduled-run">2421<h4 id="declare-a-scheduled-run">
2419 Declarar una ejecución programada2422 Declarar una ejecución programada
2420</h4>2423</h4>
3260 Tipos de Entrada de Herramienta3263 Tipos de Entrada de Herramienta
3261</h2>3264</h2>
3262 3265
32633266Documentación de esquemas de entrada para todas las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y se pueden usar para interacciones de herramientas seguras de tipos.Documentación de esquemas de entrada para las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y se pueden usar para interacciones de herramientas seguras de tipos.
3264 3267
3265<h3 id="toolinputschemas">3268<h3 id="toolinputschemas">
3266 `ToolInputSchemas`3269 `ToolInputSchemas`
4076 Tipos de salida de herramientas4079 Tipos de salida de herramientas
4077</h2>4080</h2>
4078 4081
40794082Documentación de los esquemas de salida de todas las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y representan los datos de respuesta reales que devuelve cada herramienta.Documentación de los esquemas de salida de las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y representan los datos de respuesta reales que devuelve cada herramienta.
4080 4083
4081<h3 id="tooloutputschemas">4084<h3 id="tooloutputschemas">
4082 `ToolOutputSchemas`4085 `ToolOutputSchemas`
5729 `SDKTaskNotificationMessage`5732 `SDKTaskNotificationMessage`
5730</h3>5733</h3>
5731 5734
57325735Notificación cuando una tarea en segundo plano se completa, falla o se detiene. Las tareas en segundo plano incluyen comandos Bash con `run_in_background`, vigilancias de [Monitor](#monitor) y subagentes en segundo plano. Para el campo `ambient`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.Notificación cuando una tarea en segundo plano se completa, falla o se detiene. Las tareas en segundo plano incluyen comandos Bash con `run_in_background`, vigilancias de [Monitor](#monitor) y subagentes en segundo plano. Para los campos `run_id` y `ambient`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que los define junto con sus requisitos de versión.
5733 5736
5734```typescript theme={null}5737```typescript theme={null}
5735type SDKTaskNotificationMessage = {5738type SDKTaskNotificationMessage = {
5736 type: "system";5739 type: "system";
5737 subtype: "task_notification";5740 subtype: "task_notification";
5738 task_id: string;5741 task_id: string;
5742 run_id?: string;
5739 tool_use_id?: string;5743 tool_use_id?: string;
5740 status: "completed" | "failed" | "stopped";5744 status: "completed" | "failed" | "stopped";
5741 reason?: "worker_restart";5745 reason?: "worker_restart";
5908 type: "system";5912 type: "system";
5909 subtype: "task_started";5913 subtype: "task_started";
5910 task_id: string;5914 task_id: string;
5915 run_id?: string;
5911 tool_use_id?: string;5916 tool_use_id?: string;
5912 description: string;5917 description: string;
5913 task_type?: string;5918 task_type?: string;
5920};5925};
5921```5926```
5922 5927
5928`run_id` identifica una ejecución de la tarea. Cuando una tarea se ejecuta de nuevo con el mismo `task_id`, como un [subagente que Claude reanuda](/docs/es/agent-sdk/subagents#resume-subagents), la nueva ejecución obtiene un nuevo `run_id`. El campo requiere Agent SDK v0.3.292 o posterior. Úsalo para distinguir las ejecuciones de una misma tarea:
5929
5930* **Asociar mensajes a una ejecución**: los mensajes `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) y [`task_notification`](#sdktasknotificationmessage) de una ejecución llevan el mismo `run_id`. La entrada de la ejecución en cada [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) también lo lleva, al igual que el [`runId`](#task-notification-subkinds) en el origen del mensaje de usuario que entrega la notificación de la ejecución.
5931* **Detectar un mensaje tardío**: comparados como cadenas simples, los ID de ejecución de una tarea se ordenan en el orden en que comenzaron las ejecuciones, así que un mensaje cuyo `run_id` se ordena antes de la ejecución que estás mostrando proviene de una ejecución anterior. Trata el valor como opaco fuera de esa comparación.
5932* **Recurrir a `task_id`**: cuando un mensaje no lleva `run_id`, como el `task_notification` que emite una sesión reanudada para cerrar una tarea que inició el proceso anterior, atribúyelo por `task_id`.
5933
5934Por ejemplo, estos tres mensajes, recortados a sus campos identificadores, provienen de un subagente en segundo plano que Claude reanudó una vez. Los dos mensajes `task_started` comparten un `task_id`, y la notificación que terminó la primera ejecución lleva el ID de la primera ejecución:
5935
5936```json theme={null}
5937{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}
5938{"subtype": "task_notification", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41", "status": "completed"}
5939{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}
5940```
5941
5923`ambient` es `true` para tareas que no forman parte del trabajo de la sesión, como las tareas que Claude Code ejecuta para su propio funcionamiento. Los vigilantes de actualización en vivo también son ambientales, incluidos los que pidió el usuario. Excluye las tareas ambientales de los indicadores de actividad. El campo requiere Agent SDK v0.3.247 o posterior.5942`ambient` es `true` para tareas que no forman parte del trabajo de la sesión, como las tareas que Claude Code ejecuta para su propio funcionamiento. Los vigilantes de actualización en vivo también son ambientales, incluidos los que pidió el usuario. Excluye las tareas ambientales de los indicadores de actividad. El campo requiere Agent SDK v0.3.247 o posterior.
5924 5943
5925`ambient` también aparece en [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) y en las entradas de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5944`ambient` también aparece en [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) y en las entradas de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).
5943 `SDKTaskProgressMessage`5962 `SDKTaskProgressMessage`
5944</h3>5963</h3>
5945 5964
59465965Se emite periódicamente mientras se ejecuta un subagente o una tarea en segundo plano.Se emite periódicamente mientras se ejecuta un subagente o una tarea en segundo plano. Para el campo `run_id`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.
5947 5966
5948Para una tarea de subagente, el campo `summary` lleva un resumen de progreso generado por el modelo y solo se completa cuando [`agentProgressSummaries`](#options) está habilitado. Para una [llamada a herramienta MCP en segundo plano](/docs/es/mcp#automatic-backgrounding-of-long-tool-calls), `summary` lleva el progreso más reciente reportado por el servidor MCP y no depende de esa opción.5967Para una tarea de subagente, el campo `summary` lleva un resumen de progreso generado por el modelo y solo se completa cuando [`agentProgressSummaries`](#options) está habilitado. Para una [llamada a herramienta MCP en segundo plano](/docs/es/mcp#automatic-backgrounding-of-long-tool-calls), `summary` lleva el progreso más reciente reportado por el servidor MCP y no depende de esa opción.
5949 5968
5952 type: "system";5971 type: "system";
5953 subtype: "task_progress";5972 subtype: "task_progress";
5954 task_id: string;5973 task_id: string;
5974 run_id?: string;
5955 tool_use_id?: string;5975 tool_use_id?: string;
5956 description: string;5976 description: string;
5957 subagent_type?: string;5977 subagent_type?: string;
5971 `SDKTaskUpdatedMessage`5991 `SDKTaskUpdatedMessage`
5972</h3>5992</h3>
5973 5993
59745994Se emite cuando cambia el estado de una tarea en segundo plano, por ejemplo cuando pasa de `running` a `completed`. Combina `patch` en tu mapa local de tareas indexado por `task_id`. El campo `end_time` es una marca de tiempo de época Unix en milisegundos, comparable con `Date.now()`.Se emite cuando cambia el estado de una tarea en segundo plano, por ejemplo cuando pasa de `running` a `completed`. Combina `patch` en tu mapa local de tareas indexado por `task_id`. El campo `end_time` es una marca de tiempo de época Unix en milisegundos, comparable con `Date.now()`. Para el campo `run_id`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.
5975 5995
5976```typescript theme={null}5996```typescript theme={null}
5977type SDKTaskUpdatedMessage = {5997type SDKTaskUpdatedMessage = {
5978 type: "system";5998 type: "system";
5979 subtype: "task_updated";5999 subtype: "task_updated";
5980 task_id: string;6000 task_id: string;
6001 run_id?: string;
5981 patch: {6002 patch: {
5982 status?: "pending" | "running" | "completed" | "failed" | "killed";6003 status?: "pending" | "running" | "completed" | "failed" | "killed";
5983 description?: string;6004 description?: string;
5995 `SDKBackgroundTasksChangedMessage`6016 `SDKBackgroundTasksChangedMessage`
5996</h3>6017</h3>
5997 6018
59986019Se emite siempre que cambia el conjunto de tareas en segundo plano activas: una tarea comienza, se completa o se termina, un agente en primer plano pasa a segundo plano, o cambia el campo `description`, `ambient` o `parent_task_id` de una tarea. Para el campo `parent_task_id` de cada entrada, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.Se emite siempre que cambia el conjunto de tareas en segundo plano activas: una tarea comienza, se completa o se termina, un agente en primer plano pasa a segundo plano, o cambia el campo `description`, `ambient` o `parent_task_id` de una tarea. Para los campos `run_id` y `parent_task_id` de cada entrada, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que los define junto con sus requisitos de versión.
5999 6020
6000El array `tasks` es el conjunto activo completo. Reemplaza cualquier conjunto en caché con cada payload en lugar de emparejar eventos `task_started` y `task_notification`, para que el siguiente cambio de membresía corrija cualquier evento que te hayas perdido.6021El array `tasks` es el conjunto activo completo. Reemplaza cualquier conjunto en caché con cada payload en lugar de emparejar eventos `task_started` y `task_notification`, para que el siguiente cambio de membresía corrija cualquier evento que te hayas perdido.
6001 6022
6013 subtype: "background_tasks_changed";6034 subtype: "background_tasks_changed";
6014 tasks: {6035 tasks: {
6015 task_id: string;6036 task_id: string;
6037 run_id?: string;
6016 task_type: string;6038 task_type: string;
6017 subagent_type?: string;6039 subagent_type?: string;
6018 description: string;6040 description: string;