@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":"triggers.js","names":["#client","Proto.TriggersService","#realtime","#resolver","#scales","#createTriggerInputSchema","#modifyTriggerInputSchema","#triggerSchema","#triggerEventSchema","v.parse","v","Proto.TriggerSchema","Proto.TriggerEventSchema"],"sources":["../../../src/services/triggers/triggers.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"../../shared/validation.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n createCreateTriggerInputSchema,\n createModifyTriggerInputSchema,\n ListTriggersInputSchema,\n CancelTriggerInputSchema,\n PauseTriggerInputSchema,\n ResumeTriggerInputSchema,\n GetTriggerInputSchema,\n ListTriggerEventsInputSchema,\n CreateTriggerResultSchema,\n CancelTriggerResultSchema,\n ModifyTriggerResultSchema,\n PauseTriggerResultSchema,\n ResumeTriggerResultSchema,\n createTriggerSchema,\n createTriggerEventSchema,\n type Trigger,\n type CreateTriggerInput,\n type ListTriggersInput,\n type CancelTriggerInput,\n type GetTriggerInput,\n type ModifyTriggerInput,\n type PauseTriggerInput,\n type ResumeTriggerInput,\n type ListTriggerEventsInput,\n type CreateTriggerResult,\n type CancelTriggerResult,\n type ModifyTriggerResult,\n type PauseTriggerResult,\n type ResumeTriggerResult,\n type ListTriggerEventsResult,\n type TriggerEvent,\n} from \"./triggers.schemas.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\n\nexport type {\n CreateTriggerResult,\n CancelTriggerResult,\n ModifyTriggerResult,\n PauseTriggerResult,\n ResumeTriggerResult,\n ListTriggerEventsResult,\n};\n\nexport interface ListTriggersResult {\n triggers: Trigger[];\n nextPageToken: string;\n}\n\nfunction hasKnownTriggerSymbol(scales: SdkScales, trigger: { symbolId: number }): boolean {\n try {\n scales.baseQty(trigger.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\ninterface SubscribeTriggersInput extends BaseSubscribeInput<Trigger> {\n accountId: string;\n}\n\ninterface SubscribeTriggerEventsInput extends BaseSubscribeInput<TriggerEvent> {\n accountId: string;\n}\n\n/**\n * Manages standalone order triggers and their realtime lifecycle/event streams.\n */\nexport class TriggersService {\n #client: Client<typeof Proto.TriggersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #createTriggerInputSchema: ReturnType<typeof createCreateTriggerInputSchema>;\n #modifyTriggerInputSchema: ReturnType<typeof createModifyTriggerInputSchema>;\n #triggerSchema: ReturnType<typeof createTriggerSchema>;\n #triggerEventSchema: ReturnType<typeof createTriggerEventSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#client = createClient(Proto.TriggersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#createTriggerInputSchema = createCreateTriggerInputSchema(scales);\n this.#modifyTriggerInputSchema = createModifyTriggerInputSchema(scales);\n this.#triggerSchema = createTriggerSchema(scales);\n this.#triggerEventSchema = createTriggerEventSchema(scales);\n }\n\n /**\n * Creates a standalone trigger, such as stop-loss, take-profit, trailing-stop, TWAP, or ladder, for the resolved account scope. The request includes trigger conditions, order fields, strategy-specific fields, and optional clientTriggerId.\n */\n async create(\n input: CreateTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateTriggerResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(this.#createTriggerInputSchema, resolved);\n const res = await this.#client.createTrigger(validatedInput, toConnectCallOptions(options));\n return v.parse(CreateTriggerResultSchema, res);\n }\n\n /**\n * Fetches one trigger by id in the resolved account scope and returns null when the backend response contains no trigger.\n */\n async get(input: GetTriggerInput, options?: PolyesterRequestOptions): Promise<Trigger | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(GetTriggerInputSchema, resolved);\n const res = await this.#client.getTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n\n if (!res.trigger) return null;\n return v.parse(this.#triggerSchema, res.trigger);\n }\n\n /**\n * Lists triggers for the resolved account scope with optional symbol, status, trigger type, parent order, limit, and page-token filters. Results are returned newest-first.\n */\n async list(\n input: ListTriggersInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<ListTriggersResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(ListTriggersInputSchema, resolved);\n const res = await this.#client.listTriggers(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return {\n triggers: v.parse(\n v.array(this.#triggerSchema),\n res.triggers.filter((trigger) => hasKnownTriggerSymbol(this.#scales, trigger)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Cancels an active trigger by id in the resolved account scope and returns the trigger id, resulting status, and server timestamp.\n */\n async cancel(\n input: CancelTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(CancelTriggerInputSchema, resolved);\n const res = await this.#client.cancelTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(CancelTriggerResultSchema, res);\n }\n\n /**\n * Applies a limited patch to an existing trigger, covering trigger price, limit price, trailing distance, activation price, and market slippage fields where supported.\n */\n async modify(\n input: ModifyTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyTriggerResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(this.#modifyTriggerInputSchema, resolved);\n const res = await this.#client.modifyTrigger(validated, toConnectCallOptions(options));\n return v.parse(ModifyTriggerResultSchema, res);\n }\n\n /**\n * Pauses an active trigger without discarding its immutable strategy configuration.\n */\n async pause(\n input: PauseTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<PauseTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(PauseTriggerInputSchema, resolved);\n const res = await this.#client.pauseTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(PauseTriggerResultSchema, res);\n }\n\n /**\n * Resumes a paused trigger.\n */\n async resume(\n input: ResumeTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<ResumeTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(ResumeTriggerInputSchema, resolved);\n const res = await this.#client.resumeTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(ResumeTriggerResultSchema, res);\n }\n\n /**\n * Returns newest-first historical lifecycle events for one trigger, optionally filtered by event type. Fired events enumerate child-order actions. The SDK defaults limit to 50.\n */\n async listEvents(\n input: ListTriggerEventsInput,\n options?: PolyesterRequestOptions,\n ): Promise<ListTriggerEventsResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = v.parse(ListTriggerEventsInputSchema, resolved);\n\n const res = await this.#client.listTriggerEvents(\n removeUndefined({\n triggerId: validated.triggerId,\n subaccountId: validated.subaccountId,\n limit: validated.limit ?? 50,\n eventType: validated.eventType,\n pageToken: validated.pageToken ?? \"\",\n }),\n toConnectCallOptions(options),\n );\n\n return {\n events: v.parse(v.array(this.#triggerEventSchema), res.events),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Subscribes to private trigger state updates on private:spot:triggers:{accountId}:proto and emits parsed trigger records.\n */\n subscribe(input: SubscribeTriggersInput): () => void {\n const channel = `private:spot:triggers:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.TriggerSchema,\n onPublication: (data) => {\n gate.run(() => {\n const trigger = v.parse(this.#triggerSchema, data);\n input.onEvent(trigger);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n /**\n * Subscribes to private trigger lifecycle events on private:spot:triggers:events:{accountId}:proto and emits parsed trigger event records.\n */\n subscribeEvents(input: SubscribeTriggerEventsInput): () => void {\n const channel = `private:spot:triggers:events:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.TriggerEventSchema,\n onPublication: (data) => {\n gate.run(() => {\n const event = v.parse(this.#triggerEventSchema, data);\n input.onEvent(event);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"triggers.js","names":["#client","Proto.TriggersService","#realtime","#resolver","#scales","#createTriggerInputSchema","#modifyTriggerInputSchema","#triggerSchema","#triggerEventSchema","Proto.TriggerSchema","Proto.TriggerEventSchema"],"sources":["../../../src/services/triggers/triggers.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"valibot\";\nimport { parse } from \"../../shared/validation.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n createCreateTriggerInputSchema,\n createModifyTriggerInputSchema,\n ListTriggersInputSchema,\n CancelTriggerInputSchema,\n PauseTriggerInputSchema,\n ResumeTriggerInputSchema,\n GetTriggerInputSchema,\n ListTriggerEventsInputSchema,\n CreateTriggerResultSchema,\n CancelTriggerResultSchema,\n ModifyTriggerResultSchema,\n PauseTriggerResultSchema,\n ResumeTriggerResultSchema,\n createTriggerSchema,\n createTriggerEventSchema,\n type Trigger,\n type CreateTriggerInput,\n type ListTriggersInput,\n type CancelTriggerInput,\n type GetTriggerInput,\n type ModifyTriggerInput,\n type PauseTriggerInput,\n type ResumeTriggerInput,\n type ListTriggerEventsInput,\n type CreateTriggerResult,\n type CancelTriggerResult,\n type ModifyTriggerResult,\n type PauseTriggerResult,\n type ResumeTriggerResult,\n type ListTriggerEventsResult,\n type TriggerEvent,\n} from \"./triggers.schemas.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\n\nexport type {\n CreateTriggerResult,\n CancelTriggerResult,\n ModifyTriggerResult,\n PauseTriggerResult,\n ResumeTriggerResult,\n ListTriggerEventsResult,\n};\n\nexport interface ListTriggersResult {\n triggers: Trigger[];\n nextPageToken: string;\n}\n\nfunction hasKnownTriggerSymbol(scales: SdkScales, trigger: { symbolId: number }): boolean {\n try {\n scales.baseQty(trigger.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\ninterface SubscribeTriggersInput extends BaseSubscribeInput<Trigger> {\n accountId: string;\n}\n\ninterface SubscribeTriggerEventsInput extends BaseSubscribeInput<TriggerEvent> {\n accountId: string;\n}\n\n/**\n * Manages standalone order triggers and their realtime lifecycle/event streams.\n */\nexport class TriggersService {\n #client: Client<typeof Proto.TriggersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #createTriggerInputSchema: ReturnType<typeof createCreateTriggerInputSchema>;\n #modifyTriggerInputSchema: ReturnType<typeof createModifyTriggerInputSchema>;\n #triggerSchema: ReturnType<typeof createTriggerSchema>;\n #triggerEventSchema: ReturnType<typeof createTriggerEventSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#client = createClient(Proto.TriggersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#createTriggerInputSchema = createCreateTriggerInputSchema(scales);\n this.#modifyTriggerInputSchema = createModifyTriggerInputSchema(scales);\n this.#triggerSchema = createTriggerSchema(scales);\n this.#triggerEventSchema = createTriggerEventSchema(scales);\n }\n\n /**\n * Creates a standalone trigger, such as stop-loss, take-profit, trailing-stop, TWAP, or ladder, for the resolved account scope. The request includes trigger conditions, order fields, strategy-specific fields, and optional clientTriggerId.\n */\n async create(\n input: CreateTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateTriggerResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = parse(this.#createTriggerInputSchema, resolved);\n const res = await this.#client.createTrigger(validatedInput, toConnectCallOptions(options));\n return parse(CreateTriggerResultSchema, res);\n }\n\n /**\n * Fetches one trigger by id in the resolved account scope and returns null when the backend response contains no trigger.\n */\n async get(input: GetTriggerInput, options?: PolyesterRequestOptions): Promise<Trigger | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(GetTriggerInputSchema, resolved);\n const res = await this.#client.getTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n\n if (!res.trigger) return null;\n return parse(this.#triggerSchema, res.trigger);\n }\n\n /**\n * Lists triggers for the resolved account scope with optional symbol, status, trigger type, parent order, limit, and page-token filters. Results are returned newest-first.\n */\n async list(\n input: ListTriggersInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<ListTriggersResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(ListTriggersInputSchema, resolved);\n const res = await this.#client.listTriggers(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return {\n triggers: parse(\n v.array(this.#triggerSchema),\n res.triggers.filter((trigger) => hasKnownTriggerSymbol(this.#scales, trigger)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Cancels an active trigger by id in the resolved account scope and returns the trigger id, resulting status, and server timestamp.\n */\n async cancel(\n input: CancelTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(CancelTriggerInputSchema, resolved);\n const res = await this.#client.cancelTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return parse(CancelTriggerResultSchema, res);\n }\n\n /**\n * Applies a limited patch to an existing trigger, covering trigger price, limit price, trailing distance, activation price, and market slippage fields where supported.\n */\n async modify(\n input: ModifyTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyTriggerResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(this.#modifyTriggerInputSchema, resolved);\n const res = await this.#client.modifyTrigger(validated, toConnectCallOptions(options));\n return parse(ModifyTriggerResultSchema, res);\n }\n\n /**\n * Pauses an active trigger without discarding its immutable strategy configuration.\n */\n async pause(\n input: PauseTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<PauseTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(PauseTriggerInputSchema, resolved);\n const res = await this.#client.pauseTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return parse(PauseTriggerResultSchema, res);\n }\n\n /**\n * Resumes a paused trigger.\n */\n async resume(\n input: ResumeTriggerInput,\n options?: PolyesterMutationOptions,\n ): Promise<ResumeTriggerResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(ResumeTriggerInputSchema, resolved);\n const res = await this.#client.resumeTrigger(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return parse(ResumeTriggerResultSchema, res);\n }\n\n /**\n * Returns newest-first historical lifecycle events for one trigger, optionally filtered by event type. Fired events enumerate child-order actions. The SDK defaults limit to 50.\n */\n async listEvents(\n input: ListTriggerEventsInput,\n options?: PolyesterRequestOptions,\n ): Promise<ListTriggerEventsResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(ListTriggerEventsInputSchema, resolved);\n\n const res = await this.#client.listTriggerEvents(\n removeUndefined({\n triggerId: validated.triggerId,\n subaccountId: validated.subaccountId,\n limit: validated.limit ?? 50,\n eventType: validated.eventType,\n pageToken: validated.pageToken ?? \"\",\n }),\n toConnectCallOptions(options),\n );\n\n return {\n events: parse(v.array(this.#triggerEventSchema), res.events),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Subscribes to private trigger state updates on private:spot:triggers:{accountId}:proto and emits parsed trigger records.\n */\n subscribe(input: SubscribeTriggersInput): () => void {\n const channel = `private:spot:triggers:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.TriggerSchema,\n onPublication: (data) => {\n gate.run(() => {\n const trigger = parse(this.#triggerSchema, data);\n input.onEvent(trigger);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n /**\n * Subscribes to private trigger lifecycle events on private:spot:triggers:events:{accountId}:proto and emits parsed trigger event records.\n */\n subscribeEvents(input: SubscribeTriggerEventsInput): () => void {\n const channel = `private:spot:triggers:events:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.TriggerEventSchema,\n onPublication: (data) => {\n gate.run(() => {\n const event = parse(this.#triggerEventSchema, data);\n input.onEvent(event);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { NextVipTierThresholds, NextVipTierThresholdsSchema, VipStatus, VipStatusSchema, VipTier, VipTierCatalog, VipTierCatalogSchema, VipTierSchema } from "./vip.schemas.js";
2
+ import { VipService } from "./vip.js";
3
+ export { NextVipTierThresholds, NextVipTierThresholdsSchema, VipService, VipStatus, VipStatusSchema, VipTier, VipTierCatalog, VipTierCatalogSchema, VipTierSchema };
@@ -0,0 +1,22 @@
1
+ import { Transports } from "../../shared/transports.js";
2
+ import { PolyesterRequestOptions } from "../../shared/request-options.js";
3
+ import { VipStatus, VipTierCatalog } from "./vip.schemas.js";
4
+ //#region src/services/vip/vip.d.ts
5
+ /**
6
+ * Reads public VIP policy catalogs and authenticated caller-root VIP status.
7
+ */
8
+ declare class VipService {
9
+ #private;
10
+ constructor(transports: Transports);
11
+ /**
12
+ * Returns the complete active VIP0+ tier catalog, including policy version, effective time, retention threshold, and per-tier volume/AOP thresholds and fee rates.
13
+ */
14
+ listTiers(options?: PolyesterRequestOptions): Promise<VipTierCatalog>;
15
+ /**
16
+ * Returns VIP qualification status for the authenticated caller's root account, including effective/volume/AOP tiers, optional rolling metrics, and next-tier thresholds.
17
+ */
18
+ getStatus(options?: PolyesterRequestOptions): Promise<VipStatus>;
19
+ }
20
+ //#endregion
21
+ export { VipService };
22
+ //# sourceMappingURL=vip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vip.d.ts","names":[],"sources":["../../../src/services/vip/vip.ts"],"mappings":";;;;;;;cAkBa;;EAIG,YAAA,YAAY;;;;EAQlB,UAAU,UAAU,0BAA0B,QAAQ;;;;EAQtD,UAAU,UAAU,0BAA0B,QAAQ"}
@@ -0,0 +1,35 @@
1
+ import { parse } from "../../shared/validation.js";
2
+ import { toConnectCallOptions } from "../../shared/request-options.js";
3
+ import { VIPService } from "../../gen/vip/v1/vip_pb.js";
4
+ import { VipStatusSchema, VipTierCatalogSchema } from "./vip.schemas.js";
5
+ import { createClient } from "@connectrpc/connect";
6
+ //#region src/services/vip/vip.ts
7
+ /**
8
+ * Reads public VIP policy catalogs and authenticated caller-root VIP status.
9
+ */
10
+ var VipService = class {
11
+ #publicClient;
12
+ #authClient;
13
+ constructor(transports) {
14
+ this.#publicClient = createClient(VIPService, transports.publicApi);
15
+ this.#authClient = createClient(VIPService, transports.authApi);
16
+ }
17
+ /**
18
+ * Returns the complete active VIP0+ tier catalog, including policy version, effective time, retention threshold, and per-tier volume/AOP thresholds and fee rates.
19
+ */
20
+ async listTiers(options) {
21
+ const res = await this.#publicClient.listVIPTiers({}, toConnectCallOptions(options));
22
+ return parse(VipTierCatalogSchema, res);
23
+ }
24
+ /**
25
+ * Returns VIP qualification status for the authenticated caller's root account, including effective/volume/AOP tiers, optional rolling metrics, and next-tier thresholds.
26
+ */
27
+ async getStatus(options) {
28
+ const res = await this.#authClient.getVIPStatus({}, toConnectCallOptions(options));
29
+ return parse(VipStatusSchema, res);
30
+ }
31
+ };
32
+ //#endregion
33
+ export { VipService };
34
+
35
+ //# sourceMappingURL=vip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vip.js","names":["#publicClient","Proto.VIPService","#authClient"],"sources":["../../../src/services/vip/vip.ts"],"sourcesContent":["import { createClient, type Client } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/vip/v1/vip_pb.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { Transports } from \"../../shared/transports.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n VipStatusSchema,\n VipTierCatalogSchema,\n type VipStatus,\n type VipTierCatalog,\n} from \"./vip.schemas.js\";\n\n/**\n * Reads public VIP policy catalogs and authenticated caller-root VIP status.\n */\nexport class VipService {\n #publicClient: Client<typeof Proto.VIPService>;\n #authClient: Client<typeof Proto.VIPService>;\n\n constructor(transports: Transports) {\n this.#publicClient = createClient(Proto.VIPService, transports.publicApi);\n this.#authClient = createClient(Proto.VIPService, transports.authApi);\n }\n\n /**\n * Returns the complete active VIP0+ tier catalog, including policy version, effective time, retention threshold, and per-tier volume/AOP thresholds and fee rates.\n */\n async listTiers(options?: PolyesterRequestOptions): Promise<VipTierCatalog> {\n const res = await this.#publicClient.listVIPTiers({}, toConnectCallOptions(options));\n return parse(VipTierCatalogSchema, res);\n }\n\n /**\n * Returns VIP qualification status for the authenticated caller's root account, including effective/volume/AOP tiers, optional rolling metrics, and next-tier thresholds.\n */\n async getStatus(options?: PolyesterRequestOptions): Promise<VipStatus> {\n const res = await this.#authClient.getVIPStatus({}, toConnectCallOptions(options));\n return parse(VipStatusSchema, res);\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,IAAa,aAAb,MAAwB;CACpB;CACA;CAEA,YAAY,YAAwB;EAChC,KAAKA,gBAAgB,aAAaC,YAAkB,WAAW,SAAS;EACxE,KAAKC,cAAc,aAAaD,YAAkB,WAAW,OAAO;CACxE;;;;CAKA,MAAM,UAAU,SAA4D;EACxE,MAAM,MAAM,MAAM,KAAKD,cAAc,aAAa,CAAC,GAAG,qBAAqB,OAAO,CAAC;EACnF,OAAO,MAAM,sBAAsB,GAAG;CAC1C;;;;CAKA,MAAM,UAAU,SAAuD;EACnE,MAAM,MAAM,MAAM,KAAKE,YAAY,aAAa,CAAC,GAAG,qBAAqB,OAAO,CAAC;EACjF,OAAO,MAAM,iBAAiB,GAAG;CACrC;AACJ"}
@@ -0,0 +1,90 @@
1
+ import * as v from "valibot";
2
+ //#region src/services/vip/vip.schemas.d.ts
3
+ declare const VipTierSchema: v.UnionSchema<[v.ObjectSchema<{
4
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
5
+ readonly makerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
6
+ readonly takerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
7
+ readonly tier: v.LiteralSchema<0, undefined>;
8
+ }, undefined>, v.ObjectSchema<{
9
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
10
+ readonly makerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
11
+ readonly takerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
12
+ readonly tier: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>]>;
13
+ readonly aopThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
14
+ }, undefined>], undefined>;
15
+ type VipTier = v.InferOutput<typeof VipTierSchema>;
16
+ declare const NextVipTierThresholdsSchema: v.ObjectSchema<{
17
+ readonly tier: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>]>;
18
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
19
+ readonly aopThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
20
+ }, undefined>;
21
+ type NextVipTierThresholds = v.InferOutput<typeof NextVipTierThresholdsSchema>;
22
+ declare const VipTierCatalogSchema: v.ObjectSchema<{
23
+ readonly policyVersion: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
24
+ readonly effectiveFrom: v.SchemaWithPipe<readonly [v.ObjectSchema<{
25
+ readonly seconds: v.BigintSchema<undefined>;
26
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
27
+ }, undefined>, v.TransformAction<{
28
+ seconds: bigint;
29
+ nanos: number;
30
+ }, number>]>;
31
+ readonly retentionThresholdBp: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>;
32
+ readonly tiers: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
33
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
34
+ readonly makerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
35
+ readonly takerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
36
+ readonly tier: v.LiteralSchema<0, undefined>;
37
+ }, undefined>, v.ObjectSchema<{
38
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
39
+ readonly makerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
40
+ readonly takerFeeRatePercent: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
41
+ readonly tier: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>]>;
42
+ readonly aopThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
43
+ }, undefined>], undefined>, undefined>;
44
+ }, undefined>;
45
+ type VipTierCatalog = v.InferOutput<typeof VipTierCatalogSchema>;
46
+ declare const VipStatusSchema: v.ObjectSchema<{
47
+ readonly tier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
48
+ readonly volumeTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
49
+ readonly aopTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
50
+ readonly settledVolume30dUsd: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
51
+ readonly averageAop30dUsd: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
52
+ readonly policyVersion: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
53
+ readonly policyEffectiveFrom: v.SchemaWithPipe<readonly [v.ObjectSchema<{
54
+ readonly seconds: v.BigintSchema<undefined>;
55
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
56
+ }, undefined>, v.TransformAction<{
57
+ seconds: bigint;
58
+ nanos: number;
59
+ }, number>]>;
60
+ readonly effectiveFrom: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
61
+ readonly seconds: v.BigintSchema<undefined>;
62
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
63
+ }, undefined>, undefined>, v.TransformAction<{
64
+ seconds: bigint;
65
+ nanos: number;
66
+ } | undefined, number | undefined>]>;
67
+ readonly evaluatedAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
68
+ readonly seconds: v.BigintSchema<undefined>;
69
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
70
+ }, undefined>, undefined>, v.TransformAction<{
71
+ seconds: bigint;
72
+ nanos: number;
73
+ } | undefined, number | undefined>]>;
74
+ readonly metricsAsOf: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
75
+ readonly seconds: v.BigintSchema<undefined>;
76
+ readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
77
+ }, undefined>, undefined>, v.TransformAction<{
78
+ seconds: bigint;
79
+ nanos: number;
80
+ } | undefined, number | undefined>]>;
81
+ readonly nextTierThresholds: v.OptionalSchema<v.ObjectSchema<{
82
+ readonly tier: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>]>;
83
+ readonly volumeThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
84
+ readonly aopThresholdUsd: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
85
+ }, undefined>, undefined>;
86
+ }, undefined>;
87
+ type VipStatus = v.InferOutput<typeof VipStatusSchema>;
88
+ //#endregion
89
+ export { NextVipTierThresholds, NextVipTierThresholdsSchema, VipStatus, VipStatusSchema, VipTier, VipTierCatalog, VipTierCatalogSchema, VipTierSchema };
90
+ //# sourceMappingURL=vip.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vip.schemas.d.ts","names":[],"sources":["../../../src/services/vip/vip.schemas.ts"],"mappings":";;cAmBa,eAAa,EAAA,aAAA,EAAA;;;;;;;;;;;;KAYd,UAAU,EAAE,mBAAmB;cAE9B,6BAA2B,EAAA;;;;;KAM5B,wBAAwB,EAAE,mBAAmB;cAE5C,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;;;;;;KAOrB,iBAAiB,EAAE,mBAAmB;cAErC,iBAAe,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAchB,YAAY,EAAE,mBAAmB"}
@@ -0,0 +1,47 @@
1
+ import { BigIntStringSchema, OptionalTimestampMsSchema, TimestampMsSchema } from "../../shared/schemas.js";
2
+ import * as v from "valibot";
3
+ //#region src/services/vip/vip.schemas.ts
4
+ const DecimalStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));
5
+ const OptionalDecimalStringSchema = v.optional(DecimalStringSchema);
6
+ const VipTierNumberSchema = v.pipe(v.number(), v.integer(), v.minValue(0));
7
+ const VipTierRates = {
8
+ volumeThresholdUsd: DecimalStringSchema,
9
+ makerFeeRatePercent: DecimalStringSchema,
10
+ takerFeeRatePercent: DecimalStringSchema
11
+ };
12
+ const VipTierSchema = v.union([v.object({
13
+ tier: v.literal(0),
14
+ ...VipTierRates
15
+ }), v.object({
16
+ tier: v.pipe(VipTierNumberSchema, v.minValue(1)),
17
+ aopThresholdUsd: DecimalStringSchema,
18
+ ...VipTierRates
19
+ })]);
20
+ const NextVipTierThresholdsSchema = v.object({
21
+ tier: v.pipe(VipTierNumberSchema, v.minValue(1)),
22
+ volumeThresholdUsd: DecimalStringSchema,
23
+ aopThresholdUsd: DecimalStringSchema
24
+ });
25
+ const VipTierCatalogSchema = v.object({
26
+ policyVersion: BigIntStringSchema,
27
+ effectiveFrom: TimestampMsSchema,
28
+ retentionThresholdBp: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(1e4)),
29
+ tiers: v.array(VipTierSchema)
30
+ });
31
+ const VipStatusSchema = v.object({
32
+ tier: VipTierNumberSchema,
33
+ volumeTier: VipTierNumberSchema,
34
+ aopTier: VipTierNumberSchema,
35
+ settledVolume30dUsd: OptionalDecimalStringSchema,
36
+ averageAop30dUsd: OptionalDecimalStringSchema,
37
+ policyVersion: BigIntStringSchema,
38
+ policyEffectiveFrom: TimestampMsSchema,
39
+ effectiveFrom: OptionalTimestampMsSchema,
40
+ evaluatedAt: OptionalTimestampMsSchema,
41
+ metricsAsOf: OptionalTimestampMsSchema,
42
+ nextTierThresholds: v.optional(NextVipTierThresholdsSchema)
43
+ });
44
+ //#endregion
45
+ export { NextVipTierThresholdsSchema, VipStatusSchema, VipTierCatalogSchema, VipTierNumberSchema, VipTierSchema };
46
+
47
+ //# sourceMappingURL=vip.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vip.schemas.js","names":[],"sources":["../../../src/services/vip/vip.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n BigIntStringSchema,\n OptionalTimestampMsSchema,\n TimestampMsSchema,\n} from \"../../shared/schemas.js\";\n\nconst DecimalStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nconst OptionalDecimalStringSchema = v.optional(DecimalStringSchema);\n\nexport const VipTierNumberSchema = v.pipe(v.number(), v.integer(), v.minValue(0));\n\nconst VipTierRates = {\n volumeThresholdUsd: DecimalStringSchema,\n makerFeeRatePercent: DecimalStringSchema,\n takerFeeRatePercent: DecimalStringSchema,\n};\n\nexport const VipTierSchema = v.union([\n v.object({\n tier: v.literal(0),\n ...VipTierRates,\n }),\n v.object({\n tier: v.pipe(VipTierNumberSchema, v.minValue(1)),\n aopThresholdUsd: DecimalStringSchema,\n ...VipTierRates,\n }),\n]);\n\nexport type VipTier = v.InferOutput<typeof VipTierSchema>;\n\nexport const NextVipTierThresholdsSchema = v.object({\n tier: v.pipe(VipTierNumberSchema, v.minValue(1)),\n volumeThresholdUsd: DecimalStringSchema,\n aopThresholdUsd: DecimalStringSchema,\n});\n\nexport type NextVipTierThresholds = v.InferOutput<typeof NextVipTierThresholdsSchema>;\n\nexport const VipTierCatalogSchema = v.object({\n policyVersion: BigIntStringSchema,\n effectiveFrom: TimestampMsSchema,\n retentionThresholdBp: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(10_000)),\n tiers: v.array(VipTierSchema),\n});\n\nexport type VipTierCatalog = v.InferOutput<typeof VipTierCatalogSchema>;\n\nexport const VipStatusSchema = v.object({\n tier: VipTierNumberSchema,\n volumeTier: VipTierNumberSchema,\n aopTier: VipTierNumberSchema,\n settledVolume30dUsd: OptionalDecimalStringSchema,\n averageAop30dUsd: OptionalDecimalStringSchema,\n policyVersion: BigIntStringSchema,\n policyEffectiveFrom: TimestampMsSchema,\n effectiveFrom: OptionalTimestampMsSchema,\n evaluatedAt: OptionalTimestampMsSchema,\n metricsAsOf: OptionalTimestampMsSchema,\n nextTierThresholds: v.optional(NextVipTierThresholdsSchema),\n});\n\nexport type VipStatus = v.InferOutput<typeof VipStatusSchema>;\n"],"mappings":";;;AAOA,MAAM,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAEvE,MAAM,8BAA8B,EAAE,SAAS,mBAAmB;AAElE,MAAa,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;AAEhF,MAAM,eAAe;CACjB,oBAAoB;CACpB,qBAAqB;CACrB,qBAAqB;AACzB;AAEA,MAAa,gBAAgB,EAAE,MAAM,CACjC,EAAE,OAAO;CACL,MAAM,EAAE,QAAQ,CAAC;CACjB,GAAG;AACP,CAAC,GACD,EAAE,OAAO;CACL,MAAM,EAAE,KAAK,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAC/C,iBAAiB;CACjB,GAAG;AACP,CAAC,CACL,CAAC;AAID,MAAa,8BAA8B,EAAE,OAAO;CAChD,MAAM,EAAE,KAAK,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAC/C,oBAAoB;CACpB,iBAAiB;AACrB,CAAC;AAID,MAAa,uBAAuB,EAAE,OAAO;CACzC,eAAe;CACf,eAAe;CACf,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,GAAM,CAAC;CACvF,OAAO,EAAE,MAAM,aAAa;AAChC,CAAC;AAID,MAAa,kBAAkB,EAAE,OAAO;CACpC,MAAM;CACN,YAAY;CACZ,SAAS;CACT,qBAAqB;CACrB,kBAAkB;CAClB,eAAe;CACf,qBAAqB;CACrB,eAAe;CACf,aAAa;CACb,aAAa;CACb,oBAAoB,EAAE,SAAS,2BAA2B;AAC9D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { NextVipTierThresholds, VipStatus, VipTier, VipTierCatalog } from "./vip.schemas.js";
2
+ export type { NextVipTierThresholds, VipStatus, VipTier, VipTierCatalog };
@@ -1 +1 @@
1
- {"version":3,"file":"whiteboard.js","names":["#client","Proto.WhiteboardService","v.parse"],"sources":["../../../src/services/whiteboard/whiteboard.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/collab/v1/whiteboard_pb.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n ArchiveWhiteboardBoardInputSchema,\n ArchiveWhiteboardBoardResultSchema,\n CreateWhiteboardBoardInputSchema,\n CreateWhiteboardBoardResultSchema,\n GetWhiteboardBoardInputSchema,\n GetWhiteboardBoardResultSchema,\n ListWhiteboardBoardsInputSchema,\n ListWhiteboardBoardsResultSchema,\n MintWhiteboardJoinTokenInputSchema,\n UpdateWhiteboardBoardAclInputSchema,\n UpdateWhiteboardBoardAclResultSchema,\n UpdateWhiteboardBoardInputSchema,\n UpdateWhiteboardBoardResultSchema,\n WhiteboardJoinTokenResultSchema,\n type ArchiveWhiteboardBoardInput,\n type ArchiveWhiteboardBoardResult,\n type CreateWhiteboardBoardInput,\n type CreateWhiteboardBoardResult,\n type GetWhiteboardBoardInput,\n type GetWhiteboardBoardResult,\n type ListWhiteboardBoardsInput,\n type ListWhiteboardBoardsResult,\n type MintWhiteboardJoinTokenInput,\n type UpdateWhiteboardBoardAclInput,\n type UpdateWhiteboardBoardAclResult,\n type UpdateWhiteboardBoardInput,\n type UpdateWhiteboardBoardResult,\n type WhiteboardJoinTokenResult,\n} from \"./whiteboard.schemas.js\";\n\n/**\n * Manages collaborative whiteboards, ACLs, archive state, and join tokens.\n */\nexport class WhiteboardService {\n #client: Client<typeof Proto.WhiteboardService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.WhiteboardService, transport);\n }\n\n /**\n * Creates a whiteboard and returns the parsed whiteboard record.\n */\n async create(\n input: CreateWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateWhiteboardBoardResult> {\n const validatedInput = v.parse(CreateWhiteboardBoardInputSchema, input);\n const res = await this.#client.createBoard(validatedInput, toConnectCallOptions(options));\n return v.parse(CreateWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Fetches a whiteboard by id and returns null when no whiteboard is present in the response.\n */\n async get(\n input: GetWhiteboardBoardInput | string,\n options?: PolyesterRequestOptions,\n ): Promise<GetWhiteboardBoardResult> {\n const validatedInput = v.parse(\n GetWhiteboardBoardInputSchema,\n typeof input === \"string\" ? { boardId: input } : input,\n );\n const res = await this.#client.getBoard(validatedInput, toConnectCallOptions(options));\n return v.parse(GetWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Returns whiteboards matching the requested filters.\n */\n async list(\n input: ListWhiteboardBoardsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<ListWhiteboardBoardsResult> {\n const validatedInput = v.parse(ListWhiteboardBoardsInputSchema, input);\n const res = await this.#client.listBoards(validatedInput, toConnectCallOptions(options));\n return v.parse(ListWhiteboardBoardsResultSchema, res);\n }\n\n /**\n * Updates whiteboard metadata such as title or archive-related fields.\n */\n async update(\n input: UpdateWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<UpdateWhiteboardBoardResult> {\n const validatedInput = v.parse(UpdateWhiteboardBoardInputSchema, input);\n const res = await this.#client.updateBoard(\n removeUndefined({ ...validatedInput }) as Proto.UpdateBoardRequest,\n toConnectCallOptions(options),\n );\n return v.parse(UpdateWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Updates whiteboard access-control entries.\n */\n async updateAcl(\n input: UpdateWhiteboardBoardAclInput,\n options?: PolyesterMutationOptions,\n ): Promise<UpdateWhiteboardBoardAclResult> {\n const validatedInput = v.parse(UpdateWhiteboardBoardAclInputSchema, input);\n const res = await this.#client.updateBoardAcl(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(UpdateWhiteboardBoardAclResultSchema, res);\n }\n\n /**\n * Archives a whiteboard by id.\n */\n async archive(\n input: ArchiveWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<ArchiveWhiteboardBoardResult> {\n const validatedInput = v.parse(ArchiveWhiteboardBoardInputSchema, input);\n const res = await this.#client.archiveBoard(validatedInput, toConnectCallOptions(options));\n return v.parse(ArchiveWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Creates a join token that can grant access to a whiteboard.\n */\n async mintJoinToken(\n input: MintWhiteboardJoinTokenInput | string,\n options?: PolyesterMutationOptions,\n ): Promise<WhiteboardJoinTokenResult> {\n const validatedInput = v.parse(\n MintWhiteboardJoinTokenInputSchema,\n typeof input === \"string\" ? { boardId: input } : input,\n );\n const res = await this.#client.mintJoinToken(validatedInput, toConnectCallOptions(options));\n return v.parse(WhiteboardJoinTokenResultSchema, res);\n }\n}\n"],"mappings":";;;;;;;;;;AA2CA,IAAa,oBAAb,MAA+B;CAC3B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,qBAAyB,SAAS;CAClE;;;;CAKA,MAAM,OACF,OACA,SACoC;EACpC,MAAM,iBAAiBC,MAAQ,kCAAkC,KAAK;EACtE,MAAM,MAAM,MAAM,KAAKF,QAAQ,YAAY,gBAAgB,qBAAqB,OAAO,CAAC;EACxF,OAAOE,MAAQ,mCAAmC,GAAG;CACzD;;;;CAKA,MAAM,IACF,OACA,SACiC;EACjC,MAAM,iBAAiBA,MACnB,+BACA,OAAO,UAAU,WAAW,EAAE,SAAS,MAAM,IAAI,KACrD;EACA,MAAM,MAAM,MAAM,KAAKF,QAAQ,SAAS,gBAAgB,qBAAqB,OAAO,CAAC;EACrF,OAAOE,MAAQ,gCAAgC,GAAG;CACtD;;;;CAKA,MAAM,KACF,QAAmC,CAAC,GACpC,SACmC;EACnC,MAAM,iBAAiBA,MAAQ,iCAAiC,KAAK;EACrE,MAAM,MAAM,MAAM,KAAKF,QAAQ,WAAW,gBAAgB,qBAAqB,OAAO,CAAC;EACvF,OAAOE,MAAQ,kCAAkC,GAAG;CACxD;;;;CAKA,MAAM,OACF,OACA,SACoC;EACpC,MAAM,iBAAiBA,MAAQ,kCAAkC,KAAK;EACtE,MAAM,MAAM,MAAM,KAAKF,QAAQ,YAC3B,gBAAgB,EAAE,GAAG,eAAe,CAAC,GACrC,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,mCAAmC,GAAG;CACzD;;;;CAKA,MAAM,UACF,OACA,SACuC;EACvC,MAAM,iBAAiBA,MAAQ,qCAAqC,KAAK;EACzE,MAAM,MAAM,MAAM,KAAKF,QAAQ,eAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,sCAAsC,GAAG;CAC5D;;;;CAKA,MAAM,QACF,OACA,SACqC;EACrC,MAAM,iBAAiBA,MAAQ,mCAAmC,KAAK;EACvE,MAAM,MAAM,MAAM,KAAKF,QAAQ,aAAa,gBAAgB,qBAAqB,OAAO,CAAC;EACzF,OAAOE,MAAQ,oCAAoC,GAAG;CAC1D;;;;CAKA,MAAM,cACF,OACA,SACkC;EAClC,MAAM,iBAAiBA,MACnB,oCACA,OAAO,UAAU,WAAW,EAAE,SAAS,MAAM,IAAI,KACrD;EACA,MAAM,MAAM,MAAM,KAAKF,QAAQ,cAAc,gBAAgB,qBAAqB,OAAO,CAAC;EAC1F,OAAOE,MAAQ,iCAAiC,GAAG;CACvD;AACJ"}
1
+ {"version":3,"file":"whiteboard.js","names":["#client","Proto.WhiteboardService"],"sources":["../../../src/services/whiteboard/whiteboard.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/collab/v1/whiteboard_pb.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n ArchiveWhiteboardBoardInputSchema,\n ArchiveWhiteboardBoardResultSchema,\n CreateWhiteboardBoardInputSchema,\n CreateWhiteboardBoardResultSchema,\n GetWhiteboardBoardInputSchema,\n GetWhiteboardBoardResultSchema,\n ListWhiteboardBoardsInputSchema,\n ListWhiteboardBoardsResultSchema,\n MintWhiteboardJoinTokenInputSchema,\n UpdateWhiteboardBoardAclInputSchema,\n UpdateWhiteboardBoardAclResultSchema,\n UpdateWhiteboardBoardInputSchema,\n UpdateWhiteboardBoardResultSchema,\n WhiteboardJoinTokenResultSchema,\n type ArchiveWhiteboardBoardInput,\n type ArchiveWhiteboardBoardResult,\n type CreateWhiteboardBoardInput,\n type CreateWhiteboardBoardResult,\n type GetWhiteboardBoardInput,\n type GetWhiteboardBoardResult,\n type ListWhiteboardBoardsInput,\n type ListWhiteboardBoardsResult,\n type MintWhiteboardJoinTokenInput,\n type UpdateWhiteboardBoardAclInput,\n type UpdateWhiteboardBoardAclResult,\n type UpdateWhiteboardBoardInput,\n type UpdateWhiteboardBoardResult,\n type WhiteboardJoinTokenResult,\n} from \"./whiteboard.schemas.js\";\n\n/**\n * Manages collaborative whiteboards, ACLs, archive state, and join tokens.\n */\nexport class WhiteboardService {\n #client: Client<typeof Proto.WhiteboardService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.WhiteboardService, transport);\n }\n\n /**\n * Creates a whiteboard and returns the parsed whiteboard record.\n */\n async create(\n input: CreateWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateWhiteboardBoardResult> {\n const validatedInput = parse(CreateWhiteboardBoardInputSchema, input);\n const res = await this.#client.createBoard(validatedInput, toConnectCallOptions(options));\n return parse(CreateWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Fetches a whiteboard by id and returns null when no whiteboard is present in the response.\n */\n async get(\n input: GetWhiteboardBoardInput | string,\n options?: PolyesterRequestOptions,\n ): Promise<GetWhiteboardBoardResult> {\n const validatedInput = parse(\n GetWhiteboardBoardInputSchema,\n typeof input === \"string\" ? { boardId: input } : input,\n );\n const res = await this.#client.getBoard(validatedInput, toConnectCallOptions(options));\n return parse(GetWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Returns whiteboards matching the requested filters.\n */\n async list(\n input: ListWhiteboardBoardsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<ListWhiteboardBoardsResult> {\n const validatedInput = parse(ListWhiteboardBoardsInputSchema, input);\n const res = await this.#client.listBoards(validatedInput, toConnectCallOptions(options));\n return parse(ListWhiteboardBoardsResultSchema, res);\n }\n\n /**\n * Updates whiteboard metadata such as title or archive-related fields.\n */\n async update(\n input: UpdateWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<UpdateWhiteboardBoardResult> {\n const validatedInput = parse(UpdateWhiteboardBoardInputSchema, input);\n const res = await this.#client.updateBoard(\n removeUndefined({ ...validatedInput }) as Proto.UpdateBoardRequest,\n toConnectCallOptions(options),\n );\n return parse(UpdateWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Updates whiteboard access-control entries.\n */\n async updateAcl(\n input: UpdateWhiteboardBoardAclInput,\n options?: PolyesterMutationOptions,\n ): Promise<UpdateWhiteboardBoardAclResult> {\n const validatedInput = parse(UpdateWhiteboardBoardAclInputSchema, input);\n const res = await this.#client.updateBoardAcl(\n validatedInput,\n toConnectCallOptions(options),\n );\n return parse(UpdateWhiteboardBoardAclResultSchema, res);\n }\n\n /**\n * Archives a whiteboard by id.\n */\n async archive(\n input: ArchiveWhiteboardBoardInput,\n options?: PolyesterMutationOptions,\n ): Promise<ArchiveWhiteboardBoardResult> {\n const validatedInput = parse(ArchiveWhiteboardBoardInputSchema, input);\n const res = await this.#client.archiveBoard(validatedInput, toConnectCallOptions(options));\n return parse(ArchiveWhiteboardBoardResultSchema, res);\n }\n\n /**\n * Creates a join token that can grant access to a whiteboard.\n */\n async mintJoinToken(\n input: MintWhiteboardJoinTokenInput | string,\n options?: PolyesterMutationOptions,\n ): Promise<WhiteboardJoinTokenResult> {\n const validatedInput = parse(\n MintWhiteboardJoinTokenInputSchema,\n typeof input === \"string\" ? { boardId: input } : input,\n );\n const res = await this.#client.mintJoinToken(validatedInput, toConnectCallOptions(options));\n return parse(WhiteboardJoinTokenResultSchema, res);\n }\n}\n"],"mappings":";;;;;;;;;;AA2CA,IAAa,oBAAb,MAA+B;CAC3B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,qBAAyB,SAAS;CAClE;;;;CAKA,MAAM,OACF,OACA,SACoC;EACpC,MAAM,iBAAiB,MAAM,kCAAkC,KAAK;EACpE,MAAM,MAAM,MAAM,KAAKD,QAAQ,YAAY,gBAAgB,qBAAqB,OAAO,CAAC;EACxF,OAAO,MAAM,mCAAmC,GAAG;CACvD;;;;CAKA,MAAM,IACF,OACA,SACiC;EACjC,MAAM,iBAAiB,MACnB,+BACA,OAAO,UAAU,WAAW,EAAE,SAAS,MAAM,IAAI,KACrD;EACA,MAAM,MAAM,MAAM,KAAKA,QAAQ,SAAS,gBAAgB,qBAAqB,OAAO,CAAC;EACrF,OAAO,MAAM,gCAAgC,GAAG;CACpD;;;;CAKA,MAAM,KACF,QAAmC,CAAC,GACpC,SACmC;EACnC,MAAM,iBAAiB,MAAM,iCAAiC,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKA,QAAQ,WAAW,gBAAgB,qBAAqB,OAAO,CAAC;EACvF,OAAO,MAAM,kCAAkC,GAAG;CACtD;;;;CAKA,MAAM,OACF,OACA,SACoC;EACpC,MAAM,iBAAiB,MAAM,kCAAkC,KAAK;EACpE,MAAM,MAAM,MAAM,KAAKA,QAAQ,YAC3B,gBAAgB,EAAE,GAAG,eAAe,CAAC,GACrC,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,mCAAmC,GAAG;CACvD;;;;CAKA,MAAM,UACF,OACA,SACuC;EACvC,MAAM,iBAAiB,MAAM,qCAAqC,KAAK;EACvE,MAAM,MAAM,MAAM,KAAKA,QAAQ,eAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,sCAAsC,GAAG;CAC1D;;;;CAKA,MAAM,QACF,OACA,SACqC;EACrC,MAAM,iBAAiB,MAAM,mCAAmC,KAAK;EACrE,MAAM,MAAM,MAAM,KAAKA,QAAQ,aAAa,gBAAgB,qBAAqB,OAAO,CAAC;EACzF,OAAO,MAAM,oCAAoC,GAAG;CACxD;;;;CAKA,MAAM,cACF,OACA,SACkC;EAClC,MAAM,iBAAiB,MACnB,oCACA,OAAO,UAAU,WAAW,EAAE,SAAS,MAAM,IAAI,KACrD;EACA,MAAM,MAAM,MAAM,KAAKA,QAAQ,cAAc,gBAAgB,qBAAqB,OAAO,CAAC;EAC1F,OAAO,MAAM,iCAAiC,GAAG;CACrD;AACJ"}