@polyester/sdk 0.4.0 → 0.4.2

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 (296) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/_virtual/_rolldown/runtime.js +1 -15
  3. package/dist/catalogs/snapshot-validation.js +63 -63
  4. package/dist/catalogs/snapshot-validation.js.map +1 -1
  5. package/dist/core-client.d.ts +9 -0
  6. package/dist/core-client.d.ts.map +1 -1
  7. package/dist/core-client.js +21 -0
  8. package/dist/core-client.js.map +1 -1
  9. package/dist/gen/fees/v1/fees_pb.d.ts +124 -0
  10. package/dist/gen/fees/v1/fees_pb.d.ts.map +1 -0
  11. package/dist/gen/fees/v1/fees_pb.js +39 -0
  12. package/dist/gen/fees/v1/fees_pb.js.map +1 -0
  13. package/dist/gen/index.d.ts +4 -1
  14. package/dist/gen/index.js +4 -1
  15. package/dist/gen/ratelimit/v1/ratelimit_pb.d.ts +223 -0
  16. package/dist/gen/ratelimit/v1/ratelimit_pb.d.ts.map +1 -0
  17. package/dist/gen/ratelimit/v1/ratelimit_pb.js +86 -0
  18. package/dist/gen/ratelimit/v1/ratelimit_pb.js.map +1 -0
  19. package/dist/gen/vip/v1/vip_pb.d.ts +277 -0
  20. package/dist/gen/vip/v1/vip_pb.d.ts.map +1 -0
  21. package/dist/gen/vip/v1/vip_pb.js +60 -0
  22. package/dist/gen/vip/v1/vip_pb.js.map +1 -0
  23. package/dist/index.d.ts +8 -1
  24. package/dist/services/accounts/accounts.js +1 -1
  25. package/dist/services/accounts/accounts.js.map +1 -1
  26. package/dist/services/accounts/accounts.schemas.d.ts +13 -13
  27. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
  28. package/dist/services/accounts/accounts.schemas.js +11 -11
  29. package/dist/services/accounts/accounts.schemas.js.map +1 -1
  30. package/dist/services/address-book/address-book.js.map +1 -1
  31. package/dist/services/address-book/address-book.schemas.d.ts +751 -751
  32. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  33. package/dist/services/address-book/address-book.schemas.js +160 -159
  34. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  35. package/dist/services/api-keys/api-keys.d.ts +6 -6
  36. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  37. package/dist/services/api-keys/api-keys.js.map +1 -1
  38. package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
  39. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
  40. package/dist/services/api-keys/api-keys.schemas.js +34 -34
  41. package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
  42. package/dist/services/auth/auth.d.ts +39 -39
  43. package/dist/services/auth/auth.d.ts.map +1 -1
  44. package/dist/services/auth/auth.js +19 -18
  45. package/dist/services/auth/auth.js.map +1 -1
  46. package/dist/services/auth/profile/profile.d.ts +2 -2
  47. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  48. package/dist/services/auth/profile/profile.js +3 -2
  49. package/dist/services/auth/profile/profile.js.map +1 -1
  50. package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
  51. package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
  52. package/dist/services/auth/profile/profile.schemas.js +27 -27
  53. package/dist/services/auth/profile/profile.schemas.js.map +1 -1
  54. package/dist/services/auth/session.schemas.js +17 -17
  55. package/dist/services/auth/session.schemas.js.map +1 -1
  56. package/dist/services/balances/balances.d.ts.map +1 -1
  57. package/dist/services/balances/balances.js +3 -2
  58. package/dist/services/balances/balances.js.map +1 -1
  59. package/dist/services/balances/balances.schemas.d.ts +95 -95
  60. package/dist/services/balances/balances.schemas.d.ts.map +1 -1
  61. package/dist/services/balances/balances.schemas.js +61 -61
  62. package/dist/services/balances/balances.schemas.js.map +1 -1
  63. package/dist/services/candles/candles.d.ts.map +1 -1
  64. package/dist/services/candles/candles.js +5 -4
  65. package/dist/services/candles/candles.js.map +1 -1
  66. package/dist/services/candles/candles.schemas.d.ts +64 -64
  67. package/dist/services/candles/candles.schemas.d.ts.map +1 -1
  68. package/dist/services/candles/candles.schemas.js +47 -47
  69. package/dist/services/candles/candles.schemas.js.map +1 -1
  70. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  71. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
  72. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
  73. package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
  74. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
  75. package/dist/services/deposit/deposit.js.map +1 -1
  76. package/dist/services/deposit/deposit.schemas.d.ts +17 -17
  77. package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
  78. package/dist/services/deposit/deposit.schemas.js +11 -11
  79. package/dist/services/deposit/deposit.schemas.js.map +1 -1
  80. package/dist/services/fees/fees.d.ts +19 -0
  81. package/dist/services/fees/fees.d.ts.map +1 -0
  82. package/dist/services/fees/fees.js +32 -0
  83. package/dist/services/fees/fees.js.map +1 -0
  84. package/dist/services/fees/fees.schemas.d.ts +28 -0
  85. package/dist/services/fees/fees.schemas.d.ts.map +1 -0
  86. package/dist/services/fees/fees.schemas.js +25 -0
  87. package/dist/services/fees/fees.schemas.js.map +1 -0
  88. package/dist/services/fees/fees.types.d.ts +2 -0
  89. package/dist/services/fees/index.d.ts +3 -0
  90. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  91. package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
  92. package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
  93. package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
  94. package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
  95. package/dist/services/heatmap/heatmap.d.ts.map +1 -1
  96. package/dist/services/heatmap/heatmap.js +5 -4
  97. package/dist/services/heatmap/heatmap.js.map +1 -1
  98. package/dist/services/heatmap/heatmap.schemas.d.ts +138 -138
  99. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
  100. package/dist/services/heatmap/heatmap.schemas.js +47 -47
  101. package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
  102. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  103. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
  104. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
  105. package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
  106. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
  107. package/dist/services/lifecycle/lifecycle.d.ts.map +1 -1
  108. package/dist/services/lifecycle/lifecycle.js +3 -2
  109. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  110. package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
  111. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
  112. package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
  113. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
  114. package/dist/services/market-data/market-data.d.ts.map +1 -1
  115. package/dist/services/market-data/market-data.js +4 -3
  116. package/dist/services/market-data/market-data.js.map +1 -1
  117. package/dist/services/market-data/market-data.schemas.d.ts +19 -19
  118. package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
  119. package/dist/services/market-data/market-data.schemas.js +50 -50
  120. package/dist/services/market-data/market-data.schemas.js.map +1 -1
  121. package/dist/services/market-overview/market-overview.d.ts.map +1 -1
  122. package/dist/services/market-overview/market-overview.js +3 -2
  123. package/dist/services/market-overview/market-overview.js.map +1 -1
  124. package/dist/services/market-overview/market-overview.schemas.d.ts +37 -37
  125. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
  126. package/dist/services/market-overview/market-overview.schemas.js +33 -33
  127. package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
  128. package/dist/services/mfa/mfa.js +1 -1
  129. package/dist/services/mfa/mfa.js.map +1 -1
  130. package/dist/services/mfa/mfa.schemas.d.ts +206 -206
  131. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  132. package/dist/services/mfa/mfa.schemas.js +83 -83
  133. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  134. package/dist/services/orderbook/orderbook.d.ts +2 -2
  135. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  136. package/dist/services/orderbook/orderbook.js +3 -2
  137. package/dist/services/orderbook/orderbook.js.map +1 -1
  138. package/dist/services/orderbook/orderbook.schemas.d.ts +23 -23
  139. package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
  140. package/dist/services/orderbook/orderbook.schemas.js +15 -15
  141. package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
  142. package/dist/services/orders/order-errors.schemas.d.ts +18 -18
  143. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
  144. package/dist/services/orders/order-errors.schemas.js +8 -8
  145. package/dist/services/orders/order-errors.schemas.js.map +1 -1
  146. package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
  147. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  148. package/dist/services/orders/orders-batch.schemas.js +117 -117
  149. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  150. package/dist/services/orders/orders-identifiers.schemas.js +5 -5
  151. package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
  152. package/dist/services/orders/orders-input.schemas.d.ts +648 -648
  153. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
  154. package/dist/services/orders/orders-input.schemas.js +95 -95
  155. package/dist/services/orders/orders-input.schemas.js.map +1 -1
  156. package/dist/services/orders/orders-modify.schemas.d.ts +351 -351
  157. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  158. package/dist/services/orders/orders-modify.schemas.js +44 -44
  159. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  160. package/dist/services/orders/orders-output.schemas.d.ts +179 -179
  161. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
  162. package/dist/services/orders/orders-output.schemas.js +49 -49
  163. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  164. package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
  165. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
  166. package/dist/services/orders/orders-risk.schemas.js +69 -69
  167. package/dist/services/orders/orders-risk.schemas.js.map +1 -1
  168. package/dist/services/orders/orders.d.ts +6 -6
  169. package/dist/services/orders/orders.d.ts.map +1 -1
  170. package/dist/services/orders/orders.js +4 -3
  171. package/dist/services/orders/orders.js.map +1 -1
  172. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
  173. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  174. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  175. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +105 -105
  176. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
  177. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
  178. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
  179. package/dist/services/policies/shared.d.ts +5 -5
  180. package/dist/services/policies/shared.d.ts.map +1 -1
  181. package/dist/services/policies/shared.js +10 -10
  182. package/dist/services/policies/shared.js.map +1 -1
  183. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
  184. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  185. package/dist/services/policies/subaccount-policies/subaccount-policies.js +3 -2
  186. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  187. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
  188. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  189. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
  190. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  191. package/dist/services/rate-limits/index.d.ts +4 -0
  192. package/dist/services/rate-limits/rate-limits.codecs.d.ts +6 -0
  193. package/dist/services/rate-limits/rate-limits.codecs.d.ts.map +1 -0
  194. package/dist/services/rate-limits/rate-limits.codecs.js +11 -0
  195. package/dist/services/rate-limits/rate-limits.codecs.js.map +1 -0
  196. package/dist/services/rate-limits/rate-limits.d.ts +24 -0
  197. package/dist/services/rate-limits/rate-limits.d.ts.map +1 -0
  198. package/dist/services/rate-limits/rate-limits.js +40 -0
  199. package/dist/services/rate-limits/rate-limits.js.map +1 -0
  200. package/dist/services/rate-limits/rate-limits.schemas.d.ts +58 -0
  201. package/dist/services/rate-limits/rate-limits.schemas.d.ts.map +1 -0
  202. package/dist/services/rate-limits/rate-limits.schemas.js +30 -0
  203. package/dist/services/rate-limits/rate-limits.schemas.js.map +1 -0
  204. package/dist/services/rate-limits/rate-limits.types.d.ts +3 -0
  205. package/dist/services/shared.js +11 -11
  206. package/dist/services/shared.js.map +1 -1
  207. package/dist/services/social-verification/social-verification.d.ts +3 -3
  208. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  209. package/dist/services/social-verification/social-verification.js.map +1 -1
  210. package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
  211. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
  212. package/dist/services/social-verification/social-verification.schemas.js +28 -28
  213. package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
  214. package/dist/services/subaccounts/subaccounts.d.ts +14 -14
  215. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  216. package/dist/services/subaccounts/subaccounts.js +9 -8
  217. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  218. package/dist/services/subaccounts/subaccounts.schemas.d.ts +137 -137
  219. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
  220. package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
  221. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
  222. package/dist/services/trades/trades.d.ts +2 -2
  223. package/dist/services/trades/trades.d.ts.map +1 -1
  224. package/dist/services/trades/trades.js +3 -2
  225. package/dist/services/trades/trades.js.map +1 -1
  226. package/dist/services/trades/trades.schemas.d.ts +31 -31
  227. package/dist/services/trades/trades.schemas.d.ts.map +1 -1
  228. package/dist/services/trades/trades.schemas.js +24 -24
  229. package/dist/services/trades/trades.schemas.js.map +1 -1
  230. package/dist/services/trading-withdraws/trading-withdraws.js +1 -1
  231. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  232. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
  233. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
  234. package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
  235. package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
  236. package/dist/services/transfers/transfers.d.ts.map +1 -1
  237. package/dist/services/transfers/transfers.js +3 -2
  238. package/dist/services/transfers/transfers.js.map +1 -1
  239. package/dist/services/transfers/transfers.schemas.d.ts +42 -42
  240. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
  241. package/dist/services/transfers/transfers.schemas.js +30 -30
  242. package/dist/services/transfers/transfers.schemas.js.map +1 -1
  243. package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
  244. package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
  245. package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
  246. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
  247. package/dist/services/triggers/trigger-input.schemas.js +53 -53
  248. package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
  249. package/dist/services/triggers/triggers-output.schemas.d.ts +218 -218
  250. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  251. package/dist/services/triggers/triggers-output.schemas.js +152 -152
  252. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  253. package/dist/services/triggers/triggers.d.ts.map +1 -1
  254. package/dist/services/triggers/triggers.js +4 -3
  255. package/dist/services/triggers/triggers.js.map +1 -1
  256. package/dist/services/vip/index.d.ts +3 -0
  257. package/dist/services/vip/vip.d.ts +22 -0
  258. package/dist/services/vip/vip.d.ts.map +1 -0
  259. package/dist/services/vip/vip.js +35 -0
  260. package/dist/services/vip/vip.js.map +1 -0
  261. package/dist/services/vip/vip.schemas.d.ts +90 -0
  262. package/dist/services/vip/vip.schemas.d.ts.map +1 -0
  263. package/dist/services/vip/vip.schemas.js +47 -0
  264. package/dist/services/vip/vip.schemas.js.map +1 -0
  265. package/dist/services/vip/vip.types.d.ts +2 -0
  266. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  267. package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
  268. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
  269. package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
  270. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
  271. package/dist/services/zipper/zipper.js.map +1 -1
  272. package/dist/services/zipper/zipper.schemas.d.ts +1 -1
  273. package/dist/services/zipper/zipper.schemas.js +54 -54
  274. package/dist/services/zipper/zipper.schemas.js.map +1 -1
  275. package/dist/shared/account-scope.d.ts +6 -6
  276. package/dist/shared/account-scope.d.ts.map +1 -1
  277. package/dist/shared/account-scope.js +3 -3
  278. package/dist/shared/account-scope.js.map +1 -1
  279. package/dist/shared/connect-error-mapping.js +2 -2
  280. package/dist/shared/connect-error-mapping.js.map +1 -1
  281. package/dist/shared/rate-limit.schemas.d.ts +12 -12
  282. package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
  283. package/dist/shared/rate-limit.schemas.js +7 -7
  284. package/dist/shared/rate-limit.schemas.js.map +1 -1
  285. package/dist/shared/schemas.js +26 -26
  286. package/dist/shared/schemas.js.map +1 -1
  287. package/dist/shared/validation.js +1 -6
  288. package/dist/shared/validation.js.map +1 -1
  289. package/dist/utils/connect-order-errors.js +2 -2
  290. package/dist/utils/connect-order-errors.js.map +1 -1
  291. package/dist/wired-services.d.ts.map +1 -1
  292. package/dist/wired-services.js +6 -0
  293. package/dist/wired-services.js.map +1 -1
  294. package/package.json +3 -3
  295. package/dist/shared/validation.d.ts +0 -14
  296. package/dist/shared/validation.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService","v.parse"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as v from \"../../../shared/validation.js\";\nimport { removeUndefined } from \"../../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../../shared/request-options.js\";\nimport {\n ApiKeyPolicySchema,\n ListApiKeyPoliciesResponseSchema,\n CreateApiKeyPolicyInputSchema,\n UpdateApiKeyPolicyInputSchema,\n ApplyApiKeyPolicyInputSchema,\n DEFAULT_API_KEY_POLICY,\n type ApiKeyPolicy,\n ListApiKeyPoliciesInputSchema,\n GetApiKeyPolicyInputSchema,\n} from \"./api-key-policies.schemas.js\";\nimport { PolicyIdSchema } from \"../shared.js\";\n\n/**\n * Manages reusable API key policy templates and their assignment to API keys.\n */\nexport class ApiKeyPoliciesService {\n #client: Client<typeof Proto.PolicyService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.PolicyService, transport);\n }\n\n /**\n * Returns API key policy templates available to the caller.\n */\n async list(\n input: v.InferInput<typeof ListApiKeyPoliciesInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy[]> {\n const request = v.parse(ListApiKeyPoliciesInputSchema, input);\n const res = await this.#client.listApiPolicies(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(ListApiKeyPoliciesResponseSchema, res);\n }\n\n /**\n * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.\n */\n async get(\n input: v.InferInput<typeof GetApiKeyPolicyInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy> {\n const { policyId, keyId } = v.parse(GetApiKeyPolicyInputSchema, input);\n if (!policyId) return DEFAULT_API_KEY_POLICY;\n const res = await this.#client.getApiPolicy(\n removeUndefined({ policyId, keyId }),\n toConnectCallOptions(options),\n );\n if (!res.policy) return DEFAULT_API_KEY_POLICY;\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.\n */\n async create(\n input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(CreateApiKeyPolicyInputSchema, input);\n const res = await this.#client.createApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to create API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Updates selected API key policy fields using optimistic concurrency.\n */\n async update(\n input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(UpdateApiKeyPolicyInputSchema, input);\n const res = await this.#client.updateApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to update API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Deletes an API key policy template when it is not in use.\n */\n async delete(policyId: string, options?: PolyesterMutationOptions): Promise<void> {\n const validatedPolicyId = v.parse(PolicyIdSchema, policyId);\n await this.#client.deleteApiPolicy(\n { policyId: validatedPolicyId },\n toConnectCallOptions(options),\n );\n }\n\n /**\n * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.\n */\n async apply(\n input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = v.parse(ApplyApiKeyPolicyInputSchema, input);\n await this.#client.setApiKeyPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,wBAAb,MAAmC;CAC/B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,eAAqB,SAAS;CAC9D;;;;CAKA,MAAM,KACF,QAA4D,CAAC,GAC7D,SACuB;EACvB,MAAM,UAAUC,MAAQ,+BAA+B,KAAK;EAC5D,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,kCAAkC,GAAG;CACxD;;;;CAKA,MAAM,IACF,OACA,SACqB;EACrB,MAAM,EAAE,UAAU,UAAUA,MAAQ,4BAA4B,KAAK;EACrE,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,MAAM,MAAM,KAAKF,QAAQ,aAC3B,gBAAgB;GAAE;GAAU;EAAM,CAAC,GACnC,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,OAAO;EACxB,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OAAO,UAAkB,SAAmD;EAC9E,MAAM,oBAAoBA,MAAQ,gBAAgB,QAAQ;EAC1D,MAAM,KAAKF,QAAQ,gBACf,EAAE,UAAU,kBAAkB,GAC9B,qBAAqB,OAAO,CAChC;CACJ;;;;CAKA,MAAM,MACF,OACA,SACa;EACb,MAAM,iBAAiBE,MAAQ,8BAA8B,KAAK;EAClE,MAAM,KAAKF,QAAQ,gBACf,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;CACJ;AACJ"}
