@trigger.dev/core 4.5.11 → 4.5.13

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 (397) hide show
  1. package/dist/commonjs/v3/apiClient/core.js +5 -5
  2. package/dist/commonjs/v3/apiClient/core.js.map +1 -1
  3. package/dist/commonjs/v3/apiClient/index.d.ts +9 -1
  4. package/dist/commonjs/v3/apiClient/runStream.d.ts +5 -4
  5. package/dist/commonjs/v3/apiClient/runStream.js +1 -0
  6. package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
  7. package/dist/commonjs/v3/apiClient/runStream.test.js +1 -0
  8. package/dist/commonjs/v3/apiClient/runStream.test.js.map +1 -1
  9. package/dist/commonjs/v3/apiClient/stream.d.ts +0 -4
  10. package/dist/commonjs/v3/apiClient/stream.js +0 -30
  11. package/dist/commonjs/v3/apiClient/stream.js.map +1 -1
  12. package/dist/commonjs/v3/apiClientManager/index.d.ts +1 -3
  13. package/dist/commonjs/v3/apiClientManager/index.js +9 -2
  14. package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
  15. package/dist/commonjs/v3/apiClientManager/types.d.ts +6 -0
  16. package/dist/commonjs/v3/auth/environment.d.ts +1 -0
  17. package/dist/commonjs/v3/clock/preciseWallClock.d.ts +2 -1
  18. package/dist/commonjs/v3/errors.js +2 -0
  19. package/dist/commonjs/v3/errors.js.map +1 -1
  20. package/dist/commonjs/v3/externalDeploymentId.d.ts +14 -0
  21. package/dist/commonjs/v3/externalDeploymentId.js +81 -0
  22. package/dist/commonjs/v3/externalDeploymentId.js.map +1 -0
  23. package/dist/commonjs/v3/externalDeploymentId.test.d.ts +1 -0
  24. package/dist/commonjs/v3/externalDeploymentId.test.js +173 -0
  25. package/dist/commonjs/v3/externalDeploymentId.test.js.map +1 -0
  26. package/dist/commonjs/v3/idempotencyKeys.js +34 -10
  27. package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
  28. package/dist/commonjs/v3/idempotencyKeys.test.js +158 -0
  29. package/dist/commonjs/v3/idempotencyKeys.test.js.map +1 -1
  30. package/dist/commonjs/v3/index.d.ts +1 -0
  31. package/dist/commonjs/v3/index.js +1 -0
  32. package/dist/commonjs/v3/index.js.map +1 -1
  33. package/dist/commonjs/v3/isomorphic/deploymentVersions.d.ts +1 -0
  34. package/dist/commonjs/v3/isomorphic/deploymentVersions.js +23 -0
  35. package/dist/commonjs/v3/isomorphic/deploymentVersions.js.map +1 -0
  36. package/dist/commonjs/v3/isomorphic/friendlyId.d.ts +83 -1
  37. package/dist/commonjs/v3/isomorphic/friendlyId.js +247 -12
  38. package/dist/commonjs/v3/isomorphic/friendlyId.js.map +1 -1
  39. package/dist/commonjs/v3/isomorphic/friendlyId.test.js +326 -1
  40. package/dist/commonjs/v3/isomorphic/friendlyId.test.js.map +1 -1
  41. package/dist/commonjs/v3/isomorphic/index.d.ts +2 -0
  42. package/dist/commonjs/v3/isomorphic/index.js +2 -0
  43. package/dist/commonjs/v3/isomorphic/index.js.map +1 -1
  44. package/dist/commonjs/v3/isomorphic/runOpsResidency.d.ts +21 -7
  45. package/dist/commonjs/v3/isomorphic/runOpsResidency.js +23 -7
  46. package/dist/commonjs/v3/isomorphic/runOpsResidency.js.map +1 -1
  47. package/dist/commonjs/v3/isomorphic/runOpsResidency.test.js +85 -2
  48. package/dist/commonjs/v3/isomorphic/runOpsResidency.test.js.map +1 -1
  49. package/dist/commonjs/v3/isomorphic/waitpointMint.d.ts +9 -0
  50. package/dist/commonjs/v3/isomorphic/waitpointMint.js +22 -0
  51. package/dist/commonjs/v3/isomorphic/waitpointMint.js.map +1 -0
  52. package/dist/commonjs/v3/isomorphic/waitpointMint.test.d.ts +1 -0
  53. package/dist/commonjs/v3/isomorphic/waitpointMint.test.js +97 -0
  54. package/dist/commonjs/v3/isomorphic/waitpointMint.test.js.map +1 -0
  55. package/dist/commonjs/v3/lifecycleHooks/types.d.ts +4 -3
  56. package/dist/commonjs/v3/locals/manager.js +1 -1
  57. package/dist/commonjs/v3/locals/manager.js.map +1 -1
  58. package/dist/commonjs/v3/logger/taskLogger.d.ts +2 -1
  59. package/dist/commonjs/v3/otel/tracingSDK.d.ts +48 -4
  60. package/dist/commonjs/v3/otel/tracingSDK.js +113 -23
  61. package/dist/commonjs/v3/otel/tracingSDK.js.map +1 -1
  62. package/dist/commonjs/v3/otel/tracingSDK.test.d.ts +1 -0
  63. package/dist/commonjs/v3/otel/tracingSDK.test.js +174 -0
  64. package/dist/commonjs/v3/otel/tracingSDK.test.js.map +1 -0
  65. package/dist/commonjs/v3/otel/tracingSDKShutdown.test.d.ts +1 -0
  66. package/dist/commonjs/v3/otel/tracingSDKShutdown.test.js +18 -0
  67. package/dist/commonjs/v3/otel/tracingSDKShutdown.test.js.map +1 -0
  68. package/dist/commonjs/v3/realtimeStreams/index.d.ts +0 -3
  69. package/dist/commonjs/v3/realtimeStreams/index.js +1 -8
  70. package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -1
  71. package/dist/commonjs/v3/resource-catalog/catalog.d.ts +11 -1
  72. package/dist/commonjs/v3/resource-catalog/index.d.ts +11 -1
  73. package/dist/commonjs/v3/resource-catalog/index.js +21 -0
  74. package/dist/commonjs/v3/resource-catalog/index.js.map +1 -1
  75. package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.d.ts +11 -1
  76. package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js +21 -0
  77. package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
  78. package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.d.ts +16 -1
  79. package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js +63 -0
  80. package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
  81. package/dist/commonjs/v3/runEngineWorker/supervisor/events.d.ts +0 -1
  82. package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +2 -0
  83. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +14 -0
  84. package/dist/commonjs/v3/runEngineWorker/supervisor/util.d.ts +0 -1
  85. package/dist/commonjs/v3/runEngineWorker/supervisor/util.js +0 -25
  86. package/dist/commonjs/v3/runEngineWorker/supervisor/util.js.map +1 -1
  87. package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
  88. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  89. package/dist/commonjs/v3/schemas/api-type.test.js +162 -0
  90. package/dist/commonjs/v3/schemas/api-type.test.js.map +1 -1
  91. package/dist/commonjs/v3/schemas/api.d.ts +4174 -9
  92. package/dist/commonjs/v3/schemas/api.js +96 -6
  93. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  94. package/dist/commonjs/v3/schemas/build.d.ts +7672 -2
  95. package/dist/commonjs/v3/schemas/build.js +2 -0
  96. package/dist/commonjs/v3/schemas/build.js.map +1 -1
  97. package/dist/commonjs/v3/schemas/checkpoints.d.ts +7 -0
  98. package/dist/commonjs/v3/schemas/index.d.ts +3 -0
  99. package/dist/commonjs/v3/schemas/index.js +3 -0
  100. package/dist/commonjs/v3/schemas/index.js.map +1 -1
  101. package/dist/commonjs/v3/schemas/messages.d.ts +3890 -55
  102. package/dist/commonjs/v3/schemas/resources.d.ts +5843 -2
  103. package/dist/commonjs/v3/schemas/resources.js +15 -1
  104. package/dist/commonjs/v3/schemas/resources.js.map +1 -1
  105. package/dist/commonjs/v3/schemas/runEngine.d.ts +10 -0
  106. package/dist/commonjs/v3/schemas/runEngine.js +1 -0
  107. package/dist/commonjs/v3/schemas/runEngine.js.map +1 -1
  108. package/dist/commonjs/v3/schemas/scheduleWindow.d.ts +38 -0
  109. package/dist/commonjs/v3/schemas/scheduleWindow.js +42 -0
  110. package/dist/commonjs/v3/schemas/scheduleWindow.js.map +1 -0
  111. package/dist/commonjs/v3/schemas/scheduleWindow.test.d.ts +1 -0
  112. package/dist/commonjs/v3/schemas/scheduleWindow.test.js +52 -0
  113. package/dist/commonjs/v3/schemas/scheduleWindow.test.js.map +1 -0
  114. package/dist/commonjs/v3/schemas/schemas.d.ts +5241 -10
  115. package/dist/commonjs/v3/schemas/schemas.js +35 -8
  116. package/dist/commonjs/v3/schemas/schemas.js.map +1 -1
  117. package/dist/commonjs/v3/schemas/triggerExternalDeploymentId.test.d.ts +1 -0
  118. package/dist/commonjs/v3/schemas/triggerExternalDeploymentId.test.js +104 -0
  119. package/dist/commonjs/v3/schemas/triggerExternalDeploymentId.test.js.map +1 -0
  120. package/dist/commonjs/v3/schemas/webhookApi.d.ts +309 -0
  121. package/dist/commonjs/v3/schemas/webhookApi.js +88 -0
  122. package/dist/commonjs/v3/schemas/webhookApi.js.map +1 -0
  123. package/dist/commonjs/v3/schemas/webhookConfig.d.ts +3710 -0
  124. package/dist/commonjs/v3/schemas/webhookConfig.js +168 -0
  125. package/dist/commonjs/v3/schemas/webhookConfig.js.map +1 -0
  126. package/dist/commonjs/v3/schemas/webhookFilter.d.ts +83 -0
  127. package/dist/commonjs/v3/schemas/webhookFilter.js +41 -0
  128. package/dist/commonjs/v3/schemas/webhookFilter.js.map +1 -0
  129. package/dist/commonjs/v3/schemas/webhooks.js +4 -0
  130. package/dist/commonjs/v3/schemas/webhooks.js.map +1 -1
  131. package/dist/commonjs/v3/serverOnly/httpServer.js +2 -0
  132. package/dist/commonjs/v3/serverOnly/httpServer.js.map +1 -1
  133. package/dist/commonjs/v3/session-streams-api.d.ts +1 -0
  134. package/dist/commonjs/v3/session-streams-api.js +1 -0
  135. package/dist/commonjs/v3/session-streams-api.js.map +1 -1
  136. package/dist/commonjs/v3/sessionStreams/index.d.ts +9 -1
  137. package/dist/commonjs/v3/sessionStreams/index.js +38 -0
  138. package/dist/commonjs/v3/sessionStreams/index.js.map +1 -1
  139. package/dist/commonjs/v3/sessionStreams/manager.d.ts +27 -2
  140. package/dist/commonjs/v3/sessionStreams/manager.js +202 -108
  141. package/dist/commonjs/v3/sessionStreams/manager.js.map +1 -1
  142. package/dist/commonjs/v3/sessionStreams/manager.test.js +253 -0
  143. package/dist/commonjs/v3/sessionStreams/manager.test.js.map +1 -1
  144. package/dist/commonjs/v3/sessionStreams/noopManager.d.ts +9 -1
  145. package/dist/commonjs/v3/sessionStreams/noopManager.js +18 -0
  146. package/dist/commonjs/v3/sessionStreams/noopManager.js.map +1 -1
  147. package/dist/commonjs/v3/sessionStreams/router.d.ts +241 -0
  148. package/dist/commonjs/v3/sessionStreams/router.js +402 -0
  149. package/dist/commonjs/v3/sessionStreams/router.js.map +1 -0
  150. package/dist/commonjs/v3/sessionStreams/router.test.d.ts +1 -0
  151. package/dist/commonjs/v3/sessionStreams/router.test.js +463 -0
  152. package/dist/commonjs/v3/sessionStreams/router.test.js.map +1 -0
  153. package/dist/commonjs/v3/sessionStreams/types.d.ts +42 -6
  154. package/dist/commonjs/v3/sessionStreams/wireProtocol.d.ts +11 -0
  155. package/dist/commonjs/v3/sessionStreams/wireProtocol.js +12 -1
  156. package/dist/commonjs/v3/sessionStreams/wireProtocol.js.map +1 -1
  157. package/dist/commonjs/v3/taskContext/otelProcessors.js +25 -1
  158. package/dist/commonjs/v3/taskContext/otelProcessors.js.map +1 -1
  159. package/dist/commonjs/v3/taskContext/otelProcessors.test.d.ts +1 -0
  160. package/dist/commonjs/v3/taskContext/otelProcessors.test.js +109 -0
  161. package/dist/commonjs/v3/taskContext/otelProcessors.test.js.map +1 -0
  162. package/dist/commonjs/v3/test/mock-task-context.d.ts +6 -2
  163. package/dist/commonjs/v3/test/mock-task-context.js +2 -2
  164. package/dist/commonjs/v3/test/mock-task-context.js.map +1 -1
  165. package/dist/commonjs/v3/test/session-waitpoint-backend.js +17 -3
  166. package/dist/commonjs/v3/test/session-waitpoint-backend.js.map +1 -1
  167. package/dist/commonjs/v3/test/test-session-stream-manager.d.ts +13 -2
  168. package/dist/commonjs/v3/test/test-session-stream-manager.js +173 -67
  169. package/dist/commonjs/v3/test/test-session-stream-manager.js.map +1 -1
  170. package/dist/commonjs/v3/types/chatEvents.d.ts +41 -0
  171. package/dist/commonjs/v3/types/chatEvents.js +3 -0
  172. package/dist/commonjs/v3/types/chatEvents.js.map +1 -0
  173. package/dist/commonjs/v3/types/index.d.ts +2 -0
  174. package/dist/commonjs/v3/types/index.js +2 -0
  175. package/dist/commonjs/v3/types/index.js.map +1 -1
  176. package/dist/commonjs/v3/types/schemas.d.ts +12 -11
  177. package/dist/commonjs/v3/types/tasks.d.ts +21 -0
  178. package/dist/commonjs/v3/types/webhooks.d.ts +26 -0
  179. package/dist/commonjs/v3/types/webhooks.js +3 -0
  180. package/dist/commonjs/v3/types/webhooks.js.map +1 -0
  181. package/dist/commonjs/v3/usage/usageClient.d.ts +0 -4
  182. package/dist/commonjs/v3/usage/usageClient.js.map +1 -1
  183. package/dist/commonjs/v3/utils/flattenAttributes.js +2 -0
  184. package/dist/commonjs/v3/utils/flattenAttributes.js.map +1 -1
  185. package/dist/commonjs/v3/utils/globals.js +5 -1
  186. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  187. package/dist/commonjs/v3/webhooks/index.d.ts +1289 -0
  188. package/dist/commonjs/v3/webhooks/index.js +270 -0
  189. package/dist/commonjs/v3/webhooks/index.js.map +1 -0
  190. package/dist/commonjs/v3/workers/populateEnv.js +2 -2
  191. package/dist/commonjs/v3/workers/populateEnv.js.map +1 -1
  192. package/dist/commonjs/version.js +1 -1
  193. package/dist/esm/v3/apiClient/core.js +6 -6
  194. package/dist/esm/v3/apiClient/core.js.map +1 -1
  195. package/dist/esm/v3/apiClient/index.d.ts +9 -1
  196. package/dist/esm/v3/apiClient/runStream.d.ts +5 -4
  197. package/dist/esm/v3/apiClient/runStream.js +1 -0
  198. package/dist/esm/v3/apiClient/runStream.js.map +1 -1
  199. package/dist/esm/v3/apiClient/runStream.test.js +1 -0
  200. package/dist/esm/v3/apiClient/runStream.test.js.map +1 -1
  201. package/dist/esm/v3/apiClient/stream.d.ts +0 -4
  202. package/dist/esm/v3/apiClient/stream.js +0 -28
  203. package/dist/esm/v3/apiClient/stream.js.map +1 -1
  204. package/dist/esm/v3/apiClientManager/index.d.ts +1 -3
  205. package/dist/esm/v3/apiClientManager/index.js +9 -1
  206. package/dist/esm/v3/apiClientManager/index.js.map +1 -1
  207. package/dist/esm/v3/apiClientManager/types.d.ts +6 -0
  208. package/dist/esm/v3/auth/environment.d.ts +1 -0
  209. package/dist/esm/v3/clock/preciseWallClock.d.ts +2 -1
  210. package/dist/esm/v3/errors.js +2 -0
  211. package/dist/esm/v3/errors.js.map +1 -1
  212. package/dist/esm/v3/externalDeploymentId.d.ts +14 -0
  213. package/dist/esm/v3/externalDeploymentId.js +74 -0
  214. package/dist/esm/v3/externalDeploymentId.js.map +1 -0
  215. package/dist/esm/v3/externalDeploymentId.test.d.ts +1 -0
  216. package/dist/esm/v3/externalDeploymentId.test.js +171 -0
  217. package/dist/esm/v3/externalDeploymentId.test.js.map +1 -0
  218. package/dist/esm/v3/idempotencyKeys.js +34 -10
  219. package/dist/esm/v3/idempotencyKeys.js.map +1 -1
  220. package/dist/esm/v3/idempotencyKeys.test.js +160 -2
  221. package/dist/esm/v3/idempotencyKeys.test.js.map +1 -1
  222. package/dist/esm/v3/index.d.ts +1 -0
  223. package/dist/esm/v3/index.js +1 -0
  224. package/dist/esm/v3/index.js.map +1 -1
  225. package/dist/esm/v3/isomorphic/deploymentVersions.d.ts +1 -0
  226. package/dist/esm/v3/isomorphic/deploymentVersions.js +20 -0
  227. package/dist/esm/v3/isomorphic/deploymentVersions.js.map +1 -0
  228. package/dist/esm/v3/isomorphic/friendlyId.d.ts +83 -1
  229. package/dist/esm/v3/isomorphic/friendlyId.js +238 -11
  230. package/dist/esm/v3/isomorphic/friendlyId.js.map +1 -1
  231. package/dist/esm/v3/isomorphic/friendlyId.test.js +327 -2
  232. package/dist/esm/v3/isomorphic/friendlyId.test.js.map +1 -1
  233. package/dist/esm/v3/isomorphic/index.d.ts +2 -0
  234. package/dist/esm/v3/isomorphic/index.js +2 -0
  235. package/dist/esm/v3/isomorphic/index.js.map +1 -1
  236. package/dist/esm/v3/isomorphic/runOpsResidency.d.ts +21 -7
  237. package/dist/esm/v3/isomorphic/runOpsResidency.js +23 -8
  238. package/dist/esm/v3/isomorphic/runOpsResidency.js.map +1 -1
  239. package/dist/esm/v3/isomorphic/runOpsResidency.test.js +87 -4
  240. package/dist/esm/v3/isomorphic/runOpsResidency.test.js.map +1 -1
  241. package/dist/esm/v3/isomorphic/waitpointMint.d.ts +9 -0
  242. package/dist/esm/v3/isomorphic/waitpointMint.js +18 -0
  243. package/dist/esm/v3/isomorphic/waitpointMint.js.map +1 -0
  244. package/dist/esm/v3/isomorphic/waitpointMint.test.d.ts +1 -0
  245. package/dist/esm/v3/isomorphic/waitpointMint.test.js +95 -0
  246. package/dist/esm/v3/isomorphic/waitpointMint.test.js.map +1 -0
  247. package/dist/esm/v3/lifecycleHooks/types.d.ts +4 -3
  248. package/dist/esm/v3/locals/manager.js +1 -1
  249. package/dist/esm/v3/locals/manager.js.map +1 -1
  250. package/dist/esm/v3/logger/taskLogger.d.ts +2 -1
  251. package/dist/esm/v3/otel/tracingSDK.d.ts +48 -4
  252. package/dist/esm/v3/otel/tracingSDK.js +112 -23
  253. package/dist/esm/v3/otel/tracingSDK.js.map +1 -1
  254. package/dist/esm/v3/otel/tracingSDK.test.d.ts +1 -0
  255. package/dist/esm/v3/otel/tracingSDK.test.js +172 -0
  256. package/dist/esm/v3/otel/tracingSDK.test.js.map +1 -0
  257. package/dist/esm/v3/otel/tracingSDKShutdown.test.d.ts +1 -0
  258. package/dist/esm/v3/otel/tracingSDKShutdown.test.js +16 -0
  259. package/dist/esm/v3/otel/tracingSDKShutdown.test.js.map +1 -0
  260. package/dist/esm/v3/realtimeStreams/index.d.ts +0 -3
  261. package/dist/esm/v3/realtimeStreams/index.js +0 -2
  262. package/dist/esm/v3/realtimeStreams/index.js.map +1 -1
  263. package/dist/esm/v3/resource-catalog/catalog.d.ts +11 -1
  264. package/dist/esm/v3/resource-catalog/index.d.ts +11 -1
  265. package/dist/esm/v3/resource-catalog/index.js +21 -0
  266. package/dist/esm/v3/resource-catalog/index.js.map +1 -1
  267. package/dist/esm/v3/resource-catalog/noopResourceCatalog.d.ts +11 -1
  268. package/dist/esm/v3/resource-catalog/noopResourceCatalog.js +21 -0
  269. package/dist/esm/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
  270. package/dist/esm/v3/resource-catalog/standardResourceCatalog.d.ts +16 -1
  271. package/dist/esm/v3/resource-catalog/standardResourceCatalog.js +63 -0
  272. package/dist/esm/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
  273. package/dist/esm/v3/runEngineWorker/supervisor/events.d.ts +0 -1
  274. package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +2 -0
  275. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +14 -0
  276. package/dist/esm/v3/runEngineWorker/supervisor/util.d.ts +0 -1
  277. package/dist/esm/v3/runEngineWorker/supervisor/util.js +0 -24
  278. package/dist/esm/v3/runEngineWorker/supervisor/util.js.map +1 -1
  279. package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
  280. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +61 -54
  281. package/dist/esm/v3/schemas/api-type.test.js +163 -1
  282. package/dist/esm/v3/schemas/api-type.test.js.map +1 -1
  283. package/dist/esm/v3/schemas/api.d.ts +4174 -9
  284. package/dist/esm/v3/schemas/api.js +91 -2
  285. package/dist/esm/v3/schemas/api.js.map +1 -1
  286. package/dist/esm/v3/schemas/build.d.ts +7672 -2
  287. package/dist/esm/v3/schemas/build.js +3 -1
  288. package/dist/esm/v3/schemas/build.js.map +1 -1
  289. package/dist/esm/v3/schemas/checkpoints.d.ts +7 -0
  290. package/dist/esm/v3/schemas/index.d.ts +3 -0
  291. package/dist/esm/v3/schemas/index.js +3 -0
  292. package/dist/esm/v3/schemas/index.js.map +1 -1
  293. package/dist/esm/v3/schemas/messages.d.ts +3890 -55
  294. package/dist/esm/v3/schemas/resources.d.ts +5843 -2
  295. package/dist/esm/v3/schemas/resources.js +14 -0
  296. package/dist/esm/v3/schemas/resources.js.map +1 -1
  297. package/dist/esm/v3/schemas/runEngine.d.ts +10 -0
  298. package/dist/esm/v3/schemas/runEngine.js +1 -0
  299. package/dist/esm/v3/schemas/runEngine.js.map +1 -1
  300. package/dist/esm/v3/schemas/scheduleWindow.d.ts +38 -0
  301. package/dist/esm/v3/schemas/scheduleWindow.js +38 -0
  302. package/dist/esm/v3/schemas/scheduleWindow.js.map +1 -0
  303. package/dist/esm/v3/schemas/scheduleWindow.test.d.ts +1 -0
  304. package/dist/esm/v3/schemas/scheduleWindow.test.js +50 -0
  305. package/dist/esm/v3/schemas/scheduleWindow.test.js.map +1 -0
  306. package/dist/esm/v3/schemas/schemas.d.ts +5241 -10
  307. package/dist/esm/v3/schemas/schemas.js +19 -6
  308. package/dist/esm/v3/schemas/schemas.js.map +1 -1
  309. package/dist/esm/v3/schemas/triggerExternalDeploymentId.test.d.ts +1 -0
  310. package/dist/esm/v3/schemas/triggerExternalDeploymentId.test.js +102 -0
  311. package/dist/esm/v3/schemas/triggerExternalDeploymentId.test.js.map +1 -0
  312. package/dist/esm/v3/schemas/webhookApi.d.ts +309 -0
  313. package/dist/esm/v3/schemas/webhookApi.js +85 -0
  314. package/dist/esm/v3/schemas/webhookApi.js.map +1 -0
  315. package/dist/esm/v3/schemas/webhookConfig.d.ts +3710 -0
  316. package/dist/esm/v3/schemas/webhookConfig.js +165 -0
  317. package/dist/esm/v3/schemas/webhookConfig.js.map +1 -0
  318. package/dist/esm/v3/schemas/webhookFilter.d.ts +83 -0
  319. package/dist/esm/v3/schemas/webhookFilter.js +38 -0
  320. package/dist/esm/v3/schemas/webhookFilter.js.map +1 -0
  321. package/dist/esm/v3/schemas/webhooks.js +4 -0
  322. package/dist/esm/v3/schemas/webhooks.js.map +1 -1
  323. package/dist/esm/v3/serverOnly/httpServer.js +2 -0
  324. package/dist/esm/v3/serverOnly/httpServer.js.map +1 -1
  325. package/dist/esm/v3/session-streams-api.d.ts +1 -0
  326. package/dist/esm/v3/session-streams-api.js +1 -0
  327. package/dist/esm/v3/session-streams-api.js.map +1 -1
  328. package/dist/esm/v3/sessionStreams/index.d.ts +9 -1
  329. package/dist/esm/v3/sessionStreams/index.js +38 -0
  330. package/dist/esm/v3/sessionStreams/index.js.map +1 -1
  331. package/dist/esm/v3/sessionStreams/manager.d.ts +27 -2
  332. package/dist/esm/v3/sessionStreams/manager.js +202 -108
  333. package/dist/esm/v3/sessionStreams/manager.js.map +1 -1
  334. package/dist/esm/v3/sessionStreams/manager.test.js +253 -0
  335. package/dist/esm/v3/sessionStreams/manager.test.js.map +1 -1
  336. package/dist/esm/v3/sessionStreams/noopManager.d.ts +9 -1
  337. package/dist/esm/v3/sessionStreams/noopManager.js +18 -0
  338. package/dist/esm/v3/sessionStreams/noopManager.js.map +1 -1
  339. package/dist/esm/v3/sessionStreams/router.d.ts +241 -0
  340. package/dist/esm/v3/sessionStreams/router.js +398 -0
  341. package/dist/esm/v3/sessionStreams/router.js.map +1 -0
  342. package/dist/esm/v3/sessionStreams/router.test.d.ts +1 -0
  343. package/dist/esm/v3/sessionStreams/router.test.js +461 -0
  344. package/dist/esm/v3/sessionStreams/router.test.js.map +1 -0
  345. package/dist/esm/v3/sessionStreams/types.d.ts +42 -6
  346. package/dist/esm/v3/sessionStreams/wireProtocol.d.ts +11 -0
  347. package/dist/esm/v3/sessionStreams/wireProtocol.js +11 -0
  348. package/dist/esm/v3/sessionStreams/wireProtocol.js.map +1 -1
  349. package/dist/esm/v3/taskContext/otelProcessors.js +25 -1
  350. package/dist/esm/v3/taskContext/otelProcessors.js.map +1 -1
  351. package/dist/esm/v3/taskContext/otelProcessors.test.d.ts +1 -0
  352. package/dist/esm/v3/taskContext/otelProcessors.test.js +107 -0
  353. package/dist/esm/v3/taskContext/otelProcessors.test.js.map +1 -0
  354. package/dist/esm/v3/test/mock-task-context.d.ts +6 -2
  355. package/dist/esm/v3/test/mock-task-context.js +2 -2
  356. package/dist/esm/v3/test/mock-task-context.js.map +1 -1
  357. package/dist/esm/v3/test/session-waitpoint-backend.js +17 -3
  358. package/dist/esm/v3/test/session-waitpoint-backend.js.map +1 -1
  359. package/dist/esm/v3/test/test-session-stream-manager.d.ts +13 -2
  360. package/dist/esm/v3/test/test-session-stream-manager.js +173 -67
  361. package/dist/esm/v3/test/test-session-stream-manager.js.map +1 -1
  362. package/dist/esm/v3/types/chatEvents.d.ts +41 -0
  363. package/dist/esm/v3/types/chatEvents.js +2 -0
  364. package/dist/esm/v3/types/chatEvents.js.map +1 -0
  365. package/dist/esm/v3/types/index.d.ts +2 -0
  366. package/dist/esm/v3/types/index.js +2 -0
  367. package/dist/esm/v3/types/index.js.map +1 -1
  368. package/dist/esm/v3/types/schemas.d.ts +12 -11
  369. package/dist/esm/v3/types/tasks.d.ts +21 -0
  370. package/dist/esm/v3/types/webhooks.d.ts +26 -0
  371. package/dist/esm/v3/types/webhooks.js +2 -0
  372. package/dist/esm/v3/types/webhooks.js.map +1 -0
  373. package/dist/esm/v3/usage/usageClient.d.ts +0 -4
  374. package/dist/esm/v3/usage/usageClient.js.map +1 -1
  375. package/dist/esm/v3/utils/flattenAttributes.js +2 -0
  376. package/dist/esm/v3/utils/flattenAttributes.js.map +1 -1
  377. package/dist/esm/v3/utils/globals.js +5 -1
  378. package/dist/esm/v3/utils/globals.js.map +1 -1
  379. package/dist/esm/v3/webhooks/index.d.ts +1289 -0
  380. package/dist/esm/v3/webhooks/index.js +248 -0
  381. package/dist/esm/v3/webhooks/index.js.map +1 -0
  382. package/dist/esm/v3/workers/populateEnv.js +2 -2
  383. package/dist/esm/v3/workers/populateEnv.js.map +1 -1
  384. package/dist/esm/version.js +1 -1
  385. package/package.json +18 -9
  386. package/dist/commonjs/debounce.d.ts +0 -2
  387. package/dist/commonjs/debounce.js +0 -19
  388. package/dist/commonjs/debounce.js.map +0 -1
  389. package/dist/commonjs/v3/utils/safeAsyncLocalStorage.d.ts +0 -7
  390. package/dist/commonjs/v3/utils/safeAsyncLocalStorage.js +0 -21
  391. package/dist/commonjs/v3/utils/safeAsyncLocalStorage.js.map +0 -1
  392. package/dist/esm/debounce.d.ts +0 -2
  393. package/dist/esm/debounce.js +0 -16
  394. package/dist/esm/debounce.js.map +0 -1
  395. package/dist/esm/v3/utils/safeAsyncLocalStorage.d.ts +0 -7
  396. package/dist/esm/v3/utils/safeAsyncLocalStorage.js +0 -17
  397. package/dist/esm/v3/utils/safeAsyncLocalStorage.js.map +0 -1
