@greatwait/contracts 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (349) hide show
  1. package/README.md +11 -9
  2. package/dist/authority.d.ts +84 -21
  3. package/dist/authority.js +47 -2
  4. package/dist/billing.d.ts +1001 -0
  5. package/dist/billing.js +684 -0
  6. package/dist/callback-safety.d.ts +2 -2
  7. package/dist/callback-safety.js +2 -2
  8. package/dist/compatibility.d.ts +3 -3
  9. package/dist/compatibility.js +1 -1
  10. package/dist/data-export.d.ts +67 -0
  11. package/dist/data-export.js +182 -0
  12. package/dist/endpoints.d.ts +181 -240
  13. package/dist/endpoints.js +77 -81
  14. package/dist/events.d.ts +17 -17
  15. package/dist/events.js +1 -1
  16. package/dist/first-value-journey.d.ts +192 -42
  17. package/dist/first-value-journey.js +212 -6
  18. package/dist/forecast.d.ts +71 -71
  19. package/dist/forecast.js +1 -1
  20. package/dist/identifiers.d.ts +20 -20
  21. package/dist/identifiers.js +1 -1
  22. package/dist/identity.d.ts +45 -41
  23. package/dist/identity.js +5 -4
  24. package/dist/index.d.ts +13 -8
  25. package/dist/index.js +13 -8
  26. package/dist/mcp.d.ts +201 -0
  27. package/dist/mcp.js +214 -0
  28. package/dist/naming.d.ts +45 -0
  29. package/dist/naming.js +159 -0
  30. package/dist/oauth.d.ts +186 -172
  31. package/dist/oauth.js +84 -8
  32. package/dist/operation-definitions.d.ts +9 -0
  33. package/dist/operation-definitions.js +7 -0
  34. package/dist/operations.d.ts +4359 -2214
  35. package/dist/operations.js +2754 -881
  36. package/dist/organization-lifecycle.d.ts +34 -0
  37. package/dist/organization-lifecycle.js +122 -0
  38. package/dist/partition.d.ts +26 -0
  39. package/dist/policy.d.ts +4 -4
  40. package/dist/policy.js +9 -5
  41. package/dist/problems.d.ts +32 -26
  42. package/dist/problems.js +6 -2
  43. package/dist/protocol.d.ts +204 -75
  44. package/dist/protocol.js +108 -36
  45. package/dist/scheduling-records.d.ts +343 -285
  46. package/dist/scheduling-records.js +1 -1
  47. package/dist/scheduling.d.ts +670 -360
  48. package/dist/scheduling.js +382 -56
  49. package/dist/secrets.d.ts +119 -105
  50. package/dist/secrets.js +1 -1
  51. package/dist/signatures.d.ts +74 -74
  52. package/dist/signatures.js +1 -1
  53. package/dist/tenancy.d.ts +142 -68
  54. package/dist/tenancy.js +70 -17
  55. package/dist/test-sink.d.ts +127 -127
  56. package/dist/test-sink.js +1 -1
  57. package/dist/time.d.ts +4 -4
  58. package/dist/time.js +1 -1
  59. package/dist/timing.d.ts +65 -0
  60. package/dist/timing.js +82 -0
  61. package/dist/usage.d.ts +103 -47
  62. package/dist/usage.js +197 -31
  63. package/dist/workspace.d.ts +34 -34
  64. package/dist/workspace.js +1 -1
  65. package/dist/zod-values.d.ts +3 -0
  66. package/dist/zod-values.js +2 -0
  67. package/dist/zod.d.ts +2 -0
  68. package/dist/zod.js +2 -0
  69. package/generated/v1/examples/attempts.list.response.json +4 -0
  70. package/generated/v1/examples/attempts.read.response.json +4 -0
  71. package/generated/v1/examples/billing.autotopup.request.json +5 -0
  72. package/generated/v1/examples/billing.autotopup.response.json +120 -0
  73. package/generated/v1/examples/billing.autotopuppreview.request.json +19 -0
  74. package/generated/v1/examples/billing.autotopuppreview.response.json +45 -0
  75. package/generated/v1/examples/billing.budgets.request.json +13 -0
  76. package/generated/v1/examples/billing.budgets.response.json +22 -0
  77. package/generated/v1/examples/billing.ceiling.request.json +8 -0
  78. package/generated/v1/examples/billing.ceiling.response.json +120 -0
  79. package/generated/v1/examples/billing.change.request.json +5 -0
  80. package/generated/v1/examples/billing.change.response.json +12 -0
  81. package/generated/v1/examples/billing.funding.response.json +120 -0
  82. package/generated/v1/examples/billing.fundingquote.request.json +7 -0
  83. package/generated/v1/examples/billing.fundingquote.response.json +13 -0
  84. package/generated/v1/examples/billing.ledger.response.json +23 -0
  85. package/generated/v1/examples/billing.notices.response.json +41 -0
  86. package/generated/v1/examples/billing.notificationsettings.response.json +17 -0
  87. package/generated/v1/examples/billing.notificationsettingsupdate.request.json +9 -0
  88. package/generated/v1/examples/billing.notificationsettingsupdate.response.json +17 -0
  89. package/generated/v1/examples/billing.portal.response.json +3 -0
  90. package/generated/v1/examples/billing.projects.response.json +12 -0
  91. package/generated/v1/examples/billing.purchase.request.json +5 -0
  92. package/generated/v1/examples/billing.purchase.response.json +120 -0
  93. package/generated/v1/examples/billing.quote.request.json +4 -0
  94. package/generated/v1/examples/billing.quote.response.json +19 -0
  95. package/generated/v1/examples/billing.reconcile.response.json +73 -0
  96. package/generated/v1/examples/billing.refundrequest.request.json +10 -0
  97. package/generated/v1/examples/billing.refundrequest.response.json +11 -0
  98. package/generated/v1/examples/billing.refundresolution.request.json +4 -0
  99. package/generated/v1/examples/billing.refundresolution.response.json +120 -0
  100. package/generated/v1/examples/billing.summary.response.json +73 -0
  101. package/generated/v1/examples/context.read.response.json +6 -0
  102. package/generated/v1/examples/credentials.connection.response.json +16 -0
  103. package/generated/v1/examples/endpoints.acknowledgeSigningKeyRotation.response.json +18 -0
  104. package/generated/v1/examples/endpoints.create.response.json +1 -1
  105. package/generated/v1/examples/endpoints.disable.response.json +0 -1
  106. package/generated/v1/examples/{endpoints.verify.response.json → endpoints.enable.response.json} +4 -5
  107. package/generated/v1/examples/endpoints.list.response.json +1 -2
  108. package/generated/v1/examples/endpoints.read.response.json +2 -2
  109. package/generated/v1/examples/endpoints.revealSigningSecret.response.json +7 -0
  110. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +1 -2
  111. package/generated/v1/examples/endpoints.update.response.json +1 -1
  112. package/generated/v1/examples/executions.list.response.json +20 -0
  113. package/generated/v1/examples/exports.cancel.response.json +11 -0
  114. package/generated/v1/examples/exports.create.request.json +1 -0
  115. package/generated/v1/examples/exports.create.response.json +8 -0
  116. package/generated/v1/examples/exports.part.response.json +5 -0
  117. package/generated/v1/examples/exports.read.response.json +8 -0
  118. package/generated/v1/examples/occurrences.read.response.json +4 -0
  119. package/generated/v1/examples/organizations.close.request.json +5 -0
  120. package/generated/v1/examples/organizations.close.response.json +10 -0
  121. package/generated/v1/examples/organizations.lifecycle.response.json +10 -0
  122. package/generated/v1/examples/organizations.restore.request.json +3 -0
  123. package/generated/v1/examples/organizations.restore.response.json +10 -0
  124. package/generated/v1/examples/projects.archive.request.json +3 -0
  125. package/generated/v1/examples/projects.archive.response.json +14 -0
  126. package/generated/v1/examples/projects.create.response.json +10 -1
  127. package/generated/v1/examples/projects.delete.response.json +9 -0
  128. package/generated/v1/examples/projects.list.response.json +12 -2
  129. package/generated/v1/examples/projects.rename.request.json +3 -0
  130. package/generated/v1/examples/projects.rename.response.json +14 -0
  131. package/generated/v1/examples/schedules.archive.response.json +3 -0
  132. package/generated/v1/examples/schedules.cancel.response.json +3 -0
  133. package/generated/v1/examples/schedules.create.request.json +4 -0
  134. package/generated/v1/examples/schedules.create.response.json +3 -0
  135. package/generated/v1/examples/schedules.list.response.json +3 -0
  136. package/generated/v1/examples/schedules.pause.response.json +3 -0
  137. package/generated/v1/examples/schedules.read.response.json +6 -0
  138. package/generated/v1/examples/schedules.replace.request.json +4 -0
  139. package/generated/v1/examples/schedules.replace.response.json +3 -0
  140. package/generated/v1/examples/schedules.resume.response.json +3 -0
  141. package/generated/v1/examples/timing.summary.response.json +35 -0
  142. package/generated/v1/examples/usage.read.response.json +1 -0
  143. package/generated/v1/first-value-journey.json +19 -10
  144. package/generated/v1/manifest.json +1019 -53
  145. package/generated/v1/openapi.json +30597 -5709
  146. package/generated/v1/policy-matrix.json +290 -45
  147. package/generated/v1/schemas/attempts.list.response.json +24 -1
  148. package/generated/v1/schemas/attempts.read.response.json +24 -1
  149. package/generated/v1/schemas/billing.autotopup.request-headers.json +13 -0
  150. package/generated/v1/schemas/billing.autotopup.request.json +22 -0
  151. package/generated/v1/schemas/billing.autotopup.response-headers.json +10 -0
  152. package/generated/v1/schemas/billing.autotopup.response.json +552 -0
  153. package/generated/v1/schemas/billing.autotopuppreview.request.json +77 -0
  154. package/generated/v1/schemas/billing.autotopuppreview.response.json +277 -0
  155. package/generated/v1/schemas/billing.budgets.request-headers.json +13 -0
  156. package/generated/v1/schemas/billing.budgets.request.json +66 -0
  157. package/generated/v1/schemas/billing.budgets.response-headers.json +10 -0
  158. package/generated/v1/schemas/billing.budgets.response.json +92 -0
  159. package/generated/v1/schemas/billing.ceiling.request-headers.json +13 -0
  160. package/generated/v1/schemas/billing.ceiling.request.json +40 -0
  161. package/generated/v1/schemas/billing.ceiling.response-headers.json +10 -0
  162. package/generated/v1/schemas/billing.ceiling.response.json +552 -0
  163. package/generated/v1/schemas/billing.change.request-headers.json +13 -0
  164. package/generated/v1/schemas/billing.change.request.json +22 -0
  165. package/generated/v1/schemas/billing.change.response.json +119 -0
  166. package/generated/v1/schemas/billing.funding.response.json +552 -0
  167. package/generated/v1/schemas/billing.fundingquote.request.json +28 -0
  168. package/generated/v1/schemas/billing.fundingquote.response.json +61 -0
  169. package/generated/v1/schemas/billing.ledger.query.json +16 -0
  170. package/generated/v1/schemas/billing.ledger.response.json +125 -0
  171. package/generated/v1/schemas/billing.notices.query.json +16 -0
  172. package/generated/v1/schemas/billing.notices.response.json +278 -0
  173. package/generated/v1/schemas/billing.notificationsettings.response.json +70 -0
  174. package/generated/v1/schemas/billing.notificationsettingsupdate.request-headers.json +13 -0
  175. package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +36 -0
  176. package/generated/v1/schemas/billing.notificationsettingsupdate.response-headers.json +10 -0
  177. package/generated/v1/schemas/billing.notificationsettingsupdate.response.json +70 -0
  178. package/generated/v1/schemas/billing.portal.response.json +11 -0
  179. package/generated/v1/schemas/billing.projects.response.json +119 -0
  180. package/generated/v1/schemas/billing.purchase.request-headers.json +13 -0
  181. package/generated/v1/schemas/billing.purchase.request.json +22 -0
  182. package/generated/v1/schemas/billing.purchase.response-headers.json +10 -0
  183. package/generated/v1/schemas/billing.purchase.response.json +552 -0
  184. package/generated/v1/schemas/billing.quote.request.json +20 -0
  185. package/generated/v1/schemas/billing.quote.response.json +86 -0
  186. package/generated/v1/schemas/billing.reconcile.response.json +468 -0
  187. package/generated/v1/schemas/billing.refundrequest.request-headers.json +13 -0
  188. package/generated/v1/schemas/billing.refundrequest.request.json +42 -0
  189. package/generated/v1/schemas/billing.refundrequest.response-headers.json +10 -0
  190. package/generated/v1/schemas/billing.refundrequest.response.json +45 -0
  191. package/generated/v1/schemas/billing.refundresolution.request-headers.json +13 -0
  192. package/generated/v1/schemas/billing.refundresolution.request.json +61 -0
  193. package/generated/v1/schemas/billing.refundresolution.response-headers.json +10 -0
  194. package/generated/v1/schemas/billing.refundresolution.response.json +552 -0
  195. package/generated/v1/schemas/billing.summary.response.json +468 -0
  196. package/generated/v1/schemas/context.read.response.json +45 -0
  197. package/generated/v1/schemas/credentials.connection.response.json +66 -0
  198. package/generated/v1/schemas/credentials.create.request.json +2 -0
  199. package/generated/v1/schemas/credentials.create.response.json +2 -0
  200. package/generated/v1/schemas/credentials.list.response.json +2 -0
  201. package/generated/v1/schemas/credentials.revoke.response.json +2 -0
  202. package/generated/v1/schemas/credentials.rotate.response.json +4 -0
  203. package/generated/v1/schemas/{endpoints.verify.request-headers.json → endpoints.acknowledgeSigningKeyRotation.request-headers.json} +2 -1
  204. package/generated/v1/schemas/{endpoints.verify.response.json → endpoints.acknowledgeSigningKeyRotation.response.json} +8 -21
  205. package/generated/v1/schemas/endpoints.create.request.json +5 -0
  206. package/generated/v1/schemas/endpoints.create.response.json +8 -21
  207. package/generated/v1/schemas/endpoints.disable.response.json +8 -21
  208. package/generated/v1/schemas/endpoints.enable.response-headers.json +11 -0
  209. package/generated/v1/schemas/endpoints.enable.response.json +87 -0
  210. package/generated/v1/schemas/endpoints.list.response.json +8 -21
  211. package/generated/v1/schemas/endpoints.read.response.json +8 -21
  212. package/generated/v1/schemas/endpoints.revealSigningSecret.response.json +43 -0
  213. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +8 -21
  214. package/generated/v1/schemas/endpoints.update.request.json +5 -0
  215. package/generated/v1/schemas/endpoints.update.response.json +8 -21
  216. package/generated/v1/schemas/executions.list.query.json +46 -0
  217. package/generated/v1/schemas/executions.list.response.json +116 -0
  218. package/generated/v1/schemas/exports.cancel.response.json +48 -0
  219. package/generated/v1/schemas/exports.create.request.json +6 -0
  220. package/generated/v1/schemas/exports.create.response.json +38 -0
  221. package/generated/v1/schemas/exports.part.query.json +11 -0
  222. package/generated/v1/schemas/exports.part.response.json +22 -0
  223. package/generated/v1/schemas/exports.read.response.json +38 -0
  224. package/generated/v1/schemas/grants.list.response.json +2 -0
  225. package/generated/v1/schemas/grants.revoke.response.json +2 -0
  226. package/generated/v1/schemas/occurrences.list.query.json +5 -0
  227. package/generated/v1/schemas/occurrences.list.response.json +23 -0
  228. package/generated/v1/schemas/occurrences.read.response.json +23 -0
  229. package/generated/v1/schemas/occurrences.redeliver.response.json +24 -1
  230. package/generated/v1/schemas/organizations.close.request.json +20 -0
  231. package/generated/v1/schemas/organizations.close.response.json +68 -0
  232. package/generated/v1/schemas/organizations.lifecycle.response.json +68 -0
  233. package/generated/v1/schemas/organizations.restore.request.json +13 -0
  234. package/generated/v1/schemas/organizations.restore.response.json +68 -0
  235. package/generated/v1/schemas/projects.archive.request-headers.json +11 -0
  236. package/generated/v1/schemas/projects.archive.request.json +10 -0
  237. package/generated/v1/schemas/projects.archive.response-headers.json +11 -0
  238. package/generated/v1/schemas/projects.archive.response.json +79 -0
  239. package/generated/v1/schemas/projects.create.response.json +55 -1
  240. package/generated/v1/schemas/projects.delete.request-headers.json +11 -0
  241. package/generated/v1/schemas/projects.delete.response.json +37 -0
  242. package/generated/v1/schemas/projects.list.response.json +61 -2
  243. package/generated/v1/schemas/projects.rename.request-headers.json +11 -0
  244. package/generated/v1/schemas/projects.rename.request.json +12 -0
  245. package/generated/v1/schemas/projects.rename.response-headers.json +11 -0
  246. package/generated/v1/schemas/projects.rename.response.json +79 -0
  247. package/generated/v1/schemas/schedules.archive.response.json +90 -2
  248. package/generated/v1/schemas/schedules.cancel.response.json +90 -2
  249. package/generated/v1/schemas/schedules.create.request.json +24 -3
  250. package/generated/v1/schemas/schedules.create.response.json +90 -2
  251. package/generated/v1/schemas/schedules.list.query.json +13 -0
  252. package/generated/v1/schemas/schedules.list.response.json +67 -2
  253. package/generated/v1/schemas/schedules.pause.response.json +90 -2
  254. package/generated/v1/schemas/schedules.read.response.json +90 -2
  255. package/generated/v1/schemas/schedules.replace.request.json +24 -3
  256. package/generated/v1/schemas/schedules.replace.response.json +90 -2
  257. package/generated/v1/schemas/schedules.resume.response.json +90 -2
  258. package/generated/v1/schemas/timing.summary.response.json +191 -0
  259. package/generated/v1/schemas/usage.read.query.json +7 -0
  260. package/generated/v1/schemas/usage.read.response.json +36 -1
  261. package/generated/v1/snippets/attempts.list.json +1 -0
  262. package/generated/v1/snippets/attempts.read.json +1 -0
  263. package/generated/v1/snippets/billing.autotopup.json +6 -0
  264. package/generated/v1/snippets/billing.autotopuppreview.json +6 -0
  265. package/generated/v1/snippets/billing.budgets.json +6 -0
  266. package/generated/v1/snippets/billing.ceiling.json +6 -0
  267. package/generated/v1/snippets/billing.change.json +6 -0
  268. package/generated/v1/snippets/billing.funding.json +6 -0
  269. package/generated/v1/snippets/billing.fundingquote.json +6 -0
  270. package/generated/v1/snippets/billing.ledger.json +6 -0
  271. package/generated/v1/snippets/billing.notices.json +6 -0
  272. package/generated/v1/snippets/billing.notificationsettings.json +6 -0
  273. package/generated/v1/snippets/billing.notificationsettingsupdate.json +6 -0
  274. package/generated/v1/snippets/billing.portal.json +6 -0
  275. package/generated/v1/snippets/billing.projects.json +6 -0
  276. package/generated/v1/snippets/billing.purchase.json +6 -0
  277. package/generated/v1/snippets/billing.quote.json +6 -0
  278. package/generated/v1/snippets/billing.reconcile.json +6 -0
  279. package/generated/v1/snippets/billing.refundrequest.json +6 -0
  280. package/generated/v1/snippets/billing.refundresolution.json +6 -0
  281. package/generated/v1/snippets/billing.summary.json +6 -0
  282. package/generated/v1/snippets/context.read.json +6 -0
  283. package/generated/v1/snippets/credentials.connection.json +6 -0
  284. package/generated/v1/snippets/credentials.create.json +1 -0
  285. package/generated/v1/snippets/credentials.list.json +1 -0
  286. package/generated/v1/snippets/credentials.revoke.json +1 -0
  287. package/generated/v1/snippets/credentials.rotate.json +1 -0
  288. package/generated/v1/snippets/endpoints.acknowledgeSigningKeyRotation.json +6 -0
  289. package/generated/v1/snippets/endpoints.create.json +1 -0
  290. package/generated/v1/snippets/endpoints.disable.json +1 -0
  291. package/generated/v1/snippets/{endpoints.verify.json → endpoints.enable.json} +4 -3
  292. package/generated/v1/snippets/endpoints.list.json +1 -0
  293. package/generated/v1/snippets/endpoints.read.json +1 -0
  294. package/generated/v1/snippets/endpoints.revealSigningSecret.json +6 -0
  295. package/generated/v1/snippets/endpoints.rotateSigningKey.json +1 -0
  296. package/generated/v1/snippets/endpoints.update.json +1 -0
  297. package/generated/v1/snippets/executions.list.json +6 -0
  298. package/generated/v1/snippets/exports.cancel.json +6 -0
  299. package/generated/v1/snippets/exports.create.json +6 -0
  300. package/generated/v1/snippets/exports.part.json +6 -0
  301. package/generated/v1/snippets/exports.read.json +6 -0
  302. package/generated/v1/snippets/forecast.read.json +1 -0
  303. package/generated/v1/snippets/forecast.windows.json +1 -0
  304. package/generated/v1/snippets/grants.list.json +1 -0
  305. package/generated/v1/snippets/grants.revoke.json +1 -0
  306. package/generated/v1/snippets/journey/await-occurrence.json +6 -0
  307. package/generated/v1/snippets/journey/check-credential.json +6 -0
  308. package/generated/v1/snippets/journey/check-service.json +6 -0
  309. package/generated/v1/snippets/journey/clean-up.json +6 -0
  310. package/generated/v1/snippets/journey/create-destination.json +6 -0
  311. package/generated/v1/snippets/journey/create-one-shot.json +6 -0
  312. package/generated/v1/snippets/journey/read-attempt.json +6 -0
  313. package/generated/v1/snippets/journey/read-schedule.json +6 -0
  314. package/generated/v1/snippets/journey/replay-one-shot.json +6 -0
  315. package/generated/v1/snippets/meta.scaffold.json +1 -0
  316. package/generated/v1/snippets/meta.version.json +1 -0
  317. package/generated/v1/snippets/occurrences.list.json +1 -0
  318. package/generated/v1/snippets/occurrences.read.json +1 -0
  319. package/generated/v1/snippets/occurrences.redeliver.json +1 -0
  320. package/generated/v1/snippets/organizations.close.json +6 -0
  321. package/generated/v1/snippets/organizations.lifecycle.json +6 -0
  322. package/generated/v1/snippets/organizations.restore.json +6 -0
  323. package/generated/v1/snippets/projects.archive.json +6 -0
  324. package/generated/v1/snippets/projects.create.json +1 -0
  325. package/generated/v1/snippets/projects.delete.json +6 -0
  326. package/generated/v1/snippets/projects.list.json +1 -0
  327. package/generated/v1/snippets/projects.rename.json +6 -0
  328. package/generated/v1/snippets/schedules.archive.json +1 -0
  329. package/generated/v1/snippets/schedules.cancel.json +1 -0
  330. package/generated/v1/snippets/schedules.create.json +4 -3
  331. package/generated/v1/snippets/schedules.list.json +1 -0
  332. package/generated/v1/snippets/schedules.pause.json +1 -0
  333. package/generated/v1/snippets/schedules.read.json +1 -0
  334. package/generated/v1/snippets/schedules.replace.json +4 -3
  335. package/generated/v1/snippets/schedules.resume.json +1 -0
  336. package/generated/v1/snippets/sinkdeliveries.list.json +1 -0
  337. package/generated/v1/snippets/sinkdeliveries.read.json +1 -0
  338. package/generated/v1/snippets/testsinks.configure.json +1 -0
  339. package/generated/v1/snippets/testsinks.create.json +1 -0
  340. package/generated/v1/snippets/testsinks.delete.json +1 -0
  341. package/generated/v1/snippets/testsinks.list.json +1 -0
  342. package/generated/v1/snippets/testsinks.read.json +1 -0
  343. package/generated/v1/snippets/timing.summary.json +6 -0
  344. package/generated/v1/snippets/usage.read.json +1 -0
  345. package/package.json +2 -7
  346. package/dist/callback-ownership.d.ts +0 -58
  347. package/dist/callback-ownership.js +0 -71
  348. package/generated/v1/callback-endpoint-verification.json +0 -59
  349. /package/generated/v1/schemas/{endpoints.verify.response-headers.json → endpoints.acknowledgeSigningKeyRotation.response-headers.json} +0 -0
