agent-sdk/typescript.md +27 −5
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` mengatakan mengapa notifikasi `scheduled-trigger` aktif, sebagai token huruf kecil pendek seperti `scheduled`, `manual`, `retry`, `catch_up`, atau `api`. Server Anthropic menetapkannya pada pengiriman [routine](/docs/id/routines), dan aplikasi Anda menetapkannya ketika mendeklarasikan run terjadwal. Bidang ini tidak ada ketika keduanya tidak mengirimnya. Memerlukan TypeScript Agent SDK v0.3.280 atau lebih baru.2417`fireReason` mengatakan mengapa notifikasi `scheduled-trigger` aktif, sebagai token huruf kecil pendek seperti `scheduled`, `manual`, `retry`, `catch_up`, atau `api`. Server Anthropic menetapkannya pada pengiriman [routine](/docs/id/routines), dan aplikasi Anda menetapkannya ketika mendeklarasikan run terjadwal. Bidang ini tidak ada ketika keduanya tidak mengirimnya. Memerlukan TypeScript Agent SDK v0.3.280 atau lebih baru.
2417 2418
2419Tugas latar belakang dapat berjalan lebih dari sekali dengan `task_id` yang sama, misalnya ketika Claude [melanjutkan subagent](/docs/id/agent-sdk/subagents#resume-subagents). Setiap eksekusi memiliki [`run_id`](#sdktaskstartedmessage) sendiri. Ketika notifikasi suatu eksekusi mencapai sesi Anda sebagai pesan pengguna, `runId` pada origin `task-notification` pesan tersebut berisi nilai yang sama. Notifikasi dapat tiba setelah eksekusi berikutnya dari tugas tersebut dimulai, dan tetap membawa ID eksekusi sebelumnya. Untuk mengetahui eksekusi mana yang memiliki suatu giliran, bandingkan `runId`, bukan `task_id`. Memerlukan TypeScript Agent SDK v0.3.292 atau yang lebih baru.
2420
2418<h4 id="declare-a-scheduled-run">2421<h4 id="declare-a-scheduled-run">
2419 Deklarasikan run terjadwal2422 Deklarasikan run terjadwal
2420</h4>2423</h4>
4079 Tipe Output Tool4082 Tipe Output Tool
4080</h2>4083</h2>
4081 4084
40824085Dokumentasi skema output untuk semua tool Claude Code bawaan. Tipe ini dieksport dari `@anthropic-ai/claude-agent-sdk/sdk-tools` dan mewakili data respons aktual yang dikembalikan oleh setiap tool.Dokumentasi skema output untuk tool Claude Code bawaan. Tipe ini dieksport dari `@anthropic-ai/claude-agent-sdk/sdk-tools` dan mewakili data respons aktual yang dikembalikan oleh setiap tool.
4083 4086
4084<h3 id="tooloutputschemas">4087<h3 id="tooloutputschemas">
4085 `ToolOutputSchemas`4088 `ToolOutputSchemas`
5732 `SDKTaskNotificationMessage`5735 `SDKTaskNotificationMessage`
5733</h3>5736</h3>
5734 5737
57355738Notifikasi ketika tugas latar belakang selesai, gagal, atau dihentikan. Tugas latar belakang mencakup perintah Bash `run_in_background`, watch [Monitor](#monitor), dan subagent latar belakang. Untuk field `ambient`, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.Notifikasi ketika tugas latar belakang selesai, gagal, atau dihentikan. Tugas latar belakang mencakup perintah Bash `run_in_background`, watch [Monitor](#monitor), dan subagent latar belakang. Untuk field `run_id` dan `ambient`, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.
5736 5739
5737```typescript theme={null}5740```typescript theme={null}
5738type SDKTaskNotificationMessage = {5741type SDKTaskNotificationMessage = {
5739 type: "system";5742 type: "system";
5740 subtype: "task_notification";5743 subtype: "task_notification";
5741 task_id: string;5744 task_id: string;
5745 run_id?: string;
5742 tool_use_id?: string;5746 tool_use_id?: string;
5743 status: "completed" | "failed" | "stopped";5747 status: "completed" | "failed" | "stopped";
5744 reason?: "worker_restart";5748 reason?: "worker_restart";
5911 type: "system";5915 type: "system";
5912 subtype: "task_started";5916 subtype: "task_started";
5913 task_id: string;5917 task_id: string;
5918 run_id?: string;
5914 tool_use_id?: string;5919 tool_use_id?: string;
5915 description: string;5920 description: string;
5916 task_type?: string;5921 task_type?: string;
5923};5928};
5924```5929```
5925 5930
5931`run_id` mengidentifikasi satu eksekusi tugas. Ketika tugas berjalan lagi dengan `task_id` yang sama, seperti [subagent yang dilanjutkan Claude](/docs/id/agent-sdk/subagents#resume-subagents), eksekusi baru mendapatkan `run_id` baru. Field ini memerlukan Agent SDK v0.3.292 atau lebih baru. Gunakan untuk memisahkan eksekusi-eksekusi dari satu tugas:
5932
5933* **Cocokkan pesan dengan eksekusi**: pesan `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage), dan [`task_notification`](#sdktasknotificationmessage) dari satu eksekusi membawa `run_id` yang sama. Entri eksekusi tersebut dalam setiap [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) juga membawanya, demikian pula [`runId`](#task-notification-subkinds) pada origin pesan pengguna yang mengirimkan notifikasi eksekusi tersebut.
5934* **Deteksi pesan yang terlambat**: jika dibandingkan sebagai string biasa, ID eksekusi dari satu tugas terurut sesuai urutan dimulainya eksekusi, jadi pesan yang `run_id`-nya terurut sebelum eksekusi yang sedang Anda tampilkan berasal dari eksekusi sebelumnya. Perlakukan nilai ini sebagai opaque selain untuk perbandingan tersebut.
5935* **Gunakan `task_id` sebagai fallback**: ketika pesan tidak membawa `run_id`, seperti `task_notification` yang dipancarkan sesi yang dilanjutkan untuk menutup tugas yang dimulai oleh proses sebelumnya, atribusikan pesan tersebut berdasarkan `task_id`.
5936
5937Sebagai contoh, tiga pesan berikut, yang dipangkas hingga field pengenalnya, berasal dari subagent latar belakang yang dilanjutkan Claude satu kali. Kedua pesan `task_started` memiliki `task_id` yang sama, dan notifikasi yang mengakhiri eksekusi pertama membawa ID eksekusi pertama:
5938
5939```json theme={null}
5940{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}
5941{"subtype": "task_notification", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41", "status": "completed"}
5942{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}
5943```
5944
5926`ambient` bernilai `true` untuk tugas yang bukan bagian dari pekerjaan sesi, seperti tugas yang dijalankan Claude Code untuk operasinya sendiri. Pemantau pembaruan langsung juga bersifat ambient, termasuk pemantau yang diminta pengguna. Kecualikan tugas ambient dari indikator aktivitas. Field ini memerlukan Agent SDK v0.3.247 atau lebih baru.5945`ambient` bernilai `true` untuk tugas yang bukan bagian dari pekerjaan sesi, seperti tugas yang dijalankan Claude Code untuk operasinya sendiri. Pemantau pembaruan langsung juga bersifat ambient, termasuk pemantau yang diminta pengguna. Kecualikan tugas ambient dari indikator aktivitas. Field ini memerlukan Agent SDK v0.3.247 atau lebih baru.
5927 5946
5928`ambient` juga muncul pada [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) dan pada entri [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5947`ambient` juga muncul pada [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) dan pada entri [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).
5946 `SDKTaskProgressMessage`5965 `SDKTaskProgressMessage`
5947</h3>5966</h3>
5948 5967
59495968Dipancarkan secara berkala saat subagent atau tugas latar belakang sedang berjalan.Dipancarkan secara berkala saat subagent atau tugas latar belakang sedang berjalan. Untuk field `run_id`, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.
5950 5969
5951Untuk tugas subagent, field `summary` membawa ringkasan kemajuan yang dihasilkan model dan diisi hanya ketika [`agentProgressSummaries`](#options) diaktifkan. Untuk [panggilan tool MCP yang dipindahkan ke latar belakang](/docs/id/mcp#automatic-backgrounding-of-long-tool-calls), `summary` membawa kemajuan terbaru yang dilaporkan server MCP dan tidak bergantung pada opsi itu.5970Untuk tugas subagent, field `summary` membawa ringkasan kemajuan yang dihasilkan model dan diisi hanya ketika [`agentProgressSummaries`](#options) diaktifkan. Untuk [panggilan tool MCP yang dipindahkan ke latar belakang](/docs/id/mcp#automatic-backgrounding-of-long-tool-calls), `summary` membawa kemajuan terbaru yang dilaporkan server MCP dan tidak bergantung pada opsi itu.
5952 5971
5955 type: "system";5974 type: "system";
5956 subtype: "task_progress";5975 subtype: "task_progress";
5957 task_id: string;5976 task_id: string;
5977 run_id?: string;
5958 tool_use_id?: string;5978 tool_use_id?: string;
5959 description: string;5979 description: string;
5960 subagent_type?: string;5980 subagent_type?: string;
5974 `SDKTaskUpdatedMessage`5994 `SDKTaskUpdatedMessage`
5975</h3>5995</h3>
5976 5996
59775997Dipancarkan ketika status tugas latar belakang berubah, seperti ketika beralih dari `running` ke `completed`. Gabungkan `patch` ke dalam peta tugas lokal Anda yang dikunci oleh `task_id`. Field `end_time` adalah timestamp epoch Unix dalam milidetik, yang dapat dibandingkan dengan `Date.now()`.Dipancarkan ketika status tugas latar belakang berubah, seperti ketika beralih dari `running` ke `completed`. Gabungkan `patch` ke dalam peta tugas lokal Anda yang dikunci oleh `task_id`. Field `end_time` adalah timestamp epoch Unix dalam milidetik, yang dapat dibandingkan dengan `Date.now()`. Untuk field `run_id`, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.
5978 5998
5979```typescript theme={null}5999```typescript theme={null}
5980type SDKTaskUpdatedMessage = {6000type SDKTaskUpdatedMessage = {
5981 type: "system";6001 type: "system";
5982 subtype: "task_updated";6002 subtype: "task_updated";
5983 task_id: string;6003 task_id: string;
6004 run_id?: string;
5984 patch: {6005 patch: {
5985 status?: "pending" | "running" | "completed" | "failed" | "killed";6006 status?: "pending" | "running" | "completed" | "failed" | "killed";
5986 description?: string;6007 description?: string;
5998 `SDKBackgroundTasksChangedMessage`6019 `SDKBackgroundTasksChangedMessage`
5999</h3>6020</h3>
6000 6021
60016022Dipancarkan setiap kali set tugas latar belakang yang aktif berubah: tugas dimulai, selesai, atau dihentikan paksa; agent foreground dipindahkan ke latar belakang; atau field `description`, `ambient`, atau `parent_task_id` suatu tugas berubah. Untuk field `parent_task_id` pada setiap entri, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.Dipancarkan setiap kali set tugas latar belakang yang aktif berubah: tugas dimulai, selesai, atau dihentikan paksa; agent foreground dipindahkan ke latar belakang; atau field `description`, `ambient`, atau `parent_task_id` suatu tugas berubah. Untuk field `run_id` dan `parent_task_id` pada setiap entri, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.
6002 6023
6003Array `tasks` adalah set aktif lengkap. Ganti set yang di-cache dengan setiap payload alih-alih memasangkan event `task_started` dan `task_notification`, sehingga perubahan keanggotaan berikutnya memperbaiki event apa pun yang Anda lewatkan.6024Array `tasks` adalah set aktif lengkap. Ganti set yang di-cache dengan setiap payload alih-alih memasangkan event `task_started` dan `task_notification`, sehingga perubahan keanggotaan berikutnya memperbaiki event apa pun yang Anda lewatkan.
6004 6025
6016 subtype: "background_tasks_changed";6037 subtype: "background_tasks_changed";
6017 tasks: {6038 tasks: {
6018 task_id: string;6039 task_id: string;
6040 run_id?: string;
6019 task_type: string;6041 task_type: string;
6020 subagent_type?: string;6042 subagent_type?: string;
6021 description: string;6043 description: string;