@trigger.dev/sdk 0.0.0-python-preview-20250226140121 → 0.0.0-rc-4-8-0-20261021151928

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. package/README.md +29 -9
  2. package/dist/commonjs/imports/ai-runtime-cjs.cjs.map +1 -0
  3. package/dist/commonjs/imports/ai-runtime.d.ts +1 -0
  4. package/dist/commonjs/imports/ai-runtime.js +31 -0
  5. package/dist/commonjs/imports/uncrypto.js +4 -4
  6. package/dist/commonjs/package.json +2 -1
  7. package/dist/commonjs/v3/agentSkillsRuntime.d.ts +28 -0
  8. package/dist/commonjs/v3/agentSkillsRuntime.js +173 -0
  9. package/dist/commonjs/v3/agentSkillsRuntime.js.map +1 -0
  10. package/dist/commonjs/v3/ai-shared.d.ts +156 -0
  11. package/dist/commonjs/v3/ai-shared.js +215 -0
  12. package/dist/commonjs/v3/ai-shared.js.map +1 -0
  13. package/dist/commonjs/v3/ai.d.ts +4225 -0
  14. package/dist/commonjs/v3/ai.js +11569 -0
  15. package/dist/commonjs/v3/ai.js.map +1 -0
  16. package/dist/commonjs/v3/aiAutoTelemetry.d.ts +2 -0
  17. package/dist/commonjs/v3/aiAutoTelemetry.js +81 -0
  18. package/dist/commonjs/v3/aiAutoTelemetry.js.map +1 -0
  19. package/dist/commonjs/v3/auth.d.ts +71 -10
  20. package/dist/commonjs/v3/auth.js +85 -19
  21. package/dist/commonjs/v3/auth.js.map +1 -1
  22. package/dist/commonjs/v3/batch.d.ts +3 -3
  23. package/dist/commonjs/v3/batch.js.map +1 -1
  24. package/dist/commonjs/v3/cache.js.map +1 -1
  25. package/dist/commonjs/v3/chat-client.d.ts +324 -0
  26. package/dist/commonjs/v3/chat-client.js +774 -0
  27. package/dist/commonjs/v3/chat-client.js.map +1 -0
  28. package/dist/commonjs/v3/chat-react.d.ts +244 -0
  29. package/dist/commonjs/v3/chat-react.js +463 -0
  30. package/dist/commonjs/v3/chat-react.js.map +1 -0
  31. package/dist/commonjs/v3/chat-server.d.ts +350 -0
  32. package/dist/commonjs/v3/chat-server.js +965 -0
  33. package/dist/commonjs/v3/chat-server.js.map +1 -0
  34. package/dist/commonjs/v3/chat-tab-coordinator.d.ts +65 -0
  35. package/dist/commonjs/v3/chat-tab-coordinator.js +235 -0
  36. package/dist/commonjs/v3/chat-tab-coordinator.js.map +1 -0
  37. package/dist/commonjs/v3/chat.d.ts +792 -0
  38. package/dist/commonjs/v3/chat.js +1662 -0
  39. package/dist/commonjs/v3/chat.js.map +1 -0
  40. package/dist/commonjs/v3/chatRouteWait.d.ts +21 -0
  41. package/dist/commonjs/v3/chatRouteWait.js +43 -0
  42. package/dist/commonjs/v3/chatRouteWait.js.map +1 -0
  43. package/dist/commonjs/v3/chatSnapshotIo.d.ts +2 -0
  44. package/dist/commonjs/v3/chatSnapshotIo.js +173 -0
  45. package/dist/commonjs/v3/chatSnapshotIo.js.map +1 -0
  46. package/dist/commonjs/v3/chatVersionSkew.d.ts +12 -0
  47. package/dist/commonjs/v3/chatVersionSkew.js +30 -0
  48. package/dist/commonjs/v3/chatVersionSkew.js.map +1 -0
  49. package/dist/commonjs/v3/compactionResponse.d.ts +9 -0
  50. package/dist/commonjs/v3/compactionResponse.js +37 -0
  51. package/dist/commonjs/v3/compactionResponse.js.map +1 -0
  52. package/dist/commonjs/v3/concurrency-shared.d.ts +13 -0
  53. package/dist/commonjs/v3/concurrency-shared.js +35 -0
  54. package/dist/commonjs/v3/concurrency-shared.js.map +1 -0
  55. package/dist/commonjs/v3/concurrencyLimits.d.ts +103 -0
  56. package/dist/commonjs/v3/concurrencyLimits.js +134 -0
  57. package/dist/commonjs/v3/concurrencyLimits.js.map +1 -0
  58. package/dist/commonjs/v3/config.js.map +1 -1
  59. package/dist/commonjs/v3/deployments.d.ts +25 -0
  60. package/dist/commonjs/v3/deployments.js +37 -0
  61. package/dist/commonjs/v3/deployments.js.map +1 -0
  62. package/dist/commonjs/v3/envvars.d.ts +5 -5
  63. package/dist/commonjs/v3/envvars.js.map +1 -1
  64. package/dist/commonjs/v3/externalDeploymentId.d.ts +23 -0
  65. package/dist/commonjs/v3/externalDeploymentId.js +43 -0
  66. package/dist/commonjs/v3/externalDeploymentId.js.map +1 -0
  67. package/dist/commonjs/v3/heartbeats.d.ts +37 -0
  68. package/dist/commonjs/v3/heartbeats.js +45 -0
  69. package/dist/commonjs/v3/heartbeats.js.map +1 -0
  70. package/dist/commonjs/v3/hooks.d.ts +26 -0
  71. package/dist/commonjs/v3/hooks.js +79 -0
  72. package/dist/commonjs/v3/hooks.js.map +1 -0
  73. package/dist/commonjs/v3/idempotencyKeys.d.ts +2 -1
  74. package/dist/commonjs/v3/idempotencyKeys.js +1 -0
  75. package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
  76. package/dist/commonjs/v3/index.d.ts +20 -5
  77. package/dist/commonjs/v3/index.js +56 -20
  78. package/dist/commonjs/v3/index.js.map +1 -1
  79. package/dist/commonjs/v3/locals.d.ts +3 -0
  80. package/dist/commonjs/v3/locals.js +6 -0
  81. package/dist/commonjs/v3/locals.js.map +1 -0
  82. package/dist/commonjs/v3/managedChatResponse.d.ts +44 -0
  83. package/dist/commonjs/v3/managedChatResponse.js +221 -0
  84. package/dist/commonjs/v3/managedChatResponse.js.map +1 -0
  85. package/dist/commonjs/v3/metadata.d.ts +5 -2
  86. package/dist/commonjs/v3/metadata.js +8 -1
  87. package/dist/commonjs/v3/metadata.js.map +1 -1
  88. package/dist/commonjs/v3/modelFileDownload.d.ts +10 -0
  89. package/dist/commonjs/v3/modelFileDownload.js +164 -0
  90. package/dist/commonjs/v3/modelFileDownload.js.map +1 -0
  91. package/dist/commonjs/v3/otel.d.ts +4 -0
  92. package/dist/commonjs/v3/otel.js +12 -0
  93. package/dist/commonjs/v3/otel.js.map +1 -0
  94. package/dist/commonjs/v3/prompt.d.ts +38 -0
  95. package/dist/commonjs/v3/prompt.js +146 -0
  96. package/dist/commonjs/v3/prompt.js.map +1 -0
  97. package/dist/commonjs/v3/promptManagement.d.ts +26 -0
  98. package/dist/commonjs/v3/promptManagement.js +180 -0
  99. package/dist/commonjs/v3/promptManagement.js.map +1 -0
  100. package/dist/commonjs/v3/prompts.d.ts +3 -0
  101. package/dist/commonjs/v3/prompts.js +15 -0
  102. package/dist/commonjs/v3/prompts.js.map +1 -0
  103. package/dist/commonjs/v3/query.d.ts +545 -0
  104. package/dist/commonjs/v3/query.js +163 -0
  105. package/dist/commonjs/v3/query.js.map +1 -0
  106. package/dist/commonjs/v3/queues.d.ts +107 -0
  107. package/dist/commonjs/v3/queues.js +225 -0
  108. package/dist/commonjs/v3/queues.js.map +1 -0
  109. package/dist/commonjs/v3/retry.d.ts +6 -2
  110. package/dist/commonjs/v3/retry.js +34 -23
  111. package/dist/commonjs/v3/retry.js.map +1 -1
  112. package/dist/commonjs/v3/runs.d.ts +182 -101
  113. package/dist/commonjs/v3/runs.js +99 -5
  114. package/dist/commonjs/v3/runs.js.map +1 -1
  115. package/dist/commonjs/v3/schedules/api.d.ts +8 -1
  116. package/dist/commonjs/v3/schedules/index.d.ts +29 -9
  117. package/dist/commonjs/v3/schedules/index.js +5 -1
  118. package/dist/commonjs/v3/schedules/index.js.map +1 -1
  119. package/dist/commonjs/v3/schemas.d.ts +1 -0
  120. package/dist/commonjs/{integrations.js → v3/schemas.js} +1 -1
  121. package/dist/commonjs/v3/schemas.js.map +1 -0
  122. package/dist/commonjs/v3/sessionTracing.d.ts +7 -0
  123. package/dist/commonjs/v3/sessionTracing.js +44 -0
  124. package/dist/commonjs/v3/sessionTracing.js.map +1 -0
  125. package/dist/commonjs/v3/sessions.d.ts +268 -0
  126. package/dist/commonjs/v3/sessions.js +776 -0
  127. package/dist/commonjs/v3/sessions.js.map +1 -0
  128. package/dist/commonjs/v3/shared.d.ts +129 -24
  129. package/dist/commonjs/v3/shared.js +1527 -689
  130. package/dist/commonjs/v3/shared.js.map +1 -1
  131. package/dist/commonjs/v3/skill.d.ts +99 -0
  132. package/dist/commonjs/v3/skill.js +165 -0
  133. package/dist/commonjs/v3/skill.js.map +1 -0
  134. package/dist/commonjs/v3/skills.d.ts +2 -0
  135. package/dist/commonjs/v3/skills.js +6 -0
  136. package/dist/commonjs/v3/skills.js.map +1 -0
  137. package/dist/commonjs/v3/steeringContext.d.ts +41 -0
  138. package/dist/commonjs/v3/steeringContext.js +118 -0
  139. package/dist/commonjs/v3/steeringContext.js.map +1 -0
  140. package/dist/commonjs/v3/streams.d.ts +298 -0
  141. package/dist/commonjs/v3/streams.js +584 -0
  142. package/dist/commonjs/v3/streams.js.map +1 -0
  143. package/dist/commonjs/v3/tasks.d.ts +19 -4
  144. package/dist/commonjs/v3/tasks.js +15 -1
  145. package/dist/commonjs/v3/tasks.js.map +1 -1
  146. package/dist/commonjs/v3/test/index.d.ts +5 -0
  147. package/dist/commonjs/v3/test/index.js +23 -0
  148. package/dist/commonjs/v3/test/index.js.map +1 -0
  149. package/dist/commonjs/v3/test/mock-channel-connector.d.ts +172 -0
  150. package/dist/commonjs/v3/test/mock-channel-connector.js +173 -0
  151. package/dist/commonjs/v3/test/mock-channel-connector.js.map +1 -0
  152. package/dist/commonjs/v3/test/mock-chat-agent.d.ts +388 -0
  153. package/dist/commonjs/v3/test/mock-chat-agent.js +689 -0
  154. package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -0
  155. package/dist/commonjs/v3/test/setup-catalog.d.ts +1 -0
  156. package/dist/commonjs/v3/test/setup-catalog.js +18 -0
  157. package/dist/commonjs/v3/test/setup-catalog.js.map +1 -0
  158. package/dist/commonjs/v3/test/test-session-handle.d.ts +24 -0
  159. package/dist/commonjs/v3/test/test-session-handle.js +271 -0
  160. package/dist/commonjs/v3/test/test-session-handle.js.map +1 -0
  161. package/dist/commonjs/v3/test/transcript-storage-tests.d.ts +40 -0
  162. package/dist/commonjs/v3/test/transcript-storage-tests.js +258 -0
  163. package/dist/commonjs/v3/test/transcript-storage-tests.js.map +1 -0
  164. package/dist/commonjs/v3/toolResultOrder.d.ts +15 -0
  165. package/dist/commonjs/v3/toolResultOrder.js +58 -0
  166. package/dist/commonjs/v3/toolResultOrder.js.map +1 -0
  167. package/dist/commonjs/v3/transcriptStorage.d.ts +307 -0
  168. package/dist/commonjs/v3/transcriptStorage.js +445 -0
  169. package/dist/commonjs/v3/transcriptStorage.js.map +1 -0
  170. package/dist/commonjs/v3/triggerClient.d.ts +45 -0
  171. package/dist/commonjs/v3/triggerClient.js +114 -0
  172. package/dist/commonjs/v3/triggerClient.js.map +1 -0
  173. package/dist/commonjs/v3/uiMessageChunks.d.ts +1 -0
  174. package/dist/commonjs/v3/uiMessageChunks.js +119 -0
  175. package/dist/commonjs/v3/uiMessageChunks.js.map +1 -0
  176. package/dist/commonjs/v3/usage.js +7 -6
  177. package/dist/commonjs/v3/usage.js.map +1 -1
  178. package/dist/commonjs/v3/wait.d.ts +218 -3
  179. package/dist/commonjs/v3/wait.js +433 -7
  180. package/dist/commonjs/v3/wait.js.map +1 -1
  181. package/dist/commonjs/v3/waitUntil.js.map +1 -1
  182. package/dist/commonjs/v3/webhookWaiters.d.ts +80 -0
  183. package/dist/commonjs/v3/webhookWaiters.js +156 -0
  184. package/dist/commonjs/v3/webhookWaiters.js.map +1 -0
  185. package/dist/commonjs/v3/webhooks.d.ts +192 -2
  186. package/dist/commonjs/v3/webhooks.js +340 -2
  187. package/dist/commonjs/v3/webhooks.js.map +1 -1
  188. package/dist/commonjs/version.js +1 -1
  189. package/dist/esm/imports/ai-runtime.d.ts +2 -0
  190. package/dist/esm/imports/ai-runtime.js +16 -0
  191. package/dist/esm/imports/ai-runtime.js.map +1 -0
  192. package/dist/esm/package.json +2 -1
  193. package/dist/esm/v3/agentSkillsRuntime.d.ts +28 -0
  194. package/dist/esm/v3/agentSkillsRuntime.js +136 -0
  195. package/dist/esm/v3/agentSkillsRuntime.js.map +1 -0
  196. package/dist/esm/v3/ai-shared.d.ts +156 -0
  197. package/dist/esm/v3/ai-shared.js +208 -0
  198. package/dist/esm/v3/ai-shared.js.map +1 -0
  199. package/dist/esm/v3/ai.d.ts +4225 -0
  200. package/dist/esm/v3/ai.js +11550 -0
  201. package/dist/esm/v3/ai.js.map +1 -0
  202. package/dist/esm/v3/aiAutoTelemetry.d.ts +2 -0
  203. package/dist/esm/v3/aiAutoTelemetry.js +78 -0
  204. package/dist/esm/v3/aiAutoTelemetry.js.map +1 -0
  205. package/dist/esm/v3/auth.d.ts +71 -10
  206. package/dist/esm/v3/auth.js +83 -17
  207. package/dist/esm/v3/auth.js.map +1 -1
  208. package/dist/esm/v3/batch.d.ts +3 -3
  209. package/dist/esm/v3/batch.js +2 -2
  210. package/dist/esm/v3/batch.js.map +1 -1
  211. package/dist/esm/v3/chat-client.d.ts +324 -0
  212. package/dist/esm/v3/chat-client.js +769 -0
  213. package/dist/esm/v3/chat-client.js.map +1 -0
  214. package/dist/esm/v3/chat-react.d.ts +244 -0
  215. package/dist/esm/v3/chat-react.js +455 -0
  216. package/dist/esm/v3/chat-react.js.map +1 -0
  217. package/dist/esm/v3/chat-server.d.ts +350 -0
  218. package/dist/esm/v3/chat-server.js +962 -0
  219. package/dist/esm/v3/chat-server.js.map +1 -0
  220. package/dist/esm/v3/chat-tab-coordinator.d.ts +65 -0
  221. package/dist/esm/v3/chat-tab-coordinator.js +231 -0
  222. package/dist/esm/v3/chat-tab-coordinator.js.map +1 -0
  223. package/dist/esm/v3/chat.d.ts +792 -0
  224. package/dist/esm/v3/chat.js +1655 -0
  225. package/dist/esm/v3/chat.js.map +1 -0
  226. package/dist/esm/v3/chatRouteWait.d.ts +21 -0
  227. package/dist/esm/v3/chatRouteWait.js +40 -0
  228. package/dist/esm/v3/chatRouteWait.js.map +1 -0
  229. package/dist/esm/v3/chatSnapshotIo.d.ts +2 -0
  230. package/dist/esm/v3/chatSnapshotIo.js +165 -0
  231. package/dist/esm/v3/chatSnapshotIo.js.map +1 -0
  232. package/dist/esm/v3/chatVersionSkew.d.ts +12 -0
  233. package/dist/esm/v3/chatVersionSkew.js +27 -0
  234. package/dist/esm/v3/chatVersionSkew.js.map +1 -0
  235. package/dist/esm/v3/compactionResponse.d.ts +9 -0
  236. package/dist/esm/v3/compactionResponse.js +34 -0
  237. package/dist/esm/v3/compactionResponse.js.map +1 -0
  238. package/dist/esm/v3/concurrency-shared.d.ts +13 -0
  239. package/dist/esm/v3/concurrency-shared.js +31 -0
  240. package/dist/esm/v3/concurrency-shared.js.map +1 -0
  241. package/dist/esm/v3/concurrencyLimits.d.ts +103 -0
  242. package/dist/esm/v3/concurrencyLimits.js +126 -0
  243. package/dist/esm/v3/concurrencyLimits.js.map +1 -0
  244. package/dist/esm/v3/deployments.d.ts +25 -0
  245. package/dist/esm/v3/deployments.js +34 -0
  246. package/dist/esm/v3/deployments.js.map +1 -0
  247. package/dist/esm/v3/envvars.d.ts +5 -5
  248. package/dist/esm/v3/envvars.js.map +1 -1
  249. package/dist/esm/v3/externalDeploymentId.d.ts +23 -0
  250. package/dist/esm/v3/externalDeploymentId.js +38 -0
  251. package/dist/esm/v3/externalDeploymentId.js.map +1 -0
  252. package/dist/esm/v3/heartbeats.d.ts +37 -0
  253. package/dist/esm/v3/heartbeats.js +42 -0
  254. package/dist/esm/v3/heartbeats.js.map +1 -0
  255. package/dist/esm/v3/hooks.d.ts +26 -0
  256. package/dist/esm/v3/hooks.js +66 -0
  257. package/dist/esm/v3/hooks.js.map +1 -0
  258. package/dist/esm/v3/idempotencyKeys.d.ts +2 -1
  259. package/dist/esm/v3/idempotencyKeys.js +2 -1
  260. package/dist/esm/v3/idempotencyKeys.js.map +1 -1
  261. package/dist/esm/v3/index.d.ts +20 -5
  262. package/dist/esm/v3/index.js +16 -2
  263. package/dist/esm/v3/index.js.map +1 -1
  264. package/dist/esm/v3/locals.d.ts +3 -0
  265. package/dist/esm/v3/locals.js +3 -0
  266. package/dist/esm/v3/locals.js.map +1 -0
  267. package/dist/esm/v3/managedChatResponse.d.ts +44 -0
  268. package/dist/esm/v3/managedChatResponse.js +216 -0
  269. package/dist/esm/v3/managedChatResponse.js.map +1 -0
  270. package/dist/esm/v3/metadata.d.ts +5 -2
  271. package/dist/esm/v3/metadata.js +8 -1
  272. package/dist/esm/v3/metadata.js.map +1 -1
  273. package/dist/esm/v3/modelFileDownload.d.ts +10 -0
  274. package/dist/esm/v3/modelFileDownload.js +161 -0
  275. package/dist/esm/v3/modelFileDownload.js.map +1 -0
  276. package/dist/esm/v3/otel.d.ts +4 -0
  277. package/dist/esm/v3/otel.js +9 -0
  278. package/dist/esm/v3/otel.js.map +1 -0
  279. package/dist/esm/v3/prompt.d.ts +38 -0
  280. package/dist/esm/v3/prompt.js +143 -0
  281. package/dist/esm/v3/prompt.js.map +1 -0
  282. package/dist/esm/v3/promptManagement.d.ts +26 -0
  283. package/dist/esm/v3/promptManagement.js +170 -0
  284. package/dist/esm/v3/promptManagement.js.map +1 -0
  285. package/dist/esm/v3/prompts.d.ts +3 -0
  286. package/dist/esm/v3/prompts.js +3 -0
  287. package/dist/esm/v3/prompts.js.map +1 -0
  288. package/dist/esm/v3/query.d.ts +545 -0
  289. package/dist/esm/v3/query.js +160 -0
  290. package/dist/esm/v3/query.js.map +1 -0
  291. package/dist/esm/v3/queues.d.ts +107 -0
  292. package/dist/esm/v3/queues.js +217 -0
  293. package/dist/esm/v3/queues.js.map +1 -0
  294. package/dist/esm/v3/retry.d.ts +6 -2
  295. package/dist/esm/v3/retry.js +27 -19
  296. package/dist/esm/v3/retry.js.map +1 -1
  297. package/dist/esm/v3/runs.d.ts +179 -98
  298. package/dist/esm/v3/runs.js +99 -5
  299. package/dist/esm/v3/runs.js.map +1 -1
  300. package/dist/esm/v3/schedules/api.d.ts +8 -1
  301. package/dist/esm/v3/schedules/index.d.ts +29 -9
  302. package/dist/esm/v3/schedules/index.js +6 -2
  303. package/dist/esm/v3/schedules/index.js.map +1 -1
  304. package/dist/esm/v3/schemas.d.ts +1 -0
  305. package/dist/esm/v3/schemas.js +2 -0
  306. package/dist/esm/v3/schemas.js.map +1 -0
  307. package/dist/esm/v3/sessionTracing.d.ts +7 -0
  308. package/dist/esm/v3/sessionTracing.js +40 -0
  309. package/dist/esm/v3/sessionTracing.js.map +1 -0
  310. package/dist/esm/v3/sessions.d.ts +268 -0
  311. package/dist/esm/v3/sessions.js +767 -0
  312. package/dist/esm/v3/sessions.js.map +1 -0
  313. package/dist/esm/v3/shared.d.ts +129 -24
  314. package/dist/esm/v3/shared.js +1521 -688
  315. package/dist/esm/v3/shared.js.map +1 -1
  316. package/dist/esm/v3/skill.d.ts +99 -0
  317. package/dist/esm/v3/skill.js +128 -0
  318. package/dist/esm/v3/skill.js.map +1 -0
  319. package/dist/esm/v3/skills.d.ts +2 -0
  320. package/dist/esm/v3/skills.js +2 -0
  321. package/dist/esm/v3/skills.js.map +1 -0
  322. package/dist/esm/v3/steeringContext.d.ts +41 -0
  323. package/dist/esm/v3/steeringContext.js +113 -0
  324. package/dist/esm/v3/steeringContext.js.map +1 -0
  325. package/dist/esm/v3/streams.d.ts +298 -0
  326. package/dist/esm/v3/streams.js +580 -0
  327. package/dist/esm/v3/streams.js.map +1 -0
  328. package/dist/esm/v3/tasks.d.ts +19 -4
  329. package/dist/esm/v3/tasks.js +16 -2
  330. package/dist/esm/v3/tasks.js.map +1 -1
  331. package/dist/esm/v3/test/index.d.ts +5 -0
  332. package/dist/esm/v3/test/index.js +15 -0
  333. package/dist/esm/v3/test/index.js.map +1 -0
  334. package/dist/esm/v3/test/mock-channel-connector.d.ts +172 -0
  335. package/dist/esm/v3/test/mock-channel-connector.js +170 -0
  336. package/dist/esm/v3/test/mock-channel-connector.js.map +1 -0
  337. package/dist/esm/v3/test/mock-chat-agent.d.ts +388 -0
  338. package/dist/esm/v3/test/mock-chat-agent.js +685 -0
  339. package/dist/esm/v3/test/mock-chat-agent.js.map +1 -0
  340. package/dist/esm/v3/test/setup-catalog.d.ts +1 -0
  341. package/dist/esm/v3/test/setup-catalog.js +16 -0
  342. package/dist/esm/v3/test/setup-catalog.js.map +1 -0
  343. package/dist/esm/v3/test/test-session-handle.d.ts +24 -0
  344. package/dist/esm/v3/test/test-session-handle.js +268 -0
  345. package/dist/esm/v3/test/test-session-handle.js.map +1 -0
  346. package/dist/esm/v3/test/transcript-storage-tests.d.ts +40 -0
  347. package/dist/esm/v3/test/transcript-storage-tests.js +255 -0
  348. package/dist/esm/v3/test/transcript-storage-tests.js.map +1 -0
  349. package/dist/esm/v3/toolResultOrder.d.ts +15 -0
  350. package/dist/esm/v3/toolResultOrder.js +55 -0
  351. package/dist/esm/v3/toolResultOrder.js.map +1 -0
  352. package/dist/esm/v3/transcriptStorage.d.ts +307 -0
  353. package/dist/esm/v3/transcriptStorage.js +431 -0
  354. package/dist/esm/v3/transcriptStorage.js.map +1 -0
  355. package/dist/esm/v3/triggerClient.d.ts +45 -0
  356. package/dist/esm/v3/triggerClient.js +77 -0
  357. package/dist/esm/v3/triggerClient.js.map +1 -0
  358. package/dist/esm/v3/uiMessageChunks.d.ts +1 -0
  359. package/dist/esm/v3/uiMessageChunks.js +116 -0
  360. package/dist/esm/v3/uiMessageChunks.js.map +1 -0
  361. package/dist/esm/v3/usage.js +7 -6
  362. package/dist/esm/v3/usage.js.map +1 -1
  363. package/dist/esm/v3/wait.d.ts +218 -3
  364. package/dist/esm/v3/wait.js +431 -7
  365. package/dist/esm/v3/wait.js.map +1 -1
  366. package/dist/esm/v3/webhookWaiters.d.ts +80 -0
  367. package/dist/esm/v3/webhookWaiters.js +149 -0
  368. package/dist/esm/v3/webhookWaiters.js.map +1 -0
  369. package/dist/esm/v3/webhooks.d.ts +192 -2
  370. package/dist/esm/v3/webhooks.js +336 -2
  371. package/dist/esm/v3/webhooks.js.map +1 -1
  372. package/dist/esm/version.js +1 -1
  373. package/docs/ai/observability.mdx +174 -0
  374. package/docs/ai/prompts.mdx +426 -0
  375. package/docs/ai-chat/actions.mdx +148 -0
  376. package/docs/ai-chat/anatomy.mdx +87 -0
  377. package/docs/ai-chat/backend.mdx +933 -0
  378. package/docs/ai-chat/background-injection.mdx +320 -0
  379. package/docs/ai-chat/changelog.mdx +958 -0
  380. package/docs/ai-chat/chat-local.mdx +170 -0
  381. package/docs/ai-chat/client-protocol.mdx +1091 -0
  382. package/docs/ai-chat/compaction.mdx +413 -0
  383. package/docs/ai-chat/custom-agents.mdx +545 -0
  384. package/docs/ai-chat/error-handling.mdx +379 -0
  385. package/docs/ai-chat/fast-starts.mdx +764 -0
  386. package/docs/ai-chat/frontend.mdx +634 -0
  387. package/docs/ai-chat/how-it-works.mdx +226 -0
  388. package/docs/ai-chat/lifecycle-hooks.mdx +532 -0
  389. package/docs/ai-chat/mcp.mdx +97 -0
  390. package/docs/ai-chat/migrating-from-a-route-handler.mdx +594 -0
  391. package/docs/ai-chat/migrating-from-hydrate-messages.mdx +299 -0
  392. package/docs/ai-chat/overview.mdx +86 -0
  393. package/docs/ai-chat/patterns/branching-conversations.mdx +145 -0
  394. package/docs/ai-chat/patterns/code-sandbox.mdx +122 -0
  395. package/docs/ai-chat/patterns/database-persistence.mdx +425 -0
  396. package/docs/ai-chat/patterns/human-in-the-loop.mdx +281 -0
  397. package/docs/ai-chat/patterns/large-payloads.mdx +165 -0
  398. package/docs/ai-chat/patterns/native-compaction.mdx +310 -0
  399. package/docs/ai-chat/patterns/oom-resilience.mdx +116 -0
  400. package/docs/ai-chat/patterns/persistence-and-replay.mdx +218 -0
  401. package/docs/ai-chat/patterns/recovery-boot.mdx +233 -0
  402. package/docs/ai-chat/patterns/redacting-telemetry.mdx +117 -0
  403. package/docs/ai-chat/patterns/skills.mdx +214 -0
  404. package/docs/ai-chat/patterns/sub-agents.mdx +412 -0
  405. package/docs/ai-chat/patterns/tool-result-auditing.mdx +145 -0
  406. package/docs/ai-chat/patterns/trusted-edge-signals.mdx +333 -0
  407. package/docs/ai-chat/patterns/version-upgrades.mdx +261 -0
  408. package/docs/ai-chat/pending-messages.mdx +363 -0
  409. package/docs/ai-chat/prompt-caching.mdx +204 -0
  410. package/docs/ai-chat/quick-start.mdx +163 -0
  411. package/docs/ai-chat/reference.mdx +1071 -0
  412. package/docs/ai-chat/server-chat.mdx +259 -0
  413. package/docs/ai-chat/sessions.mdx +334 -0
  414. package/docs/ai-chat/side-channels.mdx +172 -0
  415. package/docs/ai-chat/testing.mdx +691 -0
  416. package/docs/ai-chat/tools.mdx +192 -0
  417. package/docs/ai-chat/transcript-storage.mdx +247 -0
  418. package/docs/ai-chat/types.mdx +242 -0
  419. package/docs/ai-chat/upgrade-guide.mdx +511 -0
  420. package/docs/apikeys.mdx +170 -0
  421. package/docs/billing-limits.mdx +73 -0
  422. package/docs/building-with-ai.mdx +261 -0
  423. package/docs/bulk-actions.mdx +77 -0
  424. package/docs/changelog.mdx +6 -0
  425. package/docs/cli-deploy-commands.mdx +9 -0
  426. package/docs/cli-dev-commands.mdx +9 -0
  427. package/docs/cli-env-commands.mdx +115 -0
  428. package/docs/cli-init-commands.mdx +84 -0
  429. package/docs/cli-introduction.mdx +25 -0
  430. package/docs/cli-list-profiles-commands.mdx +42 -0
  431. package/docs/cli-login-commands.mdx +53 -0
  432. package/docs/cli-logout-commands.mdx +33 -0
  433. package/docs/cli-preview-archive.mdx +59 -0
  434. package/docs/cli-projects-commands.mdx +74 -0
  435. package/docs/cli-promote-commands.mdx +9 -0
  436. package/docs/cli-runs-commands.mdx +95 -0
  437. package/docs/cli-switch.mdx +43 -0
  438. package/docs/cli-tasks-commands.mdx +95 -0
  439. package/docs/cli-update-commands.mdx +48 -0
  440. package/docs/cli-whoami-commands.mdx +45 -0
  441. package/docs/community.mdx +6 -0
  442. package/docs/concurrency.mdx +416 -0
  443. package/docs/config/config-file.mdx +662 -0
  444. package/docs/config/extensions/additionalFiles.mdx +38 -0
  445. package/docs/config/extensions/additionalPackages.mdx +40 -0
  446. package/docs/config/extensions/aptGet.mdx +34 -0
  447. package/docs/config/extensions/audioWaveform.mdx +23 -0
  448. package/docs/config/extensions/custom.mdx +393 -0
  449. package/docs/config/extensions/emitDecoratorMetadata.mdx +52 -0
  450. package/docs/config/extensions/esbuildPlugin.mdx +31 -0
  451. package/docs/config/extensions/ffmpeg.mdx +45 -0
  452. package/docs/config/extensions/lightpanda.mdx +56 -0
  453. package/docs/config/extensions/overview.mdx +69 -0
  454. package/docs/config/extensions/playwright.mdx +195 -0
  455. package/docs/config/extensions/prismaExtension.mdx +1013 -0
  456. package/docs/config/extensions/puppeteer.mdx +28 -0
  457. package/docs/config/extensions/pythonExtension.mdx +190 -0
  458. package/docs/config/extensions/syncEnvVars.mdx +330 -0
  459. package/docs/context.mdx +235 -0
  460. package/docs/database-connections.mdx +213 -0
  461. package/docs/deploy-environment-variables.mdx +466 -0
  462. package/docs/deployment/atomic-deployment.mdx +470 -0
  463. package/docs/deployment/dev-branches.mdx +92 -0
  464. package/docs/deployment/overview.mdx +260 -0
  465. package/docs/deployment/preview-branches.mdx +227 -0
  466. package/docs/errors-retrying.mdx +383 -0
  467. package/docs/github-actions.mdx +260 -0
  468. package/docs/github-integration.mdx +148 -0
  469. package/docs/github-repo.mdx +8 -0
  470. package/docs/help-email.mdx +6 -0
  471. package/docs/help-slack.mdx +12 -0
  472. package/docs/hidden-tasks.mdx +56 -0
  473. package/docs/how-it-works.mdx +454 -0
  474. package/docs/how-to-reduce-your-spend.mdx +211 -0
  475. package/docs/idempotency.mdx +542 -0
  476. package/docs/introduction.mdx +135 -0
  477. package/docs/limits.mdx +284 -0
  478. package/docs/logging.mdx +195 -0
  479. package/docs/machines.mdx +952 -0
  480. package/docs/manual-setup.mdx +632 -0
  481. package/docs/mcp-agent-rules.mdx +41 -0
  482. package/docs/mcp-introduction.mdx +386 -0
  483. package/docs/mcp-tools.mdx +425 -0
  484. package/docs/migrating-from-v3.mdx +332 -0
  485. package/docs/observability/dashboards.mdx +166 -0
  486. package/docs/observability/query.mdx +614 -0
  487. package/docs/open-source-contributing.mdx +16 -0
  488. package/docs/private-networking/aws-console-setup.mdx +304 -0
  489. package/docs/private-networking/overview.mdx +144 -0
  490. package/docs/private-networking/troubleshooting.mdx +78 -0
  491. package/docs/queues.mdx +271 -0
  492. package/docs/quick-start.mdx +60 -0
  493. package/docs/realtime/auth.mdx +228 -0
  494. package/docs/realtime/backend/input-streams.mdx +159 -0
  495. package/docs/realtime/backend/overview.mdx +45 -0
  496. package/docs/realtime/backend/streams.mdx +433 -0
  497. package/docs/realtime/backend/subscribe.mdx +225 -0
  498. package/docs/realtime/how-it-works.mdx +94 -0
  499. package/docs/realtime/overview.mdx +63 -0
  500. package/docs/realtime/react-hooks/overview.mdx +73 -0
  501. package/docs/realtime/react-hooks/session-stream.mdx +126 -0
  502. package/docs/realtime/react-hooks/streams.mdx +517 -0
  503. package/docs/realtime/react-hooks/subscribe.mdx +690 -0
  504. package/docs/realtime/react-hooks/swr.mdx +87 -0
  505. package/docs/realtime/react-hooks/triggering.mdx +194 -0
  506. package/docs/realtime/react-hooks/use-wait-token.mdx +34 -0
  507. package/docs/realtime/run-object.mdx +197 -0
  508. package/docs/replaying.mdx +97 -0
  509. package/docs/reports.mdx +159 -0
  510. package/docs/request-feature.mdx +6 -0
  511. package/docs/roadmap.mdx +6 -0
  512. package/docs/run-tests.mdx +21 -0
  513. package/docs/run-usage.mdx +113 -0
  514. package/docs/runs/bulk-actions.mdx +183 -0
  515. package/docs/runs/heartbeats.mdx +38 -0
  516. package/docs/runs/list-best-practices.mdx +234 -0
  517. package/docs/runs/max-duration.mdx +143 -0
  518. package/docs/runs/metadata.mdx +731 -0
  519. package/docs/runs/priority.mdx +8 -0
  520. package/docs/runs.mdx +406 -0
  521. package/docs/self-hosting/docker.mdx +512 -0
  522. package/docs/self-hosting/env/supervisor.mdx +78 -0
  523. package/docs/self-hosting/env/webapp.mdx +305 -0
  524. package/docs/self-hosting/kubernetes.mdx +725 -0
  525. package/docs/self-hosting/overview.mdx +145 -0
  526. package/docs/self-hosting/security.mdx +67 -0
  527. package/docs/skills.mdx +85 -0
  528. package/docs/tags.mdx +126 -0
  529. package/docs/tasks/overview.mdx +695 -0
  530. package/docs/tasks/scheduled.mdx +479 -0
  531. package/docs/tasks/schemaTask.mdx +413 -0
  532. package/docs/tasks/streams.mdx +887 -0
  533. package/docs/triggering.mdx +1340 -0
  534. package/docs/troubleshooting-alerts.mdx +607 -0
  535. package/docs/troubleshooting-debugging-in-vscode.mdx +9 -0
  536. package/docs/troubleshooting-github-issues.mdx +6 -0
  537. package/docs/troubleshooting-uptime-status.mdx +7 -0
  538. package/docs/troubleshooting-zod.mdx +158 -0
  539. package/docs/troubleshooting.mdx +414 -0
  540. package/docs/upgrading-packages.mdx +80 -0
  541. package/docs/vercel-integration.mdx +250 -0
  542. package/docs/versioning.mdx +58 -0
  543. package/docs/video-walkthrough.mdx +23 -0
  544. package/docs/wait-for-token.mdx +540 -0
  545. package/docs/wait-for.mdx +42 -0
  546. package/docs/wait-until.mdx +53 -0
  547. package/docs/wait.mdx +18 -0
  548. package/docs/webhooks/channels.mdx +154 -0
  549. package/docs/webhooks/connect.mdx +91 -0
  550. package/docs/webhooks/deliveries.mdx +99 -0
  551. package/docs/webhooks/filters.mdx +146 -0
  552. package/docs/webhooks/human-in-the-loop.mdx +158 -0
  553. package/docs/webhooks/linear.mdx +186 -0
  554. package/docs/webhooks/overview.mdx +115 -0
  555. package/docs/webhooks/session-routing.mdx +141 -0
  556. package/docs/webhooks/slack.mdx +393 -0
  557. package/docs/webhooks/sources.mdx +250 -0
  558. package/docs/webhooks/waiters.mdx +190 -0
  559. package/docs/writing-tasks-introduction.mdx +34 -0
  560. package/package.json +143 -42
  561. package/skills/trigger-authoring-chat-agent/SKILL.md +308 -0
  562. package/skills/trigger-authoring-tasks/SKILL.md +254 -0
  563. package/skills/trigger-chat-agent-advanced/SKILL.md +403 -0
  564. package/skills/trigger-cost-savings/SKILL.md +116 -0
  565. package/skills/trigger-realtime-and-frontend/SKILL.md +276 -0
  566. package/dist/commonjs/apiClient.d.ts +0 -727
  567. package/dist/commonjs/apiClient.js +0 -692
  568. package/dist/commonjs/apiClient.js.map +0 -1
  569. package/dist/commonjs/concurrencyLimit.d.ts +0 -10
  570. package/dist/commonjs/concurrencyLimit.js +0 -17
  571. package/dist/commonjs/concurrencyLimit.js.map +0 -1
  572. package/dist/commonjs/errors.d.ts +0 -66
  573. package/dist/commonjs/errors.js +0 -109
  574. package/dist/commonjs/errors.js.map +0 -1
  575. package/dist/commonjs/httpEndpoint.d.ts +0 -87
  576. package/dist/commonjs/httpEndpoint.js +0 -130
  577. package/dist/commonjs/httpEndpoint.js.map +0 -1
  578. package/dist/commonjs/index.d.ts +0 -23
  579. package/dist/commonjs/index.js +0 -55
  580. package/dist/commonjs/index.js.map +0 -1
  581. package/dist/commonjs/integrations.d.ts +0 -11
  582. package/dist/commonjs/integrations.js.map +0 -1
  583. package/dist/commonjs/io.d.ts +0 -441
  584. package/dist/commonjs/io.js +0 -1165
  585. package/dist/commonjs/io.js.map +0 -1
  586. package/dist/commonjs/ioWithIntegrations.d.ts +0 -4
  587. package/dist/commonjs/ioWithIntegrations.js +0 -32
  588. package/dist/commonjs/ioWithIntegrations.js.map +0 -1
  589. package/dist/commonjs/job.d.ts +0 -96
  590. package/dist/commonjs/job.js +0 -210
  591. package/dist/commonjs/job.js.map +0 -1
  592. package/dist/commonjs/retry.d.ts +0 -20
  593. package/dist/commonjs/retry.js +0 -22
  594. package/dist/commonjs/retry.js.map +0 -1
  595. package/dist/commonjs/runLocalStorage.d.ts +0 -8
  596. package/dist/commonjs/runLocalStorage.js +0 -6
  597. package/dist/commonjs/runLocalStorage.js.map +0 -1
  598. package/dist/commonjs/security.d.ts +0 -18
  599. package/dist/commonjs/security.js +0 -41
  600. package/dist/commonjs/security.js.map +0 -1
  601. package/dist/commonjs/status.d.ts +0 -19
  602. package/dist/commonjs/status.js +0 -38
  603. package/dist/commonjs/status.js.map +0 -1
  604. package/dist/commonjs/store/keyValueStore.d.ts +0 -17
  605. package/dist/commonjs/store/keyValueStore.js +0 -138
  606. package/dist/commonjs/store/keyValueStore.js.map +0 -1
  607. package/dist/commonjs/store/keyValueStoreClient.d.ts +0 -19
  608. package/dist/commonjs/store/keyValueStoreClient.js +0 -65
  609. package/dist/commonjs/store/keyValueStoreClient.js.map +0 -1
  610. package/dist/commonjs/triggerClient.d.ts +0 -290
  611. package/dist/commonjs/triggerClient.js +0 -1366
  612. package/dist/commonjs/triggerClient.js.map +0 -1
  613. package/dist/commonjs/triggers/dynamic.d.ts +0 -56
  614. package/dist/commonjs/triggers/dynamic.js +0 -97
  615. package/dist/commonjs/triggers/dynamic.js.map +0 -1
  616. package/dist/commonjs/triggers/eventTrigger.d.ts +0 -58
  617. package/dist/commonjs/triggers/eventTrigger.js +0 -69
  618. package/dist/commonjs/triggers/eventTrigger.js.map +0 -1
  619. package/dist/commonjs/triggers/externalSource.d.ts +0 -148
  620. package/dist/commonjs/triggers/externalSource.js +0 -106
  621. package/dist/commonjs/triggers/externalSource.js.map +0 -1
  622. package/dist/commonjs/triggers/invokeTrigger.d.ts +0 -39
  623. package/dist/commonjs/triggers/invokeTrigger.js +0 -58
  624. package/dist/commonjs/triggers/invokeTrigger.js.map +0 -1
  625. package/dist/commonjs/triggers/notifications.d.ts +0 -111
  626. package/dist/commonjs/triggers/notifications.js +0 -101
  627. package/dist/commonjs/triggers/notifications.js.map +0 -1
  628. package/dist/commonjs/triggers/scheduled.d.ts +0 -145
  629. package/dist/commonjs/triggers/scheduled.js +0 -208
  630. package/dist/commonjs/triggers/scheduled.js.map +0 -1
  631. package/dist/commonjs/triggers/webhook.d.ts +0 -143
  632. package/dist/commonjs/triggers/webhook.js +0 -133
  633. package/dist/commonjs/triggers/webhook.js.map +0 -1
  634. package/dist/commonjs/typed-emitter.d.ts +0 -37
  635. package/dist/commonjs/typed-emitter.js +0 -3
  636. package/dist/commonjs/typed-emitter.js.map +0 -1
  637. package/dist/commonjs/types.d.ts +0 -204
  638. package/dist/commonjs/types.js +0 -23
  639. package/dist/commonjs/types.js.map +0 -1
  640. package/dist/commonjs/utils/formatSchemaErrors.d.ts +0 -3
  641. package/dist/commonjs/utils/formatSchemaErrors.js +0 -10
  642. package/dist/commonjs/utils/formatSchemaErrors.js.map +0 -1
  643. package/dist/commonjs/utils/typedAsyncLocalStorage.d.ts +0 -6
  644. package/dist/commonjs/utils/typedAsyncLocalStorage.js +0 -18
  645. package/dist/commonjs/utils/typedAsyncLocalStorage.js.map +0 -1
  646. package/dist/commonjs/utils.d.ts +0 -1
  647. package/dist/commonjs/utils.js +0 -11
  648. package/dist/commonjs/utils.js.map +0 -1
  649. package/dist/esm/apiClient.d.ts +0 -727
  650. package/dist/esm/apiClient.js +0 -687
  651. package/dist/esm/apiClient.js.map +0 -1
  652. package/dist/esm/concurrencyLimit.d.ts +0 -10
  653. package/dist/esm/concurrencyLimit.js +0 -13
  654. package/dist/esm/concurrencyLimit.js.map +0 -1
  655. package/dist/esm/errors.d.ts +0 -66
  656. package/dist/esm/errors.js +0 -95
  657. package/dist/esm/errors.js.map +0 -1
  658. package/dist/esm/httpEndpoint.d.ts +0 -87
  659. package/dist/esm/httpEndpoint.js +0 -125
  660. package/dist/esm/httpEndpoint.js.map +0 -1
  661. package/dist/esm/index.d.ts +0 -23
  662. package/dist/esm/index.js +0 -35
  663. package/dist/esm/index.js.map +0 -1
  664. package/dist/esm/integrations.d.ts +0 -11
  665. package/dist/esm/integrations.js +0 -2
  666. package/dist/esm/integrations.js.map +0 -1
  667. package/dist/esm/io.d.ts +0 -441
  668. package/dist/esm/io.js +0 -1159
  669. package/dist/esm/io.js.map +0 -1
  670. package/dist/esm/ioWithIntegrations.d.ts +0 -4
  671. package/dist/esm/ioWithIntegrations.js +0 -29
  672. package/dist/esm/ioWithIntegrations.js.map +0 -1
  673. package/dist/esm/job.d.ts +0 -96
  674. package/dist/esm/job.js +0 -206
  675. package/dist/esm/job.js.map +0 -1
  676. package/dist/esm/retry.d.ts +0 -20
  677. package/dist/esm/retry.js +0 -19
  678. package/dist/esm/retry.js.map +0 -1
  679. package/dist/esm/runLocalStorage.d.ts +0 -8
  680. package/dist/esm/runLocalStorage.js +0 -3
  681. package/dist/esm/runLocalStorage.js.map +0 -1
  682. package/dist/esm/security.d.ts +0 -18
  683. package/dist/esm/security.js +0 -34
  684. package/dist/esm/security.js.map +0 -1
  685. package/dist/esm/status.d.ts +0 -19
  686. package/dist/esm/status.js +0 -34
  687. package/dist/esm/status.js.map +0 -1
  688. package/dist/esm/store/keyValueStore.d.ts +0 -17
  689. package/dist/esm/store/keyValueStore.js +0 -134
  690. package/dist/esm/store/keyValueStore.js.map +0 -1
  691. package/dist/esm/store/keyValueStoreClient.d.ts +0 -19
  692. package/dist/esm/store/keyValueStoreClient.js +0 -61
  693. package/dist/esm/store/keyValueStoreClient.js.map +0 -1
  694. package/dist/esm/triggerClient.d.ts +0 -288
  695. package/dist/esm/triggerClient.js +0 -1359
  696. package/dist/esm/triggerClient.js.map +0 -1
  697. package/dist/esm/triggers/dynamic.d.ts +0 -56
  698. package/dist/esm/triggers/dynamic.js +0 -93
  699. package/dist/esm/triggers/dynamic.js.map +0 -1
  700. package/dist/esm/triggers/eventTrigger.d.ts +0 -58
  701. package/dist/esm/triggers/eventTrigger.js +0 -64
  702. package/dist/esm/triggers/eventTrigger.js.map +0 -1
  703. package/dist/esm/triggers/externalSource.d.ts +0 -148
  704. package/dist/esm/triggers/externalSource.js +0 -100
  705. package/dist/esm/triggers/externalSource.js.map +0 -1
  706. package/dist/esm/triggers/invokeTrigger.d.ts +0 -39
  707. package/dist/esm/triggers/invokeTrigger.js +0 -53
  708. package/dist/esm/triggers/invokeTrigger.js.map +0 -1
  709. package/dist/esm/triggers/notifications.d.ts +0 -111
  710. package/dist/esm/triggers/notifications.js +0 -94
  711. package/dist/esm/triggers/notifications.js.map +0 -1
  712. package/dist/esm/triggers/scheduled.d.ts +0 -145
  713. package/dist/esm/triggers/scheduled.js +0 -197
  714. package/dist/esm/triggers/scheduled.js.map +0 -1
  715. package/dist/esm/triggers/webhook.d.ts +0 -143
  716. package/dist/esm/triggers/webhook.js +0 -128
  717. package/dist/esm/triggers/webhook.js.map +0 -1
  718. package/dist/esm/typed-emitter.d.ts +0 -37
  719. package/dist/esm/typed-emitter.js +0 -2
  720. package/dist/esm/typed-emitter.js.map +0 -1
  721. package/dist/esm/types.d.ts +0 -204
  722. package/dist/esm/types.js +0 -19
  723. package/dist/esm/types.js.map +0 -1
  724. package/dist/esm/utils/formatSchemaErrors.d.ts +0 -3
  725. package/dist/esm/utils/formatSchemaErrors.js +0 -7
  726. package/dist/esm/utils/formatSchemaErrors.js.map +0 -1
  727. package/dist/esm/utils/typedAsyncLocalStorage.d.ts +0 -6
  728. package/dist/esm/utils/typedAsyncLocalStorage.js +0 -14
  729. package/dist/esm/utils/typedAsyncLocalStorage.js.map +0 -1
  730. package/dist/esm/utils.d.ts +0 -1
  731. package/dist/esm/utils.js +0 -8
  732. package/dist/esm/utils.js.map +0 -1
