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
|
@@ -90,7 +90,7 @@ export declare namespace schema {
|
|
|
90
90
|
usd: "usd";
|
|
91
91
|
}>>;
|
|
92
92
|
}, z.core.$strip>>;
|
|
93
|
-
updatedAt: z.ZodMiniOptional<z.
|
|
93
|
+
updatedAt: z.ZodMiniOptional<z.ZodMiniISODateTime>;
|
|
94
94
|
}, z.core.$strip>;
|
|
95
95
|
/** A hosted Stripe session link. */
|
|
96
96
|
const Session: z.ZodMiniObject<{
|
|
@@ -104,7 +104,7 @@ export declare namespace schema {
|
|
|
104
104
|
expYear: z.ZodMiniNumber<number>;
|
|
105
105
|
last4: z.ZodMiniString<string>;
|
|
106
106
|
}, z.core.$strip>>;
|
|
107
|
-
createdAt: z.
|
|
107
|
+
createdAt: z.ZodMiniISODateTime;
|
|
108
108
|
default: z.ZodMiniBoolean<boolean>;
|
|
109
109
|
id: z.ZodMiniString<string>;
|
|
110
110
|
provider: z.ZodMiniLiteral<"stripe">;
|
|
@@ -119,7 +119,7 @@ export declare namespace schema {
|
|
|
119
119
|
expYear: z.ZodMiniNumber<number>;
|
|
120
120
|
last4: z.ZodMiniString<string>;
|
|
121
121
|
}, z.core.$strip>>;
|
|
122
|
-
createdAt: z.
|
|
122
|
+
createdAt: z.ZodMiniISODateTime;
|
|
123
123
|
default: z.ZodMiniBoolean<boolean>;
|
|
124
124
|
id: z.ZodMiniString<string>;
|
|
125
125
|
provider: z.ZodMiniLiteral<"stripe">;
|
|
@@ -255,14 +255,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
255
255
|
} | {
|
|
256
256
|
output: {
|
|
257
257
|
error: {
|
|
258
|
-
code: "
|
|
258
|
+
code: "organization_not_found";
|
|
259
259
|
details?: readonly Response.error.Detail[] | undefined;
|
|
260
260
|
message: string;
|
|
261
261
|
};
|
|
262
262
|
requestId: string;
|
|
263
263
|
};
|
|
264
264
|
outputFormat: "json";
|
|
265
|
-
status:
|
|
265
|
+
status: 404;
|
|
266
266
|
input: {
|
|
267
267
|
param: {
|
|
268
268
|
orgId: string;
|
|
@@ -275,14 +275,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
275
275
|
} | {
|
|
276
276
|
output: {
|
|
277
277
|
error: {
|
|
278
|
-
code: "
|
|
278
|
+
code: "param_invalid";
|
|
279
279
|
details?: readonly Response.error.Detail[] | undefined;
|
|
280
280
|
message: string;
|
|
281
281
|
};
|
|
282
282
|
requestId: string;
|
|
283
283
|
};
|
|
284
284
|
outputFormat: "json";
|
|
285
|
-
status:
|
|
285
|
+
status: 400;
|
|
286
286
|
input: {
|
|
287
287
|
param: {
|
|
288
288
|
orgId: string;
|
|
@@ -522,14 +522,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
522
522
|
} | {
|
|
523
523
|
output: {
|
|
524
524
|
error: {
|
|
525
|
-
code: "
|
|
525
|
+
code: "organization_not_found";
|
|
526
526
|
details?: readonly Response.error.Detail[] | undefined;
|
|
527
527
|
message: string;
|
|
528
528
|
};
|
|
529
529
|
requestId: string;
|
|
530
530
|
};
|
|
531
531
|
outputFormat: "json";
|
|
532
|
-
status:
|
|
532
|
+
status: 404;
|
|
533
533
|
input: {
|
|
534
534
|
param: {
|
|
535
535
|
orgId: string;
|
|
@@ -554,7 +554,39 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
554
554
|
} | {
|
|
555
555
|
output: {
|
|
556
556
|
error: {
|
|
557
|
-
code: "
|
|
557
|
+
code: "forbidden";
|
|
558
|
+
details?: readonly Response.error.Detail[] | undefined;
|
|
559
|
+
message: string;
|
|
560
|
+
};
|
|
561
|
+
requestId: string;
|
|
562
|
+
};
|
|
563
|
+
outputFormat: "json";
|
|
564
|
+
status: 403;
|
|
565
|
+
input: {
|
|
566
|
+
param: {
|
|
567
|
+
orgId: string;
|
|
568
|
+
};
|
|
569
|
+
} & {
|
|
570
|
+
query?: {
|
|
571
|
+
environment?: string | string[];
|
|
572
|
+
} | undefined;
|
|
573
|
+
} & {
|
|
574
|
+
json: {
|
|
575
|
+
spendLimit?: {
|
|
576
|
+
amount: string;
|
|
577
|
+
currency?: "usd" | undefined;
|
|
578
|
+
period?: "month" | undefined;
|
|
579
|
+
} | null | undefined;
|
|
580
|
+
txFeeLimit?: {
|
|
581
|
+
amount: string;
|
|
582
|
+
currency?: "usd" | undefined;
|
|
583
|
+
} | null | undefined;
|
|
584
|
+
};
|
|
585
|
+
};
|
|
586
|
+
} | {
|
|
587
|
+
output: {
|
|
588
|
+
error: {
|
|
589
|
+
code: "body_invalid";
|
|
558
590
|
details?: readonly Response.error.Detail[] | undefined;
|
|
559
591
|
message: string;
|
|
560
592
|
};
|
|
@@ -586,14 +618,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
586
618
|
} | {
|
|
587
619
|
output: {
|
|
588
620
|
error: {
|
|
589
|
-
code: "
|
|
621
|
+
code: "param_invalid";
|
|
590
622
|
details?: readonly Response.error.Detail[] | undefined;
|
|
591
623
|
message: string;
|
|
592
624
|
};
|
|
593
625
|
requestId: string;
|
|
594
626
|
};
|
|
595
627
|
outputFormat: "json";
|
|
596
|
-
status:
|
|
628
|
+
status: 400;
|
|
597
629
|
input: {
|
|
598
630
|
param: {
|
|
599
631
|
orgId: string;
|
|
@@ -785,14 +817,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
785
817
|
} | {
|
|
786
818
|
output: {
|
|
787
819
|
error: {
|
|
788
|
-
code: "
|
|
820
|
+
code: "organization_not_found";
|
|
789
821
|
details?: readonly Response.error.Detail[] | undefined;
|
|
790
822
|
message: string;
|
|
791
823
|
};
|
|
792
824
|
requestId: string;
|
|
793
825
|
};
|
|
794
826
|
outputFormat: "json";
|
|
795
|
-
status:
|
|
827
|
+
status: 404;
|
|
796
828
|
input: {
|
|
797
829
|
param: {
|
|
798
830
|
orgId: string;
|
|
@@ -805,14 +837,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
805
837
|
} | {
|
|
806
838
|
output: {
|
|
807
839
|
error: {
|
|
808
|
-
code: "
|
|
840
|
+
code: "forbidden";
|
|
809
841
|
details?: readonly Response.error.Detail[] | undefined;
|
|
810
842
|
message: string;
|
|
811
843
|
};
|
|
812
844
|
requestId: string;
|
|
813
845
|
};
|
|
814
846
|
outputFormat: "json";
|
|
815
|
-
status:
|
|
847
|
+
status: 403;
|
|
816
848
|
input: {
|
|
817
849
|
param: {
|
|
818
850
|
orgId: string;
|
|
@@ -825,14 +857,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
825
857
|
} | {
|
|
826
858
|
output: {
|
|
827
859
|
error: {
|
|
828
|
-
code: "
|
|
860
|
+
code: "param_invalid";
|
|
829
861
|
details?: readonly Response.error.Detail[] | undefined;
|
|
830
862
|
message: string;
|
|
831
863
|
};
|
|
832
864
|
requestId: string;
|
|
833
865
|
};
|
|
834
866
|
outputFormat: "json";
|
|
835
|
-
status:
|
|
867
|
+
status: 400;
|
|
836
868
|
input: {
|
|
837
869
|
param: {
|
|
838
870
|
orgId: string;
|
|
@@ -1024,14 +1056,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1024
1056
|
} | {
|
|
1025
1057
|
output: {
|
|
1026
1058
|
error: {
|
|
1027
|
-
code: "
|
|
1059
|
+
code: "organization_not_found";
|
|
1028
1060
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1029
1061
|
message: string;
|
|
1030
1062
|
};
|
|
1031
1063
|
requestId: string;
|
|
1032
1064
|
};
|
|
1033
1065
|
outputFormat: "json";
|
|
1034
|
-
status:
|
|
1066
|
+
status: 404;
|
|
1035
1067
|
input: {
|
|
1036
1068
|
param: {
|
|
1037
1069
|
orgId: string;
|
|
@@ -1044,14 +1076,34 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1044
1076
|
} | {
|
|
1045
1077
|
output: {
|
|
1046
1078
|
error: {
|
|
1047
|
-
code: "
|
|
1079
|
+
code: "forbidden";
|
|
1048
1080
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1049
1081
|
message: string;
|
|
1050
1082
|
};
|
|
1051
1083
|
requestId: string;
|
|
1052
1084
|
};
|
|
1053
1085
|
outputFormat: "json";
|
|
1054
|
-
status:
|
|
1086
|
+
status: 403;
|
|
1087
|
+
input: {
|
|
1088
|
+
param: {
|
|
1089
|
+
orgId: string;
|
|
1090
|
+
};
|
|
1091
|
+
} & {
|
|
1092
|
+
query?: {
|
|
1093
|
+
environment?: string | string[];
|
|
1094
|
+
} | undefined;
|
|
1095
|
+
};
|
|
1096
|
+
} | {
|
|
1097
|
+
output: {
|
|
1098
|
+
error: {
|
|
1099
|
+
code: "param_invalid";
|
|
1100
|
+
details?: readonly Response.error.Detail[] | undefined;
|
|
1101
|
+
message: string;
|
|
1102
|
+
};
|
|
1103
|
+
requestId: string;
|
|
1104
|
+
};
|
|
1105
|
+
outputFormat: "json";
|
|
1106
|
+
status: 400;
|
|
1055
1107
|
input: {
|
|
1056
1108
|
param: {
|
|
1057
1109
|
orgId: string;
|
|
@@ -1243,14 +1295,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1243
1295
|
} | {
|
|
1244
1296
|
output: {
|
|
1245
1297
|
error: {
|
|
1246
|
-
code: "
|
|
1298
|
+
code: "organization_not_found";
|
|
1247
1299
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1248
1300
|
message: string;
|
|
1249
1301
|
};
|
|
1250
1302
|
requestId: string;
|
|
1251
1303
|
};
|
|
1252
1304
|
outputFormat: "json";
|
|
1253
|
-
status:
|
|
1305
|
+
status: 404;
|
|
1254
1306
|
input: {
|
|
1255
1307
|
param: {
|
|
1256
1308
|
orgId: string;
|
|
@@ -1263,14 +1315,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1263
1315
|
} | {
|
|
1264
1316
|
output: {
|
|
1265
1317
|
error: {
|
|
1266
|
-
code: "
|
|
1318
|
+
code: "param_invalid";
|
|
1267
1319
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1268
1320
|
message: string;
|
|
1269
1321
|
};
|
|
1270
1322
|
requestId: string;
|
|
1271
1323
|
};
|
|
1272
1324
|
outputFormat: "json";
|
|
1273
|
-
status:
|
|
1325
|
+
status: 400;
|
|
1274
1326
|
input: {
|
|
1275
1327
|
param: {
|
|
1276
1328
|
orgId: string;
|
|
@@ -1460,14 +1512,14 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1460
1512
|
} | {
|
|
1461
1513
|
output: {
|
|
1462
1514
|
error: {
|
|
1463
|
-
code: "
|
|
1515
|
+
code: "organization_not_found";
|
|
1464
1516
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1465
1517
|
message: string;
|
|
1466
1518
|
};
|
|
1467
1519
|
requestId: string;
|
|
1468
1520
|
};
|
|
1469
1521
|
outputFormat: "json";
|
|
1470
|
-
status:
|
|
1522
|
+
status: 404;
|
|
1471
1523
|
input: {
|
|
1472
1524
|
param: {
|
|
1473
1525
|
methodId: string;
|
|
@@ -1481,14 +1533,35 @@ export declare function billing(): import("hono/hono-base").HonoBase<Environment
|
|
|
1481
1533
|
} | {
|
|
1482
1534
|
output: {
|
|
1483
1535
|
error: {
|
|
1484
|
-
code: "
|
|
1536
|
+
code: "forbidden";
|
|
1485
1537
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1486
1538
|
message: string;
|
|
1487
1539
|
};
|
|
1488
1540
|
requestId: string;
|
|
1489
1541
|
};
|
|
1490
1542
|
outputFormat: "json";
|
|
1491
|
-
status:
|
|
1543
|
+
status: 403;
|
|
1544
|
+
input: {
|
|
1545
|
+
param: {
|
|
1546
|
+
methodId: string;
|
|
1547
|
+
orgId: string;
|
|
1548
|
+
};
|
|
1549
|
+
} & {
|
|
1550
|
+
query?: {
|
|
1551
|
+
environment?: string | string[];
|
|
1552
|
+
} | undefined;
|
|
1553
|
+
};
|
|
1554
|
+
} | {
|
|
1555
|
+
output: {
|
|
1556
|
+
error: {
|
|
1557
|
+
code: "param_invalid";
|
|
1558
|
+
details?: readonly Response.error.Detail[] | undefined;
|
|
1559
|
+
message: string;
|
|
1560
|
+
};
|
|
1561
|
+
requestId: string;
|
|
1562
|
+
};
|
|
1563
|
+
outputFormat: "json";
|
|
1564
|
+
status: 400;
|
|
1492
1565
|
input: {
|
|
1493
1566
|
param: {
|
|
1494
1567
|
methodId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/billing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAQ7B,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAMzD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,WAAW,CAAA;AAErD,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IAQtB,6DAA6D;IACtD,MAAM,MAAM;;qBAEoD,CAAA;IAEvE,0DAA0D;IACnD,MAAM,KAAK;;;;;sBAEsD,CAAA;IAExE,qDAAqD;IAC9C,MAAM,YAAY;;;qBAU6C,CAAA;IAEtE,gCAAgC;IACzB,MAAM,UAAU;;;;;;;;
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/billing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAQ7B,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAMzD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,WAAW,CAAA;AAErD,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IAQtB,6DAA6D;IACtD,MAAM,MAAM;;qBAEoD,CAAA;IAEvE,0DAA0D;IACnD,MAAM,KAAK;;;;;sBAEsD,CAAA;IAExE,qDAAqD;IAC9C,MAAM,YAAY;;;qBAU6C,CAAA;IAEtE,gCAAgC;IACzB,MAAM,UAAU;;;;;;;;qBA0BtB,CAAA;IAED,iCAAiC;IAC1B,MAAM,UAAU;;;;;qBAoBtB,CAAA;IAED,qEAAqE;IAC9D,MAAM,KAAK;;;;;;;;;;;;;;;;qBAiBjB,CAAA;IAED,uCAAuC;IAChC,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsDnB,CAAA;IAED,oCAAoC;IAC7B,MAAM,OAAO;;qBAanB,CAAA;IAED,gCAAgC;IACzB,MAAM,aAAa;;;;;;;;;;;;qBAqDzB,CAAA;IAED,yCAAyC;IAClC,MAAM,cAAc;;;;;;;;;;;;;;qBAU1B,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAqkBtB"}
|
|
@@ -37,7 +37,7 @@ export var schema;
|
|
|
37
37
|
})
|
|
38
38
|
.check(z.describe('Path parameters addressing one payment method.'));
|
|
39
39
|
/** A per-period spend limit. */
|
|
40
|
-
schema.SpendLimit = Schema.describe(z.object({
|
|
40
|
+
schema.SpendLimit = OpenApi.component(Schema.describe(z.object({
|
|
41
41
|
amount: z.string().check(
|
|
42
42
|
// The lookahead rejects zero: a zero limit would refuse all
|
|
43
43
|
// sponsorship, which `null` (clear) already expresses.
|
|
@@ -48,9 +48,9 @@ export var schema;
|
|
|
48
48
|
period: z
|
|
49
49
|
._default(z.enum(BillingSettings.periods), 'month')
|
|
50
50
|
.check(z.describe('Window the limit applies over; `month` (UTC calendar) only today.'), z.meta({ examples: ['month'] })),
|
|
51
|
-
}), 'A per-period spend limit.');
|
|
51
|
+
}), 'A per-period spend limit.'), 'BillingSpendLimit');
|
|
52
52
|
/** A per-transaction fee cap. */
|
|
53
|
-
schema.TxFeeLimit = Schema.describe(z.object({
|
|
53
|
+
schema.TxFeeLimit = OpenApi.component(Schema.describe(z.object({
|
|
54
54
|
amount: z.string().check(
|
|
55
55
|
// The lookahead rejects zero: a zero cap would refuse every
|
|
56
56
|
// transaction, which is not a supported configuration.
|
|
@@ -58,17 +58,17 @@ export var schema;
|
|
|
58
58
|
currency: z
|
|
59
59
|
._default(z.enum(BillingSettings.currencies), 'usd')
|
|
60
60
|
.check(z.describe('Currency the cap is denominated in; `usd` only today.'), z.meta({ examples: ['usd'] })),
|
|
61
|
-
}), 'A per-transaction fee cap.');
|
|
61
|
+
}), 'A per-transaction fee cap.'), 'BillingTransactionFeeLimit');
|
|
62
62
|
/** PATCH body; absent fields stay unchanged, null clears a limit. */
|
|
63
|
-
schema.Patch = Schema.describe(z.object({
|
|
63
|
+
schema.Patch = OpenApi.component(Schema.describe(z.object({
|
|
64
64
|
spendLimit: z
|
|
65
65
|
.optional(z.nullable(schema.SpendLimit))
|
|
66
66
|
.check(z.describe('Spend limit per period; absent leaves it unchanged, null removes it.'), z.meta({ examples: [{ amount: '250', currency: 'usd', period: 'month' }] })),
|
|
67
67
|
txFeeLimit: z.optional(z.nullable(schema.TxFeeLimit)).check(z.describe('Per-transaction fee cap; absent leaves it unchanged, null restores the platform default.'), // prettier-ignore
|
|
68
68
|
z.meta({ examples: [{ amount: '0.50', currency: 'usd' }] })),
|
|
69
|
-
}), 'Billing settings to apply.');
|
|
69
|
+
}), 'Billing settings to apply.'), 'UpdateBillingRequest');
|
|
70
70
|
/** An organization's billing state. */
|
|
71
|
-
schema.Billing = Schema.describe(z.object({
|
|
71
|
+
schema.Billing = OpenApi.component(Schema.describe(z.object({
|
|
72
72
|
enabledSources: z
|
|
73
73
|
.array(z.enum(EnabledBillingSources.sources))
|
|
74
74
|
.check(z.describe('Billing sources this organization may set up.'), z.meta({ examples: [['stripe']] })),
|
|
@@ -92,17 +92,17 @@ export var schema;
|
|
|
92
92
|
txFeeLimit: z
|
|
93
93
|
.optional(schema.TxFeeLimit)
|
|
94
94
|
.check(z.describe('Configured per-transaction fee cap; absent when the platform default applies.'), z.meta({ examples: [{ amount: '0.50', currency: 'usd' }] })),
|
|
95
|
-
updatedAt: z.optional(z.
|
|
95
|
+
updatedAt: z.optional(z.iso.datetime()).check(z.describe('When the billing status last changed (ISO 8601); absent before first checkout.'), // prettier-ignore
|
|
96
96
|
z.meta({ examples: ['2026-01-01T00:00:00.000Z'] })),
|
|
97
|
-
}), "An organization's billing state.");
|
|
97
|
+
}), "An organization's billing state."), 'Billing');
|
|
98
98
|
/** A hosted Stripe session link. */
|
|
99
|
-
schema.Session = Schema.describe(z.object({
|
|
99
|
+
schema.Session = OpenApi.component(Schema.describe(z.object({
|
|
100
100
|
url: z
|
|
101
101
|
.url()
|
|
102
102
|
.check(z.describe('Hosted Stripe session URL; navigate the browser here.'), z.meta({ examples: ['https://checkout.stripe.com/c/pay/cs_test_a1b2c3'] })),
|
|
103
|
-
}), 'A hosted Stripe session link.');
|
|
103
|
+
}), 'A hosted Stripe session link.'), 'BillingSession');
|
|
104
104
|
/** A payment method on file. */
|
|
105
|
-
schema.PaymentMethod = Schema.describe(z.object({
|
|
105
|
+
schema.PaymentMethod = OpenApi.component(Schema.describe(z.object({
|
|
106
106
|
card: z
|
|
107
107
|
.optional(z.object({
|
|
108
108
|
brand: z
|
|
@@ -117,8 +117,8 @@ export var schema;
|
|
|
117
117
|
.check(z.describe('Last four digits.'), z.meta({ examples: ['4242'] })),
|
|
118
118
|
}))
|
|
119
119
|
.check(z.describe('Card details; present when `type` is `card`.'), z.meta({ examples: [{ brand: 'visa', expMonth: 12, expYear: 2030, last4: '4242' }] })),
|
|
120
|
-
createdAt: z
|
|
121
|
-
.
|
|
120
|
+
createdAt: z.iso
|
|
121
|
+
.datetime()
|
|
122
122
|
.check(z.describe('When the method was attached (ISO 8601).'), z.meta({ examples: ['2026-01-01T00:00:00.000Z'] })),
|
|
123
123
|
default: z
|
|
124
124
|
.boolean()
|
|
@@ -132,11 +132,13 @@ export var schema;
|
|
|
132
132
|
type: z
|
|
133
133
|
.string()
|
|
134
134
|
.check(z.describe('Method type (e.g. `card`, `us_bank_account`).'), z.meta({ examples: ['card'] })),
|
|
135
|
-
}), 'A payment method on file.');
|
|
135
|
+
}), 'A payment method on file.'), 'BillingPaymentMethod');
|
|
136
136
|
/** An organization's payment methods. */
|
|
137
|
-
schema.PaymentMethods = Schema.describe(z.object({
|
|
138
|
-
data: z
|
|
139
|
-
|
|
137
|
+
schema.PaymentMethods = OpenApi.component(Schema.describe(z.object({
|
|
138
|
+
data: z
|
|
139
|
+
.array(schema.PaymentMethod)
|
|
140
|
+
.check(z.describe('Payment methods on file, newest first.'), z.meta({ examples: [[]] })),
|
|
141
|
+
}), "An organization's payment methods."), 'BillingPaymentMethodList');
|
|
140
142
|
})(schema || (schema = {}));
|
|
141
143
|
/**
|
|
142
144
|
* Mounts billing routes. Reads require membership or scoped API key access; organizations without provider state return `none`.
|
|
@@ -153,7 +155,14 @@ export function billing() {
|
|
|
153
155
|
operationId: 'getBilling',
|
|
154
156
|
responses: OpenApi.responses({
|
|
155
157
|
errors: {
|
|
156
|
-
|
|
158
|
+
400: {
|
|
159
|
+
codes: ['param_invalid', 'query_invalid'],
|
|
160
|
+
description: 'Malformed API key, invalid path, or invalid query.',
|
|
161
|
+
},
|
|
162
|
+
404: {
|
|
163
|
+
codes: ['organization_not_found'],
|
|
164
|
+
description: 'No accessible organization was found for this id.',
|
|
165
|
+
},
|
|
157
166
|
},
|
|
158
167
|
success: { description: "The organization's billing state.", schema: schema.Billing },
|
|
159
168
|
}),
|
|
@@ -195,8 +204,14 @@ export function billing() {
|
|
|
195
204
|
operationId: 'updateBilling',
|
|
196
205
|
responses: OpenApi.responses({
|
|
197
206
|
errors: {
|
|
198
|
-
|
|
199
|
-
|
|
207
|
+
400: {
|
|
208
|
+
codes: ['body_invalid', 'param_invalid', 'query_invalid'],
|
|
209
|
+
description: 'Malformed API key, invalid path, invalid query, or invalid body.',
|
|
210
|
+
},
|
|
211
|
+
404: {
|
|
212
|
+
codes: ['organization_not_found'],
|
|
213
|
+
description: 'No accessible organization was found for this id.',
|
|
214
|
+
},
|
|
200
215
|
},
|
|
201
216
|
success: {
|
|
202
217
|
description: "The organization's updated billing state.",
|
|
@@ -210,6 +225,8 @@ export function billing() {
|
|
|
210
225
|
return Auth.accessError(c);
|
|
211
226
|
if (Auth.narrowScope)
|
|
212
227
|
return Auth.ensureOrgError(c);
|
|
228
|
+
if (Auth.narrowOrgRole)
|
|
229
|
+
return Auth.ensureOrgRoleError(c);
|
|
213
230
|
if (OpenApi.narrowValidation)
|
|
214
231
|
return OpenApi.validationError(c, {
|
|
215
232
|
code: 'param_invalid',
|
|
@@ -264,12 +281,22 @@ export function billing() {
|
|
|
264
281
|
operationId: 'createStripeCheckout',
|
|
265
282
|
responses: OpenApi.responses({
|
|
266
283
|
errors: {
|
|
284
|
+
400: {
|
|
285
|
+
codes: ['param_invalid', 'query_invalid'],
|
|
286
|
+
description: 'Malformed API key, invalid path, or invalid query.',
|
|
287
|
+
},
|
|
267
288
|
403: {
|
|
268
|
-
codes: ['
|
|
289
|
+
codes: ['billing_source_disabled'],
|
|
269
290
|
description: 'Requires the owner role and Stripe billing enabled.',
|
|
270
291
|
},
|
|
271
|
-
404:
|
|
272
|
-
|
|
292
|
+
404: {
|
|
293
|
+
codes: ['organization_not_found'],
|
|
294
|
+
description: 'No accessible organization was found for this id.',
|
|
295
|
+
},
|
|
296
|
+
501: {
|
|
297
|
+
codes: ['billing_unconfigured'],
|
|
298
|
+
description: 'Billing is not configured on this deployment.',
|
|
299
|
+
},
|
|
273
300
|
},
|
|
274
301
|
success: {
|
|
275
302
|
description: 'A Stripe Checkout (setup mode) session for attaching a payment method.',
|
|
@@ -352,9 +379,18 @@ export function billing() {
|
|
|
352
379
|
operationId: 'createStripeManage',
|
|
353
380
|
responses: OpenApi.responses({
|
|
354
381
|
errors: {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
382
|
+
400: {
|
|
383
|
+
codes: ['param_invalid', 'query_invalid'],
|
|
384
|
+
description: 'Malformed API key, invalid path, or invalid query.',
|
|
385
|
+
},
|
|
386
|
+
404: {
|
|
387
|
+
codes: ['billing_not_found', 'organization_not_found'],
|
|
388
|
+
description: 'No accessible organization or billing account was found.',
|
|
389
|
+
},
|
|
390
|
+
501: {
|
|
391
|
+
codes: ['billing_unconfigured'],
|
|
392
|
+
description: 'Billing is not configured on this deployment.',
|
|
393
|
+
},
|
|
358
394
|
},
|
|
359
395
|
success: {
|
|
360
396
|
description: 'A Stripe billing-portal session for managing payment methods and invoices.', // prettier-ignore
|
|
@@ -368,6 +404,8 @@ export function billing() {
|
|
|
368
404
|
return Auth.accessError(c);
|
|
369
405
|
if (Auth.narrowScope)
|
|
370
406
|
return Auth.ensureOrgError(c);
|
|
407
|
+
if (Auth.narrowOrgRole)
|
|
408
|
+
return Auth.ensureOrgRoleError(c);
|
|
371
409
|
if (OpenApi.narrowValidation)
|
|
372
410
|
return OpenApi.validationError(c, {
|
|
373
411
|
code: 'param_invalid',
|
|
@@ -411,8 +449,18 @@ export function billing() {
|
|
|
411
449
|
operationId: 'getBillingPaymentMethods',
|
|
412
450
|
responses: OpenApi.responses({
|
|
413
451
|
errors: {
|
|
414
|
-
|
|
415
|
-
|
|
452
|
+
400: {
|
|
453
|
+
codes: ['param_invalid', 'query_invalid'],
|
|
454
|
+
description: 'Malformed API key, invalid path, or invalid query.',
|
|
455
|
+
},
|
|
456
|
+
404: {
|
|
457
|
+
codes: ['organization_not_found'],
|
|
458
|
+
description: 'No accessible organization was found for this id.',
|
|
459
|
+
},
|
|
460
|
+
501: {
|
|
461
|
+
codes: ['billing_unconfigured'],
|
|
462
|
+
description: 'Billing is not configured on this deployment.',
|
|
463
|
+
},
|
|
416
464
|
},
|
|
417
465
|
success: {
|
|
418
466
|
description: "The organization's payment methods.",
|
|
@@ -490,9 +538,18 @@ export function billing() {
|
|
|
490
538
|
operationId: 'deleteBillingPaymentMethod',
|
|
491
539
|
responses: OpenApi.responses({
|
|
492
540
|
errors: {
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
541
|
+
400: {
|
|
542
|
+
codes: ['param_invalid', 'query_invalid'],
|
|
543
|
+
description: 'Malformed API key, invalid path, or invalid query.',
|
|
544
|
+
},
|
|
545
|
+
404: {
|
|
546
|
+
codes: ['billing_not_found', 'organization_not_found', 'payment_method_not_found'],
|
|
547
|
+
description: 'No accessible organization, billing account, or payment method was found.', // prettier-ignore
|
|
548
|
+
},
|
|
549
|
+
501: {
|
|
550
|
+
codes: ['billing_unconfigured'],
|
|
551
|
+
description: 'Billing is not configured on this deployment.',
|
|
552
|
+
},
|
|
496
553
|
},
|
|
497
554
|
success: {
|
|
498
555
|
description: "The organization's updated billing state.",
|
|
@@ -506,6 +563,8 @@ export function billing() {
|
|
|
506
563
|
return Auth.accessError(c);
|
|
507
564
|
if (Auth.narrowScope)
|
|
508
565
|
return Auth.ensureOrgError(c);
|
|
566
|
+
if (Auth.narrowOrgRole)
|
|
567
|
+
return Auth.ensureOrgRoleError(c);
|
|
509
568
|
if (OpenApi.narrowValidation)
|
|
510
569
|
return OpenApi.validationError(c, {
|
|
511
570
|
code: 'param_invalid',
|