@gala-chain/launchpad-sdk 5.0.3 → 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/constants/version.generated.d.ts.map +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,815 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream Chat API Data Transfer Objects and Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines all types and interfaces for stream chat operations including
|
|
5
|
+
* message sending/retrieval, chat status management, and WebSocket events.
|
|
6
|
+
*
|
|
7
|
+
* @since 5.1.0
|
|
8
|
+
* @since 6.0.0 - Added reactions support to StreamChatMessage
|
|
9
|
+
*/
|
|
10
|
+
import { PaginationParams, AddressFormat, HolderTierInfo, InternalApiResponse, UserProfileInfo } from './common';
|
|
11
|
+
import { ReactionData } from './content-reactions.dto';
|
|
12
|
+
/**
|
|
13
|
+
* Consolidated chat constraints object combining message, pagination, and token name constraints
|
|
14
|
+
*/
|
|
15
|
+
export declare const CHAT_CONSTRAINTS: {
|
|
16
|
+
readonly MESSAGE: {
|
|
17
|
+
readonly MIN_LENGTH: 1;
|
|
18
|
+
readonly MAX_LENGTH: 500;
|
|
19
|
+
readonly PATTERN: RegExp;
|
|
20
|
+
};
|
|
21
|
+
readonly PAGINATION: {
|
|
22
|
+
readonly DEFAULT_PAGE: number | undefined;
|
|
23
|
+
readonly DEFAULT_LIMIT: number | undefined;
|
|
24
|
+
readonly MAX_LIMIT: number;
|
|
25
|
+
};
|
|
26
|
+
readonly TOKEN_NAME: {
|
|
27
|
+
readonly MIN_LENGTH: number;
|
|
28
|
+
readonly MAX_LENGTH: number;
|
|
29
|
+
readonly PATTERN: RegExp;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Stream chat message
|
|
34
|
+
*
|
|
35
|
+
* Note: Messages have TWO IDs:
|
|
36
|
+
* - `id`: MySQL auto-increment ID (may be undefined until flushed to DB)
|
|
37
|
+
* - `messageId`: UUID-based string ID (always present, format: chat-{timestamp}-{uuid8})
|
|
38
|
+
*
|
|
39
|
+
* @since 5.1.0
|
|
40
|
+
* @since 6.0.0 - Added reactions field
|
|
41
|
+
*/
|
|
42
|
+
export interface StreamChatMessage {
|
|
43
|
+
/**
|
|
44
|
+
* MySQL database ID (auto-increment)
|
|
45
|
+
*
|
|
46
|
+
* May be undefined if the message hasn't been flushed to the database yet.
|
|
47
|
+
* Use `messageId` for reliable message identification.
|
|
48
|
+
*/
|
|
49
|
+
id?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Unique string identifier (always present)
|
|
52
|
+
*
|
|
53
|
+
* Format: `chat-{timestamp}-{uuid8}`
|
|
54
|
+
* Example: `chat-1702656000000-a1b2c3d4`
|
|
55
|
+
*
|
|
56
|
+
* This is the primary identifier for message deduplication and tracking.
|
|
57
|
+
*/
|
|
58
|
+
messageId: string;
|
|
59
|
+
/** Message content (sanitized, max 500 chars) */
|
|
60
|
+
content: string;
|
|
61
|
+
/** Sender's wallet address in backend format */
|
|
62
|
+
userAddress: AddressFormat;
|
|
63
|
+
/** Pool ID this message belongs to */
|
|
64
|
+
poolId: number;
|
|
65
|
+
/** Message creation timestamp (ISO 8601) */
|
|
66
|
+
createdAt: string;
|
|
67
|
+
/** Sender's profile information (may not be present in all responses) */
|
|
68
|
+
user?: UserProfileInfo;
|
|
69
|
+
/**
|
|
70
|
+
* Reaction data for this message (grouped by type with counts and user previews)
|
|
71
|
+
*
|
|
72
|
+
* @since 6.0.0
|
|
73
|
+
*/
|
|
74
|
+
reactions?: ReactionData;
|
|
75
|
+
/**
|
|
76
|
+
* Holder tier badge for the message author (token-specific)
|
|
77
|
+
*
|
|
78
|
+
* Shows the author's token holding tier based on % of max supply held.
|
|
79
|
+
* Only present if the user holds tokens. Omitted for non-holders.
|
|
80
|
+
*
|
|
81
|
+
* @since 6.5.0
|
|
82
|
+
*/
|
|
83
|
+
holderTier?: HolderTierInfo;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Options for sending a chat message
|
|
87
|
+
*/
|
|
88
|
+
export interface SendChatMessageOptions {
|
|
89
|
+
/** Token name for the chat room */
|
|
90
|
+
tokenName: string;
|
|
91
|
+
/** Message content (max 500 characters) */
|
|
92
|
+
content: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Options for fetching chat messages
|
|
96
|
+
*/
|
|
97
|
+
export interface FetchChatMessagesOptions extends Partial<PaginationParams> {
|
|
98
|
+
/** Token name for the chat room */
|
|
99
|
+
tokenName: string;
|
|
100
|
+
/** Cursor for pagination (messageId or timestamp) */
|
|
101
|
+
cursor?: string;
|
|
102
|
+
/** Sort order: 'asc' (oldest first) or 'desc' (newest first) */
|
|
103
|
+
sortOrder?: 'asc' | 'desc';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Result from GET /live/:tokenName/chat
|
|
107
|
+
*/
|
|
108
|
+
export interface ChatMessagesResult {
|
|
109
|
+
/** Array of chat messages */
|
|
110
|
+
messages: StreamChatMessage[];
|
|
111
|
+
/** Token name */
|
|
112
|
+
tokenName: string;
|
|
113
|
+
/** Current page number */
|
|
114
|
+
page: number;
|
|
115
|
+
/** Items per page */
|
|
116
|
+
limit: number;
|
|
117
|
+
/** Total number of messages */
|
|
118
|
+
total: number;
|
|
119
|
+
/** Whether there are more messages */
|
|
120
|
+
hasNext: boolean;
|
|
121
|
+
/** Cursor for next page (if available) */
|
|
122
|
+
nextCursor?: string;
|
|
123
|
+
/** Currently pinned message (if any) */
|
|
124
|
+
pinnedMessage: PinnedMessage | null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Result from POST /live/:tokenName/chat
|
|
128
|
+
*/
|
|
129
|
+
export interface SendChatMessageResult {
|
|
130
|
+
/** Created message */
|
|
131
|
+
message: StreamChatMessage;
|
|
132
|
+
/** Token name */
|
|
133
|
+
tokenName: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Options for deleting a chat message
|
|
137
|
+
* @since 5.3.0
|
|
138
|
+
*/
|
|
139
|
+
export interface DeleteChatMessageOptions {
|
|
140
|
+
/** Token name for the chat room */
|
|
141
|
+
tokenName: string;
|
|
142
|
+
/** Message ID to delete (UUID-based string ID) */
|
|
143
|
+
messageId: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Result from DELETE /live/:tokenName/chat/:messageId
|
|
147
|
+
* @since 5.3.0
|
|
148
|
+
*/
|
|
149
|
+
export interface DeleteChatMessageResult {
|
|
150
|
+
/** Message ID that was deleted */
|
|
151
|
+
messageId: string;
|
|
152
|
+
/** Whether the message was successfully deleted */
|
|
153
|
+
deleted: boolean;
|
|
154
|
+
/** Token name */
|
|
155
|
+
tokenName: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Feature status values for chat and stream control
|
|
159
|
+
*
|
|
160
|
+
* - 'ENABLED': Feature is on (default)
|
|
161
|
+
* - 'DISABLED': Owner disabled (owner can re-enable)
|
|
162
|
+
* - 'ADMIN_DISABLED': Admin disabled (owner locked out, only admin can change)
|
|
163
|
+
*
|
|
164
|
+
* @since 5.4.0
|
|
165
|
+
*/
|
|
166
|
+
export declare const FEATURE_STATUS: {
|
|
167
|
+
readonly ENABLED: "ENABLED";
|
|
168
|
+
readonly DISABLED: "DISABLED";
|
|
169
|
+
readonly ADMIN_DISABLED: "ADMIN_DISABLED";
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Type for feature status values
|
|
173
|
+
*/
|
|
174
|
+
export type FeatureStatusType = (typeof FEATURE_STATUS)[keyof typeof FEATURE_STATUS];
|
|
175
|
+
/** Check if a value is a valid FeatureStatusType */
|
|
176
|
+
export declare const isFeatureStatus: (value: unknown) => value is "DISABLED" | "ENABLED" | "ADMIN_DISABLED";
|
|
177
|
+
/**
|
|
178
|
+
* Reason why chat is disabled
|
|
179
|
+
*
|
|
180
|
+
* - 'global': Chat is disabled globally for all tokens
|
|
181
|
+
* - 'token': Chat is disabled specifically for this token
|
|
182
|
+
*/
|
|
183
|
+
export type ChatDisabledReason = 'global' | 'token';
|
|
184
|
+
/**
|
|
185
|
+
* Chat status response from GET /live/:tokenName/chat/status
|
|
186
|
+
*
|
|
187
|
+
* @since 5.1.0 - Added `reason` field based on backend review
|
|
188
|
+
* @since 5.4.0 - Added `status` field for detailed feature status
|
|
189
|
+
*/
|
|
190
|
+
export interface ChatStatusResponse {
|
|
191
|
+
/** Whether chat is enabled (computed from status) */
|
|
192
|
+
enabled: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Detailed feature status (v5.4.0+)
|
|
195
|
+
*
|
|
196
|
+
* - 'ENABLED': Chat is on
|
|
197
|
+
* - 'DISABLED': Owner disabled (owner can re-enable)
|
|
198
|
+
* - 'ADMIN_DISABLED': Admin disabled (owner locked out)
|
|
199
|
+
*/
|
|
200
|
+
status?: FeatureStatusType;
|
|
201
|
+
/**
|
|
202
|
+
* Reason why chat is disabled (only present when enabled=false)
|
|
203
|
+
*
|
|
204
|
+
* - 'global': Chat is disabled globally for all tokens
|
|
205
|
+
* - 'token': Chat is disabled specifically for this token
|
|
206
|
+
*/
|
|
207
|
+
reason?: ChatDisabledReason;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Global chat status response from GET /live/chat/global/status
|
|
211
|
+
*/
|
|
212
|
+
export interface GlobalChatStatus {
|
|
213
|
+
/** Whether chat is globally enabled */
|
|
214
|
+
enabled: boolean;
|
|
215
|
+
/** Last status change timestamp (ISO 8601) */
|
|
216
|
+
updatedAt?: string;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Pinned message data
|
|
220
|
+
*
|
|
221
|
+
* Only one message can be pinned per stream at a time.
|
|
222
|
+
* Pinning a new message automatically unpins any existing one.
|
|
223
|
+
*
|
|
224
|
+
* @since 5.5.0
|
|
225
|
+
*/
|
|
226
|
+
export interface PinnedMessage {
|
|
227
|
+
/** Message ID of the pinned message (UUID-based string) */
|
|
228
|
+
messageId: string;
|
|
229
|
+
/** Message content */
|
|
230
|
+
content: string;
|
|
231
|
+
/** Wallet address of the message author */
|
|
232
|
+
userAddress: AddressFormat;
|
|
233
|
+
/** Wallet address of who pinned the message */
|
|
234
|
+
pinnedBy: AddressFormat;
|
|
235
|
+
/** Timestamp when message was pinned (ISO 8601) */
|
|
236
|
+
pinnedAt: string;
|
|
237
|
+
/** Author's profile information */
|
|
238
|
+
user?: UserProfileInfo;
|
|
239
|
+
/**
|
|
240
|
+
* Holder tier badge for the message author (token-specific)
|
|
241
|
+
*
|
|
242
|
+
* @since 6.5.0
|
|
243
|
+
*/
|
|
244
|
+
holderTier?: HolderTierInfo;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Options for pinning a chat message
|
|
248
|
+
*
|
|
249
|
+
* Admin API key required.
|
|
250
|
+
*
|
|
251
|
+
* @since 5.5.0
|
|
252
|
+
*/
|
|
253
|
+
export interface PinMessageOptions {
|
|
254
|
+
/** Token name for the chat room */
|
|
255
|
+
tokenName: string;
|
|
256
|
+
/** Message ID to pin (UUID-based string ID) */
|
|
257
|
+
messageId: string;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Result from POST /live/:tokenName/chat/pin
|
|
261
|
+
*
|
|
262
|
+
* @since 5.5.0
|
|
263
|
+
*/
|
|
264
|
+
export interface PinMessageResult {
|
|
265
|
+
/** Token name */
|
|
266
|
+
tokenName: string;
|
|
267
|
+
/** The pinned message data */
|
|
268
|
+
pinnedMessage: PinnedMessage;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Result from DELETE /live/:tokenName/chat/pin
|
|
272
|
+
*
|
|
273
|
+
* @since 5.5.0
|
|
274
|
+
*/
|
|
275
|
+
export interface UnpinMessageResult {
|
|
276
|
+
/** Token name */
|
|
277
|
+
tokenName: string;
|
|
278
|
+
/** Whether a message was unpinned */
|
|
279
|
+
unpinned: boolean;
|
|
280
|
+
/** Message ID that was unpinned (if any) */
|
|
281
|
+
unpinnedMessageId?: string;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Result from GET /live/:tokenName/chat/pinned
|
|
285
|
+
*
|
|
286
|
+
* @since 5.5.0
|
|
287
|
+
*/
|
|
288
|
+
export interface GetPinnedMessageResult {
|
|
289
|
+
/** Token name */
|
|
290
|
+
tokenName: string;
|
|
291
|
+
/** The pinned message data, or null if no message is pinned */
|
|
292
|
+
pinnedMessage: PinnedMessage | null;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* WebSocket event: stream_chat_message
|
|
296
|
+
*
|
|
297
|
+
* Emitted when a new chat message is sent in a stream room
|
|
298
|
+
*/
|
|
299
|
+
export interface StreamChatMessageEvent {
|
|
300
|
+
/** Token name (lowercase) */
|
|
301
|
+
tokenName: string;
|
|
302
|
+
/** The chat message */
|
|
303
|
+
message: StreamChatMessage;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* WebSocket event: stream_chat_sent
|
|
307
|
+
*
|
|
308
|
+
* Acknowledgment sent to the sender after successful message send
|
|
309
|
+
*/
|
|
310
|
+
export interface StreamChatSentEvent {
|
|
311
|
+
/** Token name */
|
|
312
|
+
tokenName: string;
|
|
313
|
+
/** ID of the sent message */
|
|
314
|
+
messageId: string;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* WebSocket event: stream_chat_error
|
|
318
|
+
*
|
|
319
|
+
* Emitted when a chat operation fails
|
|
320
|
+
*/
|
|
321
|
+
export interface StreamChatErrorEvent {
|
|
322
|
+
/** Token name */
|
|
323
|
+
tokenName: string;
|
|
324
|
+
/** Error message */
|
|
325
|
+
message: string;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* WebSocket event: stream_chat_status
|
|
329
|
+
*
|
|
330
|
+
* Emitted when chat status changes for a token
|
|
331
|
+
*/
|
|
332
|
+
export interface StreamChatStatusEvent {
|
|
333
|
+
/** Token name */
|
|
334
|
+
tokenName: string;
|
|
335
|
+
/** Whether chat is now enabled */
|
|
336
|
+
enabled: boolean;
|
|
337
|
+
/** Reason for status (if disabled) */
|
|
338
|
+
reason?: ChatDisabledReason;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* WebSocket event: stream_chat_deleted
|
|
342
|
+
*
|
|
343
|
+
* Emitted when a chat message is deleted. Clients should show [deleted] placeholder.
|
|
344
|
+
*
|
|
345
|
+
* @since 5.3.0
|
|
346
|
+
*/
|
|
347
|
+
export interface StreamChatDeletedEvent {
|
|
348
|
+
/** Token name (lowercase) */
|
|
349
|
+
tokenName: string;
|
|
350
|
+
/** ID of the deleted message (UUID-based string) */
|
|
351
|
+
messageId: string;
|
|
352
|
+
/** Timestamp when message was deleted (ISO 8601) */
|
|
353
|
+
deletedAt: string;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* WebSocket event: stream_chat_pinned
|
|
357
|
+
*
|
|
358
|
+
* Emitted when a message is pinned to the top of the chat.
|
|
359
|
+
*
|
|
360
|
+
* @since 5.5.0
|
|
361
|
+
*/
|
|
362
|
+
export interface StreamChatPinnedEvent {
|
|
363
|
+
/** Token name (lowercase) */
|
|
364
|
+
tokenName: string;
|
|
365
|
+
/** The pinned message data */
|
|
366
|
+
pinnedMessage: PinnedMessage;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* WebSocket event: stream_chat_unpinned
|
|
370
|
+
*
|
|
371
|
+
* Emitted when a pinned message is unpinned (manually or via message deletion).
|
|
372
|
+
*
|
|
373
|
+
* @since 5.5.0
|
|
374
|
+
*/
|
|
375
|
+
export interface StreamChatUnpinnedEvent {
|
|
376
|
+
/** Token name (lowercase) */
|
|
377
|
+
tokenName: string;
|
|
378
|
+
/** Message ID that was unpinned */
|
|
379
|
+
unpinnedMessageId: string;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* WebSocket event: stream_chat_global_status
|
|
383
|
+
*
|
|
384
|
+
* Emitted when global chat status changes
|
|
385
|
+
*/
|
|
386
|
+
export interface StreamChatGlobalStatusEvent {
|
|
387
|
+
/** Whether chat is globally enabled */
|
|
388
|
+
enabled: boolean;
|
|
389
|
+
/** Timestamp of change (ISO 8601) */
|
|
390
|
+
updatedAt: string;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* WebSocket authentication result
|
|
394
|
+
*/
|
|
395
|
+
export interface StreamChatAuthenticatedEvent {
|
|
396
|
+
/** Authenticated wallet address */
|
|
397
|
+
address: AddressFormat;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* WebSocket authentication error
|
|
401
|
+
*/
|
|
402
|
+
export interface StreamChatAuthErrorEvent {
|
|
403
|
+
/** Error message */
|
|
404
|
+
message: string;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Preset reaction emojis available in the quick-bar
|
|
408
|
+
* @since 5.2.0
|
|
409
|
+
*/
|
|
410
|
+
export declare const PRESET_REACTIONS: readonly ["❤️", "🔥", "🚀", "💎", "🌟"];
|
|
411
|
+
/**
|
|
412
|
+
* Type for preset reaction emojis
|
|
413
|
+
*/
|
|
414
|
+
export type PresetReaction = (typeof PRESET_REACTIONS)[number];
|
|
415
|
+
/**
|
|
416
|
+
* WebSocket event: stream_reaction
|
|
417
|
+
*
|
|
418
|
+
* Broadcast to all viewers when a user sends an emoji reaction.
|
|
419
|
+
* Reactions are ephemeral - not persisted to database.
|
|
420
|
+
*
|
|
421
|
+
* @since 5.2.0
|
|
422
|
+
*/
|
|
423
|
+
export interface StreamReactionEvent {
|
|
424
|
+
/** Token name (lowercase) */
|
|
425
|
+
tokenName: string;
|
|
426
|
+
/** Emoji reaction (single emoji or short sequence) */
|
|
427
|
+
emoji: string;
|
|
428
|
+
/** Sender's wallet address (optional for privacy) */
|
|
429
|
+
userAddress?: string;
|
|
430
|
+
/** Server timestamp when reaction was sent (ms since epoch) */
|
|
431
|
+
timestamp: number;
|
|
432
|
+
/** Stream timecode when reaction was sent (seconds from stream start) */
|
|
433
|
+
streamTime: number;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Error codes for reaction failures
|
|
437
|
+
* @since 5.2.0
|
|
438
|
+
*/
|
|
439
|
+
export declare const REACTION_ERROR_CODES: {
|
|
440
|
+
/** User has exceeded reaction rate limit */
|
|
441
|
+
readonly RATE_LIMITED: "RATE_LIMITED";
|
|
442
|
+
/** Emoji validation failed (too long, invalid format, etc.) */
|
|
443
|
+
readonly INVALID_EMOJI: "INVALID_EMOJI";
|
|
444
|
+
/** User is not authenticated */
|
|
445
|
+
readonly NOT_AUTHENTICATED: "NOT_AUTHENTICATED";
|
|
446
|
+
/** Stream is not currently live */
|
|
447
|
+
readonly STREAM_NOT_LIVE: "STREAM_NOT_LIVE";
|
|
448
|
+
};
|
|
449
|
+
export type ReactionErrorCode = (typeof REACTION_ERROR_CODES)[keyof typeof REACTION_ERROR_CODES];
|
|
450
|
+
/**
|
|
451
|
+
* WebSocket event: stream_reaction_error
|
|
452
|
+
*
|
|
453
|
+
* Emitted to sender when a reaction fails to send.
|
|
454
|
+
*
|
|
455
|
+
* @since 5.2.0
|
|
456
|
+
*/
|
|
457
|
+
export interface StreamReactionErrorEvent {
|
|
458
|
+
/** Token name */
|
|
459
|
+
tokenName: string;
|
|
460
|
+
/** Error message */
|
|
461
|
+
message: string;
|
|
462
|
+
/** Error code for programmatic handling */
|
|
463
|
+
code?: ReactionErrorCode;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Data for send_stream_reaction WebSocket event
|
|
467
|
+
* @since 5.2.0
|
|
468
|
+
*/
|
|
469
|
+
export interface SendStreamReactionData {
|
|
470
|
+
/** Token name for the stream */
|
|
471
|
+
tokenName: string;
|
|
472
|
+
/** Emoji reaction to send */
|
|
473
|
+
emoji: string;
|
|
474
|
+
/** Current stream timecode in seconds (for viewer sync) */
|
|
475
|
+
streamTime?: number;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Data for authenticate WebSocket event
|
|
479
|
+
*/
|
|
480
|
+
export interface AuthenticateData {
|
|
481
|
+
/** JWT token for authentication */
|
|
482
|
+
token: string;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Data for send_stream_chat WebSocket event
|
|
486
|
+
*/
|
|
487
|
+
export interface SendStreamChatData {
|
|
488
|
+
/** Token name for the chat room */
|
|
489
|
+
tokenName: string;
|
|
490
|
+
/** Message content */
|
|
491
|
+
content: string;
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Data for subscribe_stream WebSocket event
|
|
495
|
+
*/
|
|
496
|
+
export interface SubscribeStreamData {
|
|
497
|
+
/** Token name to subscribe to */
|
|
498
|
+
tokenName: string;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Data for unsubscribe_stream WebSocket event
|
|
502
|
+
*/
|
|
503
|
+
export interface UnsubscribeStreamData {
|
|
504
|
+
/** Token name to unsubscribe from */
|
|
505
|
+
tokenName: string;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Standard backend response wrapper for chat endpoints
|
|
509
|
+
* @internal
|
|
510
|
+
* @see InternalApiResponse in common.ts for the shared type
|
|
511
|
+
* @deprecated Use InternalApiResponse from common.ts directly
|
|
512
|
+
*/
|
|
513
|
+
export type InternalChatResponse<T = unknown> = InternalApiResponse<T>;
|
|
514
|
+
/**
|
|
515
|
+
* Internal response from get messages endpoint
|
|
516
|
+
* @internal
|
|
517
|
+
*/
|
|
518
|
+
export interface InternalGetMessagesResponse extends InternalChatResponse<{
|
|
519
|
+
messages: StreamChatMessage[];
|
|
520
|
+
total: number;
|
|
521
|
+
page: number;
|
|
522
|
+
limit: number;
|
|
523
|
+
nextCursor?: string;
|
|
524
|
+
pinnedMessage?: PinnedMessage | null;
|
|
525
|
+
}> {
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Internal response from send message endpoint
|
|
529
|
+
* @internal
|
|
530
|
+
*/
|
|
531
|
+
export interface InternalSendMessageResponse extends InternalChatResponse<StreamChatMessage> {
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Internal response from chat status endpoint
|
|
535
|
+
* @internal
|
|
536
|
+
*/
|
|
537
|
+
export interface InternalChatStatusResponse extends InternalChatResponse<ChatStatusResponse> {
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Internal response from global chat status endpoint
|
|
541
|
+
* @internal
|
|
542
|
+
*/
|
|
543
|
+
export interface InternalGlobalChatStatusResponse extends InternalChatResponse<GlobalChatStatus> {
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Internal response from chat toggle endpoints
|
|
547
|
+
* @internal
|
|
548
|
+
* @since 5.4.0 - Added status field for dual-auth support
|
|
549
|
+
*/
|
|
550
|
+
export interface InternalChatToggleResponse extends InternalChatResponse<{
|
|
551
|
+
enabled: boolean;
|
|
552
|
+
tokenName?: string;
|
|
553
|
+
status?: FeatureStatusType;
|
|
554
|
+
}> {
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Internal response from delete message endpoint
|
|
558
|
+
* @internal
|
|
559
|
+
* @since 5.3.0
|
|
560
|
+
*/
|
|
561
|
+
export interface InternalDeleteMessageResponse extends InternalChatResponse<{
|
|
562
|
+
messageId: string;
|
|
563
|
+
deleted: boolean;
|
|
564
|
+
}> {
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Internal response from pin message endpoint
|
|
568
|
+
* @internal
|
|
569
|
+
* @since 5.5.0
|
|
570
|
+
*/
|
|
571
|
+
export interface InternalPinMessageResponse extends InternalChatResponse<{
|
|
572
|
+
pinnedMessage: PinnedMessage;
|
|
573
|
+
tokenName: string;
|
|
574
|
+
}> {
|
|
575
|
+
}
|
|
576
|
+
/**
|
|
577
|
+
* Internal response from unpin message endpoint
|
|
578
|
+
* @internal
|
|
579
|
+
* @since 5.5.0
|
|
580
|
+
*/
|
|
581
|
+
export interface InternalUnpinMessageResponse extends InternalChatResponse<{
|
|
582
|
+
unpinned: boolean;
|
|
583
|
+
unpinnedMessageId?: string;
|
|
584
|
+
tokenName: string;
|
|
585
|
+
}> {
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Internal response from get pinned message endpoint
|
|
589
|
+
* @internal
|
|
590
|
+
* @since 5.5.0
|
|
591
|
+
*/
|
|
592
|
+
export interface InternalGetPinnedMessageResponse extends InternalChatResponse<{
|
|
593
|
+
pinnedMessage: PinnedMessage | null;
|
|
594
|
+
tokenName: string;
|
|
595
|
+
}> {
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Chat engagement statistics (scoped to stream session)
|
|
599
|
+
* @since 5.10.0
|
|
600
|
+
*/
|
|
601
|
+
export interface ChatStats {
|
|
602
|
+
/** Total number of chat messages in the current/last stream session */
|
|
603
|
+
readonly messageCount: number;
|
|
604
|
+
/** Number of unique users who sent chat messages */
|
|
605
|
+
readonly uniqueChatters: number;
|
|
606
|
+
/** ISO 8601 timestamp indicating the start of the counting period (streamStartedAt) */
|
|
607
|
+
readonly since: string | null;
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* Comment engagement statistics (all-time for token)
|
|
611
|
+
* @since 5.10.0
|
|
612
|
+
*/
|
|
613
|
+
export interface CommentStats {
|
|
614
|
+
/** Total number of token page comments */
|
|
615
|
+
readonly count: number;
|
|
616
|
+
/** Number of unique users who left comments */
|
|
617
|
+
readonly uniqueCommenters: number;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Combined engagement statistics for a token
|
|
621
|
+
*
|
|
622
|
+
* Used by the Studio analytics dashboard.
|
|
623
|
+
* - Chat stats: scoped to current/last stream session
|
|
624
|
+
* - Comment stats: all-time for the token
|
|
625
|
+
*
|
|
626
|
+
* @since 5.10.0
|
|
627
|
+
*/
|
|
628
|
+
export interface EngagementStats {
|
|
629
|
+
/** Chat statistics (live stream messages) */
|
|
630
|
+
readonly chat: ChatStats;
|
|
631
|
+
/** Comment statistics (token page comments - all-time) */
|
|
632
|
+
readonly comments: CommentStats;
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Options for fetching engagement stats
|
|
636
|
+
* @since 5.10.0
|
|
637
|
+
*/
|
|
638
|
+
export interface GetEngagementStatsOptions {
|
|
639
|
+
/** Token name to fetch stats for */
|
|
640
|
+
tokenName: string;
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* Result from GET /live/:tokenName/engagement/stats
|
|
644
|
+
* @since 5.10.0
|
|
645
|
+
*/
|
|
646
|
+
export interface EngagementStatsResult extends EngagementStats {
|
|
647
|
+
/** Token name */
|
|
648
|
+
readonly tokenName: string;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Internal response from engagement stats endpoint
|
|
652
|
+
* @internal
|
|
653
|
+
* @since 5.10.0
|
|
654
|
+
*/
|
|
655
|
+
export interface InternalEngagementStatsResponse extends InternalChatResponse<EngagementStats> {
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Type guard for ChatDisabledReason
|
|
659
|
+
*/
|
|
660
|
+
export declare function isChatDisabledReason(value: unknown): value is ChatDisabledReason;
|
|
661
|
+
/**
|
|
662
|
+
* Type guard for StreamChatMessage
|
|
663
|
+
*/
|
|
664
|
+
export declare function isStreamChatMessage(obj: unknown): obj is StreamChatMessage;
|
|
665
|
+
/**
|
|
666
|
+
* Type guard for StreamChatMessageEvent
|
|
667
|
+
*/
|
|
668
|
+
export declare function isStreamChatMessageEvent(obj: unknown): obj is StreamChatMessageEvent;
|
|
669
|
+
/**
|
|
670
|
+
* Type guard for StreamChatErrorEvent
|
|
671
|
+
*/
|
|
672
|
+
export declare function isStreamChatErrorEvent(obj: unknown): obj is StreamChatErrorEvent;
|
|
673
|
+
/**
|
|
674
|
+
* Type guard for StreamChatDeletedEvent
|
|
675
|
+
* @since 5.3.0
|
|
676
|
+
*/
|
|
677
|
+
export declare function isStreamChatDeletedEvent(obj: unknown): obj is StreamChatDeletedEvent;
|
|
678
|
+
/**
|
|
679
|
+
* Type guard for PinnedMessage
|
|
680
|
+
* @since 5.5.0
|
|
681
|
+
*/
|
|
682
|
+
export declare function isPinnedMessage(obj: unknown): obj is PinnedMessage;
|
|
683
|
+
/**
|
|
684
|
+
* Type guard for StreamChatPinnedEvent
|
|
685
|
+
* @since 5.5.0
|
|
686
|
+
*/
|
|
687
|
+
export declare function isStreamChatPinnedEvent(obj: unknown): obj is StreamChatPinnedEvent;
|
|
688
|
+
/**
|
|
689
|
+
* Type guard for StreamChatUnpinnedEvent
|
|
690
|
+
* @since 5.5.0
|
|
691
|
+
*/
|
|
692
|
+
export declare function isStreamChatUnpinnedEvent(obj: unknown): obj is StreamChatUnpinnedEvent;
|
|
693
|
+
/**
|
|
694
|
+
* Type guard for ChatStatusResponse
|
|
695
|
+
*/
|
|
696
|
+
export declare function isChatStatusResponse(obj: unknown): obj is ChatStatusResponse;
|
|
697
|
+
/**
|
|
698
|
+
* Validates chat message content
|
|
699
|
+
*/
|
|
700
|
+
export declare function isValidChatContent(content: string): boolean;
|
|
701
|
+
/**
|
|
702
|
+
* Validates token name format for chat operations
|
|
703
|
+
*/
|
|
704
|
+
export declare function isValidChatTokenName(tokenName: string): boolean;
|
|
705
|
+
/**
|
|
706
|
+
* Type guard for StreamReactionEvent
|
|
707
|
+
* @since 5.2.0
|
|
708
|
+
*/
|
|
709
|
+
export declare function isStreamReactionEvent(obj: unknown): obj is StreamReactionEvent;
|
|
710
|
+
/**
|
|
711
|
+
* Type guard for StreamReactionErrorEvent
|
|
712
|
+
* @since 5.2.0
|
|
713
|
+
*/
|
|
714
|
+
export declare function isStreamReactionErrorEvent(obj: unknown): obj is StreamReactionErrorEvent;
|
|
715
|
+
/**
|
|
716
|
+
* Check if a value is a valid ReactionErrorCode
|
|
717
|
+
* @since 5.2.0
|
|
718
|
+
*/
|
|
719
|
+
export declare const isReactionErrorCode: (value: unknown) => value is "RATE_LIMITED" | "INVALID_EMOJI" | "NOT_AUTHENTICATED" | "STREAM_NOT_LIVE";
|
|
720
|
+
/**
|
|
721
|
+
* User information for typing indicators
|
|
722
|
+
*
|
|
723
|
+
* Minimal user info broadcast when showing typing status.
|
|
724
|
+
*
|
|
725
|
+
* @since 5.11.0
|
|
726
|
+
*/
|
|
727
|
+
export interface TypingUser {
|
|
728
|
+
/** User's wallet address */
|
|
729
|
+
userAddress: string;
|
|
730
|
+
/** User's display name */
|
|
731
|
+
fullName: string;
|
|
732
|
+
/** User's profile image URL (optional) */
|
|
733
|
+
profileImage?: string;
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* WebSocket event: user_typing
|
|
737
|
+
*
|
|
738
|
+
* Broadcast to all viewers when users are actively typing in chat.
|
|
739
|
+
* Typing indicators are ephemeral - not persisted to database.
|
|
740
|
+
*
|
|
741
|
+
* Auto-expires after 5 seconds of no typing activity.
|
|
742
|
+
*
|
|
743
|
+
* @since 5.11.0
|
|
744
|
+
*/
|
|
745
|
+
export interface TypingIndicatorEvent {
|
|
746
|
+
/** Token name (lowercase) */
|
|
747
|
+
tokenName: string;
|
|
748
|
+
/** Array of currently typing users (aggregated list) */
|
|
749
|
+
typingUsers: TypingUser[];
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Data for typing_start WebSocket event (client → server)
|
|
753
|
+
* @since 5.11.0
|
|
754
|
+
*/
|
|
755
|
+
export interface TypingStartData {
|
|
756
|
+
/** Token name for the chat room */
|
|
757
|
+
tokenName: string;
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Data for typing_stop WebSocket event (client → server)
|
|
761
|
+
* @since 5.11.0
|
|
762
|
+
*/
|
|
763
|
+
export interface TypingStopData {
|
|
764
|
+
/** Token name for the chat room */
|
|
765
|
+
tokenName: string;
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Type guard for TypingUser
|
|
769
|
+
* @since 5.11.0
|
|
770
|
+
*/
|
|
771
|
+
export declare function isTypingUser(obj: unknown): obj is TypingUser;
|
|
772
|
+
/**
|
|
773
|
+
* Type guard for TypingIndicatorEvent
|
|
774
|
+
* @since 5.11.0
|
|
775
|
+
*/
|
|
776
|
+
export declare function isTypingIndicatorEvent(obj: unknown): obj is TypingIndicatorEvent;
|
|
777
|
+
/**
|
|
778
|
+
* Validates SendChatMessageOptions
|
|
779
|
+
*
|
|
780
|
+
* @param options - Options to validate
|
|
781
|
+
* @throws {ValidationError} If options are invalid
|
|
782
|
+
*/
|
|
783
|
+
export declare function validateSendChatMessageOptions(options: SendChatMessageOptions): void;
|
|
784
|
+
/**
|
|
785
|
+
* Validates FetchChatMessagesOptions
|
|
786
|
+
*
|
|
787
|
+
* @param options - Options to validate
|
|
788
|
+
* @throws {ValidationError} If options are invalid
|
|
789
|
+
*/
|
|
790
|
+
export declare function validateFetchChatMessagesOptions(options: FetchChatMessagesOptions): void;
|
|
791
|
+
/**
|
|
792
|
+
* Validates DeleteChatMessageOptions
|
|
793
|
+
*
|
|
794
|
+
* @param options - Options to validate
|
|
795
|
+
* @throws {ValidationError} If options are invalid
|
|
796
|
+
* @since 5.3.0
|
|
797
|
+
*/
|
|
798
|
+
export declare function validateDeleteChatMessageOptions(options: DeleteChatMessageOptions): void;
|
|
799
|
+
/**
|
|
800
|
+
* Validates PinMessageOptions
|
|
801
|
+
*
|
|
802
|
+
* @param options - Options to validate
|
|
803
|
+
* @throws {ValidationError} If options are invalid
|
|
804
|
+
* @since 5.5.0
|
|
805
|
+
*/
|
|
806
|
+
export declare function validatePinMessageOptions(options: PinMessageOptions): void;
|
|
807
|
+
/**
|
|
808
|
+
* Validates GetEngagementStatsOptions
|
|
809
|
+
*
|
|
810
|
+
* @param options - Options to validate
|
|
811
|
+
* @throws {ValidationError} If options are invalid
|
|
812
|
+
* @since 5.10.0
|
|
813
|
+
*/
|
|
814
|
+
export declare function validateGetEngagementStatsOptions(options: GetEngagementStatsOptions): void;
|
|
815
|
+
//# sourceMappingURL=stream-chat.dto.d.ts.map
|