@@ -3,15 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.IdGenerator = exports.SessionId = exports.ErrorId = exports.AttemptId = exports.BulkActionId = exports.BatchId = exports.WaitpointId = exports.SnapshotId = exports.RunId = exports.QueueId = exports.CheckpointId = exports.BackgroundWorkerId = exports.IdUtil = exports.REGION_CODES = exports.DEFAULT_REGION_CHAR = exports.RUN_OPS_ID_VERSION = exports.RUN_OPS_ID_VERSION_INDEX = exports.RUN_OPS_ID_REGION_INDEX = exports.RUN_OPS_ID_LENGTH = void 0;
6
+ exports.IdGenerator = exports.WebhookDeliveryId = exports.WebhookEndpointId = exports.SessionId = exports.ErrorId = exports.AttemptId = exports.BulkActionId = exports.BatchId = exports.WaitpointId = exports.SnapshotId = exports.RunId = exports.QueueId = exports.CheckpointId = exports.BackgroundWorkerId = exports.IdUtil = exports.WAITPOINT_ID_TYPE_INDEX = exports.WAITPOINT_ID_VERSION = exports.REGION_CODES = exports.DEFAULT_REGION_CHAR = exports.RUN_OPS_ID_SHARD_INDEX = exports.RUN_OPS_ID_VERSION_2 = exports.RUN_OPS_ID_VERSION = exports.RUN_OPS_ID_VERSION_INDEX = exports.RUN_OPS_ID_REGION_INDEX = exports.RUN_OPS_ID_LENGTH = void 0;
7
7
  exports.generateFriendlyId = generateFriendlyId;
