tapimo 0.10.2 → 0.12.0

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 (386) hide show
  1. package/dist/App.d.ts +4896 -2166
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +2 -2
  4. package/dist/App.js.map +1 -1
  5. package/dist/Assets.d.ts +15 -0
  6. package/dist/Assets.d.ts.map +1 -1
  7. package/dist/Assets.js +7 -0
  8. package/dist/Assets.js.map +1 -1
  9. package/dist/Webhooks.d.ts +0 -75
  10. package/dist/Webhooks.d.ts.map +1 -1
  11. package/dist/Webhooks.js +1 -143
  12. package/dist/Webhooks.js.map +1 -1
  13. package/dist/admin/App.d.ts +127 -78
  14. package/dist/admin/App.d.ts.map +1 -1
  15. package/dist/admin/apps/earn-vaults.d.ts +115 -1
  16. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  17. package/dist/admin/apps/earn-vaults.js +59 -6
  18. package/dist/admin/apps/earn-vaults.js.map +1 -1
  19. package/dist/admin/apps/organizations.d.ts +3 -3
  20. package/dist/admin/apps/organizations.d.ts.map +1 -1
  21. package/dist/admin/apps/organizations.js +4 -2
  22. package/dist/admin/apps/organizations.js.map +1 -1
  23. package/dist/admin/apps/verified-tokens.d.ts +83 -83
  24. package/dist/admin/ui.generated.d.ts +1 -1
  25. package/dist/admin/ui.generated.d.ts.map +1 -1
  26. package/dist/admin/ui.generated.js +151 -151
  27. package/dist/admin/ui.generated.js.map +1 -1
  28. package/dist/apps/data/App.d.ts +5924 -4310
  29. package/dist/apps/data/App.d.ts.map +1 -1
  30. package/dist/apps/data/App.js +61 -9
  31. package/dist/apps/data/App.js.map +1 -1
  32. package/dist/apps/data/ZoneSelection.d.ts +62 -0
  33. package/dist/apps/data/ZoneSelection.d.ts.map +1 -0
  34. package/dist/apps/data/ZoneSelection.js +44 -0
  35. package/dist/apps/data/ZoneSelection.js.map +1 -0
  36. package/dist/apps/data/routes/activities.d.ts +2368 -5
  37. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  38. package/dist/apps/data/routes/activities.js +423 -114
  39. package/dist/apps/data/routes/activities.js.map +1 -1
  40. package/dist/apps/data/routes/addresses.d.ts +131 -0
  41. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  42. package/dist/apps/data/routes/balances.d.ts +25 -25
  43. package/dist/apps/data/routes/balances.js +1 -1
  44. package/dist/apps/data/routes/balances.js.map +1 -1
  45. package/dist/apps/data/routes/blocks.d.ts +1 -1
  46. package/dist/apps/data/routes/blocks.js +1 -1
  47. package/dist/apps/data/routes/blocks.js.map +1 -1
  48. package/dist/apps/data/routes/earn.d.ts +135 -10
  49. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  50. package/dist/apps/data/routes/earn.js +157 -25
  51. package/dist/apps/data/routes/earn.js.map +1 -1
  52. package/dist/apps/data/routes/exchanges.d.ts +829 -123
  53. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  54. package/dist/apps/data/routes/exchanges.js +16 -13
  55. package/dist/apps/data/routes/exchanges.js.map +1 -1
  56. package/dist/apps/data/routes/fee-amm.d.ts +26 -26
  57. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  58. package/dist/apps/data/routes/fee-amm.js +9 -11
  59. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  60. package/dist/apps/data/routes/receipts.d.ts +54 -54
  61. package/dist/apps/data/routes/receipts.js +1 -1
  62. package/dist/apps/data/routes/receipts.js.map +1 -1
  63. package/dist/apps/data/routes/rpc.js +24 -10
  64. package/dist/apps/data/routes/rpc.js.map +1 -1
  65. package/dist/apps/data/routes/tokenlist.d.ts +12 -12
  66. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  67. package/dist/apps/data/routes/tokenlist.js +16 -15
  68. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  69. package/dist/apps/data/routes/tokens.d.ts +17 -3
  70. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  71. package/dist/apps/data/routes/tokens.js +34 -15
  72. package/dist/apps/data/routes/tokens.js.map +1 -1
  73. package/dist/apps/data/routes/transactions.d.ts +1 -1
  74. package/dist/apps/data/routes/transactions.js +1 -1
  75. package/dist/apps/data/routes/transactions.js.map +1 -1
  76. package/dist/apps/data/routes/transfers.d.ts +13 -13
  77. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  78. package/dist/apps/data/routes/transfers.js +7 -9
  79. package/dist/apps/data/routes/transfers.js.map +1 -1
  80. package/dist/apps/data/routes/valuation.d.ts +21 -21
  81. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  82. package/dist/apps/data/routes/webhooks.d.ts +1011 -151
  83. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  84. package/dist/apps/data/routes/webhooks.js +126 -739
  85. package/dist/apps/data/routes/webhooks.js.map +1 -1
  86. package/dist/apps/data/routes/zones.d.ts +15 -15
  87. package/dist/apps/funding/App.d.ts +27 -27
  88. package/dist/apps/funding/routes/chains.d.ts.map +1 -1
  89. package/dist/apps/funding/routes/chains.js +5 -4
  90. package/dist/apps/funding/routes/chains.js.map +1 -1
  91. package/dist/apps/funding/routes/deposit-addresses.d.ts +18 -18
  92. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
  93. package/dist/apps/funding/routes/deposit-addresses.js +8 -8
  94. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
  95. package/dist/apps/funding/routes/providers.d.ts.map +1 -1
  96. package/dist/apps/funding/routes/providers.js +3 -2
  97. package/dist/apps/funding/routes/providers.js.map +1 -1
  98. package/dist/apps/funding/routes/quotes.d.ts.map +1 -1
  99. package/dist/apps/funding/routes/quotes.js +2 -2
  100. package/dist/apps/funding/routes/quotes.js.map +1 -1
  101. package/dist/apps/funding/routes/transfers.d.ts +33 -33
  102. package/dist/apps/management/App.d.ts +1433 -322
  103. package/dist/apps/management/App.d.ts.map +1 -1
  104. package/dist/apps/management/Billing.d.ts.map +1 -1
  105. package/dist/apps/management/Billing.js +19 -6
  106. package/dist/apps/management/Billing.js.map +1 -1
  107. package/dist/apps/management/routes/api-keys.d.ts +154 -94
  108. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  109. package/dist/apps/management/routes/api-keys.js +76 -30
  110. package/dist/apps/management/routes/api-keys.js.map +1 -1
  111. package/dist/apps/management/routes/billing.d.ts +103 -30
  112. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  113. package/dist/apps/management/routes/billing.js +91 -32
  114. package/dist/apps/management/routes/billing.js.map +1 -1
  115. package/dist/apps/management/routes/faucet.d.ts +12 -12
  116. package/dist/apps/management/routes/faucet.d.ts.map +1 -1
  117. package/dist/apps/management/routes/faucet.js +23 -12
  118. package/dist/apps/management/routes/faucet.js.map +1 -1
  119. package/dist/apps/management/routes/invitations.d.ts +46 -13
  120. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  121. package/dist/apps/management/routes/invitations.js +79 -29
  122. package/dist/apps/management/routes/invitations.js.map +1 -1
  123. package/dist/apps/management/routes/invite-links.d.ts +128 -83
  124. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  125. package/dist/apps/management/routes/invite-links.js +100 -41
  126. package/dist/apps/management/routes/invite-links.js.map +1 -1
  127. package/dist/apps/management/routes/me.d.ts +5 -5
  128. package/dist/apps/management/routes/me.d.ts.map +1 -1
  129. package/dist/apps/management/routes/me.js +14 -10
  130. package/dist/apps/management/routes/me.js.map +1 -1
  131. package/dist/apps/management/routes/members.d.ts +68 -47
  132. package/dist/apps/management/routes/members.d.ts.map +1 -1
  133. package/dist/apps/management/routes/members.js +37 -18
  134. package/dist/apps/management/routes/members.js.map +1 -1
  135. package/dist/apps/management/routes/orgs.d.ts +48 -8
  136. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  137. package/dist/apps/management/routes/orgs.js +48 -19
  138. package/dist/apps/management/routes/orgs.js.map +1 -1
  139. package/dist/apps/management/routes/projects.d.ts +130 -68
  140. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  141. package/dist/apps/management/routes/projects.js +72 -21
  142. package/dist/apps/management/routes/projects.js.map +1 -1
  143. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  144. package/dist/apps/management/routes/scopes.js +8 -5
  145. package/dist/apps/management/routes/scopes.js.map +1 -1
  146. package/dist/apps/management/routes/usage.d.ts +38 -38
  147. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  148. package/dist/apps/management/routes/usage.js +41 -31
  149. package/dist/apps/management/routes/usage.js.map +1 -1
  150. package/dist/apps/management/routes/verified-token-requests.d.ts +34 -6
  151. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  152. package/dist/apps/management/routes/verified-token-requests.js +36 -17
  153. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  154. package/dist/apps/management/routes/webhooks.d.ts +1186 -197
  155. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  156. package/dist/apps/management/routes/webhooks.js +106 -38
  157. package/dist/apps/management/routes/webhooks.js.map +1 -1
  158. package/dist/apps/mpp/internal/Adapter.d.ts +1 -1
  159. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  160. package/dist/apps/mpp/internal/Adapter.js +12 -0
  161. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  162. package/dist/db/Db.d.ts +2 -0
  163. package/dist/db/Db.d.ts.map +1 -1
  164. package/dist/db/Db.js +61 -0
  165. package/dist/db/Db.js.map +1 -1
  166. package/dist/db/Schema.d.ts +30 -2
  167. package/dist/db/Schema.d.ts.map +1 -1
  168. package/dist/db/Schema.js +28 -3
  169. package/dist/db/Schema.js.map +1 -1
  170. package/dist/db/tables/earnVaults.d.ts +5 -1
  171. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  172. package/dist/db/tables/earnVaults.js +5 -0
  173. package/dist/db/tables/earnVaults.js.map +1 -1
  174. package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
  175. package/dist/db/tables/webhookDeliveries.js +10 -0
  176. package/dist/db/tables/webhookDeliveries.js.map +1 -1
  177. package/dist/db/tables/webhookQueueCompletions.d.ts +15 -0
  178. package/dist/db/tables/webhookQueueCompletions.d.ts.map +1 -0
  179. package/dist/db/tables/webhookQueueCompletions.js +32 -0
  180. package/dist/db/tables/webhookQueueCompletions.js.map +1 -0
  181. package/dist/db/tables/webhookQueueEvents.d.ts +16 -20
  182. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  183. package/dist/db/tables/webhookQueueEvents.js +68 -43
  184. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  185. package/dist/db/tables/webhookSubscriptions.d.ts +47 -72
  186. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  187. package/dist/db/tables/webhookSubscriptions.js +92 -105
  188. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  189. package/dist/internal/Auth.d.ts +8 -1
  190. package/dist/internal/Auth.d.ts.map +1 -1
  191. package/dist/internal/Auth.js +13 -3
  192. package/dist/internal/Auth.js.map +1 -1
  193. package/dist/internal/Cache.d.ts.map +1 -1
  194. package/dist/internal/Cache.js +11 -7
  195. package/dist/internal/Cache.js.map +1 -1
  196. package/dist/internal/EarnVaults.d.ts +41 -2
  197. package/dist/internal/EarnVaults.d.ts.map +1 -1
  198. package/dist/internal/EarnVaults.js +167 -0
  199. package/dist/internal/EarnVaults.js.map +1 -1
  200. package/dist/internal/MetricSink.d.ts +35 -125
  201. package/dist/internal/MetricSink.d.ts.map +1 -1
  202. package/dist/internal/MetricSink.js +50 -121
  203. package/dist/internal/MetricSink.js.map +1 -1
  204. package/dist/internal/OpenApi.d.ts +26 -22
  205. package/dist/internal/OpenApi.d.ts.map +1 -1
  206. package/dist/internal/OpenApi.js +128 -39
  207. package/dist/internal/OpenApi.js.map +1 -1
  208. package/dist/internal/Response.d.ts +13 -8
  209. package/dist/internal/Response.d.ts.map +1 -1
  210. package/dist/internal/Response.js +16 -5
  211. package/dist/internal/Response.js.map +1 -1
  212. package/dist/internal/Schema.d.ts +8 -8
  213. package/dist/internal/Schema.d.ts.map +1 -1
  214. package/dist/internal/Schema.js +10 -9
  215. package/dist/internal/Schema.js.map +1 -1
  216. package/dist/internal/Store.d.ts +15 -6
  217. package/dist/internal/Store.d.ts.map +1 -1
  218. package/dist/internal/Store.js +45 -15
  219. package/dist/internal/Store.js.map +1 -1
  220. package/dist/internal/Tidx.d.ts +2 -0
  221. package/dist/internal/Tidx.d.ts.map +1 -1
  222. package/dist/internal/Tidx.js +16 -4
  223. package/dist/internal/Tidx.js.map +1 -1
  224. package/dist/internal/WebhookTransfer.d.ts +1 -55
  225. package/dist/internal/WebhookTransfer.d.ts.map +1 -1
  226. package/dist/internal/WebhookTransfer.js +1 -239
  227. package/dist/internal/WebhookTransfer.js.map +1 -1
  228. package/dist/internal/Webhooks.d.ts +112 -56
  229. package/dist/internal/Webhooks.d.ts.map +1 -1
  230. package/dist/internal/Webhooks.js +124 -93
  231. package/dist/internal/Webhooks.js.map +1 -1
  232. package/dist/internal/funding/Deposit.d.ts +2 -2
  233. package/dist/internal/funding/Deposit.d.ts.map +1 -1
  234. package/dist/internal/funding/Deposit.js +9 -8
  235. package/dist/internal/funding/Deposit.js.map +1 -1
  236. package/dist/internal/funding/DepositAddress.d.ts +4 -4
  237. package/dist/internal/funding/DepositAddress.d.ts.map +1 -1
  238. package/dist/internal/funding/DepositAddress.js +9 -8
  239. package/dist/internal/funding/DepositAddress.js.map +1 -1
  240. package/dist/internal/funding/DepositWebhook.d.ts +25 -0
  241. package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
  242. package/dist/internal/funding/DepositWebhook.js +74 -0
  243. package/dist/internal/funding/DepositWebhook.js.map +1 -0
  244. package/dist/internal/funding/Provider.d.ts.map +1 -1
  245. package/dist/internal/funding/Provider.js +13 -12
  246. package/dist/internal/funding/Provider.js.map +1 -1
  247. package/dist/internal/funding/Reconciliation.d.ts +6 -0
  248. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  249. package/dist/internal/funding/Reconciliation.js +42 -10
  250. package/dist/internal/funding/Reconciliation.js.map +1 -1
  251. package/dist/internal/funding/index.d.ts +1 -0
  252. package/dist/internal/funding/index.d.ts.map +1 -1
  253. package/dist/internal/funding/index.js +1 -0
  254. package/dist/internal/funding/index.js.map +1 -1
  255. package/dist/internal/funding/providers/stargate.d.ts +19 -0
  256. package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
  257. package/dist/internal/funding/providers/stargate.js +143 -0
  258. package/dist/internal/funding/providers/stargate.js.map +1 -0
  259. package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
  260. package/dist/internal/webhookDestinations/slack.js +16 -0
  261. package/dist/internal/webhookDestinations/slack.js.map +1 -1
  262. package/dist/providers/index.d.ts +7 -0
  263. package/dist/providers/index.d.ts.map +1 -1
  264. package/dist/providers/index.js +3 -0
  265. package/dist/providers/index.js.map +1 -1
  266. package/package.json +2 -2
  267. package/src/App.test.ts +48 -0
  268. package/src/App.ts +7 -2
  269. package/src/Assets.test.ts +18 -0
  270. package/src/Assets.ts +22 -0
  271. package/src/Client.test-d.ts +287 -17
  272. package/src/Webhooks.ts +1 -220
  273. package/src/admin/apps/earn-vaults.test.ts +143 -0
  274. package/src/admin/apps/earn-vaults.ts +83 -6
  275. package/src/admin/apps/organizations.ts +6 -2
  276. package/src/admin/ui/src/routes/api-keys.tsx +36 -0
  277. package/src/admin/ui.generated.ts +151 -189
  278. package/src/apps/data/App.test.ts +31 -0
  279. package/src/apps/data/App.ts +64 -10
  280. package/src/apps/data/ZoneSelection.test.ts +196 -0
  281. package/src/apps/data/ZoneSelection.ts +108 -0
  282. package/src/apps/data/routes/activities.test.ts +435 -12
  283. package/src/apps/data/routes/activities.ts +562 -125
  284. package/src/apps/data/routes/balances.ts +1 -1
  285. package/src/apps/data/routes/blocks.ts +1 -1
  286. package/src/apps/data/routes/earn.test.ts +183 -23
  287. package/src/apps/data/routes/earn.ts +225 -29
  288. package/src/apps/data/routes/earn.zone-access.test.ts +46 -0
  289. package/src/apps/data/routes/exchanges.test.ts +31 -1
  290. package/src/apps/data/routes/exchanges.ts +19 -15
  291. package/src/apps/data/routes/fee-amm.ts +18 -11
  292. package/src/apps/data/routes/receipts.ts +1 -1
  293. package/src/apps/data/routes/rpc.test.ts +75 -0
  294. package/src/apps/data/routes/rpc.ts +23 -9
  295. package/src/apps/data/routes/tokenlist.ts +21 -18
  296. package/src/apps/data/routes/tokens.test.ts +29 -0
  297. package/src/apps/data/routes/tokens.ts +38 -15
  298. package/src/apps/data/routes/transactions.ts +1 -1
  299. package/src/apps/data/routes/transfers.test.ts +3 -3
  300. package/src/apps/data/routes/transfers.ts +12 -9
  301. package/src/apps/data/routes/webhooks.test.ts +179 -1497
  302. package/src/apps/data/routes/webhooks.ts +156 -976
  303. package/src/apps/data/routes/zones.test.ts +19 -13
  304. package/src/apps/funding/routes/chains.test.ts +211 -7
  305. package/src/apps/funding/routes/chains.ts +19 -12
  306. package/src/apps/funding/routes/deposit-addresses.test.ts +394 -0
  307. package/src/apps/funding/routes/deposit-addresses.ts +84 -72
  308. package/src/apps/funding/routes/providers.ts +9 -5
  309. package/src/apps/funding/routes/quotes.test.ts +46 -0
  310. package/src/apps/funding/routes/quotes.ts +8 -5
  311. package/src/apps/funding/routes/transfers.test.ts +35 -32
  312. package/src/apps/management/Billing.test.ts +26 -0
  313. package/src/apps/management/Billing.ts +24 -7
  314. package/src/apps/management/routes/api-keys.test.ts +178 -0
  315. package/src/apps/management/routes/api-keys.ts +203 -144
  316. package/src/apps/management/routes/billing.test.ts +209 -0
  317. package/src/apps/management/routes/billing.ts +254 -177
  318. package/src/apps/management/routes/faucet.test.ts +39 -0
  319. package/src/apps/management/routes/faucet.ts +75 -41
  320. package/src/apps/management/routes/invitations.test.ts +216 -0
  321. package/src/apps/management/routes/invitations.ts +186 -109
  322. package/src/apps/management/routes/invite-links.test.ts +263 -1
  323. package/src/apps/management/routes/invite-links.ts +295 -214
  324. package/src/apps/management/routes/me.test.ts +49 -0
  325. package/src/apps/management/routes/me.ts +42 -32
  326. package/src/apps/management/routes/members.test.ts +124 -1
  327. package/src/apps/management/routes/members.ts +81 -51
  328. package/src/apps/management/routes/orgs.test.ts +176 -0
  329. package/src/apps/management/routes/orgs.ts +101 -59
  330. package/src/apps/management/routes/projects.test.ts +183 -0
  331. package/src/apps/management/routes/projects.ts +124 -60
  332. package/src/apps/management/routes/scopes.test.ts +44 -0
  333. package/src/apps/management/routes/scopes.ts +37 -28
  334. package/src/apps/management/routes/usage.test.ts +92 -0
  335. package/src/apps/management/routes/usage.ts +186 -151
  336. package/src/apps/management/routes/verified-token-requests.test.ts +114 -0
  337. package/src/apps/management/routes/verified-token-requests.ts +166 -133
  338. package/src/apps/management/routes/webhooks.test.ts +313 -1
  339. package/src/apps/management/routes/webhooks.ts +220 -71
  340. package/src/apps/mpp/internal/Adapter.ts +13 -1
  341. package/src/db/Db.test.ts +42 -5
  342. package/src/db/Db.ts +85 -0
  343. package/src/db/Schema.ts +41 -3
  344. package/src/db/tables/earnVaults.test.ts +22 -0
  345. package/src/db/tables/earnVaults.ts +11 -1
  346. package/src/db/tables/organizations.test.ts +5 -2
  347. package/src/db/tables/webhookDeliveries.ts +13 -0
  348. package/src/db/tables/webhookQueueCompletions.ts +55 -0
  349. package/src/db/tables/webhookQueueEvents.ts +97 -57
  350. package/src/db/tables/webhookSubscriptions.ts +134 -144
  351. package/src/internal/Auth.ts +23 -5
  352. package/src/internal/Cache.ts +14 -7
  353. package/src/internal/EarnVaults.capabilities.test.ts +33 -0
  354. package/src/internal/EarnVaults.test.ts +79 -0
  355. package/src/internal/EarnVaults.ts +277 -0
  356. package/src/internal/MetricSink.test.ts +41 -373
  357. package/src/internal/MetricSink.ts +92 -273
  358. package/src/internal/OpenApi.ts +165 -49
  359. package/src/internal/Response.test.ts +95 -0
  360. package/src/internal/Response.ts +40 -2
  361. package/src/internal/Schema.test.ts +34 -0
  362. package/src/internal/Schema.ts +20 -9
  363. package/src/internal/Store.test.ts +186 -0
  364. package/src/internal/Store.ts +57 -17
  365. package/src/internal/Tidx.test.ts +19 -0
  366. package/src/internal/Tidx.ts +16 -4
  367. package/src/internal/WebhookTransfer.ts +1 -351
  368. package/src/internal/Webhooks.test.ts +222 -145
  369. package/src/internal/Webhooks.ts +234 -135
  370. package/src/internal/funding/Deposit.ts +71 -64
  371. package/src/internal/funding/DepositAddress.ts +50 -43
  372. package/src/internal/funding/DepositWebhook.test.ts +131 -0
  373. package/src/internal/funding/DepositWebhook.ts +101 -0
  374. package/src/internal/funding/Provider.ts +164 -142
  375. package/src/internal/funding/Reconciliation.test.ts +14 -0
  376. package/src/internal/funding/Reconciliation.ts +161 -86
  377. package/src/internal/funding/index.test.ts +1 -0
  378. package/src/internal/funding/index.ts +1 -0
  379. package/src/internal/funding/providers/index.test.ts +185 -0
  380. package/src/internal/funding/providers/stargate.ts +184 -0
  381. package/src/internal/webhookDestinations/slack.ts +15 -0
  382. package/src/providers/index.test.ts +1 -0
  383. package/src/providers/index.ts +9 -0
  384. package/src/Webhooks.bench.ts +0 -714
  385. package/src/Webhooks.memory.bench.ts +0 -250
  386. package/src/Webhooks.test.ts +0 -146
