@gala-chain/launchpad-mcp-server 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.
Files changed (522) hide show
  1. package/README.md +49 -21
  2. package/dist/ai-docs.json +7357 -0
  3. package/dist/constants/mcpToolNames.d.ts +3 -1
  4. package/dist/constants/mcpToolNames.d.ts.map +1 -1
  5. package/dist/constants/mcpToolNames.js +2 -1
  6. package/dist/constants/mcpToolNames.js.map +1 -1
  7. package/dist/explain-sdk-usage-ai.json +3445 -0
  8. package/dist/generated/version.d.ts +1 -1
  9. package/dist/generated/version.d.ts.map +1 -1
  10. package/dist/generated/version.js +1 -1
  11. package/dist/generated/version.js.map +1 -1
  12. package/dist/prompts/account.d.ts +24 -0
  13. package/dist/prompts/account.d.ts.map +1 -0
  14. package/dist/prompts/account.js +89 -0
  15. package/dist/prompts/account.js.map +1 -0
  16. package/dist/prompts/api-keys.d.ts +36 -0
  17. package/dist/prompts/api-keys.d.ts.map +1 -0
  18. package/dist/prompts/api-keys.js +251 -0
  19. package/dist/prompts/api-keys.js.map +1 -0
  20. package/dist/prompts/auth.d.ts +29 -0
  21. package/dist/prompts/auth.d.ts.map +1 -0
  22. package/dist/prompts/auth.js +127 -0
  23. package/dist/prompts/auth.js.map +1 -0
  24. package/dist/prompts/balances.d.ts.map +1 -1
  25. package/dist/prompts/balances.js +17 -17
  26. package/dist/prompts/balances.js.map +1 -1
  27. package/dist/prompts/bans.d.ts +23 -0
  28. package/dist/prompts/bans.d.ts.map +1 -0
  29. package/dist/prompts/bans.js +82 -0
  30. package/dist/prompts/bans.js.map +1 -0
  31. package/dist/prompts/bridge.d.ts +2 -1
  32. package/dist/prompts/bridge.d.ts.map +1 -1
  33. package/dist/prompts/bridge.js +91 -227
  34. package/dist/prompts/bridge.js.map +1 -1
  35. package/dist/prompts/burns.d.ts +30 -0
  36. package/dist/prompts/burns.d.ts.map +1 -0
  37. package/dist/prompts/burns.js +127 -0
  38. package/dist/prompts/burns.js.map +1 -0
  39. package/dist/prompts/chat-messages.d.ts +21 -0
  40. package/dist/prompts/chat-messages.d.ts.map +1 -0
  41. package/dist/prompts/chat-messages.js +103 -0
  42. package/dist/prompts/chat-messages.js.map +1 -0
  43. package/dist/prompts/chat.d.ts +67 -0
  44. package/dist/prompts/chat.d.ts.map +1 -0
  45. package/dist/prompts/chat.js +355 -0
  46. package/dist/prompts/chat.js.map +1 -0
  47. package/dist/prompts/comments.d.ts +29 -0
  48. package/dist/prompts/comments.d.ts.map +1 -0
  49. package/dist/prompts/comments.js +133 -0
  50. package/dist/prompts/comments.js.map +1 -0
  51. package/dist/prompts/content-flags.d.ts +29 -0
  52. package/dist/prompts/content-flags.d.ts.map +1 -0
  53. package/dist/prompts/content-flags.js +248 -0
  54. package/dist/prompts/content-flags.js.map +1 -0
  55. package/dist/prompts/content-reactions.d.ts +29 -0
  56. package/dist/prompts/content-reactions.d.ts.map +1 -0
  57. package/dist/prompts/content-reactions.js +77 -0
  58. package/dist/prompts/content-reactions.js.map +1 -0
  59. package/dist/prompts/create-token.d.ts.map +1 -1
  60. package/dist/prompts/create-token.js +11 -18
  61. package/dist/prompts/create-token.js.map +1 -1
  62. package/dist/prompts/dex-trading.d.ts.map +1 -1
  63. package/dist/prompts/dex-trading.js +11 -42
  64. package/dist/prompts/dex-trading.js.map +1 -1
  65. package/dist/prompts/discover-tokens.d.ts.map +1 -1
  66. package/dist/prompts/discover-tokens.js +11 -26
  67. package/dist/prompts/discover-tokens.js.map +1 -1
  68. package/dist/prompts/event-subscriptions.d.ts +45 -0
  69. package/dist/prompts/event-subscriptions.d.ts.map +1 -0
  70. package/dist/prompts/event-subscriptions.js +330 -0
  71. package/dist/prompts/event-subscriptions.js.map +1 -0
  72. package/dist/prompts/explore-dex-pools.d.ts +2 -0
  73. package/dist/prompts/explore-dex-pools.d.ts.map +1 -1
  74. package/dist/prompts/explore-dex-pools.js +26 -104
  75. package/dist/prompts/explore-dex-pools.js.map +1 -1
  76. package/dist/prompts/factories/balance-prompt-factory.d.ts +102 -0
  77. package/dist/prompts/factories/balance-prompt-factory.d.ts.map +1 -0
  78. package/dist/prompts/factories/balance-prompt-factory.js +176 -0
  79. package/dist/prompts/factories/balance-prompt-factory.js.map +1 -0
  80. package/dist/prompts/factories/ban-management-factory.d.ts +90 -0
  81. package/dist/prompts/factories/ban-management-factory.d.ts.map +1 -0
  82. package/dist/prompts/factories/ban-management-factory.js +330 -0
  83. package/dist/prompts/factories/ban-management-factory.js.map +1 -0
  84. package/dist/prompts/factories/calculation-prompt-factory.d.ts +119 -0
  85. package/dist/prompts/factories/calculation-prompt-factory.d.ts.map +1 -0
  86. package/dist/prompts/factories/calculation-prompt-factory.js +183 -0
  87. package/dist/prompts/factories/calculation-prompt-factory.js.map +1 -0
  88. package/dist/prompts/factories/discovery-prompt-factory.d.ts +135 -0
  89. package/dist/prompts/factories/discovery-prompt-factory.d.ts.map +1 -0
  90. package/dist/prompts/factories/discovery-prompt-factory.js +240 -0
  91. package/dist/prompts/factories/discovery-prompt-factory.js.map +1 -0
  92. package/dist/prompts/factories/event-subscription-factory.d.ts +177 -0
  93. package/dist/prompts/factories/event-subscription-factory.d.ts.map +1 -0
  94. package/dist/prompts/factories/event-subscription-factory.js +329 -0
  95. package/dist/prompts/factories/event-subscription-factory.js.map +1 -0
  96. package/dist/prompts/factories/filtered-list-prompt-factory.d.ts +95 -0
  97. package/dist/prompts/factories/filtered-list-prompt-factory.d.ts.map +1 -0
  98. package/dist/prompts/factories/filtered-list-prompt-factory.js +147 -0
  99. package/dist/prompts/factories/filtered-list-prompt-factory.js.map +1 -0
  100. package/dist/prompts/factories/index.d.ts +33 -0
  101. package/dist/prompts/factories/index.d.ts.map +1 -0
  102. package/dist/prompts/factories/index.js +91 -0
  103. package/dist/prompts/factories/index.js.map +1 -0
  104. package/dist/prompts/factories/invite-management-factory.d.ts +88 -0
  105. package/dist/prompts/factories/invite-management-factory.d.ts.map +1 -0
  106. package/dist/prompts/factories/invite-management-factory.js +262 -0
  107. package/dist/prompts/factories/invite-management-factory.js.map +1 -0
  108. package/dist/prompts/factories/reaction-prompt-factory.d.ts +81 -0
  109. package/dist/prompts/factories/reaction-prompt-factory.d.ts.map +1 -0
  110. package/dist/prompts/factories/reaction-prompt-factory.js +188 -0
  111. package/dist/prompts/factories/reaction-prompt-factory.js.map +1 -0
  112. package/dist/prompts/factories/simple-operation-factory.d.ts +166 -0
  113. package/dist/prompts/factories/simple-operation-factory.d.ts.map +1 -0
  114. package/dist/prompts/factories/simple-operation-factory.js +218 -0
  115. package/dist/prompts/factories/simple-operation-factory.js.map +1 -0
  116. package/dist/prompts/index.d.ts +31 -6
  117. package/dist/prompts/index.d.ts.map +1 -1
  118. package/dist/prompts/index.js +136 -5
  119. package/dist/prompts/index.js.map +1 -1
  120. package/dist/prompts/locks.d.ts.map +1 -1
  121. package/dist/prompts/locks.js +32 -56
  122. package/dist/prompts/locks.js.map +1 -1
  123. package/dist/prompts/moderators.d.ts +22 -0
  124. package/dist/prompts/moderators.d.ts.map +1 -0
  125. package/dist/prompts/moderators.js +62 -0
  126. package/dist/prompts/moderators.js.map +1 -0
  127. package/dist/prompts/monitoring.d.ts +3 -1
  128. package/dist/prompts/monitoring.d.ts.map +1 -1
  129. package/dist/prompts/monitoring.js +52 -140
  130. package/dist/prompts/monitoring.js.map +1 -1
  131. package/dist/prompts/overseers.d.ts +34 -0
  132. package/dist/prompts/overseers.d.ts.map +1 -0
  133. package/dist/prompts/overseers.js +117 -0
  134. package/dist/prompts/overseers.js.map +1 -0
  135. package/dist/prompts/pools.d.ts +22 -20
  136. package/dist/prompts/pools.d.ts.map +1 -1
  137. package/dist/prompts/pools.js +150 -251
  138. package/dist/prompts/pools.js.map +1 -1
  139. package/dist/prompts/portfolio.d.ts.map +1 -1
  140. package/dist/prompts/portfolio.js +1 -9
  141. package/dist/prompts/portfolio.js.map +1 -1
  142. package/dist/prompts/prompt-factories.d.ts +179 -0
  143. package/dist/prompts/prompt-factories.d.ts.map +1 -0
  144. package/dist/prompts/prompt-factories.js +230 -0
  145. package/dist/prompts/prompt-factories.js.map +1 -0
  146. package/dist/prompts/referrals.d.ts +27 -0
  147. package/dist/prompts/referrals.d.ts.map +1 -0
  148. package/dist/prompts/referrals.js +176 -0
  149. package/dist/prompts/referrals.js.map +1 -0
  150. package/dist/prompts/streaming.d.ts +84 -0
  151. package/dist/prompts/streaming.d.ts.map +1 -0
  152. package/dist/prompts/streaming.js +411 -0
  153. package/dist/prompts/streaming.js.map +1 -0
  154. package/dist/prompts/tier1-bridge-operations.d.ts +30 -0
  155. package/dist/prompts/tier1-bridge-operations.d.ts.map +1 -0
  156. package/dist/prompts/tier1-bridge-operations.js +634 -0
  157. package/dist/prompts/tier1-bridge-operations.js.map +1 -0
  158. package/dist/prompts/tier1-liquidity-management.d.ts +30 -0
  159. package/dist/prompts/tier1-liquidity-management.d.ts.map +1 -0
  160. package/dist/prompts/tier1-liquidity-management.js +560 -0
  161. package/dist/prompts/tier1-liquidity-management.js.map +1 -0
  162. package/dist/prompts/tier1-pool-discovery.d.ts +30 -0
  163. package/dist/prompts/tier1-pool-discovery.d.ts.map +1 -0
  164. package/dist/prompts/tier1-pool-discovery.js +221 -0
  165. package/dist/prompts/tier1-pool-discovery.js.map +1 -0
  166. package/dist/prompts/tier1-price-history.d.ts +30 -0
  167. package/dist/prompts/tier1-price-history.d.ts.map +1 -0
  168. package/dist/prompts/tier1-price-history.js +429 -0
  169. package/dist/prompts/tier1-price-history.js.map +1 -0
  170. package/dist/prompts/tier1-token-analysis.d.ts +30 -0
  171. package/dist/prompts/tier1-token-analysis.d.ts.map +1 -0
  172. package/dist/prompts/tier1-token-analysis.js +376 -0
  173. package/dist/prompts/tier1-token-analysis.js.map +1 -0
  174. package/dist/prompts/tier2-account-setup.d.ts +24 -0
  175. package/dist/prompts/tier2-account-setup.d.ts.map +1 -0
  176. package/dist/prompts/tier2-account-setup.js +206 -0
  177. package/dist/prompts/tier2-account-setup.js.map +1 -0
  178. package/dist/prompts/tier2-advanced-liquidity.d.ts +24 -0
  179. package/dist/prompts/tier2-advanced-liquidity.d.ts.map +1 -0
  180. package/dist/prompts/tier2-advanced-liquidity.js +298 -0
  181. package/dist/prompts/tier2-advanced-liquidity.js.map +1 -0
  182. package/dist/prompts/tier2-asset-management.d.ts +25 -0
  183. package/dist/prompts/tier2-asset-management.d.ts.map +1 -0
  184. package/dist/prompts/tier2-asset-management.js +246 -0
  185. package/dist/prompts/tier2-asset-management.js.map +1 -0
  186. package/dist/prompts/tier2-token-lifecycle.d.ts +25 -0
  187. package/dist/prompts/tier2-token-lifecycle.d.ts.map +1 -0
  188. package/dist/prompts/tier2-token-lifecycle.js +241 -0
  189. package/dist/prompts/tier2-token-lifecycle.js.map +1 -0
  190. package/dist/prompts/tier3-community-engagement.d.ts +26 -0
  191. package/dist/prompts/tier3-community-engagement.d.ts.map +1 -0
  192. package/dist/prompts/tier3-community-engagement.js +610 -0
  193. package/dist/prompts/tier3-community-engagement.js.map +1 -0
  194. package/dist/prompts/tier3-moderation-workflows.d.ts +31 -0
  195. package/dist/prompts/tier3-moderation-workflows.d.ts.map +1 -0
  196. package/dist/prompts/tier3-moderation-workflows.js +511 -0
  197. package/dist/prompts/tier3-moderation-workflows.js.map +1 -0
  198. package/dist/prompts/tier3-streaming-management.d.ts +26 -0
  199. package/dist/prompts/tier3-streaming-management.d.ts.map +1 -0
  200. package/dist/prompts/tier3-streaming-management.js +797 -0
  201. package/dist/prompts/tier3-streaming-management.js.map +1 -0
  202. package/dist/prompts/token-bans.d.ts +27 -0
  203. package/dist/prompts/token-bans.d.ts.map +1 -0
  204. package/dist/prompts/token-bans.js +77 -0
  205. package/dist/prompts/token-bans.js.map +1 -0
  206. package/dist/prompts/trades.d.ts +22 -0
  207. package/dist/prompts/trades.d.ts.map +1 -0
  208. package/dist/prompts/trades.js +107 -0
  209. package/dist/prompts/trades.js.map +1 -0
  210. package/dist/prompts/trading-calculations.d.ts +3 -1
  211. package/dist/prompts/trading-calculations.d.ts.map +1 -1
  212. package/dist/prompts/trading-calculations.js +134 -270
  213. package/dist/prompts/trading-calculations.js.map +1 -1
  214. package/dist/prompts/trading.d.ts +10 -1
  215. package/dist/prompts/trading.d.ts.map +1 -1
  216. package/dist/prompts/trading.js +128 -2
  217. package/dist/prompts/trading.js.map +1 -1
  218. package/dist/prompts/transfers.d.ts +2 -1
  219. package/dist/prompts/transfers.d.ts.map +1 -1
  220. package/dist/prompts/transfers.js +26 -30
  221. package/dist/prompts/transfers.js.map +1 -1
  222. package/dist/prompts/uploads.d.ts +19 -0
  223. package/dist/prompts/uploads.d.ts.map +1 -0
  224. package/dist/prompts/uploads.js +114 -0
  225. package/dist/prompts/uploads.js.map +1 -0
  226. package/dist/prompts/utility-tools.d.ts.map +1 -1
  227. package/dist/prompts/utility-tools.js +27 -18
  228. package/dist/prompts/utility-tools.js.map +1 -1
  229. package/dist/prompts/utils/index.d.ts +21 -0
  230. package/dist/prompts/utils/index.d.ts.map +1 -0
  231. package/dist/prompts/utils/index.js +38 -0
  232. package/dist/prompts/utils/index.js.map +1 -0
  233. package/dist/prompts/utils/pagination-helpers.d.ts +95 -0
  234. package/dist/prompts/utils/pagination-helpers.d.ts.map +1 -0
  235. package/dist/prompts/utils/pagination-helpers.js +121 -0
  236. package/dist/prompts/utils/pagination-helpers.js.map +1 -0
  237. package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -1
  238. package/dist/prompts/utils/workflowTemplates.js +4 -3
  239. package/dist/prompts/utils/workflowTemplates.js.map +1 -1
  240. package/dist/prompts/wallet.d.ts +24 -0
  241. package/dist/prompts/wallet.d.ts.map +1 -0
  242. package/dist/prompts/wallet.js +139 -0
  243. package/dist/prompts/wallet.js.map +1 -0
  244. package/dist/schemas/common-schemas.d.ts +890 -0
  245. package/dist/schemas/common-schemas.d.ts.map +1 -1
  246. package/dist/schemas/common-schemas.js +853 -1
  247. package/dist/schemas/common-schemas.js.map +1 -1
  248. package/dist/server.d.ts +31 -3
  249. package/dist/server.d.ts.map +1 -1
  250. package/dist/server.js +68 -7
  251. package/dist/server.js.map +1 -1
  252. package/dist/tools/api-keys/index.d.ts +41 -0
  253. package/dist/tools/api-keys/index.d.ts.map +1 -0
  254. package/dist/tools/api-keys/index.js +245 -0
  255. package/dist/tools/api-keys/index.js.map +1 -0
  256. package/dist/tools/auth/index.d.ts +19 -0
  257. package/dist/tools/auth/index.d.ts.map +1 -0
  258. package/dist/tools/auth/index.js +138 -0
  259. package/dist/tools/auth/index.js.map +1 -0
  260. package/dist/tools/balance/helpers/format-balance.d.ts +86 -0
  261. package/dist/tools/balance/helpers/format-balance.d.ts.map +1 -0
  262. package/dist/tools/balance/helpers/format-balance.js +87 -0
  263. package/dist/tools/balance/helpers/format-balance.js.map +1 -0
  264. package/dist/tools/balance/index.d.ts +4 -4
  265. package/dist/tools/balance/index.d.ts.map +1 -1
  266. package/dist/tools/balance/index.js +64 -176
  267. package/dist/tools/balance/index.js.map +1 -1
  268. package/dist/tools/ban/index.d.ts +37 -0
  269. package/dist/tools/ban/index.d.ts.map +1 -0
  270. package/dist/tools/ban/index.js +206 -0
  271. package/dist/tools/ban/index.js.map +1 -0
  272. package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts +87 -0
  273. package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts.map +1 -0
  274. package/dist/tools/bridge/helpers/bridgeable-token-tools.js +130 -0
  275. package/dist/tools/bridge/helpers/bridgeable-token-tools.js.map +1 -0
  276. package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts +87 -0
  277. package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts.map +1 -0
  278. package/dist/tools/bridge/helpers/external-chain-balance-tools.js +167 -0
  279. package/dist/tools/bridge/helpers/external-chain-balance-tools.js.map +1 -0
  280. package/dist/tools/bridge/index.d.ts +3 -7
  281. package/dist/tools/bridge/index.d.ts.map +1 -1
  282. package/dist/tools/bridge/index.js +89 -371
  283. package/dist/tools/bridge/index.js.map +1 -1
  284. package/dist/tools/burns/index.d.ts.map +1 -1
  285. package/dist/tools/burns/index.js +8 -36
  286. package/dist/tools/burns/index.js.map +1 -1
  287. package/dist/tools/chat/getPinnedChatMessage.d.ts +15 -0
  288. package/dist/tools/chat/getPinnedChatMessage.d.ts.map +1 -0
  289. package/dist/tools/chat/getPinnedChatMessage.js +37 -0
  290. package/dist/tools/chat/getPinnedChatMessage.js.map +1 -0
  291. package/dist/tools/chat/index.d.ts +73 -0
  292. package/dist/tools/chat/index.d.ts.map +1 -0
  293. package/dist/tools/chat/index.js +359 -0
  294. package/dist/tools/chat/index.js.map +1 -0
  295. package/dist/tools/chat/pinChatMessage.d.ts +16 -0
  296. package/dist/tools/chat/pinChatMessage.d.ts.map +1 -0
  297. package/dist/tools/chat/pinChatMessage.js +51 -0
  298. package/dist/tools/chat/pinChatMessage.js.map +1 -0
  299. package/dist/tools/chat/unpinChatMessage.d.ts +16 -0
  300. package/dist/tools/chat/unpinChatMessage.d.ts.map +1 -0
  301. package/dist/tools/chat/unpinChatMessage.js +39 -0
  302. package/dist/tools/chat/unpinChatMessage.js.map +1 -0
  303. package/dist/tools/chat-messages/index.d.ts +35 -0
  304. package/dist/tools/chat-messages/index.d.ts.map +1 -0
  305. package/dist/tools/chat-messages/index.js +165 -0
  306. package/dist/tools/chat-messages/index.js.map +1 -0
  307. package/dist/tools/comments/index.d.ts +44 -0
  308. package/dist/tools/comments/index.d.ts.map +1 -0
  309. package/dist/tools/comments/index.js +171 -0
  310. package/dist/tools/comments/index.js.map +1 -0
  311. package/dist/tools/content-flags/index.d.ts +38 -0
  312. package/dist/tools/content-flags/index.d.ts.map +1 -0
  313. package/dist/tools/content-flags/index.js +282 -0
  314. package/dist/tools/content-flags/index.js.map +1 -0
  315. package/dist/tools/content-reactions/index.d.ts +43 -0
  316. package/dist/tools/content-reactions/index.d.ts.map +1 -0
  317. package/dist/tools/content-reactions/index.js +135 -0
  318. package/dist/tools/content-reactions/index.js.map +1 -0
  319. package/dist/tools/creation/index.d.ts.map +1 -1
  320. package/dist/tools/creation/index.js +2 -5
  321. package/dist/tools/creation/index.js.map +1 -1
  322. package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
  323. package/dist/tools/dex/fetchAllDexPools.js +5 -21
  324. package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
  325. package/dist/tools/dex/fetchDexPools.d.ts.map +1 -1
  326. package/dist/tools/dex/fetchDexPools.js +11 -28
  327. package/dist/tools/dex/fetchDexPools.js.map +1 -1
  328. package/dist/tools/dex/helpers.d.ts +479 -0
  329. package/dist/tools/dex/helpers.d.ts.map +1 -0
  330. package/dist/tools/dex/helpers.js +570 -0
  331. package/dist/tools/dex/helpers.js.map +1 -0
  332. package/dist/tools/dex/index.d.ts +50 -11
  333. package/dist/tools/dex/index.d.ts.map +1 -1
  334. package/dist/tools/dex/index.js +124 -486
  335. package/dist/tools/dex/index.js.map +1 -1
  336. package/dist/tools/dex/leaderboard.d.ts.map +1 -1
  337. package/dist/tools/dex/leaderboard.js +5 -70
  338. package/dist/tools/dex/leaderboard.js.map +1 -1
  339. package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
  340. package/dist/tools/dex/liquidity-positions.js +20 -91
  341. package/dist/tools/dex/liquidity-positions.js.map +1 -1
  342. package/dist/tools/dex/volume.d.ts.map +1 -1
  343. package/dist/tools/dex/volume.js +6 -21
  344. package/dist/tools/dex/volume.js.map +1 -1
  345. package/dist/tools/dex-analytics/index.d.ts +48 -0
  346. package/dist/tools/dex-analytics/index.d.ts.map +1 -0
  347. package/dist/tools/dex-analytics/index.js +111 -0
  348. package/dist/tools/dex-analytics/index.js.map +1 -0
  349. package/dist/tools/dex-liquidity/index.d.ts +22 -0
  350. package/dist/tools/dex-liquidity/index.d.ts.map +1 -0
  351. package/dist/tools/dex-liquidity/index.js +384 -0
  352. package/dist/tools/dex-liquidity/index.js.map +1 -0
  353. package/dist/tools/dex-pools/index.d.ts +60 -0
  354. package/dist/tools/dex-pools/index.d.ts.map +1 -0
  355. package/dist/tools/dex-pools/index.js +231 -0
  356. package/dist/tools/dex-pools/index.js.map +1 -0
  357. package/dist/tools/handler-factories.d.ts +1401 -0
  358. package/dist/tools/handler-factories.d.ts.map +1 -0
  359. package/dist/tools/handler-factories.js +1680 -0
  360. package/dist/tools/handler-factories.js.map +1 -0
  361. package/dist/tools/index.d.ts +1 -11
  362. package/dist/tools/index.d.ts.map +1 -1
  363. package/dist/tools/index.js +171 -27
  364. package/dist/tools/index.js.map +1 -1
  365. package/dist/tools/locks/index.d.ts +2 -0
  366. package/dist/tools/locks/index.d.ts.map +1 -1
  367. package/dist/tools/locks/index.js +9 -86
  368. package/dist/tools/locks/index.js.map +1 -1
  369. package/dist/tools/moderators/index.d.ts +53 -0
  370. package/dist/tools/moderators/index.d.ts.map +1 -0
  371. package/dist/tools/moderators/index.js +258 -0
  372. package/dist/tools/moderators/index.js.map +1 -0
  373. package/dist/tools/overseers/getOverseerUserSummary.d.ts +15 -0
  374. package/dist/tools/overseers/getOverseerUserSummary.d.ts.map +1 -0
  375. package/dist/tools/overseers/getOverseerUserSummary.js +40 -0
  376. package/dist/tools/overseers/getOverseerUserSummary.js.map +1 -0
  377. package/dist/tools/overseers/index.d.ts +58 -0
  378. package/dist/tools/overseers/index.d.ts.map +1 -0
  379. package/dist/tools/overseers/index.js +325 -0
  380. package/dist/tools/overseers/index.js.map +1 -0
  381. package/dist/tools/overseers/listOverseerUsers.d.ts +15 -0
  382. package/dist/tools/overseers/listOverseerUsers.d.ts.map +1 -0
  383. package/dist/tools/overseers/listOverseerUsers.js +76 -0
  384. package/dist/tools/overseers/listOverseerUsers.js.map +1 -0
  385. package/dist/tools/pagination-handler-factory.d.ts +131 -0
  386. package/dist/tools/pagination-handler-factory.d.ts.map +1 -0
  387. package/dist/tools/pagination-handler-factory.js +159 -0
  388. package/dist/tools/pagination-handler-factory.js.map +1 -0
  389. package/dist/tools/pools/checkPoolExists.d.ts +16 -0
  390. package/dist/tools/pools/checkPoolExists.d.ts.map +1 -0
  391. package/dist/tools/pools/checkPoolExists.js +48 -0
  392. package/dist/tools/pools/checkPoolExists.js.map +1 -0
  393. package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
  394. package/dist/tools/pools/fetchAllPools.js +51 -11
  395. package/dist/tools/pools/fetchAllPools.js.map +1 -1
  396. package/dist/tools/pools/fetchAllPriceHistory.d.ts.map +1 -1
  397. package/dist/tools/pools/fetchAllPriceHistory.js +11 -51
  398. package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
  399. package/dist/tools/pools/fetchPoolDetails.d.ts.map +1 -1
  400. package/dist/tools/pools/fetchPoolDetails.js +4 -11
  401. package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
  402. package/dist/tools/pools/fetchPools.d.ts.map +1 -1
  403. package/dist/tools/pools/fetchPools.js +40 -20
  404. package/dist/tools/pools/fetchPools.js.map +1 -1
  405. package/dist/tools/pools/fetchPriceHistory.d.ts.map +1 -1
  406. package/dist/tools/pools/fetchPriceHistory.js +10 -51
  407. package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
  408. package/dist/tools/pools/fetchTokenDetails.d.ts.map +1 -1
  409. package/dist/tools/pools/fetchTokenDetails.js +4 -35
  410. package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
  411. package/dist/tools/pools/index.d.ts +2 -0
  412. package/dist/tools/pools/index.d.ts.map +1 -1
  413. package/dist/tools/pools/index.js +103 -35
  414. package/dist/tools/pools/index.js.map +1 -1
  415. package/dist/tools/pools/onDexPoolCreation.d.ts +1 -2
  416. package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
  417. package/dist/tools/pools/onDexPoolCreation.js +14 -48
  418. package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
  419. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts +1 -2
  420. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
  421. package/dist/tools/pools/onLaunchpadTokenCreation.js +9 -42
  422. package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
  423. package/dist/tools/pools/priceHistoryFactory.d.ts +44 -0
  424. package/dist/tools/pools/priceHistoryFactory.d.ts.map +1 -0
  425. package/dist/tools/pools/priceHistoryFactory.js +154 -0
  426. package/dist/tools/pools/priceHistoryFactory.js.map +1 -0
  427. package/dist/tools/pools/updateTokenSocials.d.ts +16 -0
  428. package/dist/tools/pools/updateTokenSocials.d.ts.map +1 -0
  429. package/dist/tools/pools/updateTokenSocials.js +84 -0
  430. package/dist/tools/pools/updateTokenSocials.js.map +1 -0
  431. package/dist/tools/referrals/index.d.ts +12 -0
  432. package/dist/tools/referrals/index.d.ts.map +1 -0
  433. package/dist/tools/referrals/index.js +110 -0
  434. package/dist/tools/referrals/index.js.map +1 -0
  435. package/dist/tools/streaming/index.d.ts +94 -0
  436. package/dist/tools/streaming/index.d.ts.map +1 -0
  437. package/dist/tools/streaming/index.js +549 -0
  438. package/dist/tools/streaming/index.js.map +1 -0
  439. package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts +16 -0
  440. package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts.map +1 -0
  441. package/dist/tools/streaming/setNextLiveStreamCountdown.js +62 -0
  442. package/dist/tools/streaming/setNextLiveStreamCountdown.js.map +1 -0
  443. package/dist/tools/token-ban/index.d.ts +39 -0
  444. package/dist/tools/token-ban/index.d.ts.map +1 -0
  445. package/dist/tools/token-ban/index.js +177 -0
  446. package/dist/tools/token-ban/index.js.map +1 -0
  447. package/dist/tools/tool-factory.d.ts +84 -0
  448. package/dist/tools/tool-factory.d.ts.map +1 -0
  449. package/dist/tools/tool-factory.js +135 -0
  450. package/dist/tools/tool-factory.js.map +1 -0
  451. package/dist/tools/trades/index.d.ts +20 -0
  452. package/dist/tools/trades/index.d.ts.map +1 -0
  453. package/dist/tools/trades/index.js +113 -0
  454. package/dist/tools/trades/index.js.map +1 -0
  455. package/dist/tools/trading/helpers/arg-extractors.d.ts +128 -0
  456. package/dist/tools/trading/helpers/arg-extractors.d.ts.map +1 -0
  457. package/dist/tools/trading/helpers/arg-extractors.js +215 -0
  458. package/dist/tools/trading/helpers/arg-extractors.js.map +1 -0
  459. package/dist/tools/trading/helpers/index.d.ts +8 -0
  460. package/dist/tools/trading/helpers/index.d.ts.map +1 -0
  461. package/dist/tools/trading/helpers/index.js +24 -0
  462. package/dist/tools/trading/helpers/index.js.map +1 -0
  463. package/dist/tools/trading/helpers/trading-schemas.d.ts +276 -0
  464. package/dist/tools/trading/helpers/trading-schemas.d.ts.map +1 -0
  465. package/dist/tools/trading/helpers/trading-schemas.js +310 -0
  466. package/dist/tools/trading/helpers/trading-schemas.js.map +1 -0
  467. package/dist/tools/trading/index.d.ts +2 -0
  468. package/dist/tools/trading/index.d.ts.map +1 -1
  469. package/dist/tools/trading/index.js +148 -371
  470. package/dist/tools/trading/index.js.map +1 -1
  471. package/dist/tools/transfers/index.d.ts +3 -0
  472. package/dist/tools/transfers/index.d.ts.map +1 -1
  473. package/dist/tools/transfers/index.js +72 -52
  474. package/dist/tools/transfers/index.js.map +1 -1
  475. package/dist/tools/utils/cleanup.d.ts.map +1 -1
  476. package/dist/tools/utils/cleanup.js +2 -9
  477. package/dist/tools/utils/cleanup.js.map +1 -1
  478. package/dist/tools/utils/clearCache.d.ts.map +1 -1
  479. package/dist/tools/utils/clearCache.js +5 -7
  480. package/dist/tools/utils/clearCache.js.map +1 -1
  481. package/dist/tools/utils/explainSdkUsage.d.ts +52 -0
  482. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  483. package/dist/tools/utils/explainSdkUsage.js +1905 -93
  484. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  485. package/dist/tools/utils/getEthereumAddressFromPrivateKey.d.ts.map +1 -1
  486. package/dist/tools/utils/getEthereumAddressFromPrivateKey.js +2 -1
  487. package/dist/tools/utils/getEthereumAddressFromPrivateKey.js.map +1 -1
  488. package/dist/tools/utils/index.d.ts +2 -0
  489. package/dist/tools/utils/index.d.ts.map +1 -1
  490. package/dist/tools/utils/index.js +2 -12
  491. package/dist/tools/utils/index.js.map +1 -1
  492. package/dist/tools/wallet/index.d.ts +7 -0
  493. package/dist/tools/wallet/index.d.ts.map +1 -0
  494. package/dist/tools/wallet/index.js +24 -0
  495. package/dist/tools/wallet/index.js.map +1 -0
  496. package/dist/utils/date-converter.d.ts +58 -0
  497. package/dist/utils/date-converter.d.ts.map +1 -0
  498. package/dist/utils/date-converter.js +83 -0
  499. package/dist/utils/date-converter.js.map +1 -0
  500. package/dist/utils/pool-filter-builder.d.ts +78 -0
  501. package/dist/utils/pool-filter-builder.d.ts.map +1 -0
  502. package/dist/utils/pool-filter-builder.js +130 -0
  503. package/dist/utils/pool-filter-builder.js.map +1 -0
  504. package/dist/utils/safe-parsers.d.ts +87 -0
  505. package/dist/utils/safe-parsers.d.ts.map +1 -0
  506. package/dist/utils/safe-parsers.js +134 -0
  507. package/dist/utils/safe-parsers.js.map +1 -0
  508. package/dist/utils/validation.d.ts +5 -5
  509. package/dist/utils/validation.d.ts.map +1 -1
  510. package/dist/utils/validation.js +24 -21
  511. package/dist/utils/validation.js.map +1 -1
  512. package/package.json +23 -15
  513. package/.env.example +0 -21
  514. package/.eslintrc.json +0 -88
  515. package/CHANGELOG.md +0 -2161
  516. package/DOCS_AUDIT_REPORT.md +0 -189
  517. package/DRY_REFACTORING_GUIDE.md +0 -271
  518. package/MCP_COVERAGE_REPORT.md +0 -164
  519. package/MCP_TEST_ANALYSIS.md +0 -317
  520. package/jest.integration.config.js +0 -70
  521. package/scripts/inject-version.ts +0 -31
  522. package/scripts/validate-mcp-test-analysis.ts +0 -250
