tapimo 0.10.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/dist/App.d.ts +4896 -2166
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +2 -2
  4. package/dist/App.js.map +1 -1
  5. package/dist/Assets.d.ts +15 -0
  6. package/dist/Assets.d.ts.map +1 -1
  7. package/dist/Assets.js +7 -0
  8. package/dist/Assets.js.map +1 -1
  9. package/dist/Webhooks.d.ts +0 -75
  10. package/dist/Webhooks.d.ts.map +1 -1
  11. package/dist/Webhooks.js +1 -143
  12. package/dist/Webhooks.js.map +1 -1
  13. package/dist/admin/App.d.ts +127 -78
  14. package/dist/admin/App.d.ts.map +1 -1
  15. package/dist/admin/apps/earn-vaults.d.ts +115 -1
  16. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  17. package/dist/admin/apps/earn-vaults.js +59 -6
  18. package/dist/admin/apps/earn-vaults.js.map +1 -1
  19. package/dist/admin/apps/organizations.d.ts +3 -3
  20. package/dist/admin/apps/organizations.d.ts.map +1 -1
  21. package/dist/admin/apps/organizations.js +4 -2
  22. package/dist/admin/apps/organizations.js.map +1 -1
  23. package/dist/admin/apps/verified-tokens.d.ts +83 -83
  24. package/dist/admin/ui.generated.d.ts +1 -1
  25. package/dist/admin/ui.generated.d.ts.map +1 -1
  26. package/dist/admin/ui.generated.js +151 -151
  27. package/dist/admin/ui.generated.js.map +1 -1
  28. package/dist/apps/data/App.d.ts +5924 -4310
  29. package/dist/apps/data/App.d.ts.map +1 -1
  30. package/dist/apps/data/App.js +61 -9
  31. package/dist/apps/data/App.js.map +1 -1
  32. package/dist/apps/data/ZoneSelection.d.ts +62 -0
  33. package/dist/apps/data/ZoneSelection.d.ts.map +1 -0
  34. package/dist/apps/data/ZoneSelection.js +44 -0
  35. package/dist/apps/data/ZoneSelection.js.map +1 -0
  36. package/dist/apps/data/routes/activities.d.ts +2368 -5
  37. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  38. package/dist/apps/data/routes/activities.js +423 -114
  39. package/dist/apps/data/routes/activities.js.map +1 -1
  40. package/dist/apps/data/routes/addresses.d.ts +131 -0
  41. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  42. package/dist/apps/data/routes/balances.d.ts +25 -25
  43. package/dist/apps/data/routes/balances.js +1 -1
  44. package/dist/apps/data/routes/balances.js.map +1 -1
  45. package/dist/apps/data/routes/blocks.d.ts +1 -1
  46. package/dist/apps/data/routes/blocks.js +1 -1
  47. package/dist/apps/data/routes/blocks.js.map +1 -1
  48. package/dist/apps/data/routes/earn.d.ts +135 -10
  49. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  50. package/dist/apps/data/routes/earn.js +157 -25
  51. package/dist/apps/data/routes/earn.js.map +1 -1
  52. package/dist/apps/data/routes/exchanges.d.ts +829 -123
  53. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  54. package/dist/apps/data/routes/exchanges.js +16 -13
  55. package/dist/apps/data/routes/exchanges.js.map +1 -1
  56. package/dist/apps/data/routes/fee-amm.d.ts +26 -26
  57. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  58. package/dist/apps/data/routes/fee-amm.js +9 -11
  59. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  60. package/dist/apps/data/routes/receipts.d.ts +54 -54
  61. package/dist/apps/data/routes/receipts.js +1 -1
  62. package/dist/apps/data/routes/receipts.js.map +1 -1
  63. package/dist/apps/data/routes/rpc.js +24 -10
  64. package/dist/apps/data/routes/rpc.js.map +1 -1
  65. package/dist/apps/data/routes/tokenlist.d.ts +12 -12
  66. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  67. package/dist/apps/data/routes/tokenlist.js +16 -15
  68. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  69. package/dist/apps/data/routes/tokens.d.ts +17 -3
  70. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  71. package/dist/apps/data/routes/tokens.js +34 -15
  72. package/dist/apps/data/routes/tokens.js.map +1 -1
  73. package/dist/apps/data/routes/transactions.d.ts +1 -1
  74. package/dist/apps/data/routes/transactions.js +1 -1
  75. package/dist/apps/data/routes/transactions.js.map +1 -1
  76. package/dist/apps/data/routes/transfers.d.ts +13 -13
  77. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  78. package/dist/apps/data/routes/transfers.js +7 -9
  79. package/dist/apps/data/routes/transfers.js.map +1 -1
  80. package/dist/apps/data/routes/valuation.d.ts +21 -21
  81. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  82. package/dist/apps/data/routes/webhooks.d.ts +1011 -151
  83. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  84. package/dist/apps/data/routes/webhooks.js +126 -739
  85. package/dist/apps/data/routes/webhooks.js.map +1 -1
  86. package/dist/apps/data/routes/zones.d.ts +15 -15
  87. package/dist/apps/funding/App.d.ts +27 -27
  88. package/dist/apps/funding/routes/chains.d.ts.map +1 -1
  89. package/dist/apps/funding/routes/chains.js +5 -4
  90. package/dist/apps/funding/routes/chains.js.map +1 -1
  91. package/dist/apps/funding/routes/deposit-addresses.d.ts +18 -18
  92. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
  93. package/dist/apps/funding/routes/deposit-addresses.js +8 -8
  94. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
  95. package/dist/apps/funding/routes/providers.d.ts.map +1 -1
  96. package/dist/apps/funding/routes/providers.js +3 -2
  97. package/dist/apps/funding/routes/providers.js.map +1 -1
  98. package/dist/apps/funding/routes/quotes.d.ts.map +1 -1
  99. package/dist/apps/funding/routes/quotes.js +2 -2
  100. package/dist/apps/funding/routes/quotes.js.map +1 -1
  101. package/dist/apps/funding/routes/transfers.d.ts +33 -33
  102. package/dist/apps/management/App.d.ts +1433 -322
  103. package/dist/apps/management/App.d.ts.map +1 -1
  104. package/dist/apps/management/Billing.d.ts.map +1 -1
  105. package/dist/apps/management/Billing.js +19 -6
  106. package/dist/apps/management/Billing.js.map +1 -1
  107. package/dist/apps/management/routes/api-keys.d.ts +154 -94
  108. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  109. package/dist/apps/management/routes/api-keys.js +76 -30
  110. package/dist/apps/management/routes/api-keys.js.map +1 -1
  111. package/dist/apps/management/routes/billing.d.ts +103 -30
  112. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  113. package/dist/apps/management/routes/billing.js +91 -32
  114. package/dist/apps/management/routes/billing.js.map +1 -1
  115. package/dist/apps/management/routes/faucet.d.ts +12 -12
  116. package/dist/apps/management/routes/faucet.d.ts.map +1 -1
  117. package/dist/apps/management/routes/faucet.js +23 -12
  118. package/dist/apps/management/routes/faucet.js.map +1 -1
  119. package/dist/apps/management/routes/invitations.d.ts +46 -13
  120. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  121. package/dist/apps/management/routes/invitations.js +79 -29
  122. package/dist/apps/management/routes/invitations.js.map +1 -1
  123. package/dist/apps/management/routes/invite-links.d.ts +128 -83
  124. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  125. package/dist/apps/management/routes/invite-links.js +100 -41
  126. package/dist/apps/management/routes/invite-links.js.map +1 -1
  127. package/dist/apps/management/routes/me.d.ts +5 -5
  128. package/dist/apps/management/routes/me.d.ts.map +1 -1
  129. package/dist/apps/management/routes/me.js +14 -10
  130. package/dist/apps/management/routes/me.js.map +1 -1
  131. package/dist/apps/management/routes/members.d.ts +68 -47
  132. package/dist/apps/management/routes/members.d.ts.map +1 -1
  133. package/dist/apps/management/routes/members.js +37 -18
  134. package/dist/apps/management/routes/members.js.map +1 -1
  135. package/dist/apps/management/routes/orgs.d.ts +48 -8
  136. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  137. package/dist/apps/management/routes/orgs.js +48 -19
  138. package/dist/apps/management/routes/orgs.js.map +1 -1
  139. package/dist/apps/management/routes/projects.d.ts +130 -68
  140. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  141. package/dist/apps/management/routes/projects.js +72 -21
  142. package/dist/apps/management/routes/projects.js.map +1 -1
  143. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  144. package/dist/apps/management/routes/scopes.js +8 -5
  145. package/dist/apps/management/routes/scopes.js.map +1 -1
  146. package/dist/apps/management/routes/usage.d.ts +38 -38
  147. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  148. package/dist/apps/management/routes/usage.js +41 -31
  149. package/dist/apps/management/routes/usage.js.map +1 -1
  150. package/dist/apps/management/routes/verified-token-requests.d.ts +34 -6
  151. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  152. package/dist/apps/management/routes/verified-token-requests.js +36 -17
  153. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  154. package/dist/apps/management/routes/webhooks.d.ts +1186 -197
  155. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  156. package/dist/apps/management/routes/webhooks.js +106 -38
  157. package/dist/apps/management/routes/webhooks.js.map +1 -1
  158. package/dist/apps/mpp/internal/Adapter.d.ts +1 -1
  159. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  160. package/dist/apps/mpp/internal/Adapter.js +12 -0
  161. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  162. package/dist/db/Db.d.ts +2 -0
  163. package/dist/db/Db.d.ts.map +1 -1
  164. package/dist/db/Db.js +61 -0
  165. package/dist/db/Db.js.map +1 -1
  166. package/dist/db/Schema.d.ts +30 -2
  167. package/dist/db/Schema.d.ts.map +1 -1
  168. package/dist/db/Schema.js +28 -3
  169. package/dist/db/Schema.js.map +1 -1
  170. package/dist/db/tables/earnVaults.d.ts +5 -1
  171. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  172. package/dist/db/tables/earnVaults.js +5 -0
  173. package/dist/db/tables/earnVaults.js.map +1 -1
  174. package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
  175. package/dist/db/tables/webhookDeliveries.js +10 -0
  176. package/dist/db/tables/webhookDeliveries.js.map +1 -1
  177. package/dist/db/tables/webhookQueueCompletions.d.ts +15 -0
  178. package/dist/db/tables/webhookQueueCompletions.d.ts.map +1 -0
  179. package/dist/db/tables/webhookQueueCompletions.js +32 -0
  180. package/dist/db/tables/webhookQueueCompletions.js.map +1 -0
  181. package/dist/db/tables/webhookQueueEvents.d.ts +16 -20
  182. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  183. package/dist/db/tables/webhookQueueEvents.js +68 -43
  184. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  185. package/dist/db/tables/webhookSubscriptions.d.ts +47 -72
  186. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  187. package/dist/db/tables/webhookSubscriptions.js +92 -105
  188. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  189. package/dist/internal/Auth.d.ts +8 -1
  190. package/dist/internal/Auth.d.ts.map +1 -1
  191. package/dist/internal/Auth.js +13 -3
  192. package/dist/internal/Auth.js.map +1 -1
  193. package/dist/internal/Cache.d.ts.map +1 -1
  194. package/dist/internal/Cache.js +11 -7
  195. package/dist/internal/Cache.js.map +1 -1
  196. package/dist/internal/EarnVaults.d.ts +41 -2
  197. package/dist/internal/EarnVaults.d.ts.map +1 -1
  198. package/dist/internal/EarnVaults.js +167 -0
  199. package/dist/internal/EarnVaults.js.map +1 -1
  200. package/dist/internal/MetricSink.d.ts +35 -125
  201. package/dist/internal/MetricSink.d.ts.map +1 -1
  202. package/dist/internal/MetricSink.js +50 -121
  203. package/dist/internal/MetricSink.js.map +1 -1
  204. package/dist/internal/OpenApi.d.ts +26 -22
  205. package/dist/internal/OpenApi.d.ts.map +1 -1
  206. package/dist/internal/OpenApi.js +128 -39
  207. package/dist/internal/OpenApi.js.map +1 -1
  208. package/dist/internal/Response.d.ts +13 -8
  209. package/dist/internal/Response.d.ts.map +1 -1
  210. package/dist/internal/Response.js +16 -5
  211. package/dist/internal/Response.js.map +1 -1
  212. package/dist/internal/Schema.d.ts +8 -8
  213. package/dist/internal/Schema.d.ts.map +1 -1
  214. package/dist/internal/Schema.js +10 -9
  215. package/dist/internal/Schema.js.map +1 -1
  216. package/dist/internal/Store.d.ts +15 -6
  217. package/dist/internal/Store.d.ts.map +1 -1
  218. package/dist/internal/Store.js +45 -15
  219. package/dist/internal/Store.js.map +1 -1
  220. package/dist/internal/Tidx.d.ts +2 -0
  221. package/dist/internal/Tidx.d.ts.map +1 -1
  222. package/dist/internal/Tidx.js +16 -4
  223. package/dist/internal/Tidx.js.map +1 -1
  224. package/dist/internal/WebhookTransfer.d.ts +1 -55
  225. package/dist/internal/WebhookTransfer.d.ts.map +1 -1
  226. package/dist/internal/WebhookTransfer.js +1 -239
  227. package/dist/internal/WebhookTransfer.js.map +1 -1
  228. package/dist/internal/Webhooks.d.ts +112 -56
  229. package/dist/internal/Webhooks.d.ts.map +1 -1
  230. package/dist/internal/Webhooks.js +124 -93
  231. package/dist/internal/Webhooks.js.map +1 -1
  232. package/dist/internal/funding/Deposit.d.ts +2 -2
  233. package/dist/internal/funding/Deposit.d.ts.map +1 -1
  234. package/dist/internal/funding/Deposit.js +9 -8
  235. package/dist/internal/funding/Deposit.js.map +1 -1
  236. package/dist/internal/funding/DepositAddress.d.ts +4 -4
  237. package/dist/internal/funding/DepositAddress.d.ts.map +1 -1
  238. package/dist/internal/funding/DepositAddress.js +9 -8
  239. package/dist/internal/funding/DepositAddress.js.map +1 -1
  240. package/dist/internal/funding/DepositWebhook.d.ts +25 -0
  241. package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
  242. package/dist/internal/funding/DepositWebhook.js +74 -0
  243. package/dist/internal/funding/DepositWebhook.js.map +1 -0
  244. package/dist/internal/funding/Provider.d.ts.map +1 -1
  245. package/dist/internal/funding/Provider.js +13 -12
  246. package/dist/internal/funding/Provider.js.map +1 -1
  247. package/dist/internal/funding/Reconciliation.d.ts +6 -0
  248. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  249. package/dist/internal/funding/Reconciliation.js +42 -10
  250. package/dist/internal/funding/Reconciliation.js.map +1 -1
  251. package/dist/internal/funding/index.d.ts +1 -0
  252. package/dist/internal/funding/index.d.ts.map +1 -1
  253. package/dist/internal/funding/index.js +1 -0
  254. package/dist/internal/funding/index.js.map +1 -1
  255. package/dist/internal/funding/providers/stargate.d.ts +19 -0
  256. package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
  257. package/dist/internal/funding/providers/stargate.js +143 -0
  258. package/dist/internal/funding/providers/stargate.js.map +1 -0
  259. package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
  260. package/dist/internal/webhookDestinations/slack.js +16 -0
  261. package/dist/internal/webhookDestinations/slack.js.map +1 -1
  262. package/dist/providers/index.d.ts +7 -0
  263. package/dist/providers/index.d.ts.map +1 -1
  264. package/dist/providers/index.js +3 -0
  265. package/dist/providers/index.js.map +1 -1
  266. package/package.json +2 -2
  267. package/src/App.test.ts +48 -0
  268. package/src/App.ts +7 -2
  269. package/src/Assets.test.ts +18 -0
  270. package/src/Assets.ts +22 -0
  271. package/src/Client.test-d.ts +287 -17
  272. package/src/Webhooks.ts +1 -220
  273. package/src/admin/apps/earn-vaults.test.ts +143 -0
  274. package/src/admin/apps/earn-vaults.ts +83 -6
  275. package/src/admin/apps/organizations.ts +6 -2
  276. package/src/admin/ui/src/routes/api-keys.tsx +36 -0
  277. package/src/admin/ui.generated.ts +151 -189
  278. package/src/apps/data/App.test.ts +31 -0
  279. package/src/apps/data/App.ts +64 -10
  280. package/src/apps/data/ZoneSelection.test.ts +196 -0
  281. package/src/apps/data/ZoneSelection.ts +108 -0
  282. package/src/apps/data/routes/activities.test.ts +435 -12
  283. package/src/apps/data/routes/activities.ts +562 -125
  284. package/src/apps/data/routes/balances.ts +1 -1
  285. package/src/apps/data/routes/blocks.ts +1 -1
  286. package/src/apps/data/routes/earn.test.ts +183 -23
  287. package/src/apps/data/routes/earn.ts +225 -29
  288. package/src/apps/data/routes/earn.zone-access.test.ts +46 -0
  289. package/src/apps/data/routes/exchanges.test.ts +31 -1
  290. package/src/apps/data/routes/exchanges.ts +19 -15
  291. package/src/apps/data/routes/fee-amm.ts +18 -11
  292. package/src/apps/data/routes/receipts.ts +1 -1
  293. package/src/apps/data/routes/rpc.test.ts +75 -0
  294. package/src/apps/data/routes/rpc.ts +23 -9
  295. package/src/apps/data/routes/tokenlist.ts +21 -18
  296. package/src/apps/data/routes/tokens.test.ts +29 -0
  297. package/src/apps/data/routes/tokens.ts +38 -15
  298. package/src/apps/data/routes/transactions.ts +1 -1
  299. package/src/apps/data/routes/transfers.test.ts +3 -3
  300. package/src/apps/data/routes/transfers.ts +12 -9
  301. package/src/apps/data/routes/webhooks.test.ts +179 -1497
  302. package/src/apps/data/routes/webhooks.ts +156 -976
  303. package/src/apps/data/routes/zones.test.ts +19 -13
  304. package/src/apps/funding/routes/chains.test.ts +211 -7
  305. package/src/apps/funding/routes/chains.ts +19 -12
  306. package/src/apps/funding/routes/deposit-addresses.test.ts +394 -0
  307. package/src/apps/funding/routes/deposit-addresses.ts +84 -72
  308. package/src/apps/funding/routes/providers.ts +9 -5
  309. package/src/apps/funding/routes/quotes.test.ts +46 -0
  310. package/src/apps/funding/routes/quotes.ts +8 -5
  311. package/src/apps/funding/routes/transfers.test.ts +35 -32
  312. package/src/apps/management/Billing.test.ts +26 -0
  313. package/src/apps/management/Billing.ts +24 -7
  314. package/src/apps/management/routes/api-keys.test.ts +178 -0
  315. package/src/apps/management/routes/api-keys.ts +203 -144
  316. package/src/apps/management/routes/billing.test.ts +209 -0
  317. package/src/apps/management/routes/billing.ts +254 -177
  318. package/src/apps/management/routes/faucet.test.ts +39 -0
  319. package/src/apps/management/routes/faucet.ts +75 -41
  320. package/src/apps/management/routes/invitations.test.ts +216 -0
  321. package/src/apps/management/routes/invitations.ts +186 -109
  322. package/src/apps/management/routes/invite-links.test.ts +263 -1
  323. package/src/apps/management/routes/invite-links.ts +295 -214
  324. package/src/apps/management/routes/me.test.ts +49 -0
  325. package/src/apps/management/routes/me.ts +42 -32
  326. package/src/apps/management/routes/members.test.ts +124 -1
  327. package/src/apps/management/routes/members.ts +81 -51
  328. package/src/apps/management/routes/orgs.test.ts +176 -0
  329. package/src/apps/management/routes/orgs.ts +101 -59
  330. package/src/apps/management/routes/projects.test.ts +183 -0
  331. package/src/apps/management/routes/projects.ts +124 -60
  332. package/src/apps/management/routes/scopes.test.ts +44 -0
  333. package/src/apps/management/routes/scopes.ts +37 -28
  334. package/src/apps/management/routes/usage.test.ts +92 -0
  335. package/src/apps/management/routes/usage.ts +186 -151
  336. package/src/apps/management/routes/verified-token-requests.test.ts +114 -0
  337. package/src/apps/management/routes/verified-token-requests.ts +166 -133
  338. package/src/apps/management/routes/webhooks.test.ts +313 -1
  339. package/src/apps/management/routes/webhooks.ts +220 -71
  340. package/src/apps/mpp/internal/Adapter.ts +13 -1
  341. package/src/db/Db.test.ts +42 -5
  342. package/src/db/Db.ts +85 -0
  343. package/src/db/Schema.ts +41 -3
  344. package/src/db/tables/earnVaults.test.ts +22 -0
  345. package/src/db/tables/earnVaults.ts +11 -1
  346. package/src/db/tables/organizations.test.ts +5 -2
  347. package/src/db/tables/webhookDeliveries.ts +13 -0
  348. package/src/db/tables/webhookQueueCompletions.ts +55 -0
  349. package/src/db/tables/webhookQueueEvents.ts +97 -57
  350. package/src/db/tables/webhookSubscriptions.ts +134 -144
  351. package/src/internal/Auth.ts +23 -5
  352. package/src/internal/Cache.ts +14 -7
  353. package/src/internal/EarnVaults.capabilities.test.ts +33 -0
  354. package/src/internal/EarnVaults.test.ts +79 -0
  355. package/src/internal/EarnVaults.ts +277 -0
  356. package/src/internal/MetricSink.test.ts +41 -373
  357. package/src/internal/MetricSink.ts +92 -273
  358. package/src/internal/OpenApi.ts +165 -49
  359. package/src/internal/Response.test.ts +95 -0
  360. package/src/internal/Response.ts +40 -2
  361. package/src/internal/Schema.test.ts +34 -0
  362. package/src/internal/Schema.ts +20 -9
  363. package/src/internal/Store.test.ts +186 -0
  364. package/src/internal/Store.ts +57 -17
  365. package/src/internal/Tidx.test.ts +19 -0
  366. package/src/internal/Tidx.ts +16 -4
  367. package/src/internal/WebhookTransfer.ts +1 -351
  368. package/src/internal/Webhooks.test.ts +222 -145
  369. package/src/internal/Webhooks.ts +234 -135
  370. package/src/internal/funding/Deposit.ts +71 -64
  371. package/src/internal/funding/DepositAddress.ts +50 -43
  372. package/src/internal/funding/DepositWebhook.test.ts +131 -0
  373. package/src/internal/funding/DepositWebhook.ts +101 -0
  374. package/src/internal/funding/Provider.ts +164 -142
  375. package/src/internal/funding/Reconciliation.test.ts +14 -0
  376. package/src/internal/funding/Reconciliation.ts +161 -86
  377. package/src/internal/funding/index.test.ts +1 -0
  378. package/src/internal/funding/index.ts +1 -0
  379. package/src/internal/funding/providers/index.test.ts +185 -0
  380. package/src/internal/funding/providers/stargate.ts +184 -0
  381. package/src/internal/webhookDestinations/slack.ts +15 -0
  382. package/src/providers/index.test.ts +1 -0
  383. package/src/providers/index.ts +9 -0
  384. package/src/Webhooks.bench.ts +0 -714
  385. package/src/Webhooks.memory.bench.ts +0 -250
  386. package/src/Webhooks.test.ts +0 -146
