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.
- package/dist/App.d.ts +4896 -2166
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +2 -2
- package/dist/App.js.map +1 -1
- package/dist/Assets.d.ts +15 -0
- package/dist/Assets.d.ts.map +1 -1
- package/dist/Assets.js +7 -0
- package/dist/Assets.js.map +1 -1
- package/dist/Webhooks.d.ts +0 -75
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +1 -143
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/App.d.ts +127 -78
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +115 -1
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.js +59 -6
- package/dist/admin/apps/earn-vaults.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +3 -3
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/organizations.js +4 -2
- package/dist/admin/apps/organizations.js.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +83 -83
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.d.ts.map +1 -1
- package/dist/admin/ui.generated.js +151 -151
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/apps/data/App.d.ts +5924 -4310
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +61 -9
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/ZoneSelection.d.ts +62 -0
- package/dist/apps/data/ZoneSelection.d.ts.map +1 -0
- package/dist/apps/data/ZoneSelection.js +44 -0
- package/dist/apps/data/ZoneSelection.js.map +1 -0
- package/dist/apps/data/routes/activities.d.ts +2368 -5
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +423 -114
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +131 -0
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +25 -25
- package/dist/apps/data/routes/balances.js +1 -1
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +1 -1
- package/dist/apps/data/routes/blocks.js +1 -1
- package/dist/apps/data/routes/blocks.js.map +1 -1
- package/dist/apps/data/routes/earn.d.ts +135 -10
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +157 -25
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +829 -123
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +16 -13
- package/dist/apps/data/routes/exchanges.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +26 -26
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
- package/dist/apps/data/routes/fee-amm.js +9 -11
- package/dist/apps/data/routes/fee-amm.js.map +1 -1
- package/dist/apps/data/routes/receipts.d.ts +54 -54
- package/dist/apps/data/routes/receipts.js +1 -1
- package/dist/apps/data/routes/receipts.js.map +1 -1
- package/dist/apps/data/routes/rpc.js +24 -10
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +12 -12
- package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
- package/dist/apps/data/routes/tokenlist.js +16 -15
- package/dist/apps/data/routes/tokenlist.js.map +1 -1
- package/dist/apps/data/routes/tokens.d.ts +17 -3
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +34 -15
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +1 -1
- package/dist/apps/data/routes/transactions.js +1 -1
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +13 -13
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +7 -9
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +21 -21
- package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
- package/dist/apps/data/routes/webhooks.d.ts +1011 -151
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +126 -739
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +15 -15
- package/dist/apps/funding/App.d.ts +27 -27
- package/dist/apps/funding/routes/chains.d.ts.map +1 -1
- package/dist/apps/funding/routes/chains.js +5 -4
- package/dist/apps/funding/routes/chains.js.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.d.ts +18 -18
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +8 -8
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/funding/routes/providers.d.ts.map +1 -1
- package/dist/apps/funding/routes/providers.js +3 -2
- package/dist/apps/funding/routes/providers.js.map +1 -1
- package/dist/apps/funding/routes/quotes.d.ts.map +1 -1
- package/dist/apps/funding/routes/quotes.js +2 -2
- package/dist/apps/funding/routes/quotes.js.map +1 -1
- package/dist/apps/funding/routes/transfers.d.ts +33 -33
- package/dist/apps/management/App.d.ts +1433 -322
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +19 -6
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +154 -94
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +76 -30
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +103 -30
- package/dist/apps/management/routes/billing.d.ts.map +1 -1
- package/dist/apps/management/routes/billing.js +91 -32
- package/dist/apps/management/routes/billing.js.map +1 -1
- package/dist/apps/management/routes/faucet.d.ts +12 -12
- package/dist/apps/management/routes/faucet.d.ts.map +1 -1
- package/dist/apps/management/routes/faucet.js +23 -12
- package/dist/apps/management/routes/faucet.js.map +1 -1
- package/dist/apps/management/routes/invitations.d.ts +46 -13
- package/dist/apps/management/routes/invitations.d.ts.map +1 -1
- package/dist/apps/management/routes/invitations.js +79 -29
- package/dist/apps/management/routes/invitations.js.map +1 -1
- package/dist/apps/management/routes/invite-links.d.ts +128 -83
- package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
- package/dist/apps/management/routes/invite-links.js +100 -41
- package/dist/apps/management/routes/invite-links.js.map +1 -1
- package/dist/apps/management/routes/me.d.ts +5 -5
- package/dist/apps/management/routes/me.d.ts.map +1 -1
- package/dist/apps/management/routes/me.js +14 -10
- package/dist/apps/management/routes/me.js.map +1 -1
- package/dist/apps/management/routes/members.d.ts +68 -47
- package/dist/apps/management/routes/members.d.ts.map +1 -1
- package/dist/apps/management/routes/members.js +37 -18
- package/dist/apps/management/routes/members.js.map +1 -1
- package/dist/apps/management/routes/orgs.d.ts +48 -8
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +48 -19
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +130 -68
- package/dist/apps/management/routes/projects.d.ts.map +1 -1
- package/dist/apps/management/routes/projects.js +72 -21
- package/dist/apps/management/routes/projects.js.map +1 -1
- package/dist/apps/management/routes/scopes.d.ts.map +1 -1
- package/dist/apps/management/routes/scopes.js +8 -5
- package/dist/apps/management/routes/scopes.js.map +1 -1
- package/dist/apps/management/routes/usage.d.ts +38 -38
- package/dist/apps/management/routes/usage.d.ts.map +1 -1
- package/dist/apps/management/routes/usage.js +41 -31
- package/dist/apps/management/routes/usage.js.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.d.ts +34 -6
- package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.js +36 -17
- package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
- package/dist/apps/management/routes/webhooks.d.ts +1186 -197
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +106 -38
- package/dist/apps/management/routes/webhooks.js.map +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Adapter.js +12 -0
- package/dist/apps/mpp/internal/Adapter.js.map +1 -1
- package/dist/db/Db.d.ts +2 -0
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +61 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +30 -2
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +28 -3
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/earnVaults.d.ts +5 -1
- package/dist/db/tables/earnVaults.d.ts.map +1 -1
- package/dist/db/tables/earnVaults.js +5 -0
- package/dist/db/tables/earnVaults.js.map +1 -1
- package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
- package/dist/db/tables/webhookDeliveries.js +10 -0
- package/dist/db/tables/webhookDeliveries.js.map +1 -1
- package/dist/db/tables/webhookQueueCompletions.d.ts +15 -0
- package/dist/db/tables/webhookQueueCompletions.d.ts.map +1 -0
- package/dist/db/tables/webhookQueueCompletions.js +32 -0
- package/dist/db/tables/webhookQueueCompletions.js.map +1 -0
- package/dist/db/tables/webhookQueueEvents.d.ts +16 -20
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
- package/dist/db/tables/webhookQueueEvents.js +68 -43
- package/dist/db/tables/webhookQueueEvents.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +47 -72
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +92 -105
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/Auth.d.ts +8 -1
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +13 -3
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Cache.d.ts.map +1 -1
- package/dist/internal/Cache.js +11 -7
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/EarnVaults.d.ts +41 -2
- package/dist/internal/EarnVaults.d.ts.map +1 -1
- package/dist/internal/EarnVaults.js +167 -0
- package/dist/internal/EarnVaults.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +35 -125
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +50 -121
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +26 -22
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +128 -39
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Response.d.ts +13 -8
- package/dist/internal/Response.d.ts.map +1 -1
- package/dist/internal/Response.js +16 -5
- package/dist/internal/Response.js.map +1 -1
- package/dist/internal/Schema.d.ts +8 -8
- package/dist/internal/Schema.d.ts.map +1 -1
- package/dist/internal/Schema.js +10 -9
- package/dist/internal/Schema.js.map +1 -1
- package/dist/internal/Store.d.ts +15 -6
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +45 -15
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Tidx.d.ts +2 -0
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +16 -4
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/WebhookTransfer.d.ts +1 -55
- package/dist/internal/WebhookTransfer.d.ts.map +1 -1
- package/dist/internal/WebhookTransfer.js +1 -239
- package/dist/internal/WebhookTransfer.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +112 -56
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +124 -93
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/Deposit.d.ts +2 -2
- package/dist/internal/funding/Deposit.d.ts.map +1 -1
- package/dist/internal/funding/Deposit.js +9 -8
- package/dist/internal/funding/Deposit.js.map +1 -1
- package/dist/internal/funding/DepositAddress.d.ts +4 -4
- package/dist/internal/funding/DepositAddress.d.ts.map +1 -1
- package/dist/internal/funding/DepositAddress.js +9 -8
- package/dist/internal/funding/DepositAddress.js.map +1 -1
- package/dist/internal/funding/DepositWebhook.d.ts +25 -0
- package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
- package/dist/internal/funding/DepositWebhook.js +74 -0
- package/dist/internal/funding/DepositWebhook.js.map +1 -0
- package/dist/internal/funding/Provider.d.ts.map +1 -1
- package/dist/internal/funding/Provider.js +13 -12
- package/dist/internal/funding/Provider.js.map +1 -1
- package/dist/internal/funding/Reconciliation.d.ts +6 -0
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
- package/dist/internal/funding/Reconciliation.js +42 -10
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/index.d.ts +1 -0
- package/dist/internal/funding/index.d.ts.map +1 -1
- package/dist/internal/funding/index.js +1 -0
- package/dist/internal/funding/index.js.map +1 -1
- package/dist/internal/funding/providers/stargate.d.ts +19 -0
- package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
- package/dist/internal/funding/providers/stargate.js +143 -0
- package/dist/internal/funding/providers/stargate.js.map +1 -0
- package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
- package/dist/internal/webhookDestinations/slack.js +16 -0
- package/dist/internal/webhookDestinations/slack.js.map +1 -1
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +3 -0
- package/dist/providers/index.js.map +1 -1
- package/package.json +2 -2
- package/src/App.test.ts +48 -0
- package/src/App.ts +7 -2
- package/src/Assets.test.ts +18 -0
- package/src/Assets.ts +22 -0
- package/src/Client.test-d.ts +287 -17
- package/src/Webhooks.ts +1 -220
- package/src/admin/apps/earn-vaults.test.ts +143 -0
- package/src/admin/apps/earn-vaults.ts +83 -6
- package/src/admin/apps/organizations.ts +6 -2
- package/src/admin/ui/src/routes/api-keys.tsx +36 -0
- package/src/admin/ui.generated.ts +151 -189
- package/src/apps/data/App.test.ts +31 -0
- package/src/apps/data/App.ts +64 -10
- package/src/apps/data/ZoneSelection.test.ts +196 -0
- package/src/apps/data/ZoneSelection.ts +108 -0
- package/src/apps/data/routes/activities.test.ts +435 -12
- package/src/apps/data/routes/activities.ts +562 -125
- package/src/apps/data/routes/balances.ts +1 -1
- package/src/apps/data/routes/blocks.ts +1 -1
- package/src/apps/data/routes/earn.test.ts +183 -23
- package/src/apps/data/routes/earn.ts +225 -29
- package/src/apps/data/routes/earn.zone-access.test.ts +46 -0
- package/src/apps/data/routes/exchanges.test.ts +31 -1
- package/src/apps/data/routes/exchanges.ts +19 -15
- package/src/apps/data/routes/fee-amm.ts +18 -11
- package/src/apps/data/routes/receipts.ts +1 -1
- package/src/apps/data/routes/rpc.test.ts +75 -0
- package/src/apps/data/routes/rpc.ts +23 -9
- package/src/apps/data/routes/tokenlist.ts +21 -18
- package/src/apps/data/routes/tokens.test.ts +29 -0
- package/src/apps/data/routes/tokens.ts +38 -15
- package/src/apps/data/routes/transactions.ts +1 -1
- package/src/apps/data/routes/transfers.test.ts +3 -3
- package/src/apps/data/routes/transfers.ts +12 -9
- package/src/apps/data/routes/webhooks.test.ts +179 -1497
- package/src/apps/data/routes/webhooks.ts +156 -976
- package/src/apps/data/routes/zones.test.ts +19 -13
- package/src/apps/funding/routes/chains.test.ts +211 -7
- package/src/apps/funding/routes/chains.ts +19 -12
- package/src/apps/funding/routes/deposit-addresses.test.ts +394 -0
- package/src/apps/funding/routes/deposit-addresses.ts +84 -72
- package/src/apps/funding/routes/providers.ts +9 -5
- package/src/apps/funding/routes/quotes.test.ts +46 -0
- package/src/apps/funding/routes/quotes.ts +8 -5
- package/src/apps/funding/routes/transfers.test.ts +35 -32
- package/src/apps/management/Billing.test.ts +26 -0
- package/src/apps/management/Billing.ts +24 -7
- package/src/apps/management/routes/api-keys.test.ts +178 -0
- package/src/apps/management/routes/api-keys.ts +203 -144
- package/src/apps/management/routes/billing.test.ts +209 -0
- package/src/apps/management/routes/billing.ts +254 -177
- package/src/apps/management/routes/faucet.test.ts +39 -0
- package/src/apps/management/routes/faucet.ts +75 -41
- package/src/apps/management/routes/invitations.test.ts +216 -0
- package/src/apps/management/routes/invitations.ts +186 -109
- package/src/apps/management/routes/invite-links.test.ts +263 -1
- package/src/apps/management/routes/invite-links.ts +295 -214
- package/src/apps/management/routes/me.test.ts +49 -0
- package/src/apps/management/routes/me.ts +42 -32
- package/src/apps/management/routes/members.test.ts +124 -1
- package/src/apps/management/routes/members.ts +81 -51
- package/src/apps/management/routes/orgs.test.ts +176 -0
- package/src/apps/management/routes/orgs.ts +101 -59
- package/src/apps/management/routes/projects.test.ts +183 -0
- package/src/apps/management/routes/projects.ts +124 -60
- package/src/apps/management/routes/scopes.test.ts +44 -0
- package/src/apps/management/routes/scopes.ts +37 -28
- package/src/apps/management/routes/usage.test.ts +92 -0
- package/src/apps/management/routes/usage.ts +186 -151
- package/src/apps/management/routes/verified-token-requests.test.ts +114 -0
- package/src/apps/management/routes/verified-token-requests.ts +166 -133
- package/src/apps/management/routes/webhooks.test.ts +313 -1
- package/src/apps/management/routes/webhooks.ts +220 -71
- package/src/apps/mpp/internal/Adapter.ts +13 -1
- package/src/db/Db.test.ts +42 -5
- package/src/db/Db.ts +85 -0
- package/src/db/Schema.ts +41 -3
- package/src/db/tables/earnVaults.test.ts +22 -0
- package/src/db/tables/earnVaults.ts +11 -1
- package/src/db/tables/organizations.test.ts +5 -2
- package/src/db/tables/webhookDeliveries.ts +13 -0
- package/src/db/tables/webhookQueueCompletions.ts +55 -0
- package/src/db/tables/webhookQueueEvents.ts +97 -57
- package/src/db/tables/webhookSubscriptions.ts +134 -144
- package/src/internal/Auth.ts +23 -5
- package/src/internal/Cache.ts +14 -7
- package/src/internal/EarnVaults.capabilities.test.ts +33 -0
- package/src/internal/EarnVaults.test.ts +79 -0
- package/src/internal/EarnVaults.ts +277 -0
- package/src/internal/MetricSink.test.ts +41 -373
- package/src/internal/MetricSink.ts +92 -273
- package/src/internal/OpenApi.ts +165 -49
- package/src/internal/Response.test.ts +95 -0
- package/src/internal/Response.ts +40 -2
- package/src/internal/Schema.test.ts +34 -0
- package/src/internal/Schema.ts +20 -9
- package/src/internal/Store.test.ts +186 -0
- package/src/internal/Store.ts +57 -17
- package/src/internal/Tidx.test.ts +19 -0
- package/src/internal/Tidx.ts +16 -4
- package/src/internal/WebhookTransfer.ts +1 -351
- package/src/internal/Webhooks.test.ts +222 -145
- package/src/internal/Webhooks.ts +234 -135
- package/src/internal/funding/Deposit.ts +71 -64
- package/src/internal/funding/DepositAddress.ts +50 -43
- package/src/internal/funding/DepositWebhook.test.ts +131 -0
- package/src/internal/funding/DepositWebhook.ts +101 -0
- package/src/internal/funding/Provider.ts +164 -142
- package/src/internal/funding/Reconciliation.test.ts +14 -0
- package/src/internal/funding/Reconciliation.ts +161 -86
- package/src/internal/funding/index.test.ts +1 -0
- package/src/internal/funding/index.ts +1 -0
- package/src/internal/funding/providers/index.test.ts +185 -0
- package/src/internal/funding/providers/stargate.ts +184 -0
- package/src/internal/webhookDestinations/slack.ts +15 -0
- package/src/providers/index.test.ts +1 -0
- package/src/providers/index.ts +9 -0
- package/src/Webhooks.bench.ts +0 -714
- package/src/Webhooks.memory.bench.ts +0 -250
- 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 {
|
|
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`.
|
|
11
|
-
*
|
|
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", "
|
|
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
|
|
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, `
|
|
151
|
-
* `500` internal error, and `502` upstream failure on every operation;
|
|
152
|
-
* - `
|
|
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}
|
|
155
|
-
*
|
|
156
|
-
* `429
|
|
157
|
-
*
|
|
158
|
-
*
|
|
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
|
|
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
|
-
/**
|
|
170
|
-
codes?: readonly
|
|
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
|
|
176
|
-
* `
|
|
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
|
-
/**
|
|
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":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"OpenApi.d.ts","sourceRoot":"","sources":["../../src/internal/OpenApi.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/OpenApi.js
CHANGED
|
@@ -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 {
|
|
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`.
|
|
45
|
-
*
|
|
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', '
|
|
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
|
-
|
|
150
|
-
|
|
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(
|
|
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
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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(
|
|
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, `
|
|
213
|
-
* `500` internal error, and `502` upstream failure on every operation;
|
|
214
|
-
* - `
|
|
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}
|
|
217
|
-
*
|
|
218
|
-
* `429
|
|
219
|
-
*
|
|
220
|
-
*
|
|
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
|
-
|
|
229
|
-
|
|
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
|
-
|
|
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:
|
|
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.'),
|