@@ -10,8 +10,11 @@
10
10
  * @see https://modelcontextprotocol.io/docs/concepts/tools
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.FLEXIBLE_TOKEN_ID_SCHEMA = exports.TOKEN_CLASS_KEY_SCHEMA = exports.CURRENT_SUPPLY_SCHEMA = exports.CALCULATION_MODE_SCHEMA = exports.SORT_ORDER_SCHEMA = exports.RBC_FEE_SLIPPAGE_SCHEMA = exports.SLIPPAGE_TOLERANCE_SCHEMA = exports.PAGE_SCHEMA = exports.DATE_TIME_SCHEMA = exports.UNIQUE_KEY_SCHEMA = exports.TRANSACTION_ID_SCHEMA = exports.SEARCH_SCHEMA = exports.FULL_NAME_SCHEMA = exports.URL_SCHEMA = exports.INTEGER_AMOUNT_SCHEMA = exports.PRE_BUY_QUANTITY_SCHEMA = exports.DECIMAL_AMOUNT_SCHEMA = exports.ADDRESS_SCHEMA = exports.PRIVATE_KEY_SCHEMA = exports.TOKEN_DESCRIPTION_SCHEMA = exports.TOKEN_SYMBOL_SCHEMA = exports.TOKEN_NAME_SCHEMA = void 0;
13
+ exports.TOKEN_PAIR_WITH_TICKS_SCHEMA = exports.TOKEN_PAIR_SCHEMA = exports.DEX_TOKEN_CLASS_KEY_SCHEMA = exports.REACTION_INPUT_SCHEMA = exports.REACTION_TYPE_SCHEMA = exports.CHAT_CONTENT_SCHEMA = exports.MESSAGE_ID_SCHEMA = exports.POOL_DISCOVERY_SCHEMA = exports.POOL_DISCOVERY_SORT_ORDER_SCHEMA = exports.POOL_DISCOVERY_SORT_BY_SCHEMA = exports.POOL_DISCOVERY_SEARCH_SCHEMA = exports.ACTIVE_USER_TYPE_SCHEMA = exports.BAN_DURATION_SCHEMA = exports.BAN_REASON_SCHEMA = exports.INVITE_SCOPE_SCHEMA = exports.INVITE_STATUS_SCHEMA = exports.INVITE_CODE_SCHEMA = exports.API_KEY_ROLE_SCHEMA = exports.MODERATOR_ROLE_SCHEMA = exports.EXPIRES_AT_SCHEMA = exports.ENTITY_DESCRIPTION_SCHEMA = exports.ENTITY_ID_SCHEMA = exports.FEE_TIER_SCHEMA = exports.DEX_TOKEN_SYMBOL_SCHEMA = exports.FLEXIBLE_TOKEN_ID_SCHEMA = exports.TOKEN_CLASS_KEY_SCHEMA = exports.CURRENT_SUPPLY_SCHEMA = exports.CALCULATION_MODE_SCHEMA = exports.SORT_ORDER_SCHEMA = exports.RBC_FEE_SLIPPAGE_SCHEMA = exports.SLIPPAGE_TOLERANCE_SCHEMA = exports.USER_PORTFOLIO_QUERY_SCHEMA = exports.PAGE_SCHEMA = exports.DATE_TIME_SCHEMA = exports.UNIQUE_KEY_SCHEMA = exports.TRANSACTION_ID_SCHEMA = exports.SEARCH_SCHEMA = exports.FULL_NAME_SCHEMA = exports.URL_SCHEMA = exports.INTEGER_AMOUNT_SCHEMA = exports.PRE_BUY_QUANTITY_SCHEMA = exports.DECIMAL_AMOUNT_SCHEMA = exports.OWNER_ADDRESS_SCHEMA = exports.RECIPIENT_ADDRESS_SCHEMA = exports.OPTIONAL_ADDRESS_SCHEMA = exports.ADDRESS_SCHEMA = exports.PRIVATE_KEY_SCHEMA = exports.TOKEN_DESCRIPTION_SCHEMA = exports.TOKEN_SYMBOL_SCHEMA = exports.TOKEN_NAME_SCHEMA = void 0;
14
+ exports.EMPTY_INPUT_SCHEMA = exports.RTMP_URL_SCHEMA = exports.ADMIN_LIMIT_SCHEMA = exports.WRAP_UNWRAP_PROPERTIES = exports.BATCH_OPERATION_BASE_PROPERTIES = exports.BATCH_TOKEN_UNLOCK_EXTRA_PROPERTIES = exports.BATCH_TOKEN_LOCK_EXTRA_PROPERTIES = exports.BATCH_TOKEN_ITEM_PROPERTIES = exports.FLAG_ACTION_SCHEMA = exports.FLAG_STATUS_SCHEMA = exports.FLAG_REASON_SCHEMA = exports.CONTENT_TYPE_SCHEMA = exports.EXTERNAL_NETWORK_SCHEMA = exports.LIQUIDITY_AMOUNTS_SCHEMA = exports.DEX_POOL_QUOTE_INPUT_SCHEMA = exports.SWAP_QUOTE_INPUT_SCHEMA = void 0;
14
15
  exports.createLimitSchema = createLimitSchema;
