@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
@@ -1,5 +1,7 @@
1
1
  import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { RunId, WaitpointId, SnapshotId, QueueId, RUN_OPS_ID_LENGTH, RUN_OPS_ID_REGION_INDEX, RUN_OPS_ID_VERSION, RUN_OPS_ID_VERSION_INDEX, base32hexDecode, base32hexEncode, generateRunOpsId, parseRunId, } from "./friendlyId.js";
2
+ import { RunId, WaitpointId, SnapshotId, QueueId, WebhookDeliveryId, RUN_OPS_ID_LENGTH, RUN_OPS_ID_REGION_INDEX, RUN_OPS_ID_SHARD_INDEX, RUN_OPS_ID_VERSION, RUN_OPS_ID_VERSION_2, RUN_OPS_ID_VERSION_INDEX, WAITPOINT_ID_TYPE_INDEX, WAITPOINT_ID_VERSION, base32hexDecode, base32hexEncode, deriveWaitpointIdFromAnchor, generateFriendlyId, generateRunOpsId, generateRunOpsIdV2, generateWaitpointId, isValidShardChar, parseRunId, parseRunOpsIdBody, parseRunOpsIdV2Body, parseWaitpointId, } from "./friendlyId.js";
3
+ /** Every legal gen-2 shard char: the full DNS-safe lowercase range. */
4
+ const SHARD_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789".split("");
3
5
  const CUID_LEN = 25;
