@greatwait/contracts 0.1.0-alpha.3 → 0.1.0-alpha.5

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 (345) hide show
  1. package/README.md +12 -10
  2. package/dist/authority.d.ts +33 -27
  3. package/dist/authority.js +12 -2
  4. package/dist/billing.d.ts +1231 -0
  5. package/dist/billing.js +833 -0
  6. package/dist/callback-safety.d.ts +2 -2
  7. package/dist/callback-safety.js +15 -5
  8. package/dist/compatibility.d.ts +3 -3
  9. package/dist/compatibility.js +1 -1
  10. package/dist/configuration-bounds.d.ts +13 -0
  11. package/dist/configuration-bounds.js +13 -0
  12. package/dist/data-export.d.ts +67 -0
  13. package/dist/data-export.js +182 -0
  14. package/dist/effective-limits.d.ts +40 -0
  15. package/dist/effective-limits.js +42 -0
  16. package/dist/endpoints.d.ts +186 -245
  17. package/dist/endpoints.js +82 -86
  18. package/dist/events.d.ts +17 -17
  19. package/dist/events.js +1 -1
  20. package/dist/first-value-journey.d.ts +50 -56
  21. package/dist/first-value-journey.js +17 -20
  22. package/dist/forecast.d.ts +182 -92
  23. package/dist/forecast.js +88 -25
  24. package/dist/identifiers.d.ts +20 -20
  25. package/dist/identifiers.js +1 -1
  26. package/dist/identity.d.ts +41 -37
  27. package/dist/identity.js +5 -4
  28. package/dist/index.d.ts +12 -6
  29. package/dist/index.js +12 -6
  30. package/dist/mcp.d.ts +21 -19
  31. package/dist/mcp.js +2 -2
  32. package/dist/naming.d.ts +45 -0
  33. package/dist/naming.js +159 -0
  34. package/dist/oauth.d.ts +186 -172
  35. package/dist/oauth.js +1 -1
  36. package/dist/operation-definitions.d.ts +9 -0
  37. package/dist/operation-definitions.js +7 -0
  38. package/dist/operational-config.d.ts +101 -0
  39. package/dist/operational-config.js +341 -0
  40. package/dist/operations.d.ts +4742 -2170
  41. package/dist/operations.js +3064 -932
  42. package/dist/organization-lifecycle.d.ts +34 -0
  43. package/dist/organization-lifecycle.js +122 -0
  44. package/dist/partition.d.ts +43 -9
  45. package/dist/partition.js +3 -3
  46. package/dist/policy.d.ts +4 -4
  47. package/dist/policy.js +9 -5
  48. package/dist/problems.d.ts +57 -28
  49. package/dist/problems.js +55 -3
  50. package/dist/protocol.d.ts +209 -80
  51. package/dist/protocol.js +110 -37
  52. package/dist/scheduling-records.d.ts +349 -285
  53. package/dist/scheduling-records.js +1 -1
  54. package/dist/scheduling.d.ts +707 -361
  55. package/dist/scheduling.js +443 -61
  56. package/dist/secrets.d.ts +119 -105
  57. package/dist/secrets.js +1 -1
  58. package/dist/signatures.d.ts +74 -74
  59. package/dist/signatures.js +1 -1
  60. package/dist/tenancy.d.ts +142 -68
  61. package/dist/tenancy.js +70 -17
  62. package/dist/test-sink.d.ts +127 -127
  63. package/dist/test-sink.js +1 -1
  64. package/dist/time.d.ts +4 -4
  65. package/dist/time.js +1 -1
  66. package/dist/timing.d.ts +65 -0
  67. package/dist/timing.js +82 -0
  68. package/dist/usage.d.ts +103 -47
  69. package/dist/usage.js +183 -32
  70. package/dist/workspace.d.ts +34 -34
  71. package/dist/workspace.js +1 -1
  72. package/dist/zod-values.d.ts +3 -0
  73. package/dist/zod-values.js +2 -0
  74. package/dist/zod.d.ts +2 -0
  75. package/dist/zod.js +2 -0
  76. package/generated/v1/examples/attempts.list.response.json +6 -0
  77. package/generated/v1/examples/attempts.read.response.json +6 -0
  78. package/generated/v1/examples/billing.autotopup.request.json +5 -0
  79. package/generated/v1/examples/billing.autotopup.response.json +120 -0
  80. package/generated/v1/examples/billing.autotopuppreview.request.json +19 -0
  81. package/generated/v1/examples/billing.autotopuppreview.response.json +45 -0
  82. package/generated/v1/examples/billing.budgets.request.json +13 -0
  83. package/generated/v1/examples/billing.budgets.response.json +22 -0
  84. package/generated/v1/examples/billing.ceiling.request.json +8 -0
  85. package/generated/v1/examples/billing.ceiling.response.json +120 -0
  86. package/generated/v1/examples/billing.change.request.json +5 -0
  87. package/generated/v1/examples/billing.change.response.json +12 -0
  88. package/generated/v1/examples/billing.funding.response.json +120 -0
  89. package/generated/v1/examples/billing.fundingconfirm.response.json +120 -0
  90. package/generated/v1/examples/billing.fundingquote.request.json +7 -0
  91. package/generated/v1/examples/billing.fundingquote.response.json +13 -0
  92. package/generated/v1/examples/billing.invoicehistory.response.json +6 -0
  93. package/generated/v1/examples/billing.invoices.response.json +15 -0
  94. package/generated/v1/examples/billing.ledger.response.json +23 -0
  95. package/generated/v1/examples/billing.notices.response.json +41 -0
  96. package/generated/v1/examples/billing.notificationsettings.response.json +17 -0
  97. package/generated/v1/examples/billing.notificationsettingsupdate.request.json +9 -0
  98. package/generated/v1/examples/billing.notificationsettingsupdate.response.json +17 -0
  99. package/generated/v1/examples/billing.paymenthistory.response.json +6 -0
  100. package/generated/v1/examples/billing.paymentmethod.response.json +16 -0
  101. package/generated/v1/examples/billing.paymentmethodconfirm.request.json +3 -0
  102. package/generated/v1/examples/billing.paymentmethodconfirm.response.json +16 -0
  103. package/generated/v1/examples/billing.paymentmethodremove.request.json +3 -0
  104. package/generated/v1/examples/billing.paymentmethodremove.response.json +4 -0
  105. package/generated/v1/examples/billing.paymentmethodsetup.request.json +1 -0
  106. package/generated/v1/examples/billing.paymentmethodsetup.response.json +3 -0
  107. package/generated/v1/examples/billing.portal.response.json +3 -0
  108. package/generated/v1/examples/billing.projects.response.json +12 -0
  109. package/generated/v1/examples/billing.purchase.request.json +5 -0
  110. package/generated/v1/examples/billing.purchase.response.json +120 -0
  111. package/generated/v1/examples/billing.quote.request.json +4 -0
  112. package/generated/v1/examples/billing.quote.response.json +19 -0
  113. package/generated/v1/examples/billing.reconcile.response.json +73 -0
  114. package/generated/v1/examples/billing.refundrequest.request.json +10 -0
  115. package/generated/v1/examples/billing.refundrequest.response.json +11 -0
  116. package/generated/v1/examples/billing.refundresolution.request.json +4 -0
  117. package/generated/v1/examples/billing.refundresolution.response.json +120 -0
  118. package/generated/v1/examples/billing.summary.response.json +73 -0
  119. package/generated/v1/examples/endpoints.acknowledgeSigningKeyRotation.response.json +18 -0
  120. package/generated/v1/examples/endpoints.create.response.json +1 -1
  121. package/generated/v1/examples/endpoints.disable.response.json +0 -1
  122. package/generated/v1/examples/{endpoints.verify.response.json → endpoints.enable.response.json} +4 -5
  123. package/generated/v1/examples/endpoints.list.response.json +1 -2
  124. package/generated/v1/examples/endpoints.read.response.json +2 -2
  125. package/generated/v1/examples/endpoints.revealSigningSecret.response.json +7 -0
  126. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +1 -2
  127. package/generated/v1/examples/endpoints.update.response.json +1 -1
  128. package/generated/v1/examples/executions.list.response.json +20 -0
  129. package/generated/v1/examples/exports.cancel.response.json +11 -0
  130. package/generated/v1/examples/exports.create.request.json +1 -0
  131. package/generated/v1/examples/exports.create.response.json +8 -0
  132. package/generated/v1/examples/exports.part.response.json +5 -0
  133. package/generated/v1/examples/exports.read.response.json +8 -0
  134. package/generated/v1/examples/limits.read.response.json +16 -0
  135. package/generated/v1/examples/occurrences.read.response.json +4 -0
  136. package/generated/v1/examples/occurrences.redeliver.response.json +2 -0
  137. package/generated/v1/examples/organizations.close.request.json +5 -0
  138. package/generated/v1/examples/organizations.close.response.json +10 -0
  139. package/generated/v1/examples/organizations.lifecycle.response.json +10 -0
  140. package/generated/v1/examples/organizations.restore.request.json +3 -0
  141. package/generated/v1/examples/organizations.restore.response.json +10 -0
  142. package/generated/v1/examples/projects.archive.request.json +3 -0
  143. package/generated/v1/examples/projects.archive.response.json +14 -0
  144. package/generated/v1/examples/projects.create.response.json +10 -1
  145. package/generated/v1/examples/projects.delete.response.json +9 -0
  146. package/generated/v1/examples/projects.list.response.json +12 -2
  147. package/generated/v1/examples/projects.rename.request.json +3 -0
  148. package/generated/v1/examples/projects.rename.response.json +14 -0
  149. package/generated/v1/examples/schedules.archive.response.json +3 -0
  150. package/generated/v1/examples/schedules.cancel.response.json +3 -0
  151. package/generated/v1/examples/schedules.create.request.json +4 -0
  152. package/generated/v1/examples/schedules.create.response.json +3 -0
  153. package/generated/v1/examples/schedules.list.response.json +3 -0
  154. package/generated/v1/examples/schedules.pause.response.json +3 -0
  155. package/generated/v1/examples/schedules.read.response.json +6 -0
  156. package/generated/v1/examples/schedules.replace.request.json +4 -0
  157. package/generated/v1/examples/schedules.replace.response.json +3 -0
  158. package/generated/v1/examples/schedules.resume.response.json +3 -0
  159. package/generated/v1/examples/timing.summary.response.json +35 -0
  160. package/generated/v1/examples/usage.read.response.json +1 -0
  161. package/generated/v1/first-value-journey.json +43 -18
  162. package/generated/v1/manifest.json +1287 -42
  163. package/generated/v1/openapi.json +36033 -5982
  164. package/generated/v1/policy-matrix.json +341 -47
  165. package/generated/v1/schemas/attempts.list.response.json +39 -1
  166. package/generated/v1/schemas/attempts.read.response.json +39 -1
  167. package/generated/v1/schemas/billing.autotopup.request-headers.json +13 -0
  168. package/generated/v1/schemas/billing.autotopup.request.json +22 -0
  169. package/generated/v1/schemas/billing.autotopup.response-headers.json +10 -0
  170. package/generated/v1/schemas/billing.autotopup.response.json +552 -0
  171. package/generated/v1/schemas/billing.autotopuppreview.request.json +77 -0
  172. package/generated/v1/schemas/billing.autotopuppreview.response.json +277 -0
  173. package/generated/v1/schemas/billing.budgets.request-headers.json +13 -0
  174. package/generated/v1/schemas/billing.budgets.request.json +66 -0
  175. package/generated/v1/schemas/billing.budgets.response-headers.json +10 -0
  176. package/generated/v1/schemas/billing.budgets.response.json +92 -0
  177. package/generated/v1/schemas/billing.ceiling.request-headers.json +13 -0
  178. package/generated/v1/schemas/billing.ceiling.request.json +40 -0
  179. package/generated/v1/schemas/billing.ceiling.response-headers.json +10 -0
  180. package/generated/v1/schemas/billing.ceiling.response.json +552 -0
  181. package/generated/v1/schemas/billing.change.request-headers.json +13 -0
  182. package/generated/v1/schemas/billing.change.request.json +22 -0
  183. package/generated/v1/schemas/billing.change.response.json +119 -0
  184. package/generated/v1/schemas/billing.funding.response.json +552 -0
  185. package/generated/v1/schemas/billing.fundingconfirm.response.json +552 -0
  186. package/generated/v1/schemas/billing.fundingquote.request.json +28 -0
  187. package/generated/v1/schemas/billing.fundingquote.response.json +61 -0
  188. package/generated/v1/schemas/billing.invoicehistory.query.json +16 -0
  189. package/generated/v1/schemas/billing.invoicehistory.response.json +88 -0
  190. package/generated/v1/schemas/billing.invoices.response.json +51 -0
  191. package/generated/v1/schemas/billing.ledger.query.json +16 -0
  192. package/generated/v1/schemas/billing.ledger.response.json +130 -0
  193. package/generated/v1/schemas/billing.notices.query.json +16 -0
  194. package/generated/v1/schemas/billing.notices.response.json +278 -0
  195. package/generated/v1/schemas/billing.notificationsettings.response.json +70 -0
  196. package/generated/v1/schemas/billing.notificationsettingsupdate.request-headers.json +13 -0
  197. package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +43 -0
  198. package/generated/v1/schemas/billing.notificationsettingsupdate.response-headers.json +10 -0
  199. package/generated/v1/schemas/billing.notificationsettingsupdate.response.json +70 -0
  200. package/generated/v1/schemas/billing.paymenthistory.query.json +16 -0
  201. package/generated/v1/schemas/billing.paymenthistory.response.json +182 -0
  202. package/generated/v1/schemas/billing.paymentmethod.response.json +137 -0
  203. package/generated/v1/schemas/billing.paymentmethodconfirm.request.json +14 -0
  204. package/generated/v1/schemas/billing.paymentmethodconfirm.response.json +137 -0
  205. package/generated/v1/schemas/billing.paymentmethodremove.request.json +12 -0
  206. package/generated/v1/schemas/billing.paymentmethodremove.response.json +137 -0
  207. package/generated/v1/schemas/billing.paymentmethodsetup.request.json +12 -0
  208. package/generated/v1/schemas/billing.paymentmethodsetup.response.json +11 -0
  209. package/generated/v1/schemas/billing.portal.response.json +11 -0
  210. package/generated/v1/schemas/billing.projects.response.json +119 -0
  211. package/generated/v1/schemas/billing.purchase.request-headers.json +13 -0
  212. package/generated/v1/schemas/billing.purchase.request.json +26 -0
  213. package/generated/v1/schemas/billing.purchase.response-headers.json +10 -0
  214. package/generated/v1/schemas/billing.purchase.response.json +552 -0
  215. package/generated/v1/schemas/billing.quote.request.json +20 -0
  216. package/generated/v1/schemas/billing.quote.response.json +86 -0
  217. package/generated/v1/schemas/billing.reconcile.response.json +468 -0
  218. package/generated/v1/schemas/billing.refundrequest.request-headers.json +13 -0
  219. package/generated/v1/schemas/billing.refundrequest.request.json +42 -0
  220. package/generated/v1/schemas/billing.refundrequest.response-headers.json +10 -0
  221. package/generated/v1/schemas/billing.refundrequest.response.json +45 -0
  222. package/generated/v1/schemas/billing.refundresolution.request-headers.json +13 -0
  223. package/generated/v1/schemas/billing.refundresolution.request.json +61 -0
  224. package/generated/v1/schemas/billing.refundresolution.response-headers.json +10 -0
  225. package/generated/v1/schemas/billing.refundresolution.response.json +552 -0
  226. package/generated/v1/schemas/billing.summary.response.json +468 -0
  227. package/generated/v1/schemas/context.read.response.json +2 -0
  228. package/generated/v1/schemas/credentials.connection.response.json +2 -0
  229. package/generated/v1/schemas/credentials.create.request.json +2 -0
  230. package/generated/v1/schemas/credentials.create.response.json +2 -0
  231. package/generated/v1/schemas/credentials.list.response.json +2 -0
  232. package/generated/v1/schemas/credentials.revoke.response.json +2 -0
  233. package/generated/v1/schemas/credentials.rotate.response.json +4 -0
  234. package/generated/v1/schemas/{endpoints.verify.request-headers.json → endpoints.acknowledgeSigningKeyRotation.request-headers.json} +2 -1
  235. package/generated/v1/schemas/{endpoints.verify.response.json → endpoints.acknowledgeSigningKeyRotation.response.json} +8 -21
  236. package/generated/v1/schemas/endpoints.create.request.json +5 -0
  237. package/generated/v1/schemas/endpoints.create.response.json +8 -21
  238. package/generated/v1/schemas/endpoints.disable.response.json +8 -21
  239. package/generated/v1/schemas/endpoints.enable.response-headers.json +11 -0
  240. package/generated/v1/schemas/endpoints.enable.response.json +87 -0
  241. package/generated/v1/schemas/endpoints.list.response.json +8 -21
  242. package/generated/v1/schemas/endpoints.read.response.json +8 -21
  243. package/generated/v1/schemas/endpoints.revealSigningSecret.response.json +43 -0
  244. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +8 -21
  245. package/generated/v1/schemas/endpoints.update.request.json +5 -0
  246. package/generated/v1/schemas/endpoints.update.response.json +8 -21
  247. package/generated/v1/schemas/executions.list.query.json +46 -0
  248. package/generated/v1/schemas/executions.list.response.json +116 -0
  249. package/generated/v1/schemas/exports.cancel.response.json +48 -0
  250. package/generated/v1/schemas/exports.create.request.json +6 -0
  251. package/generated/v1/schemas/exports.create.response.json +38 -0
  252. package/generated/v1/schemas/exports.part.query.json +11 -0
  253. package/generated/v1/schemas/exports.part.response.json +22 -0
  254. package/generated/v1/schemas/exports.read.response.json +38 -0
  255. package/generated/v1/schemas/forecast.read.request-headers.json +10 -0
  256. package/generated/v1/schemas/forecast.read.response.json +148 -0
  257. package/generated/v1/schemas/grants.list.response.json +2 -0
  258. package/generated/v1/schemas/grants.revoke.response.json +2 -0
  259. package/generated/v1/schemas/limits.read.response.json +79 -0
  260. package/generated/v1/schemas/occurrences.list.query.json +5 -0
  261. package/generated/v1/schemas/occurrences.list.response.json +23 -0
  262. package/generated/v1/schemas/occurrences.read.response.json +23 -0
  263. package/generated/v1/schemas/occurrences.redeliver.response.json +39 -1
  264. package/generated/v1/schemas/organizations.close.request.json +20 -0
  265. package/generated/v1/schemas/organizations.close.response.json +68 -0
  266. package/generated/v1/schemas/organizations.lifecycle.response.json +68 -0
  267. package/generated/v1/schemas/organizations.restore.request.json +13 -0
  268. package/generated/v1/schemas/organizations.restore.response.json +68 -0
  269. package/generated/v1/schemas/projects.archive.request-headers.json +11 -0
  270. package/generated/v1/schemas/projects.archive.request.json +10 -0
  271. package/generated/v1/schemas/projects.archive.response-headers.json +11 -0
  272. package/generated/v1/schemas/projects.archive.response.json +79 -0
  273. package/generated/v1/schemas/projects.create.response.json +55 -1
  274. package/generated/v1/schemas/projects.delete.request-headers.json +11 -0
  275. package/generated/v1/schemas/projects.delete.response.json +37 -0
  276. package/generated/v1/schemas/projects.list.response.json +61 -2
  277. package/generated/v1/schemas/projects.rename.request-headers.json +11 -0
  278. package/generated/v1/schemas/projects.rename.request.json +12 -0
  279. package/generated/v1/schemas/projects.rename.response-headers.json +11 -0
  280. package/generated/v1/schemas/projects.rename.response.json +79 -0
  281. package/generated/v1/schemas/schedules.archive.response.json +90 -2
  282. package/generated/v1/schemas/schedules.cancel.response.json +90 -2
  283. package/generated/v1/schemas/schedules.create.request.json +24 -3
  284. package/generated/v1/schemas/schedules.create.response.json +90 -2
  285. package/generated/v1/schemas/schedules.list.query.json +13 -0
  286. package/generated/v1/schemas/schedules.list.response.json +67 -2
  287. package/generated/v1/schemas/schedules.pause.response.json +90 -2
  288. package/generated/v1/schemas/schedules.read.response.json +90 -2
  289. package/generated/v1/schemas/schedules.replace.request.json +24 -3
  290. package/generated/v1/schemas/schedules.replace.response.json +90 -2
  291. package/generated/v1/schemas/schedules.resume.response.json +90 -2
  292. package/generated/v1/schemas/timing.summary.response.json +191 -0
  293. package/generated/v1/schemas/usage.read.query.json +7 -0
  294. package/generated/v1/schemas/usage.read.response.json +36 -1
  295. package/generated/v1/snippets/billing.autotopup.json +6 -0
  296. package/generated/v1/snippets/billing.autotopuppreview.json +6 -0
  297. package/generated/v1/snippets/billing.budgets.json +6 -0
  298. package/generated/v1/snippets/billing.ceiling.json +6 -0
  299. package/generated/v1/snippets/billing.change.json +6 -0
  300. package/generated/v1/snippets/billing.funding.json +6 -0
  301. package/generated/v1/snippets/billing.fundingconfirm.json +6 -0
  302. package/generated/v1/snippets/billing.fundingquote.json +6 -0
  303. package/generated/v1/snippets/billing.invoicehistory.json +6 -0
  304. package/generated/v1/snippets/billing.invoices.json +6 -0
  305. package/generated/v1/snippets/billing.ledger.json +6 -0
  306. package/generated/v1/snippets/billing.notices.json +6 -0
  307. package/generated/v1/snippets/billing.notificationsettings.json +6 -0
  308. package/generated/v1/snippets/billing.notificationsettingsupdate.json +6 -0
  309. package/generated/v1/snippets/billing.paymenthistory.json +6 -0
  310. package/generated/v1/snippets/billing.paymentmethod.json +6 -0
  311. package/generated/v1/snippets/billing.paymentmethodconfirm.json +6 -0
  312. package/generated/v1/snippets/billing.paymentmethodremove.json +6 -0
  313. package/generated/v1/snippets/billing.paymentmethodsetup.json +6 -0
  314. package/generated/v1/snippets/billing.portal.json +6 -0
  315. package/generated/v1/snippets/billing.projects.json +6 -0
  316. package/generated/v1/snippets/billing.purchase.json +6 -0
  317. package/generated/v1/snippets/billing.quote.json +6 -0
  318. package/generated/v1/snippets/billing.reconcile.json +6 -0
  319. package/generated/v1/snippets/billing.refundrequest.json +6 -0
  320. package/generated/v1/snippets/billing.refundresolution.json +6 -0
  321. package/generated/v1/snippets/billing.summary.json +6 -0
  322. package/generated/v1/snippets/endpoints.acknowledgeSigningKeyRotation.json +6 -0
  323. package/generated/v1/snippets/{endpoints.verify.json → endpoints.enable.json} +3 -3
  324. package/generated/v1/snippets/endpoints.revealSigningSecret.json +6 -0
  325. package/generated/v1/snippets/executions.list.json +6 -0
  326. package/generated/v1/snippets/exports.cancel.json +6 -0
  327. package/generated/v1/snippets/exports.create.json +6 -0
  328. package/generated/v1/snippets/exports.part.json +6 -0
  329. package/generated/v1/snippets/exports.read.json +6 -0
  330. package/generated/v1/snippets/forecast.windows.json +1 -1
  331. package/generated/v1/snippets/limits.read.json +6 -0
  332. package/generated/v1/snippets/organizations.close.json +6 -0
  333. package/generated/v1/snippets/organizations.lifecycle.json +6 -0
  334. package/generated/v1/snippets/organizations.restore.json +6 -0
  335. package/generated/v1/snippets/projects.archive.json +6 -0
  336. package/generated/v1/snippets/projects.delete.json +6 -0
  337. package/generated/v1/snippets/projects.rename.json +6 -0
  338. package/generated/v1/snippets/schedules.create.json +3 -3
  339. package/generated/v1/snippets/schedules.replace.json +3 -3
  340. package/generated/v1/snippets/timing.summary.json +6 -0
  341. package/package.json +7 -7
  342. package/dist/callback-ownership.d.ts +0 -58
  343. package/dist/callback-ownership.js +0 -71
  344. package/generated/v1/callback-endpoint-verification.json +0 -59
  345. /package/generated/v1/schemas/{endpoints.verify.response-headers.json → endpoints.acknowledgeSigningKeyRotation.response-headers.json} +0 -0
