tapimo 0.15.0 → 0.18.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 (734) hide show
  1. package/README.md +137 -0
  2. package/dist/ApiKey.d.ts +1 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +4 -2
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +37 -11
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +163 -10
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +13085 -11974
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +46 -15
  13. package/dist/App.js.map +1 -1
  14. package/dist/Scope.d.ts +1 -1
  15. package/dist/Scope.d.ts.map +1 -1
  16. package/dist/Scope.js +1 -1
  17. package/dist/Scope.js.map +1 -1
  18. package/dist/admin/App.d.ts +896 -191
  19. package/dist/admin/App.d.ts.map +1 -1
  20. package/dist/admin/App.js +5 -1
  21. package/dist/admin/App.js.map +1 -1
  22. package/dist/admin/apps/api-keys.d.ts +33 -33
  23. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  24. package/dist/admin/apps/api-keys.js +8 -3
  25. package/dist/admin/apps/api-keys.js.map +1 -1
  26. package/dist/admin/apps/earn-vaults.d.ts +66 -27
  27. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  28. package/dist/admin/apps/earn-vaults.js +36 -7
  29. package/dist/admin/apps/earn-vaults.js.map +1 -1
  30. package/dist/admin/apps/organizations.d.ts +25 -25
  31. package/dist/admin/apps/organizations.d.ts.map +1 -1
  32. package/dist/admin/apps/organizations.js +5 -4
  33. package/dist/admin/apps/organizations.js.map +1 -1
  34. package/dist/admin/apps/route-policies.d.ts +632 -0
  35. package/dist/admin/apps/route-policies.d.ts.map +1 -0
  36. package/dist/admin/apps/route-policies.js +257 -0
  37. package/dist/admin/apps/route-policies.js.map +1 -0
  38. package/dist/admin/apps/routes-support.js +39 -3
  39. package/dist/admin/apps/routes-support.js.map +1 -1
  40. package/dist/admin/apps/routes.d.ts +454 -1
  41. package/dist/admin/apps/routes.d.ts.map +1 -1
  42. package/dist/admin/apps/routes.js +82 -1
  43. package/dist/admin/apps/routes.js.map +1 -1
  44. package/dist/admin/apps/verified-tokens.d.ts +10 -4
  45. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  46. package/dist/admin/apps/verified-tokens.js +24 -4
  47. package/dist/admin/apps/verified-tokens.js.map +1 -1
  48. package/dist/admin/index.d.ts +0 -1
  49. package/dist/admin/index.d.ts.map +1 -1
  50. package/dist/admin/index.js +0 -1
  51. package/dist/admin/index.js.map +1 -1
  52. package/dist/admin/ui.generated.d.ts +1 -1
  53. package/dist/admin/ui.generated.d.ts.map +1 -1
  54. package/dist/admin/ui.generated.js +99 -103
  55. package/dist/admin/ui.generated.js.map +1 -1
  56. package/dist/analytics/Analytics.d.ts.map +1 -1
  57. package/dist/analytics/Analytics.js +65 -1
  58. package/dist/analytics/Analytics.js.map +1 -1
  59. package/dist/analytics/tables/requestEvents.d.ts +1 -1
  60. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  61. package/dist/analytics/tables/requestEvents.js +58 -59
  62. package/dist/analytics/tables/requestEvents.js.map +1 -1
  63. package/dist/apps/data/App.d.ts +2709 -2670
  64. package/dist/apps/data/App.d.ts.map +1 -1
  65. package/dist/apps/data/routes/activities.d.ts +5 -5
  66. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  67. package/dist/apps/data/routes/activities.js +50 -0
  68. package/dist/apps/data/routes/activities.js.map +1 -1
  69. package/dist/apps/data/routes/addresses.d.ts +248 -248
  70. package/dist/apps/data/routes/balances.d.ts +22 -22
  71. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  72. package/dist/apps/data/routes/balances.js +5 -7
  73. package/dist/apps/data/routes/balances.js.map +1 -1
  74. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  75. package/dist/apps/data/routes/earn.d.ts +103 -12
  76. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  77. package/dist/apps/data/routes/earn.js +456 -220
  78. package/dist/apps/data/routes/earn.js.map +1 -1
  79. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  80. package/dist/apps/data/routes/exchanges.js +267 -97
  81. package/dist/apps/data/routes/exchanges.js.map +1 -1
  82. package/dist/apps/data/routes/fee-amm.d.ts +1 -19
  83. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  84. package/dist/apps/data/routes/fee-amm.js +93 -56
  85. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  86. package/dist/apps/data/routes/indexer.d.ts +10 -10
  87. package/dist/apps/data/routes/rpc.d.ts +30 -30
  88. package/dist/apps/data/routes/rpc.js +45 -11
  89. package/dist/apps/data/routes/rpc.js.map +1 -1
  90. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  91. package/dist/apps/data/routes/tokens.js +11 -6
  92. package/dist/apps/data/routes/tokens.js.map +1 -1
  93. package/dist/apps/data/routes/transactions.d.ts +2 -0
  94. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  95. package/dist/apps/data/routes/transactions.js +30 -22
  96. package/dist/apps/data/routes/transactions.js.map +1 -1
  97. package/dist/apps/data/routes/transfers.d.ts +12 -12
  98. package/dist/apps/data/routes/valuation.d.ts +30 -30
  99. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  100. package/dist/apps/data/routes/webhooks.d.ts +1 -1
  101. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  102. package/dist/apps/data/routes/webhooks.js +18 -11
  103. package/dist/apps/data/routes/webhooks.js.map +1 -1
  104. package/dist/apps/data/routes/zones.d.ts +3 -3
  105. package/dist/apps/management/App.d.ts +3043 -2198
  106. package/dist/apps/management/App.d.ts.map +1 -1
  107. package/dist/apps/management/App.js +2 -0
  108. package/dist/apps/management/App.js.map +1 -1
  109. package/dist/apps/management/Billing.d.ts +2 -4
  110. package/dist/apps/management/Billing.d.ts.map +1 -1
  111. package/dist/apps/management/Billing.js +65 -26
  112. package/dist/apps/management/Billing.js.map +1 -1
  113. package/dist/apps/management/routes/api-keys.d.ts +16 -4
  114. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  115. package/dist/apps/management/routes/api-keys.js +70 -11
  116. package/dist/apps/management/routes/api-keys.js.map +1 -1
  117. package/dist/apps/management/routes/billing.d.ts +84 -84
  118. package/dist/apps/management/routes/cli.d.ts +912 -0
  119. package/dist/apps/management/routes/cli.d.ts.map +1 -0
  120. package/dist/apps/management/routes/cli.js +416 -0
  121. package/dist/apps/management/routes/cli.js.map +1 -0
  122. package/dist/apps/management/routes/faucet.d.ts +8 -8
  123. package/dist/apps/management/routes/invitations.d.ts +24 -24
  124. package/dist/apps/management/routes/invite-links.d.ts +66 -66
  125. package/dist/apps/management/routes/members.d.ts +16 -16
  126. package/dist/apps/management/routes/orgs.d.ts +20 -20
  127. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  128. package/dist/apps/management/routes/orgs.js +8 -2
  129. package/dist/apps/management/routes/orgs.js.map +1 -1
  130. package/dist/apps/management/routes/projects.d.ts +76 -76
  131. package/dist/apps/management/routes/usage.d.ts +8 -8
  132. package/dist/apps/management/routes/verified-token-requests.d.ts +42 -42
  133. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  134. package/dist/apps/management/routes/verified-token-requests.js +7 -9
  135. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  136. package/dist/apps/management/routes/webhooks.d.ts +119 -119
  137. package/dist/apps/mcp.d.ts.map +1 -1
  138. package/dist/apps/mcp.js +16 -3
  139. package/dist/apps/mcp.js.map +1 -1
  140. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  141. package/dist/apps/mpp/internal/Policy.js +4 -2
  142. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  143. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
  144. package/dist/apps/mpp/internal/Sponsorship.js +6 -4
  145. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
  146. package/dist/apps/relay/App.d.ts +8 -0
  147. package/dist/apps/relay/App.d.ts.map +1 -1
  148. package/dist/apps/relay/App.js +16 -4
  149. package/dist/apps/relay/App.js.map +1 -1
  150. package/dist/apps/relay/Sponsorships.d.ts +4 -6
  151. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  152. package/dist/apps/relay/Sponsorships.js +71 -60
  153. package/dist/apps/relay/Sponsorships.js.map +1 -1
  154. package/dist/apps/routes/Access.d.ts +53 -0
  155. package/dist/apps/routes/Access.d.ts.map +1 -1
  156. package/dist/apps/routes/Access.js +121 -0
  157. package/dist/apps/routes/Access.js.map +1 -1
  158. package/dist/apps/routes/App.d.ts +397 -158
  159. package/dist/apps/routes/App.d.ts.map +1 -1
  160. package/dist/apps/routes/App.js.map +1 -1
  161. package/dist/apps/routes/routes/deposit-addresses.d.ts +169 -61
  162. package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -1
  163. package/dist/apps/routes/routes/deposit-addresses.js +217 -32
  164. package/dist/apps/routes/routes/deposit-addresses.js.map +1 -1
  165. package/dist/apps/routes/routes/quotes.d.ts +90 -0
  166. package/dist/apps/routes/routes/quotes.d.ts.map +1 -1
  167. package/dist/apps/routes/routes/quotes.js +101 -27
  168. package/dist/apps/routes/routes/quotes.js.map +1 -1
  169. package/dist/apps/routes/routes/transfers.d.ts +187 -135
  170. package/dist/apps/routes/routes/transfers.d.ts.map +1 -1
  171. package/dist/apps/routes/routes/transfers.js +182 -37
  172. package/dist/apps/routes/routes/transfers.js.map +1 -1
  173. package/dist/cli/ApiKeys.d.ts +120 -0
  174. package/dist/cli/ApiKeys.d.ts.map +1 -0
  175. package/dist/cli/ApiKeys.js +138 -0
  176. package/dist/cli/ApiKeys.js.map +1 -0
  177. package/dist/cli/Cli.d.ts +92 -34
  178. package/dist/cli/Cli.d.ts.map +1 -1
  179. package/dist/cli/Cli.js +188 -11
  180. package/dist/cli/Cli.js.map +1 -1
  181. package/dist/cli/Credentials.d.ts +95 -0
  182. package/dist/cli/Credentials.d.ts.map +1 -0
  183. package/dist/cli/Credentials.js +110 -0
  184. package/dist/cli/Credentials.js.map +1 -0
  185. package/dist/cli/Spec.d.ts +59 -0
  186. package/dist/cli/Spec.d.ts.map +1 -0
  187. package/dist/cli/Spec.js +77 -0
  188. package/dist/cli/Spec.js.map +1 -0
  189. package/dist/cli/bin.js +5 -1
  190. package/dist/cli/bin.js.map +1 -1
  191. package/dist/cli/commands/admin.d.ts +5 -5
  192. package/dist/cli/commands/admin.d.ts.map +1 -1
  193. package/dist/cli/commands/auth.d.ts +73 -0
  194. package/dist/cli/commands/auth.d.ts.map +1 -0
  195. package/dist/cli/commands/auth.js +204 -0
  196. package/dist/cli/commands/auth.js.map +1 -0
  197. package/dist/cli/commands/keys.d.ts +17 -0
  198. package/dist/cli/commands/keys.d.ts.map +1 -0
  199. package/dist/cli/commands/keys.js +109 -0
  200. package/dist/cli/commands/keys.js.map +1 -0
  201. package/dist/cloudflare.d.ts +27 -2
  202. package/dist/cloudflare.d.ts.map +1 -1
  203. package/dist/cloudflare.js +144 -17
  204. package/dist/cloudflare.js.map +1 -1
  205. package/dist/db/Db.d.ts +23 -0
  206. package/dist/db/Db.d.ts.map +1 -1
  207. package/dist/db/Db.js +418 -1
  208. package/dist/db/Db.js.map +1 -1
  209. package/dist/db/Schema.d.ts +44 -1
  210. package/dist/db/Schema.d.ts.map +1 -1
  211. package/dist/db/Schema.js +56 -3
  212. package/dist/db/Schema.js.map +1 -1
  213. package/dist/db/tables/apiKeyAdmissions.d.ts +28 -2
  214. package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -1
  215. package/dist/db/tables/apiKeyAdmissions.js +65 -9
  216. package/dist/db/tables/apiKeyAdmissions.js.map +1 -1
  217. package/dist/db/tables/apiKeyOwnerTombstones.d.ts +2 -0
  218. package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -1
  219. package/dist/db/tables/apiKeyOwnerTombstones.js +2 -2
  220. package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -1
  221. package/dist/db/tables/authAccounts.d.ts.map +1 -1
  222. package/dist/db/tables/authAccounts.js +1 -0
  223. package/dist/db/tables/authAccounts.js.map +1 -1
  224. package/dist/db/tables/earnVaults.d.ts +5 -1
  225. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  226. package/dist/db/tables/earnVaults.js +12 -1
  227. package/dist/db/tables/earnVaults.js.map +1 -1
  228. package/dist/db/tables/organizations.d.ts +4 -2
  229. package/dist/db/tables/organizations.d.ts.map +1 -1
  230. package/dist/db/tables/organizations.js +8 -34
  231. package/dist/db/tables/organizations.js.map +1 -1
  232. package/dist/db/tables/requestUsage.d.ts +5 -1
  233. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  234. package/dist/db/tables/requestUsage.js +10 -2
  235. package/dist/db/tables/requestUsage.js.map +1 -1
  236. package/dist/db/tables/rewardEligibilityAssociations.d.ts +13 -0
  237. package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -1
  238. package/dist/db/tables/rewardEligibilityAssociations.js +11 -0
  239. package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -1
  240. package/dist/db/tables/rewardRuns.d.ts.map +1 -1
  241. package/dist/db/tables/rewardRuns.js +4 -0
  242. package/dist/db/tables/rewardRuns.js.map +1 -1
  243. package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -1
  244. package/dist/db/tables/rewardTransactionAttempts.js +2 -0
  245. package/dist/db/tables/rewardTransactionAttempts.js.map +1 -1
  246. package/dist/db/tables/routesDepositAddresses.d.ts +29 -0
  247. package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -1
  248. package/dist/db/tables/routesDepositAddresses.js +84 -31
  249. package/dist/db/tables/routesDepositAddresses.js.map +1 -1
  250. package/dist/db/tables/routesDeposits.d.ts.map +1 -1
  251. package/dist/db/tables/routesDeposits.js +31 -21
  252. package/dist/db/tables/routesDeposits.js.map +1 -1
  253. package/dist/db/tables/routesIdempotency.d.ts.map +1 -1
  254. package/dist/db/tables/routesIdempotency.js +2 -0
  255. package/dist/db/tables/routesIdempotency.js.map +1 -1
  256. package/dist/db/tables/routesPolicies.d.ts +58 -0
  257. package/dist/db/tables/routesPolicies.d.ts.map +1 -0
  258. package/dist/db/tables/routesPolicies.js +198 -0
  259. package/dist/db/tables/routesPolicies.js.map +1 -0
  260. package/dist/db/tables/routesTransferSubsidies.d.ts +22 -0
  261. package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -1
  262. package/dist/db/tables/routesTransferSubsidies.js +41 -0
  263. package/dist/db/tables/routesTransferSubsidies.js.map +1 -1
  264. package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -1
  265. package/dist/db/tables/routesTransferSubsidyNonces.js +12 -4
  266. package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -1
  267. package/dist/db/tables/routesTransfers.d.ts +26 -1
  268. package/dist/db/tables/routesTransfers.d.ts.map +1 -1
  269. package/dist/db/tables/routesTransfers.js +36 -6
  270. package/dist/db/tables/routesTransfers.js.map +1 -1
  271. package/dist/db/tables/sponsoredTransactions.d.ts +45 -13
  272. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  273. package/dist/db/tables/sponsoredTransactions.js +144 -33
  274. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  275. package/dist/db/tables/users.d.ts +2 -0
  276. package/dist/db/tables/users.d.ts.map +1 -1
  277. package/dist/db/tables/users.js +11 -0
  278. package/dist/db/tables/users.js.map +1 -1
  279. package/dist/db/tables/verifiedTokenRequests.d.ts +21 -4
  280. package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -1
  281. package/dist/db/tables/verifiedTokenRequests.js +65 -44
  282. package/dist/db/tables/verifiedTokenRequests.js.map +1 -1
  283. package/dist/handlers/internal/multisig.d.ts +1 -1
  284. package/dist/handlers/internal/multisig.d.ts.map +1 -1
  285. package/dist/handlers/internal/multisig.js +3 -2
  286. package/dist/handlers/internal/multisig.js.map +1 -1
  287. package/dist/handlers/relay.d.ts +2 -0
  288. package/dist/handlers/relay.d.ts.map +1 -1
  289. package/dist/handlers/relay.js +34 -15
  290. package/dist/handlers/relay.js.map +1 -1
  291. package/dist/internal/Auth.d.ts +73 -6
  292. package/dist/internal/Auth.d.ts.map +1 -1
  293. package/dist/internal/Auth.js +212 -85
  294. package/dist/internal/Auth.js.map +1 -1
  295. package/dist/internal/BetterAuth.d.ts +22 -0
  296. package/dist/internal/BetterAuth.d.ts.map +1 -1
  297. package/dist/internal/BetterAuth.js +17 -14
  298. package/dist/internal/BetterAuth.js.map +1 -1
  299. package/dist/internal/Cache.d.ts +5 -0
  300. package/dist/internal/Cache.d.ts.map +1 -1
  301. package/dist/internal/Cache.js +3 -1
  302. package/dist/internal/Cache.js.map +1 -1
  303. package/dist/internal/CliAuth.d.ts +243 -0
  304. package/dist/internal/CliAuth.d.ts.map +1 -0
  305. package/dist/internal/CliAuth.js +249 -0
  306. package/dist/internal/CliAuth.js.map +1 -0
  307. package/dist/internal/EarnSharePrices.d.ts +1 -1
  308. package/dist/internal/EarnSharePrices.d.ts.map +1 -1
  309. package/dist/internal/EarnSharePrices.js +7 -3
  310. package/dist/internal/EarnSharePrices.js.map +1 -1
  311. package/dist/internal/EarnVaults.d.ts +47 -0
  312. package/dist/internal/EarnVaults.d.ts.map +1 -1
  313. package/dist/internal/EarnVaults.js +188 -4
  314. package/dist/internal/EarnVaults.js.map +1 -1
  315. package/dist/internal/EarnWithdrawals.d.ts +73 -0
  316. package/dist/internal/EarnWithdrawals.d.ts.map +1 -0
  317. package/dist/internal/EarnWithdrawals.js +189 -0
  318. package/dist/internal/EarnWithdrawals.js.map +1 -0
  319. package/dist/internal/ExecutionContext.d.ts +21 -0
  320. package/dist/internal/ExecutionContext.d.ts.map +1 -0
  321. package/dist/internal/ExecutionContext.js +16 -0
  322. package/dist/internal/ExecutionContext.js.map +1 -0
  323. package/dist/internal/Log.d.ts +7 -3
  324. package/dist/internal/Log.d.ts.map +1 -1
  325. package/dist/internal/Log.js +163 -130
  326. package/dist/internal/Log.js.map +1 -1
  327. package/dist/internal/MetricSink.d.ts.map +1 -1
  328. package/dist/internal/MetricSink.js +26 -1
  329. package/dist/internal/MetricSink.js.map +1 -1
  330. package/dist/internal/RateLimit.d.ts +67 -0
  331. package/dist/internal/RateLimit.d.ts.map +1 -1
  332. package/dist/internal/RateLimit.js +174 -27
  333. package/dist/internal/RateLimit.js.map +1 -1
  334. package/dist/internal/Store.d.ts +6 -0
  335. package/dist/internal/Store.d.ts.map +1 -1
  336. package/dist/internal/Store.js +4 -5
  337. package/dist/internal/Store.js.map +1 -1
  338. package/dist/internal/Timing.d.ts +6 -0
  339. package/dist/internal/Timing.d.ts.map +1 -1
  340. package/dist/internal/Timing.js +21 -1
  341. package/dist/internal/Timing.js.map +1 -1
  342. package/dist/internal/Tron.d.ts +124 -0
  343. package/dist/internal/Tron.d.ts.map +1 -0
  344. package/dist/internal/Tron.js +202 -0
  345. package/dist/internal/Tron.js.map +1 -0
  346. package/dist/internal/Viem.d.ts +4 -0
  347. package/dist/internal/Viem.d.ts.map +1 -1
  348. package/dist/internal/Viem.js +25 -6
  349. package/dist/internal/Viem.js.map +1 -1
  350. package/dist/internal/rewards/Read.d.ts +2 -2
  351. package/dist/internal/rewards/Read.d.ts.map +1 -1
  352. package/dist/internal/rewards/Read.js +11 -2
  353. package/dist/internal/rewards/Read.js.map +1 -1
  354. package/dist/internal/routes/Action.d.ts +27 -0
  355. package/dist/internal/routes/Action.d.ts.map +1 -1
  356. package/dist/internal/routes/Action.js +49 -1
  357. package/dist/internal/routes/Action.js.map +1 -1
  358. package/dist/internal/routes/Chain.d.ts +2 -0
  359. package/dist/internal/routes/Chain.d.ts.map +1 -1
  360. package/dist/internal/routes/Chain.js +4 -0
  361. package/dist/internal/routes/Chain.js.map +1 -1
  362. package/dist/internal/routes/DepositAddress.d.ts.map +1 -1
  363. package/dist/internal/routes/DepositAddress.js +5 -0
  364. package/dist/internal/routes/DepositAddress.js.map +1 -1
  365. package/dist/internal/routes/Evidence.d.ts.map +1 -1
  366. package/dist/internal/routes/Evidence.js +6 -2
  367. package/dist/internal/routes/Evidence.js.map +1 -1
  368. package/dist/internal/routes/EvmTransferSettlement.d.ts +17 -0
  369. package/dist/internal/routes/EvmTransferSettlement.d.ts.map +1 -0
  370. package/dist/internal/routes/EvmTransferSettlement.js +196 -0
  371. package/dist/internal/routes/EvmTransferSettlement.js.map +1 -0
  372. package/dist/internal/routes/Policy.d.ts +161 -0
  373. package/dist/internal/routes/Policy.d.ts.map +1 -0
  374. package/dist/internal/routes/Policy.js +249 -0
  375. package/dist/internal/routes/Policy.js.map +1 -0
  376. package/dist/internal/routes/Provider.d.ts +66 -3
  377. package/dist/internal/routes/Provider.d.ts.map +1 -1
  378. package/dist/internal/routes/Provider.js +106 -27
  379. package/dist/internal/routes/Provider.js.map +1 -1
  380. package/dist/internal/routes/Quota.d.ts +57 -0
  381. package/dist/internal/routes/Quota.d.ts.map +1 -0
  382. package/dist/internal/routes/Quota.js +144 -0
  383. package/dist/internal/routes/Quota.js.map +1 -0
  384. package/dist/internal/routes/Reconciliation.d.ts.map +1 -1
  385. package/dist/internal/routes/Reconciliation.js +163 -47
  386. package/dist/internal/routes/Reconciliation.js.map +1 -1
  387. package/dist/internal/routes/SolanaTransferSettlement.d.ts +12 -0
  388. package/dist/internal/routes/SolanaTransferSettlement.d.ts.map +1 -0
  389. package/dist/internal/routes/SolanaTransferSettlement.js +220 -0
  390. package/dist/internal/routes/SolanaTransferSettlement.js.map +1 -0
  391. package/dist/internal/routes/SolanaTransferSubsidy.d.ts +172 -0
  392. package/dist/internal/routes/SolanaTransferSubsidy.d.ts.map +1 -0
  393. package/dist/internal/routes/SolanaTransferSubsidy.js +564 -0
  394. package/dist/internal/routes/SolanaTransferSubsidy.js.map +1 -0
  395. package/dist/internal/routes/Subsidy.d.ts +2 -2
  396. package/dist/internal/routes/Subsidy.d.ts.map +1 -1
  397. package/dist/internal/routes/Subsidy.js +2 -2
  398. package/dist/internal/routes/Subsidy.js.map +1 -1
  399. package/dist/internal/routes/Transfer.d.ts +229 -1
  400. package/dist/internal/routes/Transfer.d.ts.map +1 -1
  401. package/dist/internal/routes/Transfer.js +644 -7
  402. package/dist/internal/routes/Transfer.js.map +1 -1
  403. package/dist/internal/routes/TransferReconciliation.d.ts +6 -0
  404. package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -1
  405. package/dist/internal/routes/TransferReconciliation.js +83 -159
  406. package/dist/internal/routes/TransferReconciliation.js.map +1 -1
  407. package/dist/internal/routes/TransferSettlement.d.ts +45 -0
  408. package/dist/internal/routes/TransferSettlement.d.ts.map +1 -0
  409. package/dist/internal/routes/TransferSettlement.js +2 -0
  410. package/dist/internal/routes/TransferSettlement.js.map +1 -0
  411. package/dist/internal/routes/TransferSubsidy.d.ts +23 -8
  412. package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -1
  413. package/dist/internal/routes/TransferSubsidy.js +64 -5
  414. package/dist/internal/routes/TransferSubsidy.js.map +1 -1
  415. package/dist/internal/routes/TronTransferSettlement.d.ts +12 -0
  416. package/dist/internal/routes/TronTransferSettlement.d.ts.map +1 -0
  417. package/dist/internal/routes/TronTransferSettlement.js +201 -0
  418. package/dist/internal/routes/TronTransferSettlement.js.map +1 -0
  419. package/dist/internal/routes/TronTransferSubsidy.d.ts +174 -0
  420. package/dist/internal/routes/TronTransferSubsidy.d.ts.map +1 -0
  421. package/dist/internal/routes/TronTransferSubsidy.js +439 -0
  422. package/dist/internal/routes/TronTransferSubsidy.js.map +1 -0
  423. package/dist/internal/routes/index.d.ts +3 -0
  424. package/dist/internal/routes/index.d.ts.map +1 -1
  425. package/dist/internal/routes/index.js +3 -0
  426. package/dist/internal/routes/index.js.map +1 -1
  427. package/dist/internal/routes/providers/across.d.ts +3 -0
  428. package/dist/internal/routes/providers/across.d.ts.map +1 -1
  429. package/dist/internal/routes/providers/across.js +11 -0
  430. package/dist/internal/routes/providers/across.js.map +1 -1
  431. package/dist/internal/routes/providers/legacyMesh.d.ts +29 -0
  432. package/dist/internal/routes/providers/legacyMesh.d.ts.map +1 -0
  433. package/dist/internal/routes/providers/legacyMesh.js +474 -0
  434. package/dist/internal/routes/providers/legacyMesh.js.map +1 -0
  435. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts +59 -0
  436. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts.map +1 -0
  437. package/dist/internal/routes/providers/legacyMeshDelivery.js +229 -0
  438. package/dist/internal/routes/providers/legacyMeshDelivery.js.map +1 -0
  439. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts +19 -0
  440. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts.map +1 -0
  441. package/dist/internal/routes/providers/legacyMeshOutbound.js +457 -0
  442. package/dist/internal/routes/providers/legacyMeshOutbound.js.map +1 -0
  443. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts +123 -0
  444. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts.map +1 -0
  445. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js +333 -0
  446. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js.map +1 -0
  447. package/dist/internal/routes/providers/propAmm.d.ts +70 -0
  448. package/dist/internal/routes/providers/propAmm.d.ts.map +1 -0
  449. package/dist/internal/routes/providers/propAmm.js +524 -0
  450. package/dist/internal/routes/providers/propAmm.js.map +1 -0
  451. package/dist/internal/routes/providers/relay.d.ts +4 -1
  452. package/dist/internal/routes/providers/relay.d.ts.map +1 -1
  453. package/dist/internal/routes/providers/relay.js +353 -42
  454. package/dist/internal/routes/providers/relay.js.map +1 -1
  455. package/dist/internal/routes/providers/rhino.d.ts +3 -0
  456. package/dist/internal/routes/providers/rhino.d.ts.map +1 -1
  457. package/dist/internal/routes/providers/rhino.js +11 -0
  458. package/dist/internal/routes/providers/rhino.js.map +1 -1
  459. package/dist/internal/routes/providers/squid.d.ts +3 -0
  460. package/dist/internal/routes/providers/squid.d.ts.map +1 -1
  461. package/dist/internal/routes/providers/squid.js +19 -0
  462. package/dist/internal/routes/providers/squid.js.map +1 -1
  463. package/dist/internal/routes/providers/stargate.d.ts.map +1 -1
  464. package/dist/internal/routes/providers/stargate.js +22 -9
  465. package/dist/internal/routes/providers/stargate.js.map +1 -1
  466. package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -1
  467. package/dist/internal/routes/providers/symbiosis.js +13 -17
  468. package/dist/internal/routes/providers/symbiosis.js.map +1 -1
  469. package/dist/providers/index.d.ts +14 -0
  470. package/dist/providers/index.d.ts.map +1 -1
  471. package/dist/providers/index.js +6 -0
  472. package/dist/providers/index.js.map +1 -1
  473. package/package.json +16 -6
  474. package/src/ApiKey.ts +7 -3
  475. package/src/ApiKeys.test.ts +652 -8
  476. package/src/ApiKeys.ts +191 -11
  477. package/src/App.test.ts +405 -18
  478. package/src/App.ts +51 -15
  479. package/src/Client.test-d.ts +157 -10
  480. package/src/Client.test.ts +4 -4
  481. package/src/Scope.ts +1 -2
  482. package/src/admin/App.ts +11 -5
  483. package/src/admin/apps/api-keys.test.ts +98 -2
  484. package/src/admin/apps/api-keys.ts +21 -12
  485. package/src/admin/apps/earn-vaults.test.ts +76 -7
  486. package/src/admin/apps/earn-vaults.ts +47 -8
  487. package/src/admin/apps/organizations.test.ts +147 -31
  488. package/src/admin/apps/organizations.ts +5 -4
  489. package/src/admin/apps/route-policies.test.ts +220 -0
  490. package/src/admin/apps/route-policies.ts +322 -0
  491. package/src/admin/apps/routes-support.test.ts +107 -2
  492. package/src/admin/apps/routes-support.ts +43 -3
  493. package/src/admin/apps/routes.test.ts +150 -0
  494. package/src/admin/apps/routes.ts +97 -1
  495. package/src/admin/apps/scopes.test.ts +1 -1
  496. package/src/admin/apps/verified-tokens.test.ts +32 -0
  497. package/src/admin/apps/verified-tokens.ts +30 -4
  498. package/src/admin/index.ts +0 -1
  499. package/src/admin/ui/plugin.ts +2 -1
  500. package/src/admin/ui/src/components/Dialog.tsx +1 -1
  501. package/src/admin/ui/src/components/EarnVaultForm.tsx +45 -0
  502. package/src/admin/ui/src/components/RoutePicker.tsx +79 -0
  503. package/src/admin/ui/src/lib/earn-vaults.ts +1 -1
  504. package/src/admin/ui/src/lib/route-policies.test.ts +452 -0
  505. package/src/admin/ui/src/lib/route-policies.ts +232 -0
  506. package/src/admin/ui/src/lib/routes.ts +34 -0
  507. package/src/admin/ui/src/lib/verified-tokens.ts +24 -9
  508. package/src/admin/ui/src/routeTree.gen.ts +21 -0
  509. package/src/admin/ui/src/routes/__root.tsx +1 -1
  510. package/src/admin/ui/src/routes/api-keys.tsx +21 -2
  511. package/src/admin/ui/src/routes/early-access.tsx +1 -0
  512. package/src/admin/ui/src/routes/earn.vaults.tsx +1 -0
  513. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +22 -0
  514. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +10 -0
  515. package/src/admin/ui/src/routes/organizations.tsx +35 -4
  516. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +18 -3
  517. package/src/admin/ui/src/routes/route-policies.tsx +678 -0
  518. package/src/admin/ui/src/routes/routes.tsx +85 -2
  519. package/src/admin/ui/src/routes/routes_.support.tsx +6 -22
  520. package/src/admin/ui/src/routes/subsidies.tsx +1 -0
  521. package/src/admin/ui/src/routes/verified-tokens.tsx +65 -20
  522. package/src/admin/ui.generated.ts +99 -104
  523. package/src/analytics/Analytics.test.ts +4 -50
  524. package/src/analytics/Analytics.ts +65 -1
  525. package/src/analytics/tables/requestEvents.test.ts +402 -1
  526. package/src/analytics/tables/requestEvents.ts +62 -93
  527. package/src/apps/data/App.test.ts +26 -0
  528. package/src/apps/data/routes/activities.test.ts +315 -14
  529. package/src/apps/data/routes/activities.ts +60 -0
  530. package/src/apps/data/routes/balances.ts +5 -7
  531. package/src/apps/data/routes/earn.bench.ts +18 -0
  532. package/src/apps/data/routes/earn.local.test.ts +507 -0
  533. package/src/apps/data/routes/earn.test.ts +405 -127
  534. package/src/apps/data/routes/earn.ts +660 -270
  535. package/src/apps/data/routes/exchanges.bench.ts +3 -1
  536. package/src/apps/data/routes/exchanges.test.ts +166 -2
  537. package/src/apps/data/routes/exchanges.ts +308 -101
  538. package/src/apps/data/routes/fee-amm.test.ts +153 -2
  539. package/src/apps/data/routes/fee-amm.ts +132 -62
  540. package/src/apps/data/routes/receipts.test.ts +21 -18
  541. package/src/apps/data/routes/rpc.test.ts +34 -2
  542. package/src/apps/data/routes/rpc.ts +47 -10
  543. package/src/apps/data/routes/tokens.provenance.test.ts +157 -0
  544. package/src/apps/data/routes/tokens.test.ts +4 -4
  545. package/src/apps/data/routes/tokens.ts +11 -6
  546. package/src/apps/data/routes/transactions.test.ts +29 -0
  547. package/src/apps/data/routes/transactions.ts +33 -22
  548. package/src/apps/data/routes/webhooks.scan.test.ts +29 -0
  549. package/src/apps/data/routes/webhooks.test.ts +18 -3
  550. package/src/apps/data/routes/webhooks.ts +27 -13
  551. package/src/apps/management/App.ts +4 -0
  552. package/src/apps/management/Billing.test.ts +253 -27
  553. package/src/apps/management/Billing.ts +83 -29
  554. package/src/apps/management/routes/api-keys.test.ts +1 -1
  555. package/src/apps/management/routes/api-keys.ts +85 -11
  556. package/src/apps/management/routes/billing.test.ts +68 -4
  557. package/src/apps/management/routes/cli.test.ts +370 -0
  558. package/src/apps/management/routes/cli.ts +533 -0
  559. package/src/apps/management/routes/me.test.ts +14 -4
  560. package/src/apps/management/routes/orgs.test.ts +108 -4
  561. package/src/apps/management/routes/orgs.ts +7 -2
  562. package/src/apps/management/routes/usage.test.ts +2 -2
  563. package/src/apps/management/routes/verified-token-requests.test.ts +16 -2
  564. package/src/apps/management/routes/verified-token-requests.ts +7 -10
  565. package/src/apps/mcp.test.ts +108 -25
  566. package/src/apps/mcp.ts +15 -3
  567. package/src/apps/mpp/internal/Policy.test.ts +51 -4
  568. package/src/apps/mpp/internal/Policy.ts +6 -2
  569. package/src/apps/mpp/internal/Sponsorship.test.ts +29 -0
  570. package/src/apps/mpp/internal/Sponsorship.ts +6 -4
  571. package/src/apps/relay/App.test.ts +85 -1
  572. package/src/apps/relay/App.ts +28 -4
  573. package/src/apps/relay/Sponsorships.test.ts +97 -1
  574. package/src/apps/relay/Sponsorships.ts +77 -66
  575. package/src/apps/routes/Access.test.ts +319 -0
  576. package/src/apps/routes/Access.ts +147 -0
  577. package/src/apps/routes/App.ts +10 -0
  578. package/src/apps/routes/routes/chains.test.ts +3 -2
  579. package/src/apps/routes/routes/deposit-addresses.test.ts +978 -34
  580. package/src/apps/routes/routes/deposit-addresses.ts +243 -32
  581. package/src/apps/routes/routes/propAmm.local.test.ts +951 -0
  582. package/src/apps/routes/routes/quotes.test.ts +81 -8
  583. package/src/apps/routes/routes/quotes.ts +109 -27
  584. package/src/apps/routes/routes/transfers.test.ts +252 -15
  585. package/src/apps/routes/routes/transfers.ts +212 -33
  586. package/src/cli/ApiKeys.test.ts +265 -0
  587. package/src/cli/ApiKeys.ts +189 -0
  588. package/src/cli/Cli.test.ts +188 -0
  589. package/src/cli/Cli.ts +280 -12
  590. package/src/cli/Credentials.test.ts +122 -0
  591. package/src/cli/Credentials.ts +144 -0
  592. package/src/cli/Spec.test.ts +133 -0
  593. package/src/cli/Spec.ts +132 -0
  594. package/src/cli/bin.test.ts +49 -0
  595. package/src/cli/bin.ts +5 -1
  596. package/src/cli/commands/auth.test.ts +138 -0
  597. package/src/cli/commands/auth.ts +254 -0
  598. package/src/cli/commands/keys.test.ts +68 -0
  599. package/src/cli/commands/keys.ts +125 -0
  600. package/src/cloudflare.ts +184 -36
  601. package/src/db/Db.test.ts +877 -0
  602. package/src/db/Db.ts +507 -1
  603. package/src/db/Schema.ts +75 -4
  604. package/src/db/tables/apiKeyAdmissions.test.ts +57 -0
  605. package/src/db/tables/apiKeyAdmissions.ts +101 -11
  606. package/src/db/tables/apiKeyOwnerTombstones.ts +2 -2
  607. package/src/db/tables/authAccounts.test.ts +30 -0
  608. package/src/db/tables/authAccounts.ts +1 -0
  609. package/src/db/tables/earnVaults.test.ts +34 -0
  610. package/src/db/tables/earnVaults.ts +17 -2
  611. package/src/db/tables/organizations.test.ts +148 -84
  612. package/src/db/tables/organizations.ts +11 -43
  613. package/src/db/tables/requestUsage.ts +13 -2
  614. package/src/db/tables/rewardCampaigns.test.ts +163 -0
  615. package/src/db/tables/rewardEligibilityAssociations.test.ts +14 -0
  616. package/src/db/tables/rewardEligibilityAssociations.ts +24 -0
  617. package/src/db/tables/rewardRuns.ts +4 -0
  618. package/src/db/tables/rewardTransactionAttempts.ts +2 -0
  619. package/src/db/tables/routesDepositAddresses.test.ts +263 -0
  620. package/src/db/tables/routesDepositAddresses.ts +118 -34
  621. package/src/db/tables/routesDeposits.test.ts +133 -0
  622. package/src/db/tables/routesDeposits.ts +47 -26
  623. package/src/db/tables/routesIdempotency.test.ts +80 -0
  624. package/src/db/tables/routesIdempotency.ts +2 -0
  625. package/src/db/tables/routesPolicies.test.ts +143 -0
  626. package/src/db/tables/routesPolicies.ts +251 -0
  627. package/src/db/tables/routesTransferSubsidies.ts +64 -0
  628. package/src/db/tables/routesTransferSubsidyNonces.ts +16 -4
  629. package/src/db/tables/routesTransfers.test.ts +183 -2
  630. package/src/db/tables/routesTransfers.ts +65 -6
  631. package/src/db/tables/sponsoredTransactions.test.ts +351 -76
  632. package/src/db/tables/sponsoredTransactions.ts +182 -38
  633. package/src/db/tables/users.test.ts +51 -0
  634. package/src/db/tables/users.ts +12 -0
  635. package/src/db/tables/verifiedTokenRequests.test.ts +39 -20
  636. package/src/db/tables/verifiedTokenRequests.ts +80 -44
  637. package/src/handlers/internal/multisig.store.test.ts +120 -0
  638. package/src/handlers/internal/multisig.test.ts +389 -0
  639. package/src/handlers/internal/multisig.ts +13 -10
  640. package/src/handlers/relay.test.ts +259 -83
  641. package/src/handlers/relay.ts +36 -17
  642. package/src/internal/Auth.test.ts +383 -8
  643. package/src/internal/Auth.ts +272 -99
  644. package/src/internal/BetterAuth.test.ts +58 -22
  645. package/src/internal/BetterAuth.ts +23 -17
  646. package/src/internal/Cache.ts +3 -1
  647. package/src/internal/CliAuth.test.ts +279 -0
  648. package/src/internal/CliAuth.ts +319 -0
  649. package/src/internal/EarnSharePrices.test.ts +25 -0
  650. package/src/internal/EarnSharePrices.ts +9 -2
  651. package/src/internal/EarnVaults.test.ts +67 -0
  652. package/src/internal/EarnVaults.ts +299 -4
  653. package/src/internal/EarnWithdrawals.test.ts +315 -0
  654. package/src/internal/EarnWithdrawals.ts +266 -0
  655. package/src/internal/ExecutionContext.ts +31 -0
  656. package/src/internal/Log.test.ts +210 -0
  657. package/src/internal/Log.ts +180 -142
  658. package/src/internal/MetricSink.test.ts +190 -15
  659. package/src/internal/MetricSink.ts +27 -1
  660. package/src/internal/RateLimit.test.ts +144 -8
  661. package/src/internal/RateLimit.ts +254 -26
  662. package/src/internal/Store.ts +4 -5
  663. package/src/internal/Timing.test.ts +32 -0
  664. package/src/internal/Timing.ts +20 -1
  665. package/src/internal/Tron.test-d.ts +22 -0
  666. package/src/internal/Tron.test.ts +94 -0
  667. package/src/internal/Tron.ts +289 -0
  668. package/src/internal/Viem.rpc.test.ts +76 -0
  669. package/src/internal/Viem.ts +29 -6
  670. package/src/internal/rewards/Read.test.ts +109 -0
  671. package/src/internal/rewards/Read.ts +13 -4
  672. package/src/internal/routes/Action.test.ts +70 -0
  673. package/src/internal/routes/Action.ts +76 -1
  674. package/src/internal/routes/Chain.test.ts +18 -0
  675. package/src/internal/routes/Chain.ts +5 -0
  676. package/src/internal/routes/DepositAddress.ts +5 -0
  677. package/src/internal/routes/Evidence.test.ts +64 -0
  678. package/src/internal/routes/Evidence.ts +11 -3
  679. package/src/internal/routes/EvmTransferSettlement.ts +213 -0
  680. package/src/internal/routes/Policy.test.ts +316 -0
  681. package/src/internal/routes/Policy.ts +399 -0
  682. package/src/internal/routes/Provider.test.ts +103 -2
  683. package/src/internal/routes/Provider.ts +149 -27
  684. package/src/internal/routes/Quota.test.ts +149 -0
  685. package/src/internal/routes/Quota.ts +226 -0
  686. package/src/internal/routes/Reconciliation.local.test.ts +285 -0
  687. package/src/internal/routes/Reconciliation.test.ts +371 -13
  688. package/src/internal/routes/Reconciliation.ts +193 -42
  689. package/src/internal/routes/SolanaTransferSettlement.ts +232 -0
  690. package/src/internal/routes/SolanaTransferSubsidy.test.ts +471 -0
  691. package/src/internal/routes/SolanaTransferSubsidy.ts +760 -0
  692. package/src/internal/routes/SourceObservation.test.ts +221 -0
  693. package/src/internal/routes/Subsidy.local.test.ts +46 -0
  694. package/src/internal/routes/Subsidy.ts +4 -2
  695. package/src/internal/routes/Transfer.solana.test.ts +389 -0
  696. package/src/internal/routes/Transfer.test.ts +130 -1
  697. package/src/internal/routes/Transfer.tron.test.ts +172 -0
  698. package/src/internal/routes/Transfer.ts +866 -8
  699. package/src/internal/routes/TransferReconciliation.test.ts +26 -4
  700. package/src/internal/routes/TransferReconciliation.ts +91 -166
  701. package/src/internal/routes/TransferSettlement.ts +48 -0
  702. package/src/internal/routes/TransferSubsidy.local.test.ts +143 -0
  703. package/src/internal/routes/TransferSubsidy.test.ts +34 -4
  704. package/src/internal/routes/TransferSubsidy.ts +87 -12
  705. package/src/internal/routes/TronTransferSettlement.ts +212 -0
  706. package/src/internal/routes/TronTransferSubsidy.test.ts +109 -0
  707. package/src/internal/routes/TronTransferSubsidy.ts +619 -0
  708. package/src/internal/routes/index.test.ts +3 -0
  709. package/src/internal/routes/index.ts +3 -0
  710. package/src/internal/routes/providers/across.ts +13 -0
  711. package/src/internal/routes/providers/index.test.ts +141 -0
  712. package/src/internal/routes/providers/legacyMesh.test.ts +484 -0
  713. package/src/internal/routes/providers/legacyMesh.ts +633 -0
  714. package/src/internal/routes/providers/legacyMeshDelivery.test.ts +306 -0
  715. package/src/internal/routes/providers/legacyMeshDelivery.ts +320 -0
  716. package/src/internal/routes/providers/legacyMeshOutbound.test.ts +401 -0
  717. package/src/internal/routes/providers/legacyMeshOutbound.ts +566 -0
  718. package/src/internal/routes/providers/legacyMeshOutboundDelivery.ts +473 -0
  719. package/src/internal/routes/providers/propAmm.ts +640 -0
  720. package/src/internal/routes/providers/relay.test.ts +1299 -18
  721. package/src/internal/routes/providers/relay.ts +424 -39
  722. package/src/internal/routes/providers/rhino.ts +14 -1
  723. package/src/internal/routes/providers/squid.ts +21 -0
  724. package/src/internal/routes/providers/stargate.test.ts +105 -1
  725. package/src/internal/routes/providers/stargate.ts +22 -9
  726. package/src/internal/routes/providers/symbiosis.ts +13 -47
  727. package/src/providers/index.test.ts +2 -0
  728. package/src/providers/index.ts +18 -0
  729. package/dist/admin/Access.d.ts +0 -39
  730. package/dist/admin/Access.d.ts.map +0 -1
  731. package/dist/admin/Access.js +0 -73
  732. package/dist/admin/Access.js.map +0 -1
  733. package/src/admin/Access.test.ts +0 -130
  734. package/src/admin/Access.ts +0 -85