@@ -1,4 +1,6 @@
1
- import { z } from "zod";
1
+ import { z } from "./zod.js";
2
+ import { type CursorBinding } from "./protocol.js";
3
+ import type { FieldError } from "./problems.js";
2
4
  import { type CallbackTrigger, type ResponseClass } from "./signatures.js";
3
5
  /**
4
6
  * The scheduling resource family: schedules, the occurrences they produce, and
@@ -33,11 +35,11 @@ import { type CallbackTrigger, type ResponseClass } from "./signatures.js";
33
35
  * question.
34
36
  */
35
37
  export declare const SCHEDULE_STATUSES: readonly ["active", "paused", "cancelled", "completed"];
36
- export declare const scheduleStatusSchema: z.ZodEnum<{
37
- paused: "paused";
38
+ export declare const scheduleStatusSchema: import("zod").ZodEnum<{
38
39
  active: "active";
39
- cancelled: "cancelled";
40
40
  completed: "completed";
41
+ paused: "paused";
42
+ cancelled: "cancelled";
41
43
  }>;
42
44
  export type ScheduleStatus = z.infer<typeof scheduleStatusSchema>;
43
45
  /**
@@ -48,29 +50,95 @@ export type ScheduleStatus = z.infer<typeof scheduleStatusSchema>;
48
50
  * anything to anybody. `realtime` gets preference without starving `bulk`.
49
51
  */
50
52
  export declare const LATENCY_CLASSES: readonly ["realtime", "bulk"];
51
- export declare const latencyClassSchema: z.ZodEnum<{
53
+ export declare const latencyClassSchema: import("zod").ZodEnum<{
52
54
  realtime: "realtime";
53
55
  bulk: "bulk";
54
56
  }>;
55
57
  export type LatencyClass = z.infer<typeof latencyClassSchema>;
56
58
  /**
57
- * How long a receiver may take to answer, as a ladder rather than a number.
58
- *
59
- * **A ladder because every rung is a different product.** The first two are the
60
- * ordinary path: a delivery is carried inside the partition's own dispatch and
61
- * holds one of six in-flight slots for its whole duration, so the cost of a slow
62
- * receiver is paid by every other schedule in that
63
- * `(organization, project, environment)`. The rungs above are carried elsewhere
64
- * and priced, because that is the only honest way to sell them.
65
- *
66
- * **Deliberately not a free-form integer.** A caller that could ask for 47
67
- * seconds would be asking a question this product has no answer to: 47 is past
68
- * the point where a delivery may occupy a partition slot and short of the point
69
- * where it is worth carrying separately. The ladder is what makes "which side of
70
- * the line is this" a decision somebody took rather than a comparison somebody
71
- * wrote.
59
+ * What happens when an occurrence reaches its first attempt after its planned
60
+ * instant.
61
+ *
62
+ * `skipAhead` never carries a recurring first arrival across its next planned
63
+ * instant (and a shorter custom window may retire it earlier). `catchUp`
64
+ * admits one first arrival while it is still inside the schedule's staleness
65
+ * window, even after later recurrence instants passed. A one-shot has no next
66
+ * recurrence, so either explicit policy uses its staleness window and its
67
+ * default is `catchUp`. Neither choice applies to an occurrence already on its
68
+ * retry ladder: that work arrived, failed, and keeps the retry/give-up policy
69
+ * it started under.
70
+ */
71
+ export declare const LATENESS_POLICIES: readonly ["skipAhead", "catchUp"];
72
+ export declare const latenessPolicySchema: import("zod").ZodEnum<{
73
+ skipAhead: "skipAhead";
74
+ catchUp: "catchUp";
75
+ }>;
76
+ export type LatenessPolicy = z.infer<typeof latenessPolicySchema>;
77
+ /** The inherited one-shot staleness window: twenty-four hours. */
78
+ export declare const DEFAULT_ONE_SHOT_MAX_STALENESS_SECONDS = 86400;
79
+ /**
80
+ * The per-schedule lateness choices a caller may state.
81
+ *
82
+ * Both members are optional so a caller can override only the part whose
83
+ * default does not fit. The policy defaults from recurrence kind. An omitted
84
+ * staleness bound uses the recurrence's own default: twenty-four hours for a
85
+ * one-shot, and one recurrence interval for a recurring schedule.
86
+ */
87
+ export declare const scheduleLatenessRequestSchema: import("zod").ZodObject<{
88
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
89
+ policy: import("zod").ZodOptional<import("zod").ZodEnum<{
90
+ skipAhead: "skipAhead";
91
+ catchUp: "catchUp";
92
+ }>>;
93
+ }, import("zod/v4/core").$strict>;
94
+ export type ScheduleLatenessRequest = z.infer<typeof scheduleLatenessRequestSchema>;
95
+ /**
96
+ * Lateness settings as a schedule reads back.
97
+ *
98
+ * The policy is always effective and therefore required. The numeric member
99
+ * remains optional because it records a per-schedule override, not a duplicated
100
+ * copy of a default that can be derived from the recurrence.
101
+ */
102
+ export declare const scheduleLatenessSchema: import("zod").ZodObject<{
103
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
104
+ policy: import("zod").ZodEnum<{
105
+ skipAhead: "skipAhead";
106
+ catchUp: "catchUp";
107
+ }>;
108
+ }, import("zod/v4/core").$strict>;
109
+ export type LatenessSettings = z.infer<typeof scheduleLatenessSchema>;
110
+ /**
111
+ * The durations this product used to sell, one rung at a time.
112
+ *
113
+ * **Kept, and no longer the whole of what is accepted** (FXO-2258). The ladder
114
+ * was the argument that 47 seconds is a question with no answer — past the
115
+ * point where a delivery may occupy a partition slot, short of the point where
116
+ * it is worth carrying separately. The operator overruled it after the walk:
117
+ * "This can have a completely user definable timeout, they don't cost us hardly
118
+ * anything, but we should cap at something anyway, 24h is still fine."
119
+ *
120
+ * What the rungs were actually carrying survives without them. The line that
121
+ * matters commercially is {@link FREE_DELIVERY_DURATION_SECONDS} — above thirty
122
+ * seconds a delivery is carried outside the partition and needs a plan that
123
+ * allows it — and that line is a comparison, not a membership test. The line
124
+ * that matters technically is {@link RESPONSE_DELIVERY_MAX_DURATION_SECONDS},
125
+ * which is also a comparison. Neither ever needed eight fixed values to be
126
+ * expressible; the ladder was how they were *sold*, and per-rung pricing is
127
+ * what the operator withdrew.
128
+ *
129
+ * The list stays because a schedule saved on a rung must keep working, because
130
+ * the delivery-class rules are still exercised against exactly these values,
131
+ * and because the dashboard offers them as the shortcuts most people want.
72
132
  */
73
133
  export declare const DELIVERY_DURATION_TIERS: readonly [5, 30, 300, 900, 1800, 3600, 43200, 86400];
134
+ /**
135
+ * The longest duration any delivery may be given, in seconds.
136
+ *
137
+ * Twenty-four hours, which is the ladder's own top rung — so widening the field
138
+ * to a free-form integer admits nothing that was not already for sale. "24h is
139
+ * still fine."
140
+ */
141
+ export declare const MAX_DELIVERY_DURATION_SECONDS = 86400;
74
142
  /**
75
143
  * What a schedule gets without asking, in seconds.
76
144
  *
@@ -127,7 +195,22 @@ export declare const FREE_DELIVERY_DURATION_SECONDS = 30;
127
195
  * than thirty minutes has to do is answer immediately and call us back.
128
196
  */
129
197
  export declare const RESPONSE_DELIVERY_MAX_DURATION_SECONDS = 1800;
130
- export declare const deliveryDurationSecondsSchema: z.ZodLiteral<300 | 5 | 30 | 900 | 1800 | 3600 | 43200 | 86400>;
198
+ /**
199
+ * How long the receiver may take to answer, in whole seconds.
200
+ *
201
+ * **A bounded integer since FXO-2258, and every value the enum accepted is
202
+ * still accepted.** A widening is the one shape of contract change that cannot
203
+ * break a caller: a request that was valid before is valid now, and a stored
204
+ * schedule reads back and re-saves unchanged.
205
+ *
206
+ * The two bounds that are real are still enforced, and neither of them was ever
207
+ * the enum's doing: `maxDurationSeconds` above
208
+ * {@link RESPONSE_DELIVERY_MAX_DURATION_SECONDS} is refused unless `completion`
209
+ * is `callback` (checked in `scheduleRequestSchema`'s refinement, because it is
210
+ * a relation between two fields), and above
211
+ * {@link FREE_DELIVERY_DURATION_SECONDS} it needs a plan that allows it.
212
+ */
213
+ export declare const deliveryDurationSecondsSchema: import("zod").ZodNumber;
131
214
  export type DeliveryDurationSeconds = z.infer<typeof deliveryDurationSecondsSchema>;
132
215
  /** Whether a duration is past the point where it needs a plan that allows it. */
133
216
  export declare function isLongRunningDuration(seconds: number): boolean;
@@ -156,7 +239,7 @@ export declare function isLongRunningDuration(seconds: number): boolean;
156
239
  * untouched, and so is what a rung costs.
157
240
  */
158
241
  export declare const DELIVERY_COMPLETION_MODES: readonly ["response", "callback"];
159
- export declare const deliveryCompletionModeSchema: z.ZodEnum<{
242
+ export declare const deliveryCompletionModeSchema: import("zod").ZodEnum<{
160
243
  response: "response";
161
244
  callback: "callback";
162
245
  }>;
@@ -182,7 +265,7 @@ export type DeliveryCompletionMode = z.infer<typeof deliveryCompletionModeSchema
182
265
  * - `queue` — run it when the previous one finishes.
183
266
  */
184
267
  export declare const DELIVERY_OVERLAP_POLICIES: readonly ["skip", "queue"];
185
- export declare const deliveryOverlapPolicySchema: z.ZodEnum<{
268
+ export declare const deliveryOverlapPolicySchema: import("zod").ZodEnum<{
186
269
  skip: "skip";
187
270
  queue: "queue";
188
271
  }>;
@@ -197,7 +280,7 @@ export declare const DEFAULT_DELIVERY_OVERLAP_POLICY: DeliveryOverlapPolicy;
197
280
  * would make pausing and resuming a schedule invalidate occurrences that are
198
281
  * still perfectly valid.
199
282
  */
200
- export declare const generationSchema: z.ZodNumber;
283
+ export declare const generationSchema: import("zod").ZodNumber;
201
284
  export type Generation = z.infer<typeof generationSchema>;
202
285
  /**
203
286
  * A customer-supplied fairness key.
@@ -210,7 +293,7 @@ export type Generation = z.infer<typeof generationSchema>;
210
293
  * another Durable Object namespace.
211
294
  */
212
295
  export declare const PARTITION_KEY_MAX_LENGTH = 64;
213
- export declare const partitionKeySchema: z.ZodString;
296
+ export declare const partitionKeySchema: import("zod").ZodString;
214
297
  export type PartitionKey = z.infer<typeof partitionKeySchema>;
215
298
  /**
216
299
  * Every state one occurrence can be in.
@@ -226,18 +309,64 @@ export type PartitionKey = z.infer<typeof partitionKeySchema>;
226
309
  * occurrence went stale need different explanations.
227
310
  */
228
311
  export declare const OCCURRENCE_STATES: readonly ["planned", "due", "dispatching", "retry_wait", "ambiguous", "succeeded", "terminal_failed", "cancelled", "skipped_stale"];
229
- export declare const occurrenceStateSchema: z.ZodEnum<{
312
+ export declare const occurrenceStateSchema: import("zod").ZodEnum<{
313
+ due: "due";
230
314
  succeeded: "succeeded";
231
315
  ambiguous: "ambiguous";
232
316
  cancelled: "cancelled";
233
317
  planned: "planned";
234
- due: "due";
235
318
  dispatching: "dispatching";
236
319
  retry_wait: "retry_wait";
237
320
  terminal_failed: "terminal_failed";
238
321
  skipped_stale: "skipped_stale";
239
322
  }>;
240
323
  export type OccurrenceState = z.infer<typeof occurrenceStateSchema>;
324
+ /**
325
+ * One project-wide walk over retained occurrences, newest first.
326
+ *
327
+ * There is deliberately no order parameter: the Executions page answers what
328
+ * happened most recently, and making that fixed lets its index and cursor say
329
+ * the same thing. The date range is half-open, like every other time window in
330
+ * this contract, so adjacent requests neither overlap nor leave a gap.
331
+ */
332
+ export declare const projectOccurrenceListRequestSchema: import("zod").ZodObject<{
333
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
334
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
335
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
336
+ from: import("zod").ZodOptional<import("zod").ZodString>;
337
+ outcome: import("zod").ZodOptional<import("zod").ZodEnum<{
338
+ due: "due";
339
+ succeeded: "succeeded";
340
+ ambiguous: "ambiguous";
341
+ cancelled: "cancelled";
342
+ planned: "planned";
343
+ dispatching: "dispatching";
344
+ retry_wait: "retry_wait";
345
+ terminal_failed: "terminal_failed";
346
+ skipped_stale: "skipped_stale";
347
+ }>>;
348
+ schedule: import("zod").ZodOptional<import("zod").ZodString>;
349
+ to: import("zod").ZodOptional<import("zod").ZodString>;
350
+ }, import("zod/v4/core").$strip>;
351
+ export type ProjectOccurrenceListRequest = z.infer<typeof projectOccurrenceListRequestSchema>;
352
+ export type ProjectOccurrenceListRequestParse = {
353
+ readonly ok: true;
354
+ readonly page: ProjectOccurrenceListRequest;
355
+ } | {
356
+ readonly ok: false;
357
+ readonly errors: readonly FieldError[];
358
+ };
359
+ /** Read the project occurrence filters exactly as REST and MCP send them. */
360
+ export declare function parseProjectOccurrenceListRequest(query: URLSearchParams): ProjectOccurrenceListRequestParse;
361
+ /**
362
+ * The exact operation and filters a project occurrence cursor belongs to.
363
+ *
364
+ * Cursor and limit do not affect which ordered collection is being walked, so
365
+ * neither belongs in the binding. Every actual filter does. Optional values
366
+ * stay absent rather than becoming empty strings, which are invalid inputs and
367
+ * must never collide with an unfiltered request.
368
+ */
369
+ export declare function projectOccurrenceCursorBinding(request: ProjectOccurrenceListRequest): CursorBinding;
241
370
  /**
242
371
  * The states an occurrence never leaves.
243
372
  *
@@ -257,7 +386,7 @@ export declare function isTerminalOccurrenceState(state: OccurrenceState): boole
257
386
  * sanctioned mapping between them.
258
387
  */
259
388
  export declare const ATTEMPT_STATES: readonly ["succeeded", "retryable_failure", "terminal_failure", "ambiguous"];
260
- export declare const attemptStateSchema: z.ZodEnum<{
389
+ export declare const attemptStateSchema: import("zod").ZodEnum<{
261
390
  succeeded: "succeeded";
262
391
  ambiguous: "ambiguous";
263
392
  retryable_failure: "retryable_failure";
@@ -265,10 +394,10 @@ export declare const attemptStateSchema: z.ZodEnum<{
265
394
  }>;
266
395
  export type AttemptState = z.infer<typeof attemptStateSchema>;
267
396
  /** Safe diagnostic codes produced by the W3-03 delivery classifier. */
268
- export declare const attemptDiagnosticSchema: z.ZodEnum<{
397
+ export declare const attemptDiagnosticSchema: import("zod").ZodEnum<{
269
398
  rate_limited: "rate_limited";
270
- completion_timed_out: "completion_timed_out";
271
399
  delivered: "delivered";
400
+ completion_timed_out: "completion_timed_out";
272
401
  duplicate_inflight: "duplicate_inflight";
273
402
  endpoint_unavailable: "endpoint_unavailable";
274
403
  endpoint_unsafe: "endpoint_unsafe";
@@ -288,7 +417,7 @@ export type AttemptDiagnostic = z.infer<typeof attemptDiagnosticSchema>;
288
417
  * payload, or secret. `review_retry_policy` names the historical category
289
418
  * without promising that the occurrence still has automatic work to do.
290
419
  */
291
- export declare const ATTEMPT_REMEDIATIONS: readonly ["none", "review_retry_policy", "inspect_receiver", "verify_endpoint", "replace_payload", "contact_support", "review_before_redelivery"];
420
+ export declare const ATTEMPT_REMEDIATIONS: readonly ["none", "review_retry_policy", "inspect_receiver", "review_endpoint", "replace_payload", "contact_support", "review_before_redelivery"];
292
421
  /**
293
422
  * How much of one retained response header is published, in characters.
294
423
  *
@@ -300,11 +429,11 @@ export declare const ATTEMPT_REMEDIATIONS: readonly ["none", "review_retry_polic
300
429
  export declare const ATTEMPT_RESPONSE_HEADER_MAX_LENGTH = 256;
301
430
  /** How much of a failed receiver's body is published, in characters. */
302
431
  export declare const ATTEMPT_FAILURE_SNIPPET_MAX_LENGTH = 4096;
303
- export declare const attemptRemediationSchema: z.ZodEnum<{
432
+ export declare const attemptRemediationSchema: import("zod").ZodEnum<{
304
433
  none: "none";
305
434
  review_retry_policy: "review_retry_policy";
306
435
  inspect_receiver: "inspect_receiver";
307
- verify_endpoint: "verify_endpoint";
436
+ review_endpoint: "review_endpoint";
308
437
  replace_payload: "replace_payload";
309
438
  contact_support: "contact_support";
310
439
  review_before_redelivery: "review_before_redelivery";
@@ -326,12 +455,12 @@ export declare function remediationForAttempt(diagnostic: AttemptDiagnostic): At
326
455
  * and the failure mode of that drift is a receiver that re-runs work for a
327
456
  * cause the history says never happened.
328
457
  */
329
- export declare const attemptTriggerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
330
- kind: z.ZodLiteral<"automatic">;
331
- }, z.core.$strip>, z.ZodObject<{
332
- kind: z.ZodLiteral<"redelivery">;
333
- sourceAttemptId: z.ZodString;
334
- }, z.core.$strip>], "kind">;
458
+ export declare const attemptTriggerSchema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
459
+ kind: import("zod").ZodLiteral<"automatic">;
460
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
461
+ kind: import("zod").ZodLiteral<"redelivery">;
462
+ sourceAttemptId: import("zod").ZodString;
463
+ }, import("zod/v4/core").$strip>], "kind">;
335
464
  export type AttemptTrigger = CallbackTrigger;
336
465
  /**
337
466
  * The largest elapsed time JSON can carry without losing integer precision.
@@ -364,15 +493,35 @@ export declare const SCHEDULING_BOUNDS: {
364
493
  * Attempts made against one occurrence before it is terminal, including the
365
494
  * first. Bounded so a permanently broken receiver cannot make one occurrence
366
495
  * cost an unbounded amount of work.
496
+ *
497
+ * **Eight, and the number is load-bearing against a second limit rather than
498
+ * on its own.** `MAX_BUDGETED_DELIVERY_FAILURES` stops an occurrence after
499
+ * five failures the *receiver* caused; a rate limit and this product's own
500
+ * infrastructure faults are exempt from that count. The gap between the two
501
+ * is what the exemption spends — an occurrence throttled twice still has
502
+ * five receiver failures left. Lowering this to five was considered during
503
+ * the W4-10 walk and rejected once the pair was understood: it would make
504
+ * both limits fire on the same attempt and leave the exemption buying
505
+ * nothing.
367
506
  */
368
507
  readonly attemptsPerOccurrence: 8;
369
508
  /**
370
509
  * The longest fixed interval a recurring schedule may ask for, in seconds.
371
510
  *
372
- * Thirty days, which is the copied scheduler's `MAX_INTERVAL_SECONDS` kept
373
- * rather than a new number invented beside it, and its reason is the
374
- * platform's rather than the product's: a Durable Object alarm is not
375
- * arbitrarily far in the future.
511
+ * One year. **The thirty days this replaces had no reason of its own** — it
512
+ * was the copied scheduler's `MAX_INTERVAL_SECONDS`, carried over on the
513
+ * belief that "a Durable Object alarm is not arbitrarily far in the future".
514
+ * Cloudflare documents no maximum distance for `setAlarm()`, and the belief
515
+ * predates the PostgreSQL authority besides: the durable fact is a row, and
516
+ * the alarm is only what wakes a bucket to read it.
517
+ *
518
+ * What makes a distant alarm safe is not the alarm. `TimerBucketRepairer`
519
+ * asks PostgreSQL for occurrences whose instant has passed and re-signals
520
+ * their bucket, on committed truth, never asking whether an alarm was armed
521
+ * — so an alarm that is somehow lost costs lateness rather than the run.
522
+ *
523
+ * Widening a bound is additive by `classifyChange` and narrowing it is
524
+ * breaking, so this direction is the safe one to move in.
376
525
  */
377
526
  readonly everySecondsMax: number;
378
527
  /**
@@ -480,7 +629,7 @@ export declare const CRON_EXPRESSION_MAX_LENGTH = 120;
480
629
  * fire on a second boundary is refused by the partition, because a minute is
481
630
  * the granularity both arms of recurrence promise.
482
631
  */
483
- export declare const cronExpressionSchema: z.ZodString;
632
+ export declare const cronExpressionSchema: import("zod").ZodString;
484
633
  export type CronExpression = z.infer<typeof cronExpressionSchema>;
485
634
  /**
486
635
  * How a schedule recurs, as a caller reads it back.
@@ -498,17 +647,19 @@ export type CronExpression = z.infer<typeof cronExpressionSchema>;
498
647
  * on that arm rather than optional, so a read always says which wall clock a
499
648
  * cron schedule is on instead of leaving the caller to assume UTC.
500
649
  */
501
- export declare const recurrenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
502
- kind: z.ZodLiteral<"at">;
503
- }, z.core.$strip>, z.ZodObject<{
504
- everySeconds: z.ZodNumber;
505
- kind: z.ZodLiteral<"every">;
506
- }, z.core.$strip>, z.ZodObject<{
507
- cron: z.ZodString;
508
- kind: z.ZodLiteral<"cron">;
509
- timeZone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
510
- }, z.core.$strip>], "kind">;
650
+ export declare const recurrenceSchema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
651
+ kind: import("zod").ZodLiteral<"at">;
652
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
653
+ everySeconds: import("zod").ZodNumber;
654
+ kind: import("zod").ZodLiteral<"every">;
655
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
656
+ cron: import("zod").ZodString;
657
+ kind: import("zod").ZodLiteral<"cron">;
658
+ timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
659
+ }, import("zod/v4/core").$strip>], "kind">;
511
660
  export type Recurrence = z.infer<typeof recurrenceSchema>;
661
+ /** The customer-safe default for a schedule's recurrence kind. */
662
+ export declare function defaultLatenessPolicyForRecurrence(kind: Recurrence["kind"]): LatenessPolicy;
512
663
  /**
513
664
  * A schedule, as a client sees it.
514
665
  *
@@ -517,47 +668,71 @@ export type Recurrence = z.infer<typeof recurrenceSchema>;
517
668
  * endpoint id is useful definition metadata; the encrypted payload is content
518
669
  * and stays only in the authoritative partition.
519
670
  */
520
- export declare const scheduleSchema: z.ZodObject<{
521
- archivedAt: z.ZodOptional<z.ZodString>;
522
- createdAt: z.ZodString;
523
- delivery: z.ZodOptional<z.ZodObject<{
524
- completion: z.ZodEnum<{
671
+ /**
672
+ * A schedule's name: for people, never an identifier, and free to collide.
673
+ *
674
+ * Generated on save when nobody types one (W4-14, FXO-2255) — "Every 60s →
675
+ * flowxo.com" — and stored as any other name, so editing the recurrence
676
+ * later rewrites nothing. Two schedules may share a name: two on the same
677
+ * cadence against the same host both generate the same one, and the operator
678
+ * chose to let them collide, with the other columns and the identifier
679
+ * telling them apart. Endpoints get the opposite rule.
680
+ */
681
+ /** The most a schedule's name may hold; the generated one is cut to fit it. */
682
+ export declare const SCHEDULE_NAME_MAX_LENGTH = 120;
683
+ export declare const scheduleNameSchema: import("zod").ZodString;
684
+ export declare const scheduleSchema: import("zod").ZodObject<{
685
+ archivedAt: import("zod").ZodOptional<import("zod").ZodString>;
686
+ data: import("zod").ZodOptional<import("zod").ZodJSONSchema>;
687
+ createdAt: import("zod").ZodString;
688
+ delivery: import("zod").ZodOptional<import("zod").ZodObject<{
689
+ completion: import("zod").ZodEnum<{
525
690
  response: "response";
526
691
  callback: "callback";
527
692
  }>;
528
- maxDurationSeconds: z.ZodNumber;
529
- onOverlap: z.ZodEnum<{
693
+ maxDurationSeconds: import("zod").ZodNumber;
694
+ onOverlap: import("zod").ZodEnum<{
530
695
  skip: "skip";
531
696
  queue: "queue";
532
697
  }>;
533
- }, z.core.$strip>>;
534
- endpoint: z.ZodOptional<z.ZodString>;
535
- generation: z.ZodNumber;
536
- id: z.ZodString;
537
- latencyClass: z.ZodEnum<{
698
+ }, import("zod/v4/core").$strip>>;
699
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
700
+ endpointUrl: import("zod").ZodOptional<import("zod").ZodString>;
701
+ generation: import("zod").ZodNumber;
702
+ id: import("zod").ZodString;
703
+ latencyClass: import("zod").ZodEnum<{
538
704
  realtime: "realtime";
539
705
  bulk: "bulk";
540
706
  }>;
541
- partitionKey: z.ZodOptional<z.ZodString>;
542
- recurrence: z.ZodDiscriminatedUnion<[z.ZodObject<{
543
- kind: z.ZodLiteral<"at">;
544
- }, z.core.$strip>, z.ZodObject<{
545
- everySeconds: z.ZodNumber;
546
- kind: z.ZodLiteral<"every">;
547
- }, z.core.$strip>, z.ZodObject<{
548
- cron: z.ZodString;
549
- kind: z.ZodLiteral<"cron">;
550
- timeZone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
551
- }, z.core.$strip>], "kind">;
552
- status: z.ZodEnum<{
553
- paused: "paused";
707
+ lateness: import("zod").ZodObject<{
708
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
709
+ policy: import("zod").ZodEnum<{
710
+ skipAhead: "skipAhead";
711
+ catchUp: "catchUp";
712
+ }>;
713
+ }, import("zod/v4/core").$strict>;
714
+ name: import("zod").ZodOptional<import("zod").ZodString>;
715
+ partitionKey: import("zod").ZodOptional<import("zod").ZodString>;
716
+ nextDueAt: import("zod").ZodOptional<import("zod").ZodString>;
717
+ recurrence: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
718
+ kind: import("zod").ZodLiteral<"at">;
719
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
720
+ everySeconds: import("zod").ZodNumber;
721
+ kind: import("zod").ZodLiteral<"every">;
722
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
723
+ cron: import("zod").ZodString;
724
+ kind: import("zod").ZodLiteral<"cron">;
725
+ timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
726
+ }, import("zod/v4/core").$strip>], "kind">;
727
+ status: import("zod").ZodEnum<{
554
728
  active: "active";
555
- cancelled: "cancelled";
556
729
  completed: "completed";
730
+ paused: "paused";
731
+ cancelled: "cancelled";
557
732
  }>;
558
- updatedAt: z.ZodString;
559
- version: z.ZodNumber;
560
- }, z.core.$strip>;
733
+ updatedAt: import("zod").ZodString;
734
+ version: import("zod").ZodNumber;
735
+ }, import("zod/v4/core").$strip>;
561
736
  export type Schedule = z.infer<typeof scheduleSchema>;
562
737
  /**
563
738
  * A page of schedules.
@@ -569,57 +744,68 @@ export type Schedule = z.infer<typeof scheduleSchema>;
569
744
  * listing back through every partition it spans. Detail is where the occurrence
570
745
  * is authoritative, and detail is one call away.
571
746
  */
572
- export declare const schedulePageSchema: z.ZodObject<{
573
- data: z.ZodArray<z.ZodObject<{
574
- archivedAt: z.ZodOptional<z.ZodString>;
575
- createdAt: z.ZodString;
576
- delivery: z.ZodOptional<z.ZodObject<{
577
- completion: z.ZodEnum<{
747
+ export declare const schedulePageSchema: import("zod").ZodObject<{
748
+ data: import("zod").ZodArray<import("zod").ZodObject<{
749
+ archivedAt: import("zod").ZodOptional<import("zod").ZodString>;
750
+ data: import("zod").ZodOptional<import("zod").ZodJSONSchema>;
751
+ createdAt: import("zod").ZodString;
752
+ delivery: import("zod").ZodOptional<import("zod").ZodObject<{
753
+ completion: import("zod").ZodEnum<{
578
754
  response: "response";
579
755
  callback: "callback";
580
756
  }>;
581
- maxDurationSeconds: z.ZodNumber;
582
- onOverlap: z.ZodEnum<{
757
+ maxDurationSeconds: import("zod").ZodNumber;
758
+ onOverlap: import("zod").ZodEnum<{
583
759
  skip: "skip";
584
760
  queue: "queue";
585
761
  }>;
586
- }, z.core.$strip>>;
587
- endpoint: z.ZodOptional<z.ZodString>;
588
- generation: z.ZodNumber;
589
- id: z.ZodString;
590
- latencyClass: z.ZodEnum<{
762
+ }, import("zod/v4/core").$strip>>;
763
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
764
+ endpointUrl: import("zod").ZodOptional<import("zod").ZodString>;
765
+ generation: import("zod").ZodNumber;
766
+ id: import("zod").ZodString;
767
+ latencyClass: import("zod").ZodEnum<{
591
768
  realtime: "realtime";
592
769
  bulk: "bulk";
593
770
  }>;
594
- partitionKey: z.ZodOptional<z.ZodString>;
595
- recurrence: z.ZodDiscriminatedUnion<[z.ZodObject<{
596
- kind: z.ZodLiteral<"at">;
597
- }, z.core.$strip>, z.ZodObject<{
598
- everySeconds: z.ZodNumber;
599
- kind: z.ZodLiteral<"every">;
600
- }, z.core.$strip>, z.ZodObject<{
601
- cron: z.ZodString;
602
- kind: z.ZodLiteral<"cron">;
603
- timeZone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
604
- }, z.core.$strip>], "kind">;
605
- status: z.ZodEnum<{
606
- paused: "paused";
771
+ lateness: import("zod").ZodObject<{
772
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
773
+ policy: import("zod").ZodEnum<{
774
+ skipAhead: "skipAhead";
775
+ catchUp: "catchUp";
776
+ }>;
777
+ }, import("zod/v4/core").$strict>;
778
+ name: import("zod").ZodOptional<import("zod").ZodString>;
779
+ partitionKey: import("zod").ZodOptional<import("zod").ZodString>;
780
+ nextDueAt: import("zod").ZodOptional<import("zod").ZodString>;
781
+ recurrence: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
782
+ kind: import("zod").ZodLiteral<"at">;
783
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
784
+ everySeconds: import("zod").ZodNumber;
785
+ kind: import("zod").ZodLiteral<"every">;
786
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
787
+ cron: import("zod").ZodString;
788
+ kind: import("zod").ZodLiteral<"cron">;
789
+ timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
790
+ }, import("zod/v4/core").$strip>], "kind">;
791
+ status: import("zod").ZodEnum<{
607
792
  active: "active";
608
- cancelled: "cancelled";
609
793
  completed: "completed";
794
+ paused: "paused";
795
+ cancelled: "cancelled";
610
796
  }>;
611
- updatedAt: z.ZodString;
612
- version: z.ZodNumber;
613
- }, z.core.$strip>>;
614
- freshness: z.ZodDiscriminatedUnion<[z.ZodObject<{
615
- kind: z.ZodLiteral<"authoritative">;
616
- }, z.core.$strip>, z.ZodObject<{
617
- asOf: z.ZodString;
618
- kind: z.ZodLiteral<"projected">;
619
- lagSeconds: z.ZodNumber;
620
- }, z.core.$strip>], "kind">;
621
- nextCursor: z.ZodOptional<z.ZodString>;
622
- }, z.core.$strip>;
797
+ updatedAt: import("zod").ZodString;
798
+ version: import("zod").ZodNumber;
799
+ }, import("zod/v4/core").$strip>>;
800
+ freshness: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
801
+ kind: import("zod").ZodLiteral<"authoritative">;
802
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
803
+ asOf: import("zod").ZodString;
804
+ kind: import("zod").ZodLiteral<"projected">;
805
+ lagSeconds: import("zod").ZodNumber;
806
+ }, import("zod/v4/core").$strip>], "kind">;
807
+ nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
808
+ }, import("zod/v4/core").$strip>;
623
809
  export type SchedulePage = z.infer<typeof schedulePageSchema>;
624
810
  /**
625
811
  * One concrete occurrence of a schedule.
@@ -629,26 +815,35 @@ export type SchedulePage = z.infer<typeof schedulePageSchema>;
629
815
  * numbering starts again. Together `(schedule, generation, sequence)` is what
630
816
  * makes an occurrence identifiable without depending on when it was written.
631
817
  */
632
- export declare const occurrenceSchema: z.ZodObject<{
633
- attemptCount: z.ZodNumber;
634
- generation: z.ZodNumber;
635
- id: z.ZodString;
636
- plannedFor: z.ZodString;
637
- schedule: z.ZodString;
638
- sequence: z.ZodNumber;
639
- settledAt: z.ZodOptional<z.ZodString>;
640
- state: z.ZodEnum<{
818
+ export declare const occurrenceSchema: import("zod").ZodObject<{
819
+ generation: import("zod").ZodNumber;
820
+ id: import("zod").ZodString;
821
+ plannedFor: import("zod").ZodString;
822
+ schedule: import("zod").ZodString;
823
+ sequence: import("zod").ZodNumber;
824
+ settledAt: import("zod").ZodOptional<import("zod").ZodString>;
825
+ state: import("zod").ZodEnum<{
826
+ due: "due";
641
827
  succeeded: "succeeded";
642
828
  ambiguous: "ambiguous";
643
829
  cancelled: "cancelled";
644
830
  planned: "planned";
645
- due: "due";
646
831
  dispatching: "dispatching";
647
832
  retry_wait: "retry_wait";
648
833
  terminal_failed: "terminal_failed";
649
834
  skipped_stale: "skipped_stale";
650
835
  }>;
651
- }, z.core.$strip>;
836
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
837
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
838
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
839
+ customer_blocked: "customer_blocked";
840
+ eligible: "eligible";
841
+ platform_blocked: "platform_blocked";
842
+ }>>;
843
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
844
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
845
+ attemptCount: import("zod").ZodNumber;
846
+ }, import("zod/v4/core").$strip>;
652
847
  export type Occurrence = z.infer<typeof occurrenceSchema>;
653
848
  /**
654
849
  * One delivery attempt against one occurrence.
@@ -674,10 +869,10 @@ export type Occurrence = z.infer<typeof occurrenceSchema>;
674
869
  * can look up in their own logs. Cookies, `Authorization` and
675
870
  * `WWW-Authenticate` have no representation here at all.
676
871
  */
677
- export declare const attemptResponseHeaderSchema: z.ZodObject<{
678
- name: z.ZodString;
679
- value: z.ZodString;
680
- }, z.core.$strip>;
872
+ export declare const attemptResponseHeaderSchema: import("zod").ZodObject<{
873
+ name: import("zod").ZodString;
874
+ value: import("zod").ZodString;
875
+ }, import("zod/v4/core").$strip>;
681
876
  export type AttemptResponseHeader = z.infer<typeof attemptResponseHeaderSchema>;
682
877
  /**
683
878
  * What a failing receiver said, bounded and access-controlled.
@@ -692,194 +887,242 @@ export type AttemptResponseHeader = z.infer<typeof attemptResponseHeaderSchema>;
692
887
  * that is exactly the bound and a body that was cut at the bound are different
693
888
  * facts and only one of them should show a customer an ellipsis.
694
889
  */
695
- export declare const attemptFailureSnippetSchema: z.ZodObject<{
696
- contentType: z.ZodString;
697
- text: z.ZodString;
698
- truncated: z.ZodBoolean;
699
- }, z.core.$strip>;
890
+ export declare const attemptFailureSnippetSchema: import("zod").ZodObject<{
891
+ contentType: import("zod").ZodString;
892
+ text: import("zod").ZodString;
893
+ truncated: import("zod").ZodBoolean;
894
+ }, import("zod/v4/core").$strip>;
700
895
  export type AttemptFailureSnippet = z.infer<typeof attemptFailureSnippetSchema>;
701
- export declare const attemptSchema: z.ZodObject<{
702
- attemptNumber: z.ZodNumber;
703
- classifiedAt: z.ZodOptional<z.ZodString>;
704
- delivery: z.ZodString;
705
- diagnostic: z.ZodOptional<z.ZodEnum<{
706
- rate_limited: "rate_limited";
707
- completion_timed_out: "completion_timed_out";
708
- delivered: "delivered";
709
- duplicate_inflight: "duplicate_inflight";
710
- endpoint_unavailable: "endpoint_unavailable";
711
- endpoint_unsafe: "endpoint_unsafe";
712
- http_refused: "http_refused";
713
- http_retryable: "http_retryable";
714
- http_terminal: "http_terminal";
715
- identity_conflict: "identity_conflict";
716
- network_ambiguous: "network_ambiguous";
717
- payload_unavailable: "payload_unavailable";
718
- }>>;
719
- durationMs: z.ZodOptional<z.ZodNumber>;
720
- id: z.ZodString;
721
- occurrence: z.ZodString;
722
- remediation: z.ZodOptional<z.ZodEnum<{
896
+ export declare const attemptSchema: import("zod").ZodObject<{
897
+ id: import("zod").ZodString;
898
+ occurrence: import("zod").ZodString;
899
+ remediation: import("zod").ZodOptional<import("zod").ZodEnum<{
723
900
  none: "none";
724
901
  review_retry_policy: "review_retry_policy";
725
902
  inspect_receiver: "inspect_receiver";
726
- verify_endpoint: "verify_endpoint";
903
+ review_endpoint: "review_endpoint";
727
904
  replace_payload: "replace_payload";
728
905
  contact_support: "contact_support";
729
906
  review_before_redelivery: "review_before_redelivery";
730
907
  }>>;
731
- failureSnippet: z.ZodOptional<z.ZodObject<{
732
- contentType: z.ZodString;
733
- text: z.ZodString;
734
- truncated: z.ZodBoolean;
735
- }, z.core.$strip>>;
736
- responseHeaders: z.ZodOptional<z.ZodArray<z.ZodObject<{
737
- name: z.ZodString;
738
- value: z.ZodString;
739
- }, z.core.$strip>>>;
740
- responseStatus: z.ZodOptional<z.ZodNumber>;
741
- startedAt: z.ZodString;
742
- state: z.ZodOptional<z.ZodEnum<{
908
+ failureSnippet: import("zod").ZodOptional<import("zod").ZodObject<{
909
+ contentType: import("zod").ZodString;
910
+ text: import("zod").ZodString;
911
+ truncated: import("zod").ZodBoolean;
912
+ }, import("zod/v4/core").$strip>>;
913
+ responseHeaders: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
914
+ name: import("zod").ZodString;
915
+ value: import("zod").ZodString;
916
+ }, import("zod/v4/core").$strip>>>;
917
+ responseStatus: import("zod").ZodOptional<import("zod").ZodNumber>;
918
+ startedAt: import("zod").ZodString;
919
+ state: import("zod").ZodOptional<import("zod").ZodEnum<{
743
920
  succeeded: "succeeded";
744
921
  ambiguous: "ambiguous";
745
922
  retryable_failure: "retryable_failure";
746
923
  terminal_failure: "terminal_failure";
747
924
  }>>;
748
- trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
749
- kind: z.ZodLiteral<"automatic">;
750
- }, z.core.$strip>, z.ZodObject<{
751
- kind: z.ZodLiteral<"redelivery">;
752
- sourceAttemptId: z.ZodString;
753
- }, z.core.$strip>], "kind">;
754
- }, z.core.$strip>;
925
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
926
+ kind: import("zod").ZodLiteral<"automatic">;
927
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
928
+ kind: import("zod").ZodLiteral<"redelivery">;
929
+ sourceAttemptId: import("zod").ZodString;
930
+ }, import("zod/v4/core").$strip>], "kind">;
931
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
932
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
933
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
934
+ customer_blocked: "customer_blocked";
935
+ eligible: "eligible";
936
+ platform_blocked: "platform_blocked";
937
+ }>>;
938
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
939
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
940
+ attemptNumber: import("zod").ZodNumber;
941
+ classifiedAt: import("zod").ZodOptional<import("zod").ZodString>;
942
+ delivery: import("zod").ZodString;
943
+ diagnostic: import("zod").ZodOptional<import("zod").ZodEnum<{
944
+ rate_limited: "rate_limited";
945
+ delivered: "delivered";
946
+ completion_timed_out: "completion_timed_out";
947
+ duplicate_inflight: "duplicate_inflight";
948
+ endpoint_unavailable: "endpoint_unavailable";
949
+ endpoint_unsafe: "endpoint_unsafe";
950
+ http_refused: "http_refused";
951
+ http_retryable: "http_retryable";
952
+ http_terminal: "http_terminal";
953
+ identity_conflict: "identity_conflict";
954
+ network_ambiguous: "network_ambiguous";
955
+ payload_unavailable: "payload_unavailable";
956
+ }>>;
957
+ durationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
958
+ }, import("zod/v4/core").$strip>;
755
959
  export type Attempt = z.infer<typeof attemptSchema>;
756
960
  /** An authoritative page over one schedule's retained occurrences. */
757
- export declare const occurrencePageSchema: z.ZodObject<{
758
- data: z.ZodArray<z.ZodObject<{
759
- attemptCount: z.ZodNumber;
760
- generation: z.ZodNumber;
761
- id: z.ZodString;
762
- plannedFor: z.ZodString;
763
- schedule: z.ZodString;
764
- sequence: z.ZodNumber;
765
- settledAt: z.ZodOptional<z.ZodString>;
766
- state: z.ZodEnum<{
961
+ export declare const occurrencePageSchema: import("zod").ZodObject<{
962
+ data: import("zod").ZodArray<import("zod").ZodObject<{
963
+ generation: import("zod").ZodNumber;
964
+ id: import("zod").ZodString;
965
+ plannedFor: import("zod").ZodString;
966
+ schedule: import("zod").ZodString;
967
+ sequence: import("zod").ZodNumber;
968
+ settledAt: import("zod").ZodOptional<import("zod").ZodString>;
969
+ state: import("zod").ZodEnum<{
970
+ due: "due";
767
971
  succeeded: "succeeded";
768
972
  ambiguous: "ambiguous";
769
973
  cancelled: "cancelled";
770
974
  planned: "planned";
771
- due: "due";
772
975
  dispatching: "dispatching";
773
976
  retry_wait: "retry_wait";
774
977
  terminal_failed: "terminal_failed";
775
978
  skipped_stale: "skipped_stale";
776
979
  }>;
777
- }, z.core.$strip>>;
778
- nextCursor: z.ZodOptional<z.ZodString>;
779
- freshness: z.ZodObject<{
780
- kind: z.ZodLiteral<"authoritative">;
781
- }, z.core.$strip>;
782
- }, z.core.$strip>;
980
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
981
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
982
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
983
+ customer_blocked: "customer_blocked";
984
+ eligible: "eligible";
985
+ platform_blocked: "platform_blocked";
986
+ }>>;
987
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
988
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
989
+ attemptCount: import("zod").ZodNumber;
990
+ }, import("zod/v4/core").$strip>>;
991
+ nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
992
+ freshness: import("zod").ZodObject<{
993
+ kind: import("zod").ZodLiteral<"authoritative">;
994
+ }, import("zod/v4/core").$strip>;
995
+ }, import("zod/v4/core").$strip>;
783
996
  export type OccurrencePage = z.infer<typeof occurrencePageSchema>;
784
- /** An authoritative occurrence detail response. */
785
- export declare const occurrenceViewSchema: z.ZodObject<{
786
- freshness: z.ZodObject<{
787
- kind: z.ZodLiteral<"authoritative">;
788
- }, z.core.$strip>;
789
- occurrence: z.ZodObject<{
790
- attemptCount: z.ZodNumber;
791
- generation: z.ZodNumber;
792
- id: z.ZodString;
793
- plannedFor: z.ZodString;
794
- schedule: z.ZodString;
795
- sequence: z.ZodNumber;
796
- settledAt: z.ZodOptional<z.ZodString>;
797
- state: z.ZodEnum<{
997
+ /** A project-wide occurrence page and its plan's normal history boundary. */
998
+ export declare const projectOccurrencePageSchema: import("zod").ZodObject<{
999
+ data: import("zod").ZodArray<import("zod").ZodObject<{
1000
+ generation: import("zod").ZodNumber;
1001
+ id: import("zod").ZodString;
1002
+ plannedFor: import("zod").ZodString;
1003
+ schedule: import("zod").ZodString;
1004
+ sequence: import("zod").ZodNumber;
1005
+ settledAt: import("zod").ZodOptional<import("zod").ZodString>;
1006
+ state: import("zod").ZodEnum<{
1007
+ due: "due";
798
1008
  succeeded: "succeeded";
799
1009
  ambiguous: "ambiguous";
800
1010
  cancelled: "cancelled";
801
1011
  planned: "planned";
1012
+ dispatching: "dispatching";
1013
+ retry_wait: "retry_wait";
1014
+ terminal_failed: "terminal_failed";
1015
+ skipped_stale: "skipped_stale";
1016
+ }>;
1017
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
1018
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
1019
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
1020
+ customer_blocked: "customer_blocked";
1021
+ eligible: "eligible";
1022
+ platform_blocked: "platform_blocked";
1023
+ }>>;
1024
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
1025
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
1026
+ attemptCount: import("zod").ZodNumber;
1027
+ }, import("zod/v4/core").$strip>>;
1028
+ nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
1029
+ freshness: import("zod").ZodObject<{
1030
+ kind: import("zod").ZodLiteral<"authoritative">;
1031
+ }, import("zod/v4/core").$strip>;
1032
+ retention: import("zod").ZodObject<{
1033
+ from: import("zod").ZodString;
1034
+ }, import("zod/v4/core").$strip>;
1035
+ }, import("zod/v4/core").$strip>;
1036
+ export type ProjectOccurrencePage = z.infer<typeof projectOccurrencePageSchema>;
1037
+ /** An authoritative occurrence detail response. */
1038
+ export declare const occurrenceViewSchema: import("zod").ZodObject<{
1039
+ freshness: import("zod").ZodObject<{
1040
+ kind: import("zod").ZodLiteral<"authoritative">;
1041
+ }, import("zod/v4/core").$strip>;
1042
+ occurrence: import("zod").ZodObject<{
1043
+ generation: import("zod").ZodNumber;
1044
+ id: import("zod").ZodString;
1045
+ plannedFor: import("zod").ZodString;
1046
+ schedule: import("zod").ZodString;
1047
+ sequence: import("zod").ZodNumber;
1048
+ settledAt: import("zod").ZodOptional<import("zod").ZodString>;
1049
+ state: import("zod").ZodEnum<{
802
1050
  due: "due";
1051
+ succeeded: "succeeded";
1052
+ ambiguous: "ambiguous";
1053
+ cancelled: "cancelled";
1054
+ planned: "planned";
803
1055
  dispatching: "dispatching";
804
1056
  retry_wait: "retry_wait";
805
1057
  terminal_failed: "terminal_failed";
806
1058
  skipped_stale: "skipped_stale";
807
1059
  }>;
808
- }, z.core.$strip>;
809
- }, z.core.$strip>;
1060
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
1061
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
1062
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
1063
+ customer_blocked: "customer_blocked";
1064
+ eligible: "eligible";
1065
+ platform_blocked: "platform_blocked";
1066
+ }>>;
1067
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
1068
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
1069
+ attemptCount: import("zod").ZodNumber;
1070
+ }, import("zod/v4/core").$strip>;
1071
+ }, import("zod/v4/core").$strip>;
810
1072
  export type OccurrenceView = z.infer<typeof occurrenceViewSchema>;