1
+ {"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport type * as v from \"valibot\";\nimport { parse } from \"../../../shared/validation.js\";\nimport { removeUndefined } from \"../../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../../shared/request-options.js\";\nimport {\n ApiKeyPolicySchema,\n ListApiKeyPoliciesResponseSchema,\n CreateApiKeyPolicyInputSchema,\n UpdateApiKeyPolicyInputSchema,\n ApplyApiKeyPolicyInputSchema,\n DEFAULT_API_KEY_POLICY,\n type ApiKeyPolicy,\n ListApiKeyPoliciesInputSchema,\n GetApiKeyPolicyInputSchema,\n} from \"./api-key-policies.schemas.js\";\nimport { PolicyIdSchema } from \"../shared.js\";\n\n/**\n * Manages reusable API key policy templates and their assignment to API keys.\n */\nexport class ApiKeyPoliciesService {\n #client: Client<typeof Proto.PolicyService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.PolicyService, transport);\n }\n\n /**\n * Returns API key policy templates available to the caller.\n */\n async list(\n input: v.InferInput<typeof ListApiKeyPoliciesInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy[]> {\n const request = parse(ListApiKeyPoliciesInputSchema, input);\n const res = await this.#client.listApiPolicies(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(ListApiKeyPoliciesResponseSchema, res);\n }\n\n /**\n * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.\n */\n async get(\n input: v.InferInput<typeof GetApiKeyPolicyInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy> {\n const { policyId, keyId } = parse(GetApiKeyPolicyInputSchema, input);\n if (!policyId) return DEFAULT_API_KEY_POLICY;\n const res = await this.#client.getApiPolicy(\n removeUndefined({ policyId, keyId }),\n toConnectCallOptions(options),\n );\n if (!res.policy) return DEFAULT_API_KEY_POLICY;\n return parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.\n */\n async create(\n input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = parse(CreateApiKeyPolicyInputSchema, input);\n const res = await this.#client.createApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to create API key policy\");\n return parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Updates selected API key policy fields using optimistic concurrency.\n */\n async update(\n input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = parse(UpdateApiKeyPolicyInputSchema, input);\n const res = await this.#client.updateApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to update API key policy\");\n return parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Deletes an API key policy template when it is not in use.\n */\n async delete(policyId: string, options?: PolyesterMutationOptions): Promise<void> {\n const validatedPolicyId = parse(PolicyIdSchema, policyId);\n await this.#client.deleteApiPolicy(\n { policyId: validatedPolicyId },\n toConnectCallOptions(options),\n );\n }\n\n /**\n * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.\n */\n async apply(\n input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = parse(ApplyApiKeyPolicyInputSchema, input);\n await this.#client.setApiKeyPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AA0BA,IAAa,wBAAb,MAAmC;CAC/B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,eAAqB,SAAS;CAC9D;;;;CAKA,MAAM,KACF,QAA4D,CAAC,GAC7D,SACuB;EACvB,MAAM,UAAU,MAAM,+BAA+B,KAAK;EAC1D,MAAM,MAAM,MAAM,KAAKD,QAAQ,gBAC3B,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,kCAAkC,GAAG;CACtD;;;;CAKA,MAAM,IACF,OACA,SACqB;EACrB,MAAM,EAAE,UAAU,UAAU,MAAM,4BAA4B,KAAK;EACnE,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,MAAM,MAAM,KAAKA,QAAQ,aAC3B,gBAAgB;GAAE;GAAU;EAAM,CAAC,GACnC,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,OAAO;EACxB,OAAO,MAAM,oBAAoB,IAAI,MAAM;CAC/C;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiB,MAAM,+BAA+B,KAAK;EACjE,MAAM,MAAM,MAAM,KAAKA,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAO,MAAM,oBAAoB,IAAI,MAAM;CAC/C;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiB,MAAM,+BAA+B,KAAK;EACjE,MAAM,MAAM,MAAM,KAAKA,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAO,MAAM,oBAAoB,IAAI,MAAM;CAC/C;;;;CAKA,MAAM,OAAO,UAAkB,SAAmD;EAC9E,MAAM,oBAAoB,MAAM,gBAAgB,QAAQ;EACxD,MAAM,KAAKA,QAAQ,gBACf,EAAE,UAAU,kBAAkB,GAC9B,qBAAqB,OAAO,CAChC;CACJ;;;;CAKA,MAAM,MACF,OACA,SACa;EACb,MAAM,iBAAiB,MAAM,8BAA8B,KAAK;EAChE,MAAM,KAAKA,QAAQ,gBACf,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;CACJ;AACJ"}
@@ -1,14 +1,14 @@
1
- import { validation_d_exports } from "../../../shared/validation.js";
2
1
  import { MarketScope_Value, PolicyAction } from "../../../gen/auth/v1/policies_pb.js";