package/dist/oauth.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "./zod.js";
2
2
  import { SCOPES, environmentKindSchema, scopeSchema, } from "./authority.js";
3
3
  import { oauthClientIdSchema, oauthGrantIdSchema, projectIdSchema, } from "./identifiers.js";
4
4
  import { timestampSchema } from "./time.js";
@@ -0,0 +1,9 @@
1
+ import type { OperationDefinition } from "./operations.js";
2
+ /** Fail-closed response placeholder used by the hosted API's request-only registry. */
3
+ export declare const API_UNUSED_RESPONSE_SCHEMA: import("zod").ZodNever;
4
+ /** Keep registry ids precise without duplicating inferred Zod internals in every consumer declaration. */
5
+ export declare function defineOperations<const T extends readonly OperationDefinition[]>(definitions: T): {
6
+ readonly [K in keyof T]: OperationDefinition & {
7
+ readonly id: T[K]["id"];
8
+ };
9
+ };
@@ -0,0 +1,7 @@
1
+ import { never as neverSchema } from "zod";
2
+ /** Fail-closed response placeholder used by the hosted API's request-only registry. */
3
+ export const API_UNUSED_RESPONSE_SCHEMA = neverSchema();
4
+ /** Keep registry ids precise without duplicating inferred Zod internals in every consumer declaration. */
5
+ export function defineOperations(definitions) {
6
+ return definitions;
7
+ }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * The single numeric owner for deployment-governed timer, timeout and retry
3
+ * configuration. Values preserve the accepted policy and measured W9 timing
4
+ * budgets; this leaf imports no schemas, application code or database runtime.
5
+ * Change through a reviewed deployment. Retrying a callback, funding operation
6
+ * or idempotency receipt is a public correctness promise, so organizations may
7
+ * not override these values. Original owner modules keep compatible exports.
8
+ */
9
+ export declare const OPERATIONAL_TIMING: Readonly<{
10
+ projectBillingConflictRetryCount: 4;
11
+ projectBillingConflictRetryBaseMs: 250;
12
+ billingNoticeBackoffBaseMs: 60000;
13
+ automaticFundingBackoffBaseMs: 60000;
14
+ controlPlaneBackoffBaseMs: 10;
15
+ postgresConnectionAcquisitionMs: 2900;
16
+ postgresLockMs: 2000;
17
+ postgresStatementMs: 2900;
18
+ postgresTransactionBudgetMs: 2900;
19
+ postgresTransactionMaximumMs: 2999;
20
+ apiMutationStatementMs: 5000;
21
+ apiMutationBudgetMs: 5000;
22
+ apiMutationMaximumMs: 5000;
23
+ controlPlaneWriteStatementMs: 5000;
24
+ controlPlaneWriteBudgetMs: 5000;
25
+ dispatchHedgeAfterMs: 400;
26
+ dispatchHedgeThirdLegMs: 1200;
27
+ apiHedgeAfterMs: 300;
28
+ authorizationReplayDelaysMs: readonly [500, 1500, 4000];
29
+ claimProbeCount: 3;
30
+ claimReclaimCount: 3;
31
+ claimReclaimWindowMs: 1200;
32
+ controlPlaneBackoffCeilingMs: 200;
33
+ controlPlaneConnectMs: 5000;
34
+ conclusionReplayDelaysMs: readonly [250, 1000, 2000, 4000];
35
+ hostFullRetryMs: 1000;
36
+ deliveryRetryBaseMs: readonly [2000, 5000, 15000, 60000];
37
+ deliveryRetryAfterMaximumMs: 3600000;
38
+ wakeReceiptRetryMs: 5000;
39
+ wakeReceiptRecoveryLifetimeMs: number;
40
+ repairOverdueGraceSeconds: 10;
41
+ admissionWindowMs: 1000;
42
+ admissionLookaheadMs: 60000;
43
+ admissionHedgeAfterMs: 250;
44
+ admissionRpcBudgetMs: 2999;
45
+ unreachableRetryMs: 5000;
46
+ heldResponseStepMarginMs: 20000;
47
+ sendLeaseMarginSeconds: 12;
48
+ sendSettlementReserveMs: 7000;
49
+ exhaustedClaimRetryMs: 250;
50
+ retentionCadenceMs: number;
51
+ retentionBacklogCadenceMs: number;
52
+ retentionRetryHandoffCount: 5;
53
+ timerSignalRetryDelaysMs: readonly number[];
54
+ dispatchWarmHorizonMs: 10000;
55
+ sdkAutoRetryCount: 3;
56
+ sdkAutoRetryBaseMs: 250;
57
+ sdkAutoRetryMaximumWaitMs: 30000;
58
+ callbackMiddlewareLeaseMs: 30000;
59
+ automaticFundingSuccessCooldownMs: number;
60
+ automaticFundingClaimLeaseMs: number;
61
+ automaticFundingBackoffMaximumMs: number;
62
+ providerCreateFenceMs: number;
63
+ fundingUnresolvedAfterMs: number;
64
+ fundingRepairMs: number;
65
+ fundingActionRequiredRepairMs: number;
66
+ fundingDisputeRepairMs: number;
67
+ billingNoticeBackoffMaximumMs: 86400000;
68
+ billingNoticeClaimMaximumMs: number;
69
+ billingNoticeRetryMaximumMs: number;
70
+ billingNoticeCatchUpRetryCount: 5;
71
+ billingNoticeClaimSeconds: number;
72
+ fundingDiscoveryClaimMs: number;
73
+ fundingDiscoveryRetryMaximumMs: number;
74
+ fundingDiscoveryClaimMaximumMs: number;
75
+ fundingAbandonedAfterMs: number;
76
+ checkoutDiscoverySkewSeconds: 60;
77
+ checkoutDiscoveryWindowSeconds: number;
78
+ fundingQuoteLifetimeMs: number;
79
+ automaticFundingPreviewLifetimeMs: number;
80
+ testSinkRefreshMs: 3000;
81
+ payloadLintDelayMs: 250;
82
+ payloadParseBudgetMs: 50;
83
+ dashboardQueryStaleMs: 30000;
84
+ forecastRefreshFloorMs: 30000;
85
+ forecastRefreshMaximumMs: 300000;
86
+ forecastCoverageSlackMs: 120000;
87
+ }>;
88
+ export type OperationalTimingKey = keyof typeof OPERATIONAL_TIMING;
89
+ export declare const OPERATIONAL_TIMING_ENFORCEMENT: Readonly<Record<OperationalTimingKey, readonly string[]>>;
90
+ /** Catalog metadata derives its defaults from the numeric owner above. */
91
+ export declare const OPERATIONAL_TIMING_CATALOG: readonly Readonly<{
92
+ key: "operational.projectBillingConflictRetryCount" | "operational.projectBillingConflictRetryBaseMs" | "operational.billingNoticeBackoffBaseMs" | "operational.automaticFundingBackoffBaseMs" | "operational.controlPlaneBackoffBaseMs" | "operational.postgresConnectionAcquisitionMs" | "operational.postgresLockMs" | "operational.postgresStatementMs" | "operational.postgresTransactionBudgetMs" | "operational.postgresTransactionMaximumMs" | "operational.apiMutationStatementMs" | "operational.apiMutationBudgetMs" | "operational.apiMutationMaximumMs" | "operational.controlPlaneWriteStatementMs" | "operational.controlPlaneWriteBudgetMs" | "operational.dispatchHedgeAfterMs" | "operational.dispatchHedgeThirdLegMs" | "operational.apiHedgeAfterMs" | "operational.authorizationReplayDelaysMs" | "operational.claimProbeCount" | "operational.claimReclaimCount" | "operational.claimReclaimWindowMs" | "operational.controlPlaneBackoffCeilingMs" | "operational.controlPlaneConnectMs" | "operational.conclusionReplayDelaysMs" | "operational.hostFullRetryMs" | "operational.deliveryRetryBaseMs" | "operational.deliveryRetryAfterMaximumMs" | "operational.wakeReceiptRetryMs" | "operational.wakeReceiptRecoveryLifetimeMs" | "operational.repairOverdueGraceSeconds" | "operational.admissionWindowMs" | "operational.admissionLookaheadMs" | "operational.admissionHedgeAfterMs" | "operational.admissionRpcBudgetMs" | "operational.unreachableRetryMs" | "operational.heldResponseStepMarginMs" | "operational.sendLeaseMarginSeconds" | "operational.sendSettlementReserveMs" | "operational.exhaustedClaimRetryMs" | "operational.retentionCadenceMs" | "operational.retentionBacklogCadenceMs" | "operational.retentionRetryHandoffCount" | "operational.timerSignalRetryDelaysMs" | "operational.dispatchWarmHorizonMs" | "operational.sdkAutoRetryCount" | "operational.sdkAutoRetryBaseMs" | "operational.sdkAutoRetryMaximumWaitMs" | "operational.callbackMiddlewareLeaseMs" | "operational.automaticFundingSuccessCooldownMs" | "operational.automaticFundingClaimLeaseMs" | "operational.automaticFundingBackoffMaximumMs" | "operational.providerCreateFenceMs" | "operational.fundingUnresolvedAfterMs" | "operational.fundingRepairMs" | "operational.fundingActionRequiredRepairMs" | "operational.fundingDisputeRepairMs" | "operational.billingNoticeBackoffMaximumMs" | "operational.billingNoticeClaimMaximumMs" | "operational.billingNoticeRetryMaximumMs" | "operational.billingNoticeCatchUpRetryCount" | "operational.billingNoticeClaimSeconds" | "operational.fundingDiscoveryClaimMs" | "operational.fundingDiscoveryRetryMaximumMs" | "operational.fundingDiscoveryClaimMaximumMs" | "operational.fundingAbandonedAfterMs" | "operational.checkoutDiscoverySkewSeconds" | "operational.checkoutDiscoveryWindowSeconds" | "operational.fundingQuoteLifetimeMs" | "operational.automaticFundingPreviewLifetimeMs" | "operational.testSinkRefreshMs" | "operational.payloadLintDelayMs" | "operational.payloadParseBudgetMs" | "operational.dashboardQueryStaleMs" | "operational.forecastRefreshFloorMs" | "operational.forecastRefreshMaximumMs" | "operational.forecastCoverageSlackMs";
93
+ default: number | readonly number[] | readonly [500, 1500, 4000] | readonly [250, 1000, 2000, 4000] | readonly [2000, 5000, 15000, 60000];
94
+ unit: "count" | "seconds" | "milliseconds";
95
+ scope: "deployment";
96
+ permittedLayers: readonly ["deployment"];
97
+ visibility: "operator";
98
+ changeProcedure: "Reviewed deployment; preserve callback, retry, funding and receipt compatibility";
99
+ rationale: "Retain the existing measured or copied operating policy; the enforcement owner documents its evidence";
100
+ enforcement: readonly string[];
101
+ }>[];
@@ -0,0 +1,341 @@
1
+ /**
2
+ * The single numeric owner for deployment-governed timer, timeout and retry
3
+ * configuration. Values preserve the accepted policy and measured W9 timing
4
+ * budgets; this leaf imports no schemas, application code or database runtime.
5
+ * Change through a reviewed deployment. Retrying a callback, funding operation
6
+ * or idempotency receipt is a public correctness promise, so organizations may
7
+ * not override these values. Original owner modules keep compatible exports.
8
+ */
9
+ export const OPERATIONAL_TIMING = Object.freeze({
10
+ projectBillingConflictRetryCount: 4,
11
+ projectBillingConflictRetryBaseMs: 250,
12
+ billingNoticeBackoffBaseMs: 60_000,
13
+ automaticFundingBackoffBaseMs: 60_000,
14
+ controlPlaneBackoffBaseMs: 10,
15
+ postgresConnectionAcquisitionMs: 2_900,
16
+ postgresLockMs: 2_000,
17
+ postgresStatementMs: 2_900,
18
+ postgresTransactionBudgetMs: 2_900,
19
+ postgresTransactionMaximumMs: 2_999,
20
+ apiMutationStatementMs: 5_000,
21
+ apiMutationBudgetMs: 5_000,
22
+ apiMutationMaximumMs: 5_000,
23
+ controlPlaneWriteStatementMs: 5_000,
24
+ controlPlaneWriteBudgetMs: 5_000,
25
+ dispatchHedgeAfterMs: 400,
26
+ dispatchHedgeThirdLegMs: 1_200,
27
+ apiHedgeAfterMs: 300,
28
+ authorizationReplayDelaysMs: Object.freeze([500, 1_500, 4_000]),
29
+ claimProbeCount: 3,
30
+ claimReclaimCount: 3,
31
+ claimReclaimWindowMs: 1_200,
32
+ controlPlaneBackoffCeilingMs: 200,
33
+ controlPlaneConnectMs: 5_000,
34
+ conclusionReplayDelaysMs: Object.freeze([250, 1_000, 2_000, 4_000]),
35
+ hostFullRetryMs: 1_000,
36
+ deliveryRetryBaseMs: Object.freeze([2_000, 5_000, 15_000, 60_000]),
37
+ deliveryRetryAfterMaximumMs: 3_600_000,
38
+ wakeReceiptRetryMs: 5_000,
39
+ wakeReceiptRecoveryLifetimeMs: 9 * 60_000,
40
+ repairOverdueGraceSeconds: 10,
41
+ admissionWindowMs: 1_000,
42
+ admissionLookaheadMs: 60_000,
43
+ admissionHedgeAfterMs: 250,
44
+ admissionRpcBudgetMs: 2_999,
45
+ unreachableRetryMs: 5_000,
46
+ heldResponseStepMarginMs: 20_000,
47
+ sendLeaseMarginSeconds: 12,
48
+ sendSettlementReserveMs: 7_000,
49
+ exhaustedClaimRetryMs: 250,
50
+ retentionCadenceMs: 60 * 60 * 1_000,
51
+ retentionBacklogCadenceMs: 60 * 1_000,
52
+ retentionRetryHandoffCount: 5,
53
+ timerSignalRetryDelaysMs: Object.freeze([250, 1_000]),
54
+ dispatchWarmHorizonMs: 10_000,
55
+ sdkAutoRetryCount: 3,
56
+ sdkAutoRetryBaseMs: 250,
57
+ sdkAutoRetryMaximumWaitMs: 30_000,
58
+ callbackMiddlewareLeaseMs: 30_000,
59
+ automaticFundingSuccessCooldownMs: 15 * 60 * 1_000,
60
+ automaticFundingClaimLeaseMs: 60 * 1_000,
61
+ automaticFundingBackoffMaximumMs: 60 * 60 * 1_000,
62
+ providerCreateFenceMs: 23 * 60 * 60 * 1_000,
63
+ fundingUnresolvedAfterMs: 15 * 60 * 1_000,
64
+ fundingRepairMs: 60 * 1_000,
65
+ fundingActionRequiredRepairMs: 5 * 60 * 1_000,
66
+ fundingDisputeRepairMs: 5 * 60 * 1_000,
67
+ billingNoticeBackoffMaximumMs: 86_400_000,
68
+ billingNoticeClaimMaximumMs: 5 * 60_000,
69
+ billingNoticeRetryMaximumMs: 60 * 60_000,
70
+ billingNoticeCatchUpRetryCount: 5,
71
+ billingNoticeClaimSeconds: 2 * 60,
72
+ fundingDiscoveryClaimMs: 2 * 60 * 1_000,
73
+ fundingDiscoveryRetryMaximumMs: 24 * 60 * 60 * 1_000,
74
+ fundingDiscoveryClaimMaximumMs: 5 * 60 * 1_000,
75
+ fundingAbandonedAfterMs: 60 * 60 * 1000,
76
+ checkoutDiscoverySkewSeconds: 60,
77
+ checkoutDiscoveryWindowSeconds: 23 * 60 * 60,
78
+ fundingQuoteLifetimeMs: 5 * 60_000,
79
+ automaticFundingPreviewLifetimeMs: 5 * 60_000,
80
+ testSinkRefreshMs: 3_000,
81
+ payloadLintDelayMs: 250,
82
+ payloadParseBudgetMs: 50,
83
+ dashboardQueryStaleMs: 30_000,
84
+ forecastRefreshFloorMs: 30_000,
85
+ forecastRefreshMaximumMs: 300_000,
86
+ forecastCoverageSlackMs: 120_000,
87
+ });
88
+ export const OPERATIONAL_TIMING_ENFORCEMENT = Object.freeze({
89
+ forecastRefreshFloorMs: [
90
+ "packages/contracts/src/forecast.ts#OPERATIONAL_TIMING.forecastRefreshFloorMs",
91
+ "packages/scheduling/src/partition-forecast.ts#OPERATIONAL_TIMING.forecastRefreshFloorMs",
92
+ ],
93
+ forecastRefreshMaximumMs: [
94
+ "packages/contracts/src/forecast.ts#OPERATIONAL_TIMING.forecastRefreshMaximumMs",
95
+ "packages/scheduling/src/partition-forecast.ts#OPERATIONAL_TIMING.forecastRefreshMaximumMs",
96
+ ],
97
+ forecastCoverageSlackMs: [
98
+ "packages/contracts/src/forecast.ts#OPERATIONAL_TIMING.forecastCoverageSlackMs",
99
+ "packages/scheduling/src/partition-forecast.ts#OPERATIONAL_TIMING.forecastCoverageSlackMs",
100
+ ],
101
+ postgresConnectionAcquisitionMs: [
102
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_CONNECTION_ACQUISITION_TIMEOUT_MS",
103
+ ],
104
+ postgresLockMs: [
105
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_LOCK_TIMEOUT_MS",
106
+ ],
107
+ postgresStatementMs: [
108
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_STATEMENT_TIMEOUT_MS",
109
+ ],
110
+ postgresTransactionBudgetMs: [
111
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_TRANSACTION_BUDGET_MS",
112
+ ],
113
+ postgresTransactionMaximumMs: [
114
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#MAX_TRANSACTION_BUDGET_MS",
115
+ ],
116
+ apiMutationStatementMs: [
117
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_MUTATION_STATEMENT_TIMEOUT_MS",
118
+ ],
119
+ apiMutationBudgetMs: [
120
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DEFAULT_MUTATION_TRANSACTION_BUDGET_MS",
121
+ ],
122
+ apiMutationMaximumMs: [
123
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#MAX_MUTATION_TRANSACTION_BUDGET_MS",
124
+ ],
125
+ controlPlaneWriteStatementMs: [
126
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#CONTROL_PLANE_WRITE_STATEMENT_TIMEOUT_MS",
127
+ ],
128
+ controlPlaneWriteBudgetMs: [
129
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#CONTROL_PLANE_WRITE_BUDGET_MS",
130
+ ],
131
+ dispatchHedgeAfterMs: [
132
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DISPATCH_HEDGE_AFTER_MS",
133
+ ],
134
+ dispatchHedgeThirdLegMs: [
135
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#DISPATCH_HEDGE_THIRD_LEG_MS",
136
+ ],
137
+ apiHedgeAfterMs: [
138
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#API_HEDGE_AFTER_MS",
139
+ ],
140
+ authorizationReplayDelaysMs: [
141
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#AUTHORIZATION_REPLAY_DELAYS_MS",
142
+ ],
143
+ claimProbeCount: [
144
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#CLAIM_PROBE_ATTEMPTS",
145
+ ],
146
+ claimReclaimCount: [
147
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#CLAIM_RECLAIM_LIMIT",
148
+ ],
149
+ claimReclaimWindowMs: [
150
+ "packages/postgres-scheduling/src/postgres-timeouts.ts#CLAIM_RECLAIM_WINDOW_MS",
151
+ ],
152
+ controlPlaneBackoffCeilingMs: [
153
+ "packages/postgres-scheduling/src/control-plane-database.ts#CONTROL_PLANE_BACKOFF_CEILING_MS",
154
+ ],
155
+ controlPlaneConnectMs: [
156
+ "packages/postgres-scheduling/src/control-plane-database.ts#CONTROL_PLANE_CONNECT_TIMEOUT_MS",
157
+ ],
158
+ conclusionReplayDelaysMs: [
159
+ "packages/application/src/dialer.ts#DEFAULT_CONCLUSION_RETRY_DELAYS_MS",
160
+ ],
161
+ hostFullRetryMs: [
162
+ "packages/application/src/dialer.ts#DEFAULT_HOST_FULL_RETRY_MS",
163
+ "packages/postgres-scheduling/src/postgres-repository.ts#CLAIM_SEND_HOST_FULL_RETRY_MS",
164
+ ],
165
+ deliveryRetryBaseMs: [
166
+ "packages/application/src/schedule-series.ts#RETRY_BASE_MS",
167
+ ],
168
+ deliveryRetryAfterMaximumMs: [
169
+ "packages/application/src/schedule-series.ts#MAX_RETRY_AFTER_MS",
170
+ ],
171
+ wakeReceiptRetryMs: [
172
+ "packages/application/src/timer-bucket.ts#WAKE_RECEIPT_RETRY_MS",
173
+ ],
174
+ wakeReceiptRecoveryLifetimeMs: [
175
+ "packages/application/src/timer-bucket.ts#WAKE_RECEIPT_RECOVERY_LIFETIME_MS",
176
+ ],
177
+ repairOverdueGraceSeconds: [
178
+ "packages/application/src/timer-bucket-repair.ts#REPAIR_OVERDUE_GRACE_SECONDS",
179
+ ],
180
+ admissionWindowMs: [
181
+ "packages/application/src/admission-window.ts#ADMISSION_WINDOW_MS",
182
+ ],
183
+ admissionLookaheadMs: [
184
+ "packages/application/src/admission-window.ts#ADMISSION_WINDOW_MAX_LOOKAHEAD_MS",
185
+ ],
186
+ admissionHedgeAfterMs: [
187
+ "packages/delivery-runtime/src/admission-hedge.ts#ADMISSION_HEDGE_AFTER_MS",
188
+ ],
189
+ admissionRpcBudgetMs: [
190
+ "packages/delivery-runtime/src/admission-hedge.ts#ADMISSION_RPC_BUDGET_MS",
191
+ ],
192
+ unreachableRetryMs: [
193
+ "packages/delivery-runtime/src/dispatch-admission.ts#UNREACHABLE_RETRY_MS",
194
+ ],
195
+ heldResponseStepMarginMs: [
196
+ "packages/delivery-runtime/src/held-response-carrier.ts#HELD_RESPONSE_STEP_MARGIN_MS",
197
+ ],
198
+ sendLeaseMarginSeconds: [
199
+ "packages/delivery-runtime/src/held-response-carrier.ts#SEND_LEASE_MARGIN_SECONDS",
200
+ ],
201
+ sendSettlementReserveMs: [
202
+ "packages/delivery-runtime/src/held-response-carrier.ts#SEND_SETTLEMENT_RESERVE_MS",
203
+ ],
204
+ exhaustedClaimRetryMs: [
205
+ "packages/timer-bucket/src/durable-object.ts#EXHAUSTED_CLAIM_RETRY_MS",
206
+ ],
207
+ retentionCadenceMs: [
208
+ "packages/retention-worker/src/worker.ts#RETENTION_CADENCE_MS",
209
+ ],
210
+ retentionBacklogCadenceMs: [
211
+ "packages/retention-worker/src/worker.ts#RETENTION_BACKLOG_CADENCE_MS",
212
+ ],
213
+ retentionRetryHandoffCount: [
214
+ "packages/retention-worker/src/worker.ts#RETENTION_RETRY_HANDOFF_COUNT",
215
+ ],
216
+ timerSignalRetryDelaysMs: [
217
+ "apps/api/src/detached-signal.ts#TIMER_SIGNAL_RETRY_DELAYS_MS",
218
+ ],
219
+ dispatchWarmHorizonMs: ["apps/api/src/worker.ts#DISPATCH_WARM_HORIZON_MS"],
220
+ sdkAutoRetryCount: ["packages/api-client/src/client.ts#SDK_AUTO_RETRY_LIMIT"],
221
+ sdkAutoRetryBaseMs: [
222
+ "packages/api-client/src/client.ts#SDK_AUTO_RETRY_BASE_DELAY_MS",
223
+ ],
224
+ sdkAutoRetryMaximumWaitMs: [
225
+ "packages/api-client/src/client.ts#SDK_AUTO_RETRY_MAX_WAIT_MS",
226
+ ],
227
+ callbackMiddlewareLeaseMs: [
228
+ "packages/api-client/src/callback-middleware.ts#DEFAULT_LEASE_MS",
229
+ ],
230
+ automaticFundingSuccessCooldownMs: [
231
+ "packages/postgres-scheduling/src/automatic-funding.ts#AUTOMATIC_FUNDING_SUCCESS_COOLDOWN_MS",
232
+ ],
233
+ automaticFundingClaimLeaseMs: [
234
+ "packages/postgres-scheduling/src/automatic-funding.ts#CLAIM_LEASE_MS",
235
+ ],
236
+ automaticFundingBackoffMaximumMs: [
237
+ "packages/postgres-scheduling/src/automatic-funding.ts#MAX_BACKOFF_MS",
238
+ ],
239
+ providerCreateFenceMs: [
240
+ "packages/postgres-scheduling/src/automatic-funding.ts#PROVIDER_CREATE_FENCE_MS",
241
+ "packages/application/src/execution-funding-provider.ts#EXECUTION_FUNDING_CREATE_FENCE_MS",
242
+ "apps/api/src/billing/stripe-provider.ts#MAXIMUM_CREATE_AGE_MS",
243
+ ],
244
+ fundingUnresolvedAfterMs: [
245
+ "packages/postgres-scheduling/src/funding.ts#FIFTEEN_MINUTES_MS",
246
+ "packages/application/src/execution-funding-provider.ts#EXECUTION_FUNDING_UNRESOLVED_AFTER_MS",
247
+ ],
248
+ fundingRepairMs: [
249
+ "packages/postgres-scheduling/src/funding.ts#REPAIR_DELAY_MS",
250
+ ],
251
+ fundingActionRequiredRepairMs: [
252
+ "packages/postgres-scheduling/src/funding.ts#ACTION_REQUIRED_REPAIR_DELAY_MS",
253
+ ],
254
+ fundingDisputeRepairMs: [
255
+ "packages/postgres-scheduling/src/funding.ts#DISPUTE_REPAIR_DELAY_MS",
256
+ ],
257
+ billingNoticeBackoffMaximumMs: [
258
+ "packages/postgres-scheduling/src/billing-notifications.ts#MAX_BACKOFF_MS",
259
+ ],
260
+ billingNoticeClaimMaximumMs: [
261
+ "apps/api/src/billing/billing-notification-store.ts#MAX_CLAIM_MS",
262
+ ],
263
+ billingNoticeRetryMaximumMs: [
264
+ "apps/api/src/billing/billing-notification-store.ts#MAX_RETRY_MS",
265
+ ],
266
+ billingNoticeCatchUpRetryCount: [
267
+ "apps/api/src/billing/billing-notice-catch-up.ts#RETRY_LIMIT",
268
+ ],
269
+ billingNoticeClaimSeconds: [
270
+ "apps/api/src/billing/billing-notification-runtime.ts#CLAIM_SECONDS",
271
+ ],
272
+ fundingDiscoveryClaimMs: [
273
+ "apps/api/src/billing/execution-funding-runtime.ts#DISCOVERY_CLAIM_MS",
274
+ ],
275
+ fundingDiscoveryRetryMaximumMs: [
276
+ "apps/api/src/billing/execution-funding-runtime.ts#DISCOVERY_MAX_RETRY_MS",
277
+ "apps/api/src/billing/execution-funding-store.ts#MAX_DISCOVERY_RETRY_MS",
278
+ ],
279
+ fundingDiscoveryClaimMaximumMs: [
280
+ "apps/api/src/billing/execution-funding-store.ts#MAX_DISCOVERY_CLAIM_MS",
281
+ ],
282
+ fundingAbandonedAfterMs: [
283
+ "packages/application/src/execution-funding-provider.ts#EXECUTION_FUNDING_ABANDONED_AFTER_MS",
284
+ ],
285
+ checkoutDiscoverySkewSeconds: [
286
+ "apps/api/src/billing/stripe-provider.ts#CHECKOUT_DISCOVERY_SKEW_SECONDS",
287
+ "apps/api/src/billing/stripe-execution-funding.ts#CHECKOUT_DISCOVERY_SKEW_SECONDS",
288
+ ],
289
+ checkoutDiscoveryWindowSeconds: [
290
+ "apps/api/src/billing/stripe-provider.ts#CHECKOUT_DISCOVERY_WINDOW_SECONDS",
291
+ "apps/api/src/billing/stripe-execution-funding.ts#CHECKOUT_DISCOVERY_WINDOW_SECONDS",
292
+ ],
293
+ fundingQuoteLifetimeMs: [
294
+ "packages/application/src/execution-funding.ts#QUOTE_LIFETIME_MS",
295
+ ],
296
+ automaticFundingPreviewLifetimeMs: [
297
+ "packages/application/src/automatic-funding.ts#PREVIEW_LIFETIME_MS",
298
+ ],
299
+ testSinkRefreshMs: [
300
+ "apps/dashboard/src/sink-surfaces.tsx#DELIVERIES_REFRESH_MS",
301
+ ],
302
+ payloadLintDelayMs: ["apps/dashboard/src/payload-editor.tsx#LINT_DELAY_MS"],
303
+ payloadParseBudgetMs: [
304
+ "apps/dashboard/src/payload-editor.tsx#PARSE_BUDGET_MS",
305
+ ],
306
+ dashboardQueryStaleMs: [
307
+ "apps/dashboard/src/main.tsx#STALE_MS",
308
+ "apps/dashboard/src/schedule-editor.tsx#OPERATIONAL_TIMING.dashboardQueryStaleMs",
309
+ ],
310
+ controlPlaneBackoffBaseMs: [
311
+ "packages/postgres-scheduling/src/control-plane-database.ts#OPERATIONAL_TIMING.controlPlaneBackoffBaseMs",
312
+ ],
313
+ automaticFundingBackoffBaseMs: [
314
+ "packages/postgres-scheduling/src/automatic-funding.ts#OPERATIONAL_TIMING.automaticFundingBackoffBaseMs",
315
+ ],
316
+ billingNoticeBackoffBaseMs: [
317
+ "packages/postgres-scheduling/src/billing-notifications.ts#OPERATIONAL_TIMING.billingNoticeBackoffBaseMs",
318
+ ],
319
+ projectBillingConflictRetryBaseMs: [
320
+ "packages/application/src/project-billing.ts#OPERATIONAL_TIMING.projectBillingConflictRetryBaseMs",
321
+ ],
322
+ projectBillingConflictRetryCount: [
323
+ "packages/application/src/project-billing.ts#OPERATIONAL_TIMING.projectBillingConflictRetryCount",
324
+ ],
325
+ });
326
+ /** Catalog metadata derives its defaults from the numeric owner above. */
327
+ export const OPERATIONAL_TIMING_CATALOG = Object.freeze(Object.keys(OPERATIONAL_TIMING).map((key) => Object.freeze({
328
+ key: `operational.${key}`,
329
+ default: OPERATIONAL_TIMING[key],
330
+ unit: key.endsWith("Seconds")
331
+ ? "seconds"
332
+ : key.endsWith("Count")
333
+ ? "count"
334
+ : "milliseconds",
335
+ scope: "deployment",
336
+ permittedLayers: ["deployment"],
337
+ visibility: "operator",
338
+ changeProcedure: "Reviewed deployment; preserve callback, retry, funding and receipt compatibility",
339
+ rationale: "Retain the existing measured or copied operating policy; the enforcement owner documents its evidence",
340
+ enforcement: OPERATIONAL_TIMING_ENFORCEMENT[key],
341
+ })));