@@ -36,7 +36,9 @@ export async function finalize(db, options) {
36
36
  // here only the TTL can settle them.
37
37
  if (row.transactionHash === null) {
38
38
  if (Date.parse(row.createdAt) + pendingTtlMs <= now().getTime()) {
39
- await SponsoredTransactions.fail(db, row.id, now().toISOString());
39
+ await SponsoredTransactions.fail(db, row.id, now().toISOString(), {
40
+ transactionHash: row.transactionHash,
41
+ });
40
42
  result.failed++;
41
43
  }
42
44
  else
@@ -56,7 +58,9 @@ export async function finalize(db, options) {
56
58
  else {
57
59
  result.errors++;
58
60
  if (Date.parse(row.createdAt) + receiptErrorTtlMs <= now().getTime()) {
59
- await SponsoredTransactions.fail(db, row.id, now().toISOString());
61
+ await SponsoredTransactions.fail(db, row.id, now().toISOString(), {
62
+ transactionHash: row.transactionHash,
63
+ });
60
64
  result.failed++;
61
65
  }
62
66
  else
@@ -70,11 +74,14 @@ export async function finalize(db, options) {
70
74
  await SponsoredTransactions.finalize(db, row.id, {
71
75
  feeAmount: feeAmount.toString(),
72
76
  finalizedAt: now().toISOString(),
77
+ transactionHash: row.transactionHash,
73
78
  });
74
79
  result.finalized++;
75
80
  }
76
81
  else if (Date.parse(row.createdAt) + pendingTtlMs <= now().getTime()) {
77
- await SponsoredTransactions.fail(db, row.id, now().toISOString());
82
+ await SponsoredTransactions.fail(db, row.id, now().toISOString(), {
83
+ transactionHash: row.transactionHash,
84
+ });
78
85
  result.failed++;
79
86
  }
80
87
  else
@@ -83,11 +90,9 @@ export async function finalize(db, options) {
83
90
  return result;
84
91
  }
85
92
  /**
86
- * Runs one reconciliation pass over pending fill intents (rows with no
87
- * transaction hash): fetches the fee payer's recent on-chain transactions
88
- * from TIDX, recomputes each candidate's fee-payer sign payload, and fills
89
- * matching intents' hashes so the receipt pass can finalize them. Query or
90
- * candidate errors leave intents for the next pass.
93
+ * Reconciles pending fill intents and recently failed sponsorships against
94
+ * on-chain fee-payer sign payloads. Matches update their transaction hashes;
95
+ * errors leave sponsorships for the next pass.
91
96
  *
92
97
  * @param db - The database holding `sponsored_transactions`.
93
98
  * @param options - Reconciliation options.
@@ -98,69 +103,75 @@ export async function reconcile(db, options) {
98
103
  const failedSince = new Date(Date.now() - failedIntentTtlMs).toISOString();
99
104
  // Old failed intents must not move the active scan behind its candidate cap.
100
105
  const [intents, recoveryWindows] = await Promise.all([
101
- SponsoredTransactions.listIntents(db, { limit: batchSize }),
106
+ SponsoredTransactions.listReconciliationCandidates(db, { limit: batchSize }),
102
107
  SponsoredTransactions.listRecoveryWindows(db, { failedSince }),
103
108
  ]);
104
109
  const result = { errors: 0, matched: 0, scanned: 0 };
105
110
  if (intents.length === 0 && recoveryWindows.length === 0)
106
111
  return result;
107
- const groups = new Map();
108
- for (const intent of intents)
109
- groups.set(intent.chainId, [...(groups.get(intent.chainId) ?? []), intent]);
110
- for (const [chainId, rows] of groups) {
111
- if (candidateCap <= 0)
112
- continue;
113
- const bySignPayload = new Map(rows.map((row) => [row.signPayload, row]));
114
- const since = formatTidxTimestamp(Math.min(...rows.map((row) => Date.parse(row.createdAt))) - skewMs);
115
- let candidates;
116
- try {
117
- // Dynamic filter values; the tidx client's query type wants literals.
118
- const fetched = await getTidx(chainId).fetch({
119
- chainId,
120
- query: `SELECT hash, "from" FROM txs WHERE fee_payer = '${feePayer.toLowerCase()}' AND block_timestamp >= '${since}' ORDER BY block_timestamp ASC LIMIT ${candidateCap}`,
121
- });
122
- candidates = fetched.rows;
123
- }
124
- catch {
125
- // Indexer outage must not fail intents; retry on the next pass.
126
- result.errors++;
127
- continue;
128
- }
129
- for (const candidate of candidates) {
130
- if (bySignPayload.size === 0)
131
- break;
132
- const hash = candidate['hash'];
133
- const sender = candidate['from'];
134
- if (!hash || !sender)
112
+ const groups = [
113
+ new Map(),
114
+ new Map(),
115
+ ];
116
+ for (const intent of intents) {
117
+ const group = groups[intent.transactionHash === null ? 0 : 1];
118
+ group.set(intent.chainId, [...(group.get(intent.chainId) ?? []), intent]);
119
+ }
120
+ for (const group of groups)
121
+ for (const [chainId, rows] of group) {
122
+ if (candidateCap <= 0)
135
123
  continue;
136
- result.scanned++;
124
+ const bySignPayload = new Map(rows.map((row) => [row.signPayload, row]));
125
+ const since = formatTidxTimestamp(Math.min(...rows.map((row) => Date.parse(row.createdAt))) - skewMs);
126
+ let candidates;
137
127
  try {
138
- const serialized = await getRawTransaction(getClient(chainId), hash);
139
- if (!serialized) {
140
- result.errors++;
128
+ // Dynamic filter values; the tidx client's query type wants literals.
129
+ const fetched = await getTidx(chainId).fetch({
130
+ chainId,
131
+ query: `SELECT hash, "from" FROM txs WHERE fee_payer = '${feePayer.toLowerCase()}' AND block_timestamp >= '${since}' ORDER BY block_timestamp ASC LIMIT ${candidateCap}`,
132
+ });
133
+ candidates = fetched.rows;
134
+ }
135
+ catch {
136
+ // Indexer outage must not fail sponsorships; retry on the next pass.
137
+ result.errors++;
138
+ continue;
139
+ }
140
+ for (const candidate of candidates) {
141
+ if (bySignPayload.size === 0)
142
+ break;
143
+ const hash = candidate['hash'];
144
+ const sender = candidate['from'];
145
+ if (!hash || !sender)
141
146
  continue;
147
+ result.scanned++;
148
+ try {
149
+ const serialized = await getRawTransaction(getClient(chainId), hash);
150
+ if (!serialized) {
151
+ result.errors++;
152
+ continue;
153
+ }
154
+ if (!serialized.startsWith(TxEnvelopeTempo.serializedType))
155
+ continue;
156
+ const signPayload = TxEnvelopeTempo.getFeePayerSignPayload(TxEnvelopeTempo.deserialize(serialized), { sender });
157
+ const intent = bySignPayload.get(signPayload);
158
+ if (!intent)
159
+ continue;
160
+ await SponsoredTransactions.assignTransactionHash(db, intent.id, hash, await options.limitFor?.(intent));
161
+ bySignPayload.delete(signPayload);
162
+ result.matched++;
163
+ }
164
+ catch (error) {
165
+ // Spend-limit enforcement is an expected policy refusal; dependency,
166
+ // lookup, and malformed-envelope failures remain operational errors.
167
+ if (!(error instanceof SponsoredTransactions.PeriodSpendLimitError))
168
+ result.errors++;
142
169
  }
143
- if (!serialized.startsWith(TxEnvelopeTempo.serializedType))
144
- continue;
145
- const signPayload = TxEnvelopeTempo.getFeePayerSignPayload(TxEnvelopeTempo.deserialize(serialized), { sender });
146
- const intent = bySignPayload.get(signPayload);
147
- if (!intent)
148
- continue;
149
- await SponsoredTransactions.assignTransactionHash(db, intent.id, hash, await options.limitFor?.(intent));
150
- bySignPayload.delete(signPayload);
151
- result.matched++;
152
- }
153
- catch (error) {
154
- // Spend-limit enforcement is an expected policy refusal; dependency,
155
- // lookup, and malformed-envelope failures remain operational errors.
156
- if (!(error instanceof SponsoredTransactions.PeriodSpendLimitError))
157
- result.errors++;
158
170
  }
171
+ // A truncated active scan cannot prove that the remaining sponsorships were never mined.
172
+ if (candidates.length === candidateCap && bySignPayload.size > 0)
173
+ result.errors++;
159
174
  }
160
- // A truncated active scan cannot prove that the remaining intents were never mined.
161
- if (candidates.length === candidateCap && bySignPayload.size > 0)
162
- result.errors++;
163
- }
164
175
  const feePayer_lower = feePayer.toLowerCase();
165
176
  for (const window of recoveryWindows) {
166
177
  const chainId = window.chainId;
@@ -1 +1 @@
1
- {"version":3,"file":"Sponsorships.js","sourceRoot":"","sources":["../../../src/apps/relay/Sponsorships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sponsorships.js","sourceRoot":"","sources":["../../../src/apps/relay/Sponsorships.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { Context } from 'hono';
2
2
  import type * as App from '../../App.js';
3
+ import * as Db from '../../db/Db.js';
3
4
  import type * as RoutesTransfers from '../../db/tables/routesTransfers.js';
4
5
  import * as Response from '../../internal/Response.js';
6
+ import * as Policy from '../../internal/routes/Policy.js';
7
+ import type * as Catalog from '../../internal/routes/Catalog.js';
5
8
  /** Returns the routes owner encoded by an API-key principal. */
6
9
  export declare function owner(c: Context<App.Environment>): RoutesTransfers.Owner | null;
7
10
  /** Returns the error used when a route resource has no API-key owner. */
@@ -13,4 +16,54 @@ export declare function unauthorized(c: Context<App.Environment>): Response & im
13
16
  };
14
17
  requestId: string;
15
18
  }, 401, "json">;
19
+ /** Request-local authoritative policy context. Public quotes have no context. */
20
+ export type PolicyContext = {
21
+ scope: Policy.Scope;
22
+ layers: Policy.Overrides[];
23
+ legacy: Policy.Legacy;
24
+ defaultAccess?: null;
25
+ versions: number[];
26
+ };
27
+ /** Reads grants from the primary database, never the API-key KV/cache. */
28
+ export declare function loadPolicy(c: Context<App.Environment>): Promise<PolicyContext | undefined>;
29
+ /** No saved policy in this scope chain: retain the original subsidy/provisioning contract. */
30
+ export declare function isLegacy(context: PolicyContext): boolean;
31
+ /** Applies independent access and subsidy gates before provider selection. */
32
+ export declare function filterCatalog(catalog: Catalog.Snapshot, context: PolicyContext, subsidize: boolean): Catalog.Snapshot;
33
+ /** Checks financial eligibility and pins a platform-bounded expense ceiling. */
34
+ export declare function commitment(db: Db.Db, context: PolicyContext, route: Policy.Rule, platformMaxAmount: string): Promise<Policy.Commitment>;
35
+ /** Serializes acceptance against admin changes; call inside the resource transaction. */
36
+ export declare function assertPolicy(db: Db.Db, context: PolicyContext): Promise<void>;
37
+ /** Emits a bounded denial metric and a customer-safe response. */
38
+ export declare function policyError(c: Context<App.Environment>, cause: PolicyError): (Response & import("hono").TypedResponse<{
39
+ error: {
40
+ code: "route_policy_changed";
41
+ details?: readonly Response.error.Detail[] | undefined;
42
+ message: string;
43
+ };
44
+ requestId: string;
45
+ }, 409, "json">) | (Response & import("hono").TypedResponse<{
46
+ error: {
47
+ code: "billing_past_due" | "billing_required" | "routes_not_allowed" | "routes_subsidy_not_allowed" | "routes_subsidy_not_enabled" | "routes_suspended";
48
+ details?: readonly Response.error.Detail[] | undefined;
49
+ message: string;
50
+ };
51
+ requestId: string;
52
+ }, 403, "json">);
53
+ declare const messages: {
54
+ readonly billing_past_due: 'Billing past due.';
55
+ readonly billing_required: 'Active billing is required for enterprise-paid route subsidies. Set up billing for this organization, then retry.';
56
+ readonly route_policy_changed: 'Route policy changed during creation. Retry the request.';
57
+ readonly routes_not_allowed: 'This route is not permitted by your access policy.';
58
+ readonly routes_subsidy_not_allowed: 'This route is not eligible for the requested subsidy.';
59
+ readonly routes_subsidy_not_enabled: 'Route subsidies are not enabled for this request. Contact Tempo to enable them, or use an API key from an organization with subsidies enabled.';
60
+ readonly routes_suspended: 'New route instructions are suspended for this organization and environment.';
61
+ };
62
+ /** A policy denial, distinct from provider unavailability. */
63
+ export declare class PolicyError extends Error {
64
+ code: keyof typeof messages;
65
+ name: string;
66
+ constructor(code: keyof typeof messages);
67
+ }
68
+ export {};
16
69
  //# sourceMappingURL=Access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../../src/apps/routes/Access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,KAAK,eAAe,MAAM,oCAAoC,CAAA;AAE1E,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AAEtD,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,KAAK,GAAG,IAAI,CAQ/E;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;;;;;;gBAMvD"}
1
+ {"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../../src/apps/routes/Access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAKpC,OAAO,KAAK,KAAK,eAAe,MAAM,oCAAoC,CAAA;AAE1E,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AACzD,OAAO,KAAK,KAAK,OAAO,MAAM,kCAAkC,CAAA;AAEhE,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,KAAK,GAAG,IAAI,CAQ/E;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;;;;;;gBAMvD;AAED,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiBhG;AAED,8FAA8F;AAC9F,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAExD;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,CAAC,QAAQ,EACzB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,QAAQ,CAYlB;AAED,gFAAgF;AAChF,wBAAsB,UAAU,CAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAmB5B;AAED,yFAAyF;AACzF,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnF;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW;;;;;;;;;;;;;;iBAa1E;AAED,QAAA,MAAM,QAAQ;aACZ,gBAAgB,EAAE,mBAAmB;aACrC,gBAAgB,EACd,mHAAmH;aACrH,oBAAoB,EAAE,0DAA0D;aAChF,kBAAkB,EAAE,oDAAoD;aACxE,0BAA0B,EAAE,uDAAuD;aACnF,0BAA0B,EACxB,gJAAgJ;aAClJ,gBAAgB,EAAE,6EAA6E;CACvF,CAAA;AAEV,8DAA8D;AAC9D,qBAAa,WAAY,SAAQ,KAAK;IAEjB,IAAI,EAAE,MAAM,OAAO,QAAQ;IADrC,IAAI,SAA8B;IAC3C,YAAmB,IAAI,EAAE,MAAM,OAAO,QAAQ,EAE7C;CACF"}
@@ -1,5 +1,12 @@
1
+ import { Value } from 'ox';
2
+ import * as Db from '../../db/Db.js';
3
+ import * as ApiKeyAdmissions from '../../db/tables/apiKeyAdmissions.js';
4
+ import * as RoutesPolicies from '../../db/tables/routesPolicies.js';
5
+ import * as RoutesSubsidies from '../../db/tables/routesSubsidies.js';
6
+ import * as StripeCustomers from '../../db/tables/stripeCustomers.js';
1
7
  import * as Auth from '../../internal/Auth.js';
2
8
  import * as Response from '../../internal/Response.js';
9
+ import * as Policy from '../../internal/routes/Policy.js';
3
10
  /** Returns the routes owner encoded by an API-key principal. */
4
11
  export function owner(c) {
5
12
  const principal = Auth.getPrincipal(c);
@@ -19,4 +26,118 @@ export function unauthorized(c) {
19
26
  status: 401,
20
27
  });
21
28
  }
29
+ /** Reads grants from the primary database, never the API-key KV/cache. */
30
+ export async function loadPolicy(c) {
31
+ const principal = Auth.getPrincipal(c);
32
+ if (principal?.type !== 'api_key')
33
+ return undefined;
34
+ const scope = {
35
+ apiKeyId: principal.id,
36
+ environment: principal.environment,
37
+ orgId: principal.orgId,
38
+ ...(principal.projectId === undefined ? {} : { projectId: principal.projectId }),
39
+ };
40
+ const loaded = await RoutesPolicies.load(Db.get(c.get('db')), scope);
41
+ return {
42
+ scope,
43
+ ...(loaded.layers[0]?.version === 0 ? { defaultAccess: null } : {}),
44
+ layers: loaded.layers.map((layer) => layer.policy),
45
+ legacy: loaded.legacy,
46
+ versions: loaded.layers.map((layer) => layer.version),
47
+ };
48
+ }
49
+ /** No saved policy in this scope chain: retain the original subsidy/provisioning contract. */
50
+ export function isLegacy(context) {
51
+ return context.versions.every((version) => version === 0);
52
+ }
53
+ /** Applies independent access and subsidy gates before provider selection. */
54
+ export function filterCatalog(catalog, context, subsidize) {
55
+ if (isLegacy(context))
56
+ return catalog;
57
+ const effective = Policy.resolve(context);
58
+ if (effective.suspended)
59
+ throw new PolicyError('routes_suspended');
60
+ if (subsidize &&
61
+ !catalog.routes.some((route) => Policy.resolve({ ...context, route: Policy.fromRoute(route) }).subsidyEnabled))
62
+ throw new PolicyError('routes_subsidy_not_enabled');
63
+ return Policy.filter(catalog, { ...context, subsidize });
64
+ }
65
+ /** Checks financial eligibility and pins a platform-bounded expense ceiling. */
66
+ export async function commitment(db, context, route, platformMaxAmount) {
67
+ const effective = Policy.resolve({ ...context, route });
68
+ if (effective.suspended)
69
+ throw new PolicyError('routes_suspended');
70
+ if (!Policy.allows(effective.access, route))
71
+ throw new PolicyError('routes_not_allowed');
72
+ if (!effective.subsidyEnabled)
73
+ throw new PolicyError('routes_subsidy_not_enabled');
74
+ if (!effective.subsidyEligible)
75
+ throw new PolicyError('routes_subsidy_not_allowed');
76
+ if (context.scope.environment === 'production' && effective.subsidyPayer === 'enterprise') {
77
+ const billing = await StripeCustomers.get(db, context.scope.orgId);
78
+ if (billing?.status === 'past_due')
79
+ throw new PolicyError('billing_past_due');
80
+ if (billing?.status !== 'active')
81
+ throw new PolicyError('billing_required');
82
+ }
83
+ const limit = Value.from(effective.maxAmount, 6);
84
+ const platformLimit = Value.from(platformMaxAmount, 6);
85
+ return {
86
+ maxAmount: Value.format(limit < platformLimit ? limit : platformLimit, 6),
87
+ scope: context.scope,
88
+ subsidyPayer: effective.subsidyPayer,
89
+ versions: context.versions,
90
+ };
91
+ }
92
+ /** Serializes acceptance against admin changes; call inside the resource transaction. */
93
+ export async function assertPolicy(db, context) {
94
+ await RoutesSubsidies.lockOrganization(db, context.scope.orgId);
95
+ // Reassignment takes this organization lock even when no key override exists.
96
+ // Policy versions alone cannot fence requests authenticated under the old owner.
97
+ if (context.scope.apiKeyId !== undefined &&
98
+ !(await ApiKeyAdmissions.matches(db, {
99
+ id: context.scope.apiKeyId,
100
+ orgId: context.scope.orgId,
101
+ projectId: context.scope.projectId,
102
+ })))
103
+ throw new PolicyError('route_policy_changed');
104
+ const current = await RoutesPolicies.load(db, context.scope);
105
+ if (JSON.stringify(current.layers.map((layer) => layer.version)) !==
106
+ JSON.stringify(context.versions) ||
107
+ JSON.stringify(current.legacy) !== JSON.stringify(context.legacy))
108
+ throw new PolicyError('route_policy_changed');
109
+ }
110
+ /** Emits a bounded denial metric and a customer-safe response. */
111
+ export function policyError(c, cause) {
112
+ c.get('metrics')?.count('routes_policy_denial_count', 1, { reason: cause.code });
113
+ if (cause.code === 'route_policy_changed')
114
+ return Response.error(c, {
115
+ code: cause.code,
116
+ message: messages[cause.code],
117
+ status: 409,
118
+ });
119
+ return Response.error(c, {
120
+ code: cause.code,
121
+ message: messages[cause.code],
122
+ status: 403,
123
+ });
124
+ }
125
+ const messages = {
126
+ billing_past_due: 'Billing past due.',
127
+ billing_required: 'Active billing is required for enterprise-paid route subsidies. Set up billing for this organization, then retry.',
128
+ route_policy_changed: 'Route policy changed during creation. Retry the request.',
129
+ routes_not_allowed: 'This route is not permitted by your access policy.',
130
+ routes_subsidy_not_allowed: 'This route is not eligible for the requested subsidy.',
131
+ routes_subsidy_not_enabled: 'Route subsidies are not enabled for this request. Contact Tempo to enable them, or use an API key from an organization with subsidies enabled.',
132
+ routes_suspended: 'New route instructions are suspended for this organization and environment.',
133
+ };
134
+ /** A policy denial, distinct from provider unavailability. */
135
+ export class PolicyError extends Error {
136
+ code;
137
+ name = 'Routes.Access.PolicyError';
138
+ constructor(code) {
139
+ super(messages[code]);
140
+ this.code = code;
141
+ }
142
+ }
22
143
  //# sourceMappingURL=Access.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Access.js","sourceRoot":"","sources":["../../../src/apps/routes/Access.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AAEtD,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,CAA2B;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,SAAS,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC9C,OAAO;QACL,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;KACjF,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,CAA2B;IACtD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACvB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,wEAAwE;QACjF,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"Access.js","sourceRoot":"","sources":["../../../src/apps/routes/Access.ts"],"names":[],"mappings":"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"}