@@ -123,132 +123,11 @@ export function webhooks(backend) {
123
123
  },
124
124
  record(event) {
125
125
  switch (event.type) {
126
- case 'webhook:head-recovery': {
127
- const tags = { chain_id: String(event.chainId), trigger: event.trigger };
128
- backend.count('webhook_head_recovery_queue_count', 1, tags);
129
- backend.histogram('webhook_head_recovery_queue_wait_ms', Math.max(0, event.dequeuedAt - event.enqueuedAt), tags);
130
- return;
131
- }
132
- case 'webhook:head-progress':
133
- backend.gauge('webhook_head_progress_lag_blocks', event.lagBlocks, {
134
- chain_id: String(event.chainId),
135
- });
136
- return;
137
126
  case 'webhook:head-skipped':
138
127
  backend.gauge('webhook_head_skipped_count', event.skippedHeads, {
139
128
  chain_id: String(event.chainId),
140
129
  });
141
130
  return;
142
- case 'webhook:listener-head-lag':
143
- backend.gauge('webhook_listener_head_lag_blocks', event.lagBlocks, {
144
- chain_id: String(event.chainId),
145
- });
146
- return;
147
- case 'webhook:poll-failure':
148
- backend.count('webhook_poll_failure_count', 1, {
149
- chain_id: String(event.chainId),
150
- failure: event.failure,
151
- stage: event.stage,
152
- trigger: event.trigger,
153
- });
154
- return;
155
- case 'webhook:poll': {
156
- const tags = {
157
- chain_id: String(event.chainId),
158
- ...(event.eventType === undefined ? {} : { event_type: event.eventType }),
159
- outcome: event.outcome,
160
- stage: event.stage,
161
- };
162
- backend.histogram('webhook_poller_stage_duration_ms', event.durationMs, tags);
163
- return;
164
- }
165
- case 'webhook:poll-scan': {
166
- const tags = {
167
- chain_id: String(event.chainId),
168
- event_type: event.eventType,
169
- phase: event.phase,
170
- };
171
- backend.count('webhook_poller_scan_checkpoint_count', 1, tags);
172
- backend.histogram('webhook_poller_scan_concurrency', event.concurrency, tags);
173
- backend.histogram('webhook_poller_scan_subscription_count', event.subscriptionCount, tags);
174
- backend.histogram('webhook_poller_scan_subscription_limit', event.subscriptionLimit, tags);
175
- backend.histogram('webhook_poller_scan_max_window_blocks', event.maxWindowBlocks, tags);
176
- backend.histogram('webhook_poller_scan_total_window_blocks', event.totalWindowBlocks, tags);
177
- if (event.durationMs !== undefined)
178
- backend.histogram('webhook_poller_scan_duration_ms', event.durationMs, tags);
179
- if (event.failedSubscriptions !== undefined)
180
- backend.count('webhook_poller_scan_failed_subscription_count', event.failedSubscriptions, tags);
181
- if (event.matchedItems !== undefined)
182
- backend.count('webhook_poller_scan_matched_item_count', event.matchedItems, tags);
183
- if (event.outcome !== undefined)
184
- backend.count('webhook_poller_rpc_scan_count', 1, {
185
- chain_id: String(event.chainId),
186
- event_type: event.eventType,
187
- outcome: event.outcome,
188
- rpc_method: event.rpcMethod,
189
- });
190
- return;
191
- }
192
- case 'webhook:poll-subscriptions':
193
- backend.gauge('webhook_poller_active_subscription_count', event.count, {
194
- chain_id: String(event.chainId),
195
- });
196
- return;
197
- case 'webhook:poll-cycle': {
198
- const tags = {
199
- chain_id: String(event.chainId),
200
- outcome: event.outcome,
201
- trigger: event.trigger,
202
- };
203
- backend.count('webhook_poll_cycle_count', 1, tags);
204
- if (event.requestedBoundaryAdvanceBlocks !== undefined)
205
- backend.histogram('webhook_poll_requested_boundary_advance_blocks', event.requestedBoundaryAdvanceBlocks, tags);
206
- return;
207
- }
208
- case 'webhook:poll-start': {
209
- const tags = { chain_id: String(event.chainId), trigger: event.trigger };
210
- backend.count('webhook_poll_start_count', 1, tags);
211
- if (event.delayMs !== undefined)
212
- backend.histogram('webhook_poll_start_delay_ms', event.delayMs, tags);
213
- return;
214
- }
215
- case 'webhook:tick': {
216
- const { meta, result } = event;
217
- const chain_id = String(result?.chainId ?? meta.chainId ?? 'unknown');
218
- backend.count('webhook_poller_tick_count', 1, { chain_id, outcome: meta.outcome });
219
- backend.histogram('webhook_poller_tick_duration_ms', meta.durationMs, {
220
- chain_id,
221
- outcome: meta.outcome,
222
- });
223
- if (event.cursorLagBlocks !== undefined)
224
- backend.gauge('webhook_subscription_cursor_lag_blocks', event.cursorLagBlocks, {
225
- chain_id,
226
- });
227
- if (!result)
228
- return;
229
- backend.histogram('webhook_poller_subscription_count', result.subscriptions, { chain_id });
230
- backend.count('webhook_poller_scanned_count', result.scanned, { chain_id });
231
- backend.gauge('webhook_poller_safe_block', result.safeBlock, { chain_id });
232
- backend.count('webhook_poller_dispatch_count', result.dispatched, {
233
- chain_id,
234
- outcome: 'dispatched',
235
- });
236
- backend.count('webhook_poller_dispatch_count', result.failed, {
237
- chain_id,
238
- outcome: 'failed',
239
- });
240
- return;
241
- }
242
- case 'webhook:enqueue': {
243
- const tags = { chain_id: String(event.chainId), event_type: event.eventType };
244
- const outcome = event.ok ? 'ok' : 'error';
245
- backend.count('webhook_dispatch_enqueue_count', 1, { ...tags, outcome });
246
- backend.histogram('webhook_dispatch_enqueue_duration_ms', event.durationMs, {
247
- ...tags,
248
- outcome,
249
- });
250
- return;
251
- }
252
131
  case 'webhook:scan-block': {
253
132
  const tags = {
254
133
  chain_id: String(event.chainId),
@@ -258,12 +137,43 @@ export function webhooks(backend) {
258
137
  backend.count('webhook_scan_block_count', 1, tags);
259
138
  if (event.matches > 0)
260
139
  backend.count('webhook_scan_match_count', event.matches, tags);
140
+ backend.histogram('webhook_scan_work_ms', event.workMs, tags);
141
+ // Deferred rounds are chain finality, not queue depth, so the wait
142
+ // carries the distinction rather than silently averaging the two.
143
+ if (event.queueWaitMs !== undefined)
144
+ backend.histogram('webhook_scan_queue_wait_ms', event.queueWaitMs, {
145
+ ...tags,
146
+ deferred: String(event.deferred),
147
+ });
148
+ if (event.observationLagMs !== undefined)
149
+ backend.histogram('webhook_scan_observation_lag_ms', event.observationLagMs, {
150
+ chain_id: String(event.chainId),
151
+ origin: event.origin,
152
+ });
153
+ // Block timestamp to scan completion: how far behind the chain the
154
+ // scanner is, reported by every scanned block rather than only by
155
+ // blocks that produce a delivery.
156
+ if (event.scanLagMs !== undefined)
157
+ backend.histogram('webhook_scan_lag_ms', event.scanLagMs, {
158
+ chain_id: String(event.chainId),
159
+ });
160
+ return;
161
+ }
162
+ case 'webhook:scan-step': {
163
+ const tags = { chain_id: String(event.chainId), step: event.step };
164
+ // Batch totals, so the count is required to read a per-invocation
165
+ // mean: a ten-block batch otherwise reports ten times a one-block
166
+ // batch at identical per-call latency.
167
+ backend.histogram('webhook_scan_step_duration_ms', event.durationMs, tags);
168
+ backend.count('webhook_scan_step_count', event.count, tags);
261
169
  return;
262
170
  }
263
171
  case 'webhook:scan-backlog': {
264
172
  const tags = { chain_id: String(event.chainId) };
265
173
  backend.gauge('webhook_scan_pending_count', event.pendingCount, tags);
266
174
  backend.gauge('webhook_scan_oldest_pending_age_ms', event.oldestPendingAgeMs ?? 0, tags);
175
+ if (event.watermarkLagBlocks !== undefined)
176
+ backend.gauge('webhook_scan_watermark_lag_blocks', event.watermarkLagBlocks, tags);
267
177
  return;
268
178
  }
269
179
  case 'webhook:scan-finality': {
@@ -315,6 +225,25 @@ export function webhooks(backend) {
315
225
  });
316
226
  if (timings?.deliveryLogMs !== undefined)
317
227
  backend.histogram('webhook_delivery_log_write_ms', timings.deliveryLogMs, tags);
228
+ if (timings?.preflightMs !== undefined)
229
+ backend.histogram('webhook_delivery_preflight_ms', timings.preflightMs, tags);
230
+ if (timings?.settleMs !== undefined)
231
+ backend.histogram('webhook_delivery_settle_ms', timings.settleMs, tags);
232
+ // The two headline latency SLIs, both ending when the attempt leaves
233
+ // rather than when bookkeeping finishes. Attempt-bucketed for the
234
+ // same reason as end-to-end: retries carry designed backoff.
235
+ if (timings?.eventToAttemptMs !== undefined)
236
+ backend.histogram('webhook_event_to_attempt_ms', timings.eventToAttemptMs, {
237
+ ...tags,
238
+ attempt_bucket: attemptBucket(event.attempt),
239
+ outcome,
240
+ });
241
+ if (timings?.observedToAttemptMs !== undefined)
242
+ backend.histogram('webhook_observed_to_attempt_ms', timings.observedToAttemptMs, {
243
+ ...tags,
244
+ attempt_bucket: attemptBucket(event.attempt),
245
+ outcome,
246
+ });
318
247
  if (timings?.envelopeToQueueMs !== undefined)
319
248
  backend.histogram('webhook_delivery_envelope_to_queue_ms', timings.envelopeToQueueMs, tags);
320
249
  if (timings?.endToEndMs !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"MetricSink.js","sourceRoot":"","sources":["../../src/internal/MetricSink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricSink.js","sourceRoot":"","sources":["../../src/internal/MetricSink.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
1
  import type { Context, Env, MiddlewareHandler, ValidationTargets } from 'hono';
2
2
  import type { HasRequiredKeys } from 'hono/utils/types';
3
- import { type ResponsesWithResolver } from 'hono-openapi';
3
+ import { type DescribeRouteOptions, type ResponsesWithResolver } from 'hono-openapi';
4
4
  import * as z from 'zod/mini';
5
5
  import * as Response from './Response.js';
6
- export { describeRoute, type HandlerUniqueProperty, resolver, type ResponsesWithResolver, uniqueSymbol, validator, } from 'hono-openapi';
6
+ export { type HandlerUniqueProperty, resolver, type ResponsesWithResolver, uniqueSymbol, validator, } from 'hono-openapi';
7
+ /** Describes a route without allowing spec generation to mutate reusable response definitions. */
8
+ export declare function describeRoute(spec: DescribeRouteOptions): MiddlewareHandler;
9
+ /** Emits a named OpenAPI component and uses its `$ref` wherever the schema appears. */
10
+ export declare function component<const schema extends z.ZodMiniType>(schema: schema, name: string): schema;
7
11
  /**
8
12
  * Standard machine-readable `error.code` values per status, shared API-wide.
9
13
  * The reference enumerates `error.code` to these so generated clients narrow it
10
- * to a literal union instead of an open `string`. 400 and 404 vary per
11
- * operation; the values here are the API-wide supersets, narrowable per route
12
- * via the `codes` override in {@link responses.Options}.
14
+ * to a literal union instead of an open `string`. The values here are shared
15
+ * defaults; operation-specific codes are supplied through {@link responses.Options}.
13
16
  */
14
17
  export declare const errorCodes: {
15
18
  readonly 400: readonly ["query_invalid", "param_invalid", "body_invalid", "address_invalid", "token_invalid", "symbol_invalid", "swap_continuation_invalid", "swap_provider_invalid", "quote_amount_out_of_range", "pair_invalid", "pair_id_invalid", "transaction_invalid", "order_invalid", "block_invalid", "chain_id_invalid", "chain_id_unsupported", "destination_transition_invalid", "sender_tag_invalid", "url_invalid", "api_key_malformed"];
16
19
  readonly 401: readonly ["api_key_missing", "api_key_invalid", "unauthorized"];
17
- readonly 403: readonly ["api_key_forbidden", "api_key_ip_forbidden", "limit_exceeded"];
20
+ readonly 403: readonly ["api_key_forbidden", "api_key_ip_forbidden", "forbidden"];
18
21
  readonly 404: readonly ["not_found", "token_not_found", "token_logo_not_found", "block_not_found", "transaction_not_found", "receipt_not_found", "order_not_found", "pair_not_found", "quote_not_available", "verified_token_not_found", "webhook_not_found", "delivery_not_found", "webhooks_not_enabled", "billing_not_found"];
19
22
  readonly 429: readonly ["rate_limit_exceeded", "payment_required"];
20
23
  readonly 500: readonly ["internal_error"];
@@ -130,7 +133,7 @@ export declare const paymentChallenge: {
130
133
  * and `$ref`-erenced from operations, so the uniform `402`/`429`/`500` responses
131
134
  * are defined once instead of inlined on every operation.
132
135
  */
133
- export declare const responseComponents: ResponsesWithResolver;
136
+ export declare function responseComponents(): ResponsesWithResolver;
134
137
  /** `$ref` to the shared `402` payment-challenge response. */
135
138
  export declare const paymentChallengeRef: {
136
139
  $ref: string;
@@ -147,41 +150,40 @@ export declare function standardError(status: keyof typeof errorCodes, descripti
147
150
  * Builds an OpenAPI `responses` map with the API's standard error responses
148
151
  * pre-filled, plus the success response (with rate-limit headers):
149
152
  *
150
- * - `400` invalid request, `401` missing/invalid key, `429` rate limited,
151
- * `500` internal error, and `502` upstream failure on every operation;
152
- * - `403`/`404`/`409`/`412`/`413`/`415` only when an `errors` entry is set.
153
+ * - `400` invalid request, `401` missing/invalid key, `403` forbidden, `429`
154
+ * rate limited, `500` internal error, and `502` upstream failure on every operation;
155
+ * - `404`/`409`/`412`/`413`/`415` only when an `errors` entry is set.
153
156
  *
154
- * `error.code` is enumerated per status from {@link errorCodes}; narrow 400/404
155
- * to a route's exact codes by passing `{ description, codes }` for that status.
156
- * `429`/`500` `$ref` the shared {@link responseComponents}. `402` is not emitted
157
- * here it is injected per operation from the route's MPP policy during spec
158
- * generation (see `App.ts`).
157
+ * `error.code` is enumerated per status from {@link errorCodes}. Operation-level
158
+ * 400/403 codes merge with shared auth codes; other overrides replace defaults.
159
+ * The default `429` and `500` `$ref` shared {@link responseComponents}; an exact
160
+ * operation-level `429` override is emitted inline with the standard headers.
161
+ * `402` is injected per operation from the route's MPP policy in `App.ts`.
159
162
  */
160
163
  export declare function responses<schema extends z.ZodMiniType>(options: responses.Options<schema>): ResponsesWithResolver;
161
164
  export declare namespace responses {
162
165
  /**
163
166
  * Override for a standard error response: a description string, or an object
164
- * adding the exact `codes` that status can return (narrowing the enum).
167
+ * adding operation codes. Codes replace defaults except shared 400/403 auth codes.
165
168
  */
166
169
  type ErrorOverride = string | {
167
170
  /** Human-readable description of the error response. */
168
171
  description?: string | undefined;
169
- /** Exact `error.code` values this status returns for the operation. */
170
- codes?: readonly [string, ...string[]] | undefined;
172
+ /** Operation-specific `error.code` values for this status. */
173
+ codes?: readonly string[] | undefined;
171
174
  };
172
175
  /** Options for building a standard OpenAPI responses map. */
173
176
  type Options<schema> = {
174
177
  /**
175
- * Optional overrides for standard error responses (description and/or exact
176
- * `error.code` enum). Setting `403`/`404`/`409`/`412`/`413`/`415` also
177
- * includes that status in the map.
178
+ * Optional overrides for standard error responses. Setting
179
+ * `404`/`409`/`412`/`413`/`415` includes that status in the map.
178
180
  */
179
181
  errors?: {
180
182
  /** Override for the 400 response. */
181
183
  400?: ErrorOverride | undefined;
182
184
  /** Override for the 401 response. */
183
185
  401?: ErrorOverride | undefined;
184
- /** Override for the 403 response. Setting this includes 403 in the map. */
186
+ /** Add operation-specific 403 codes or override its description. */
185
187
  403?: ErrorOverride | undefined;
186
188
  /** Override for the 404 response. Setting this includes 404 in the map. */
187
189
  404?: ErrorOverride | undefined;
@@ -193,6 +195,8 @@ export declare namespace responses {
193
195
  413?: ErrorOverride | undefined;
194
196
  /** Override for the 415 response. Setting this includes 415 in the map. */
195
197
  415?: ErrorOverride | undefined;
198
+ /** Override the shared 429 response with operation-specific rate-limit codes. */
199
+ 429?: ErrorOverride | undefined;
196
200
  /** Override for the 501 response. Setting this includes 501 in the map. */
197
201
  501?: ErrorOverride | undefined;
198
202
  /** Override for the 502 response. */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi.d.ts","sourceRoot":"","sources":["../../src/internal/OpenApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenApi.d.ts","sourceRoot":"","sources":["../../src/internal/OpenApi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { resolver, validator } from 'hono-openapi';
1
+ import { describeRoute as core_describeRoute, resolver, uniqueSymbol, validator, } from 'hono-openapi';
2
2
  import * as z from 'zod/mini';
3
3
  import * as Response from './Response.js';
4
4
  import * as Schema from './Schema.js';
@@ -37,13 +37,45 @@ const schemaOptions = { options: { override: recoverExamples, unrepresentable: '
37
37
  // callers go through this local `OpenApi` module. Forwarded as direct named
38
38
  // re-exports because `uniqueSymbol` is a `unique symbol` whose identity is
39
39
  // lost when copied through a `const` declaration.
40
- export { describeRoute, resolver, uniqueSymbol, validator, } from 'hono-openapi';
40
+ export { resolver, uniqueSymbol, validator, } from 'hono-openapi';
41
+ function cloneResponseContainers(spec) {
42
+ if (!spec.responses)
43
+ return spec;
44
+ return {
45
+ ...spec,
46
+ responses: Object.fromEntries(Object.entries(spec.responses).map(([status, response]) => [
47
+ status,
48
+ !response || !('content' in response)
49
+ ? response
50
+ : {
51
+ ...response,
52
+ content: Object.fromEntries(Object.entries(response.content ?? {}).map(([mediaType, media]) => [
53
+ mediaType,
54
+ { ...media },
55
+ ])),
56
+ },
57
+ ])),
58
+ };
59
+ }
60
+ /** Describes a route without allowing spec generation to mutate reusable response definitions. */
61
+ export function describeRoute(spec) {
62
+ const handler = core_describeRoute(spec);
63
+ Object.defineProperty(handler, uniqueSymbol, {
64
+ get: () => ({ spec: cloneResponseContainers(spec) }),
65
+ });
66
+ return handler;
67
+ }
68
+ /** Emits a named OpenAPI component and uses its `$ref` wherever the schema appears. */
69
+ export function component(schema, name) {
70
+ const cloned = schema.clone();
71
+ z.globalRegistry.add(cloned, { ...z.globalRegistry.get(schema), ref: name });
72
+ return cloned;
73
+ }
41
74
  /**
42
75
  * Standard machine-readable `error.code` values per status, shared API-wide.
43
76
  * The reference enumerates `error.code` to these so generated clients narrow it
44
- * to a literal union instead of an open `string`. 400 and 404 vary per
45
- * operation; the values here are the API-wide supersets, narrowable per route
46
- * via the `codes` override in {@link responses.Options}.
77
+ * to a literal union instead of an open `string`. The values here are shared
78
+ * defaults; operation-specific codes are supplied through {@link responses.Options}.
47
79
  */
48
80
  export const errorCodes = {
49
81
  400: [
@@ -69,7 +101,7 @@ export const errorCodes = {
69
101
  'api_key_malformed',
70
102
  ],
71
103
  401: ['api_key_missing', 'api_key_invalid', 'unauthorized'],
72
- 403: ['api_key_forbidden', 'api_key_ip_forbidden', 'limit_exceeded'],
104
+ 403: ['api_key_forbidden', 'api_key_ip_forbidden', 'forbidden'],
73
105
  404: [
74
106
  'not_found',
75
107
  'token_not_found',
@@ -146,11 +178,66 @@ export const rateLimitHeaders = {
146
178
  };
147
179
  /** Representative `requestId` used in error-body examples. */
148
180
  const exampleRequestId = '0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9';
149
- /** Builds the `application/json` content for a standard error response: the enumerated-code envelope plus an example body. */
150
- function errorContent(codes, message) {
181
+ const standardErrorNames = {
182
+ 400: 'InvalidRequestError',
183
+ 401: 'AuthenticationError',
184
+ 403: 'ForbiddenError',
185
+ 404: 'ResourceNotFoundError',
186
+ 429: 'RateLimitError',
187
+ 500: 'InternalError',
188
+ 501: 'NotImplementedError',
189
+ 502: 'UpstreamError',
190
+ };
191
+ const reservedErrorNames = new Set(Object.values(standardErrorNames));
192
+ const errorSchemas = new Map();
193
+ function errorName(status, codes) {
194
+ const standard = errorCodes[status];
195
+ if (standard &&
196
+ standard.length === codes.length &&
197
+ [...standard].sort().every((code, index) => code === codes[index]))
198
+ return standardErrorNames[status];
199
+ const name = `${codes
200
+ .map((code) => code
201
+ .split('_')
202
+ .map((part) => `${part[0]?.toUpperCase()}${part.slice(1)}`)
203
+ .join(''))
204
+ .join('Or')}Error`;
205
+ if (reservedErrorNames.has(name))
206
+ return `${name.slice(0, -'Error'.length)}${status}Error`;
207
+ return name;
208
+ }
209
+ function errorSchema(status, codes) {
210
+ const defaults = errorCodes[status];
211
+ if (!codes && !defaults) {
212
+ const cached = errorSchemas.get('*');
213
+ if (cached)
214
+ return cached;
215
+ const schema = component(Schema.errorResponse(), 'ErrorResponse');
216
+ errorSchemas.set('*', schema);
217
+ return schema;
218
+ }
219
+ const normalized = [...(codes ?? defaults ?? [])].sort();
220
+ const key = normalized.join('\0');
221
+ const cached = errorSchemas.get(key);
222
+ if (cached)
223
+ return cached;
224
+ const schema = component(Schema.errorResponse(normalized), errorName(status, normalized));
225
+ errorSchemas.set(key, schema);
226
+ return schema;
227
+ }
228
+ function mergeErrorCodes(status, codes) {
229
+ if (!codes)
230
+ return errorCodes[status];
231
+ if (status !== 400 && status !== 403)
232
+ return codes.length ? codes : undefined;
233
+ const baseline = status === 400 ? ['api_key_malformed'] : errorCodes[403];
234
+ return [...new Set([...baseline, ...codes])];
235
+ }
236
+ /** Builds the `application/json` content for a standard error response: the named enumerated-code envelope plus an example body. */
237
+ function errorContent(status, codes, message) {
151
238
  return {
152
239
  'application/json': {
153
- schema: resolver(Schema.errorResponse(codes), schemaOptions),
240
+ schema: resolver(errorSchema(status, codes), schemaOptions),
154
241
  example: { error: { code: codes?.[0] ?? 'error', message }, requestId: exampleRequestId },
155
242
  },
156
243
  };
@@ -165,27 +252,25 @@ export const paymentChallenge = {
165
252
  description: 'Payment required. This endpoint accepts MPP payment, and the request either exceeded free quota or needs a paid request credential. The challenge is protocol-native (handled by mppx), not the JSON error envelope: read the `WWW-Authenticate` header and retry with `Authorization: Payment <credential>`. A successful paid response carries `Payment-Receipt`.',
166
253
  headers: { 'WWW-Authenticate': headerRef('WwwAuthenticate') },
167
254
  };
168
- /** Shared `429` rate-limit response, registered as `components.responses.RateLimited`. */
169
- const rateLimitedResponse = {
170
- content: errorContent(errorCodes[429], 'Rate limit exceeded.'),
171
- description: 'Rate limit exceeded. On endpoints that accept MPP, over-quota unpaid requests return `402 Payment Required` instead.',
172
- headers: { ...rateLimitHeaders },
173
- };
174
- /** Shared `500` internal-error response, registered as `components.responses.InternalError`. */
175
- const serverErrorResponse = {
176
- content: errorContent(errorCodes[500], 'Internal server error.'),
177
- description: 'Internal server error.',
178
- };
179
255
  /**
180
256
  * Reusable responses registered under `components.responses` (see `App.create`)
181
257
  * and `$ref`-erenced from operations, so the uniform `402`/`429`/`500` responses
182
258
  * are defined once instead of inlined on every operation.
183
259
  */
184
- export const responseComponents = {
185
- InternalError: serverErrorResponse,
186
- PaymentRequired: paymentChallenge,
187
- RateLimited: rateLimitedResponse,
188
- };
260
+ export function responseComponents() {
261
+ return {
262
+ InternalError: {
263
+ content: errorContent(500, errorCodes[500], 'Internal server error.'),
264
+ description: 'Internal server error.',
265
+ },
266
+ PaymentRequired: paymentChallenge,
267
+ RateLimited: {
268
+ content: errorContent(429, errorCodes[429], 'Rate limit exceeded.'),
269
+ description: 'Rate limit exceeded. On endpoints that accept MPP, over-quota unpaid requests return `402 Payment Required` instead.',
270
+ headers: { ...rateLimitHeaders },
271
+ },
272
+ };
273
+ }
189
274
  const responseRef = (name) => ({
190
275
  $ref: `#/components/responses/${name}`,
191
276
  });
@@ -203,30 +288,32 @@ export function standardError(status, description, codes) {
203
288
  return responseRef('RateLimited');
204
289
  if (status === 500)
205
290
  return responseRef('InternalError');
206
- return { content: errorContent(codes ?? errorCodes[status], description), description };
291
+ return { content: errorContent(status, mergeErrorCodes(status, codes), description), description };
207
292
  }
208
293
  /**
209
294
  * Builds an OpenAPI `responses` map with the API's standard error responses
210
295
  * pre-filled, plus the success response (with rate-limit headers):
211
296
  *
212
- * - `400` invalid request, `401` missing/invalid key, `429` rate limited,
213
- * `500` internal error, and `502` upstream failure on every operation;
214
- * - `403`/`404`/`409`/`412`/`413`/`415` only when an `errors` entry is set.
297
+ * - `400` invalid request, `401` missing/invalid key, `403` forbidden, `429`
298
+ * rate limited, `500` internal error, and `502` upstream failure on every operation;
299
+ * - `404`/`409`/`412`/`413`/`415` only when an `errors` entry is set.
215
300
  *
216
- * `error.code` is enumerated per status from {@link errorCodes}; narrow 400/404
217
- * to a route's exact codes by passing `{ description, codes }` for that status.
218
- * `429`/`500` `$ref` the shared {@link responseComponents}. `402` is not emitted
219
- * here it is injected per operation from the route's MPP policy during spec
220
- * generation (see `App.ts`).
301
+ * `error.code` is enumerated per status from {@link errorCodes}. Operation-level
302
+ * 400/403 codes merge with shared auth codes; other overrides replace defaults.
303
+ * The default `429` and `500` `$ref` shared {@link responseComponents}; an exact
304
+ * operation-level `429` override is emitted inline with the standard headers.
305
+ * `402` is injected per operation from the route's MPP policy in `App.ts`.
221
306
  */
222
307
  export function responses(options) {
223
308
  const { errors, success } = options;
224
309
  const error = (status, fallback) => {
225
310
  const override = errors?.[status];
226
311
  const description = typeof override === 'string' ? override : (override?.description ?? fallback);
227
- const codes = (typeof override === 'object' ? override.codes : undefined) ??
228
- errorCodes[status];
229
- return { content: errorContent(codes, description), description };
312
+ const codes = mergeErrorCodes(status, typeof override === 'object' ? override.codes : undefined);
313
+ return {
314
+ content: errorContent(status, codes, description),
315
+ description,
316
+ };
230
317
  };
231
318
  return {
232
319
  200: {
@@ -245,13 +332,15 @@ export function responses(options) {
245
332
  },
246
333
  400: error(400, 'Invalid request.'),
247
334
  401: error(401, 'Missing or invalid API key.'),
248
- ...(errors?.[403] && { 403: error(403, 'Forbidden.') }),
335
+ 403: error(403, 'Forbidden.'),
249
336
  ...(errors?.[404] && { 404: error(404, 'Not found.') }),
250
337
  ...(errors?.[409] && { 409: error(409, 'Conflict.') }),
251
338
  ...(errors?.[412] && { 412: error(412, 'Precondition failed.') }),
252
339
  ...(errors?.[413] && { 413: error(413, 'Payload too large.') }),
253
340
  ...(errors?.[415] && { 415: error(415, 'Unsupported media type.') }),
254
- 429: responseRef('RateLimited'),
341
+ 429: errors?.[429]
342
+ ? { ...error(429, 'Rate limit exceeded.'), headers: { ...rateLimitHeaders } }
343
+ : responseRef('RateLimited'),
255
344
  500: responseRef('InternalError'),
256
345
  ...(errors?.[501] && { 501: error(501, 'Not implemented.') }),
257
346
  502: error(502, 'Upstream data failure.'),