@gala-chain/launchpad-sdk 5.0.3 → 5.0.4-beta.1

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 (406) hide show
  1. package/EXAMPLES.md +141 -7
  2. package/README.md +68 -36
  3. package/dist/ai-docs.json +7357 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.d.ts +70 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/src/LaunchpadSDK.d.ts +3288 -214
  10. package/dist/src/LaunchpadSDK.d.ts.map +1 -1
  11. package/dist/src/api/LaunchpadAPI.d.ts +21 -41
  12. package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
  13. package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
  14. package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
  15. package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
  16. package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
  17. package/dist/src/auth/JwtAuth.d.ts +145 -0
  18. package/dist/src/auth/JwtAuth.d.ts.map +1 -0
  19. package/dist/src/auth/SessionAuthService.d.ts +146 -0
  20. package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
  21. package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
  22. package/dist/src/bridge/BridgeService.d.ts.map +1 -1
  23. package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
  24. package/dist/src/bridge/constants/tokens.d.ts +4 -3
  25. package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
  26. package/dist/src/bridge/index.d.ts +1 -0
  27. package/dist/src/bridge/index.d.ts.map +1 -1
  28. package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
  29. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
  30. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
  31. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
  32. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
  33. package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
  34. package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
  35. package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
  36. package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
  37. package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
  38. package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
  39. package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
  40. package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
  41. package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
  42. package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
  43. package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
  44. package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
  45. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
  46. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
  47. package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
  48. package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
  49. package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
  50. package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
  51. package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
  52. package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
  53. package/dist/src/bridge/utils/index.d.ts +9 -0
  54. package/dist/src/bridge/utils/index.d.ts.map +1 -1
  55. package/dist/src/bridge/utils/retry.d.ts +16 -0
  56. package/dist/src/bridge/utils/retry.d.ts.map +1 -1
  57. package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
  58. package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
  59. package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
  60. package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
  61. package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
  62. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
  63. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
  64. package/dist/src/constants/endpoints.d.ts +453 -0
  65. package/dist/src/constants/endpoints.d.ts.map +1 -1
  66. package/dist/src/constants/error-messages.d.ts +1 -1
  67. package/dist/src/constants/error-messages.d.ts.map +1 -1
  68. package/dist/src/constants/jwt.d.ts +41 -0
  69. package/dist/src/constants/jwt.d.ts.map +1 -0
  70. package/dist/src/constants/sdk-defaults.d.ts +37 -0
  71. package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
  72. package/dist/src/constants/version.generated.d.ts +1 -1
  73. package/dist/src/constants/version.generated.d.ts.map +1 -1
  74. package/dist/src/helpers/sdk.d.ts.map +1 -1
  75. package/dist/src/helpers/wallet.d.ts +4 -3
  76. package/dist/src/helpers/wallet.d.ts.map +1 -1
  77. package/dist/src/index.d.ts +70 -11
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/schemas/files.d.ts +2 -2
  80. package/dist/src/schemas/launchpad.d.ts +40 -8
  81. package/dist/src/schemas/launchpad.d.ts.map +1 -1
  82. package/dist/src/schemas/pagination.d.ts +7 -7
  83. package/dist/src/schemas/primitives.d.ts.map +1 -1
  84. package/dist/src/schemas/trade.d.ts +6 -6
  85. package/dist/src/schemas/user.d.ts +4 -4
  86. package/dist/src/schemas/validators.d.ts +15 -7
  87. package/dist/src/schemas/validators.d.ts.map +1 -1
  88. package/dist/src/services/AbstractCacheService.d.ts +227 -0
  89. package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
  90. package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
  91. package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
  92. package/dist/src/services/ApiKeyService.d.ts +205 -0
  93. package/dist/src/services/ApiKeyService.d.ts.map +1 -0
  94. package/dist/src/services/BanService.d.ts +195 -0
  95. package/dist/src/services/BanService.d.ts.map +1 -0
  96. package/dist/src/services/BaseService.d.ts +50 -3
  97. package/dist/src/services/BaseService.d.ts.map +1 -1
  98. package/dist/src/services/BatchedCacheService.d.ts +132 -0
  99. package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
  100. package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
  101. package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
  102. package/dist/src/services/BridgeableTokenService.d.ts +18 -13
  103. package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
  104. package/dist/src/services/BundleService.d.ts.map +1 -1
  105. package/dist/src/services/BundlerClientFactory.d.ts +32 -0
  106. package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
  107. package/dist/src/services/ChatMessagesService.d.ts +152 -0
  108. package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
  109. package/dist/src/services/CommentService.d.ts +119 -0
  110. package/dist/src/services/CommentService.d.ts.map +1 -0
  111. package/dist/src/services/CommentsService.d.ts +155 -0
  112. package/dist/src/services/CommentsService.d.ts.map +1 -0
  113. package/dist/src/services/ContentFlagService.d.ts +212 -0
  114. package/dist/src/services/ContentFlagService.d.ts.map +1 -0
  115. package/dist/src/services/ContentReactionService.d.ts +175 -0
  116. package/dist/src/services/ContentReactionService.d.ts.map +1 -0
  117. package/dist/src/services/DexBackendClient.d.ts.map +1 -1
  118. package/dist/src/services/DexPoolService.d.ts +3 -3
  119. package/dist/src/services/DexPoolService.d.ts.map +1 -1
  120. package/dist/src/services/DexQuoteService.d.ts.map +1 -1
  121. package/dist/src/services/DexService.d.ts +2 -5
  122. package/dist/src/services/DexService.d.ts.map +1 -1
  123. package/dist/src/services/GSwapAssetService.d.ts +80 -0
  124. package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
  125. package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
  126. package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
  127. package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
  128. package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
  129. package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
  130. package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
  131. package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
  132. package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
  133. package/dist/src/services/GSwapService.d.ts +14 -0
  134. package/dist/src/services/GSwapService.d.ts.map +1 -1
  135. package/dist/src/services/GSwapSwapService.d.ts +68 -0
  136. package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
  137. package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
  138. package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
  139. package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
  140. package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
  141. package/dist/src/services/GalaChainLockService.d.ts +144 -0
  142. package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
  143. package/dist/src/services/GalaChainService.d.ts +23 -106
  144. package/dist/src/services/GalaChainService.d.ts.map +1 -1
  145. package/dist/src/services/GalaChainTokenService.d.ts +108 -0
  146. package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
  147. package/dist/src/services/GalaChainTransferService.d.ts +205 -0
  148. package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
  149. package/dist/src/services/ImageService.d.ts +24 -8
  150. package/dist/src/services/ImageService.d.ts.map +1 -1
  151. package/dist/src/services/LaunchpadService.d.ts +77 -5
  152. package/dist/src/services/LaunchpadService.d.ts.map +1 -1
  153. package/dist/src/services/ModeratorService.d.ts +269 -0
  154. package/dist/src/services/ModeratorService.d.ts.map +1 -0
  155. package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
  156. package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
  157. package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
  158. package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
  159. package/dist/src/services/OverseerService.d.ts +322 -0
  160. package/dist/src/services/OverseerService.d.ts.map +1 -0
  161. package/dist/src/services/PoolCacheManager.d.ts +2 -2
  162. package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
  163. package/dist/src/services/PoolService.d.ts +61 -7
  164. package/dist/src/services/PoolService.d.ts.map +1 -1
  165. package/dist/src/services/PoolStateManager.d.ts +2 -2
  166. package/dist/src/services/PoolStateManager.d.ts.map +1 -1
  167. package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
  168. package/dist/src/services/SignatureService.d.ts.map +1 -1
  169. package/dist/src/services/StreamChatService.d.ts +378 -0
  170. package/dist/src/services/StreamChatService.d.ts.map +1 -0
  171. package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
  172. package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
  173. package/dist/src/services/StreamWebSocketService.d.ts +268 -0
  174. package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
  175. package/dist/src/services/StreamingEventService.d.ts +431 -0
  176. package/dist/src/services/StreamingEventService.d.ts.map +1 -0
  177. package/dist/src/services/StreamingService.d.ts +547 -0
  178. package/dist/src/services/StreamingService.d.ts.map +1 -0
  179. package/dist/src/services/SwapEventQueue.d.ts +2 -2
  180. package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
  181. package/dist/src/services/TokenBanService.d.ts +214 -0
  182. package/dist/src/services/TokenBanService.d.ts.map +1 -0
  183. package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
  184. package/dist/src/services/TokenMetadataCache.d.ts +36 -27
  185. package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
  186. package/dist/src/services/TokenMetadataService.d.ts +24 -4
  187. package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
  188. package/dist/src/services/TokenResolverService.d.ts.map +1 -1
  189. package/dist/src/services/TradeService.d.ts +73 -0
  190. package/dist/src/services/TradeService.d.ts.map +1 -1
  191. package/dist/src/services/UserService.d.ts +56 -3
  192. package/dist/src/services/UserService.d.ts.map +1 -1
  193. package/dist/src/services/WebSocketService.d.ts +3 -3
  194. package/dist/src/services/WebSocketService.d.ts.map +1 -1
  195. package/dist/src/services/WrapService.d.ts +18 -5
  196. package/dist/src/services/WrapService.d.ts.map +1 -1
  197. package/dist/src/services/WrappableTokenCache.d.ts +8 -36
  198. package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
  199. package/dist/src/services/WrappableTokenService.d.ts +18 -12
  200. package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
  201. package/dist/src/services/shared/cache-helpers.d.ts +188 -0
  202. package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
  203. package/dist/src/services/shared/http-helpers.d.ts +146 -0
  204. package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
  205. package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
  206. package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
  207. package/dist/src/services/shared/service-validators.d.ts +137 -0
  208. package/dist/src/services/shared/service-validators.d.ts.map +1 -0
  209. package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
  210. package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
  211. package/dist/src/test-constants.d.ts +29 -0
  212. package/dist/src/test-constants.d.ts.map +1 -0
  213. package/dist/src/types/api-key.dto.d.ts +300 -0
  214. package/dist/src/types/api-key.dto.d.ts.map +1 -0
  215. package/dist/src/types/backend-responses.d.ts +12 -0
  216. package/dist/src/types/backend-responses.d.ts.map +1 -1
  217. package/dist/src/types/ban.dto.d.ts +413 -0
  218. package/dist/src/types/ban.dto.d.ts.map +1 -0
  219. package/dist/src/types/burn.dto.d.ts +21 -0
  220. package/dist/src/types/burn.dto.d.ts.map +1 -1
  221. package/dist/src/types/chat-messages.dto.d.ts +193 -0
  222. package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
  223. package/dist/src/types/comment.dto.d.ts +180 -0
  224. package/dist/src/types/comment.dto.d.ts.map +1 -0
  225. package/dist/src/types/comments.dto.d.ts +210 -0
  226. package/dist/src/types/comments.dto.d.ts.map +1 -0
  227. package/dist/src/types/common.d.ts +369 -0
  228. package/dist/src/types/common.d.ts.map +1 -1
  229. package/dist/src/types/constraints.d.ts +374 -0
  230. package/dist/src/types/constraints.d.ts.map +1 -0
  231. package/dist/src/types/content-flag.dto.d.ts +310 -0
  232. package/dist/src/types/content-flag.dto.d.ts.map +1 -0
  233. package/dist/src/types/content-reactions.dto.d.ts +132 -0
  234. package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
  235. package/dist/src/types/dex-pool.dto.d.ts +13 -37
  236. package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
  237. package/dist/src/types/dto.d.ts +8 -0
  238. package/dist/src/types/dto.d.ts.map +1 -1
  239. package/dist/src/types/galachain-api.types.d.ts +30 -0
  240. package/dist/src/types/galachain-api.types.d.ts.map +1 -1
  241. package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
  242. package/dist/src/types/launchpad.dto.d.ts +234 -131
  243. package/dist/src/types/launchpad.dto.d.ts.map +1 -1
  244. package/dist/src/types/launchpad.validation.d.ts.map +1 -1
  245. package/dist/src/types/lock.dto.d.ts +20 -35
  246. package/dist/src/types/lock.dto.d.ts.map +1 -1
  247. package/dist/src/types/moderator.dto.d.ts +581 -0
  248. package/dist/src/types/moderator.dto.d.ts.map +1 -0
  249. package/dist/src/types/options.dto.d.ts +25 -115
  250. package/dist/src/types/options.dto.d.ts.map +1 -1
  251. package/dist/src/types/overseer.dto.d.ts +420 -0
  252. package/dist/src/types/overseer.dto.d.ts.map +1 -0
  253. package/dist/src/types/pool.dto.d.ts +106 -0
  254. package/dist/src/types/pool.dto.d.ts.map +1 -0
  255. package/dist/src/types/result.types.d.ts +3 -2
  256. package/dist/src/types/result.types.d.ts.map +1 -1
  257. package/dist/src/types/session-auth.dto.d.ts +91 -0
  258. package/dist/src/types/session-auth.dto.d.ts.map +1 -0
  259. package/dist/src/types/stream-chat.dto.d.ts +815 -0
  260. package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
  261. package/dist/src/types/streaming-events.dto.d.ts +586 -0
  262. package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
  263. package/dist/src/types/streaming.dto.d.ts +1141 -0
  264. package/dist/src/types/streaming.dto.d.ts.map +1 -0
  265. package/dist/src/types/token-ban.dto.d.ts +195 -0
  266. package/dist/src/types/token-ban.dto.d.ts.map +1 -0
  267. package/dist/src/types/trade.dto.d.ts +21 -61
  268. package/dist/src/types/trade.dto.d.ts.map +1 -1
  269. package/dist/src/types/trades-query.dto.d.ts +127 -0
  270. package/dist/src/types/trades-query.dto.d.ts.map +1 -0
  271. package/dist/src/types/transfer.dto.d.ts +20 -15
  272. package/dist/src/types/transfer.dto.d.ts.map +1 -1
  273. package/dist/src/types/user.dto.d.ts +185 -73
  274. package/dist/src/types/user.dto.d.ts.map +1 -1
  275. package/dist/src/types/wrappable-token.dto.d.ts +6 -2
  276. package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
  277. package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
  278. package/dist/src/utils/Logger.d.ts.map +1 -1
  279. package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
  280. package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
  281. package/dist/src/utils/ReconnectionManager.d.ts +142 -0
  282. package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
  283. package/dist/src/utils/SignatureHelper.d.ts +9 -0
  284. package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
  285. package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
  286. package/dist/src/utils/adapters.d.ts.map +1 -1
  287. package/dist/src/utils/address-formatter.d.ts +317 -0
  288. package/dist/src/utils/address-formatter.d.ts.map +1 -0
  289. package/dist/src/utils/agent-config.d.ts.map +1 -1
  290. package/dist/src/utils/amount-validator.d.ts +268 -0
  291. package/dist/src/utils/amount-validator.d.ts.map +1 -0
  292. package/dist/src/utils/api-patterns.d.ts +347 -0
  293. package/dist/src/utils/api-patterns.d.ts.map +1 -0
  294. package/dist/src/utils/array-helpers.d.ts +115 -0
  295. package/dist/src/utils/array-helpers.d.ts.map +1 -0
  296. package/dist/src/utils/async-patterns.d.ts +272 -0
  297. package/dist/src/utils/async-patterns.d.ts.map +1 -0
  298. package/dist/src/utils/auto-pagination.d.ts +195 -2
  299. package/dist/src/utils/auto-pagination.d.ts.map +1 -1
  300. package/dist/src/utils/bignumber-helpers.d.ts +119 -13
  301. package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
  302. package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
  303. package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
  304. package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
  305. package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
  306. package/dist/src/utils/data-transform-patterns.d.ts +393 -0
  307. package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
  308. package/dist/src/utils/date-utils.d.ts +166 -0
  309. package/dist/src/utils/date-utils.d.ts.map +1 -1
  310. package/dist/src/utils/delimiter-parser.d.ts +139 -0
  311. package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
  312. package/dist/src/utils/error-factories.d.ts +346 -1
  313. package/dist/src/utils/error-factories.d.ts.map +1 -1
  314. package/dist/src/utils/error-handling-patterns.d.ts +390 -0
  315. package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
  316. package/dist/src/utils/error-patterns.d.ts +360 -0
  317. package/dist/src/utils/error-patterns.d.ts.map +1 -0
  318. package/dist/src/utils/error-utils.d.ts +250 -0
  319. package/dist/src/utils/error-utils.d.ts.map +1 -1
  320. package/dist/src/utils/error-wrapper.d.ts +208 -0
  321. package/dist/src/utils/error-wrapper.d.ts.map +1 -0
  322. package/dist/src/utils/errors.d.ts +70 -0
  323. package/dist/src/utils/errors.d.ts.map +1 -1
  324. package/dist/src/utils/http-factory.d.ts +36 -0
  325. package/dist/src/utils/http-factory.d.ts.map +1 -0
  326. package/dist/src/utils/http.d.ts.map +1 -1
  327. package/dist/src/utils/load-env.d.ts.map +1 -1
  328. package/dist/src/utils/multipart.d.ts.map +1 -1
  329. package/dist/src/utils/numeric-patterns.d.ts +289 -0
  330. package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
  331. package/dist/src/utils/numeric-wrappers.d.ts +146 -0
  332. package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
  333. package/dist/src/utils/object-extractors.d.ts +115 -0
  334. package/dist/src/utils/object-extractors.d.ts.map +1 -0
  335. package/dist/src/utils/object-patterns.d.ts +81 -0
  336. package/dist/src/utils/object-patterns.d.ts.map +1 -0
  337. package/dist/src/utils/pagination-helpers.d.ts +230 -0
  338. package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
  339. package/dist/src/utils/pool-pair-parser.d.ts +3 -1
  340. package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
  341. package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
  342. package/dist/src/utils/position-filters.d.ts +1 -2
  343. package/dist/src/utils/position-filters.d.ts.map +1 -1
  344. package/dist/src/utils/query-params.d.ts +0 -16
  345. package/dist/src/utils/query-params.d.ts.map +1 -1
  346. package/dist/src/utils/response-handlers.d.ts +149 -20
  347. package/dist/src/utils/response-handlers.d.ts.map +1 -1
  348. package/dist/src/utils/response-helpers.d.ts +28 -0
  349. package/dist/src/utils/response-helpers.d.ts.map +1 -0
  350. package/dist/src/utils/response-normalizers.d.ts +27 -49
  351. package/dist/src/utils/response-normalizers.d.ts.map +1 -1
  352. package/dist/src/utils/safe-parsers.d.ts +487 -0
  353. package/dist/src/utils/safe-parsers.d.ts.map +1 -0
  354. package/dist/src/utils/service-validators.d.ts +268 -0
  355. package/dist/src/utils/service-validators.d.ts.map +1 -0
  356. package/dist/src/utils/slippage-utils.d.ts.map +1 -1
  357. package/dist/src/utils/string-patterns.d.ts +404 -0
  358. package/dist/src/utils/string-patterns.d.ts.map +1 -0
  359. package/dist/src/utils/string-transforms.d.ts +89 -0
  360. package/dist/src/utils/string-transforms.d.ts.map +1 -0
  361. package/dist/src/utils/string-utils.d.ts +108 -0
  362. package/dist/src/utils/string-utils.d.ts.map +1 -0
  363. package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
  364. package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
  365. package/dist/src/utils/token-format-converter.d.ts +22 -8
  366. package/dist/src/utils/token-format-converter.d.ts.map +1 -1
  367. package/dist/src/utils/token-parser.d.ts +2 -2
  368. package/dist/src/utils/token-parser.d.ts.map +1 -1
  369. package/dist/src/utils/token-stringification.d.ts +168 -0
  370. package/dist/src/utils/token-stringification.d.ts.map +1 -0
  371. package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
  372. package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
  373. package/dist/src/utils/tokenNormalizer.d.ts +8 -45
  374. package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
  375. package/dist/src/utils/transfer-validation.d.ts +1 -1
  376. package/dist/src/utils/transfer-validation.d.ts.map +1 -1
  377. package/dist/src/utils/type-guard-factory.d.ts +260 -0
  378. package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
  379. package/dist/src/utils/unique-key-generator.d.ts +148 -0
  380. package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
  381. package/dist/src/utils/validation-helpers.d.ts +906 -183
  382. package/dist/src/utils/validation-helpers.d.ts.map +1 -1
  383. package/dist/src/utils/validation-patterns.d.ts +745 -0
  384. package/dist/src/utils/validation-patterns.d.ts.map +1 -0
  385. package/dist/src/utils/validation.d.ts +2 -30
  386. package/dist/src/utils/validation.d.ts.map +1 -1
  387. package/dist/src/utils/wallet.d.ts +12 -1
  388. package/dist/src/utils/wallet.d.ts.map +1 -1
  389. package/dist/src/utils/websocket-patterns.d.ts +681 -0
  390. package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
  391. package/dist/src/utils/websocket-validators.d.ts.map +1 -1
  392. package/package.json +86 -19
  393. package/dist/src/bridge/strategies/index.d.ts +0 -9
  394. package/dist/src/bridge/strategies/index.d.ts.map +0 -1
  395. package/dist/src/constants/counts.d.ts +0 -66
  396. package/dist/src/constants/counts.d.ts.map +0 -1
  397. package/dist/src/services/WebSocketManager.d.ts +0 -99
  398. package/dist/src/services/WebSocketManager.d.ts.map +0 -1
  399. package/dist/src/types/eip712-types.d.ts +0 -140
  400. package/dist/src/types/eip712-types.d.ts.map +0 -1
  401. package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
  402. package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
  403. package/dist/src/utils/number-utils.d.ts +0 -94
  404. package/dist/src/utils/number-utils.d.ts.map +0 -1
  405. package/dist/src/utils/precision-math.d.ts +0 -37
  406. package/dist/src/utils/precision-math.d.ts.map +0 -1
