@gala-chain/launchpad-sdk 5.0.2-beta.1 → 5.0.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EXAMPLES.md +141 -7
- package/README.md +68 -36
- package/dist/ai-docs.json +7357 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +70 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/LaunchpadSDK.d.ts +3288 -214
- package/dist/src/LaunchpadSDK.d.ts.map +1 -1
- package/dist/src/api/LaunchpadAPI.d.ts +21 -41
- package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
- package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
- package/dist/src/auth/JwtAuth.d.ts +145 -0
- package/dist/src/auth/JwtAuth.d.ts.map +1 -0
- package/dist/src/auth/SessionAuthService.d.ts +146 -0
- package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
- package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/src/bridge/BridgeService.d.ts.map +1 -1
- package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
- package/dist/src/bridge/constants/tokens.d.ts +4 -3
- package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
- package/dist/src/bridge/index.d.ts +1 -0
- package/dist/src/bridge/index.d.ts.map +1 -1
- package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
- package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
- package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
- package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
- package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/index.d.ts +9 -0
- package/dist/src/bridge/utils/index.d.ts.map +1 -1
- package/dist/src/bridge/utils/retry.d.ts +16 -0
- package/dist/src/bridge/utils/retry.d.ts.map +1 -1
- package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
- package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
- package/dist/src/constants/endpoints.d.ts +453 -0
- package/dist/src/constants/endpoints.d.ts.map +1 -1
- package/dist/src/constants/error-messages.d.ts +1 -1
- package/dist/src/constants/error-messages.d.ts.map +1 -1
- package/dist/src/constants/jwt.d.ts +41 -0
- package/dist/src/constants/jwt.d.ts.map +1 -0
- package/dist/src/constants/sdk-defaults.d.ts +37 -0
- package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
- package/dist/src/constants/version.generated.d.ts +1 -1
- package/dist/src/helpers/sdk.d.ts.map +1 -1
- package/dist/src/helpers/wallet.d.ts +4 -3
- package/dist/src/helpers/wallet.d.ts.map +1 -1
- package/dist/src/index.d.ts +70 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/schemas/files.d.ts +2 -2
- package/dist/src/schemas/launchpad.d.ts +40 -8
- package/dist/src/schemas/launchpad.d.ts.map +1 -1
- package/dist/src/schemas/pagination.d.ts +7 -7
- package/dist/src/schemas/primitives.d.ts.map +1 -1
- package/dist/src/schemas/trade.d.ts +6 -6
- package/dist/src/schemas/user.d.ts +4 -4
- package/dist/src/schemas/validators.d.ts +15 -7
- package/dist/src/schemas/validators.d.ts.map +1 -1
- package/dist/src/services/AbstractCacheService.d.ts +227 -0
- package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
- package/dist/src/services/ApiKeyService.d.ts +205 -0
- package/dist/src/services/ApiKeyService.d.ts.map +1 -0
- package/dist/src/services/BanService.d.ts +195 -0
- package/dist/src/services/BanService.d.ts.map +1 -0
- package/dist/src/services/BaseService.d.ts +50 -3
- package/dist/src/services/BaseService.d.ts.map +1 -1
- package/dist/src/services/BatchedCacheService.d.ts +132 -0
- package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
- package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
- package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
- package/dist/src/services/BridgeableTokenService.d.ts +18 -13
- package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
- package/dist/src/services/BundleService.d.ts.map +1 -1
- package/dist/src/services/BundlerClientFactory.d.ts +32 -0
- package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
- package/dist/src/services/ChatMessagesService.d.ts +152 -0
- package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
- package/dist/src/services/CommentService.d.ts +119 -0
- package/dist/src/services/CommentService.d.ts.map +1 -0
- package/dist/src/services/CommentsService.d.ts +155 -0
- package/dist/src/services/CommentsService.d.ts.map +1 -0
- package/dist/src/services/ContentFlagService.d.ts +212 -0
- package/dist/src/services/ContentFlagService.d.ts.map +1 -0
- package/dist/src/services/ContentReactionService.d.ts +175 -0
- package/dist/src/services/ContentReactionService.d.ts.map +1 -0
- package/dist/src/services/DexBackendClient.d.ts.map +1 -1
- package/dist/src/services/DexPoolService.d.ts +3 -3
- package/dist/src/services/DexPoolService.d.ts.map +1 -1
- package/dist/src/services/DexQuoteService.d.ts.map +1 -1
- package/dist/src/services/DexService.d.ts +2 -5
- package/dist/src/services/DexService.d.ts.map +1 -1
- package/dist/src/services/GSwapAssetService.d.ts +80 -0
- package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapService.d.ts +14 -0
- package/dist/src/services/GSwapService.d.ts.map +1 -1
- package/dist/src/services/GSwapSwapService.d.ts +68 -0
- package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
- package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
- package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
- package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
- package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
- package/dist/src/services/GalaChainLockService.d.ts +144 -0
- package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
- package/dist/src/services/GalaChainService.d.ts +23 -106
- package/dist/src/services/GalaChainService.d.ts.map +1 -1
- package/dist/src/services/GalaChainTokenService.d.ts +108 -0
- package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
- package/dist/src/services/GalaChainTransferService.d.ts +205 -0
- package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
- package/dist/src/services/ImageService.d.ts +24 -8
- package/dist/src/services/ImageService.d.ts.map +1 -1
- package/dist/src/services/LaunchpadService.d.ts +77 -5
- package/dist/src/services/LaunchpadService.d.ts.map +1 -1
- package/dist/src/services/ModeratorService.d.ts +269 -0
- package/dist/src/services/ModeratorService.d.ts.map +1 -0
- package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
- package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
- package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
- package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
- package/dist/src/services/OverseerService.d.ts +322 -0
- package/dist/src/services/OverseerService.d.ts.map +1 -0
- package/dist/src/services/PoolCacheManager.d.ts +2 -2
- package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
- package/dist/src/services/PoolService.d.ts +61 -7
- package/dist/src/services/PoolService.d.ts.map +1 -1
- package/dist/src/services/PoolStateManager.d.ts +2 -2
- package/dist/src/services/PoolStateManager.d.ts.map +1 -1
- package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
- package/dist/src/services/SignatureService.d.ts.map +1 -1
- package/dist/src/services/StreamChatService.d.ts +378 -0
- package/dist/src/services/StreamChatService.d.ts.map +1 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
- package/dist/src/services/StreamWebSocketService.d.ts +268 -0
- package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
- package/dist/src/services/StreamingEventService.d.ts +431 -0
- package/dist/src/services/StreamingEventService.d.ts.map +1 -0
- package/dist/src/services/StreamingService.d.ts +547 -0
- package/dist/src/services/StreamingService.d.ts.map +1 -0
- package/dist/src/services/SwapEventQueue.d.ts +2 -2
- package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
- package/dist/src/services/TokenBanService.d.ts +214 -0
- package/dist/src/services/TokenBanService.d.ts.map +1 -0
- package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataCache.d.ts +36 -27
- package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataService.d.ts +24 -4
- package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
- package/dist/src/services/TokenResolverService.d.ts.map +1 -1
- package/dist/src/services/TradeService.d.ts +73 -0
- package/dist/src/services/TradeService.d.ts.map +1 -1
- package/dist/src/services/UserService.d.ts +56 -3
- package/dist/src/services/UserService.d.ts.map +1 -1
- package/dist/src/services/WebSocketService.d.ts +3 -3
- package/dist/src/services/WebSocketService.d.ts.map +1 -1
- package/dist/src/services/WrapService.d.ts +18 -5
- package/dist/src/services/WrapService.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenCache.d.ts +8 -36
- package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenService.d.ts +18 -12
- package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
- package/dist/src/services/shared/cache-helpers.d.ts +188 -0
- package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/http-helpers.d.ts +146 -0
- package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
- package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/service-validators.d.ts +137 -0
- package/dist/src/services/shared/service-validators.d.ts.map +1 -0
- package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
- package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
- package/dist/src/test-constants.d.ts +29 -0
- package/dist/src/test-constants.d.ts.map +1 -0
- package/dist/src/types/api-key.dto.d.ts +300 -0
- package/dist/src/types/api-key.dto.d.ts.map +1 -0
- package/dist/src/types/backend-responses.d.ts +12 -0
- package/dist/src/types/backend-responses.d.ts.map +1 -1
- package/dist/src/types/ban.dto.d.ts +413 -0
- package/dist/src/types/ban.dto.d.ts.map +1 -0
- package/dist/src/types/burn.dto.d.ts +21 -0
- package/dist/src/types/burn.dto.d.ts.map +1 -1
- package/dist/src/types/chat-messages.dto.d.ts +193 -0
- package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
- package/dist/src/types/comment.dto.d.ts +180 -0
- package/dist/src/types/comment.dto.d.ts.map +1 -0
- package/dist/src/types/comments.dto.d.ts +210 -0
- package/dist/src/types/comments.dto.d.ts.map +1 -0
- package/dist/src/types/common.d.ts +369 -0
- package/dist/src/types/common.d.ts.map +1 -1
- package/dist/src/types/constraints.d.ts +374 -0
- package/dist/src/types/constraints.d.ts.map +1 -0
- package/dist/src/types/content-flag.dto.d.ts +310 -0
- package/dist/src/types/content-flag.dto.d.ts.map +1 -0
- package/dist/src/types/content-reactions.dto.d.ts +132 -0
- package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
- package/dist/src/types/dex-pool.dto.d.ts +13 -37
- package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
- package/dist/src/types/dto.d.ts +8 -0
- package/dist/src/types/dto.d.ts.map +1 -1
- package/dist/src/types/galachain-api.types.d.ts +30 -0
- package/dist/src/types/galachain-api.types.d.ts.map +1 -1
- package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
- package/dist/src/types/launchpad.dto.d.ts +234 -131
- package/dist/src/types/launchpad.dto.d.ts.map +1 -1
- package/dist/src/types/launchpad.validation.d.ts.map +1 -1
- package/dist/src/types/lock.dto.d.ts +20 -35
- package/dist/src/types/lock.dto.d.ts.map +1 -1
- package/dist/src/types/moderator.dto.d.ts +581 -0
- package/dist/src/types/moderator.dto.d.ts.map +1 -0
- package/dist/src/types/options.dto.d.ts +25 -115
- package/dist/src/types/options.dto.d.ts.map +1 -1
- package/dist/src/types/overseer.dto.d.ts +420 -0
- package/dist/src/types/overseer.dto.d.ts.map +1 -0
- package/dist/src/types/pool.dto.d.ts +106 -0
- package/dist/src/types/pool.dto.d.ts.map +1 -0
- package/dist/src/types/result.types.d.ts +3 -2
- package/dist/src/types/result.types.d.ts.map +1 -1
- package/dist/src/types/session-auth.dto.d.ts +91 -0
- package/dist/src/types/session-auth.dto.d.ts.map +1 -0
- package/dist/src/types/stream-chat.dto.d.ts +815 -0
- package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
- package/dist/src/types/streaming-events.dto.d.ts +586 -0
- package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
- package/dist/src/types/streaming.dto.d.ts +1141 -0
- package/dist/src/types/streaming.dto.d.ts.map +1 -0
- package/dist/src/types/token-ban.dto.d.ts +195 -0
- package/dist/src/types/token-ban.dto.d.ts.map +1 -0
- package/dist/src/types/trade.dto.d.ts +21 -61
- package/dist/src/types/trade.dto.d.ts.map +1 -1
- package/dist/src/types/trades-query.dto.d.ts +127 -0
- package/dist/src/types/trades-query.dto.d.ts.map +1 -0
- package/dist/src/types/transfer.dto.d.ts +20 -15
- package/dist/src/types/transfer.dto.d.ts.map +1 -1
- package/dist/src/types/user.dto.d.ts +185 -73
- package/dist/src/types/user.dto.d.ts.map +1 -1
- package/dist/src/types/wrappable-token.dto.d.ts +6 -2
- package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
- package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/Logger.d.ts.map +1 -1
- package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
- package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
- package/dist/src/utils/ReconnectionManager.d.ts +142 -0
- package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
- package/dist/src/utils/SignatureHelper.d.ts +9 -0
- package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
- package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/adapters.d.ts.map +1 -1
- package/dist/src/utils/address-formatter.d.ts +317 -0
- package/dist/src/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/utils/agent-config.d.ts.map +1 -1
- package/dist/src/utils/amount-validator.d.ts +268 -0
- package/dist/src/utils/amount-validator.d.ts.map +1 -0
- package/dist/src/utils/api-patterns.d.ts +347 -0
- package/dist/src/utils/api-patterns.d.ts.map +1 -0
- package/dist/src/utils/array-helpers.d.ts +115 -0
- package/dist/src/utils/array-helpers.d.ts.map +1 -0
- package/dist/src/utils/async-patterns.d.ts +272 -0
- package/dist/src/utils/async-patterns.d.ts.map +1 -0
- package/dist/src/utils/auto-pagination.d.ts +195 -2
- package/dist/src/utils/auto-pagination.d.ts.map +1 -1
- package/dist/src/utils/bignumber-helpers.d.ts +119 -13
- package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
- package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
- package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
- package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
- package/dist/src/utils/data-transform-patterns.d.ts +393 -0
- package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
- package/dist/src/utils/date-utils.d.ts +166 -0
- package/dist/src/utils/date-utils.d.ts.map +1 -1
- package/dist/src/utils/delimiter-parser.d.ts +139 -0
- package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
- package/dist/src/utils/error-factories.d.ts +346 -1
- package/dist/src/utils/error-factories.d.ts.map +1 -1
- package/dist/src/utils/error-handling-patterns.d.ts +390 -0
- package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-patterns.d.ts +360 -0
- package/dist/src/utils/error-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-utils.d.ts +250 -0
- package/dist/src/utils/error-utils.d.ts.map +1 -1
- package/dist/src/utils/error-wrapper.d.ts +208 -0
- package/dist/src/utils/error-wrapper.d.ts.map +1 -0
- package/dist/src/utils/errors.d.ts +70 -0
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/http-factory.d.ts +36 -0
- package/dist/src/utils/http-factory.d.ts.map +1 -0
- package/dist/src/utils/http.d.ts.map +1 -1
- package/dist/src/utils/load-env.d.ts.map +1 -1
- package/dist/src/utils/multipart.d.ts.map +1 -1
- package/dist/src/utils/numeric-patterns.d.ts +289 -0
- package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
- package/dist/src/utils/numeric-wrappers.d.ts +146 -0
- package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
- package/dist/src/utils/object-extractors.d.ts +115 -0
- package/dist/src/utils/object-extractors.d.ts.map +1 -0
- package/dist/src/utils/object-patterns.d.ts +81 -0
- package/dist/src/utils/object-patterns.d.ts.map +1 -0
- package/dist/src/utils/pagination-helpers.d.ts +230 -0
- package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
- package/dist/src/utils/pool-pair-parser.d.ts +3 -1
- package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
- package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
- package/dist/src/utils/position-filters.d.ts +1 -2
- package/dist/src/utils/position-filters.d.ts.map +1 -1
- package/dist/src/utils/query-params.d.ts +0 -16
- package/dist/src/utils/query-params.d.ts.map +1 -1
- package/dist/src/utils/response-handlers.d.ts +149 -20
- package/dist/src/utils/response-handlers.d.ts.map +1 -1
- package/dist/src/utils/response-helpers.d.ts +28 -0
- package/dist/src/utils/response-helpers.d.ts.map +1 -0
- package/dist/src/utils/response-normalizers.d.ts +27 -49
- package/dist/src/utils/response-normalizers.d.ts.map +1 -1
- package/dist/src/utils/safe-parsers.d.ts +487 -0
- package/dist/src/utils/safe-parsers.d.ts.map +1 -0
- package/dist/src/utils/service-validators.d.ts +268 -0
- package/dist/src/utils/service-validators.d.ts.map +1 -0
- package/dist/src/utils/slippage-utils.d.ts.map +1 -1
- package/dist/src/utils/string-patterns.d.ts +404 -0
- package/dist/src/utils/string-patterns.d.ts.map +1 -0
- package/dist/src/utils/string-transforms.d.ts +89 -0
- package/dist/src/utils/string-transforms.d.ts.map +1 -0
- package/dist/src/utils/string-utils.d.ts +108 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
- package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
- package/dist/src/utils/token-format-converter.d.ts +22 -8
- package/dist/src/utils/token-format-converter.d.ts.map +1 -1
- package/dist/src/utils/token-parser.d.ts +2 -2
- package/dist/src/utils/token-parser.d.ts.map +1 -1
- package/dist/src/utils/token-stringification.d.ts +168 -0
- package/dist/src/utils/token-stringification.d.ts.map +1 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
- package/dist/src/utils/tokenNormalizer.d.ts +8 -45
- package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/src/utils/transfer-validation.d.ts +1 -1
- package/dist/src/utils/transfer-validation.d.ts.map +1 -1
- package/dist/src/utils/type-guard-factory.d.ts +260 -0
- package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
- package/dist/src/utils/unique-key-generator.d.ts +148 -0
- package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
- package/dist/src/utils/validation-helpers.d.ts +906 -183
- package/dist/src/utils/validation-helpers.d.ts.map +1 -1
- package/dist/src/utils/validation-patterns.d.ts +745 -0
- package/dist/src/utils/validation-patterns.d.ts.map +1 -0
- package/dist/src/utils/validation.d.ts +2 -30
- package/dist/src/utils/validation.d.ts.map +1 -1
- package/dist/src/utils/wallet.d.ts +12 -1
- package/dist/src/utils/wallet.d.ts.map +1 -1
- package/dist/src/utils/websocket-patterns.d.ts +681 -0
- package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
- package/dist/src/utils/websocket-validators.d.ts.map +1 -1
- package/package.json +86 -19
- package/dist/src/bridge/strategies/index.d.ts +0 -9
- package/dist/src/bridge/strategies/index.d.ts.map +0 -1
- package/dist/src/constants/counts.d.ts +0 -66
- package/dist/src/constants/counts.d.ts.map +0 -1
- package/dist/src/services/WebSocketManager.d.ts +0 -99
- package/dist/src/services/WebSocketManager.d.ts.map +0 -1
- package/dist/src/types/eip712-types.d.ts +0 -140
- package/dist/src/types/eip712-types.d.ts.map +0 -1
- package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
- package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
- package/dist/src/utils/number-utils.d.ts +0 -94
- package/dist/src/utils/number-utils.d.ts.map +0 -1
- package/dist/src/utils/precision-math.d.ts +0 -37
- package/dist/src/utils/precision-math.d.ts.map +0 -1
|
@@ -0,0 +1,1141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming API Data Transfer Objects and Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines all types and interfaces for live streaming operations including
|
|
5
|
+
* stream management, recordings, simulcast targets, and WebSocket events.
|
|
6
|
+
*
|
|
7
|
+
* @since 5.1.0
|
|
8
|
+
*/
|
|
9
|
+
import { PaginationParams, AddressFormat, InternalApiResponse } from './common';
|
|
10
|
+
/**
|
|
11
|
+
* Stream status enumeration
|
|
12
|
+
*
|
|
13
|
+
* Represents the current state of a live stream:
|
|
14
|
+
* - IDLE: Stream exists but is not currently broadcasting
|
|
15
|
+
* - ACTIVE: Stream is currently live and broadcasting
|
|
16
|
+
* - DISABLED: Stream has been disabled by admin
|
|
17
|
+
*/
|
|
18
|
+
export declare const STREAM_STATUS: {
|
|
19
|
+
readonly IDLE: "IDLE";
|
|
20
|
+
readonly ACTIVE: "ACTIVE";
|
|
21
|
+
readonly DISABLED: "DISABLED";
|
|
22
|
+
};
|
|
23
|
+
export type StreamStatus = (typeof STREAM_STATUS)[keyof typeof STREAM_STATUS];
|
|
24
|
+
/**
|
|
25
|
+
* Stream information returned from GET /live/:tokenName
|
|
26
|
+
*/
|
|
27
|
+
export interface StreamInfo {
|
|
28
|
+
/** Token name (lowercase) */
|
|
29
|
+
tokenName: string;
|
|
30
|
+
/** Current stream status */
|
|
31
|
+
status: StreamStatus;
|
|
32
|
+
/** Stream key for broadcasting (only available to stream owner) */
|
|
33
|
+
streamKey?: string;
|
|
34
|
+
/** Playback ID for viewers (available when stream is active) */
|
|
35
|
+
playbackId: string | null;
|
|
36
|
+
/** Whether the stream is currently live */
|
|
37
|
+
isLive: boolean;
|
|
38
|
+
/** Stream title */
|
|
39
|
+
title?: string;
|
|
40
|
+
/** Stream description */
|
|
41
|
+
description?: string;
|
|
42
|
+
/** Creator wallet address */
|
|
43
|
+
creatorAddress: AddressFormat;
|
|
44
|
+
/** Stream creation timestamp (ISO 8601) */
|
|
45
|
+
createdAt: string;
|
|
46
|
+
/** Last update timestamp (ISO 8601) */
|
|
47
|
+
updatedAt: string;
|
|
48
|
+
/** Current viewer count */
|
|
49
|
+
viewerCount?: number;
|
|
50
|
+
/** Whether streaming is enabled for this token */
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Video aspect ratio (e.g., "16:9", "9:16")
|
|
54
|
+
* Captured from Mux when stream goes active
|
|
55
|
+
* @since 5.5.0
|
|
56
|
+
*/
|
|
57
|
+
aspectRatio?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Next scheduled live stream time (ISO 8601 string) or null if not set
|
|
60
|
+
* Consolidated from /stream/settings endpoint
|
|
61
|
+
* @since 5.7.0
|
|
62
|
+
*/
|
|
63
|
+
nextLiveStreamAt?: string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Stream language (ISO 639-1 code, e.g., "en", "es", "ja")
|
|
66
|
+
* Consolidated from /stream/settings endpoint
|
|
67
|
+
* Note: Field name is 'language' to match backend (not 'streamLanguage')
|
|
68
|
+
* @since 5.7.0
|
|
69
|
+
*/
|
|
70
|
+
language?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Response from POST /live/:tokenName/start
|
|
74
|
+
*/
|
|
75
|
+
export interface StartStreamResult {
|
|
76
|
+
/** Token name */
|
|
77
|
+
tokenName: string;
|
|
78
|
+
/** Stream key for RTMP broadcast */
|
|
79
|
+
streamKey: string;
|
|
80
|
+
/** RTMP ingest URL */
|
|
81
|
+
rtmpUrl: string;
|
|
82
|
+
/** Playback ID for HLS playback */
|
|
83
|
+
playbackId: string;
|
|
84
|
+
/** HLS playback URL */
|
|
85
|
+
playbackUrl: string;
|
|
86
|
+
/** Stream status (should be IDLE initially) */
|
|
87
|
+
status: StreamStatus;
|
|
88
|
+
/** Stream creation timestamp (ISO 8601) */
|
|
89
|
+
createdAt: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Response from POST /live/:tokenName/reset-key
|
|
93
|
+
*/
|
|
94
|
+
export interface ResetStreamKeyResult {
|
|
95
|
+
/** Token name */
|
|
96
|
+
tokenName: string;
|
|
97
|
+
/** New stream key */
|
|
98
|
+
streamKey: string;
|
|
99
|
+
/** RTMP ingest URL (unchanged) */
|
|
100
|
+
rtmpUrl: string;
|
|
101
|
+
/** Stream key reset timestamp (ISO 8601) */
|
|
102
|
+
resetAt: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Recording status enumeration
|
|
106
|
+
*/
|
|
107
|
+
export declare const RECORDING_STATUS: {
|
|
108
|
+
readonly READY: "READY";
|
|
109
|
+
readonly PROCESSING: "PROCESSING";
|
|
110
|
+
readonly ERRORED: "ERRORED";
|
|
111
|
+
readonly DELETED: "DELETED";
|
|
112
|
+
};
|
|
113
|
+
export type RecordingStatus = (typeof RECORDING_STATUS)[keyof typeof RECORDING_STATUS];
|
|
114
|
+
/**
|
|
115
|
+
* Stream recording information
|
|
116
|
+
*/
|
|
117
|
+
export interface StreamRecording {
|
|
118
|
+
/** Unique recording asset ID (Mux asset ID) */
|
|
119
|
+
assetId: string;
|
|
120
|
+
/** Token name this recording belongs to */
|
|
121
|
+
tokenName: string;
|
|
122
|
+
/** Recording status */
|
|
123
|
+
status: RecordingStatus;
|
|
124
|
+
/** Recording duration in seconds */
|
|
125
|
+
duration: number;
|
|
126
|
+
/** Recording creation timestamp (ISO 8601) */
|
|
127
|
+
createdAt: string;
|
|
128
|
+
/** Recording thumbnail URL */
|
|
129
|
+
thumbnailUrl?: string;
|
|
130
|
+
/** Whether the recording is downloadable */
|
|
131
|
+
downloadable: boolean;
|
|
132
|
+
/** File size in bytes (when available) */
|
|
133
|
+
fileSize?: number;
|
|
134
|
+
/**
|
|
135
|
+
* Video aspect ratio (e.g., "16:9", "9:16")
|
|
136
|
+
* @since 5.5.0
|
|
137
|
+
*/
|
|
138
|
+
aspectRatio?: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Options for fetching recordings
|
|
142
|
+
*/
|
|
143
|
+
export interface FetchRecordingsOptions extends Partial<PaginationParams> {
|
|
144
|
+
/** Token name to fetch recordings for */
|
|
145
|
+
tokenName: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Result from GET /live/:tokenName/recordings
|
|
149
|
+
*/
|
|
150
|
+
export interface RecordingsResult {
|
|
151
|
+
/** Array of recordings */
|
|
152
|
+
recordings: StreamRecording[];
|
|
153
|
+
/** Token name */
|
|
154
|
+
tokenName: string;
|
|
155
|
+
/** Current page number */
|
|
156
|
+
page: number;
|
|
157
|
+
/** Items per page */
|
|
158
|
+
limit: number;
|
|
159
|
+
/** Total number of recordings */
|
|
160
|
+
total: number;
|
|
161
|
+
/** Whether there are more pages */
|
|
162
|
+
hasNext: boolean;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Result from GET /live/:tokenName/recordings/:assetId/download
|
|
166
|
+
*/
|
|
167
|
+
export interface RecordingDownloadResult {
|
|
168
|
+
/** Current status of master file preparation */
|
|
169
|
+
status: 'none' | 'preparing' | 'ready' | 'errored';
|
|
170
|
+
/** Download URL (only present when status is 'ready') */
|
|
171
|
+
url?: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Simulcast target status
|
|
175
|
+
*/
|
|
176
|
+
export declare const SIMULCAST_STATUS: {
|
|
177
|
+
readonly ACTIVE: "ACTIVE";
|
|
178
|
+
readonly IDLE: "IDLE";
|
|
179
|
+
readonly ERRORED: "ERRORED";
|
|
180
|
+
readonly DISABLED: "DISABLED";
|
|
181
|
+
};
|
|
182
|
+
export type SimulcastStatus = (typeof SIMULCAST_STATUS)[keyof typeof SIMULCAST_STATUS];
|
|
183
|
+
/**
|
|
184
|
+
* Simulcast platform type
|
|
185
|
+
*/
|
|
186
|
+
export declare const SIMULCAST_PLATFORM: {
|
|
187
|
+
readonly YOUTUBE: "YOUTUBE";
|
|
188
|
+
readonly TWITCH: "TWITCH";
|
|
189
|
+
readonly FACEBOOK: "FACEBOOK";
|
|
190
|
+
readonly CUSTOM: "CUSTOM";
|
|
191
|
+
};
|
|
192
|
+
export type SimulcastPlatform = (typeof SIMULCAST_PLATFORM)[keyof typeof SIMULCAST_PLATFORM];
|
|
193
|
+
/**
|
|
194
|
+
* Simulcast target information
|
|
195
|
+
*/
|
|
196
|
+
export interface SimulcastTarget {
|
|
197
|
+
/** Unique target ID */
|
|
198
|
+
targetId: string;
|
|
199
|
+
/** Platform type */
|
|
200
|
+
platform: SimulcastPlatform;
|
|
201
|
+
/** RTMP URL for the target */
|
|
202
|
+
rtmpUrl: string;
|
|
203
|
+
/** Stream key for the target (masked in responses) */
|
|
204
|
+
streamKey?: string;
|
|
205
|
+
/** Target status */
|
|
206
|
+
status: SimulcastStatus;
|
|
207
|
+
/** Optional display name for the target */
|
|
208
|
+
name?: string;
|
|
209
|
+
/** Target creation timestamp (ISO 8601) */
|
|
210
|
+
createdAt: string;
|
|
211
|
+
/** Last error message if status is ERRORED */
|
|
212
|
+
errorMessage?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Options for adding a simulcast target
|
|
216
|
+
*/
|
|
217
|
+
export interface AddSimulcastTargetOptions {
|
|
218
|
+
/** Token name */
|
|
219
|
+
tokenName: string;
|
|
220
|
+
/** Platform type */
|
|
221
|
+
platform: SimulcastPlatform;
|
|
222
|
+
/** RTMP URL for the target */
|
|
223
|
+
rtmpUrl: string;
|
|
224
|
+
/** Stream key for the target */
|
|
225
|
+
streamKey: string;
|
|
226
|
+
/** Optional display name */
|
|
227
|
+
name?: string;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Result from GET /live/:tokenName/simulcast
|
|
231
|
+
*/
|
|
232
|
+
export interface SimulcastTargetsResult {
|
|
233
|
+
/** Array of simulcast targets */
|
|
234
|
+
targets: SimulcastTarget[];
|
|
235
|
+
/** Token name */
|
|
236
|
+
tokenName: string;
|
|
237
|
+
/** Maximum allowed targets */
|
|
238
|
+
maxTargets: number;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Result from POST /live/:tokenName/simulcast
|
|
242
|
+
*/
|
|
243
|
+
export interface AddSimulcastTargetResult {
|
|
244
|
+
/** Created target information */
|
|
245
|
+
target: SimulcastTarget;
|
|
246
|
+
/** Token name */
|
|
247
|
+
tokenName: string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Global streaming status response
|
|
251
|
+
*/
|
|
252
|
+
export interface GlobalStreamingStatus {
|
|
253
|
+
/** Whether streaming is globally enabled */
|
|
254
|
+
enabled: boolean;
|
|
255
|
+
/** Last status change timestamp (ISO 8601) */
|
|
256
|
+
updatedAt?: string;
|
|
257
|
+
/** Admin who changed the status (if available) */
|
|
258
|
+
updatedBy?: string;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* WebSocket event: stream_status
|
|
262
|
+
*
|
|
263
|
+
* Emitted when stream status changes (goes live, ends, or status changes).
|
|
264
|
+
* This is the PRIMARY event for real-time stream state updates.
|
|
265
|
+
*
|
|
266
|
+
* @since 5.1.0 - Added based on backend review (HIGH PRIORITY)
|
|
267
|
+
*/
|
|
268
|
+
export interface StreamStatusEvent {
|
|
269
|
+
/** Token name (lowercase) */
|
|
270
|
+
tokenName: string;
|
|
271
|
+
/** Current stream status */
|
|
272
|
+
status: StreamStatus;
|
|
273
|
+
/** Playback ID (null when not active) */
|
|
274
|
+
playbackId: string | null;
|
|
275
|
+
/** Whether stream is currently live */
|
|
276
|
+
isLive: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Video aspect ratio (e.g., "16:9", "9:16")
|
|
279
|
+
* Only present when stream becomes ACTIVE, cleared when IDLE
|
|
280
|
+
* @since 5.5.0
|
|
281
|
+
*/
|
|
282
|
+
aspectRatio?: string;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* WebSocket event: stream_subscribed
|
|
286
|
+
*
|
|
287
|
+
* Emitted when client successfully subscribes to a stream room
|
|
288
|
+
*/
|
|
289
|
+
export interface StreamSubscribedEvent {
|
|
290
|
+
/** Socket.IO room name (format: stream:{tokenName}) */
|
|
291
|
+
room: string;
|
|
292
|
+
/** Token name (lowercase) */
|
|
293
|
+
tokenName: string;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* WebSocket event: stream_unsubscribed
|
|
297
|
+
*
|
|
298
|
+
* Emitted when client leaves a stream room
|
|
299
|
+
*/
|
|
300
|
+
export interface StreamUnsubscribedEvent {
|
|
301
|
+
/** Socket.IO room name */
|
|
302
|
+
room: string;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* WebSocket event: viewer_count
|
|
306
|
+
*
|
|
307
|
+
* Emitted automatically when viewer count changes.
|
|
308
|
+
* Note: Auto-emits on subscribe/unsubscribe without explicit request.
|
|
309
|
+
*
|
|
310
|
+
* @since 5.1.0 - Documented auto-emit behavior from backend review
|
|
311
|
+
*/
|
|
312
|
+
export interface ViewerCountEvent {
|
|
313
|
+
/** Token name (lowercase) */
|
|
314
|
+
tokenName: string;
|
|
315
|
+
/** Current viewer count */
|
|
316
|
+
viewerCount: number;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* WebSocket event: stream_global_status
|
|
320
|
+
*
|
|
321
|
+
* Emitted when global streaming status changes
|
|
322
|
+
*/
|
|
323
|
+
export interface StreamGlobalStatusEvent {
|
|
324
|
+
/** Whether streaming is globally enabled */
|
|
325
|
+
enabled: boolean;
|
|
326
|
+
/** Timestamp of change (ISO 8601) */
|
|
327
|
+
updatedAt: string;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Standard backend response wrapper for streaming endpoints
|
|
331
|
+
* @internal
|
|
332
|
+
* @see InternalApiResponse in common.ts for the shared type
|
|
333
|
+
* @deprecated Use InternalApiResponse from common.ts directly
|
|
334
|
+
*/
|
|
335
|
+
export type InternalStreamingResponse<T = unknown> = InternalApiResponse<T>;
|
|
336
|
+
/**
|
|
337
|
+
* Internal response from stream info endpoint
|
|
338
|
+
* @internal
|
|
339
|
+
*/
|
|
340
|
+
export interface InternalGetStreamInfoResponse extends InternalStreamingResponse<StreamInfo> {
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Internal response from start stream endpoint
|
|
344
|
+
* @internal
|
|
345
|
+
*/
|
|
346
|
+
export interface InternalStartStreamResponse extends InternalStreamingResponse<StartStreamResult> {
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Internal response from reset stream key endpoint
|
|
350
|
+
* @internal
|
|
351
|
+
*/
|
|
352
|
+
export interface InternalResetStreamKeyResponse extends InternalStreamingResponse<ResetStreamKeyResult> {
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Internal response from recordings endpoint
|
|
356
|
+
* @internal
|
|
357
|
+
*/
|
|
358
|
+
export interface InternalGetRecordingsResponse extends InternalStreamingResponse<{
|
|
359
|
+
recordings: StreamRecording[];
|
|
360
|
+
total: number;
|
|
361
|
+
page: number;
|
|
362
|
+
limit: number;
|
|
363
|
+
}> {
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Internal response from recording download endpoint
|
|
367
|
+
* @internal
|
|
368
|
+
*/
|
|
369
|
+
export interface InternalGetRecordingDownloadResponse extends InternalStreamingResponse<RecordingDownloadResult> {
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Internal response from simulcast targets endpoint
|
|
373
|
+
* @internal
|
|
374
|
+
*/
|
|
375
|
+
export interface InternalGetSimulcastTargetsResponse extends InternalStreamingResponse<SimulcastTargetsResult> {
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Internal response from add simulcast target endpoint
|
|
379
|
+
* @internal
|
|
380
|
+
*/
|
|
381
|
+
export interface InternalAddSimulcastTargetResponse extends InternalStreamingResponse<AddSimulcastTargetResult> {
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Internal response from global streaming status endpoint
|
|
385
|
+
* @internal
|
|
386
|
+
*/
|
|
387
|
+
export interface InternalGlobalStreamingStatusResponse extends InternalStreamingResponse<GlobalStreamingStatus> {
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Internal response from enable/disable endpoints
|
|
391
|
+
* @internal
|
|
392
|
+
*/
|
|
393
|
+
export interface InternalStreamingToggleResponse extends InternalStreamingResponse<{
|
|
394
|
+
enabled: boolean;
|
|
395
|
+
tokenName?: string;
|
|
396
|
+
}> {
|
|
397
|
+
}
|
|
398
|
+
/** Type guard for StreamStatus */
|
|
399
|
+
export declare const isStreamStatus: (value: unknown) => value is "IDLE" | "ACTIVE" | "DISABLED";
|
|
400
|
+
/** Type guard for RecordingStatus */
|
|
401
|
+
export declare const isRecordingStatus: (value: unknown) => value is "PROCESSING" | "READY" | "ERRORED" | "DELETED";
|
|
402
|
+
/** Type guard for SimulcastPlatform */
|
|
403
|
+
export declare const isSimulcastPlatform: (value: unknown) => value is "YOUTUBE" | "TWITCH" | "FACEBOOK" | "CUSTOM";
|
|
404
|
+
/**
|
|
405
|
+
* Type guard for StreamStatusEvent
|
|
406
|
+
*/
|
|
407
|
+
export declare function isStreamStatusEvent(obj: unknown): obj is StreamStatusEvent;
|
|
408
|
+
/**
|
|
409
|
+
* Type guard for ViewerCountEvent
|
|
410
|
+
*/
|
|
411
|
+
export declare function isViewerCountEvent(obj: unknown): obj is ViewerCountEvent;
|
|
412
|
+
/**
|
|
413
|
+
* Stream settings for countdown and language features
|
|
414
|
+
*
|
|
415
|
+
* Contains the next live stream countdown time and stream language.
|
|
416
|
+
* Field names aligned with backend stream-settings.dto.ts:
|
|
417
|
+
* - nextLiveStreamAt: ISO 8601 format or null
|
|
418
|
+
* - language: ISO 639-1 code (backend uses 'language' not 'streamLanguage')
|
|
419
|
+
*
|
|
420
|
+
* @since 5.6.0
|
|
421
|
+
*/
|
|
422
|
+
export interface StreamSettings {
|
|
423
|
+
/**
|
|
424
|
+
* Scheduled stream start time (ISO 8601 format)
|
|
425
|
+
* null when no countdown is set
|
|
426
|
+
* Backend field: nextLiveStreamAt
|
|
427
|
+
*/
|
|
428
|
+
nextLiveStreamAt: string | null;
|
|
429
|
+
/**
|
|
430
|
+
* Stream language (ISO 639-1 code, e.g., "en", "es", "ja")
|
|
431
|
+
* Defaults to "en" if not set
|
|
432
|
+
* Backend field: language (not streamLanguage)
|
|
433
|
+
*/
|
|
434
|
+
language: string;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Options for setting the next live stream countdown
|
|
438
|
+
*
|
|
439
|
+
* @since 5.6.0
|
|
440
|
+
*/
|
|
441
|
+
export interface SetCountdownOptions {
|
|
442
|
+
/** Token name (lowercase) */
|
|
443
|
+
tokenName: string;
|
|
444
|
+
/**
|
|
445
|
+
* Next live stream time - accepts Date object, ISO 8601 string, or null to clear
|
|
446
|
+
* null clears the countdown
|
|
447
|
+
*/
|
|
448
|
+
nextLiveStreamAt: Date | string | null;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Options for setting the stream language
|
|
452
|
+
*
|
|
453
|
+
* @since 5.6.0
|
|
454
|
+
*/
|
|
455
|
+
export interface SetLanguageOptions {
|
|
456
|
+
/** Token name (lowercase) */
|
|
457
|
+
tokenName: string;
|
|
458
|
+
/**
|
|
459
|
+
* Stream language (ISO 639-1 code)
|
|
460
|
+
* Examples: "en", "es", "ja", "zh-CN"
|
|
461
|
+
*/
|
|
462
|
+
language: string;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* WebSocket event: stream_countdown_updated
|
|
466
|
+
*
|
|
467
|
+
* Emitted when the next live stream countdown is set or cleared.
|
|
468
|
+
* Sent to the stream room when owner or admin updates the countdown.
|
|
469
|
+
*
|
|
470
|
+
* @since 5.6.0
|
|
471
|
+
*/
|
|
472
|
+
export interface StreamCountdownEvent {
|
|
473
|
+
/** Token name (lowercase) */
|
|
474
|
+
tokenName: string;
|
|
475
|
+
/**
|
|
476
|
+
* Scheduled stream start time (ISO 8601 format)
|
|
477
|
+
* null when countdown is cleared (stream went live or manually cleared)
|
|
478
|
+
*/
|
|
479
|
+
nextLiveStreamAt: string | null;
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* WebSocket event: stream_language_updated
|
|
483
|
+
*
|
|
484
|
+
* Emitted when the stream language is changed.
|
|
485
|
+
* Sent to the stream room when owner or admin updates the language.
|
|
486
|
+
*
|
|
487
|
+
* @since 5.6.0
|
|
488
|
+
*/
|
|
489
|
+
export interface StreamLanguageEvent {
|
|
490
|
+
/** Token name (lowercase) */
|
|
491
|
+
tokenName: string;
|
|
492
|
+
/**
|
|
493
|
+
* Updated stream language (ISO 639-1 code)
|
|
494
|
+
*/
|
|
495
|
+
language: string;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Internal response from stream settings endpoint
|
|
499
|
+
* @internal
|
|
500
|
+
* @since 5.6.0
|
|
501
|
+
*/
|
|
502
|
+
export interface InternalStreamSettingsResponse extends InternalStreamingResponse<StreamSettings> {
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Type guard for StreamCountdownEvent
|
|
506
|
+
* @since 5.6.0
|
|
507
|
+
*/
|
|
508
|
+
export declare function isStreamCountdownEvent(obj: unknown): obj is StreamCountdownEvent;
|
|
509
|
+
/**
|
|
510
|
+
* Type guard for StreamLanguageEvent
|
|
511
|
+
* @since 5.6.0
|
|
512
|
+
*/
|
|
513
|
+
export declare function isStreamLanguageEvent(obj: unknown): obj is StreamLanguageEvent;
|
|
514
|
+
/**
|
|
515
|
+
* ISO 639-1 language code validation
|
|
516
|
+
* Validates language codes like "en", "es", "zh-CN"
|
|
517
|
+
* @since 5.6.0
|
|
518
|
+
*/
|
|
519
|
+
export declare function isValidLanguageCode(code: unknown): code is string;
|
|
520
|
+
/**
|
|
521
|
+
* Stream role enumeration
|
|
522
|
+
*
|
|
523
|
+
* Represents the user's access level to a token's stream:
|
|
524
|
+
* - OWNER: Token creator, full access to everything
|
|
525
|
+
* - MANAGER: Full management access (stream controls + recordings + settings + moderation)
|
|
526
|
+
* - TECHNICAL_PRODUCER: Stream operations (controls + recordings + simulcast, NO moderation)
|
|
527
|
+
* - MODERATOR: Chat moderation only (ban/unban, message deletion)
|
|
528
|
+
*
|
|
529
|
+
* @since 5.7.0
|
|
530
|
+
*/
|
|
531
|
+
export declare const STREAM_ROLE: {
|
|
532
|
+
readonly OWNER: "OWNER";
|
|
533
|
+
readonly MANAGER: "MANAGER";
|
|
534
|
+
readonly TECHNICAL_PRODUCER: "TECHNICAL_PRODUCER";
|
|
535
|
+
readonly MODERATOR: "MODERATOR";
|
|
536
|
+
};
|
|
537
|
+
export type StreamRole = (typeof STREAM_ROLE)[keyof typeof STREAM_ROLE];
|
|
538
|
+
/**
|
|
539
|
+
* Source of the user's role access
|
|
540
|
+
*
|
|
541
|
+
* - OWNER: User is the token creator
|
|
542
|
+
* - MODERATOR: User claimed a moderator invite
|
|
543
|
+
*
|
|
544
|
+
* @since 5.7.0
|
|
545
|
+
*/
|
|
546
|
+
export declare const ROLE_SOURCE: {
|
|
547
|
+
readonly OWNER: "OWNER";
|
|
548
|
+
readonly MODERATOR: "MODERATOR";
|
|
549
|
+
};
|
|
550
|
+
export type RoleSource = (typeof ROLE_SOURCE)[keyof typeof ROLE_SOURCE];
|
|
551
|
+
/**
|
|
552
|
+
* Invite scope for moderator access
|
|
553
|
+
*
|
|
554
|
+
* - TOKEN: Access to a specific token only
|
|
555
|
+
* - ALL_OWNER_TOKENS: Blanket access to all tokens by the inviting owner
|
|
556
|
+
*
|
|
557
|
+
* @since 5.7.0
|
|
558
|
+
*/
|
|
559
|
+
export type InviteScope = 'TOKEN' | 'ALL_OWNER_TOKENS';
|
|
560
|
+
/**
|
|
561
|
+
* Options for getting stream role
|
|
562
|
+
*
|
|
563
|
+
* @since 5.7.0
|
|
564
|
+
*/
|
|
565
|
+
export interface GetStreamRoleOptions {
|
|
566
|
+
/**
|
|
567
|
+
* Token name to check role for
|
|
568
|
+
* @example "mycoin"
|
|
569
|
+
*/
|
|
570
|
+
tokenName: string;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Stream role response from GET /live/:tokenName/role
|
|
574
|
+
*
|
|
575
|
+
* Returns the authenticated user's effective role for a token's stream.
|
|
576
|
+
* Used by frontend Studio page to detect permissions.
|
|
577
|
+
*
|
|
578
|
+
* @since 5.7.0
|
|
579
|
+
*/
|
|
580
|
+
export interface StreamRoleResponse {
|
|
581
|
+
/**
|
|
582
|
+
* User's effective role for this token's stream
|
|
583
|
+
* null if user has no access
|
|
584
|
+
*/
|
|
585
|
+
role: StreamRole | null;
|
|
586
|
+
/**
|
|
587
|
+
* Whether the user is the token owner
|
|
588
|
+
*/
|
|
589
|
+
isOwner: boolean;
|
|
590
|
+
/**
|
|
591
|
+
* Source of access: 'OWNER' (token creator), 'MODERATOR' (claimed invite), or null
|
|
592
|
+
*/
|
|
593
|
+
source: RoleSource | null;
|
|
594
|
+
/**
|
|
595
|
+
* For moderator access: the scope of the invite
|
|
596
|
+
* Only present when source is 'MODERATOR'
|
|
597
|
+
*/
|
|
598
|
+
inviteScope?: InviteScope | null;
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* Internal response from stream role endpoint
|
|
602
|
+
* @internal
|
|
603
|
+
* @since 5.7.0
|
|
604
|
+
*/
|
|
605
|
+
export interface InternalStreamRoleResponse extends InternalStreamingResponse<StreamRoleResponse> {
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Type guard for StreamRole
|
|
609
|
+
* @since 5.7.0
|
|
610
|
+
*/
|
|
611
|
+
export declare const isStreamRole: (value: unknown) => value is "MANAGER" | "TECHNICAL_PRODUCER" | "MODERATOR" | "OWNER";
|
|
612
|
+
/**
|
|
613
|
+
* Type guard for RoleSource
|
|
614
|
+
* @since 5.7.0
|
|
615
|
+
*/
|
|
616
|
+
export declare const isRoleSource: (value: unknown) => value is "MODERATOR" | "OWNER";
|
|
617
|
+
/**
|
|
618
|
+
* Type guard for StreamRoleResponse
|
|
619
|
+
* @since 5.7.0
|
|
620
|
+
*/
|
|
621
|
+
export declare function isStreamRoleResponse(obj: unknown): obj is StreamRoleResponse;
|
|
622
|
+
/**
|
|
623
|
+
* Stream permission enumeration
|
|
624
|
+
*
|
|
625
|
+
* All permissions available in the role system:
|
|
626
|
+
* - MANAGE_COMMENTS: Create/delete comments
|
|
627
|
+
* - MANAGE_CHAT: Send/delete chat messages
|
|
628
|
+
* - BAN_USERS: Ban users from token streams
|
|
629
|
+
* - UNBAN_USERS: Remove bans from users
|
|
630
|
+
* - MANAGE_SIMULCAST: Add/remove simulcast targets
|
|
631
|
+
* - GET_STREAM_KEY: View the stream key
|
|
632
|
+
* - STOP_STREAM: Stop an active stream
|
|
633
|
+
* - RESET_STREAM_KEY: Generate a new stream key
|
|
634
|
+
* - START_STREAM: Start a new stream
|
|
635
|
+
* - DELETE_RECORDINGS: Delete stream recordings
|
|
636
|
+
* - MANAGE_STREAM_SETTINGS: Update stream settings (countdown, language)
|
|
637
|
+
*
|
|
638
|
+
* @since 5.10.0
|
|
639
|
+
*/
|
|
640
|
+
export declare const STREAM_PERMISSION: {
|
|
641
|
+
readonly MANAGE_COMMENTS: "MANAGE_COMMENTS";
|
|
642
|
+
readonly MANAGE_CHAT: "MANAGE_CHAT";
|
|
643
|
+
readonly BAN_USERS: "BAN_USERS";
|
|
644
|
+
readonly UNBAN_USERS: "UNBAN_USERS";
|
|
645
|
+
readonly MANAGE_SIMULCAST: "MANAGE_SIMULCAST";
|
|
646
|
+
readonly GET_STREAM_KEY: "GET_STREAM_KEY";
|
|
647
|
+
readonly STOP_STREAM: "STOP_STREAM";
|
|
648
|
+
readonly RESET_STREAM_KEY: "RESET_STREAM_KEY";
|
|
649
|
+
readonly START_STREAM: "START_STREAM";
|
|
650
|
+
readonly DELETE_RECORDINGS: "DELETE_RECORDINGS";
|
|
651
|
+
readonly MANAGE_STREAM_SETTINGS: "MANAGE_STREAM_SETTINGS";
|
|
652
|
+
};
|
|
653
|
+
export type StreamPermission = (typeof STREAM_PERMISSION)[keyof typeof STREAM_PERMISSION];
|
|
654
|
+
/**
|
|
655
|
+
* Information about a single role
|
|
656
|
+
*
|
|
657
|
+
* @since 5.10.0
|
|
658
|
+
*/
|
|
659
|
+
export interface RoleInfo {
|
|
660
|
+
/**
|
|
661
|
+
* Role name identifier
|
|
662
|
+
* @example 'MANAGER'
|
|
663
|
+
*/
|
|
664
|
+
name: StreamRole;
|
|
665
|
+
/**
|
|
666
|
+
* Human-readable description of the role
|
|
667
|
+
* @example 'Full moderator + technical producer + recordings management'
|
|
668
|
+
*/
|
|
669
|
+
description: string;
|
|
670
|
+
/**
|
|
671
|
+
* Hierarchy level (higher = more privileges)
|
|
672
|
+
* MODERATOR=0, TECHNICAL_PRODUCER=1, MANAGER=2, OWNER=3
|
|
673
|
+
*/
|
|
674
|
+
level: number;
|
|
675
|
+
/**
|
|
676
|
+
* List of permissions this role has
|
|
677
|
+
*/
|
|
678
|
+
permissions: StreamPermission[];
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Response from GET /live/roles
|
|
682
|
+
*
|
|
683
|
+
* Returns all available roles and permissions for token delegation.
|
|
684
|
+
* This is reference data - it doesn't change per user or token.
|
|
685
|
+
*
|
|
686
|
+
* @since 5.10.0
|
|
687
|
+
*/
|
|
688
|
+
export interface AvailableRolesResponse {
|
|
689
|
+
/**
|
|
690
|
+
* List of all available roles with their details
|
|
691
|
+
* Ordered by hierarchy level (highest first): OWNER, MANAGER, TECHNICAL_PRODUCER, MODERATOR
|
|
692
|
+
*/
|
|
693
|
+
roles: RoleInfo[];
|
|
694
|
+
/**
|
|
695
|
+
* List of all available permission names
|
|
696
|
+
*/
|
|
697
|
+
permissions: StreamPermission[];
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Internal response from available roles endpoint
|
|
701
|
+
* @internal
|
|
702
|
+
* @since 5.10.0
|
|
703
|
+
*/
|
|
704
|
+
export interface InternalAvailableRolesResponse extends InternalStreamingResponse<AvailableRolesResponse> {
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Type guard for StreamPermission
|
|
708
|
+
* @since 5.10.0
|
|
709
|
+
*/
|
|
710
|
+
export declare function isStreamPermission(value: unknown): value is StreamPermission;
|
|
711
|
+
/**
|
|
712
|
+
* Type guard for RoleInfo
|
|
713
|
+
* @since 5.10.0
|
|
714
|
+
*/
|
|
715
|
+
export declare function isRoleInfo(obj: unknown): obj is RoleInfo;
|
|
716
|
+
/**
|
|
717
|
+
* Type guard for AvailableRolesResponse
|
|
718
|
+
* @since 5.10.0
|
|
719
|
+
*/
|
|
720
|
+
export declare function isAvailableRolesResponse(obj: unknown): obj is AvailableRolesResponse;
|
|
721
|
+
/**
|
|
722
|
+
* Extended role type for token access check
|
|
723
|
+
*
|
|
724
|
+
* Includes all StreamRole values plus 'OVERSEER' for platform-wide access:
|
|
725
|
+
* - OWNER: Token creator, full access
|
|
726
|
+
* - MANAGER: Full management via moderator invite
|
|
727
|
+
* - TECHNICAL_PRODUCER: Stream operations via invite
|
|
728
|
+
* - MODERATOR: Chat moderation via invite
|
|
729
|
+
* - OVERSEER: Platform-wide access (Gala employees)
|
|
730
|
+
*
|
|
731
|
+
* @since 5.11.0
|
|
732
|
+
*/
|
|
733
|
+
export declare const EXTENDED_STREAM_ROLE: {
|
|
734
|
+
readonly OVERSEER: "OVERSEER";
|
|
735
|
+
readonly OWNER: "OWNER";
|
|
736
|
+
readonly MANAGER: "MANAGER";
|
|
737
|
+
readonly TECHNICAL_PRODUCER: "TECHNICAL_PRODUCER";
|
|
738
|
+
readonly MODERATOR: "MODERATOR";
|
|
739
|
+
};
|
|
740
|
+
export type ExtendedStreamRole = (typeof EXTENDED_STREAM_ROLE)[keyof typeof EXTENDED_STREAM_ROLE];
|
|
741
|
+
/**
|
|
742
|
+
* Source of the user's access to a token
|
|
743
|
+
*
|
|
744
|
+
* - ownership: User is the token creator (OWNER role)
|
|
745
|
+
* - moderator_invite: User claimed a moderator invite (MANAGER/TECH_PRODUCER/MODERATOR)
|
|
746
|
+
* - overseer: User has platform-wide overseer access
|
|
747
|
+
*
|
|
748
|
+
* @since 5.11.0
|
|
749
|
+
*/
|
|
750
|
+
export declare const ACCESS_SOURCE: {
|
|
751
|
+
readonly OWNERSHIP: "ownership";
|
|
752
|
+
readonly MODERATOR_INVITE: "moderator_invite";
|
|
753
|
+
readonly OVERSEER: "overseer";
|
|
754
|
+
};
|
|
755
|
+
export type AccessSource = (typeof ACCESS_SOURCE)[keyof typeof ACCESS_SOURCE];
|
|
756
|
+
/**
|
|
757
|
+
* Permission flags for token access
|
|
758
|
+
*
|
|
759
|
+
* Detailed breakdown of what actions the user can perform.
|
|
760
|
+
* Permissions vary based on role:
|
|
761
|
+
* - OWNER/OVERSEER: All permissions
|
|
762
|
+
* - MANAGER: All permissions (equivalent to owner for operations)
|
|
763
|
+
* - TECHNICAL_PRODUCER: Stream ops, recordings, simulcast (no moderation)
|
|
764
|
+
* - MODERATOR: Moderation only (comments, chat, bans)
|
|
765
|
+
*
|
|
766
|
+
* @since 5.11.0
|
|
767
|
+
*/
|
|
768
|
+
export interface TokenAccessPermissions {
|
|
769
|
+
/** Can start/stop streams (OWNER, MANAGER, TECHNICAL_PRODUCER) */
|
|
770
|
+
canStream: boolean;
|
|
771
|
+
/** Can moderate (OWNER, MANAGER, MODERATOR) */
|
|
772
|
+
canModerate: boolean;
|
|
773
|
+
/** Can manage team invites (OWNER only, not moderators) */
|
|
774
|
+
canManageTeam: boolean;
|
|
775
|
+
/** Can view/download recordings (OWNER, MANAGER, TECHNICAL_PRODUCER) */
|
|
776
|
+
canViewRecordings: boolean;
|
|
777
|
+
/** Can manage simulcast targets (OWNER, MANAGER, TECHNICAL_PRODUCER) */
|
|
778
|
+
canSimulcast: boolean;
|
|
779
|
+
/** Can view analytics/engagement stats (OWNER, MANAGER) */
|
|
780
|
+
canViewAnalytics: boolean;
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* Options for checking token access
|
|
784
|
+
*
|
|
785
|
+
* @since 5.11.0
|
|
786
|
+
*/
|
|
787
|
+
export interface GetTokenAccessOptions {
|
|
788
|
+
/**
|
|
789
|
+
* Token name to check access for
|
|
790
|
+
* @example "mycoin"
|
|
791
|
+
*/
|
|
792
|
+
tokenName: string;
|
|
793
|
+
}
|
|
794
|
+
/**
|
|
795
|
+
* Token access response from GET /live/:tokenName/access
|
|
796
|
+
*
|
|
797
|
+
* Comprehensive access check that combines:
|
|
798
|
+
* 1. Token ownership check
|
|
799
|
+
* 2. Moderator invite check
|
|
800
|
+
* 3. Overseer status check
|
|
801
|
+
*
|
|
802
|
+
* Used by frontend to determine if user can access Studio and what they can do.
|
|
803
|
+
*
|
|
804
|
+
* @since 5.11.0
|
|
805
|
+
*/
|
|
806
|
+
export interface TokenAccessResult {
|
|
807
|
+
/**
|
|
808
|
+
* Whether the user has any access to this token's studio
|
|
809
|
+
* If false, all other fields are null/false
|
|
810
|
+
*/
|
|
811
|
+
hasAccess: boolean;
|
|
812
|
+
/**
|
|
813
|
+
* User's effective role for this token
|
|
814
|
+
* null if user has no access
|
|
815
|
+
*/
|
|
816
|
+
role: ExtendedStreamRole | null;
|
|
817
|
+
/**
|
|
818
|
+
* Detailed permission breakdown
|
|
819
|
+
*/
|
|
820
|
+
permissions: TokenAccessPermissions;
|
|
821
|
+
/**
|
|
822
|
+
* How the user got their access
|
|
823
|
+
* null if user has no access
|
|
824
|
+
*/
|
|
825
|
+
accessSource: AccessSource | null;
|
|
826
|
+
/**
|
|
827
|
+
* For moderator access: the scope of the invite
|
|
828
|
+
* Only present when accessSource is 'moderator_invite'
|
|
829
|
+
* - TOKEN: Access to this specific token only
|
|
830
|
+
* - ALL_OWNER_TOKENS: Access to all tokens by the inviting owner
|
|
831
|
+
*/
|
|
832
|
+
inviteScope?: InviteScope | null;
|
|
833
|
+
/**
|
|
834
|
+
* Whether the user is the token owner
|
|
835
|
+
* True only when accessSource is 'ownership'
|
|
836
|
+
*/
|
|
837
|
+
isOwner: boolean;
|
|
838
|
+
/**
|
|
839
|
+
* Whether the user has overseer access
|
|
840
|
+
* True only when accessSource is 'overseer'
|
|
841
|
+
*/
|
|
842
|
+
isOverseer: boolean;
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Internal backend response for token access endpoint
|
|
846
|
+
* @internal
|
|
847
|
+
*/
|
|
848
|
+
export interface InternalTokenAccessResponse {
|
|
849
|
+
status: number;
|
|
850
|
+
error: boolean;
|
|
851
|
+
message: string;
|
|
852
|
+
data?: TokenAccessResult;
|
|
853
|
+
}
|
|
854
|
+
/**
|
|
855
|
+
* Type guard for TokenAccessPermissions
|
|
856
|
+
* @since 5.11.0
|
|
857
|
+
*/
|
|
858
|
+
export declare function isTokenAccessPermissions(obj: unknown): obj is TokenAccessPermissions;
|
|
859
|
+
/**
|
|
860
|
+
* Type guard for ExtendedStreamRole
|
|
861
|
+
* @since 5.11.0
|
|
862
|
+
*/
|
|
863
|
+
export declare const isExtendedStreamRole: (value: unknown) => value is "MANAGER" | "TECHNICAL_PRODUCER" | "MODERATOR" | "OWNER" | "OVERSEER";
|
|
864
|
+
/**
|
|
865
|
+
* Type guard for AccessSource
|
|
866
|
+
* @since 5.11.0
|
|
867
|
+
*/
|
|
868
|
+
export declare const isAccessSource: (value: unknown) => value is "ownership" | "moderator_invite" | "overseer";
|
|
869
|
+
/**
|
|
870
|
+
* Type guard for TokenAccessResult
|
|
871
|
+
* @since 5.11.0
|
|
872
|
+
*/
|
|
873
|
+
export declare function isTokenAccessResult(obj: unknown): obj is TokenAccessResult;
|
|
874
|
+
/**
|
|
875
|
+
* Validates FetchRecordingsOptions
|
|
876
|
+
*
|
|
877
|
+
* @param options - Options to validate
|
|
878
|
+
* @throws {ValidationError} If options are invalid
|
|
879
|
+
*/
|
|
880
|
+
export declare function validateFetchRecordingsOptions(options: FetchRecordingsOptions): void;
|
|
881
|
+
/**
|
|
882
|
+
* Validates AddSimulcastTargetOptions
|
|
883
|
+
*
|
|
884
|
+
* @param options - Options to validate
|
|
885
|
+
* @throws {ValidationError} If options are invalid
|
|
886
|
+
*/
|
|
887
|
+
export declare function validateAddSimulcastTargetOptions(options: AddSimulcastTargetOptions): void;
|
|
888
|
+
/**
|
|
889
|
+
* Validates SetCountdownOptions
|
|
890
|
+
*
|
|
891
|
+
* @param options - Options to validate
|
|
892
|
+
* @throws {ValidationError} If options are invalid
|
|
893
|
+
* @since 5.6.0
|
|
894
|
+
*/
|
|
895
|
+
export declare function validateSetCountdownOptions(options: SetCountdownOptions): void;
|
|
896
|
+
/**
|
|
897
|
+
* Validates SetLanguageOptions
|
|
898
|
+
*
|
|
899
|
+
* @param options - Options to validate
|
|
900
|
+
* @throws {ValidationError} If options are invalid
|
|
901
|
+
* @since 5.6.0
|
|
902
|
+
*/
|
|
903
|
+
export declare function validateSetLanguageOptions(options: SetLanguageOptions): void;
|
|
904
|
+
/**
|
|
905
|
+
* Validates GetStreamRoleOptions
|
|
906
|
+
*
|
|
907
|
+
* @param options - Options to validate
|
|
908
|
+
* @throws {ValidationError} If options are invalid
|
|
909
|
+
* @since 5.7.0
|
|
910
|
+
*/
|
|
911
|
+
export declare function validateGetStreamRoleOptions(options: GetStreamRoleOptions): void;
|
|
912
|
+
/**
|
|
913
|
+
* Validates GetTokenAccessOptions
|
|
914
|
+
*
|
|
915
|
+
* @param options - Options to validate
|
|
916
|
+
* @throws {ValidationError} If options are invalid
|
|
917
|
+
* @since 5.11.0
|
|
918
|
+
*/
|
|
919
|
+
export declare function validateGetTokenAccessOptions(options: GetTokenAccessOptions): void;
|
|
920
|
+
/**
|
|
921
|
+
* Recording parameters for stream configuration
|
|
922
|
+
*
|
|
923
|
+
* Configures recording output format, quality, and codec settings.
|
|
924
|
+
*
|
|
925
|
+
* @since 6.x.0
|
|
926
|
+
*/
|
|
927
|
+
export interface RecordingParamsDto {
|
|
928
|
+
/** Output format (mp4, webm, mkv, etc.) */
|
|
929
|
+
format: 'mp4' | 'webm' | 'mkv' | 'mov' | 'flv';
|
|
930
|
+
/** Video quality preset (480p, 720p, 1080p, 4k) */
|
|
931
|
+
quality: '480p' | '720p' | '1080p' | '4k';
|
|
932
|
+
/** Video bitrate in kbps (default: 2500) */
|
|
933
|
+
videoBitrate?: number;
|
|
934
|
+
/** Audio bitrate in kbps (default: 128) */
|
|
935
|
+
audioBitrate?: number;
|
|
936
|
+
/** Enable audio track */
|
|
937
|
+
includeAudio: boolean;
|
|
938
|
+
/** Enable video track */
|
|
939
|
+
includeVideo: boolean;
|
|
940
|
+
/** Frame rate (24, 30, 60) */
|
|
941
|
+
frameRate: 24 | 30 | 60;
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Simulcast target parameters for stream configuration
|
|
945
|
+
*
|
|
946
|
+
* Configuration for streaming to external platforms (YouTube, Twitch, etc.).
|
|
947
|
+
*
|
|
948
|
+
* @since 6.x.0
|
|
949
|
+
*/
|
|
950
|
+
export interface SimulcastTargetParamsDto {
|
|
951
|
+
/** Display name for the target */
|
|
952
|
+
name: string;
|
|
953
|
+
/** Platform type (YOUTUBE, TWITCH, FACEBOOK, CUSTOM) */
|
|
954
|
+
platform: SimulcastPlatform;
|
|
955
|
+
/** RTMP URL for the streaming destination */
|
|
956
|
+
rtmpUrl: string;
|
|
957
|
+
/** Stream key for authentication */
|
|
958
|
+
streamKey: string;
|
|
959
|
+
/** Whether to automatically reconnect on failure */
|
|
960
|
+
autoReconnect?: boolean;
|
|
961
|
+
/** Maximum reconnection attempts */
|
|
962
|
+
maxRetries?: number;
|
|
963
|
+
/** Additional platform-specific parameters (JSON) */
|
|
964
|
+
metadata?: Record<string, unknown>;
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Webhook simulation event types
|
|
968
|
+
*
|
|
969
|
+
* Types of events that can be simulated for webhook testing.
|
|
970
|
+
*
|
|
971
|
+
* @since 6.x.0
|
|
972
|
+
*/
|
|
973
|
+
export declare const SIMULATE_EVENT_TYPE: {
|
|
974
|
+
readonly STREAM_STARTED: "stream.started";
|
|
975
|
+
readonly STREAM_STOPPED: "stream.stopped";
|
|
976
|
+
readonly RECORDING_READY: "recording.ready";
|
|
977
|
+
readonly SIMULCAST_ERROR: "simulcast.error";
|
|
978
|
+
};
|
|
979
|
+
export type SimulateEventType = (typeof SIMULATE_EVENT_TYPE)[keyof typeof SIMULATE_EVENT_TYPE];
|
|
980
|
+
/**
|
|
981
|
+
* Webhook simulation request data
|
|
982
|
+
*
|
|
983
|
+
* For testing webhook endpoint responses without waiting for real events.
|
|
984
|
+
*
|
|
985
|
+
* @since 6.x.0
|
|
986
|
+
*/
|
|
987
|
+
export interface SimulateWebhookDto {
|
|
988
|
+
/** Type of event to simulate */
|
|
989
|
+
eventType: SimulateEventType;
|
|
990
|
+
/** Token name for the event */
|
|
991
|
+
tokenName: string;
|
|
992
|
+
/** Optional event-specific payload */
|
|
993
|
+
payload?: Record<string, unknown>;
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* Result of Redis cache flush operation
|
|
997
|
+
*
|
|
998
|
+
* @since 6.x.0
|
|
999
|
+
*/
|
|
1000
|
+
export interface FlushResult {
|
|
1001
|
+
/** Whether the flush was successful */
|
|
1002
|
+
success: boolean;
|
|
1003
|
+
/** Number of keys flushed */
|
|
1004
|
+
keysDeleted: number;
|
|
1005
|
+
/** Timestamp of operation (ISO 8601) */
|
|
1006
|
+
flushedAt: string;
|
|
1007
|
+
/** Optional message describing the operation */
|
|
1008
|
+
message?: string;
|
|
1009
|
+
}
|
|
1010
|
+
/**
|
|
1011
|
+
* Complete stream settings response
|
|
1012
|
+
*
|
|
1013
|
+
* Consolidated response for all stream configuration settings.
|
|
1014
|
+
* Field names aligned with backend stream configuration:
|
|
1015
|
+
* - nextLiveStreamAt: Next scheduled stream time
|
|
1016
|
+
* - language: Stream language (ISO 639-1 code), not streamLanguage
|
|
1017
|
+
*
|
|
1018
|
+
* @since 6.x.0
|
|
1019
|
+
*/
|
|
1020
|
+
export interface StreamSettingsResponse {
|
|
1021
|
+
/** Token name */
|
|
1022
|
+
tokenName: string;
|
|
1023
|
+
/** Stream status (IDLE, ACTIVE, DISABLED) */
|
|
1024
|
+
status: StreamStatus;
|
|
1025
|
+
/** Countdown to next live stream (ISO 8601 or null) */
|
|
1026
|
+
nextLiveStreamAt: string | null;
|
|
1027
|
+
/** Stream language (ISO 639-1 code) - backend field: language, not streamLanguage */
|
|
1028
|
+
language: string;
|
|
1029
|
+
/** Recording parameters */
|
|
1030
|
+
recordingParams: RecordingParamsDto;
|
|
1031
|
+
/** Auto-record enabled */
|
|
1032
|
+
autoRecordEnabled: boolean;
|
|
1033
|
+
/** Simulcast targets */
|
|
1034
|
+
simulcastTargets: SimulcastTarget[];
|
|
1035
|
+
/** Last configuration update timestamp */
|
|
1036
|
+
updatedAt: string;
|
|
1037
|
+
}
|
|
1038
|
+
/**
|
|
1039
|
+
* Global streaming status response
|
|
1040
|
+
*
|
|
1041
|
+
* Platform-wide streaming enable/disable status.
|
|
1042
|
+
*
|
|
1043
|
+
* @since 6.x.0
|
|
1044
|
+
*/
|
|
1045
|
+
export interface GlobalStreamStatusResponse {
|
|
1046
|
+
/** Whether streaming is enabled globally */
|
|
1047
|
+
enabled: boolean;
|
|
1048
|
+
/** When the status was last changed (ISO 8601) */
|
|
1049
|
+
updatedAt: string;
|
|
1050
|
+
/** Admin who changed the status */
|
|
1051
|
+
updatedBy?: string;
|
|
1052
|
+
/** Reason for disabling (if applicable) */
|
|
1053
|
+
disableReason?: string;
|
|
1054
|
+
}
|
|
1055
|
+
/**
|
|
1056
|
+
* Pinned chat message response
|
|
1057
|
+
*
|
|
1058
|
+
* @since 6.x.0
|
|
1059
|
+
*/
|
|
1060
|
+
export interface PinnedMessageResponse {
|
|
1061
|
+
/** Message ID */
|
|
1062
|
+
id: string;
|
|
1063
|
+
/** Token name */
|
|
1064
|
+
tokenName: string;
|
|
1065
|
+
/** Message content */
|
|
1066
|
+
content: string;
|
|
1067
|
+
/** User who sent the message */
|
|
1068
|
+
userAddress: string;
|
|
1069
|
+
/** User display name */
|
|
1070
|
+
userName?: string;
|
|
1071
|
+
/** When the message was pinned */
|
|
1072
|
+
pinnedAt: string;
|
|
1073
|
+
/** Who pinned the message */
|
|
1074
|
+
pinnedBy: string;
|
|
1075
|
+
/** Reason for pinning (optional) */
|
|
1076
|
+
reason?: string;
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* Chat status response
|
|
1080
|
+
*
|
|
1081
|
+
* Enable/disable status of chat for a token stream.
|
|
1082
|
+
*
|
|
1083
|
+
* @since 6.x.0
|
|
1084
|
+
*/
|
|
1085
|
+
export interface ChatStatusResponse {
|
|
1086
|
+
/** Token name */
|
|
1087
|
+
tokenName: string;
|
|
1088
|
+
/** Whether chat is enabled */
|
|
1089
|
+
enabled: boolean;
|
|
1090
|
+
/** When the status was last changed */
|
|
1091
|
+
updatedAt: string;
|
|
1092
|
+
/** Admin who changed the status */
|
|
1093
|
+
updatedBy?: string;
|
|
1094
|
+
/** Reason for disabling chat (if applicable) */
|
|
1095
|
+
disableReason?: string;
|
|
1096
|
+
/** Current user count in chat */
|
|
1097
|
+
activeUsers?: number;
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Stream control status response
|
|
1101
|
+
*
|
|
1102
|
+
* Enable/disable status of stream controls (start/stop/reset key).
|
|
1103
|
+
*
|
|
1104
|
+
* @since 6.x.0
|
|
1105
|
+
*/
|
|
1106
|
+
export interface StreamControlStatusResponse {
|
|
1107
|
+
/** Token name */
|
|
1108
|
+
tokenName: string;
|
|
1109
|
+
/** Whether stream controls are enabled */
|
|
1110
|
+
enabled: boolean;
|
|
1111
|
+
/** When status was last changed */
|
|
1112
|
+
updatedAt: string;
|
|
1113
|
+
/** Admin who changed the status */
|
|
1114
|
+
updatedBy?: string;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Overall streaming configuration response
|
|
1118
|
+
*
|
|
1119
|
+
* Complete consolidated streaming configuration for a token.
|
|
1120
|
+
*
|
|
1121
|
+
* @since 6.x.0
|
|
1122
|
+
*/
|
|
1123
|
+
export interface OverallStreamingConfigResponse {
|
|
1124
|
+
/** Token name */
|
|
1125
|
+
tokenName: string;
|
|
1126
|
+
/** Basic stream info */
|
|
1127
|
+
stream: StreamInfo;
|
|
1128
|
+
/** Settings (countdown, language, recording, etc.) */
|
|
1129
|
+
settings: StreamSettingsResponse;
|
|
1130
|
+
/** Chat status */
|
|
1131
|
+
chatStatus: ChatStatusResponse;
|
|
1132
|
+
/** Stream controls status */
|
|
1133
|
+
controlsStatus: StreamControlStatusResponse;
|
|
1134
|
+
/** Global streaming enabled */
|
|
1135
|
+
globalStreamingEnabled: boolean;
|
|
1136
|
+
/** Global chat enabled */
|
|
1137
|
+
globalChatEnabled: boolean;
|
|
1138
|
+
/** Consolidation timestamp */
|
|
1139
|
+
retrievedAt: string;
|
|
1140
|
+
}
|
|
1141
|
+
//# sourceMappingURL=streaming.dto.d.ts.map
|