@@ -11,9 +11,9 @@ export declare namespace schema {
11
11
  }>;
12
12
  /** One organization member: the membership plus the member's identity. */
13
13
  const Member: z.ZodMiniObject<{
14
- address: z.ZodMiniOptional<z.ZodMiniString<string>>;
15
- createdAt: z.ZodMiniString<string>;
16
- email: z.ZodMiniOptional<z.ZodMiniString<string>>;
14
+ address: z.ZodMiniOptional<z.ZodMiniTemplateLiteral<`0x${string}`>>;
15
+ createdAt: z.ZodMiniISODateTime;
16
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
17
17
  role: z.ZodMiniEnum<{
18
18
  admin: "admin";
19
19
  member: "member";
@@ -31,7 +31,7 @@ export declare namespace schema {
31
31
  userId: z.ZodMiniString<string>;
32
32
  }, z.core.$strip>;
33
33
  /** Request body changing a member's role. */
34
- const MemberBody: z.ZodMiniObject<{
34
+ const UpdateMemberRequest: z.ZodMiniObject<{
35
35
  role: z.ZodMiniEnum<{
36
36
  admin: "admin";
37
37
  member: "member";
@@ -43,9 +43,9 @@ export declare namespace schema {
43
43
  /** Non-paginated list of an organization's members. */
44
44
  const Response: z.ZodMiniObject<{
45
45
  data: z.ZodMiniArray<z.ZodMiniObject<{
46
- address: z.ZodMiniOptional<z.ZodMiniString<string>>;
47
- createdAt: z.ZodMiniString<string>;
48
- email: z.ZodMiniOptional<z.ZodMiniString<string>>;
46
+ address: z.ZodMiniOptional<z.ZodMiniTemplateLiteral<`0x${string}`>>;
47
+ createdAt: z.ZodMiniISODateTime;
48
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
49
49
  role: z.ZodMiniEnum<{
50
50
  admin: "admin";
51
51
  member: "member";
@@ -73,14 +73,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
73
73
  $get: {
74
74
  output: {
75
75
  error: {
76
- code: "api_key_malformed";
76
+ code: "upstream_error";
77
77
  details?: readonly Response.error.Detail[] | undefined;
78
78
  message: string;
79
79
  };
80
80
  requestId: string;
81
81
  };
82
82
  outputFormat: "json";
83
- status: 400;
83
+ status: 502;
84
84
  input: {
85
85
  param: {
86
86
  orgId: string;
@@ -89,14 +89,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
89
89
  } | {
90
90
  output: {
91
91
  error: {
92
- code: "api_key_invalid" | "api_key_missing";
92
+ code: "api_key_malformed";
93
93
  details?: readonly Response.error.Detail[] | undefined;
94
94
  message: string;
95
95
  };
96
96
  requestId: string;
97
97
  };
98
98
  outputFormat: "json";
99
- status: 401;
99
+ status: 400;
100
100
  input: {
101
101
  param: {
102
102
  orgId: string;
@@ -105,14 +105,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
105
105
  } | {
106
106
  output: {
107
107
  error: {
108
- code: "api_key_forbidden" | "api_key_ip_forbidden";
108
+ code: "api_key_invalid" | "api_key_missing";
109
109
  details?: readonly Response.error.Detail[] | undefined;
110
110
  message: string;
111
111
  };
112
112
  requestId: string;
113
113
  };
114
114
  outputFormat: "json";
115
- status: 403;
115
+ status: 401;
116
116
  input: {
117
117
  param: {
118
118
  orgId: string;
@@ -121,14 +121,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
121
121
  } | {
122
122
  output: {
123
123
  error: {
124
- code: "payment_required" | "rate_limit_exceeded";
124
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
125
125
  details?: readonly Response.error.Detail[] | undefined;
126
126
  message: string;
127
127
  };
128
128
  requestId: string;
129
129
  };
130
130
  outputFormat: "json";
131
- status: 429;
131
+ status: 403;
132
132
  input: {
133
133
  param: {
134
134
  orgId: string;
@@ -137,14 +137,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
137
137
  } | {
138
138
  output: {
139
139
  error: {
140
- code: "upstream_error";
140
+ code: "payment_required" | "rate_limit_exceeded";
141
141
  details?: readonly Response.error.Detail[] | undefined;
142
142
  message: string;
143
143
  };
144
144
  requestId: string;
145
145
  };
146
146
  outputFormat: "json";
147
- status: 502;
147
+ status: 429;
148
148
  input: {
149
149
  param: {
150
150
  orgId: string;
@@ -153,14 +153,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
153
153
  } | {
154
154
  output: {
155
155
  error: {
156
- code: "param_invalid";
156
+ code: "organization_not_found";
157
157
  details?: readonly Response.error.Detail[] | undefined;
158
158
  message: string;
159
159
  };
160
160
  requestId: string;
161
161
  };
162
162
  outputFormat: "json";
163
- status: 400;
163
+ status: 404;
164
164
  input: {
165
165
  param: {
166
166
  orgId: string;
@@ -169,14 +169,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
169
169
  } | {
170
170
  output: {
171
171
  error: {
172
- code: "organization_not_found";
172
+ code: "param_invalid";
173
173
  details?: readonly Response.error.Detail[] | undefined;
174
174
  message: string;
175
175
  };
176
176
  requestId: string;
177
177
  };
178
178
  outputFormat: "json";
179
- status: 404;
179
+ status: 400;
180
180
  input: {
181
181
  param: {
182
182
  orgId: string;
@@ -185,7 +185,7 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
185
185
  } | {
186
186
  output: {
187
187
  data: {
188
- address?: string | undefined;
188
+ address?: `0x${string}` | undefined;
189
189
  createdAt: string;
190
190
  email?: string | undefined;
191
191
  role: "admin" | "member" | "owner";
@@ -204,6 +204,27 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
204
204
  } & {
205
205
  "/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/members/:userId{usr_[A-Za-z0-9_-]+}": {
206
206
  $patch: {
207
+ output: {
208
+ error: {
209
+ code: "upstream_error";
210
+ details?: readonly Response.error.Detail[] | undefined;
211
+ message: string;
212
+ };
213
+ requestId: string;
214
+ };
215
+ outputFormat: "json";
216
+ status: 502;
217
+ input: {
218
+ param: {
219
+ orgId: string;
220
+ userId: string;
221
+ };
222
+ } & {
223
+ json: {
224
+ role: "admin" | "member" | "owner";
225
+ };
226
+ };
227
+ } | {
207
228
  output: {
208
229
  error: {
209
230
  code: "api_key_malformed";
@@ -290,14 +311,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
290
311
  } | {
291
312
  output: {
292
313
  error: {
293
- code: "upstream_error";
314
+ code: "body_invalid";
294
315
  details?: readonly Response.error.Detail[] | undefined;
295
316
  message: string;
296
317
  };
297
318
  requestId: string;
298
319
  };
299
320
  outputFormat: "json";
300
- status: 502;
321
+ status: 400;
301
322
  input: {
302
323
  param: {
303
324
  orgId: string;
@@ -311,14 +332,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
311
332
  } | {
312
333
  output: {
313
334
  error: {
314
- code: "body_invalid";
335
+ code: "forbidden";
315
336
  details?: readonly Response.error.Detail[] | undefined;
316
337
  message: string;
317
338
  };
318
339
  requestId: string;
319
340
  };
320
341
  outputFormat: "json";
321
- status: 400;
342
+ status: 403;
322
343
  input: {
323
344
  param: {
324
345
  orgId: string;
@@ -332,14 +353,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
332
353
  } | {
333
354
  output: {
334
355
  error: {
335
- code: "param_invalid";
356
+ code: "organization_not_found";
336
357
  details?: readonly Response.error.Detail[] | undefined;
337
358
  message: string;
338
359
  };
339
360
  requestId: string;
340
361
  };
341
362
  outputFormat: "json";
342
- status: 400;
363
+ status: 404;
343
364
  input: {
344
365
  param: {
345
366
  orgId: string;
@@ -353,14 +374,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
353
374
  } | {
354
375
  output: {
355
376
  error: {
356
- code: "organization_not_found";
377
+ code: "param_invalid";
357
378
  details?: readonly Response.error.Detail[] | undefined;
358
379
  message: string;
359
380
  };
360
381
  requestId: string;
361
382
  };
362
383
  outputFormat: "json";
363
- status: 404;
384
+ status: 400;
364
385
  input: {
365
386
  param: {
366
387
  orgId: string;
@@ -415,7 +436,7 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
415
436
  };
416
437
  } | {
417
438
  output: {
418
- address?: string | undefined;
439
+ address?: `0x${string}` | undefined;
419
440
  createdAt: string;
420
441
  email?: string | undefined;
421
442
  role: "admin" | "member" | "owner";
@@ -440,14 +461,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
440
461
  $delete: {
441
462
  output: {
442
463
  error: {
443
- code: "api_key_malformed";
464
+ code: "upstream_error";
444
465
  details?: readonly Response.error.Detail[] | undefined;
445
466
  message: string;
446
467
  };
447
468
  requestId: string;
448
469
  };
449
470
  outputFormat: "json";
450
- status: 400;
471
+ status: 502;
451
472
  input: {
452
473
  param: {
453
474
  orgId: string;
@@ -457,14 +478,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
457
478
  } | {
458
479
  output: {
459
480
  error: {
460
- code: "api_key_invalid" | "api_key_missing";
481
+ code: "api_key_malformed";
461
482
  details?: readonly Response.error.Detail[] | undefined;
462
483
  message: string;
463
484
  };
464
485
  requestId: string;
465
486
  };
466
487
  outputFormat: "json";
467
- status: 401;
488
+ status: 400;
468
489
  input: {
469
490
  param: {
470
491
  orgId: string;
@@ -474,14 +495,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
474
495
  } | {
475
496
  output: {
476
497
  error: {
477
- code: "api_key_forbidden" | "api_key_ip_forbidden";
498
+ code: "api_key_invalid" | "api_key_missing";
478
499
  details?: readonly Response.error.Detail[] | undefined;
479
500
  message: string;
480
501
  };
481
502
  requestId: string;
482
503
  };
483
504
  outputFormat: "json";
484
- status: 403;
505
+ status: 401;
485
506
  input: {
486
507
  param: {
487
508
  orgId: string;
@@ -491,14 +512,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
491
512
  } | {
492
513
  output: {
493
514
  error: {
494
- code: "payment_required" | "rate_limit_exceeded";
515
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
495
516
  details?: readonly Response.error.Detail[] | undefined;
496
517
  message: string;
497
518
  };
498
519
  requestId: string;
499
520
  };
500
521
  outputFormat: "json";
501
- status: 429;
522
+ status: 403;
502
523
  input: {
503
524
  param: {
504
525
  orgId: string;
@@ -508,14 +529,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
508
529
  } | {
509
530
  output: {
510
531
  error: {
511
- code: "upstream_error";
532
+ code: "payment_required" | "rate_limit_exceeded";
512
533
  details?: readonly Response.error.Detail[] | undefined;
513
534
  message: string;
514
535
  };
515
536
  requestId: string;
516
537
  };
517
538
  outputFormat: "json";
518
- status: 502;
539
+ status: 429;
519
540
  input: {
520
541
  param: {
521
542
  orgId: string;
@@ -525,14 +546,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
525
546
  } | {
526
547
  output: {
527
548
  error: {
528
- code: "param_invalid";
549
+ code: "forbidden";
529
550
  details?: readonly Response.error.Detail[] | undefined;
530
551
  message: string;
531
552
  };
532
553
  requestId: string;
533
554
  };
534
555
  outputFormat: "json";
535
- status: 400;
556
+ status: 403;
536
557
  input: {
537
558
  param: {
538
559
  orgId: string;
@@ -542,14 +563,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
542
563
  } | {
543
564
  output: {
544
565
  error: {
545
- code: "forbidden";
566
+ code: "organization_not_found";
546
567
  details?: readonly Response.error.Detail[] | undefined;
547
568
  message: string;
548
569
  };
549
570
  requestId: string;
550
571
  };
551
572
  outputFormat: "json";
552
- status: 403;
573
+ status: 404;
553
574
  input: {
554
575
  param: {
555
576
  orgId: string;
@@ -559,14 +580,14 @@ export declare function members(): import("hono/hono-base").HonoBase<App.Environ
559
580
  } | {
560
581
  output: {
561
582
  error: {
562
- code: "organization_not_found";
583
+ code: "param_invalid";
563
584
  details?: readonly Response.error.Detail[] | undefined;
564
585
  message: string;
565
586
  };
566
587
  requestId: string;
567
588
  };
568
589
  outputFormat: "json";
569
- status: 404;
590
+ status: 400;
570
591
  input: {
571
592
  param: {
572
593
  orgId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAIzD,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IACtB,yBAAyB;IAClB,MAAM,IAAI;;;;MAEwD,CAAA;IAEzE,0EAA0E;IACnE,MAAM,MAAM;;;;;;;;;;qBA6BlB,CAAA;IAED,sEAAsE;IAC/D,MAAM,MAAM;;qBASmD,CAAA;IAEtE,6CAA6C;IACtC,MAAM,YAAY;;;qBAe8B,CAAA;IAEvD,6CAA6C;IACtC,MAAM,UAAU;;;;;;qBAEqC,CAAA;IAE5D,6CAA6C;IAC7C,UAAiB,WAAW,CAAC;QAC3B,uDAAuD;QAChD,MAAM,QAAQ;;;;;;;;;;;;yBAKpB,CAAA;KACF;IAED,8CAA8C;IAC9C,UAAiB,YAAY,CAAC;QAC5B,gDAAgD;QACzC,MAAM,QAAQ;;yBAS4C,CAAA;KAClE;CACF;AAED;;;;GAIG;AACH,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFAqKtB"}
1
+ {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAIzD,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IACtB,yBAAyB;IAClB,MAAM,IAAI;;;;MAEwD,CAAA;IAEzE,0EAA0E;IACnE,MAAM,MAAM;;;;;;;;;;qBAgClB,CAAA;IAED,sEAAsE;IAC/D,MAAM,MAAM;;qBASmD,CAAA;IAEtE,6CAA6C;IACtC,MAAM,YAAY;;;qBAe8B,CAAA;IAEvD,6CAA6C;IACtC,MAAM,mBAAmB;;;;;;qBAG/B,CAAA;IAED,6CAA6C;IAC7C,UAAiB,WAAW,CAAC;QAC3B,uDAAuD;QAChD,MAAM,QAAQ;;;;;;;;;;;;yBAUpB,CAAA;KACF;IAED,8CAA8C;IAC9C,UAAiB,YAAY,CAAC;QAC5B,gDAAgD;QACzC,MAAM,QAAQ;;yBAYpB,CAAA;KACF;CACF;AAED;;;;GAIG;AACH,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFAuLtB"}
@@ -15,21 +15,21 @@ export var schema;
15
15
  .enum(Memberships.roles)
16
16
  .check(z.describe('Membership role.'), z.meta({ examples: ['admin'] }));
17
17
  /** One organization member: the membership plus the member's identity. */
18
- schema.Member = Schema.describe(z.object({
18
+ schema.Member = OpenApi.component(Schema.describe(z.object({
19
19
  address: z
20
- .optional(z.string())
20
+ .optional(z.templateLiteral(['0x', z.string().check(z.regex(/^[0-9a-fA-F]{40}$/))]))
21
21
  .check(z.describe("The member's wallet address, when wallet sign-in established it."), z.meta({ examples: ['0x20f414b3cbcf1fd8e8f5e1c1c2e3d4a5b6c7d8e9'] })),
22
- createdAt: z
23
- .string()
22
+ createdAt: z.iso
23
+ .datetime()
24
24
  .check(z.describe('When the member joined (ISO 8601).'), z.meta({ examples: ['2026-01-01T00:00:00.000Z'] })),
25
25
  email: z
26
- .optional(z.string())
26
+ .optional(z.email())
27
27
  .check(z.describe("The member's verified email, when known."), z.meta({ examples: ['dev@example.com'] })),
28
28
  role: schema.Role,
29
29
  userId: z
30
30
  .string()
31
31
  .check(z.describe('Member user id (`usr_…`).'), z.meta({ examples: ['usr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
32
- }), "One organization member: the membership plus the member's identity.");
32
+ }), "One organization member: the membership plus the member's identity."), 'Member');
33
33
  /** Path parameters addressing an organization's member collection. */
34
34
  schema.Params = z
35
35
  .object({
@@ -50,28 +50,28 @@ export var schema;
50
50
  })
51
51
  .check(z.describe('Path parameters for one member.'));
52
52
  /** Request body changing a member's role. */
53
- schema.MemberBody = z
54
- .object({ role: schema.Role })
55
- .check(z.describe("Fields for changing a member's role."));
53
+ schema.UpdateMemberRequest = OpenApi.component(z.object({ role: schema.Role }).check(z.describe("Fields for changing a member's role.")), 'UpdateMemberRequest');
56
54
  /** Schemas for the listMembers operation. */
57
55
  let listMembers;
58
56
  (function (listMembers) {
59
57
  /** Non-paginated list of an organization's members. */
60
- listMembers.Response = Schema.describe(z.object({
61
- data: z.array(schema.Member).check(z.describe('The members, oldest first.')),
62
- }), "A non-paginated list of an organization's members.");
58
+ listMembers.Response = OpenApi.component(Schema.describe(z.object({
59
+ data: z
60
+ .array(schema.Member)
61
+ .check(z.describe('The members, oldest first.'), z.meta({ examples: [[]] })),
62
+ }), "A non-paginated list of an organization's members."), 'MemberList');
63
63
  })(listMembers = schema.listMembers || (schema.listMembers = {}));
64
64
  /** Schemas for the removeMember operation. */
65
65
  let removeMember;
66
66
  (function (removeMember) {
67
67
  /** Confirmation that the member was removed. */
68
- removeMember.Response = z
68
+ removeMember.Response = OpenApi.component(z
69
69
  .object({
70
70
  userId: z
71
71
  .string()
72
72
  .check(z.describe('User id (`usr_…`) of the removed member.'), z.meta({ examples: ['usr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
73
73
  })
74
- .check(z.describe('Confirmation that the member was removed.'));
74
+ .check(z.describe('Confirmation that the member was removed.')), 'RemoveMemberResponse');
75
75
  })(removeMember = schema.removeMember || (schema.removeMember = {}));
76
76
  })(schema || (schema = {}));
77
77
  /**
@@ -87,7 +87,13 @@ export function members() {
87
87
  }), OpenApi.describeRoute({
88
88
  operationId: 'listMembers',
89
89
  responses: OpenApi.responses({
90
- errors: { 404: 'No accessible organization was found for this id.' },
90
+ errors: {
91
+ 400: { codes: ['param_invalid'], description: 'Malformed API key or invalid path.' },
92
+ 404: {
93
+ codes: ['organization_not_found'],
94
+ description: 'No accessible organization was found for this id.',
95
+ },
96
+ },
91
97
  success: {
92
98
  description: 'The members, oldest first.',
93
99
  schema: schema.listMembers.Response,
@@ -119,7 +125,7 @@ export function members() {
119
125
  .patch('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/members/:userId{usr_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['management:write'] }, session: true }), Auth.ensureOrg({ role: 'owner' }), OpenApi.validate('param', schema.MemberParams, {
120
126
  code: 'param_invalid',
121
127
  message: 'Check the path parameters and try again.',
122
- }), OpenApi.validate('json', schema.MemberBody, {
128
+ }), OpenApi.validate('json', schema.UpdateMemberRequest, {
123
129
  code: 'body_invalid',
124
130
  message: 'Check the request body and try again.',
125
131
  }), OpenApi.describeRoute({
@@ -127,7 +133,14 @@ export function members() {
127
133
  operationId: 'updateMember',
128
134
  responses: OpenApi.responses({
129
135
  errors: {
130
- 404: 'No accessible member was found for this id.',
136
+ 400: {
137
+ codes: ['body_invalid', 'param_invalid'],
138
+ description: 'Malformed API key, invalid path, or invalid body.',
139
+ },
140
+ 404: {
141
+ codes: ['member_not_found', 'organization_not_found'],
142
+ description: 'No accessible organization or member was found for this id.',
143
+ },
131
144
  409: {
132
145
  codes: ['last_owner'],
133
146
  description: 'The organization would be left without an owner.',
@@ -142,6 +155,8 @@ export function members() {
142
155
  return Auth.accessError(c);
143
156
  if (Auth.narrowScope)
144
157
  return Auth.ensureOrgError(c);
158
+ if (Auth.narrowOrgRole)
159
+ return Auth.ensureOrgRoleError(c);
145
160
  if (OpenApi.narrowValidation)
146
161
  return OpenApi.validationError(c, {
147
162
  code: 'param_invalid',
@@ -178,7 +193,11 @@ export function members() {
178
193
  operationId: 'removeMember',
179
194
  responses: OpenApi.responses({
180
195
  errors: {
181
- 404: 'No accessible member was found for this id.',
196
+ 400: { codes: ['param_invalid'], description: 'Malformed API key or invalid path.' },
197
+ 404: {
198
+ codes: ['member_not_found', 'organization_not_found'],
199
+ description: 'No accessible organization or member was found for this id.',
200
+ },
182
201
  409: {
183
202
  codes: ['last_owner'],
184
203
  description: 'The organization would be left without an owner.',
@@ -1 +1 @@
1
- {"version":3,"file":"members.js","sourceRoot":"","sources":["../../../../src/apps/management/routes/members.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"members.js","sourceRoot":"","sources":["../../../../src/apps/management/routes/members.ts"],"names":[],"mappings":"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"}