3
2
  import { DecodedEnum } from "../../../utils/types.js";
3
+ import * as v from "valibot";
4
4
  //#region src/services/policies/api-key-policies/api-key-policies.schemas.d.ts
5
- declare const ListApiKeyPoliciesInputSchema: validation_d_exports.StrictObjectSchema<{
6
- readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
5
+ declare const ListApiKeyPoliciesInputSchema: v.StrictObjectSchema<{
6
+ readonly keyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
7
7
  }, undefined>;
8
- declare const GetApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
9
- readonly policyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>, undefined>;
10
- readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
11
- }, undefined>, validation_d_exports.TransformAction<{
8
+ declare const GetApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
9
+ readonly policyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
10
+ readonly keyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
11
+ }, undefined>, v.TransformAction<{
12
12
  policyId?: string | undefined;
13
13
  keyId?: string | undefined;
14
14
  }, {
@@ -19,38 +19,38 @@ declare const GetApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<re
19
19
  * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.
20
20
  * Shape matches auth.v1.ApiPolicyView.
21
21
  */
22
- declare const ApiKeyPolicySchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
23
- readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
24
- readonly name: validation_d_exports.StringSchema<undefined>;
25
- readonly description: validation_d_exports.StringSchema<undefined>;
26
- readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
27
- readonly symbol: validation_d_exports.StringSchema<undefined>;
22
+ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
23
+ readonly id: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
24
+ readonly name: v.StringSchema<undefined>;
25
+ readonly description: v.StringSchema<undefined>;
26
+ readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
27
+ readonly symbol: v.StringSchema<undefined>;
28
28
  }, undefined>, undefined>, readonly []>;