811
1073
  /** An authoritative page over one retained occurrence's immutable attempts. */
812
- export declare const attemptPageSchema: z.ZodObject<{
813
- data: z.ZodArray<z.ZodObject<{
814
- attemptNumber: z.ZodNumber;
815
- classifiedAt: z.ZodOptional<z.ZodString>;
816
- delivery: z.ZodString;
817
- diagnostic: z.ZodOptional<z.ZodEnum<{
818
- rate_limited: "rate_limited";
819
- completion_timed_out: "completion_timed_out";
820
- delivered: "delivered";
821
- duplicate_inflight: "duplicate_inflight";
822
- endpoint_unavailable: "endpoint_unavailable";
823
- endpoint_unsafe: "endpoint_unsafe";
824
- http_refused: "http_refused";
825
- http_retryable: "http_retryable";
826
- http_terminal: "http_terminal";
827
- identity_conflict: "identity_conflict";
828
- network_ambiguous: "network_ambiguous";
829
- payload_unavailable: "payload_unavailable";
830
- }>>;
831
- durationMs: z.ZodOptional<z.ZodNumber>;
832
- id: z.ZodString;
833
- occurrence: z.ZodString;
834
- remediation: z.ZodOptional<z.ZodEnum<{
1074
+ export declare const attemptPageSchema: import("zod").ZodObject<{
1075
+ data: import("zod").ZodArray<import("zod").ZodObject<{
1076
+ id: import("zod").ZodString;
1077
+ occurrence: import("zod").ZodString;
1078
+ remediation: import("zod").ZodOptional<import("zod").ZodEnum<{
835
1079
  none: "none";
836
1080
  review_retry_policy: "review_retry_policy";
837
1081
  inspect_receiver: "inspect_receiver";
838
- verify_endpoint: "verify_endpoint";
1082
+ review_endpoint: "review_endpoint";
839
1083
  replace_payload: "replace_payload";
840
1084
  contact_support: "contact_support";
841
1085
  review_before_redelivery: "review_before_redelivery";
842
1086
  }>>;
843
- failureSnippet: z.ZodOptional<z.ZodObject<{
844
- contentType: z.ZodString;
845
- text: z.ZodString;
846
- truncated: z.ZodBoolean;
847
- }, z.core.$strip>>;
848
- responseHeaders: z.ZodOptional<z.ZodArray<z.ZodObject<{
849
- name: z.ZodString;
850
- value: z.ZodString;
851
- }, z.core.$strip>>>;
852
- responseStatus: z.ZodOptional<z.ZodNumber>;
853
- startedAt: z.ZodString;
854
- state: z.ZodOptional<z.ZodEnum<{
1087
+ failureSnippet: import("zod").ZodOptional<import("zod").ZodObject<{
1088
+ contentType: import("zod").ZodString;
1089
+ text: import("zod").ZodString;
1090
+ truncated: import("zod").ZodBoolean;
1091
+ }, import("zod/v4/core").$strip>>;
1092
+ responseHeaders: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1093
+ name: import("zod").ZodString;
1094
+ value: import("zod").ZodString;
1095
+ }, import("zod/v4/core").$strip>>>;
1096
+ responseStatus: import("zod").ZodOptional<import("zod").ZodNumber>;
1097
+ startedAt: import("zod").ZodString;
1098
+ state: import("zod").ZodOptional<import("zod").ZodEnum<{
855
1099
  succeeded: "succeeded";
856
1100
  ambiguous: "ambiguous";
857
1101
  retryable_failure: "retryable_failure";
858
1102
  terminal_failure: "terminal_failure";
859
1103
  }>>;
860
- trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
861
- kind: z.ZodLiteral<"automatic">;
862
- }, z.core.$strip>, z.ZodObject<{
863
- kind: z.ZodLiteral<"redelivery">;
864
- sourceAttemptId: z.ZodString;
865
- }, z.core.$strip>], "kind">;
866
- }, z.core.$strip>>;
867
- nextCursor: z.ZodOptional<z.ZodString>;
868
- freshness: z.ZodObject<{
869
- kind: z.ZodLiteral<"authoritative">;
870
- }, z.core.$strip>;
871
- }, z.core.$strip>;
872
- export type AttemptPage = z.infer<typeof attemptPageSchema>;
873
- /** An authoritative attempt detail or redelivery response. */
874
- export declare const attemptViewSchema: z.ZodObject<{
875
- attempt: z.ZodObject<{
876
- attemptNumber: z.ZodNumber;
877
- classifiedAt: z.ZodOptional<z.ZodString>;
878
- delivery: z.ZodString;
879
- diagnostic: z.ZodOptional<z.ZodEnum<{
1104
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1105
+ kind: import("zod").ZodLiteral<"automatic">;
1106
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1107
+ kind: import("zod").ZodLiteral<"redelivery">;
1108
+ sourceAttemptId: import("zod").ZodString;
1109
+ }, import("zod/v4/core").$strip>], "kind">;
1110
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
1111
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
1112
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
1113
+ customer_blocked: "customer_blocked";
1114
+ eligible: "eligible";
1115
+ platform_blocked: "platform_blocked";
1116
+ }>>;
1117
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
1118
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
1119
+ attemptNumber: import("zod").ZodNumber;
1120
+ classifiedAt: import("zod").ZodOptional<import("zod").ZodString>;
1121
+ delivery: import("zod").ZodString;
1122
+ diagnostic: import("zod").ZodOptional<import("zod").ZodEnum<{
880
1123
  rate_limited: "rate_limited";
881
- completion_timed_out: "completion_timed_out";
882
1124
  delivered: "delivered";
1125
+ completion_timed_out: "completion_timed_out";
883
1126
  duplicate_inflight: "duplicate_inflight";
884
1127
  endpoint_unavailable: "endpoint_unavailable";
885
1128
  endpoint_unsafe: "endpoint_unsafe";
@@ -890,46 +1133,83 @@ export declare const attemptViewSchema: z.ZodObject<{
890
1133
  network_ambiguous: "network_ambiguous";
891
1134
  payload_unavailable: "payload_unavailable";
892
1135
  }>>;
893
- durationMs: z.ZodOptional<z.ZodNumber>;
894
- id: z.ZodString;
895
- occurrence: z.ZodString;
896
- remediation: z.ZodOptional<z.ZodEnum<{
1136
+ durationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
1137
+ }, import("zod/v4/core").$strip>>;
1138
+ nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
1139
+ freshness: import("zod").ZodObject<{
1140
+ kind: import("zod").ZodLiteral<"authoritative">;
1141
+ }, import("zod/v4/core").$strip>;
1142
+ }, import("zod/v4/core").$strip>;
1143
+ export type AttemptPage = z.infer<typeof attemptPageSchema>;
1144
+ /** An authoritative attempt detail or redelivery response. */
1145
+ export declare const attemptViewSchema: import("zod").ZodObject<{
1146
+ attempt: import("zod").ZodObject<{
1147
+ id: import("zod").ZodString;
1148
+ occurrence: import("zod").ZodString;
1149
+ remediation: import("zod").ZodOptional<import("zod").ZodEnum<{
897
1150
  none: "none";
898
1151
  review_retry_policy: "review_retry_policy";
899
1152
  inspect_receiver: "inspect_receiver";
900
- verify_endpoint: "verify_endpoint";
1153
+ review_endpoint: "review_endpoint";
901
1154
  replace_payload: "replace_payload";
902
1155
  contact_support: "contact_support";
903
1156
  review_before_redelivery: "review_before_redelivery";
904
1157
  }>>;
905
- failureSnippet: z.ZodOptional<z.ZodObject<{
906
- contentType: z.ZodString;
907
- text: z.ZodString;
908
- truncated: z.ZodBoolean;
909
- }, z.core.$strip>>;
910
- responseHeaders: z.ZodOptional<z.ZodArray<z.ZodObject<{
911
- name: z.ZodString;
912
- value: z.ZodString;
913
- }, z.core.$strip>>>;
914
- responseStatus: z.ZodOptional<z.ZodNumber>;
915
- startedAt: z.ZodString;
916
- state: z.ZodOptional<z.ZodEnum<{
1158
+ failureSnippet: import("zod").ZodOptional<import("zod").ZodObject<{
1159
+ contentType: import("zod").ZodString;
1160
+ text: import("zod").ZodString;
1161
+ truncated: import("zod").ZodBoolean;
1162
+ }, import("zod/v4/core").$strip>>;
1163
+ responseHeaders: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1164
+ name: import("zod").ZodString;
1165
+ value: import("zod").ZodString;
1166
+ }, import("zod/v4/core").$strip>>>;
1167
+ responseStatus: import("zod").ZodOptional<import("zod").ZodNumber>;
1168
+ startedAt: import("zod").ZodString;
1169
+ state: import("zod").ZodOptional<import("zod").ZodEnum<{
917
1170
  succeeded: "succeeded";
918
1171
  ambiguous: "ambiguous";
919
1172
  retryable_failure: "retryable_failure";
920
1173
  terminal_failure: "terminal_failure";
921
1174
  }>>;
922
- trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
923
- kind: z.ZodLiteral<"automatic">;
924
- }, z.core.$strip>, z.ZodObject<{
925
- kind: z.ZodLiteral<"redelivery">;
926
- sourceAttemptId: z.ZodString;
927
- }, z.core.$strip>], "kind">;
928
- }, z.core.$strip>;
929
- freshness: z.ZodObject<{
930
- kind: z.ZodLiteral<"authoritative">;
931
- }, z.core.$strip>;
932
- }, z.core.$strip>;
1175
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1176
+ kind: import("zod").ZodLiteral<"automatic">;
1177
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1178
+ kind: import("zod").ZodLiteral<"redelivery">;
1179
+ sourceAttemptId: import("zod").ZodString;
1180
+ }, import("zod/v4/core").$strip>], "kind">;
1181
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
1182
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
1183
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
1184
+ customer_blocked: "customer_blocked";
1185
+ eligible: "eligible";
1186
+ platform_blocked: "platform_blocked";
1187
+ }>>;
1188
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
1189
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
1190
+ attemptNumber: import("zod").ZodNumber;
1191
+ classifiedAt: import("zod").ZodOptional<import("zod").ZodString>;
1192
+ delivery: import("zod").ZodString;
1193
+ diagnostic: import("zod").ZodOptional<import("zod").ZodEnum<{
1194
+ rate_limited: "rate_limited";
1195
+ delivered: "delivered";
1196
+ completion_timed_out: "completion_timed_out";
1197
+ duplicate_inflight: "duplicate_inflight";
1198
+ endpoint_unavailable: "endpoint_unavailable";
1199
+ endpoint_unsafe: "endpoint_unsafe";
1200
+ http_refused: "http_refused";
1201
+ http_retryable: "http_retryable";
1202
+ http_terminal: "http_terminal";
1203
+ identity_conflict: "identity_conflict";
1204
+ network_ambiguous: "network_ambiguous";
1205
+ payload_unavailable: "payload_unavailable";
1206
+ }>>;
1207
+ durationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
1208
+ }, import("zod/v4/core").$strip>;
1209
+ freshness: import("zod").ZodObject<{
1210
+ kind: import("zod").ZodLiteral<"authoritative">;
1211
+ }, import("zod/v4/core").$strip>;
1212
+ }, import("zod/v4/core").$strip>;
933
1213
  export type AttemptView = z.infer<typeof attemptViewSchema>;