4
6
  describe("RunId + WaitpointId mint cuid by default; run-ops v1 via generateRunOpsId", () => {
5
7
  it("default: run + waitpoint mint cuid (25) and round-trip", () => {
@@ -141,7 +143,8 @@ describe("parseRunId — version-char discrimination (not length)", () => {
141
143
  });
142
144
  it("falls back to legacy on a malformed v1 (bad alphabet / wrong version char)", () => {
143
145
  expect(parseRunId(`run_${"A".repeat(25)}1`).format).toBe("legacy"); // uppercase core
144
- expect(parseRunId(`run_${"a".repeat(25)}2`).format).toBe("legacy"); // wrong version
146
+ expect(parseRunId(`run_${"a".repeat(25)}9`).format).toBe("legacy"); // unallocated version
147
+ expect(parseRunId(`run_${"a".repeat(25)}2`).format).toBe("b32hexV2"); // "2" is now gen-2
145
148
  expect(parseRunId(`run_${"a".repeat(24)}-1`).format).toBe("legacy"); // region char not [a-z0-9]
146
149
  expect(parseRunId(`run_${"a".repeat(27)}`).format).toBe("legacy"); // old 27-char shape
147
150
  });
@@ -167,4 +170,326 @@ describe("firekeeper pod-name round-trip (runner-<id>[-attempt-N] → run_<id>)"
167
170
  expect(podName.length).toBeLessThanOrEqual(63);
168
171
  });
169
172
  });
173
+ describe("WebhookDeliveryId (time-encoded)", () => {
174
+ it("generate() round-trips and parseTimestamp recovers the exact mint timestamp", () => {
175
+ const { id, friendlyId, timestamp } = WebhookDeliveryId.generate();
176
+ expect(friendlyId).toBe(`whd_${id}`);
177
+ expect(id.length).toBe(25);
178
+ expect(WebhookDeliveryId.toId(friendlyId)).toBe(id);
179
+ expect(WebhookDeliveryId.toId(id)).toBe(id);
180
+ expect(WebhookDeliveryId.toFriendlyId(id)).toBe(friendlyId);
181
+ expect(WebhookDeliveryId.parseTimestamp(friendlyId)?.getTime()).toBe(timestamp.getTime());
182
+ expect(WebhookDeliveryId.parseTimestamp(id)?.getTime()).toBe(timestamp.getTime());
183
+ });
184
+ it("encodes the wall-clock mint time so the partition key is recoverable", () => {
185
+ vi.useFakeTimers();
186
+ try {
187
+ const minted = new Date("2026-08-09T12:34:56.789Z");
188
+ vi.setSystemTime(minted);
189
+ const { friendlyId, timestamp } = WebhookDeliveryId.generate();
190
+ expect(timestamp.getTime()).toBe(minted.getTime());
191
+ expect(WebhookDeliveryId.parseTimestamp(friendlyId)?.toISOString()).toBe("2026-08-09T12:34:56.789Z");
192
+ }
193
+ finally {
194
+ vi.useRealTimers();
195
+ }
196
+ });
197
+ it("sorts lexicographically in mint order at millisecond resolution", () => {
198
+ vi.useFakeTimers();
199
+ try {
200
+ vi.setSystemTime(new Date("2026-08-09T00:00:00.000Z"));
201
+ const first = WebhookDeliveryId.generate().id;
202
+ vi.setSystemTime(new Date("2026-08-09T00:00:00.001Z"));
203
+ const second = WebhookDeliveryId.generate().id;
204
+ expect(first < second).toBe(true);
205
+ }
206
+ finally {
207
+ vi.useRealTimers();
208
+ }
209
+ });
210
+ it("returns undefined for legacy or malformed ids so callers skip pruning", () => {
211
+ expect(WebhookDeliveryId.parseTimestamp("whd_tooShort")).toBeUndefined();
212
+ expect(WebhookDeliveryId.parseTimestamp(`whd_${"z".repeat(24)}1`)).toBeUndefined();
213
+ expect(WebhookDeliveryId.parseTimestamp(`whd_${"0".repeat(24)}9`)).toBeUndefined();
214
+ });
215
+ });
216
+ describe("generateRunOpsIdV2 — gen-2 id spec (shard char at 24, version '2' at 25)", () => {
217
+ afterEach(() => vi.useRealTimers());
218
+ it("emits <24-char base32hex core><shard char><version '2'> — 26 chars total", () => {
219
+ const id = generateRunOpsIdV2("a");
220
+ expect(id.length).toBe(RUN_OPS_ID_LENGTH);
221
+ expect(id).toMatch(/^[0-9a-v]{24}[a-z0-9]2$/);
222
+ expect(id[RUN_OPS_ID_VERSION_INDEX]).toBe(RUN_OPS_ID_VERSION_2);
223
+ expect(id[RUN_OPS_ID_SHARD_INDEX]).toBe("a");
224
+ });
225
+ it("round-trips every legal shard char [a-z0-9] through parseRunOpsIdV2Body", () => {
226
+ for (const c of SHARD_CHARS) {
227
+ const id = generateRunOpsIdV2(c);
228
+ const parsed = parseRunOpsIdV2Body(id);
229
+ expect(parsed).toBeDefined();
230
+ expect(parsed?.shard).toBe(c);
231
+ expect(parsed?.version).toBe(RUN_OPS_ID_VERSION_2);
232
+ // the core survives the round-trip: its bytes re-encode to the id's first 24 chars
233
+ expect(base32hexEncode(base32hexDecode(id.slice(0, 24)))).toBe(id.slice(0, 24));
234
+ }
235
+ });
236
+ it("throws on a shard char outside [a-z0-9] (fail loud, never mint an unroutable id)", () => {
237
+ for (const bad of ["", "-", "_", "A", "ab", " ", "/"]) {
238
+ expect(() => generateRunOpsIdV2(bad)).toThrow(/shard/i);
239
+ }
240
+ });
241
+ it("only ever uses lowercase [a-z0-9] and NEVER '-' (DNS-1123 / pod-name invariant)", () => {
242
+ for (let i = 0; i < 5_000; i++) {
243
+ const id = generateRunOpsIdV2(SHARD_CHARS[i % SHARD_CHARS.length]);
244
+ expect(id).toMatch(/^[a-z0-9]+$/);
245
+ expect(id).not.toContain("-");
246
+ }
247
+ });
248
+ it("sorts lexicographically in creation order at ms resolution, like gen-1", () => {
249
+ vi.useFakeTimers();
250
+ const t = new Date("2026-07-04T12:00:00.000Z").getTime();
251
+ vi.setSystemTime(t);
252
+ const a = generateRunOpsIdV2("a");
253
+ vi.setSystemTime(t + 1000);
254
+ const b = generateRunOpsIdV2("a");
255
+ vi.setSystemTime(t + 3);
256
+ const c = generateRunOpsIdV2("a");
257
+ expect([b, c, a].sort()).toEqual([a, c, b]);
258
+ });
259
+ it("decode recovers the exact ms timestamp", () => {
260
+ vi.useFakeTimers();
261
+ const t = new Date("2026-07-04T12:34:56.789Z");
262
+ vi.setSystemTime(t);
263
+ expect(parseRunOpsIdV2Body(generateRunOpsIdV2("e"))?.timestamp.getTime()).toBe(t.getTime());
264
+ });
265
+ it("is unique across many mints in the same ms (72 bits of CSPRNG)", () => {
266
+ vi.useFakeTimers();
267
+ vi.setSystemTime(new Date("2026-07-04T00:00:00.000Z"));
268
+ const n = 2_000;
269
+ expect(new Set(Array.from({ length: n }, () => generateRunOpsIdV2("a"))).size).toBe(n);
270
+ });
271
+ });
272
+ describe("parseRunOpsIdV2Body — the mirror of the v1 shape check", () => {
273
+ it("rejects a body that is not exactly 26 chars", () => {
274
+ const core = "a".repeat(24);
275
+ expect(parseRunOpsIdV2Body("")).toBeUndefined();
276
+ expect(parseRunOpsIdV2Body(`${core}2`)).toBeUndefined(); // 25
277
+ expect(parseRunOpsIdV2Body(`${core}ee2`)).toBeUndefined(); // 27
278
+ expect(parseRunOpsIdV2Body("a".repeat(40))).toBeUndefined();
279
+ });
280
+ it("rejects a body without '2' at index 25", () => {
281
+ const core = "a".repeat(24);
282
+ for (const version of ["1", "0", "3", "z", "-"]) {
283
+ expect(parseRunOpsIdV2Body(`${core}e${version}`)).toBeUndefined();
284
+ }
285
+ });
286
+ it("rejects a body whose 24-char core is not base32hex", () => {
287
+ for (const badCore of ["w".repeat(24), "z".repeat(24), "A".repeat(24), `${"a".repeat(23)}-`]) {
288
+ expect(parseRunOpsIdV2Body(`${badCore}e2`)).toBeUndefined();
289
+ }
290
+ });
291
+ it("rejects a body whose char at index 24 is outside [a-z0-9]", () => {
292
+ const core = "a".repeat(24);
293
+ for (const badShard of ["-", "_", "A", ".", " "]) {
294
+ expect(parseRunOpsIdV2Body(`${core}${badShard}2`)).toBeUndefined();
295
+ }
296
+ });
297
+ it("never throws, for any input string", () => {
298
+ for (const input of ["", "x", "-".repeat(26), " ".repeat(26), "\u{1F642}".repeat(26)]) {
299
+ expect(() => parseRunOpsIdV2Body(input)).not.toThrow();
300
+ }
301
+ });
302
+ });
303
+ describe("gen-1 and gen-2 parsers reject each other (the disjointness foundation)", () => {
304
+ it("parseRunOpsIdBody rejects every gen-2 id", () => {
305
+ for (const c of SHARD_CHARS) {
306
+ expect(parseRunOpsIdBody(generateRunOpsIdV2(c))).toBeUndefined();
307
+ }
308
+ });
309
+ it("parseRunOpsIdV2Body rejects every gen-1 v1 id", () => {
310
+ for (const region of [undefined, "us-east-1", "us-west-2", "eu-central-1"]) {
311
+ expect(parseRunOpsIdV2Body(generateRunOpsId(region))).toBeUndefined();
312
+ }
313
+ });
314
+ it("generateRunOpsId still mints v1 ids — the gen-1 generator is unchanged", () => {
315
+ const id = generateRunOpsId("us-east-1");
316
+ expect(id).toMatch(/^[0-9a-v]{24}[a-z0-9]1$/);
317
+ expect(id[RUN_OPS_ID_VERSION_INDEX]).toBe(RUN_OPS_ID_VERSION);
318
+ expect(parseRunOpsIdBody(id)?.region).toBe("e");
319
+ });
320
+ it("the shard index and the region index are the same position", () => {
321
+ expect(RUN_OPS_ID_SHARD_INDEX).toBe(RUN_OPS_ID_REGION_INDEX);
322
+ });
323
+ });
324
+ describe("parseRunId — v2 arm", () => {
325
+ it("parses a gen-2 friendly id as partitioned with its shard + version", () => {
326
+ const parsed = parseRunId(`run_${generateRunOpsIdV2("e")}`);
327
+ expect(parsed).toMatchObject({
328
+ format: "b32hexV2",
329
+ table: "partitioned",
330
+ shard: "e",
331
+ version: "2",
332
+ });
333
+ });
334
+ it("still parses a gen-1 v1 friendly id as b32hex — the v1 arm is unchanged", () => {
335
+ expect(parseRunId(`run_${generateRunOpsId("us-west-2")}`)).toMatchObject({
336
+ format: "b32hex",
337
+ table: "partitioned",
338
+ region: "w",
339
+ version: "1",
340
+ });
341
+ });
342
+ it("classifies a gen-2 body without the run_ prefix, and under a wrong prefix, legacy", () => {
343
+ expect(parseRunId(generateRunOpsIdV2("a")).format).toBe("legacy");
344
+ expect(parseRunId(`waitpoint_${generateRunOpsIdV2("a")}`).format).toBe("legacy");
345
+ });
346
+ });
347
+ describe("isValidShardChar", () => {
348
+ it("accepts a single [a-z0-9] char", () => {
349
+ expect(isValidShardChar("a")).toBe(true);
350
+ expect(isValidShardChar("0")).toBe(true);
351
+ expect(isValidShardChar("w")).toBe(true);
352
+ });
353
+ it("rejects multi-char, empty, uppercase, and punctuation", () => {
354
+ expect(isValidShardChar("")).toBe(false);
355
+ expect(isValidShardChar("ab")).toBe(false);
356
+ expect(isValidShardChar("A")).toBe(false);
357
+ expect(isValidShardChar("-")).toBe(false);
358
+ expect(isValidShardChar("legacy")).toBe(false);
359
+ });
360
+ });
361
+ describe("waitpoint ids: run-ops format with version char w", () => {
362
+ it("mints a 26-char body per type, with the type char at index 24 and version w at 25", () => {
363
+ const cases = [
364
+ ["RUN", "r"],
365
+ ["BATCH", "b"],
366
+ ["DATETIME", "d"],
367
+ ["MANUAL", "m"],
368
+ ];
369
+ for (const [type, typeChar] of cases) {
370
+ const body = generateWaitpointId(type);
371
+ expect(body.length).toBe(RUN_OPS_ID_LENGTH);
372
+ expect(body[WAITPOINT_ID_TYPE_INDEX]).toBe(typeChar);
373
+ expect(body[RUN_OPS_ID_VERSION_INDEX]).toBe(WAITPOINT_ID_VERSION);
374
+ }
375
+ });
376
+ it("round-trips every type char through parseWaitpointId", () => {
377
+ for (const type of ["RUN", "BATCH", "DATETIME", "MANUAL"]) {
378
+ const parsed = parseWaitpointId(generateWaitpointId(type));
379
+ expect(parsed.format).toBe("b32hexW");
380
+ if (parsed.format !== "b32hexW")
381
+ throw new Error("unreachable");
382
+ expect(parsed.type).toBe(type);
383
+ }
384
+ });
385
+ it("classifies both the prefixed and the bare form identically", () => {
386
+ const body = generateWaitpointId("MANUAL");
387
+ const bare = parseWaitpointId(body);
388
+ const prefixed = parseWaitpointId(`waitpoint_${body}`);
389
+ expect(bare).toEqual(prefixed);
390
+ expect(bare).toEqual({ format: "b32hexW", type: "MANUAL", timestamp: expect.any(Date) });
391
+ });
392
+ it("recovers the mint timestamp from the core", () => {
393
+ vi.useFakeTimers();
394
+ try {
395
+ vi.setSystemTime(new Date("2026-08-21T12:00:00.000Z"));
396
+ const parsed = parseWaitpointId(generateWaitpointId("DATETIME"));
397
+ if (parsed.format !== "b32hexW")
398
+ throw new Error("unreachable");
399
+ expect(parsed.timestamp.toISOString()).toBe("2026-08-21T12:00:00.000Z");
400
+ }
401
+ finally {
402
+ vi.useRealTimers();
403
+ }
404
+ });
405
+ it("classifies every legacy shape as legacy", () => {
406
+ const legacy = [
407
+ WaitpointId.generate().id,
408
+ WaitpointId.generate().friendlyId,
409
+ generateFriendlyId("waitpoint"),
410
+ "",
411
+ "waitpoint_",
412
+ "a".repeat(27),
413
+ "a".repeat(26),
414
+ ];
415
+ for (const id of legacy) {
416
+ expect(parseWaitpointId(id).format).toBe("legacy");
417
+ }
418
+ });
419
+ it("rejects a 26-char body whose version is w but whose type char is not r/b/d/m", () => {
420
+ const body = generateWaitpointId("RUN");
421
+ const bad = `${body.slice(0, WAITPOINT_ID_TYPE_INDEX)}x${WAITPOINT_ID_VERSION}`;
422
+ expect(parseWaitpointId(bad).format).toBe("legacy");
423
+ });
424
+ it("rejects a body whose core is outside the base32hex alphabet", () => {
425
+ const body = generateWaitpointId("RUN");
426
+ // "w" is outside [0-9a-v], so the core no longer decodes.
427
+ expect(parseWaitpointId(`w${body.slice(1)}`).format).toBe("legacy");
428
+ });
429
+ it("never parses a run id as a waitpoint id, or the reverse", () => {
430
+ expect(parseWaitpointId(generateRunOpsId()).format).toBe("legacy");
431
+ expect(parseWaitpointId(generateRunOpsIdV2("7")).format).toBe("legacy");
432
+ expect(parseRunId(`run_${generateWaitpointId("RUN")}`).format).toBe("legacy");
433
+ });
434
+ it("rejects a well-formed waitpoint body wearing a foreign prefix", () => {
435
+ const body = `${"0".repeat(24)}rw`; // valid core + RUN type char + version w
436
+ expect(parseWaitpointId(`run_${body}`).format).toBe("legacy");
437
+ expect(parseWaitpointId(`batch_${body}`).format).toBe("legacy");
438
+ expect(parseWaitpointId(`waitpoint_${body}`)).toEqual({
439
+ format: "b32hexW",
440
+ type: "RUN",
441
+ timestamp: expect.any(Date),
442
+ });
443
+ expect(parseWaitpointId(body).format).toBe("b32hexW");
444
+ });
445
+ it("handles a bare body that happens to contain an underscore sanely (never throws, never misclassifies)", () => {
446
+ const body = generateWaitpointId("BATCH");
447
+ const withUnderscore = `_${body.slice(1)}`;
448
+ expect(() => parseWaitpointId(withUnderscore)).not.toThrow();
449
+ // "_" is outside the base32hex alphabet, so this can never be a real waitpoint id.
450
+ expect(parseWaitpointId(withUnderscore).format).toBe("legacy");
451
+ });
452
+ });
453
+ describe("deriveWaitpointIdFromAnchor", () => {
454
+ it("is deterministic: the same anchor and type always give the same id", () => {
455
+ const anchor = `run_${generateRunOpsId("us-east-1")}`;
456
+ const first = deriveWaitpointIdFromAnchor(anchor, "RUN");
457
+ expect(first).toBeDefined();
458
+ expect(first).toBe(deriveWaitpointIdFromAnchor(anchor, "RUN"));
459
+ });
460
+ it("shares the anchor's 24-char core and replaces the region and version chars", () => {
461
+ const anchorBody = generateRunOpsId("us-east-1");
462
+ const derived = deriveWaitpointIdFromAnchor(`run_${anchorBody}`, "RUN");
463
+ expect(derived).toBeDefined();
464
+ expect(derived.slice(0, WAITPOINT_ID_TYPE_INDEX)).toBe(anchorBody.slice(0, WAITPOINT_ID_TYPE_INDEX));
465
+ expect(derived[WAITPOINT_ID_TYPE_INDEX]).toBe("r");
466
+ expect(derived[RUN_OPS_ID_VERSION_INDEX]).toBe(WAITPOINT_ID_VERSION);
467
+ });
468
+ it("accepts a bare anchor body as well as a prefixed one", () => {
469
+ const anchorBody = generateRunOpsId();
470
+ expect(deriveWaitpointIdFromAnchor(anchorBody, "RUN")).toBe(deriveWaitpointIdFromAnchor(`run_${anchorBody}`, "RUN"));
471
+ });
472
+ it("accepts a gen-2 anchor", () => {
473
+ const derived = deriveWaitpointIdFromAnchor(`run_${generateRunOpsIdV2("7")}`, "RUN");
474
+ expect(derived).toBeDefined();
475
+ expect(parseWaitpointId(derived).format).toBe("b32hexW");
476
+ });
477
+ it("derives a BATCH id from a run-ops format batch anchor", () => {
478
+ const derived = deriveWaitpointIdFromAnchor(`batch_${generateRunOpsId()}`, "BATCH");
479
+ expect(derived).toBeDefined();
480
+ const parsed = parseWaitpointId(derived);
481
+ if (parsed.format !== "b32hexW")
482
+ throw new Error("unreachable");
483
+ expect(parsed.type).toBe("BATCH");
484
+ });
485
+ it("returns undefined for a legacy anchor, so the caller falls back to a legacy mint", () => {
486
+ expect(deriveWaitpointIdFromAnchor(RunId.generate().friendlyId, "RUN")).toBeUndefined();
487
+ expect(deriveWaitpointIdFromAnchor("run_", "RUN")).toBeUndefined();
488
+ expect(deriveWaitpointIdFromAnchor("", "RUN")).toBeUndefined();
489
+ });
490
+ it("gives a different id per type from one anchor", () => {
491
+ const anchor = `run_${generateRunOpsId()}`;
492
+ expect(deriveWaitpointIdFromAnchor(anchor, "RUN")).not.toBe(deriveWaitpointIdFromAnchor(anchor, "BATCH"));
493
+ });
494
+ });
170
495
  //# sourceMappingURL=friendlyId.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendlyId.test.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendlyId.test.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export * from "./friendlyId.js";
2
2
  export * from "./runOpsResidency.js";
3
+ export * from "./waitpointMint.js";
3
4
  export * from "./duration.js";
4
5
  export * from "./maxDuration.js";
5
6
  export * from "./queueName.js";
6
7
  export * from "./consts.js";
7
8
  export * from "./traceContext.js";
8
9
  export * from "./dates.js";
10
+ export * from "./deploymentVersions.js";
@@ -1,9 +1,11 @@
1
1
  export * from "./friendlyId.js";
2
2
  export * from "./runOpsResidency.js";
3
+ export * from "./waitpointMint.js";
3
4
  export * from "./duration.js";
4
5
  export * from "./maxDuration.js";
5
6
  export * from "./queueName.js";
6
7
  export * from "./consts.js";
7
8
  export * from "./traceContext.js";
8
9
  export * from "./dates.js";
10
+ export * from "./deploymentVersions.js";
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
@@ -1,5 +1,10 @@
1
- /** The two run-ops stores a run/waitpoint can reside in. */
1
+ /**
2
+ * The two store FAMILIES a run/waitpoint can reside in. "NEW" is the dedicated
3
+ * family: one store under gen-1, one per shard under gen-2. Use
4
+ * {@link resolveShard} when the specific store matters.
5
+ */
2
6
  export type Residency = "LEGACY" | "NEW";
7
+ export type ShardKey = "legacy" | "new" | string;
3
8
  /**
4
9
  * Underlying id lineage. "runOpsId" is the label for the NEW-store mint path
5
10
  * — a base32hex run-ops v1 id (see friendlyId.ts). It is the value persisted in
@@ -20,12 +25,21 @@ export declare class UnclassifiableRunId extends Error {
20
25
  constructor(value: string);
21
26
  }
22
27
  /**
23
- * Returns the id lineage by the version-char rule: a well-formed run-ops v1
24
- * body (26 chars, version "1" at index 25, base32hex alphabet) is "runOpsId"
25
- * (NEW store); everything else — including malformed v1 shapes — is "cuid"
26
- * (legacy). Total: never throws. Transition: pre-cutover 27-char base62 ids (the old
27
- * NEW-mint format) now classify LEGACY, so ship this with the base32hex generator only once
28
- * any 27-char NEW-resident runs are drained/disposable no live run is misrouted mid-cutover.
28
+ * Resolve the store that owns an id. A gen-2 body names its own shard; a gen-1
29
+ * v1 body resolves to the single dedicated store; everything else is legacy.
30
+ *
31
+ * The version char at index 25 is one character, so the v1 and gen-2 shape
32
+ * checks are mutually exclusive by construction a gen-1 id can never resolve
33
+ * to a shard, and a gen-2 id can never resolve to "new". Total: never throws.
34
+ */
35
+ export declare function resolveShard(id: string): ShardKey;
36
+ /**
37
+ * Returns the id lineage by the version-char rule: a well-formed run-ops v1 body
38
+ * (version "1") or gen-2 body (version "2") is "runOpsId"; everything else —
39
+ * including malformed shapes of either — is "cuid" (legacy). Total: never throws.
40
+ * Transition: pre-cutover 27-char base62 ids (the old NEW-mint format) classify
41
+ * LEGACY, so ship this with the base32hex generator only once any 27-char
42
+ * NEW-resident runs are drained/disposable — no live run is misrouted mid-cutover.
29
43
  */
30
44
  export declare function classifyKind(id: string): ResidencyKind;
31
45
  /** Classification is total now; kept for API compatibility. */
@@ -1,4 +1,4 @@
1
- import { isRunOpsIdBody } from "./friendlyId.js";
1
+ import { isRunOpsIdBodyShape, runOpsIdV2ShardShape } from "./friendlyId.js";
2
2
  /** @bugsnag/cuid emits 25-char ids (legacy mint path, flag OFF). */
3
3
  export const CUID_LENGTH = 25;
4
4
  /**
@@ -27,15 +27,30 @@ function internalForm(id) {
27
27
  return underscore === -1 ? id : id.slice(underscore + 1);
28
28
  }
29
29
  /**
30
- * Returns the id lineage by the version-char rule: a well-formed run-ops v1
31
- * body (26 chars, version "1" at index 25, base32hex alphabet) is "runOpsId"
32
- * (NEW store); everything else — including malformed v1 shapes — is "cuid"
33
- * (legacy). Total: never throws. Transition: pre-cutover 27-char base62 ids (the old
34
- * NEW-mint format) now classify LEGACY, so ship this with the base32hex generator only once
35
- * any 27-char NEW-resident runs are drained/disposable no live run is misrouted mid-cutover.
30
+ * Resolve the store that owns an id. A gen-2 body names its own shard; a gen-1
31
+ * v1 body resolves to the single dedicated store; everything else is legacy.
32
+ *
33
+ * The version char at index 25 is one character, so the v1 and gen-2 shape
34
+ * checks are mutually exclusive by construction a gen-1 id can never resolve
35
+ * to a shard, and a gen-2 id can never resolve to "new". Total: never throws.
36
+ */
37
+ export function resolveShard(id) {
38
+ const body = internalForm(id);
39
+ const shard = runOpsIdV2ShardShape(body);
40
+ if (shard !== undefined)
41
+ return shard;
42
+ return isRunOpsIdBodyShape(body) ? "new" : "legacy";
43
+ }
44
+ /**
45
+ * Returns the id lineage by the version-char rule: a well-formed run-ops v1 body
46
+ * (version "1") or gen-2 body (version "2") is "runOpsId"; everything else —
47
+ * including malformed shapes of either — is "cuid" (legacy). Total: never throws.
48
+ * Transition: pre-cutover 27-char base62 ids (the old NEW-mint format) classify
49
+ * LEGACY, so ship this with the base32hex generator only once any 27-char
50
+ * NEW-resident runs are drained/disposable — no live run is misrouted mid-cutover.
36
51
  */
37
52
  export function classifyKind(id) {
38
- return isRunOpsIdBody(internalForm(id)) ? "runOpsId" : "cuid";
53
+ return resolveShard(id) === "legacy" ? "cuid" : "runOpsId";
39
54
  }
40
55
  /** Classification is total now; kept for API compatibility. */
41
56
  export function isClassifiable(_id) {
@@ -1 +1 @@
1
- {"version":3,"file":"runOpsResidency.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/runOpsResidency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,KAAK,CAAS;IACd,WAAW,CAAS;IAC7B,YAAY,KAAa;QACvB,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AAChE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,YAAY,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"runOpsResidency.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/runOpsResidency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAsB5E,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,KAAK,CAAS;IACd,WAAW,CAAS;IAC7B,YAAY,KAAa;QACvB,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,YAAY,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,YAAY,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC"}