29
- readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
30
- readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
31
- readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
32
- readonly symbol: validation_d_exports.StringSchema<undefined>;
33
- readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
29
+ readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
30
+ readonly perpMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
31
+ readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
32
+ readonly symbol: v.StringSchema<undefined>;
33
+ readonly maxLeverageX: v.NumberSchema<undefined>;
34
34
  }, undefined>, undefined>, readonly []>;
35
- readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
36
- readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
37
- readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
38
- readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
39
- readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
40
- readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
41
- readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
42
- readonly seconds: validation_d_exports.BigintSchema<undefined>;
43
- readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
44
- }, undefined>, validation_d_exports.TransformAction<{
35
+ readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
36
+ readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
37
+ readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
38
+ readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
39
+ readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
40
+ readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
41
+ readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
42
+ readonly seconds: v.BigintSchema<undefined>;
43
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
44
+ }, undefined>, v.TransformAction<{
45
45
  seconds: bigint;
46
46
  nanos: number;
47
47
  }, number>]>;
48
- readonly updatedAt: validation_d_exports.ObjectSchema<{
49
- readonly seconds: validation_d_exports.BigintSchema<undefined>;
50
- readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
48
+ readonly updatedAt: v.ObjectSchema<{
49
+ readonly seconds: v.BigintSchema<undefined>;
50
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
51
51
  }, undefined>;
52
- readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
53
- }, undefined>, validation_d_exports.TransformAction<{
52
+ readonly revision: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
53
+ }, undefined>, v.TransformAction<{
54
54
  id: string;
55
55
  name: string;
56
56
  description: string;
@@ -99,40 +99,40 @@ declare const ApiKeyPolicySchema: validation_d_exports.SchemaWithPipe<readonly [
99
99
  createdAt: number;
100
100
  revision: string;
101
101
  }>]>;
102
- type ApiKeyPolicy = validation_d_exports.InferOutput<typeof ApiKeyPolicySchema>;
103
- declare const ListApiKeyPoliciesResponseSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
104
- readonly policies: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
105
- readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
106
- readonly name: validation_d_exports.StringSchema<undefined>;
107
- readonly description: validation_d_exports.StringSchema<undefined>;
108
- readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
109
- readonly symbol: validation_d_exports.StringSchema<undefined>;
102
+ type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;
103
+ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
104
+ readonly policies: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
105
+ readonly id: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
106
+ readonly name: v.StringSchema<undefined>;
107
+ readonly description: v.StringSchema<undefined>;
108
+ readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
109
+ readonly symbol: v.StringSchema<undefined>;
110
110
  }, undefined>, undefined>, readonly []>;
111
- readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
112
- readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
113
- readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
114
- readonly symbol: validation_d_exports.StringSchema<undefined>;
115
- readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
111
+ readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
112
+ readonly perpMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
113
+ readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
114
+ readonly symbol: v.StringSchema<undefined>;
115
+ readonly maxLeverageX: v.NumberSchema<undefined>;
116
116
  }, undefined>, undefined>, readonly []>;
117
- readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
118
- readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
119
- readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
120
- readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
121
- readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
122
- readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
123
- readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
124
- readonly seconds: validation_d_exports.BigintSchema<undefined>;
125
- readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
126
- }, undefined>, validation_d_exports.TransformAction<{
117
+ readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
118
+ readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
119
+ readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
120
+ readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
121
+ readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
122
+ readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
123
+ readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
124
+ readonly seconds: v.BigintSchema<undefined>;
125
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
126
+ }, undefined>, v.TransformAction<{
127
127
  seconds: bigint;
128
128
  nanos: number;
129
129
  }, number>]>;