@@ -0,0 +1,547 @@
1
+ /**
2
+ * Streaming Service
3
+ *
4
+ * Handles all live streaming operations including stream management,
5
+ * recordings, simulcast targets, and global streaming status.
6
+ *
7
+ * @category Services
8
+ * @since 5.1.0
9
+ */
10
+ import { HttpClient } from '../utils/http';
11
+ import { StreamTokenServiceBase } from './StreamTokenServiceBase';
12
+ import type { JwtAuth } from '../auth/JwtAuth';
13
+ import { StreamInfo, StartStreamResult, ResetStreamKeyResult, FetchRecordingsOptions, RecordingsResult, RecordingDownloadResult, AddSimulcastTargetOptions, SimulcastTargetsResult, AddSimulcastTargetResult, GlobalStreamingStatus, StreamSettings, SetCountdownOptions, SetLanguageOptions, GetStreamRoleOptions, StreamRoleResponse, AvailableRolesResponse, GetTokenAccessOptions, TokenAccessResult } from '../types/streaming.dto';
14
+ /**
15
+ * Streaming Service Class
16
+ *
17
+ * Provides methods for:
18
+ * - Stream management (start, info, enable/disable)
19
+ * - Recording management (list, download, delete)
20
+ * - Simulcast target management (list, add, remove)
21
+ * - Global streaming status (get, enable/disable)
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const streamingService = new StreamingService(httpClient, 'admin-api-key', true);
26
+ *
27
+ * // Get stream info
28
+ * const info = await streamingService.getStreamInfo('mytoken');
29
+ *
30
+ * // Start a stream
31
+ * const stream = await streamingService.startStream('mytoken');
32
+ * console.log('RTMP URL:', stream.rtmpUrl);
33
+ * console.log('Stream Key:', stream.streamKey);
34
+ * ```
35
+ */
36
+ export declare class StreamingService extends StreamTokenServiceBase {
37
+ constructor(http: HttpClient, adminApiKey?: string, jwtAuth?: JwtAuth, debugMode?: boolean);
38
+ /**
39
+ * Get stream information for a token
40
+ *
41
+ * Public endpoint - no authentication required.
42
+ *
43
+ * @param tokenName Token name (lowercase)
44
+ * @returns Stream information including status, playback ID, and viewer count
45
+ * @throws ValidationError if token name is invalid
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const info = await streamingService.getStreamInfo('mytoken');
50
+ * console.log('Status:', info.status); // 'IDLE' | 'ACTIVE' | 'DISABLED'
51
+ * console.log('Is Live:', info.isLive);
52
+ * console.log('Viewers:', info.viewerCount);
53
+ * ```
54
+ */
55
+ getStreamInfo(tokenName: string): Promise<StreamInfo>;
56
+ /**
57
+ * Start a new stream for a token
58
+ *
59
+ * Requires JWT authentication (stream creator only).
60
+ *
61
+ * **Rate Limits:**
62
+ * - Stream operations are subject to backend rate limiting
63
+ * - Only one active stream per token is allowed
64
+ * - Excessive start/stop cycles may be temporarily throttled
65
+ *
66
+ * @param tokenName Token name (lowercase)
67
+ * @returns Stream credentials including RTMP URL and stream key
68
+ * @throws ValidationError if token name is invalid
69
+ * @throws Error if user is not authorized to start stream
70
+ * @throws Error if rate limit exceeded (HTTP 429)
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const stream = await streamingService.startStream('mytoken');
75
+ * console.log('RTMP URL:', stream.rtmpUrl);
76
+ * console.log('Stream Key:', stream.streamKey);
77
+ * console.log('Playback URL:', stream.playbackUrl);
78
+ * ```
79
+ */
80
+ startStream(tokenName: string): Promise<StartStreamResult>;
81
+ /**
82
+ * Stop an active stream for a token
83
+ *
84
+ * Requires JWT authentication (stream creator only).
85
+ * This immediately ends the current broadcast and sets the stream to IDLE.
86
+ * The stream can be restarted by calling startStream() again.
87
+ *
88
+ * Unlike disableStream() which is an admin operation that prevents streaming,
89
+ * stopStream() is for stream owners to end their current broadcast.
90
+ *
91
+ * @param tokenName Token name (lowercase)
92
+ * @throws ValidationError if token name is invalid
93
+ * @throws Error if user is not authorized (not stream owner)
94
+ * @throws Error if stream is not currently active
95
+ *
96
+ * @see https://www.mux.com/docs/api-reference/video/live-streams/signal-live-stream-complete
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * await streamingService.stopStream('mytoken');
101
+ * console.log('Stream stopped successfully');
102
+ * ```
103
+ */
104
+ stopStream(tokenName: string): Promise<void>;
105
+ /**
106
+ * Disable streaming for a token
107
+ *
108
+ * Admin endpoint - requires admin API key.
109
+ *
110
+ * @param tokenName Token name (lowercase)
111
+ * @returns Updated enabled status
112
+ * @throws ConfigurationError if admin API key is not set
113
+ * @throws ValidationError if token name is invalid
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * await streamingService.disableStream('mytoken');
118
+ * console.log('Stream disabled');
119
+ * ```
120
+ */
121
+ disableStream(tokenName: string): Promise<{
122
+ enabled: boolean;
123
+ tokenName: string;
124
+ }>;
125
+ /**
126
+ * Enable streaming for a token
127
+ *
128
+ * Admin endpoint - requires admin API key.
129
+ *
130
+ * @param tokenName Token name (lowercase)
131
+ * @returns Updated enabled status
132
+ * @throws ConfigurationError if admin API key is not set
133
+ * @throws ValidationError if token name is invalid
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * await streamingService.enableStream('mytoken');
138
+ * console.log('Stream enabled');
139
+ * ```
140
+ */
141
+ enableStream(tokenName: string): Promise<{
142
+ enabled: boolean;
143
+ tokenName: string;
144
+ }>;
145
+ /**
146
+ * Reset stream key for a token
147
+ *
148
+ * Requires JWT authentication (stream creator only).
149
+ * Use this if your stream key has been compromised.
150
+ *
151
+ * @param tokenName Token name (lowercase)
152
+ * @returns New stream key and RTMP URL
153
+ * @throws ValidationError if token name is invalid
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * const result = await streamingService.resetStreamKey('mytoken');
158
+ * console.log('New Stream Key:', result.streamKey);
159
+ * ```
160
+ */
161
+ resetStreamKey(tokenName: string): Promise<ResetStreamKeyResult>;
162
+ /**
163
+ * Get recordings for a token
164
+ *
165
+ * Public endpoint - no authentication required.
166
+ *
167
+ * @param options Fetch options including tokenName and optional pagination
168
+ * @returns Paginated list of recordings
169
+ * @throws ValidationError if token name is invalid
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * const recordings = await streamingService.getRecordings({
174
+ * tokenName: 'mytoken',
175
+ * page: 1,
176
+ * limit: 10
177
+ * });
178
+ * recordings.recordings.forEach(r => {
179
+ * console.log(`${r.assetId}: ${r.duration}s - ${r.status}`);
180
+ * });
181
+ * ```
182
+ */
183
+ getRecordings(options: FetchRecordingsOptions): Promise<RecordingsResult>;
184
+ /**
185
+ * Get download URL for a recording
186
+ *
187
+ * Requires JWT authentication (stream creator only).
188
+ *
189
+ * @param tokenName Token name (lowercase)
190
+ * @param assetId Recording asset ID (Mux asset ID)
191
+ * @returns Signed download URL with expiration
192
+ * @throws ValidationError if token name or asset ID is invalid
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * const download = await streamingService.getRecordingDownload('mytoken', 'asset123');
197
+ * console.log('Download URL:', download.downloadUrl);
198
+ * console.log('Expires:', download.expiresAt);
199
+ * ```
200
+ */
201
+ getRecordingDownload(tokenName: string, assetId: string): Promise<RecordingDownloadResult>;
202
+ /**
203
+ * Delete a recording
204
+ *
205
+ * Requires JWT authentication (stream creator only).
206
+ *
207
+ * @param tokenName Token name (lowercase)
208
+ * @param assetId Recording asset ID (Mux asset ID)
209
+ * @throws ValidationError if token name or asset ID is invalid
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * await streamingService.deleteRecording('mytoken', 'asset123');
214
+ * console.log('Recording deleted');
215
+ * ```
216
+ */
217
+ deleteRecording(tokenName: string, assetId: string): Promise<void>;
218
+ /**
219
+ * Get simulcast targets for a token
220
+ *
221
+ * Public endpoint - no authentication required.
222
+ *
223
+ * @param tokenName Token name (lowercase)
224
+ * @returns List of simulcast targets and max allowed
225
+ * @throws ValidationError if token name is invalid
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * const targets = await streamingService.getSimulcastTargets('mytoken');
230
+ * targets.targets.forEach(t => {
231
+ * console.log(`${t.platform}: ${t.status}`);
232
+ * });
233
+ * ```
234
+ */
235
+ getSimulcastTargets(tokenName: string): Promise<SimulcastTargetsResult>;
236
+ /**
237
+ * Add a simulcast target
238
+ *
239
+ * Requires JWT authentication (stream creator only).
240
+ *
241
+ * @param options Simulcast target options
242
+ * @returns Created simulcast target
243
+ * @throws ValidationError if options are invalid
244
+ * @throws Error if max targets exceeded
245
+ *
246
+ * @example
247
+ * ```typescript
248
+ * const target = await streamingService.addSimulcastTarget({
249
+ * tokenName: 'mytoken',
250
+ * platform: 'YOUTUBE',
251
+ * rtmpUrl: 'rtmp://a.rtmp.youtube.com/live2',
252
+ * streamKey: 'your-stream-key',
253
+ * name: 'My YouTube Channel'
254
+ * });
255
+ * console.log('Target ID:', target.target.targetId);
256
+ * ```
257
+ */
258
+ addSimulcastTarget(options: AddSimulcastTargetOptions): Promise<AddSimulcastTargetResult>;
259
+ /**
260
+ * Remove a simulcast target
261
+ *
262
+ * Requires JWT authentication (stream creator only).
263
+ *
264
+ * @param tokenName Token name (lowercase)
265
+ * @param targetId Simulcast target ID
266
+ * @throws ValidationError if token name or target ID is invalid
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * await streamingService.removeSimulcastTarget('mytoken', 'target123');
271
+ * console.log('Simulcast target removed');
272
+ * ```
273
+ */
274
+ removeSimulcastTarget(tokenName: string, targetId: string): Promise<void>;
275
+ /**
276
+ * Get global streaming status
277
+ *
278
+ * Public endpoint - no authentication required.
279
+ *
280
+ * @returns Global streaming enabled status
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * const status = await streamingService.getGlobalStreamingStatus();
285
+ * console.log('Streaming enabled:', status.enabled);
286
+ * ```
287
+ */
288
+ getGlobalStreamingStatus(): Promise<GlobalStreamingStatus>;
289
+ /**
290
+ * Disable streaming globally
291
+ *
292
+ * Admin endpoint - requires admin API key.
293
+ *
294
+ * @returns Updated global streaming status
295
+ * @throws ConfigurationError if admin API key is not set
296
+ *
297
+ * @example
298
+ * ```typescript
299
+ * await streamingService.disableGlobalStreaming();
300
+ * console.log('Streaming disabled globally');
301
+ * ```
302
+ */
303
+ disableGlobalStreaming(): Promise<GlobalStreamingStatus>;
304
+ /**
305
+ * Enable streaming globally
306
+ *
307
+ * Admin endpoint - requires admin API key.
308
+ *
309
+ * @returns Updated global streaming status
310
+ * @throws ConfigurationError if admin API key is not set
311
+ *
312
+ * @example
313
+ * ```typescript
314
+ * await streamingService.enableGlobalStreaming();
315
+ * console.log('Streaming enabled globally');
316
+ * ```
317
+ */
318
+ enableGlobalStreaming(): Promise<GlobalStreamingStatus>;
319
+ /**
320
+ * Set the next live stream countdown time
321
+ *
322
+ * Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
323
+ *
324
+ * Sets the scheduled time for the next live stream. The frontend can use
325
+ * this to display a countdown timer. The countdown is automatically cleared
326
+ * when the stream goes live (ACTIVE status).
327
+ *
328
+ * @param options SetCountdownOptions with tokenName and nextLiveStreamAt
329
+ * @returns Updated stream settings
330
+ * @throws ConfigurationError if neither admin API key nor JWT is configured
331
+ * @throws ValidationError if token name or date is invalid
332
+ *
333
+ * @since 5.6.0
334
+ *
335
+ * @example
336
+ * ```typescript
337
+ * // Set countdown for a future date
338
+ * await streamingService.setNextLiveStream({
339
+ * tokenName: 'mytoken',
340
+ * nextLiveStreamAt: new Date('2024-01-15T18:00:00Z')
341
+ * });
342
+ *
343
+ * // Using ISO string
344
+ * await streamingService.setNextLiveStream({
345
+ * tokenName: 'mytoken',
346
+ * nextLiveStreamAt: '2024-01-15T18:00:00Z'
347
+ * });
348
+ * ```
349
+ */
350
+ setNextLiveStream(options: SetCountdownOptions): Promise<StreamSettings>;
351
+ /**
352
+ * Clear the next live stream countdown
353
+ *
354
+ * Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
355
+ *
356
+ * Clears the scheduled countdown time. This is also done automatically
357
+ * when the stream goes live (ACTIVE status).
358
+ *
359
+ * @param tokenName Token name (lowercase)
360
+ * @returns Updated stream settings (nextLiveStreamAt will be null)
361
+ * @throws ConfigurationError if neither admin API key nor JWT is configured
362
+ * @throws ValidationError if token name is invalid
363
+ *
364
+ * @since 5.6.0
365
+ *
366
+ * @example
367
+ * ```typescript
368
+ * await streamingService.clearNextLiveStream('mytoken');
369
+ * console.log('Countdown cleared');
370
+ * ```
371
+ */
372
+ clearNextLiveStream(tokenName: string): Promise<StreamSettings>;
373
+ /**
374
+ * Set the stream language
375
+ *
376
+ * Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
377
+ *
378
+ * Sets the language for the stream content. This is used for filtering
379
+ * and displaying language information to viewers.
380
+ *
381
+ * @param options SetLanguageOptions with tokenName and language
382
+ * @returns Updated stream settings
383
+ * @throws ConfigurationError if neither admin API key nor JWT is configured
384
+ * @throws ValidationError if token name or language code is invalid
385
+ *
386
+ * @since 5.6.0
387
+ *
388
+ * @example
389
+ * ```typescript
390
+ * // Set stream language to Spanish
391
+ * await streamingService.setStreamLanguage({
392
+ * tokenName: 'mytoken',
393
+ * language: 'es'
394
+ * });
395
+ *
396
+ * // Set to Chinese (Simplified)
397
+ * await streamingService.setStreamLanguage({
398
+ * tokenName: 'mytoken',
399
+ * language: 'zh-CN'
400
+ * });
401
+ * ```
402
+ */
403
+ setStreamLanguage(options: SetLanguageOptions): Promise<StreamSettings>;
404
+ /**
405
+ * Get the authenticated user's role for a token's stream
406
+ *
407
+ * Returns the user's effective role based on:
408
+ * 1. Token ownership (OWNER role)
409
+ * 2. Claimed moderator invite (MANAGER, TECHNICAL_PRODUCER, or MODERATOR)
410
+ * 3. No access (null role)
411
+ *
412
+ * This is used by the frontend Studio page to detect permissions and show
413
+ * the appropriate UI based on the user's role.
414
+ *
415
+ * **Authentication:** Optional JWT - returns null role if not authenticated.
416
+ *
417
+ * @param options GetStreamRoleOptions with tokenName
418
+ * @returns StreamRoleResponse with role, isOwner flag, source, and inviteScope
419
+ * @throws ValidationError if token name is invalid
420
+ *
421
+ * @since 5.7.0
422
+ *
423
+ * @example
424
+ * ```typescript
425
+ * const roleInfo = await streamingService.getStreamRole({ tokenName: 'mytoken' });
426
+ *
427
+ * if (roleInfo.role === null) {
428
+ * console.log('No access to this stream');
429
+ * } else if (roleInfo.isOwner) {
430
+ * console.log('You are the token owner');
431
+ * } else {
432
+ * console.log(`You have ${roleInfo.role} access via ${roleInfo.source}`);
433
+ * if (roleInfo.inviteScope === 'ALL_OWNER_TOKENS') {
434
+ * console.log('This is blanket access to all tokens from this owner');
435
+ * }
436
+ * }
437
+ *
438
+ * // Use role for permission checks
439
+ * const canStream = ['OWNER', 'MANAGER', 'TECHNICAL_PRODUCER'].includes(roleInfo.role ?? '');
440
+ * const canModerate = ['OWNER', 'MANAGER', 'MODERATOR'].includes(roleInfo.role ?? '');
441
+ * ```
442
+ */
443
+ getStreamRole(options: GetStreamRoleOptions): Promise<StreamRoleResponse>;
444
+ /**
445
+ * Get all available roles and permissions for token delegation
446
+ *
447
+ * Public endpoint - no authentication required.
448
+ *
449
+ * Returns reference data about the role system, including:
450
+ * - All available roles (OWNER, MANAGER, TECHNICAL_PRODUCER, MODERATOR)
451
+ * - Role descriptions and hierarchy levels
452
+ * - Permissions assigned to each role
453
+ * - Complete list of all available permissions
454
+ *
455
+ * This is useful for:
456
+ * - Building role selection UIs
457
+ * - Understanding permission hierarchies
458
+ * - Validating role-based access control
459
+ *
460
+ * **Note:** This is static reference data. It does not change per user or token.
461
+ *
462
+ * @returns Available roles and permissions
463
+ *
464
+ * @since 5.10.0
465
+ *
466
+ * @example
467
+ * ```typescript
468
+ * const { roles, permissions } = await streamingService.getAvailableRoles();
469
+ *
470
+ * // List all roles
471
+ * roles.forEach(role => {
472
+ * console.log(`${role.name} (level ${role.level}): ${role.description}`);
473
+ * console.log(' Permissions:', role.permissions.join(', '));
474
+ * });
475
+ *
476
+ * // List all permissions
477
+ * console.log('All permissions:', permissions);
478
+ *
479
+ * // Build a role selector dropdown
480
+ * const roleOptions = roles.map(role => ({
481
+ * value: role.name,
482
+ * label: role.description,
483
+ * level: role.level,
484
+ * }));
485
+ * ```
486
+ */
487
+ getAvailableRoles(): Promise<AvailableRolesResponse>;
488
+ /**
489
+ * Check if the authenticated user has Studio access for a token
490
+ *
491
+ * Returns comprehensive access information combining:
492
+ * 1. Token ownership check (OWNER role)
493
+ * 2. Claimed moderator invite (MANAGER, TECHNICAL_PRODUCER, MODERATOR)
494
+ * 3. Platform overseer status (global access)
495
+ *
496
+ * This is used by the frontend to determine whether to show the
497
+ * "Click to Studio" link on the buy-sell page.
498
+ *
499
+ * **Authentication:** Optional JWT - returns hasAccess: false if not authenticated.
500
+ *
501
+ * @param options GetTokenAccessOptions with tokenName
502
+ * @returns TokenAccessResult with hasAccess, role, permissions, accessSource, and flags
503
+ * @throws ValidationError if token name is invalid
504
+ *
505
+ * @since 5.11.0
506
+ *
507
+ * @example
508
+ * ```typescript
509
+ * const access = await streamingService.getTokenAccess({ tokenName: 'mytoken' });
510
+ *
511
+ * if (!access.hasAccess) {
512
+ * console.log('No Studio access for this token');
513
+ * } else {
514
+ * console.log(`Access via: ${access.accessSource}`);
515
+ * console.log(`Role: ${access.role}`);
516
+ * console.log('Permissions:', access.permissions);
517
+ *
518
+ * if (access.permissions.canStream) {
519
+ * console.log('User can start/stop streams');
520
+ * }
521
+ * if (access.permissions.canModerate) {
522
+ * console.log('User can moderate chat');
523
+ * }
524
+ * }
525
+ *
526
+ * // Quick permission checks
527
+ * const canStream = access.permissions.canStream;
528
+ * const canModerate = access.permissions.canModerate;
529
+ * const canManageTeam = access.permissions.canManageTeam;
530
+ * ```
531
+ */
532
+ getTokenAccess(options: GetTokenAccessOptions): Promise<TokenAccessResult>;
533
+ /**
534
+ * Set the next live stream countdown time (alias for setNextLiveStream)
535
+ *
536
+ * Convenience method that accepts simpler parameters directly.
537
+ * Delegates to setNextLiveStream internally.
538
+ *
539
+ * @param tokenName Token name (lowercase)
540
+ * @param nextLiveStreamAt Scheduled stream time (ISO 8601 string, Date, or null to clear)
541
+ * @returns Updated stream settings
542
+ * @throws ValidationError if token name or date is invalid
543
+ * @since 6.x.0
544
+ */
545
+ setNextLiveStreamCountdown(tokenName: string, nextLiveStreamAt: string | Date | null): Promise<StreamSettings>;
546
+ }
547
+ //# sourceMappingURL=StreamingService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamingService.d.ts","sourceRoot":"","sources":["../../../src/services/StreamingService.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import type { SwapEventData, SwapMonitorConfig } from '../types/swap-monitor.dto';
17
17
  import { Logger } from '../utils/Logger';