@@ -0,0 +1,511 @@
1
+ ---
2
+ title: "Upgrade Guide: prerelease → Sessions-as-run-manager"
3
+ sidebarTitle: "Sessions Upgrade Guide"
4
+ description: "Migrating chat.agent code from the prerelease API to the Sessions-as-run-manager release."
5
+ ---
6
+
7
+ This guide is for customers who tried `chat.agent` during the prerelease period.
8
+ The public surface of `chat.agent({...})`, `useTriggerChatTransport`,
9
+ `AgentChat`, `chat.defer`, and `chat.history` is largely
10
+ unchanged — but the transport's auth callbacks and the server-side helpers
11
+ that feed them were reshaped, so most prerelease apps need a small wiring
12
+ update.
13
+
14
+ ## TL;DR
15
+
16
+ <CodeGroup>
17
+
18
+ ```ts before.ts
19
+ // Single accessToken callback, dispatches on purpose
20
+ accessToken: async ({ chatId, purpose }) => {
21
+ if (purpose === "trigger") {
22
+ return chat.createAccessToken<typeof myChat>("my-chat");
23
+ }
24
+ // purpose === "preload" — same call, same trigger token
25
+ return chat.createAccessToken<typeof myChat>("my-chat");
26
+ };
27
+ ```
28
+
29
+ ```ts after.ts
30
+ // Two callbacks: pure refresh + server action that creates the session
31
+ accessToken: ({ chatId }) => mintChatAccessToken(chatId),
32
+ startSession: ({ chatId, clientData }) =>
33
+ startChatSession({ chatId, clientData }),
34
+ ```
35
+
36
+ </CodeGroup>
37
+
38
+ What changed:
39
+
40
+ - `accessToken` is now a **pure session-PAT mint** — called only on 401/403
41
+ to refresh. It must return a token scoped to the session, not a
42
+ `trigger:tasks` JWT.
43
+ - `startSession` is a **new callback** that wraps a server action calling
44
+ `chat.createStartSessionAction(taskId)`. The transport invokes it on
45
+ `transport.preload(chatId)` and lazily on the first `sendMessage` for
46
+ any chatId without a cached PAT.
47
+ - `ChatSession` persistable state drops `runId` — store only
48
+ `{publicAccessToken, lastEventId?}`.
49
+ - Per-call options on `transport.preload(chatId, ...)` are gone. Trigger
50
+ config (machine, idleTimeoutInSeconds, tags, queue, maxAttempts) lives
51
+ server-side in `chat.createStartSessionAction(taskId, options)`.
52
+
53
+ <Note>
54
+ The architectural shift is that `chat.agent` no longer rolls its own
55
+ per-run streams. It runs on top of a durable **Session** row that owns
56
+ its current run, persists across run lifecycles, and orchestrates
57
+ upgrades server-side. The customer-facing surface is similar; the wire
58
+ path beneath it changed completely.
59
+ </Note>
60
+
61
+ ## Step 1: Replace your access-token server action with two server actions
62
+
63
+ The old pattern was a single helper that minted a trigger token:
64
+
65
+ ```ts app/actions.ts (before)
66
+ "use server";
67
+
68
+ import { chat } from "@trigger.dev/sdk/ai";
69
+ import type { myChat } from "@/trigger/chat";
70
+
71
+ export const getChatToken = () =>
72
+ chat.createAccessToken<typeof myChat>("my-chat");
73
+ ```
74
+
75
+ Replace with two helpers — one for session creation, one for PAT refresh:
76
+
77
+ ```ts app/actions.ts (after)
78
+ "use server";
79
+
80
+ import { auth } from "@trigger.dev/sdk";
81
+ import { chat } from "@trigger.dev/sdk/ai";
82
+
83
+ // Server-side wrapper for session creation. Idempotent on (env, chatId).
84
+ // The customer's server is the only entry point that creates Session rows;
85
+ // the browser never holds a `trigger:tasks` JWT.
86
+ export const startChatSession = chat.createStartSessionAction("my-chat");
87
+
88
+ // Pure session-PAT mint for the transport's 401/403 retry path.
89
+ export async function mintChatAccessToken(chatId: string) {
90
+ return auth.createPublicToken({
91
+ scopes: {
92
+ read: { sessions: chatId },
93
+ write: { sessions: chatId },
94
+ },
95
+ expirationTime: "1h",
96
+ });
97
+ }
98
+ ```
99
+
100
+ `chat.createStartSessionAction(taskId)` returns a server action that:
101
+
102
+ 1. Creates the Session row for `chatId` (idempotent on the
103
+ `(env, externalId)` unique pair).
104
+ 2. Triggers the agent task's first run with
105
+ `basePayload: {messages: [], trigger: "preload"}` defaults plus any
106
+ overrides you pass.
107
+ 3. Returns `{sessionId, runId, publicAccessToken}` to the browser.
108
+
109
+ ## Step 2: Update the transport wiring
110
+
111
+ The transport now takes two callbacks instead of one:
112
+
113
+ ```tsx app/components/chat.tsx (after)
114
+ "use client";
115
+
116
+ import { useChat } from "@ai-sdk/react";
117
+ import { useTriggerChatTransport } from "@trigger.dev/sdk/chat/react";
118
+ import type { myChat } from "@/trigger/chat";
119
+ import { mintChatAccessToken, startChatSession } from "@/app/actions";
120
+
121
+ export function Chat() {
122
+ const transport = useTriggerChatTransport<typeof myChat>({
123
+ task: "my-chat",
124
+ accessToken: ({ chatId }) => mintChatAccessToken(chatId),
125
+ startSession: ({ chatId, clientData }) =>
126
+ startChatSession({ chatId, clientData }),
127
+ });
128
+
129
+ const { messages, sendMessage, status } = useChat({ transport });
130
+ // ...
131
+ }
132
+ ```
133
+
134
+ The transport calls them in two distinct flows:
135
+
136
+ | Trigger | Callback fired |
137
+ |---|---|
138
+ | `transport.preload(chatId)` | `startSession` |
139
+ | First `sendMessage` for a chatId with no cached PAT | `startSession` (auto) |
140
+ | Any 401/403 from `.in/append`, `.out` SSE, or `end-and-continue` | `accessToken` |
141
+ | Page hydrates with `sessions: { [chatId]: ... }` | Neither (uses hydrated PAT) |
142
+
143
+ `startSession` is deduped via an in-flight promise — concurrent
144
+ `preload` + `sendMessage` calls converge to one server action invocation.
145
+
146
+ ## Step 3: Drop transport-level trigger config
147
+
148
+ The prerelease transport accepted `triggerConfig`, `triggerOptions`, and
149
+ per-call options on `preload`. All of that moved server-side:
150
+
151
+ ```ts before
152
+ const transport = useTriggerChatTransport({
153
+ task: "my-chat",
154
+ accessToken: getChatToken,
155
+ triggerConfig: { basePayload: { /* ... */ } },
156
+ triggerOptions: { tags: [...], machine: "small-1x", maxAttempts: 3 },
157
+ });
158
+
159
+ transport.preload(chatId, { idleTimeoutInSeconds: 60, metadata: { ... } });
160
+ ```
161
+
162
+ ```ts after
163
+ // Trigger config now lives in chat.createStartSessionAction
164
+ export const startChatSession = chat.createStartSessionAction("my-chat", {
165
+ triggerConfig: {
166
+ machine: "small-1x",
167
+ maxAttempts: 3,
168
+ tags: ["my-tag"],
169
+ idleTimeoutInSeconds: 60,
170
+ },
171
+ });
172
+
173
+ // Browser side
174
+ const transport = useTriggerChatTransport<typeof myChat>({
175
+ task: "my-chat",
176
+ accessToken: ({ chatId }) => mintChatAccessToken(chatId),
177
+ startSession: ({ chatId, clientData }) =>
178
+ startChatSession({ chatId, clientData }),
179
+ });
180
+
181
+ transport.preload(chatId); // no second arg
182
+ ```
183
+
184
+ For metadata that varies per chat, use `clientData` on the transport (see
185
+ the next step) — it's typed and threaded through `startSession` automatically.
186
+
187
+ ## Step 4: Use `clientData` for typed payload metadata
188
+
189
+ If your agent uses `withClientData({schema})`, the transport's `clientData`
190
+ option is now the canonical place to set it. The same value:
191
+
192
+ - Is passed to your `startSession` callback as `params.clientData`, where
193
+ you forward it into `chat.createStartSessionAction`'s
194
+ `triggerConfig.basePayload.metadata`. The agent's first run sees it in
195
+ `payload.metadata` (visible to `onPreload` / `onChatStart`).
196
+ - Merges into per-turn `metadata` on every `.in/append` chunk
197
+ (visible to `onTurnStart` / inside `run` via `turn.clientData`).
198
+
199
+ ```tsx
200
+ const transport = useTriggerChatTransport<typeof myChat>({
201
+ task: "my-chat",
202
+ accessToken: ({ chatId }) => mintChatAccessToken(chatId),
203
+ startSession: ({ chatId, clientData }) =>
204
+ startChatSession({ chatId, clientData }),
205
+ clientData: {
206
+ userId: currentUser.id,
207
+ plan: currentUser.plan,
208
+ },
209
+ });
210
+ ```
211
+
212
+ The `clientData` value is live-updated when the option changes (the hook
213
+ calls `setClientData` under the hood), so dynamic values work without
214
+ reconstructing the transport.
215
+
216
+ <Tip>
217
+ Server-side authorization can still override or augment the
218
+ browser-claimed `clientData` inside `startSession` — never trust the
219
+ browser's identity claim. A typical pattern: the server action looks up
220
+ the user from the request session, then merges the trusted server fields
221
+ on top of `params.clientData`.
222
+ </Tip>
223
+
224
+ ## Step 5: Update your `ChatSession` persistence
225
+
226
+ If you persist session state across page loads, drop the `runId` field:
227
+
228
+ ```ts before
229
+ type ChatSession = {
230
+ runId: string;
231
+ publicAccessToken: string;
232
+ lastEventId?: string;
233
+ };
234
+ ```
235
+
236
+ ```ts after
237
+ type ChatSession = {
238
+ publicAccessToken: string;
239
+ lastEventId?: string;
240
+ };
241
+ ```
242
+
243
+ If your DB has a `runId` column, you can drop it (the transport doesn't
244
+ read it) or keep it for telemetry. The current run ID lives on the
245
+ Session row server-side now.
246
+
247
+ Hydration on page reload is unchanged:
248
+
249
+ ```tsx
250
+ const transport = useTriggerChatTransport<typeof myChat>({
251
+ // ...
252
+ sessions: persistedSession
253
+ ? { [chatId]: persistedSession }
254
+ : {},
255
+ });
256
+ ```
257
+
258
+ ## `chat.requestUpgrade()`: same call, faster handoff
259
+
260
+ Calling `chat.requestUpgrade()` inside `onTurnStart` /
261
+ `onValidateMessages` still ends the current run so the next message starts
262
+ on the latest version. What changed is the mechanism:
263
+
264
+ - **Before:** the agent emitted a `trigger:upgrade-required` chunk on
265
+ `.out`; the transport consumed it browser-side and triggered a new run.
266
+ - **After:** the agent calls `endAndContinueSession` server-to-server;
267
+ the webapp triggers a new run and atomically swaps `Session.currentRunId`
268
+ via optimistic locking. The browser's existing SSE subscription keeps
269
+ receiving chunks across the swap — no transport-side bookkeeping.
270
+
271
+ The new run is recorded in a `SessionRun` audit row with
272
+ `reason: "upgrade"` for dashboard provenance.
273
+
274
+ ## Hitting raw URLs
275
+
276
+ If your code talks to the realtime API directly instead of going through
277
+ the SDK, the URL shapes changed:
278
+
279
+ | Before | After |
280
+ |---|---|
281
+ | `GET /realtime/v1/streams/{runId}/chat` | `GET /realtime/v1/sessions/{chatId}/out` |
282
+ | `POST /realtime/v1/streams/{runId}/{target}/chat-messages/append` | `POST /realtime/v1/sessions/{chatId}/in/append` (body: `{kind: "message", payload}`) |
283
+ | `POST /realtime/v1/streams/{runId}/{target}/chat-stop/append` | `POST /realtime/v1/sessions/{chatId}/in/append` (body: `{kind: "stop"}`) |
284
+
285
+ The session-scoped PAT
286
+ (`read:sessions:{chatId} + write:sessions:{chatId}`) authorizes both the
287
+ externalId form (`/sessions/my-chat-id/...`) and the friendlyId form
288
+ (`/sessions/session_abc.../...`). The transport always uses the
289
+ externalId form; the friendlyId form is available for dashboard tooling
290
+ and direct API consumers.
291
+
292
+ ## What didn't change
293
+
294
+ - `chat.agent({...})` definition — `id`, `idleTimeoutInSeconds`,
295
+ `clientDataSchema`, `actionSchema`, `hydrateMessages`, `onPreload`,
296
+ `onChatStart`, `onValidateMessages`, `onTurnStart`, `onTurnComplete`,
297
+ `onChatSuspend`, `run`. All callbacks have the same signature and
298
+ fire at the same lifecycle points.
299
+ - `onAction` is still defined the same way, but its semantics changed
300
+ in the [May 6 prerelease](/ai-chat/changelog) — actions are no longer
301
+ turns. To answer after an action's edit, return `chat.turn()`; returning
302
+ a `StreamTextResult` is no longer supported.
303
+ - `chat.customAgent({...})` and the `chat.createSession(payload, ...)`
304
+ helper for building a session loop manually inside a custom agent.
305
+ - `chat.defer` (deferred work) and `chat.history` (imperative history
306
+ mutations from inside `onAction`).
307
+ - `AgentChat` (server-side chat client) — `agent`, `id`, `clientData`,
308
+ `session`, `onTriggered`, `onTurnComplete`, `sendMessage`, `text()`.
309
+ - `useTriggerChatTransport` React semantics (created once, kept in a
310
+ ref, callbacks updated under the hood).
311
+ - Multi-tab coordination (`multiTab: true`),
312
+ [pending messages / steering](/ai-chat/pending-messages),
313
+ [background injection](/ai-chat/background-injection),
314
+ [compaction](/ai-chat/compaction).
315
+ - Per-turn `metadata` flowing through
316
+ `sendMessage({ text }, { metadata })` to `turn.metadata` server-side.
317
+
318
+ ## Verifying the migration
319
+
320
+ After updating, the smoke check is the same as before: send a message,
321
+ confirm the assistant streams a response, reload mid-stream, confirm
322
+ resume.
323
+
324
+ A few new things worth verifying once you've cut over:
325
+
326
+ - **Eager preload.** Click the button (or call `transport.preload(id)`
327
+ programmatically) — your `startSession` callback should fire and a
328
+ Session row + first run should be created before you send a message.
329
+ - **Idle-timeout continuation.** Wait past the agent's
330
+ `idleTimeoutInSeconds` so the run exits, then send another message —
331
+ the transport's `.in/append` should boot a new run on the same
332
+ Session, with a `SessionRun` row of `reason: "continuation"`.
333
+ - **PAT refresh.** Force a stale PAT in your DB (corrupt the signature)
334
+ and reload — the first request should 401, your `accessToken`
335
+ callback should fire, and the retry should succeed.
336
+
337
+ If any of those misfire, check that:
338
+
339
+ - Your `accessToken` callback returns a token minted via
340
+ `auth.createPublicToken({ scopes: { read: { sessions: chatId }, write: { sessions: chatId } } })`, **not**
341
+ `chat.createAccessToken` or `auth.createTriggerPublicToken`. The
342
+ transport rejects trigger tokens now.
343
+ - Your `startSession` callback returns
344
+ `{publicAccessToken: string}` — the result of
345
+ `chat.createStartSessionAction(taskId)({chatId, ...})` already has
346
+ this shape.
347
+ - You haven't left a stale `getStartToken` option on the transport;
348
+ it's not part of `TriggerChatTransportOptions` anymore.
349
+
350
+ ## v4.5 wire format change
351
+
352
+ A second migration lands on top of the Sessions release. v4.5 removes the full-history wire payload — clients now ship at most one new `UIMessage` per `.in/append`, and the agent rebuilds prior history from a durable JSON snapshot in object storage plus a replay of the `session.out` tail.
353
+
354
+ If you use the built-in `TriggerChatTransport` / `AgentChat` and don't reach into the wire shape directly, **most apps need no changes** — the change is below the customer-facing surface. Customers who built custom transports, hit `/realtime/v1/sessions/{id}/in/append` directly, or rely on specific behaviors of `hydrateMessages` / `onChatStart` should read this section.
355
+
356
+ ### Why the change
357
+
358
+ Long chats with heavy tool results were hitting the realtime API's 512 KiB body cap on `/in/append` once the accumulated `UIMessage[]` history (which the wire shipped in full on every send) crossed the limit. The 413 surfaced as a CORS error in browsers and stalled chats around turn 10–30 with tool use.
359
+
360
+ The wire is now **delta-only**: each `.in/append` carries at most one new `UIMessage`. The agent rebuilds prior history at run boot. The 512 KiB ceiling stops being pressure — typical payloads are a few KB regardless of chat length.
361
+
362
+ ### Object-store configuration
363
+
364
+ Snapshot read/write uses Trigger.dev's existing object-store infrastructure — the same presigned-URL routes used for large payloads. Set the standard `OBJECT_STORE_*` env vars on your webapp deployment if you haven't already; MinIO and S3-compatible stores work via `OBJECT_STORE_DEFAULT_PROTOCOL`.
365
+
366
+ | Env var | Purpose |
367
+ |---|---|
368
+ | `OBJECT_STORE_BASE_URL` | Endpoint URL (S3, MinIO, R2, etc.) |
369
+ | `OBJECT_STORE_ACCESS_KEY_ID` | Access key |
370
+ | `OBJECT_STORE_SECRET_ACCESS_KEY` | Secret key |
371
+ | `OBJECT_STORE_DEFAULT_PROTOCOL` | `s3` (default), `minio`, etc. |
372
+
373
+ Snapshots are written under `packets/{projectRef}/{envSlug}/sessions/{sessionId}/snapshot.json`. Each snapshot is small (typically tens of KB) and overwritten every turn — no append-only growth.
374
+
375
+ <Warning>
376
+ **No object store + no `hydrateMessages` = conversations don't survive run boundaries.** With neither piece of state, a continuation boots empty and the agent can't reconstruct prior turns. Either configure an object store or register `hydrateMessages`. The runtime logs a warning at agent registration time when both are missing.
377
+ </Warning>
378
+
379
+ ### Custom transports
380
+
381
+ If you've built your own transport (Slack bot, CLI, native app) against the [Client Protocol](/ai-chat/client-protocol), the `ChatTaskWirePayload` shape changed:
382
+
383
+ ```ts before
384
+ type ChatTaskWirePayload = {
385
+ messages: UIMessage[]; // full history
386
+ chatId: string;
387
+ trigger: "submit-message" | "regenerate-message" | "preload" | "close" | "action";
388
+ // ...
389
+ };
390
+ ```
391
+
392
+ ```ts after
393
+ type ChatTaskWirePayload = {
394
+ message?: UIMessage; // singular, optional
395
+ headStartMessages?: UIMessage[]; // chat.headStart only, "handover-prepare"
396
+ chatId: string;
397
+ trigger:
398
+ | "submit-message"
399
+ | "regenerate-message"
400
+ | "preload"
401
+ | "close"
402
+ | "action"
403
+ | "handover-prepare";
404
+ // ...
405
+ };
406
+ ```
407
+
408
+ What to send per trigger:
409
+
410
+ | Trigger | What to put in the payload |
411
+ |---|---|
412
+ | `submit-message` | The new user message (or a tool-approval-responded assistant message) in `message` |
413
+ | `regenerate-message` | No `message` — the agent trims its own tail |
414
+ | `preload` / `close` / `action` | No `message` |
415
+ | `handover-prepare` (head-start only) | Full prior history in `headStartMessages` (route handler — not on `/in/append`) |
416
+
417
+ The full wire breakdown is in the rewritten [Client Protocol](/ai-chat/client-protocol).
418
+
419
+ ### `hydrateMessages` consumers
420
+
421
+ The hook signature is unchanged. Two behavior tightenings worth knowing:
422
+
423
+ 1. **`incomingMessages` is now consistently 0-or-1-length.** Previously some triggers (`regenerate-message`, continuation) shipped full history; now all triggers ship at most one. If you assumed `incomingMessages` could contain multiple messages and acted on them as a batch, the loop now runs zero or one times. Patterns like the one below work the same — they just iterate fewer messages:
424
+
425
+ ```ts
426
+ hydrateMessages: async ({ incomingMessages }) => {
427
+ for (const msg of incomingMessages) { // 0-or-1 iterations
428
+ for (const r of chat.history.extractNewToolResults(msg)) {
429
+ await auditLog.record({ id: r.toolCallId, output: r.output });
430
+ }
431
+ }
432
+ return await db.getMessages(chatId);
433
+ }
434
+ ```
435
+
436
+ 2. **Registering `hydrateMessages` short-circuits snapshot+replay.** The runtime trusts your hook to be the source of truth, so it doesn't read or write the JSON snapshot or replay `session.out`. Zero object-store traffic. Trade-off: you own persistence end-to-end.
437
+
438
+ ### `onChatStart` is now once-per-chat
439
+
440
+ `onChatStart` no longer fires on continuation runs (post-`endRun`, post-waitpoint-timeout, post-`chat.requestUpgrade`, post-cancel, post-crash) or on OOM-retry attempts. It fires **exactly once per chat**, on the very first user message of the chat's lifetime. The `continuation` and `previousRunId` fields on `ChatStartEvent` are now `@deprecated` (always `false` / `undefined` when the hook fires).
441
+
442
+ This makes once-per-chat setup code (create the Chat DB row, mint chat-scoped resources) safe to write without continuation gates. Drop any `if (continuation) return;` checks from `onChatStart`:
443
+
444
+ ```ts before
445
+ onChatStart: async ({ continuation, chatId, clientData }) => {
446
+ if (continuation) return; // ❌ no longer needed — fires only on first message ever
447
+ await db.chat.create({ /* ... */ });
448
+ }
449
+ ```
450
+
451
+ ```ts after
452
+ onChatStart: async ({ chatId, clientData }) => {
453
+ await db.chat.create({ /* ... */ }); // ✅ guaranteed first-message-of-chat
454
+ }
455
+ ```
456
+
457
+ If you need per-turn setup that **does** run on continuations, move it to [`onTurnStart`](/ai-chat/lifecycle-hooks#onturnstart) — that hook still fires on every turn, including the first turn of a continuation run.
458
+
459
+ ### Move `chat.local` init from `onChatStart` to `onBoot`
460
+
461
+ Because `onChatStart` no longer fires on continuation runs, **`chat.local`** state initialized there will be missing when a continuation run starts — `run()` then crashes with `"chat.local can only be modified after initialization"`. The fix is to move per-process initialization to the new [`onBoot`](/ai-chat/lifecycle-hooks#onboot) hook, which fires once per worker boot (initial, preloaded, AND continuation):
462
+
463
+ ```ts before
464
+ const userContext = chat.local<{ name: string; plan: string }>({ id: "userContext" });
465
+
466
+ onChatStart: async ({ clientData }) => {
467
+ const user = await db.user.findUnique({ where: { id: clientData.userId } });
468
+ userContext.init({ name: user.name, plan: user.plan }); // ❌ never runs on continuation
469
+ }
470
+ ```
471
+
472
+ ```ts after
473
+ const userContext = chat.local<{ name: string; plan: string }>({ id: "userContext" });
474
+
475
+ onBoot: async ({ clientData }) => {
476
+ const user = await db.user.findUnique({ where: { id: clientData.userId } });
477
+ userContext.init({ name: user.name, plan: user.plan }); // ✅ runs on every fresh worker
478
+ }
479
+ ```
480
+
481
+ Anything else that's per-process (DB connection pools, sandbox handles, in-memory caches) belongs in `onBoot` for the same reason. Branch on `continuation` inside `onBoot` if you need to re-load state from your DB on takeover.
482
+
483
+ ### Client-side `setMessages` doesn't round-trip
484
+
485
+ The new wire makes one thing explicit that was implicit before: **mutating `useChat()`'s messages on the client doesn't change the agent's history.** Full-history mutations were silently overwritten by the wire's accumulator before this release; now they aren't even shipped.
486
+
487
+ For history compaction, summarization, or branch-swap, mutate the agent's accumulator inside `onTurnStart` using [`chat.setMessages()`](/ai-chat/backend) or [`chat.history.set()`](/ai-chat/backend#chat-history). The client's `useChat` will reconcile against the next `session.out` payload.
488
+
489
+ ### Verifying the v4.5 migration
490
+
491
+ After updating, the smoke check is the same as for v4.4:
492
+
493
+ - Send a message, confirm the assistant streams a response.
494
+ - Reload mid-stream, confirm resume.
495
+ - Send 30+ turns with tool calls — `.in/append` body sizes stay under ~5 KB the entire time. (Pre-change baseline: payloads grew past 512 KB around turn 10-30.)
496
+ - Idle out a run, send another message — the new run reads the snapshot, replays the tail, and continues seamlessly.
497
+
498
+ If continuations boot empty:
499
+
500
+ - Confirm `OBJECT_STORE_*` env vars are set on the webapp.
501
+ - Confirm the bucket key `packets/{projectRef}/{envSlug}/sessions/{sessionId}/snapshot.json` exists after a successful turn.
502
+ - Or — register `hydrateMessages` and let your DB be the source of truth.
503
+
504
+ ## Reference
505
+
506
+ - [TriggerChatTransport options](/ai-chat/reference#triggerchattransport-options)
507
+ - [`chat.createStartSessionAction`](/ai-chat/reference)
508
+ - [Backend setup](/ai-chat/backend)
509
+ - [Frontend setup](/ai-chat/frontend)
510
+ - [Client Protocol](/ai-chat/client-protocol) — wire format reference
511
+ - [Persistence and replay](/ai-chat/patterns/persistence-and-replay) — snapshot model end-to-end
@@ -0,0 +1,170 @@
1
+ ---
2
+ title: "API keys"
3
+ description: "Authenticate backend requests with environment-specific API keys."
4
+ ---
5
+
6
+ **API keys authenticate backend requests to a specific Trigger.dev project and environment.** Each environment can have multiple keys, with optional scopes and restrictions attached.
7
+
8
+ <Warning>
9
+ API keys grant access to your Trigger.dev environment. Store them in a secret manager or backend
10
+ environment variable, never commit them to source control, and never expose them in frontend code.
11
+ </Warning>
12
+
13
+ ## Create an API key
14
+
15
+ Create a separate named key for each service or integration that accesses Trigger.dev.
16
+
17
+ API keys belong to one environment. A Development key cannot access Production, and a Production key cannot access Staging. Every team member has their own Development environment, so create local-development keys in your own environment.
18
+
19
+ <Note>
20
+ Creating and revoking keys requires permission to manage API keys for the selected environment.
21
+ The dashboard disables these actions when your role does not have permission.
22
+ </Note>
23
+
24
+ <Steps titleSize="h3">
25
+ <Step title="Open the API keys page">
26
+ Select the project and environment the integration needs to access, then open [**API keys**](https://cloud.trigger.dev/_/apikeys).
27
+ </Step>
28
+ <Step title="Create the key">
29
+ Click **New API key**, enter a descriptive name, and optionally set an expiration date. Names can
30
+ contain up to 64 characters.
31
+ </Step>
32
+ <Step title="Choose its access">
33
+ Select the narrowest access preset that supports the integration. For task-aware presets, choose
34
+ all tasks or up to 10 task identifiers.
35
+ </Step>
36
+ <Step title="Copy and store the secret">
37
+ Copy the key into your secret manager or backend environment. Trigger.dev shows the complete
38
+ value only once.
39
+ </Step>
40
+ </Steps>
41
+
42
+ ## Configure the SDK
43
+
44
+ Set `TRIGGER_SECRET_KEY` in your backend environment. The SDK reads it automatically for operations such as triggering tasks and retrieving runs.
45
+
46
+ ```bash .env
47
+ TRIGGER_SECRET_KEY="tr_prod_sk_…"
48
+ ```
49
+
50
+ To configure the SDK in code, pass the key to `configure`:
51
+
52
+ ```ts Your backend code
53
+ import { configure, tasks } from "@trigger.dev/sdk";
54
+ import type { sendEmail } from "./trigger/send-email";
55
+
56
+ configure({
57
+ secretKey: process.env.TRIGGER_SECRET_KEY,
58
+ previewBranch: "my-branch", // Only needed for preview branches
59
+ baseURL: "https://mytrigger.example.com", // Optional
60
+ });
61
+
62
+ await tasks.trigger<typeof sendEmail>("send-email", {
63
+ to: "user@example.com",
64
+ });
65
+ ```
66
+
67
+ If you self-host Trigger.dev, set `TRIGGER_API_URL` or pass `baseURL` to `configure`:
68
+
69
+ ```bash .env
70
+ TRIGGER_SECRET_KEY="tr_prod_sk_…"
71
+ TRIGGER_API_URL="https://trigger.example.com"
72
+ ```
73
+
74
+ The default API URL is `https://api.trigger.dev`.
75
+
76
+ ## Access presets
77
+
78
+ Access presets define what a key can do. On the Free and Hobby plans only the **No restrictions** preset is available. All other presets require the Pro or Enterprise plan.
79
+
80
+ | Preset | Access |
81
+ | --- | --- |
82
+ | **Trigger only** | Trigger runs and batches for all or selected tasks. Trigger responses include scoped public access tokens for the runs and batches they create |
83
+ | **Task operator** | Trigger all or selected tasks and inspect or operate on their runs |
84
+ | **Observer** | Read runs, tasks, batches, logs, traces, queues, errors, and webhooks |
85
+ | **Operator** | Observe and operate on runs, queues, errors, and webhooks, and trigger tasks |
86
+ | **Webhooks only** | Read and write [webhooks](/webhooks/overview). Replaying deliveries that trigger tasks and creating webhook waiters require task or waitpoint scopes |
87
+ | **Waitpoints only** | Create, list, and retrieve [waitpoint tokens](/wait-for-token). No task or run access |
88
+ | **Deploy only** | Deploy versions, sync environment variables, and manage Preview branches |
89
+ | **Variables only** | Read and write environment variables in this environment |
90
+ | **No restrictions** | Full access to the environment |
91
+
92
+ **Trigger only** and **Task operator** can be restricted to selected tasks, up to 10 tasks per key. Task restrictions use task identifiers, such as `send-email`. A request involving multiple tasks — such as a batch trigger — succeeds only when the key can access every task in the request, so a task-restricted key can batch-trigger only its selected tasks.
93
+
94
+ ## Deploy with an API key
95
+
96
+ Set a key in `TRIGGER_ACCESS_TOKEN` to authenticate `trigger deploy` without logging in.
97
+
98
+ <CodeGroup>
99
+
100
+ ```bash npm
101
+ TRIGGER_ACCESS_TOKEN="tr_prod_sk_…" npx trigger.dev@latest deploy --env prod
102
+ ```
103
+ </CodeGroup>
104
+
105
+ The key must belong to the target environment. Use a Production key with `--env prod`, a Staging key with `--env staging`, or a key from the Preview environment with `--env preview`. If you leave out `--env`, the CLI deploys to the key's environment, and a `--env` that doesn't match the key is an error. A Preview deployment key can create and archive Preview branches and sync their environment variables.
106
+
107
+ <Note>
108
+ The deploy CLI reads environment API keys from `TRIGGER_ACCESS_TOKEN`, not
109
+ `TRIGGER_SECRET_KEY`. Setting an API key in `TRIGGER_ACCESS_TOKEN` takes precedence over a saved
110
+ CLI login.
111
+ </Note>
112
+
113
+ ## Expire and revoke keys
114
+
115
+ Set an expiration date when creating a key if the integration only needs temporary access. An expired key stops authenticating automatically.
116
+
117
+ Revoking a key takes effect immediately and cannot be reversed. Requests using the key fail, and the key can no longer create public access tokens. Create a replacement before revoking a key when you need to rotate it without interrupting the integration.
118
+
119
+ Removing a team member does not revoke keys they created. Review and revoke their keys separately when their access changes.
120
+
121
+ ## Create public access tokens
122
+
123
+ API keys can be used to create scoped [Public Access Tokens](/realtime/auth) using `auth.createPublicToken()`.
124
+
125
+ Use `@trigger.dev/sdk` version 4.5.8 or later to create public tokens with environment API keys. Public tokens have the following restrictions:
126
+
127
+ - The token must request at least one scope.
128
+ - Its scopes cannot exceed the key's access.
129
+ - Its expiration cannot exceed 30 days (the default is 15 minutes).
130
+
131
+ <Note>
132
+ Revoking or expiring an API key does not revoke tokens it already created. Those tokens remain valid until their own expiration.
133
+ </Note>
134
+
135
+ ## Target Preview and Development branches
136
+
137
+ Preview and named Development branches use their parent environment's keys. Select the branch by setting `TRIGGER_PREVIEW_BRANCH` alongside the environment key:
138
+
139
+ ```bash .env
140
+ TRIGGER_SECRET_KEY="tr_preview_sk_…"
141
+ TRIGGER_PREVIEW_BRANCH="feature/new-checkout"
142
+ ```
143
+
144
+ The SDK sends the branch automatically. When calling the API directly, send the same value in the `x-trigger-branch` header.
145
+
146
+ ## Self-hosting
147
+
148
+ Self-hosted installations support multiple keys with **No restrictions**. The restricted access presets are available in Trigger.dev Cloud.
149
+
150
+ Keep your instance and SDK current before creating keys. Calling a public-token API with a key on a server that does not support server-minted tokens returns an upgrade error. Upgrade the instance before creating public tokens with an environment API key.
151
+
152
+ ## Security recommendations
153
+
154
+ - Create one key per service or integration instead of sharing keys.
155
+ - Choose the narrowest access preset and task selection that supports the integration.
156
+ - Store keys in a secret manager and inject them as backend environment variables.
157
+ - Set expiration dates for temporary integrations and deployment credentials.
158
+ - Revoke keys when an integration or team member no longer needs access.
159
+ - Never put an API key in frontend code. Use scoped [Public Access Tokens](/realtime/auth) for client-side access.
160
+
161
+ ## Next steps
162
+
163
+ <CardGroup cols={2}>
164
+ <Card title="Trigger tasks" icon="bolt" href="/triggering">
165
+ Trigger tasks from your backend with an environment API key.
166
+ </Card>
167
+ <Card title="Realtime authentication" icon="key" href="/realtime/auth">
168
+ Create scoped public tokens for frontend and realtime access.
169
+ </Card>
170
+ </CardGroup>