@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.
Files changed (405) hide show
  1. package/EXAMPLES.md +141 -7
  2. package/README.md +68 -36
  3. package/dist/ai-docs.json +7357 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.d.ts +70 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/src/LaunchpadSDK.d.ts +3288 -214
  10. package/dist/src/LaunchpadSDK.d.ts.map +1 -1
  11. package/dist/src/api/LaunchpadAPI.d.ts +21 -41
  12. package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
  13. package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
  14. package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
  15. package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
  16. package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
  17. package/dist/src/auth/JwtAuth.d.ts +145 -0
  18. package/dist/src/auth/JwtAuth.d.ts.map +1 -0
  19. package/dist/src/auth/SessionAuthService.d.ts +146 -0
  20. package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
  21. package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
  22. package/dist/src/bridge/BridgeService.d.ts.map +1 -1
  23. package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
  24. package/dist/src/bridge/constants/tokens.d.ts +4 -3
  25. package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
  26. package/dist/src/bridge/index.d.ts +1 -0
  27. package/dist/src/bridge/index.d.ts.map +1 -1
  28. package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
  29. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
  30. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
  31. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
  32. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
  33. package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
  34. package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
  35. package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
  36. package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
  37. package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
  38. package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
  39. package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
  40. package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
  41. package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
  42. package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
  43. package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
  44. package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
  45. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
  46. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
  47. package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
  48. package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
  49. package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
  50. package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
  51. package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
  52. package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
  53. package/dist/src/bridge/utils/index.d.ts +9 -0
  54. package/dist/src/bridge/utils/index.d.ts.map +1 -1
  55. package/dist/src/bridge/utils/retry.d.ts +16 -0
  56. package/dist/src/bridge/utils/retry.d.ts.map +1 -1
  57. package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
  58. package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
  59. package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
  60. package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
  61. package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
  62. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
  63. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
  64. package/dist/src/constants/endpoints.d.ts +453 -0
  65. package/dist/src/constants/endpoints.d.ts.map +1 -1
  66. package/dist/src/constants/error-messages.d.ts +1 -1
  67. package/dist/src/constants/error-messages.d.ts.map +1 -1
  68. package/dist/src/constants/jwt.d.ts +41 -0
  69. package/dist/src/constants/jwt.d.ts.map +1 -0
  70. package/dist/src/constants/sdk-defaults.d.ts +37 -0
  71. package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
  72. package/dist/src/constants/version.generated.d.ts +1 -1
  73. package/dist/src/helpers/sdk.d.ts.map +1 -1
  74. package/dist/src/helpers/wallet.d.ts +4 -3
  75. package/dist/src/helpers/wallet.d.ts.map +1 -1
  76. package/dist/src/index.d.ts +70 -11
  77. package/dist/src/index.d.ts.map +1 -1
  78. package/dist/src/schemas/files.d.ts +2 -2
  79. package/dist/src/schemas/launchpad.d.ts +40 -8
  80. package/dist/src/schemas/launchpad.d.ts.map +1 -1
  81. package/dist/src/schemas/pagination.d.ts +7 -7
  82. package/dist/src/schemas/primitives.d.ts.map +1 -1
  83. package/dist/src/schemas/trade.d.ts +6 -6
  84. package/dist/src/schemas/user.d.ts +4 -4
  85. package/dist/src/schemas/validators.d.ts +15 -7
  86. package/dist/src/schemas/validators.d.ts.map +1 -1
  87. package/dist/src/services/AbstractCacheService.d.ts +227 -0
  88. package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
  89. package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
  90. package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
  91. package/dist/src/services/ApiKeyService.d.ts +205 -0
  92. package/dist/src/services/ApiKeyService.d.ts.map +1 -0
  93. package/dist/src/services/BanService.d.ts +195 -0
  94. package/dist/src/services/BanService.d.ts.map +1 -0
  95. package/dist/src/services/BaseService.d.ts +50 -3
  96. package/dist/src/services/BaseService.d.ts.map +1 -1
  97. package/dist/src/services/BatchedCacheService.d.ts +132 -0
  98. package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
  99. package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
  100. package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
  101. package/dist/src/services/BridgeableTokenService.d.ts +18 -13
  102. package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
  103. package/dist/src/services/BundleService.d.ts.map +1 -1
  104. package/dist/src/services/BundlerClientFactory.d.ts +32 -0
  105. package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
  106. package/dist/src/services/ChatMessagesService.d.ts +152 -0
  107. package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
  108. package/dist/src/services/CommentService.d.ts +119 -0
  109. package/dist/src/services/CommentService.d.ts.map +1 -0
  110. package/dist/src/services/CommentsService.d.ts +155 -0
  111. package/dist/src/services/CommentsService.d.ts.map +1 -0
  112. package/dist/src/services/ContentFlagService.d.ts +212 -0
  113. package/dist/src/services/ContentFlagService.d.ts.map +1 -0
  114. package/dist/src/services/ContentReactionService.d.ts +175 -0
  115. package/dist/src/services/ContentReactionService.d.ts.map +1 -0
  116. package/dist/src/services/DexBackendClient.d.ts.map +1 -1
  117. package/dist/src/services/DexPoolService.d.ts +3 -3
  118. package/dist/src/services/DexPoolService.d.ts.map +1 -1
  119. package/dist/src/services/DexQuoteService.d.ts.map +1 -1
  120. package/dist/src/services/DexService.d.ts +2 -5
  121. package/dist/src/services/DexService.d.ts.map +1 -1
  122. package/dist/src/services/GSwapAssetService.d.ts +80 -0
  123. package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
  124. package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
  125. package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
  126. package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
  127. package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
  128. package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
  129. package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
  130. package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
  131. package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
  132. package/dist/src/services/GSwapService.d.ts +14 -0
  133. package/dist/src/services/GSwapService.d.ts.map +1 -1
  134. package/dist/src/services/GSwapSwapService.d.ts +68 -0
  135. package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
  136. package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
  137. package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
  138. package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
  139. package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
  140. package/dist/src/services/GalaChainLockService.d.ts +144 -0
  141. package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
  142. package/dist/src/services/GalaChainService.d.ts +23 -106
  143. package/dist/src/services/GalaChainService.d.ts.map +1 -1
  144. package/dist/src/services/GalaChainTokenService.d.ts +108 -0
  145. package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
  146. package/dist/src/services/GalaChainTransferService.d.ts +205 -0
  147. package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
  148. package/dist/src/services/ImageService.d.ts +24 -8
  149. package/dist/src/services/ImageService.d.ts.map +1 -1
  150. package/dist/src/services/LaunchpadService.d.ts +77 -5
  151. package/dist/src/services/LaunchpadService.d.ts.map +1 -1
  152. package/dist/src/services/ModeratorService.d.ts +269 -0
  153. package/dist/src/services/ModeratorService.d.ts.map +1 -0
  154. package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
  155. package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
  156. package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
  157. package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
  158. package/dist/src/services/OverseerService.d.ts +322 -0
  159. package/dist/src/services/OverseerService.d.ts.map +1 -0
  160. package/dist/src/services/PoolCacheManager.d.ts +2 -2
  161. package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
  162. package/dist/src/services/PoolService.d.ts +61 -7
  163. package/dist/src/services/PoolService.d.ts.map +1 -1
  164. package/dist/src/services/PoolStateManager.d.ts +2 -2
  165. package/dist/src/services/PoolStateManager.d.ts.map +1 -1
  166. package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
  167. package/dist/src/services/SignatureService.d.ts.map +1 -1
  168. package/dist/src/services/StreamChatService.d.ts +378 -0
  169. package/dist/src/services/StreamChatService.d.ts.map +1 -0
  170. package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
  171. package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
  172. package/dist/src/services/StreamWebSocketService.d.ts +268 -0
  173. package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
  174. package/dist/src/services/StreamingEventService.d.ts +431 -0
  175. package/dist/src/services/StreamingEventService.d.ts.map +1 -0
  176. package/dist/src/services/StreamingService.d.ts +547 -0
  177. package/dist/src/services/StreamingService.d.ts.map +1 -0
  178. package/dist/src/services/SwapEventQueue.d.ts +2 -2
  179. package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
  180. package/dist/src/services/TokenBanService.d.ts +214 -0
  181. package/dist/src/services/TokenBanService.d.ts.map +1 -0
  182. package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
  183. package/dist/src/services/TokenMetadataCache.d.ts +36 -27
  184. package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
  185. package/dist/src/services/TokenMetadataService.d.ts +24 -4
  186. package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
  187. package/dist/src/services/TokenResolverService.d.ts.map +1 -1
  188. package/dist/src/services/TradeService.d.ts +73 -0
  189. package/dist/src/services/TradeService.d.ts.map +1 -1
  190. package/dist/src/services/UserService.d.ts +56 -3
  191. package/dist/src/services/UserService.d.ts.map +1 -1
  192. package/dist/src/services/WebSocketService.d.ts +3 -3
  193. package/dist/src/services/WebSocketService.d.ts.map +1 -1
  194. package/dist/src/services/WrapService.d.ts +18 -5
  195. package/dist/src/services/WrapService.d.ts.map +1 -1
  196. package/dist/src/services/WrappableTokenCache.d.ts +8 -36
  197. package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
  198. package/dist/src/services/WrappableTokenService.d.ts +18 -12
  199. package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
  200. package/dist/src/services/shared/cache-helpers.d.ts +188 -0
  201. package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
  202. package/dist/src/services/shared/http-helpers.d.ts +146 -0
  203. package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
  204. package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
  205. package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
  206. package/dist/src/services/shared/service-validators.d.ts +137 -0
  207. package/dist/src/services/shared/service-validators.d.ts.map +1 -0
  208. package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
  209. package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
  210. package/dist/src/test-constants.d.ts +29 -0
  211. package/dist/src/test-constants.d.ts.map +1 -0
  212. package/dist/src/types/api-key.dto.d.ts +300 -0
  213. package/dist/src/types/api-key.dto.d.ts.map +1 -0
  214. package/dist/src/types/backend-responses.d.ts +12 -0
  215. package/dist/src/types/backend-responses.d.ts.map +1 -1
  216. package/dist/src/types/ban.dto.d.ts +413 -0
  217. package/dist/src/types/ban.dto.d.ts.map +1 -0
  218. package/dist/src/types/burn.dto.d.ts +21 -0
  219. package/dist/src/types/burn.dto.d.ts.map +1 -1
  220. package/dist/src/types/chat-messages.dto.d.ts +193 -0
  221. package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
  222. package/dist/src/types/comment.dto.d.ts +180 -0
  223. package/dist/src/types/comment.dto.d.ts.map +1 -0
  224. package/dist/src/types/comments.dto.d.ts +210 -0
  225. package/dist/src/types/comments.dto.d.ts.map +1 -0
  226. package/dist/src/types/common.d.ts +369 -0
  227. package/dist/src/types/common.d.ts.map +1 -1
  228. package/dist/src/types/constraints.d.ts +374 -0
  229. package/dist/src/types/constraints.d.ts.map +1 -0
  230. package/dist/src/types/content-flag.dto.d.ts +310 -0
  231. package/dist/src/types/content-flag.dto.d.ts.map +1 -0
  232. package/dist/src/types/content-reactions.dto.d.ts +132 -0
  233. package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
  234. package/dist/src/types/dex-pool.dto.d.ts +13 -37
  235. package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
  236. package/dist/src/types/dto.d.ts +8 -0
  237. package/dist/src/types/dto.d.ts.map +1 -1
  238. package/dist/src/types/galachain-api.types.d.ts +30 -0
  239. package/dist/src/types/galachain-api.types.d.ts.map +1 -1
  240. package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
  241. package/dist/src/types/launchpad.dto.d.ts +234 -131
  242. package/dist/src/types/launchpad.dto.d.ts.map +1 -1
  243. package/dist/src/types/launchpad.validation.d.ts.map +1 -1
  244. package/dist/src/types/lock.dto.d.ts +20 -35
  245. package/dist/src/types/lock.dto.d.ts.map +1 -1
  246. package/dist/src/types/moderator.dto.d.ts +581 -0
  247. package/dist/src/types/moderator.dto.d.ts.map +1 -0
  248. package/dist/src/types/options.dto.d.ts +25 -115
  249. package/dist/src/types/options.dto.d.ts.map +1 -1
  250. package/dist/src/types/overseer.dto.d.ts +420 -0
  251. package/dist/src/types/overseer.dto.d.ts.map +1 -0
  252. package/dist/src/types/pool.dto.d.ts +106 -0
  253. package/dist/src/types/pool.dto.d.ts.map +1 -0
  254. package/dist/src/types/result.types.d.ts +3 -2
  255. package/dist/src/types/result.types.d.ts.map +1 -1
  256. package/dist/src/types/session-auth.dto.d.ts +91 -0
  257. package/dist/src/types/session-auth.dto.d.ts.map +1 -0
  258. package/dist/src/types/stream-chat.dto.d.ts +815 -0
  259. package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
  260. package/dist/src/types/streaming-events.dto.d.ts +586 -0
  261. package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
  262. package/dist/src/types/streaming.dto.d.ts +1141 -0
  263. package/dist/src/types/streaming.dto.d.ts.map +1 -0
  264. package/dist/src/types/token-ban.dto.d.ts +195 -0
  265. package/dist/src/types/token-ban.dto.d.ts.map +1 -0
  266. package/dist/src/types/trade.dto.d.ts +21 -61
  267. package/dist/src/types/trade.dto.d.ts.map +1 -1
  268. package/dist/src/types/trades-query.dto.d.ts +127 -0
  269. package/dist/src/types/trades-query.dto.d.ts.map +1 -0
  270. package/dist/src/types/transfer.dto.d.ts +20 -15
  271. package/dist/src/types/transfer.dto.d.ts.map +1 -1
  272. package/dist/src/types/user.dto.d.ts +185 -73
  273. package/dist/src/types/user.dto.d.ts.map +1 -1
  274. package/dist/src/types/wrappable-token.dto.d.ts +6 -2
  275. package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
  276. package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
  277. package/dist/src/utils/Logger.d.ts.map +1 -1
  278. package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
  279. package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
  280. package/dist/src/utils/ReconnectionManager.d.ts +142 -0
  281. package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
  282. package/dist/src/utils/SignatureHelper.d.ts +9 -0
  283. package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
  284. package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
  285. package/dist/src/utils/adapters.d.ts.map +1 -1
  286. package/dist/src/utils/address-formatter.d.ts +317 -0
  287. package/dist/src/utils/address-formatter.d.ts.map +1 -0
  288. package/dist/src/utils/agent-config.d.ts.map +1 -1
  289. package/dist/src/utils/amount-validator.d.ts +268 -0
  290. package/dist/src/utils/amount-validator.d.ts.map +1 -0
  291. package/dist/src/utils/api-patterns.d.ts +347 -0
  292. package/dist/src/utils/api-patterns.d.ts.map +1 -0
  293. package/dist/src/utils/array-helpers.d.ts +115 -0
  294. package/dist/src/utils/array-helpers.d.ts.map +1 -0
  295. package/dist/src/utils/async-patterns.d.ts +272 -0
  296. package/dist/src/utils/async-patterns.d.ts.map +1 -0
  297. package/dist/src/utils/auto-pagination.d.ts +195 -2
  298. package/dist/src/utils/auto-pagination.d.ts.map +1 -1
  299. package/dist/src/utils/bignumber-helpers.d.ts +119 -13
  300. package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
  301. package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
  302. package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
  303. package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
  304. package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
  305. package/dist/src/utils/data-transform-patterns.d.ts +393 -0
  306. package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
  307. package/dist/src/utils/date-utils.d.ts +166 -0
  308. package/dist/src/utils/date-utils.d.ts.map +1 -1
  309. package/dist/src/utils/delimiter-parser.d.ts +139 -0
  310. package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
  311. package/dist/src/utils/error-factories.d.ts +346 -1
  312. package/dist/src/utils/error-factories.d.ts.map +1 -1
  313. package/dist/src/utils/error-handling-patterns.d.ts +390 -0
  314. package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
  315. package/dist/src/utils/error-patterns.d.ts +360 -0
  316. package/dist/src/utils/error-patterns.d.ts.map +1 -0
  317. package/dist/src/utils/error-utils.d.ts +250 -0
  318. package/dist/src/utils/error-utils.d.ts.map +1 -1
  319. package/dist/src/utils/error-wrapper.d.ts +208 -0
  320. package/dist/src/utils/error-wrapper.d.ts.map +1 -0
  321. package/dist/src/utils/errors.d.ts +70 -0
  322. package/dist/src/utils/errors.d.ts.map +1 -1
  323. package/dist/src/utils/http-factory.d.ts +36 -0
  324. package/dist/src/utils/http-factory.d.ts.map +1 -0
  325. package/dist/src/utils/http.d.ts.map +1 -1
  326. package/dist/src/utils/load-env.d.ts.map +1 -1
  327. package/dist/src/utils/multipart.d.ts.map +1 -1
  328. package/dist/src/utils/numeric-patterns.d.ts +289 -0
  329. package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
  330. package/dist/src/utils/numeric-wrappers.d.ts +146 -0
  331. package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
  332. package/dist/src/utils/object-extractors.d.ts +115 -0
  333. package/dist/src/utils/object-extractors.d.ts.map +1 -0
  334. package/dist/src/utils/object-patterns.d.ts +81 -0
  335. package/dist/src/utils/object-patterns.d.ts.map +1 -0
  336. package/dist/src/utils/pagination-helpers.d.ts +230 -0
  337. package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
  338. package/dist/src/utils/pool-pair-parser.d.ts +3 -1
  339. package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
  340. package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
  341. package/dist/src/utils/position-filters.d.ts +1 -2
  342. package/dist/src/utils/position-filters.d.ts.map +1 -1
  343. package/dist/src/utils/query-params.d.ts +0 -16
  344. package/dist/src/utils/query-params.d.ts.map +1 -1
  345. package/dist/src/utils/response-handlers.d.ts +149 -20
  346. package/dist/src/utils/response-handlers.d.ts.map +1 -1
  347. package/dist/src/utils/response-helpers.d.ts +28 -0
  348. package/dist/src/utils/response-helpers.d.ts.map +1 -0
  349. package/dist/src/utils/response-normalizers.d.ts +27 -49
  350. package/dist/src/utils/response-normalizers.d.ts.map +1 -1
  351. package/dist/src/utils/safe-parsers.d.ts +487 -0
  352. package/dist/src/utils/safe-parsers.d.ts.map +1 -0
  353. package/dist/src/utils/service-validators.d.ts +268 -0
  354. package/dist/src/utils/service-validators.d.ts.map +1 -0
  355. package/dist/src/utils/slippage-utils.d.ts.map +1 -1
  356. package/dist/src/utils/string-patterns.d.ts +404 -0
  357. package/dist/src/utils/string-patterns.d.ts.map +1 -0
  358. package/dist/src/utils/string-transforms.d.ts +89 -0
  359. package/dist/src/utils/string-transforms.d.ts.map +1 -0
  360. package/dist/src/utils/string-utils.d.ts +108 -0
  361. package/dist/src/utils/string-utils.d.ts.map +1 -0
  362. package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
  363. package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
  364. package/dist/src/utils/token-format-converter.d.ts +22 -8
  365. package/dist/src/utils/token-format-converter.d.ts.map +1 -1
  366. package/dist/src/utils/token-parser.d.ts +2 -2
  367. package/dist/src/utils/token-parser.d.ts.map +1 -1
  368. package/dist/src/utils/token-stringification.d.ts +168 -0
  369. package/dist/src/utils/token-stringification.d.ts.map +1 -0
  370. package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
  371. package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
  372. package/dist/src/utils/tokenNormalizer.d.ts +8 -45
  373. package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
  374. package/dist/src/utils/transfer-validation.d.ts +1 -1
  375. package/dist/src/utils/transfer-validation.d.ts.map +1 -1
  376. package/dist/src/utils/type-guard-factory.d.ts +260 -0
  377. package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
  378. package/dist/src/utils/unique-key-generator.d.ts +148 -0
  379. package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
  380. package/dist/src/utils/validation-helpers.d.ts +906 -183
  381. package/dist/src/utils/validation-helpers.d.ts.map +1 -1
  382. package/dist/src/utils/validation-patterns.d.ts +745 -0
  383. package/dist/src/utils/validation-patterns.d.ts.map +1 -0
  384. package/dist/src/utils/validation.d.ts +2 -30
  385. package/dist/src/utils/validation.d.ts.map +1 -1
  386. package/dist/src/utils/wallet.d.ts +12 -1
  387. package/dist/src/utils/wallet.d.ts.map +1 -1
  388. package/dist/src/utils/websocket-patterns.d.ts +681 -0
  389. package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
  390. package/dist/src/utils/websocket-validators.d.ts.map +1 -1
  391. package/package.json +86 -19
  392. package/dist/src/bridge/strategies/index.d.ts +0 -9
  393. package/dist/src/bridge/strategies/index.d.ts.map +0 -1
  394. package/dist/src/constants/counts.d.ts +0 -66
  395. package/dist/src/constants/counts.d.ts.map +0 -1
  396. package/dist/src/services/WebSocketManager.d.ts +0 -99
  397. package/dist/src/services/WebSocketManager.d.ts.map +0 -1
  398. package/dist/src/types/eip712-types.d.ts +0 -140
  399. package/dist/src/types/eip712-types.d.ts.map +0 -1
  400. package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
  401. package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
  402. package/dist/src/utils/number-utils.d.ts +0 -94
  403. package/dist/src/utils/number-utils.d.ts.map +0 -1
  404. package/dist/src/utils/precision-math.d.ts +0 -37
  405. 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