8
+ exports.isValidShardChar = isValidShardChar;
8
9
  exports.regionCharForRegion = regionCharForRegion;
9
10
  exports.base32hexEncode = base32hexEncode;
10
11
  exports.base32hexDecode = base32hexDecode;
11
12
  exports.generateRunOpsId = generateRunOpsId;
13
+ exports.generateRunOpsIdV2 = generateRunOpsIdV2;
12
14
  exports.parseRunOpsIdBody = parseRunOpsIdBody;
15
+ exports.parseRunOpsIdV2Body = parseRunOpsIdV2Body;
13
16
  exports.isRunOpsIdBody = isRunOpsIdBody;
17
+ exports.isRunOpsIdBodyShape = isRunOpsIdBodyShape;
18
+ exports.runOpsIdV2ShardShape = runOpsIdV2ShardShape;
14
19
  exports.parseRunId = parseRunId;
20
+ exports.generateWaitpointId = generateWaitpointId;
21
+ exports.deriveWaitpointIdFromAnchor = deriveWaitpointIdFromAnchor;
22
+ exports.parseWaitpointId = parseWaitpointId;
15
23
  exports.generateInternalId = generateInternalId;
16
24
  exports.toFriendlyId = toFriendlyId;
17
25
  exports.fromFriendlyId = fromFriendlyId;