130
- readonly updatedAt: validation_d_exports.ObjectSchema<{
131
- readonly seconds: validation_d_exports.BigintSchema<undefined>;
132
- readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
130
+ readonly updatedAt: v.ObjectSchema<{
131
+ readonly seconds: v.BigintSchema<undefined>;
132
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
133
133
  }, undefined>;
134
- readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
135
- }, undefined>, validation_d_exports.TransformAction<{
134
+ readonly revision: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
135
+ }, undefined>, v.TransformAction<{
136
136
  id: string;
137
137
  name: string;
138
138
  description: string;
@@ -181,7 +181,7 @@ declare const ListApiKeyPoliciesResponseSchema: validation_d_exports.SchemaWithP
181
181
  createdAt: number;
182
182
  revision: string;
183
183
  }>]>, undefined>, readonly []>;
184
- }, undefined>, validation_d_exports.TransformAction<{
184
+ }, undefined>, v.TransformAction<{
185
185
  policies: {
186
186
  updatedAt: number;
187
187
  updatedAtNs: string;
@@ -230,26 +230,26 @@ declare const ListApiKeyPoliciesResponseSchema: validation_d_exports.SchemaWithP
230
230
  createdAt: number;
231
231
  revision: string;
232
232
  }[]>]>;
233
- type ListApiKeyPoliciesResponse = validation_d_exports.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;
234
- declare const CreateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
235
- readonly name: validation_d_exports.StringSchema<undefined>;
236
- readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
237
- readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
238
- readonly symbol: validation_d_exports.StringSchema<undefined>;
233
+ type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;
234
+ declare const CreateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
235
+ readonly name: v.StringSchema<undefined>;
236
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
237
+ readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
238
+ readonly symbol: v.StringSchema<undefined>;
239
239
  }, undefined>, undefined>, readonly []>;
240
- readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
241
- readonly symbol: validation_d_exports.StringSchema<undefined>;
242
- readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
240
+ readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
241
+ readonly symbol: v.StringSchema<undefined>;
242
+ readonly maxLeverageX: v.NumberSchema<undefined>;
243
243
  }, undefined>, undefined>, readonly []>;
244
- readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
245
- readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
246
- readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
247
- readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
248
- readonly dailyInternalTransferLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
249
- readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
250
- readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
251
- readonly assignToKeyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>;
252
- }, undefined>, validation_d_exports.TransformAction<{
244
+ readonly spotMarketScope: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["all", "allowlist"], undefined>, v.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
245
+ readonly perpMarketScope: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["all", "allowlist"], undefined>, v.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
246
+ readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, v.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
247
+ readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
248
+ readonly dailyInternalTransferLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
249
+ readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
250
+ readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
251
+ readonly assignToKeyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>;
252
+ }, undefined>, v.TransformAction<{
253
253
  name: string;
254
254
  description: string;
255
255
  spotMarkets: {
@@ -288,27 +288,27 @@ declare const CreateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe
288
288
  };
289
289
  assignToKeyId: string | undefined;
290
290
  }>]>;
291
- type ApiKeyPolicyCreateInput = validation_d_exports.InferInput<typeof CreateApiKeyPolicyInputSchema>;
292
- declare const UpdateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
293
- readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TransformAction<string, bigint>]>;
294
- readonly expectedRevision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, validation_d_exports.RegexAction<string, `${string} must be a decimal integer`>, validation_d_exports.TransformAction<string, bigint>]>, validation_d_exports.CheckAction<bigint, `${string} must be greater than 0`>]>;
295
- readonly name: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
296
- readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
297
- readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
298
- readonly symbol: validation_d_exports.StringSchema<undefined>;
291
+ type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;
292
+ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
293
+ readonly policyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, bigint>]>;
294
+ readonly expectedRevision: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, v.RegexAction<string, `${string} must be a decimal integer`>, v.TransformAction<string, bigint>]>, v.CheckAction<bigint, `${string} must be greater than 0`>]>;
295
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
296
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
297
+ readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
298
+ readonly symbol: v.StringSchema<undefined>;
299
299
  }, undefined>, undefined>, undefined>;
300
- readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
301
- readonly symbol: validation_d_exports.StringSchema<undefined>;
302
- readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
300
+ readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
301
+ readonly symbol: v.StringSchema<undefined>;
302
+ readonly maxLeverageX: v.NumberSchema<undefined>;
303
303
  }, undefined>, undefined>, undefined>;
304
- readonly spotMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
305
- readonly perpMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
306
- readonly actions: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
307
- readonly maxOrderNotional: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
308
- readonly dailyInternalTransferLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
309
- readonly dailyWithdrawLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
310
- readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, undefined>;
311
- }, undefined>, validation_d_exports.CheckAction<{
304
+ readonly spotMarketScope: v.OptionalSchema<v.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
305
+ readonly perpMarketScope: v.OptionalSchema<v.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
306
+ readonly actions: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
307
+ readonly maxOrderNotional: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
308
+ readonly dailyInternalTransferLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
309
+ readonly dailyWithdrawLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
310
+ readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
311
+ }, undefined>, v.CheckAction<{
312
312
  policyId: bigint;
313
313
  expectedRevision: bigint;
314
314
  name?: string | undefined;
@@ -327,7 +327,7 @@ declare const UpdateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe
327
327
  dailyInternalTransferLimit?: number | null | undefined;
328
328
  dailyWithdrawLimit?: number | null | undefined;
329
329
  isTemplate?: boolean | undefined;
330
- }, "At least one API key policy field must be provided">, validation_d_exports.TransformAction<{
330
+ }, "At least one API key policy field must be provided">, v.TransformAction<{
331
331
  policyId: bigint;
332
332
  expectedRevision: bigint;
333
333
  name?: string | undefined;
@@ -381,12 +381,12 @@ declare const UpdateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe
381
381
  };
382
382
  expectedRevision: bigint;
383
383
  }>]>;
384
- type ApiKeyPolicyUpdateInput = validation_d_exports.InferInput<typeof UpdateApiKeyPolicyInputSchema>;
385
- declare const ApplyApiKeyPolicyInputSchema: validation_d_exports.StrictObjectSchema<{
386
- readonly keyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
387
- readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NullableSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>, validation_d_exports.TransformAction<string | null, bigint | undefined>]>;
384
+ type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;
385
+ declare const ApplyApiKeyPolicyInputSchema: v.StrictObjectSchema<{
386
+ readonly keyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
387
+ readonly policyId: v.SchemaWithPipe<readonly [v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>, v.TransformAction<string | null, bigint | undefined>]>;
388
388
  }, undefined>;
389
- type ApiKeyPolicyApplyInput = validation_d_exports.InferInput<typeof ApplyApiKeyPolicyInputSchema>;
389
+ type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;
390
390
  //#endregion
391
391
  export { ApiKeyPolicy, ApiKeyPolicyApplyInput, ApiKeyPolicyCreateInput, ApiKeyPolicySchema, ApiKeyPolicyUpdateInput, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, ListApiKeyPoliciesResponse, ListApiKeyPoliciesResponseSchema, UpdateApiKeyPolicyInputSchema };