16
+ exports.createPoolDiscoverySchema = createPoolDiscoverySchema;
17
+ exports.createBatchTokenArraySchema = createBatchTokenArraySchema;
15
18
  const zod_to_json_schema_1 = require("zod-to-json-schema");
16
19
  const launchpad_sdk_1 = require("@gala-chain/launchpad-sdk");
17
20
  const constraints_js_1 = require("../utils/constraints.js");
@@ -98,6 +101,31 @@ exports.PRIVATE_KEY_SCHEMA = toMCPSchema(launchpad_sdk_1.privateKeySchema, 'Opti
98
101
  * @example "eth|1234567890abcdef1234567890abcdef12345678"
99
102
  */
100
103
  exports.ADDRESS_SCHEMA = toMCPSchema(launchpad_sdk_1.flexibleAddressSchema, 'Wallet address');
104
+ /**
105
+ * Optional wallet address schema - for queries without a required wallet parameter
106
+ *
107
+ * @description Optional wallet address (defaults to SDK wallet if not provided)
108
+ * @example "0x1234567890abcdef1234567890abcdef12345678"
109
+ * @example "eth|1234567890abcdef1234567890abcdef12345678"
110
+ * @note If not provided, uses the MCP server's default wallet
111
+ */
112
+ exports.OPTIONAL_ADDRESS_SCHEMA = toMCPSchema(launchpad_sdk_1.flexibleAddressSchema, 'Wallet address (optional, defaults to SDK wallet)');
113
+ /**
114
+ * Recipient wallet address schema - for transfer operations
115
+ *
116
+ * @description Recipient wallet address for token transfers
117
+ * @example "0x1234567890abcdef1234567890abcdef12345678"
118
+ * @example "eth|1234567890abcdef1234567890abcdef12345678"
119
+ */
120
+ exports.RECIPIENT_ADDRESS_SCHEMA = toMCPSchema(launchpad_sdk_1.flexibleAddressSchema, 'Recipient wallet address');
121
+ /**
122
+ * Wallet address for position owner lookups
123
+ *
124
+ * @description Wallet address to query liquidity positions, holdings, or portfolio for
125
+ * @example "0x1234567890abcdef1234567890abcdef12345678"
126
+ * @example "eth|1234567890abcdef1234567890abcdef12345678"
127
+ */
128
+ exports.OWNER_ADDRESS_SCHEMA = toMCPSchema(launchpad_sdk_1.flexibleAddressSchema, 'Wallet address that owns the position');
101
129
  // =============================================================================
102
130
  // Amount Schemas (from SDK)
103
131
  // =============================================================================
@@ -229,6 +257,42 @@ function createLimitSchema(operationType, defaultLimit = 20) {
229
257
  return jsonSchemaLimit;
230
258
  }
231
259
  // =============================================================================
260
+ // User Portfolio Query Schema (composite)
261
+ // =============================================================================
262
+ /**
263
+ * User portfolio query input schema properties
264
+ *
265
+ * Composite schema for tools that query user holdings with:
266
+ * - Required address parameter
267
+ * - Optional tokenName exact filter
268
+ * - Optional search fuzzy filter
269
+ * - Standard pagination (page/limit)
270
+ *
271
+ * Used by: fetchTokensHeld, fetchTokensCreated
272
+ *
273
+ * @description Pre-built properties object for user portfolio query schemas
274
+ * @usage Spread into tool inputSchema properties: { ...USER_PORTFOLIO_QUERY_SCHEMA }
275
+ *
276
+ * @example
277
+ * ```typescript
278
+ * inputSchema: {
279
+ * type: 'object',
280
+ * properties: USER_PORTFOLIO_QUERY_SCHEMA,
281
+ * required: ['address'],
282
+ * }
283
+ * ```
284
+ */
285
+ exports.USER_PORTFOLIO_QUERY_SCHEMA = {
286
+ address: exports.ADDRESS_SCHEMA,
287
+ page: exports.PAGE_SCHEMA,
288
+ limit: createLimitSchema('user', 20),
289
+ tokenName: {
290
+ ...exports.TOKEN_NAME_SCHEMA,
291
+ description: 'Optional token name (exact match filter)',
292
+ },
293
+ search: exports.SEARCH_SCHEMA,
294
+ };
295
+ // =============================================================================
232
296
  // Trading Schemas (manual - not in SDK primitives)
233
297
  // =============================================================================
234
298
  /**
@@ -377,4 +441,792 @@ exports.FLEXIBLE_TOKEN_ID_SCHEMA = {
377
441
  },
378
442
  ],
379
443
  };
444
+ // =============================================================================
445
+ // DEX Trading Schemas
446
+ // =============================================================================
447
+ //
448
+ // Migration Guide for Schema Consumers:
449
+ // - Import DEX_TOKEN_SYMBOL_SCHEMA and FEE_TIER_SCHEMA directly from common-schemas.ts
450
+ // - Avoid creating local aliases unless needed for legacy compatibility
451
+ // - Remove local aliases in future cleanup PRs
452
+ /**
453
+ * DEX token symbol schema - for pipe-delimited token identification in DEX trading
454
+ *
455
+ * @description Used in DEX swap, liquidity, and pool operations for EXISTING tokens.
456
+ * This schema is for READING/TRADING tokens, not creating them.
457
+ * @format Pipe-delimited: "collection|category|type|additionalKey"
458
+ * @example "GALA|Unit|none|none", "Token|Unit|BENE|client:xxx"
459
+ * @note NOT for token creation - use TOKEN_SYMBOL_SCHEMA for creating new tokens
460
+ * @see TOKEN_SYMBOL_SCHEMA for token creation operations
461
+ */
462
+ exports.DEX_TOKEN_SYMBOL_SCHEMA = {
463
+ type: 'string',
464
+ minLength: 1,
465
+ maxLength: 100,
466
+ description: 'Token identifier in pipe-delimited format (e.g., "GALA|Unit|none|none", "Token|Unit|BENE|client:xxx")',
467
+ };
468
+ /**
469
+ * Fee tier schema - for GalaSwap DEX operations
470
+ *
471
+ * @description Represents the fee tier in basis points
472
+ * @type number
473
+ * @enum [500, 3000, 10000]
474
+ * @example 500 (0.05%), 3000 (0.30%), 10000 (1.00%)
475
+ * @note Standard Uniswap V3-style fee tiers
476
+ * @throws {ValidationError} If value not in enum (500, 3000, 10000)
477
+ */
478
+ exports.FEE_TIER_SCHEMA = {
479
+ type: 'number',
480
+ enum: [500, 3000, 10000],
481
+ description: 'Fee tier in basis points: 500 (0.05%), 3000 (0.30%), 10000 (1.00%)',
482
+ };
483
+ // =============================================================================
484
+ // Domain-Specific Schemas (Bans, Moderators, API Keys)
485
+ // =============================================================================
486
+ /**
487
+ * Generic positive integer ID schema - for invite IDs, API key IDs, etc.
488
+ *
489
+ * @description Reusable ID schema for database entities
490
+ * @type number
491
+ * @minimum 1
492
+ * @example 1, 42, 999
493
+ */
494
+ exports.ENTITY_ID_SCHEMA = {
495
+ type: 'number',
496
+ minimum: 1,
497
+ description: 'Entity ID (positive integer)',
498
+ };
499
+ /**
500
+ * Generic description schema - for invites, API keys, etc.
501
+ *
502
+ * @description Reusable description field with 255 character limit
503
+ * @type string
504
+ * @maxLength 255
505
+ * @example "John - Friday shows", "Production API key"
506
+ */
507
+ exports.ENTITY_DESCRIPTION_SCHEMA = {
508
+ type: 'string',
509
+ maxLength: 255,
510
+ description: 'Optional description/label (max 255 characters)',
511
+ };
512
+ /**
513
+ * Generic expiration schema - for invites, API keys, bans, etc.
514
+ *
515
+ * @description ISO 8601 date-time for expiration
516
+ * @type string
517
+ * @example "2025-12-31T23:59:59Z"
518
+ */
519
+ exports.EXPIRES_AT_SCHEMA = {
520
+ type: 'string',
521
+ description: 'Optional expiration date in ISO 8601 format (e.g., "2025-12-31T23:59:59Z"). If not provided, never expires.',
522
+ };
523
+ /**
524
+ * Moderator/API key role schema - shared base for role definitions
525
+ *
526
+ * @description Role enum used by moderator invites and API keys
527
+ * @type string
528
+ * @enum ['MODERATOR', 'TECHNICAL_PRODUCER', 'MANAGER']
529
+ * @note API keys also have 'OWNER' role; moderator invites do not
530
+ */
531
+ exports.MODERATOR_ROLE_SCHEMA = {
532
+ type: 'string',
533
+ enum: ['MODERATOR', 'TECHNICAL_PRODUCER', 'MANAGER'],
534
+ description: `Role to grant:
535
+ - MODERATOR: Manage comments, chat messages, ban/unban users
536
+ - TECHNICAL_PRODUCER: Simulcast targets, stream key, stop/start stream
537
+ - MANAGER: All of the above + recordings + stream settings`,
538
+ };
539
+ /**
540
+ * API key role schema - extends moderator roles with OWNER
541
+ *
542
+ * @description Role enum for API keys (includes OWNER)
543
+ * @type string
544
+ * @enum ['MODERATOR', 'TECHNICAL_PRODUCER', 'MANAGER', 'OWNER']
545
+ */
546
+ exports.API_KEY_ROLE_SCHEMA = {
547
+ type: 'string',
548
+ enum: ['MODERATOR', 'TECHNICAL_PRODUCER', 'MANAGER', 'OWNER'],
549
+ description: `API key role determining permissions:
550
+ - MODERATOR: Manage comments, chat messages, ban/unban users
551
+ - TECHNICAL_PRODUCER: Simulcast targets, stream key, stop/start stream
552
+ - MANAGER: Moderator + Technical Producer + recordings + stream settings
553
+ - OWNER: Full access (indistinguishable from normal auth)`,
554
+ };
555
+ /**
556
+ * Invite code schema - for moderator invite magic links
557
+ *
558
+ * @description 64-character hex code from invite URL
559
+ * @type string
560
+ * @pattern ^[a-fA-F0-9]{64}$
561
+ * @example "abc123..." (64 hex characters)
562
+ */
563
+ exports.INVITE_CODE_SCHEMA = {
564
+ type: 'string',
565
+ pattern: '^[a-fA-F0-9]{64}$',
566
+ description: 'The 64-character hex invite code from the magic link URL',
567
+ };
568
+ /**
569
+ * Invite status schema - for filtering moderator invites
570
+ *
571
+ * @description Status enum for invite filtering
572
+ * @type string
573
+ * @enum ['PENDING', 'CLAIMED', 'REVOKED', 'EXPIRED']
574
+ */
575
+ exports.INVITE_STATUS_SCHEMA = {
576
+ type: 'string',
577
+ enum: ['PENDING', 'CLAIMED', 'REVOKED', 'EXPIRED'],
578
+ description: `Filter invites by status:
579
+ - PENDING: Not yet claimed
580
+ - CLAIMED: Claimed by a moderator
581
+ - REVOKED: Revoked by the owner
582
+ - EXPIRED: Past expiration date`,
583
+ };
584
+ /**
585
+ * Invite scope schema - for moderator invite scope selection
586
+ *
587
+ * @description Scope enum for invite creation
588
+ * @type string
589
+ * @enum ['TOKEN', 'ALL_OWNER_TOKENS']
590
+ */
591
+ exports.INVITE_SCOPE_SCHEMA = {
592
+ type: 'string',
593
+ enum: ['TOKEN', 'ALL_OWNER_TOKENS'],
594
+ description: `Invite scope (default: TOKEN):
595
+ - TOKEN: Access to a specific token only (tokenName required)
596
+ - ALL_OWNER_TOKENS: Blanket access to ALL tokens owned by the inviter (tokenName should be omitted)`,
597
+ };
598
+ /**
599
+ * Ban reason schema - for user ban operations
600
+ *
601
+ * @description Optional ban reason with 500 character limit
602
+ * @type string
603
+ * @maxLength 500
604
+ */
605
+ exports.BAN_REASON_SCHEMA = {
606
+ type: 'string',
607
+ maxLength: 500,
608
+ description: 'Ban reason (optional, max 500 characters)',
609
+ };
610
+ /**
611
+ * Ban duration schema - for temporary bans
612
+ *
613
+ * @description Duration in seconds (60 to 31536000)
614
+ * @type number
615
+ * @minimum 60
616
+ * @maximum 31536000
617
+ * @note Presets: 3600 (1h), 86400 (1d), 604800 (1w), 2592000 (1mo)
618
+ */
619
+ exports.BAN_DURATION_SCHEMA = {
620
+ type: 'number',
621
+ minimum: 60,
622
+ maximum: 31536000,
623
+ description: 'Ban duration in seconds (optional, omit for permanent). Range: 60 (1 min) to 31536000 (1 year). Presets: 3600 (1 hour), 86400 (1 day), 604800 (1 week), 2592000 (1 month)',
624
+ };
625
+ /**
626
+ * Active user type schema - for getActiveUsers
627
+ *
628
+ * @description Type of active users to fetch
629
+ * @type string
630
+ * @enum ['viewers', 'chat_participants']
631
+ */
632
+ exports.ACTIVE_USER_TYPE_SCHEMA = {
633
+ type: 'string',
634
+ enum: ['viewers', 'chat_participants'],
635
+ description: 'Type of active users to fetch (default: viewers)',
636
+ };
637
+ // =============================================================================
638
+ // Pool Discovery Schemas (DEX Pool Filtering & Sorting)
639
+ // =============================================================================
640
+ /**
641
+ * Pool discovery search schema - used in DEX pool discovery tools
642
+ *
643
+ * @description Search filter for token symbols in pool pair
644
+ * @type string
645
+ * @minLength 1
646
+ * @maxLength 100
647
+ * @example "GALA", "GUSDC", "dragon"
648
+ * @note Fuzzy match - case-insensitive partial matching
649
+ */
650
+ exports.POOL_DISCOVERY_SEARCH_SCHEMA = {
651
+ type: 'string',
652
+ minLength: 1,
653
+ maxLength: 100,
654
+ description: 'Search filter for token symbols in pool pair (e.g., "GALA", "GUSDC"). Note: For trading operations, use full tokenId format with pipe delimiters.',
655
+ };
656
+ /**
657
+ * Pool discovery sort field schema - used in DEX pool discovery tools
658
+ *
659
+ * @description Field to sort results by
660
+ * @type string
661
+ * @enum ['tvl', 'volume30d', 'volume1d']
662
+ * @example "tvl" (total value locked), "volume30d" (30-day volume)
663
+ * @note Default: 'tvl'
664
+ */
665
+ exports.POOL_DISCOVERY_SORT_BY_SCHEMA = {
666
+ type: 'string',
667
+ enum: ['tvl', 'volume30d', 'volume1d'],
668
+ description: 'Field to sort results by (default: tvl)',
669
+ };
670
+ /**
671
+ * Pool discovery sort order schema - used in DEX pool discovery tools
672
+ *
673
+ * @description Sort direction
674
+ * @type string
675
+ * @enum ['asc', 'desc']
676
+ * @example "asc" (ascending), "desc" (descending)
677
+ * @note Default: 'desc'
678
+ */
679
+ exports.POOL_DISCOVERY_SORT_ORDER_SCHEMA = {
680
+ type: 'string',
681
+ enum: ['asc', 'desc'],
682
+ description: 'Sort order direction (default: desc)',
683
+ };
684
+ /**
685
+ * Pool discovery schema bundle - all three fields combined for spread usage
686
+ *
687
+ * @description Complete pool discovery filtering schema for DEX pool tools
688
+ * @usage Spread into tool inputSchema properties: { ...POOL_DISCOVERY_SCHEMA, otherField: ... }
689
+ */
690
+ exports.POOL_DISCOVERY_SCHEMA = {
691
+ search: exports.POOL_DISCOVERY_SEARCH_SCHEMA,
692
+ sortBy: exports.POOL_DISCOVERY_SORT_BY_SCHEMA,
693
+ sortOrder: exports.POOL_DISCOVERY_SORT_ORDER_SCHEMA,
694
+ };
695
+ /**
696
+ * Factory function to create pool discovery tool inputSchema.
697
+ *
698
+ * Generates consistent inputSchema for pool discovery tools with optional
699
+ * pagination and additional properties.
700
+ *
701
+ * @param config - Configuration for the pool discovery tool
702
+ * @returns Object containing inputSchema definition
703
+ *
704
+ * @example
705
+ * // Paginated tool
706
+ * const schema = createPoolDiscoverySchema({
707
+ * includePagination: true,
708
+ * defaultLimit: 10,
709
+ * });
710
+ *
711
+ * @example
712
+ * // Auto-paginated tool with additional property
713
+ * const schema = createPoolDiscoverySchema({
714
+ * additionalProperties: {
715
+ * withPrices: {
716
+ * type: 'boolean',
717
+ * description: 'Whether to fetch real-time pricing data',
718
+ * },
719
+ * },
720
+ * });
721
+ *
722
+ * @since 6.10.0
723
+ */
724
+ function createPoolDiscoverySchema(config = {}) {
725
+ const { includePagination = false, defaultLimit = 10, additionalProperties = {} } = config;
726
+ const properties = {
727
+ ...exports.POOL_DISCOVERY_SCHEMA,
728
+ };
729
+ if (includePagination) {
730
+ properties.page = exports.PAGE_SCHEMA;
731
+ properties.limit = createLimitSchema('pool', defaultLimit);
732
+ }
733
+ // Merge additional properties
734
+ Object.assign(properties, additionalProperties);
735
+ return {
736
+ type: 'object',
737
+ properties,
738
+ };
739
+ }
740
+ // =============================================================================
741
+ // Message & Chat Schemas (unified)
742
+ // =============================================================================
743
+ /**
744
+ * Message ID schema - unified support for both chat and comment formats
745
+ *
746
+ * Supports both formats:
747
+ * - New format: msg-{timestamp13}-{uuid32} (comments, modern)
748
+ * - Legacy format: chat-{timestamp13}-{uuid-with-dashes} (chat messages)
749
+ *
750
+ * @description Unified message identifier schema for content reactions and operations
751
+ * @type string
752
+ * @pattern ^(msg-\d{13}-[a-f0-9]{32}|chat-\d{13}-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$
753
+ * @maxLength 64
754
+ * @example "msg-1703443200000-a1b2c3d4e5f6789012345678901234ab"
755
+ * @example "chat-1734445623456-550e8400-e29b-41d4-a716-446655440000"
756
+ * @note Backwards compatible with both new msg-* and legacy chat-* formats
757
+ */
758
+ exports.MESSAGE_ID_SCHEMA = {
759
+ type: 'string',
760
+ maxLength: 64,
761
+ pattern: '^(msg-\\d{13}-[a-f0-9]{32}|chat-\\d{13}-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$',
762
+ description: 'Message ID in format msg-{timestamp}-{uuid} or chat-{timestamp}-{uuid} (supports both modern and legacy formats)',
763
+ };
764
+ /**
765
+ * Chat content schema - for chat messages
766
+ *
767
+ * @description Text content for chat messages with 500 character limit
768
+ * @type string
769
+ * @minLength 1
770
+ * @maxLength 500
771
+ * @example "Hello, this is a chat message!"
772
+ * @note Shorter than comments (max 2000 chars) for real-time chat context
773
+ */
774
+ exports.CHAT_CONTENT_SCHEMA = {
775
+ type: 'string',
776
+ minLength: 1,
777
+ maxLength: 500,
778
+ description: 'Chat message content (1-500 characters)',
779
+ };
780
+ /**
781
+ * Content reaction type schema
782
+ *
783
+ * @description Type of reaction to add/remove on messages
784
+ * @type string
785
+ * @enum ['heart', 'fire', 'laugh', 'wow', 'thumbs_up']
786
+ * @example "heart", "fire", "laugh", "wow", "thumbs_up"
787
+ */
788
+ exports.REACTION_TYPE_SCHEMA = {
789
+ type: 'string',
790
+ enum: ['heart', 'fire', 'laugh', 'wow', 'thumbs_up'],
791
+ description: 'Type of reaction: heart, fire, laugh, wow, or thumbs_up',
792
+ };
793
+ /**
794
+ * Combined reaction input schema - shared by 6 content reaction tools
795
+ *
796
+ * Encapsulates the tokenName, messageId, and reactionType required for
797
+ * adding/removing reactions on pool messages (chat messages and comments).
798
+ *
799
+ * @description Unified input schema for all reaction tools
800
+ * @type object
801
+ * @properties
802
+ * - tokenName: Token identifier (3-20 alphanumeric characters)
803
+ * - messageId: Message identifier (msg-* or chat-* format)
804
+ * - reactionType: Type of reaction to add/remove
805
+ * @required ['tokenName', 'messageId', 'reactionType']
806
+ *
807
+ * @see addContentReactionTool
808
+ * @see removeContentReactionTool
809
+ * @see addReactionToChatMessageTool
810
+ * @see removeReactionFromChatMessageTool
811
+ * @see addReactionToCommentTool
812
+ * @see removeReactionFromCommentTool
813
+ */
814
+ exports.REACTION_INPUT_SCHEMA = {
815
+ type: 'object',
816
+ properties: {
817
+ tokenName: exports.TOKEN_NAME_SCHEMA,
818
+ messageId: exports.MESSAGE_ID_SCHEMA,
819
+ reactionType: exports.REACTION_TYPE_SCHEMA,
820
+ },
821
+ required: ['tokenName', 'messageId', 'reactionType'],
822
+ };
823
+ // =============================================================================
824
+ // DEX Token Class Key Schema (for pipe-delimited token identification)
825
+ // =============================================================================
826
+ /**
827
+ * DEX token class key schema - for full pipe-delimited token identification in DEX operations
828
+ *
829
+ * Used in DEX swap, liquidity, and pool operations for identifying tokens.
830
+ * Unlike TOKEN_CLASS_KEY_SCHEMA (object format), this is a simple string format.
831
+ *
832
+ * @description String format for token class key in DEX operations
833
+ * @format Pipe-delimited: "collection|category|type|additionalKey"
834
+ * @example "GALA|Unit|none|none", "Token|Unit|SYMBOL|client:xxx"
835
+ * @note For DEX trading operations, NOT for token creation
836
+ * @see DEX_TOKEN_SYMBOL_SCHEMA for similar usage in swap operations
837
+ */
838
+ exports.DEX_TOKEN_CLASS_KEY_SCHEMA = {
839
+ type: 'string',
840
+ description: 'Full token class key in pipe-delimited format (e.g., "GALA|Unit|none|none" or "Token|Unit|SYMBOL|client:xxx")',
841
+ };
842
+ // =============================================================================
843
+ // DEX Composite Schemas (Reusable token pair + fee combinations)
844
+ // =============================================================================
845
+ /**
846
+ * Token pair schema - for operations requiring token0, token1, and fee tier
847
+ *
848
+ * Combines token class key identifiers with fee tier for DEX pool operations.
849
+ * Used in liquidity positions, pool quotes, and swap operations.
850
+ *
851
+ * @description Common properties for token pair + fee tier operations
852
+ * @see addLiquidityByPriceTool, addLiquidityByTicksTool, fetchSwapPositionDirectTool
853
+ */
854
+ exports.TOKEN_PAIR_SCHEMA = {
855
+ token0: {
856
+ ...exports.DEX_TOKEN_SYMBOL_SCHEMA,
857
+ description: 'First token in pair (e.g., "GALA" or "GALA|Unit|none|none")',
858
+ },
859
+ token1: {
860
+ ...exports.DEX_TOKEN_SYMBOL_SCHEMA,
861
+ description: 'Second token in pair (e.g., "GUSDC" or "Token|Unit|GUSDC|client:xxx")',
862
+ },
863
+ fee: exports.FEE_TIER_SCHEMA,
864
+ };
865
+ /**
866
+ * Token pair with tick range schema - extends token pair with tick boundaries
867
+ *
868
+ * Used in liquidity position operations that require price range specification.
869
+ *
870
+ * @description Token pair + tick range for concentrated liquidity operations
871
+ * @see getLiquidityPositionTool, estimateRemoveLiquidityTool, fetchSwapPositionDirectTool
872
+ */
873
+ exports.TOKEN_PAIR_WITH_TICKS_SCHEMA = {
874
+ ...exports.TOKEN_PAIR_SCHEMA,
875
+ tickLower: {
876
+ type: 'number',
877
+ description: 'Lower tick boundary of the position',
878
+ },
879
+ tickUpper: {
880
+ type: 'number',
881
+ description: 'Upper tick boundary of the position',
882
+ },
883
+ };
884
+ /**
885
+ * Swap quote input schema - for swap quote operations
886
+ *
887
+ * Standardized input for both exactInput and exactOutput quote tools.
888
+ * Reduces duplication between getSwapQuoteExactInput and getSwapQuoteExactOutput.
889
+ *
890
+ * @description Common properties for swap quote operations
891
+ * @see getSwapQuoteExactInputTool, getSwapQuoteExactOutputTool
892
+ */
893
+ exports.SWAP_QUOTE_INPUT_SCHEMA = {
894
+ fromToken: {
895
+ ...exports.DEX_TOKEN_SYMBOL_SCHEMA,
896
+ description: 'Source token symbol (e.g., "GALA")',
897
+ },
898
+ toToken: {
899
+ ...exports.DEX_TOKEN_SYMBOL_SCHEMA,
900
+ description: 'Destination token symbol (e.g., "GUSDC")',
901
+ },
902
+ amount: {
903
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
904
+ description: 'Amount for the quote',
905
+ },
906
+ };
907
+ /**
908
+ * DEX pool quote input schema - for pool-specific quote operations
909
+ *
910
+ * Extends token pair with fromToken, toToken, and amount for DEX pool quotes.
911
+ * Used in local and external pool quote calculations.
912
+ *
913
+ * @description Token pair + swap direction + amount for pool quotes
914
+ * @see calculateDexPoolQuoteLocalTool, calculateDexPoolQuoteExternalTool
915
+ */
916
+ exports.DEX_POOL_QUOTE_INPUT_SCHEMA = {
917
+ token0: {
918
+ ...exports.DEX_TOKEN_CLASS_KEY_SCHEMA,
919
+ description: 'First token in pool (e.g., "GALA|Unit|none|none")',
920
+ },
921
+ token1: {
922
+ ...exports.DEX_TOKEN_CLASS_KEY_SCHEMA,
923
+ description: 'Second token in pool (e.g., "Token|Unit|BENE|client:xxx")',
924
+ },
925
+ fee: exports.FEE_TIER_SCHEMA,
926
+ fromToken: {
927
+ ...exports.DEX_TOKEN_CLASS_KEY_SCHEMA,
928
+ description: 'Token to swap FROM',
929
+ },
930
+ toToken: {
931
+ ...exports.DEX_TOKEN_CLASS_KEY_SCHEMA,
932
+ description: 'Token to swap TO',
933
+ },
934
+ amount: {
935
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
936
+ description: 'Amount of fromToken to swap',
937
+ },
938
+ };
939
+ /**
940
+ * Liquidity amount schema - for add/remove liquidity operations
941
+ *
942
+ * Standardized desired and minimum amount properties for liquidity operations.
943
+ *
944
+ * @description Amount0/Amount1 desired and minimum for liquidity operations
945
+ * @see addLiquidityByPriceTool, addLiquidityByTicksTool
946
+ */
947
+ exports.LIQUIDITY_AMOUNTS_SCHEMA = {
948
+ amount0Desired: {
949
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
950
+ description: 'Desired amount of token0 to provide',
951
+ },
952
+ amount1Desired: {
953
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
954
+ description: 'Desired amount of token1 to provide',
955
+ },
956
+ amount0Min: {
957
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
958
+ description: 'Minimum acceptable amount0 (optional, defaults to 0)',
959
+ },
960
+ amount1Min: {
961
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
962
+ description: 'Minimum acceptable amount1 (optional, defaults to 0)',
963
+ },
964
+ };
965
+ // =============================================================================
966
+ // Bridge Schemas (Cross-Chain Operations)
967
+ // =============================================================================
968
+ /**
969
+ * External network schema - for cross-chain bridge operations
970
+ *
971
+ * Identifies the target blockchain network for bridging operations.
972
+ * Currently supports Ethereum and Solana as external networks.
973
+ *
974
+ * @description Target external blockchain network for bridging
975
+ * @type string
976
+ * @enum ['Ethereum', 'Solana']
977
+ * @example "Ethereum", "Solana"
978
+ * @note Used in bridgeIn, bridgeOut, estimateBridgeFee operations
979
+ */
980
+ exports.EXTERNAL_NETWORK_SCHEMA = {
981
+ type: 'string',
982
+ enum: ['Ethereum', 'Solana'],
983
+ description: 'Target external blockchain network',
984
+ };
985
+ // =============================================================================
986
+ // Content Flag Schemas (Moderation)
987
+ // =============================================================================
988
+ /**
989
+ * Content type schema - for content flag/moderation operations
990
+ *
991
+ * Identifies the type of content being flagged or moderated.
992
+ * Values are derived from SDK ContentType enum.
993
+ *
994
+ * @description Type of content being flagged
995
+ * @type string
996
+ * @enum ContentType values from SDK
997
+ * @example "CHAT_MESSAGE", "COMMENT", "STREAM"
998
+ */
999
+ exports.CONTENT_TYPE_SCHEMA = {
1000
+ type: 'string',
1001
+ enum: Object.values(launchpad_sdk_1.ContentType),
1002
+ description: 'Type of content being flagged (CHAT_MESSAGE, COMMENT, STREAM)',
1003
+ };
1004
+ /**
1005
+ * Flag reason schema - for content flag operations
1006
+ *
1007
+ * Required for stream flags, optional for chat/comment flags.
1008
+ * Values are derived from SDK FlagReason enum.
1009
+ *
1010
+ * @description Reason for flagging content
1011
+ * @type string
1012
+ * @enum FlagReason values from SDK
1013
+ * @example "INAPPROPRIATE_CONTENT", "SPAM", "HARASSMENT", "SCAM", "OTHER"
1014
+ */
1015
+ exports.FLAG_REASON_SCHEMA = {
1016
+ type: 'string',
1017
+ enum: Object.values(launchpad_sdk_1.FlagReason),
1018
+ description: 'Reason for the flag (INAPPROPRIATE_CONTENT, SPAM, HARASSMENT, SCAM, OTHER)',
1019
+ };
1020
+ /**
1021
+ * Flag status schema - for filtering and querying flags
1022
+ *
1023
+ * Used to filter flags by their current status.
1024
+ * Values are derived from SDK FlagStatus enum.
1025
+ *
1026
+ * @description Current status of a content flag
1027
+ * @type string
1028
+ * @enum FlagStatus values from SDK
1029
+ * @example "PENDING", "DISMISSED", "ACTIONED"
1030
+ */
1031
+ exports.FLAG_STATUS_SCHEMA = {
1032
+ type: 'string',
1033
+ enum: Object.values(launchpad_sdk_1.FlagStatus),
1034
+ description: 'Flag status (PENDING, DISMISSED, ACTIONED)',
1035
+ };
1036
+ /**
1037
+ * Flag action schema - for taking action on flagged content
1038
+ *
1039
+ * Specifies the action to take when moderating flagged content.
1040
+ * Values are derived from SDK FlagAction enum.
1041
+ *
1042
+ * @description Action to take on flagged content
1043
+ * @type string
1044
+ * @enum FlagAction values from SDK
1045
+ * @example "DELETE_CONTENT", "BAN_USER", "DELETE_AND_BAN"
1046
+ */
1047
+ exports.FLAG_ACTION_SCHEMA = {
1048
+ type: 'string',
1049
+ enum: Object.values(launchpad_sdk_1.FlagAction),
1050
+ description: 'Action to take on flagged content (DELETE_CONTENT, BAN_USER, DELETE_AND_BAN)',
1051
+ };
1052
+ // =============================================================================
1053
+ // Batch Operation Schemas (Token Locks, Unlocks, Burns, Transfers)
1054
+ // =============================================================================
1055
+ /**
1056
+ * Base batch token item schema - core properties for all batch operations
1057
+ *
1058
+ * Contains tokenId OR tokenName for identification, plus amount.
1059
+ * Extended by lock-specific and other operation-specific schemas.
1060
+ *
1061
+ * @description Core properties shared by lock, unlock, burn, and transfer batch items
1062
+ * @see BATCH_TOKEN_LOCK_ITEM_SCHEMA for lock-specific extension
1063
+ */
1064
+ exports.BATCH_TOKEN_ITEM_PROPERTIES = {
1065
+ tokenId: {
1066
+ ...exports.FLEXIBLE_TOKEN_ID_SCHEMA,
1067
+ description: 'Token identifier (use this OR tokenName, not both)',
1068
+ },
1069
+ tokenName: {
1070
+ ...exports.TOKEN_NAME_SCHEMA,
1071
+ description: 'Token name for lookup (e.g., "anime", "dragon") - used if tokenId not provided',
1072
+ },
1073
+ amount: {
1074
+ ...exports.INTEGER_AMOUNT_SCHEMA,
1075
+ description: 'Amount of tokens in decimal format',
1076
+ },
1077
+ };
1078
+ /**
1079
+ * Lock-specific properties for batch token lock items
1080
+ *
1081
+ * @description Additional properties only used in lock operations
1082
+ */
1083
+ exports.BATCH_TOKEN_LOCK_EXTRA_PROPERTIES = {
1084
+ lockAuthority: {
1085
+ type: 'string',
1086
+ description: 'Address that can unlock these tokens (defaults to caller if not specified)',
1087
+ },
1088
+ expires: {
1089
+ type: 'number',
1090
+ description: 'Optional expiration timestamp in milliseconds (epoch time). Lock auto-releases after this time.',
1091
+ },
1092
+ name: {
1093
+ type: 'string',
1094
+ description: 'Optional name/identifier for the lock. Can be used to match during unlock.',
1095
+ },
1096
+ };
1097
+ /**
1098
+ * Unlock-specific properties for batch token unlock items
1099
+ *
1100
+ * @description Additional properties only used in unlock operations
1101
+ */
1102
+ exports.BATCH_TOKEN_UNLOCK_EXTRA_PROPERTIES = {
1103
+ name: {
1104
+ type: 'string',
1105
+ description: 'Optional name to match a specific lock (must match the name used during lock)',
1106
+ },
1107
+ };
1108
+ /**
1109
+ * Creates a batch token array schema for batch operations
1110
+ *
1111
+ * @param itemDescription - Description for the array
1112
+ * @param extraProperties - Additional properties beyond base (tokenId, tokenName, amount)
1113
+ * @returns Schema for the tokens array
1114
+ */
1115
+ function createBatchTokenArraySchema(itemDescription, extraProperties = {}) {
1116
+ return {
1117
+ type: 'array',
1118
+ description: itemDescription,
1119
+ items: {
1120
+ type: 'object',
1121
+ properties: {
1122
+ ...exports.BATCH_TOKEN_ITEM_PROPERTIES,
1123
+ ...extraProperties,
1124
+ },
1125
+ required: ['amount'],
1126
+ },
1127
+ minItems: 1,
1128
+ };
1129
+ }
1130
+ /**
1131
+ * Common batch operation base properties (uniqueKey, privateKey)
1132
+ *
1133
+ * @description Shared by lock, unlock, burn operations
1134
+ */
1135
+ exports.BATCH_OPERATION_BASE_PROPERTIES = {
1136
+ uniqueKey: exports.UNIQUE_KEY_SCHEMA,
1137
+ privateKey: exports.PRIVATE_KEY_SCHEMA,
1138
+ };
1139
+ // =============================================================================
1140
+ // Wrap/Unwrap Operation Schemas (Cross-Channel Bridge)
1141
+ // =============================================================================
1142
+ /**
1143
+ * Common wrap/unwrap operation properties
1144
+ *
1145
+ * Shared input schema properties for wrapToken and unwrapToken operations.
1146
+ * Both operations use the same structure, only differing in SDK method called.
1147
+ *
1148
+ * @description Input properties for wrap/unwrap cross-channel bridge operations
1149
+ * @see wrapTokenTool, unwrapTokenTool
1150
+ */
1151
+ exports.WRAP_UNWRAP_PROPERTIES = {
1152
+ tokenId: {
1153
+ ...exports.FLEXIBLE_TOKEN_ID_SCHEMA,
1154
+ description: 'Token identifier (accepts symbol, pipe-delimited string, or TokenClassKey object)',
1155
+ },
1156
+ amount: {
1157
+ ...exports.DECIMAL_AMOUNT_SCHEMA,
1158
+ description: 'Amount to wrap/unwrap (decimal string, e.g., "100.5")',
1159
+ },
1160
+ recipient: {
1161
+ ...exports.ADDRESS_SCHEMA,
1162
+ description: 'Optional recipient address (defaults to sender)',
1163
+ },
1164
+ memo: {
1165
+ type: 'string',
1166
+ description: 'Optional memo for the transaction',
1167
+ },
1168
+ };
1169
+ // =============================================================================
1170
+ // Admin/Moderation Pagination Schemas
1171
+ // =============================================================================
1172
+ /**
1173
+ * Admin pagination limit schema - for moderator/overseer management tools
1174
+ *
1175
+ * Used by moderator invites, overseer management, and similar admin tools.
1176
+ * Uses a max of 50 to match backend constraints for admin operations.
1177
+ *
1178
+ * @description Results per page for admin operations
1179
+ * @type number
1180
+ * @minimum 1
1181
+ * @maximum 50
1182
+ * @example 10, 20, 50
1183
+ */
1184
+ exports.ADMIN_LIMIT_SCHEMA = {
1185
+ type: 'number',
1186
+ minimum: 1,
1187
+ maximum: 50,
1188
+ description: 'Results per page (default: 20, maximum: 50)',
1189
+ };
1190
+ // =============================================================================
1191
+ // Streaming Schemas
1192
+ // =============================================================================
1193
+ /**
1194
+ * RTMP URL validation pattern
1195
+ * Validates: rtmp://host[:port][/path] or rtmps://host[:port][/path]
1196
+ */
1197
+ const RTMP_URL_PATTERN = '^rtmps?://[a-zA-Z0-9.-]+(:[0-9]+)?(/.*)?$';
1198
+ /**
1199
+ * RTMP URL schema - for streaming simulcast operations
1200
+ *
1201
+ * Validates RTMP and RTMPS URLs for streaming destinations.
1202
+ * Used in simulcast target configuration.
1203
+ *
1204
+ * @description Valid RTMP or RTMPS streaming URL
1205
+ * @type string
1206
+ * @pattern ^rtmps?://[a-zA-Z0-9.-]+(:[0-9]+)?(/.*)?$
1207
+ * @example "rtmp://a.rtmp.youtube.com/live2", "rtmps://live.twitch.tv/app"
1208
+ */
1209
+ exports.RTMP_URL_SCHEMA = {
1210
+ type: 'string',
1211
+ pattern: RTMP_URL_PATTERN,
1212
+ description: 'Valid RTMP URL (rtmp://host[:port][/path] or rtmps://...)',
1213
+ };
1214
+ // =============================================================================
1215
+ // Empty Input Schemas (for tools with no parameters)
1216
+ // =============================================================================
1217
+ /**
1218
+ * Empty input schema - for tools that require no parameters
1219
+ *
1220
+ * Reusable schema for MCP tools that don't accept any input parameters.
1221
+ * Used by read-only/status/list tools like fetchCurrentDexSeason, getSession, etc.
1222
+ *
1223
+ * @description Standard empty object schema for parameterless tools
1224
+ * @type object
1225
+ * @properties {}
1226
+ * @example Used by: fetchAllDexSeasons, fetchCurrentDexSeason, getSession, logout
1227
+ */
1228
+ exports.EMPTY_INPUT_SCHEMA = {
1229
+ type: 'object',
1230
+ properties: {},
1231
+ };
380
1232
  //# sourceMappingURL=common-schemas.js.map