@@ -37,6 +45,11 @@ exports.RUN_OPS_ID_LENGTH = 26;
37
45
  exports.RUN_OPS_ID_REGION_INDEX = 24;
38
46
  exports.RUN_OPS_ID_VERSION_INDEX = 25;
39
47
  exports.RUN_OPS_ID_VERSION = "1";
48
+ // Gen-2 id: same 26-char layout, but index 24 carries a routing SHARD KEY rather
49
+ // than a region char. MUST stay 26 chars: a 27-char shape could collide with the
50
+ // pre-cutover base62 format, which must keep classifying legacy.
51
+ exports.RUN_OPS_ID_VERSION_2 = "2";
52
+ exports.RUN_OPS_ID_SHARD_INDEX = exports.RUN_OPS_ID_REGION_INDEX;
40
53
  const RUN_OPS_ID_CORE_BYTES = 15; // 6 timestamp + 9 random → exactly 24 base32hex chars
41
54
  const RUN_OPS_ID_CORE_LENGTH = 24;
42
55
  const RUN_OPS_ID_TIMESTAMP_BYTES = 6;
@@ -46,6 +59,13 @@ exports.DEFAULT_REGION_CHAR = "0";
46
59
  // decoding), NOT part of the base32hex core — so it may use the full DNS-safe