934
1214
  /**
935
1215
  * A schedule together with the occurrence that is next to happen.
@@ -939,69 +1219,89 @@ export type AttemptView = z.infer<typeof attemptViewSchema>;
939
1219
  * that has to make a second request to answer it will cache the first answer and
940
1220
  * be wrong.
941
1221
  */
942
- export declare const scheduleViewSchema: z.ZodObject<{
943
- occurrence: z.ZodObject<{
944
- attemptCount: z.ZodNumber;
945
- generation: z.ZodNumber;
946
- id: z.ZodString;
947
- plannedFor: z.ZodString;
948
- schedule: z.ZodString;
949
- sequence: z.ZodNumber;
950
- settledAt: z.ZodOptional<z.ZodString>;
951
- state: z.ZodEnum<{
1222
+ export declare const scheduleViewSchema: import("zod").ZodObject<{
1223
+ occurrence: import("zod").ZodObject<{
1224
+ generation: import("zod").ZodNumber;
1225
+ id: import("zod").ZodString;
1226
+ plannedFor: import("zod").ZodString;
1227
+ schedule: import("zod").ZodString;
1228
+ sequence: import("zod").ZodNumber;
1229
+ settledAt: import("zod").ZodOptional<import("zod").ZodString>;
1230
+ state: import("zod").ZodEnum<{
1231
+ due: "due";
952
1232
  succeeded: "succeeded";
953
1233
  ambiguous: "ambiguous";
954
1234
  cancelled: "cancelled";
955
1235
  planned: "planned";
956
- due: "due";
957
1236
  dispatching: "dispatching";
958
1237
  retry_wait: "retry_wait";
959
1238
  terminal_failed: "terminal_failed";
960
1239
  skipped_stale: "skipped_stale";
961
1240
  }>;
962
- }, z.core.$strip>;
963
- schedule: z.ZodObject<{
964
- archivedAt: z.ZodOptional<z.ZodString>;
965
- createdAt: z.ZodString;
966
- delivery: z.ZodOptional<z.ZodObject<{
967
- completion: z.ZodEnum<{
1241
+ firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
1242
+ firstAttemptStartedAt: import("zod").ZodOptional<import("zod").ZodString>;
1243
+ timingEligibility: import("zod").ZodOptional<import("zod").ZodEnum<{
1244
+ customer_blocked: "customer_blocked";
1245
+ eligible: "eligible";
1246
+ platform_blocked: "platform_blocked";
1247
+ }>>;
1248
+ timingEligibilityReason: import("zod").ZodOptional<import("zod").ZodString>;
1249
+ timingPolicyVersion: import("zod").ZodOptional<import("zod").ZodString>;
1250
+ attemptCount: import("zod").ZodNumber;
1251
+ }, import("zod/v4/core").$strip>;
1252
+ schedule: import("zod").ZodObject<{
1253
+ archivedAt: import("zod").ZodOptional<import("zod").ZodString>;
1254
+ data: import("zod").ZodOptional<import("zod").ZodJSONSchema>;
1255
+ createdAt: import("zod").ZodString;
1256
+ delivery: import("zod").ZodOptional<import("zod").ZodObject<{
1257
+ completion: import("zod").ZodEnum<{
968
1258
  response: "response";
969
1259
  callback: "callback";
970
1260
  }>;
971
- maxDurationSeconds: z.ZodNumber;
972
- onOverlap: z.ZodEnum<{
1261
+ maxDurationSeconds: import("zod").ZodNumber;
1262
+ onOverlap: import("zod").ZodEnum<{
973
1263
  skip: "skip";
974
1264
  queue: "queue";
975
1265
  }>;
976
- }, z.core.$strip>>;
977
- endpoint: z.ZodOptional<z.ZodString>;
978
- generation: z.ZodNumber;
979
- id: z.ZodString;
980
- latencyClass: z.ZodEnum<{
1266
+ }, import("zod/v4/core").$strip>>;
1267
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
1268
+ endpointUrl: import("zod").ZodOptional<import("zod").ZodString>;
1269
+ generation: import("zod").ZodNumber;
1270
+ id: import("zod").ZodString;
1271
+ latencyClass: import("zod").ZodEnum<{
981
1272
  realtime: "realtime";
982
1273
  bulk: "bulk";
983
1274
  }>;
984
- partitionKey: z.ZodOptional<z.ZodString>;
985
- recurrence: z.ZodDiscriminatedUnion<[z.ZodObject<{
986
- kind: z.ZodLiteral<"at">;
987
- }, z.core.$strip>, z.ZodObject<{
988
- everySeconds: z.ZodNumber;
989
- kind: z.ZodLiteral<"every">;
990
- }, z.core.$strip>, z.ZodObject<{
991
- cron: z.ZodString;
992
- kind: z.ZodLiteral<"cron">;
993
- timeZone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
994
- }, z.core.$strip>], "kind">;
995
- status: z.ZodEnum<{
996
- paused: "paused";
1275
+ lateness: import("zod").ZodObject<{
1276
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1277
+ policy: import("zod").ZodEnum<{
1278
+ skipAhead: "skipAhead";
1279
+ catchUp: "catchUp";
1280
+ }>;
1281
+ }, import("zod/v4/core").$strict>;
1282
+ name: import("zod").ZodOptional<import("zod").ZodString>;
1283
+ partitionKey: import("zod").ZodOptional<import("zod").ZodString>;
1284
+ nextDueAt: import("zod").ZodOptional<import("zod").ZodString>;
1285
+ recurrence: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1286
+ kind: import("zod").ZodLiteral<"at">;
1287
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1288
+ everySeconds: import("zod").ZodNumber;
1289
+ kind: import("zod").ZodLiteral<"every">;
1290
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1291
+ cron: import("zod").ZodString;
1292
+ kind: import("zod").ZodLiteral<"cron">;
1293
+ timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
1294
+ }, import("zod/v4/core").$strip>], "kind">;
1295
+ status: import("zod").ZodEnum<{
997
1296
  active: "active";
998
- cancelled: "cancelled";
999
1297
  completed: "completed";
1298
+ paused: "paused";
1299
+ cancelled: "cancelled";
1000
1300
  }>;
1001
- updatedAt: z.ZodString;
1002
- version: z.ZodNumber;
1003
- }, z.core.$strip>;
1004
- }, z.core.$strip>;
1301
+ updatedAt: import("zod").ZodString;
1302
+ version: import("zod").ZodNumber;
1303
+ }, import("zod/v4/core").$strip>;
1304
+ }, import("zod/v4/core").$strip>;
1005
1305
  export type ScheduleView = z.infer<typeof scheduleViewSchema>;
1006
1306
  /**
1007
1307
  * The four ways a caller may say when a schedule happens.
@@ -1027,32 +1327,42 @@ export declare const RECURRENCE_REQUEST_FIELDS: readonly ["at", "cron", "delaySe
1027
1327
  * `ambiguous_schedule`, and a scheduler that silently picks one of two instants
1028
1328
  * a customer named is the worst kind of helpful.
1029
1329
  */
1030
- export declare const scheduleRequestSchema: z.ZodObject<{
1031
- at: z.ZodOptional<z.ZodString>;
1032
- cron: z.ZodOptional<z.ZodString>;
1033
- data: z.ZodOptional<z.ZodJSONSchema>;
1034
- delaySeconds: z.ZodOptional<z.ZodNumber>;
1035
- delivery: z.ZodOptional<z.ZodObject<{
1036
- onOverlap: z.ZodOptional<z.ZodEnum<{
1330
+ export declare const scheduleRequestSchema: import("zod").ZodObject<{
1331
+ at: import("zod").ZodOptional<import("zod").ZodString>;
1332
+ cron: import("zod").ZodOptional<import("zod").ZodString>;
1333
+ data: import("zod").ZodOptional<import("zod").ZodJSONSchema>;
1334
+ delaySeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1335
+ delivery: import("zod").ZodOptional<import("zod").ZodObject<{
1336
+ onOverlap: import("zod").ZodOptional<import("zod").ZodEnum<{
1037
1337
  skip: "skip";
1038
1338
  queue: "queue";
1039
1339
  }>>;
1040
- completion: z.ZodOptional<z.ZodEnum<{
1340
+ completion: import("zod").ZodOptional<import("zod").ZodEnum<{
1041
1341
  response: "response";
1042
1342
  callback: "callback";
1043
1343
  }>>;
1044
- maxDurationSeconds: z.ZodOptional<z.ZodLiteral<300 | 5 | 30 | 900 | 1800 | 3600 | 43200 | 86400>>;
1045
- }, z.core.$strict>>;
1046
- everySeconds: z.ZodOptional<z.ZodNumber>;
1047
- endpoint: z.ZodOptional<z.ZodString>;
1048
- latencyClass: z.ZodOptional<z.ZodEnum<{
1344
+ maxDurationSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1345
+ }, import("zod/v4/core").$strict>>;
1346
+ everySeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1347
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
1348
+ latencyClass: import("zod").ZodOptional<import("zod").ZodEnum<{
1049
1349
  realtime: "realtime";
1050
1350
  bulk: "bulk";
1051
1351
  }>>;
1052
- partitionKey: z.ZodOptional<z.ZodString>;
1053
- timeZone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1054
- }, z.core.$strict>;
1352
+ lateness: import("zod").ZodOptional<import("zod").ZodObject<{
1353
+ maxStalenessSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1354
+ policy: import("zod").ZodOptional<import("zod").ZodEnum<{
1355
+ skipAhead: "skipAhead";
1356
+ catchUp: "catchUp";
1357
+ }>>;
1358
+ }, import("zod/v4/core").$strict>>;
1359
+ partitionKey: import("zod").ZodOptional<import("zod").ZodString>;
1360
+ name: import("zod").ZodOptional<import("zod").ZodString>;
1361
+ timeZone: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>>;
1362
+ }, import("zod/v4/core").$strict>;
1055
1363
  export type ScheduleRequest = z.infer<typeof scheduleRequestSchema>;
1364
+ /** Resolve the lateness settings a create or replacement request runs under. */
1365
+ export declare function deriveLatenessSettings(request: ScheduleRequest): LatenessSettings;
1056
1366
  /**
1057
1367
  * The class a request runs under: the caller's, or the one its recurrence
1058
1368
  * implies.