392
392
  //# sourceMappingURL=api-key-policies.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-policies.schemas.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"mappings":";;;;cAiCa,+BAA6B,qBAAA;;;cAM7B,4BAA0B,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;cAiB1B,oBAAkB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CnB,eAAe,qBAAE,mBAAmB;cAEnC,kCAAgC,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOjC,6BAA6B,qBAAE,mBAAmB;cAkCjD,+BAA6B,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ9B,0BAA0B,qBAAE,kBAAkB;cAoD7C,+BAA6B,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyB9B,0BAA0B,qBAAE,kBAAkB;cAE7C,8BAA4B,qBAAA;;;;KAQ7B,yBAAyB,qBAAE,kBAAkB"}
1
+ {"version":3,"file":"api-key-policies.schemas.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"mappings":";;;;cAiCa,+BAA6B,EAAA;;;cAM7B,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;cAiB1B,oBAAkB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CnB,eAAe,EAAE,mBAAmB;cAEnC,kCAAgC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOjC,6BAA6B,EAAE,mBAAmB;cAkCjD,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ9B,0BAA0B,EAAE,kBAAkB;cAoD7C,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyB9B,0BAA0B,EAAE,kBAAkB;cAE7C,8BAA4B,EAAA;;;;KAQ7B,yBAAyB,EAAE,kBAAkB"}
@@ -1,4 +1,3 @@
1
- import { validation_exports } from "../../../shared/validation.js";
2
1
  import { idToBigInt } from "../../../utils/base58-id.js";
3
2
  import { toBigIntOrZero } from "../../../utils/numbers.js";
4
3
  import { tsObjToMs, tsObjToNsString } from "../../../utils/time.js";
@@ -6,13 +5,14 @@ import { BigIntStringSchema, OptionalNumberToBigIntOrZeroSchema, OptionalPublicI
6
5
  import { PerpMarketRuleSchema, PolicyActionEnumSchema, PolicyMarketScopeEnumSchema, ProtoPolicyActionEnumSchema, ProtoPolicyMarketScopeEnumSchema, SpotMarketRuleSchema } from "../shared.js";
7
6
  import { PolicyActionCodec, PolicyMarketScopeCodec, policyActionLabelFor, policyMarketScopeLabelFor } from "../shared.codecs.js";
8
7
  import { buildProtoPatch, defineProtoPatchFields } from "../../../utils/proto-patch.js";
8
+ import * as v from "valibot";
9
9
  //#region src/services/policies/api-key-policies/api-key-policies.schemas.ts
10
- const OptionalApiKeyContextSchema = validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1, "keyId is required")));
11
- const ListApiKeyPoliciesInputSchema = validation_exports.strictObject({ keyId: OptionalApiKeyContextSchema });
12
- const GetApiKeyPolicyInputSchema = validation_exports.pipe(validation_exports.strictObject({
13
- policyId: validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1))),
10
+ const OptionalApiKeyContextSchema = v.optional(v.pipe(v.string(), v.trim(), v.minLength(1, "keyId is required")));
11
+ const ListApiKeyPoliciesInputSchema = v.strictObject({ keyId: OptionalApiKeyContextSchema });
12
+ const GetApiKeyPolicyInputSchema = v.pipe(v.strictObject({
13
+ policyId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),
14
14
  keyId: OptionalApiKeyContextSchema
15
- }), validation_exports.transform(({ policyId, keyId }) => ({
15
+ }), v.transform(({ policyId, keyId }) => ({
16
16
  policyId: policyId ? idToBigInt(policyId, "policyId") : void 0,
17
17
  keyId
18
18
  })));
@@ -20,42 +20,42 @@ const GetApiKeyPolicyInputSchema = validation_exports.pipe(validation_exports.st
20
20
  * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.
21
21
  * Shape matches auth.v1.ApiPolicyView.
22
22
  */
23
- const ApiKeyPolicySchema = validation_exports.pipe(validation_exports.object({
23
+ const ApiKeyPolicySchema = v.pipe(v.object({
24
24
  id: PublicIdSchema,
25
- name: validation_exports.string(),
26
- description: validation_exports.string(),
27
- spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema), []),
28
- spotMarketScope: validation_exports.pipe(ProtoPolicyMarketScopeEnumSchema, validation_exports.transform((v) => policyMarketScopeLabelFor(v))),
29
- perpMarketScope: validation_exports.pipe(ProtoPolicyMarketScopeEnumSchema, validation_exports.transform((v) => policyMarketScopeLabelFor(v))),
30
- perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema), []),
31
- actions: validation_exports.pipe(validation_exports.optional(validation_exports.array(ProtoPolicyActionEnumSchema), []), validation_exports.transform((v) => v.map((action) => policyActionLabelFor(action)))),
32
- isTemplate: validation_exports.optional(validation_exports.boolean(), false),
25
+ name: v.string(),
26
+ description: v.string(),
27
+ spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
28
+ spotMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
29
+ perpMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
30
+ perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
31
+ actions: v.pipe(v.optional(v.array(ProtoPolicyActionEnumSchema), []), v.transform((v) => v.map((action) => policyActionLabelFor(action)))),
32
+ isTemplate: v.optional(v.boolean(), false),
33
33
  sourceTemplateId: OptionalPublicIdSchema,
34
- maxOrderNotional: validation_exports.pipe(validation_exports.optional(validation_exports.bigint()), validation_exports.transform((v) => v === void 0 ? void 0 : Number(v))),
35
- dailyInternalTransferOutLimit: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
36
- dailyWithdrawLimit: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
34
+ maxOrderNotional: v.pipe(v.optional(v.bigint()), v.transform((v) => v === void 0 ? void 0 : Number(v))),
35
+ dailyInternalTransferOutLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
36
+ dailyWithdrawLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
37
37
  createdAt: TimestampMsSchema,
38
38
  updatedAt: TimestampSchema,
39
39
  revision: BigIntStringSchema
40
- }), validation_exports.transform(({ updatedAt, ...policy }) => ({
40
+ }), v.transform(({ updatedAt, ...policy }) => ({
41
41
  ...policy,
42
42
  updatedAt: tsObjToMs(updatedAt),
43
43
  updatedAtNs: tsObjToNsString(updatedAt)
44
44
  })));
45
- const ListApiKeyPoliciesResponseSchema = validation_exports.pipe(validation_exports.object({ policies: validation_exports.optional(validation_exports.array(ApiKeyPolicySchema), []) }), validation_exports.transform((value) => value.policies));
46
- const ApiKeyPolicyInputBaseSchema = validation_exports.strictObject({
47
- name: validation_exports.string(),
48
- description: validation_exports.optional(validation_exports.string(), ""),
49
- spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema), []),
50
- perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema), []),
51
- spotMarketScope: validation_exports.pipe(PolicyMarketScopeEnumSchema, validation_exports.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
52
- perpMarketScope: validation_exports.pipe(PolicyMarketScopeEnumSchema, validation_exports.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
53
- actions: validation_exports.pipe(validation_exports.optional(validation_exports.array(PolicyActionEnumSchema), []), validation_exports.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action]))),
45
+ const ListApiKeyPoliciesResponseSchema = v.pipe(v.object({ policies: v.optional(v.array(ApiKeyPolicySchema), []) }), v.transform((value) => value.policies));
46
+ const ApiKeyPolicyInputBaseSchema = v.strictObject({
47
+ name: v.string(),
48
+ description: v.optional(v.string(), ""),
49
+ spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
50
+ perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
51
+ spotMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
52
+ perpMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
53
+ actions: v.pipe(v.optional(v.array(PolicyActionEnumSchema), []), v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action]))),
54
54
  maxOrderNotional: OptionalNumberToBigIntOrZeroSchema,