47
60
  // lowercase [a-z0-9] range (e.g. "w" for us-west-2, which is outside [0-9a-v]).
48
61
  const REGION_CHAR_PATTERN = /^[a-z0-9]$/;
62
+ // Same slot, same range: the gen-2 shard key is a region char's positional twin.
63
+ const SHARD_CHAR_PATTERN = REGION_CHAR_PATTERN;
64
+ /** True iff `value` is a single valid gen-2 shard char. The descriptor validator and
65
+ * `resolveShard` share this so a configured key and a decoded key cannot drift. */
66
+ function isValidShardChar(value) {
67
+ return SHARD_CHAR_PATTERN.test(value);
68
+ }
49
69
  /** One lowercase [a-z0-9] char per supported region, at RUN_OPS_ID_REGION_INDEX. */
50
70
  exports.REGION_CODES = {
51
71
  "us-east-1": "e",
@@ -112,6 +132,18 @@ function base32hexDecode(s) {
112
132
  }
113
133
  return Uint8Array.from(out);
114
134
  }
135
+ // Shared by both generations. The buffer MUST be per-call — a hoisted one would
136
+ // let concurrent mints overwrite each other's bytes.
137
+ function mintRunOpsIdCore() {
138
+ const core = new Uint8Array(RUN_OPS_ID_CORE_BYTES);
139
+ let ms = Date.now();
140
+ for (let i = RUN_OPS_ID_TIMESTAMP_BYTES - 1; i >= 0; i--) {
141
+ core[i] = ms % 256;
142
+ ms = Math.floor(ms / 256);
143
+ }
144
+ getRandomValues(core.subarray(RUN_OPS_ID_TIMESTAMP_BYTES));
145
+ return base32hexEncode(core);
146
+ }
115
147
  /**
116
148
  * Mint a run-ops v1 id body (26 chars, no prefix): 24-char base32hex core
117
149
  * (6-byte ms timestamp + 9 CSPRNG bytes) + region char + version char "1".
@@ -119,14 +151,18 @@ function base32hexDecode(s) {
119
151
  * discriminator — see runOpsResidency.ts.
120
152
  */