18
+ import { LoggerBase } from './BaseService';
18
19
  import { MonitoringMetrics } from '../utils/MonitoringMetrics';
19
20
  /**
20
21
  * Queue statistics
@@ -38,11 +39,10 @@ export interface QueueStats {
38
39
  *
39
40
  * @internal
40
41
  */
41
- export declare class SwapEventQueue {
42
+ export declare class SwapEventQueue extends LoggerBase {
42
43
  private readonly queue;
43
44
  private readonly config;
44
45
  private readonly metrics;
45
- private readonly logger;
46
46
  private isShuttingDown;
47
47
  private currentConcurrency;
48
48
  private maxConcurrencyReached;
@@ -1 +1 @@
1
- {"version":3,"file":"SwapEventQueue.d.ts","sourceRoot":"","sources":["../../../src/services/SwapEventQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;IAEjC,iDAAiD;IACjD,OAAO,CAAC,SAAS,CAA0D;IAE3E,8BAA8B;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,+BAA+B;IAC/B,OAAO,CAAC,kBAAkB,CAMxB;gBAGA,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM;IAWjB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAgCtC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,IAAI,UAAU;IAYtB;;;;;OAKG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;OAMG;IACG,QAAQ,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;OAMG;YACW,gBAAgB;IAoE9B;;;;OAIG;YACW,YAAY;CAiB3B"}
1
+ {"version":3,"file":"SwapEventQueue.d.ts","sourceRoot":"","sources":["../../../src/services/SwapEventQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;IAEjC,iDAAiD;IACjD,OAAO,CAAC,SAAS,CAA0D;IAE3E,8BAA8B;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,+BAA+B;IAC/B,OAAO,CAAC,kBAAkB,CAMxB;gBAGA,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM;IAWjB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAgCtC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,IAAI,UAAU;IAYtB;;;;;OAKG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;OAMG;IACG,QAAQ,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;OAMG;YACW,gBAAgB;IAoE9B;;;;OAIG;YACW,YAAY;CAiB3B"}