55
55
  dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,
56
56
  dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,
57
- isTemplate: validation_exports.optional(validation_exports.boolean(), false),
58
- assignToKeyId: validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim()))
57
+ isTemplate: v.optional(v.boolean(), false),
58
+ assignToKeyId: v.optional(v.pipe(v.string(), v.trim()))
59
59
  });
60
60
  function createApiKeyPolicyBaseTransform(input) {
61
61
  const { dailyInternalTransferLimit, assignToKeyId: _assignToKeyId, ...rest } = input;
@@ -64,22 +64,22 @@ function createApiKeyPolicyBaseTransform(input) {
64
64
  dailyInternalTransferOutLimit: dailyInternalTransferLimit
65
65
  };
66
66
  }
67
- const CreateApiKeyPolicyInputSchema = validation_exports.pipe(ApiKeyPolicyInputBaseSchema, validation_exports.transform((input) => ({
67
+ const CreateApiKeyPolicyInputSchema = v.pipe(ApiKeyPolicyInputBaseSchema, v.transform((input) => ({
68
68
  policy: createApiKeyPolicyBaseTransform(input),
69
69
  assignToKeyId: input.assignToKeyId
70
70
  })));
71
- const ApiKeyPolicyPatchSchema = validation_exports.strictObject({
72
- name: validation_exports.optional(validation_exports.string()),
73
- description: validation_exports.optional(validation_exports.string()),
74
- spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema)),
75
- perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema)),
76
- spotMarketScope: validation_exports.optional(PolicyMarketScopeEnumSchema),
77
- perpMarketScope: validation_exports.optional(PolicyMarketScopeEnumSchema),
78
- actions: validation_exports.optional(validation_exports.array(PolicyActionEnumSchema)),
79
- maxOrderNotional: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
80
- dailyInternalTransferLimit: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
81
- dailyWithdrawLimit: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
82
- isTemplate: validation_exports.optional(validation_exports.boolean())
71
+ const ApiKeyPolicyPatchSchema = v.strictObject({
72
+ name: v.optional(v.string()),
73
+ description: v.optional(v.string()),
74
+ spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),
75
+ perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),
76
+ spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),
77
+ perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),
78
+ actions: v.optional(v.array(PolicyActionEnumSchema)),
79
+ maxOrderNotional: v.optional(v.nullable(v.number())),
80
+ dailyInternalTransferLimit: v.optional(v.nullable(v.number())),
81
+ dailyWithdrawLimit: v.optional(v.nullable(v.number())),
82
+ isTemplate: v.optional(v.boolean())
83
83
  });
84
84
  const API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
85
85
  name: {
@@ -127,11 +127,11 @@ const API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
127
127
  encode: (isTemplate) => ({ isTemplate })
128
128
  }
129
129
  });