121
153
  function generateRunOpsId(region) {
122
- const core = new Uint8Array(RUN_OPS_ID_CORE_BYTES);
123
- let ms = Date.now();
124
- for (let i = RUN_OPS_ID_TIMESTAMP_BYTES - 1; i >= 0; i--) {
125
- core[i] = ms % 256;
126
- ms = Math.floor(ms / 256);
154
+ return `${mintRunOpsIdCore()}${regionCharForRegion(region)}${exports.RUN_OPS_ID_VERSION}`;
155
+ }
156
+ /**
157
+ * Mint a gen-2 id body (26 chars, no prefix): the same core, then the shard key,
158
+ * then version char "2". Throws on a shard char outside [a-z0-9] — an id that
159
+ * cannot be routed must never be minted.
160
+ */
161
+ function generateRunOpsIdV2(shardChar) {
162
+ if (!SHARD_CHAR_PATTERN.test(shardChar)) {
163
+ throw new Error(`invalid run-ops shard char: ${JSON.stringify(shardChar)}`);
127
164
  }
128
- getRandomValues(core.subarray(RUN_OPS_ID_TIMESTAMP_BYTES));
129
- return `${base32hexEncode(core)}${regionCharForRegion(region)}${exports.RUN_OPS_ID_VERSION}`;
165
+ return `${mintRunOpsIdCore()}${shardChar}${exports.RUN_OPS_ID_VERSION_2}`;
130
166
  }
131
167
  const LEGACY_RUN_ID = { format: "legacy", table: "legacy" };
132
168
  /**
@@ -143,6 +179,14 @@ function parseRunOpsIdBody(body) {
143
179
  const region = body[exports.RUN_OPS_ID_REGION_INDEX] ?? "";
144
180
  if (!REGION_CHAR_PATTERN.test(region))
145
181
  return undefined;
182
+ const timestamp = parseRunOpsIdCoreTimestamp(body);
183
+ if (timestamp === undefined)
184
+ return undefined;
185
+ return { timestamp, region, version: exports.RUN_OPS_ID_VERSION };
186
+ }
187
+ // Decode the leading 24-char core and recover its embedded ms timestamp.
188
+ // Returns undefined (never throws) when the core is outside the base32hex alphabet.
189
+ function parseRunOpsIdCoreTimestamp(body) {
146
190
  let core;
147
191
  try {
148
192
  core = base32hexDecode(body.slice(0, RUN_OPS_ID_CORE_LENGTH));
@@ -154,18 +198,141 @@ function parseRunOpsIdBody(body) {
154
198
  for (let i = 0; i < RUN_OPS_ID_TIMESTAMP_BYTES; i++) {
155
199
  ms = ms * 256 + (core[i] ?? 0);
156
200
  }
157
- return { timestamp: new Date(ms), region, version: exports.RUN_OPS_ID_VERSION };
201
+ return new Date(ms);
202
+ }
203
+ /**
204
+ * Parse a gen-2 id body (no prefix): the mirror of {@link parseRunOpsIdBody},
205
+ * requiring version "2" at index 25 and a shard key in [a-z0-9] at index 24.
206
+ * Total: returns undefined for any other string, and never throws.
207
+ */
208
+ function parseRunOpsIdV2Body(body) {
209
+ if (body.length !== exports.RUN_OPS_ID_LENGTH)
210
+ return undefined;
211
+ if (body[exports.RUN_OPS_ID_VERSION_INDEX] !== exports.RUN_OPS_ID_VERSION_2)
212
+ return undefined;
213
+ const shard = body[exports.RUN_OPS_ID_SHARD_INDEX] ?? "";
214
+ if (!SHARD_CHAR_PATTERN.test(shard))
215
+ return undefined;
216
+ const timestamp = parseRunOpsIdCoreTimestamp(body);
217
+ if (timestamp === undefined)
218
+ return undefined;
219
+ return { timestamp, shard, version: exports.RUN_OPS_ID_VERSION_2 };
158
220
  }
159
221
  /** True if the (prefixless) id body is a well-formed run-ops v1 id. */
160
222
  function isRunOpsIdBody(body) {
161
223
  return parseRunOpsIdBody(body) !== undefined;
162
224
  }
163
- /** Parse a `run_`-prefixed friendly id; anything not a well-formed v1 id is legacy. */
225
+ // Same alphabet base32hexDecode accepts, so this and "the decode would not throw" are one
226
+ // predicate. Decoding a timestamp to discard it costs ~30x more on the router's hot path.
227
+ const RUN_OPS_ID_CORE_PATTERN = /^[0-9a-v]{24}$/;
228
+ function isRunOpsIdBodyShape(body) {
229
+ return (body.length === exports.RUN_OPS_ID_LENGTH &&
230
+ body[exports.RUN_OPS_ID_VERSION_INDEX] === exports.RUN_OPS_ID_VERSION &&
231
+ REGION_CHAR_PATTERN.test(body[exports.RUN_OPS_ID_REGION_INDEX] ?? "") &&
232
+ RUN_OPS_ID_CORE_PATTERN.test(body.slice(0, RUN_OPS_ID_CORE_LENGTH)));
233
+ }
234
+ function runOpsIdV2ShardShape(body) {
235
+ if (body.length !== exports.RUN_OPS_ID_LENGTH)
236
+ return undefined;
237
+ if (body[exports.RUN_OPS_ID_VERSION_INDEX] !== exports.RUN_OPS_ID_VERSION_2)
238
+ return undefined;
239
+ const shard = body[exports.RUN_OPS_ID_SHARD_INDEX] ?? "";
240
+ if (!SHARD_CHAR_PATTERN.test(shard))
241
+ return undefined;
242
+ return RUN_OPS_ID_CORE_PATTERN.test(body.slice(0, RUN_OPS_ID_CORE_LENGTH)) ? shard : undefined;
243
+ }
244
+ /** Parse a `run_`-prefixed friendly id; anything not a well-formed v1/gen-2 id is legacy. */
164
245
  function parseRunId(id) {
165
246
  if (!id.startsWith("run_"))
166
247
  return LEGACY_RUN_ID;
167
- const parsed = parseRunOpsIdBody(id.slice(4));
168
- return parsed ? { format: "b32hex", table: "partitioned", ...parsed } : LEGACY_RUN_ID;
248
+ const body = id.slice(4);
249
+ const v1 = parseRunOpsIdBody(body);
250
+ if (v1)
251
+ return { format: "b32hex", table: "partitioned", ...v1 };
252
+ const v2 = parseRunOpsIdV2Body(body);
253
+ if (v2)
254
+ return { format: "b32hexV2", table: "partitioned", ...v2 };
255
+ return LEGACY_RUN_ID;
256
+ }
257
+ // Waitpoint ids reuse the run-ops body layout — 24-char base32hex core, then a
258
+ // positional char, then a version char — so the body parses positionally instead of
259
+ // splitting on "_". Index 24 carries the TYPE (the slot a run uses for its region or
260
+ // shard char), which leaves room to move to a shard char under a later version.
261
+ exports.WAITPOINT_ID_VERSION = "w";
262
+ exports.WAITPOINT_ID_TYPE_INDEX = exports.RUN_OPS_ID_REGION_INDEX;
263
+ // "w" sits OUTSIDE the base32hex alphabet [0-9a-v], so the version char can never be
264
+ // mistaken for a core char, and it can never collide with a numeric run generation.
265
+ const WAITPOINT_TYPE_CHARS = {
266
+ RUN: "r",
267
+ BATCH: "b",
268
+ DATETIME: "d",
269
+ MANUAL: "m",
270
+ };
271
+ const WAITPOINT_TYPES_BY_CHAR = {
272
+ r: "RUN",
273
+ b: "BATCH",
274
+ d: "DATETIME",
275
+ m: "MANUAL",
276
+ };
277
+ const LEGACY_WAITPOINT_ID = { format: "legacy" };
278
+ /**
279
+ * Mint a standalone waitpoint id body (26 chars, no prefix) for DATETIME and MANUAL: a
280
+ * fresh core, the type char, then the waitpoint version char.
281
+ */
282
+ function generateWaitpointId(type) {
283
+ return `${mintRunOpsIdCore()}${WAITPOINT_TYPE_CHARS[type]}${exports.WAITPOINT_ID_VERSION}`;
284
+ }
285
+ /**
286
+ * Derive the 1:1 waitpoint id body for a RUN or BATCH anchor by reusing the anchor's
287
+ * 24-char core. Pure, so create-if-absent is idempotent without a lock. Returns
288
+ * undefined when the anchor is not a run-ops id, which is the caller's signal to mint a
289
+ * legacy waitpoint instead.
290
+ *
291
+ * Only the core survives: the anchor's region or shard char and its version char are
292
+ * both replaced. So the anchor id is NOT recoverable from the waitpoint id — the reverse
293
+ * direction uses the completedBy* back-pointer.
294
+ */
295
+ function deriveWaitpointIdFromAnchor(anchorId, type) {
296
+ const body = stripAnchorPrefix(anchorId);
297
+ if (!parseRunOpsIdBody(body) && !parseRunOpsIdV2Body(body)) {
298
+ return undefined;
299
+ }
300
+ return `${body.slice(0, RUN_OPS_ID_CORE_LENGTH)}${WAITPOINT_TYPE_CHARS[type]}${exports.WAITPOINT_ID_VERSION}`;
301
+ }
302
+ /**
303
+ * Classify a waitpoint id. Accepts the prefixed (`waitpoint_<body>`) and bare forms, but
304
+ * NOT another entity's prefix (`run_`, `batch_`, ...) — this is the discriminator a
305
+ * later ticket uses to route a possibly customer-supplied id, so a foreign prefix must
306
+ * classify legacy rather than have its body reinterpreted as a waitpoint id. Total:
307
+ * never throws.
308
+ */
309
+ function parseWaitpointId(id) {
310
+ const body = stripWaitpointIdPrefix(id);
311
+ if (body.length !== exports.RUN_OPS_ID_LENGTH)
312
+ return LEGACY_WAITPOINT_ID;
313
+ if (body[exports.RUN_OPS_ID_VERSION_INDEX] !== exports.WAITPOINT_ID_VERSION)
314
+ return LEGACY_WAITPOINT_ID;
315
+ const type = WAITPOINT_TYPES_BY_CHAR[body[exports.WAITPOINT_ID_TYPE_INDEX] ?? ""];
316
+ if (!type)
317
+ return LEGACY_WAITPOINT_ID;
318
+ const timestamp = parseRunOpsIdCoreTimestamp(body);
319
+ if (timestamp === undefined)
320
+ return LEGACY_WAITPOINT_ID;
321
+ return { format: "b32hexW", type, timestamp };
322
+ }
323
+ // Strip any `<prefix>_` if present. Prefix-agnostic is correct ONLY here: the caller
324
+ // already knows anchorId names a run or batch anchor, so there is no foreign prefix to
325
+ // guard against. Do not reuse for parseWaitpointId — see stripWaitpointIdPrefix.
326
+ function stripAnchorPrefix(id) {
327
+ const underscore = id.indexOf("_");
328
+ return underscore === -1 ? id : id.slice(underscore + 1);
329
+ }
330
+ const WAITPOINT_ID_PREFIX = "waitpoint_";
331
+ // Strip the `waitpoint_` prefix if present; any other prefix, or a bare body, is left
332
+ // as-is. Unlike stripAnchorPrefix, this must never strip a foreign prefix down to a body
333
+ // that then happens to pass the run-ops shape check.
334
+ function stripWaitpointIdPrefix(id) {
335
+ return id.startsWith(WAITPOINT_ID_PREFIX) ? id.slice(WAITPOINT_ID_PREFIX.length) : id;
169
336
  }
170
337
  function generateInternalId() {
171
338
  return (0, cuid_1.default)();
@@ -242,6 +409,74 @@ exports.BulkActionId = new IdUtil("bulk");
242
409
  exports.AttemptId = new IdUtil("attempt");
243
410
  exports.ErrorId = new IdUtil("error");
244
411
  exports.SessionId = new IdUtil("session");
412
+ exports.WebhookEndpointId = new IdUtil("wh"); // wh_...
413
+ /**
414
+ * Webhook delivery id: time-encoded so the partition key (`createdAt`) is recoverable from the id.
415
+ * The body is `base32hex(6-byte big-endian unix ms timestamp + 9 CSPRNG bytes)` (24 chars) plus a
416
+ * version char "1", prefixed `whd_`. `WebhookDelivery` is RANGE-partitioned on `createdAt`, and the
417
+ * engine sets the row's `createdAt` to the mint timestamp, so a point lookup by id can recover the
418
+ * partition from the id alone instead of threading `createdAt` through every caller.
419
+ */
420
+ const WEBHOOK_DELIVERY_ID_PREFIX = "whd";
421
+ const WEBHOOK_DELIVERY_ID_TIMESTAMP_BYTES = 6;
422
+ const WEBHOOK_DELIVERY_ID_CORE_BYTES = 15;
423
+ const WEBHOOK_DELIVERY_ID_CORE_LENGTH = 24;
424
+ const WEBHOOK_DELIVERY_ID_VERSION = "1";
425
+ const WEBHOOK_DELIVERY_ID_BODY_LENGTH = 25;
426
+ function webhookDeliveryIdBody(idOrFriendlyId) {
427
+ return idOrFriendlyId.startsWith(`${WEBHOOK_DELIVERY_ID_PREFIX}_`)
428
+ ? idOrFriendlyId.slice(WEBHOOK_DELIVERY_ID_PREFIX.length + 1)
429
+ : idOrFriendlyId;
430
+ }
431
+ exports.WebhookDeliveryId = {
432
+ /**
433
+ * Mint a delivery id. The row's `createdAt` MUST be set to the returned `timestamp` so the id's
434
+ * embedded timestamp equals the partition key that {@link WebhookDeliveryId.parseTimestamp} recovers.
435
+ */
436
+ generate() {
437
+ const timestamp = new Date();
438
+ const core = new Uint8Array(WEBHOOK_DELIVERY_ID_CORE_BYTES);
439
+ let ms = timestamp.getTime();
440
+ for (let i = WEBHOOK_DELIVERY_ID_TIMESTAMP_BYTES - 1; i >= 0; i--) {
441
+ core[i] = ms % 256;
442
+ ms = Math.floor(ms / 256);
443
+ }
444
+ getRandomValues(core.subarray(WEBHOOK_DELIVERY_ID_TIMESTAMP_BYTES));
445
+ const id = `${base32hexEncode(core)}${WEBHOOK_DELIVERY_ID_VERSION}`;
446
+ return { id, friendlyId: `${WEBHOOK_DELIVERY_ID_PREFIX}_${id}`, timestamp };
447
+ },
448
+ toFriendlyId(id) {
449
+ return id.startsWith(`${WEBHOOK_DELIVERY_ID_PREFIX}_`)
450
+ ? id
451
+ : `${WEBHOOK_DELIVERY_ID_PREFIX}_${id}`;
452
+ },
453
+ toId(idOrFriendlyId) {
454
+ return webhookDeliveryIdBody(idOrFriendlyId);
455
+ },
456
+ /**
457
+ * Decode the mint timestamp (== the row's `createdAt` partition key) from an id or friendlyId.
458
+ * Returns `undefined` if the value is not a well-formed time-encoded id.
459
+ */
460
+ parseTimestamp(idOrFriendlyId) {
461
+ const body = webhookDeliveryIdBody(idOrFriendlyId);
462
+ if (body.length !== WEBHOOK_DELIVERY_ID_BODY_LENGTH)
463
+ return undefined;
464
+ if (body[WEBHOOK_DELIVERY_ID_CORE_LENGTH] !== WEBHOOK_DELIVERY_ID_VERSION)
465
+ return undefined;
466
+ let core;
467
+ try {
468
+ core = base32hexDecode(body.slice(0, WEBHOOK_DELIVERY_ID_CORE_LENGTH));
469
+ }
470
+ catch {
471
+ return undefined;
472
+ }
473
+ let ms = 0;
474
+ for (let i = 0; i < WEBHOOK_DELIVERY_ID_TIMESTAMP_BYTES; i++) {
475
+ ms = ms * 256 + (core[i] ?? 0);
476
+ }
477
+ return new Date(ms);
478
+ },
479
+ };
245
480
  class IdGenerator {
246
481
  alphabet;
247
482
  length;
@@ -1 +1 @@
1
- {"version":3,"file":"friendlyId.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendlyId.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.ts"],"names":[],"mappings":"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"}