130
- const UpdateApiKeyPolicyInputSchema = validation_exports.pipe(validation_exports.strictObject({
130
+ const UpdateApiKeyPolicyInputSchema = v.pipe(v.strictObject({
131
131
  ...ApiKeyPolicyPatchSchema.entries,
132
- policyId: validation_exports.pipe(validation_exports.string(), validation_exports.transform((v) => idToBigInt(v, "policyId"))),
132
+ policyId: v.pipe(v.string(), v.transform((v) => idToBigInt(v, "policyId"))),
133
133
  expectedRevision: positiveBigintStringInputSchema("expectedRevision")
134
- }), validation_exports.check(({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) => Object.values(patch).some((value) => value !== void 0), "At least one API key policy field must be provided"), validation_exports.transform(({ policyId, expectedRevision, ...patch }) => {
134
+ }), v.check(({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) => Object.values(patch).some((value) => value !== void 0), "At least one API key policy field must be provided"), v.transform(({ policyId, expectedRevision, ...patch }) => {
135
135
  const { patch: policy, updateMask } = buildProtoPatch(patch, API_KEY_POLICY_PATCH_FIELDS);
136
136
  return {
137
137
  policyId,
@@ -140,9 +140,9 @@ const UpdateApiKeyPolicyInputSchema = validation_exports.pipe(validation_exports
140
140
  expectedRevision
141
141
  };
142
142
  }));
143
- const ApplyApiKeyPolicyInputSchema = validation_exports.strictObject({
144
- keyId: validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1)),
145
- policyId: validation_exports.pipe(validation_exports.nullable(validation_exports.pipe(validation_exports.string(), validation_exports.trim())), validation_exports.transform((value) => value ? idToBigInt(value, "policyId") : void 0))
143
+ const ApplyApiKeyPolicyInputSchema = v.strictObject({
144
+ keyId: v.pipe(v.string(), v.trim(), v.minLength(1)),
145
+ policyId: v.pipe(v.nullable(v.pipe(v.string(), v.trim())), v.transform((value) => value ? idToBigInt(value, "policyId") : void 0))
146
146
  });
147
147
  const DEFAULT_API_KEY_POLICY = {
148
148
  id: "",
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-policies.schemas.js","names":["v"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"sourcesContent":["import * as v from \"../../../shared/validation.js\";\nimport {\n PerpMarketRuleSchema,\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalNumberToBigIntOrZeroSchema,\n OptionalPublicIdSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampMsSchema,\n TimestampSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { toBigIntOrZero } from \"../../../utils/numbers.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nconst OptionalApiKeyContextSchema = v.optional(\n v.pipe(v.string(), v.trim(), v.minLength(1, \"keyId is required\")),\n);\n\nexport const ListApiKeyPoliciesInputSchema = v.strictObject({\n keyId: OptionalApiKeyContextSchema,\n});\n\nexport type ListApiKeyPoliciesInput = v.InferInput<typeof ListApiKeyPoliciesInputSchema>;\n\nexport const GetApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),\n keyId: OptionalApiKeyContextSchema,\n }),\n v.transform(({ policyId, keyId }) => ({\n policyId: policyId ? idToBigInt(policyId, \"policyId\") : undefined,\n keyId,\n })),\n);\n\nexport type GetApiKeyPolicyInput = v.InferInput<typeof GetApiKeyPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n * Shape matches auth.v1.ApiPolicyView.\n */\nexport const ApiKeyPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n maxOrderNotional: v.pipe(\n v.optional(v.bigint()),\n v.transform((v) => (v === undefined ? undefined : Number(v))),\n ),\n dailyInternalTransferOutLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n dailyWithdrawLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...policy }) => ({\n ...policy,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;\n\nexport const ListApiKeyPoliciesResponseSchema = v.pipe(\n v.object({\n policies: v.optional(v.array(ApiKeyPolicySchema), []),\n }),\n v.transform((value) => value.policies),\n);\n\nexport type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;\n\nconst ApiKeyPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n perpMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), []),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n maxOrderNotional: OptionalNumberToBigIntOrZeroSchema,\n dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,\n isTemplate: v.optional(v.boolean(), false),\n assignToKeyId: v.optional(v.pipe(v.string(), v.trim())),\n});\n\nfunction createApiKeyPolicyBaseTransform(input: v.InferOutput<typeof ApiKeyPolicyInputBaseSchema>) {\n const { dailyInternalTransferLimit, assignToKeyId: _assignToKeyId, ...rest } = input;\n return {\n ...rest,\n dailyInternalTransferOutLimit: dailyInternalTransferLimit,\n };\n}\n\nexport const CreateApiKeyPolicyInputSchema = v.pipe(\n ApiKeyPolicyInputBaseSchema,\n v.transform((input) => ({\n policy: createApiKeyPolicyBaseTransform(input),\n assignToKeyId: input.assignToKeyId,\n })),\n);\n\nexport type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;\n\nconst ApiKeyPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n maxOrderNotional: v.optional(v.nullable(v.number())),\n dailyInternalTransferLimit: v.optional(v.nullable(v.number())),\n dailyWithdrawLimit: v.optional(v.nullable(v.number())),\n isTemplate: v.optional(v.boolean()),\n});\n\ntype ApiKeyPolicyPatch = v.InferOutput<typeof ApiKeyPolicyPatchSchema>;\n\nconst API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields<ApiKeyPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n perpMarkets: { path: \"perp_markets\", encode: (perpMarkets) => ({ perpMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n perpMarketScope: {\n path: \"perp_market_scope\",\n encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n maxOrderNotional: {\n path: \"max_order_notional\",\n encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) }),\n },\n dailyInternalTransferLimit: {\n path: \"daily_internal_transfer_out_limit\",\n encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) }),\n },\n dailyWithdrawLimit: {\n path: \"daily_withdraw_limit\",\n encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) }),\n },\n isTemplate: { path: \"is_template\", encode: (isTemplate) => ({ isTemplate }) },\n});\n\nexport const UpdateApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n ...ApiKeyPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one API key policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(patch, API_KEY_POLICY_PATCH_FIELDS);\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;\n\nexport const ApplyApiKeyPolicyInputSchema = v.strictObject({\n keyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;\n\nexport const DEFAULT_API_KEY_POLICY: ApiKeyPolicy = {\n id: \"\",\n name: \"API Key Policy\",\n description: \"Default API key policy with no permissions\",\n spotMarkets: [],\n spotMarketScope: \"all\",\n perpMarketScope: \"all\",\n perpMarkets: [],\n actions: [],\n maxOrderNotional: 0,\n dailyInternalTransferOutLimit: 0,\n dailyWithdrawLimit: 0,\n isTemplate: false,\n sourceTemplateId: \"\",\n createdAt: 0,\n updatedAt: 0,\n updatedAtNs: \"0\",\n revision: \"0\",\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"api-key-policies.schemas.js","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n PerpMarketRuleSchema,\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalNumberToBigIntOrZeroSchema,\n OptionalPublicIdSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampMsSchema,\n TimestampSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { toBigIntOrZero } from \"../../../utils/numbers.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nconst OptionalApiKeyContextSchema = v.optional(\n v.pipe(v.string(), v.trim(), v.minLength(1, \"keyId is required\")),\n);\n\nexport const ListApiKeyPoliciesInputSchema = v.strictObject({\n keyId: OptionalApiKeyContextSchema,\n});\n\nexport type ListApiKeyPoliciesInput = v.InferInput<typeof ListApiKeyPoliciesInputSchema>;\n\nexport const GetApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),\n keyId: OptionalApiKeyContextSchema,\n }),\n v.transform(({ policyId, keyId }) => ({\n policyId: policyId ? idToBigInt(policyId, \"policyId\") : undefined,\n keyId,\n })),\n);\n\nexport type GetApiKeyPolicyInput = v.InferInput<typeof GetApiKeyPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n * Shape matches auth.v1.ApiPolicyView.\n */\nexport const ApiKeyPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n maxOrderNotional: v.pipe(\n v.optional(v.bigint()),\n v.transform((v) => (v === undefined ? undefined : Number(v))),\n ),\n dailyInternalTransferOutLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n dailyWithdrawLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...policy }) => ({\n ...policy,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;\n\nexport const ListApiKeyPoliciesResponseSchema = v.pipe(\n v.object({\n policies: v.optional(v.array(ApiKeyPolicySchema), []),\n }),\n v.transform((value) => value.policies),\n);\n\nexport type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;\n\nconst ApiKeyPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n perpMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), []),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n maxOrderNotional: OptionalNumberToBigIntOrZeroSchema,\n dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,\n isTemplate: v.optional(v.boolean(), false),\n assignToKeyId: v.optional(v.pipe(v.string(), v.trim())),\n});\n\nfunction createApiKeyPolicyBaseTransform(input: v.InferOutput<typeof ApiKeyPolicyInputBaseSchema>) {\n const { dailyInternalTransferLimit, assignToKeyId: _assignToKeyId, ...rest } = input;\n return {\n ...rest,\n dailyInternalTransferOutLimit: dailyInternalTransferLimit,\n };\n}\n\nexport const CreateApiKeyPolicyInputSchema = v.pipe(\n ApiKeyPolicyInputBaseSchema,\n v.transform((input) => ({\n policy: createApiKeyPolicyBaseTransform(input),\n assignToKeyId: input.assignToKeyId,\n })),\n);\n\nexport type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;\n\nconst ApiKeyPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n maxOrderNotional: v.optional(v.nullable(v.number())),\n dailyInternalTransferLimit: v.optional(v.nullable(v.number())),\n dailyWithdrawLimit: v.optional(v.nullable(v.number())),\n isTemplate: v.optional(v.boolean()),\n});\n\ntype ApiKeyPolicyPatch = v.InferOutput<typeof ApiKeyPolicyPatchSchema>;\n\nconst API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields<ApiKeyPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n perpMarkets: { path: \"perp_markets\", encode: (perpMarkets) => ({ perpMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n perpMarketScope: {\n path: \"perp_market_scope\",\n encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n maxOrderNotional: {\n path: \"max_order_notional\",\n encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) }),\n },\n dailyInternalTransferLimit: {\n path: \"daily_internal_transfer_out_limit\",\n encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) }),\n },\n dailyWithdrawLimit: {\n path: \"daily_withdraw_limit\",\n encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) }),\n },\n isTemplate: { path: \"is_template\", encode: (isTemplate) => ({ isTemplate }) },\n});\n\nexport const UpdateApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n ...ApiKeyPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one API key policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(patch, API_KEY_POLICY_PATCH_FIELDS);\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;\n\nexport const ApplyApiKeyPolicyInputSchema = v.strictObject({\n keyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;\n\nexport const DEFAULT_API_KEY_POLICY: ApiKeyPolicy = {\n id: \"\",\n name: \"API Key Policy\",\n description: \"Default API key policy with no permissions\",\n spotMarkets: [],\n spotMarketScope: \"all\",\n perpMarketScope: \"all\",\n perpMarkets: [],\n actions: [],\n maxOrderNotional: 0,\n dailyInternalTransferOutLimit: 0,\n dailyWithdrawLimit: 0,\n isTemplate: false,\n sourceTemplateId: \"\",\n createdAt: 0,\n updatedAt: 0,\n updatedAtNs: \"0\",\n revision: \"0\",\n};\n"],"mappings":"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"}