@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
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ /**
3
+ * Event Subscription Prompt Factory
4
+ *
5
+ * Provides factory functions for creating WebSocket event subscription MCP prompts.
6
+ * These prompts follow the common pattern of:
7
+ * 1. Subscribe to a WebSocket event stream
8
+ * 2. Apply filters (duration, thresholds, etc.)
9
+ * 3. Display events in real-time
10
+ * 4. Auto-disconnect after timeout
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const swapEventPrompt = createEventSubscriptionPrompt({
15
+ * name: 'subscribe-dex-swaps',
16
+ * description: 'Monitor DEX swap events',
17
+ * eventType: 'dex_swap_executed',
18
+ * toolName: 'gala_launchpad_on_dex_pool_creation',
19
+ * eventDetails: ['Input/output tokens', 'Swap amounts', 'Fee collected'],
20
+ * useCases: ['Track volume', 'Detect whale trades'],
21
+ * });
22
+ * ```
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.eventSubscriptionFactories = exports.TOKEN_FILTER = exports.FEE_TIER_FILTER = exports.MIN_TVL_FILTER = exports.MIN_LIQUIDITY_FILTER = exports.MIN_AMOUNT_FILTER = void 0;
26
+ exports.createEventSubscriptionPrompt = createEventSubscriptionPrompt;
27
+ exports.createTokenEventSubscriptionPrompt = createTokenEventSubscriptionPrompt;
28
+ exports.createDexEventSubscriptionPrompt = createDexEventSubscriptionPrompt;
29
+ const validation_js_1 = require("../../utils/validation.js");
30
+ const handlerHelpers_js_1 = require("../utils/handlerHelpers.js");
31
+ // =============================================================================
32
+ // Template Builders
33
+ // =============================================================================
34
+ /**
35
+ * Build standard workflow section for event subscriptions
36
+ */
37
+ function buildWorkflowSection(toolName, hasFilters, filterDescription, duration) {
38
+ const steps = [
39
+ `1. Use ${toolName} to monitor events`,
40
+ hasFilters
41
+ ? `2. ${filterDescription}`
42
+ : '2. Monitor all events of this type',
43
+ '3. Display event details in real-time',
44
+ `4. Connection auto-closes after ${duration} seconds`,
45
+ ];
46
+ return steps.join('\n');
47
+ }
48
+ /**
49
+ * Build event details section
50
+ */
51
+ function buildEventDetailsSection(details) {
52
+ const formatted = details.map((d) => `- ${d}`).join('\n');
53
+ return `**Event Details to Display:**\n${formatted}`;
54
+ }
55
+ /**
56
+ * Build use cases section
57
+ */
58
+ function buildUseCasesSection(useCases) {
59
+ const formatted = useCases.map((u) => `- ${u}`).join('\n');
60
+ return `**Use Cases:**\n${formatted}`;
61
+ }
62
+ /**
63
+ * Build important notes section with standard WebSocket notes
64
+ */
65
+ function buildImportantNotesSection(additionalNotes = []) {
66
+ const standardNotes = [
67
+ 'WebSocket connection stays open for the specified duration',
68
+ 'Events are pushed in real-time',
69
+ 'Connection automatically closes after timeout',
70
+ 'Can be interrupted early if needed',
71
+ ];
72
+ const allNotes = [...standardNotes, ...additionalNotes];
73
+ const formatted = allNotes.map((n) => `- ${n}`).join('\n');
74
+ return `**Important Notes:**\n${formatted}`;
75
+ }
76
+ /**
77
+ * Build fee tier reference section for DEX pools
78
+ */
79
+ function buildFeeTierReference() {
80
+ return `**Fee Tier Reference:**
81
+ - 500 = 0.05% (stable pairs)
82
+ - 3000 = 0.30% (standard pairs)
83
+ - 10000 = 1.00% (volatile pairs)`;
84
+ }
85
+ /**
86
+ * Build filters text from filter args and values
87
+ */
88
+ function buildFiltersText(filterArgs, args) {
89
+ const filters = [];
90
+ const filterDescriptions = [];
91
+ for (const filter of filterArgs) {
92
+ const value = args[filter.name];
93
+ if (value) {
94
+ const prefix = filter.displayPrefix || '';
95
+ const suffix = filter.displaySuffix || '';
96
+ filters.push(`- ${filter.displayLabel}: ${prefix}${value}${suffix}`);
97
+ filterDescriptions.push(filter.displayLabel.toLowerCase());
98
+ }
99
+ }
100
+ const filterDescription = filterDescriptions.length > 0
101
+ ? `Filter by ${filterDescriptions.join(', ')}`
102
+ : 'Monitor all events';
103
+ return { filters, filterDescription };
104
+ }
105
+ // =============================================================================
106
+ // Factory Functions
107
+ // =============================================================================
108
+ /**
109
+ * Create an event subscription prompt with standardized handling
110
+ *
111
+ * This factory creates prompts that follow the WebSocket subscription pattern:
112
+ * - Duration parameter (with default of 60 seconds)
113
+ * - Optional filter parameters (numeric thresholds, etc.)
114
+ * - Standardized workflow, event details, use cases, and notes sections
115
+ *
116
+ * @param config - Configuration for the event subscription prompt
117
+ * @returns Complete MCPPrompt definition
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const liquidityAddedPrompt = createEventSubscriptionPrompt({
122
+ * name: 'subscribe-dex-liquidity-added',
123
+ * description: 'Monitor DEX liquidity additions',
124
+ * eventType: 'dex_liquidity_added',
125
+ * toolName: 'gala_launchpad_on_dex_pool_creation',
126
+ * eventDetails: [
127
+ * 'Token pair (token0, token1)',
128
+ * 'Amount of liquidity added',
129
+ * 'Price range (tickLower, tickUpper)',
130
+ * 'Position ID',
131
+ * ],
132
+ * useCases: [
133
+ * 'Monitor LP position creations',
134
+ * 'Track market maker activity',
135
+ * 'Identify significant liquidity provisions',
136
+ * ],
137
+ * filterArgs: [{
138
+ * name: 'minLiquidity',
139
+ * description: 'Minimum liquidity amount to filter events',
140
+ * isNumeric: true,
141
+ * displayLabel: 'Minimum liquidity',
142
+ * }],
143
+ * });
144
+ * ```
145
+ */
146
+ function createEventSubscriptionPrompt(config) {
147
+ const { name, description, eventType, toolName, eventDetails, useCases, filterArgs = [], additionalNotes = [], supportsCreatorFilter = false, includeFeeTierReference = false, } = config;
148
+ // Build arguments list
149
+ const promptArguments = [
150
+ {
151
+ name: 'duration',
152
+ description: 'How long to subscribe in seconds (e.g., 60 for 1 minute, 300 for 5 minutes, default: 60)',
153
+ required: false,
154
+ },
155
+ ];
156
+ // Add filter arguments
157
+ for (const filter of filterArgs) {
158
+ promptArguments.push({
159
+ name: filter.name,
160
+ description: filter.description,
161
+ required: false,
162
+ });
163
+ }
164
+ // Add creator filter if supported
165
+ if (supportsCreatorFilter) {
166
+ promptArguments.push({
167
+ name: 'creatorAddress',
168
+ description: 'Filter by creator address (e.g., "eth|0x..."). Only events from this creator will be shown.',
169
+ required: false,
170
+ });
171
+ }
172
+ return {
173
+ name: `galachain-launchpad:${name}`,
174
+ description,
175
+ arguments: promptArguments,
176
+ handler: (args) => {
177
+ const duration = args.duration || '60';
178
+ // Validate numeric filter arguments
179
+ for (const filter of filterArgs) {
180
+ if (args[filter.name] && filter.isNumeric) {
181
+ (0, validation_js_1.validateNumericAmount)(args[filter.name], filter.name);
182
+ }
183
+ }
184
+ // Build filters
185
+ const { filters, filterDescription } = buildFiltersText(filterArgs, args);
186
+ // Handle creator filter
187
+ const hasCreatorFilter = supportsCreatorFilter && !!args.creatorAddress;
188
+ if (hasCreatorFilter) {
189
+ filters.push(`- Creator: ${args.creatorAddress}`);
190
+ }
191
+ // Build filter text
192
+ const filterText = filters.length > 0
193
+ ? `\n**Filters:**\n${filters.join('\n')}`
194
+ : `\n**No filters** - monitoring all ${eventType} events`;
195
+ // Build workflow section
196
+ const workflowText = buildWorkflowSection(toolName, filters.length > 0 || hasCreatorFilter, hasCreatorFilter ? 'Filter events by creator address' : filterDescription, duration);
197
+ // Build sections
198
+ const sections = [
199
+ `Subscribe to ${eventType.replace(/_/g, ' ')} events.`,
200
+ '',
201
+ `**Subscription Duration:** ${duration} seconds`,
202
+ filterText,
203
+ '',
204
+ '**Workflow:**',
205
+ workflowText,
206
+ '',
207
+ buildEventDetailsSection(eventDetails),
208
+ '',
209
+ buildUseCasesSection(useCases),
210
+ ];
211
+ // Add fee tier reference if needed
212
+ if (includeFeeTierReference) {
213
+ sections.push('', buildFeeTierReference());
214
+ }
215
+ // Add important notes
216
+ sections.push('', buildImportantNotesSection(additionalNotes));
217
+ // Add closing instruction
218
+ sections.push('', 'Proceed with subscribing to events.');
219
+ return (0, handlerHelpers_js_1.createPromptResponse)(sections.join('\n'));
220
+ },
221
+ };
222
+ }
223
+ /**
224
+ * Create a token launch/creation subscription prompt
225
+ *
226
+ * Specialized factory for token creation event subscriptions with
227
+ * standard creator filter support and token-specific event details.
228
+ *
229
+ * @param config - Configuration for the token event subscription
230
+ * @returns Complete MCPPrompt definition
231
+ */
232
+ function createTokenEventSubscriptionPrompt(config) {
233
+ return createEventSubscriptionPrompt({
234
+ ...config,
235
+ eventType: 'token_created',
236
+ supportsCreatorFilter: true,
237
+ additionalNotes: [
238
+ 'Events include full token initialization details',
239
+ ...(config.additionalNotes || []),
240
+ ],
241
+ });
242
+ }
243
+ /**
244
+ * Create a DEX event subscription prompt
245
+ *
246
+ * Specialized factory for DEX-related event subscriptions with
247
+ * optional fee tier reference and common DEX event details.
248
+ *
249
+ * @param config - Configuration for the DEX event subscription
250
+ * @returns Complete MCPPrompt definition
251
+ */
252
+ function createDexEventSubscriptionPrompt(config) {
253
+ return createEventSubscriptionPrompt({
254
+ ...config,
255
+ additionalNotes: [
256
+ 'Events include complete metadata',
257
+ ...(config.additionalNotes || []),
258
+ ],
259
+ });
260
+ }
261
+ // =============================================================================
262
+ // Common Filter Argument Presets
263
+ // =============================================================================
264
+ /**
265
+ * Standard filter argument for minimum amount thresholds
266
+ */
267
+ exports.MIN_AMOUNT_FILTER = {
268
+ name: 'minAmount',
269
+ description: 'Minimum amount to filter events (e.g., 1000). Filters to events >= this value.',
270
+ isNumeric: true,
271
+ displayLabel: 'Minimum amount',
272
+ };
273
+ /**
274
+ * Standard filter argument for minimum liquidity thresholds
275
+ */
276
+ exports.MIN_LIQUIDITY_FILTER = {
277
+ name: 'minLiquidity',
278
+ description: 'Minimum liquidity amount to filter events (e.g., 1000). Filters to events with liquidity >= this value.',
279
+ isNumeric: true,
280
+ displayLabel: 'Minimum liquidity',
281
+ };
282
+ /**
283
+ * Standard filter argument for minimum TVL thresholds
284
+ */
285
+ exports.MIN_TVL_FILTER = {
286
+ name: 'minTVL',
287
+ description: 'Minimum TVL threshold to filter pools (e.g., 1000)',
288
+ isNumeric: true,
289
+ displayLabel: 'Minimum TVL',
290
+ displayPrefix: '$',
291
+ };
292
+ /**
293
+ * Standard filter argument for fee tier
294
+ */
295
+ exports.FEE_TIER_FILTER = {
296
+ name: 'feeTier',
297
+ description: 'Filter by specific fee tier (e.g., 500, 3000, 10000 representing 0.05%, 0.30%, 1.00%)',
298
+ isNumeric: true,
299
+ displayLabel: 'Fee tier',
300
+ };
301
+ /**
302
+ * Standard filter argument for token filter (comma-separated)
303
+ */
304
+ exports.TOKEN_FILTER = {
305
+ name: 'tokens',
306
+ description: 'Comma-separated token symbols for FILTERING events only (e.g., "GALA,GUSDC"). Note: This is for monitoring filter, not for trading operations which require full tokenId format.',
307
+ isNumeric: false,
308
+ displayLabel: 'Token filter',
309
+ };
310
+ // =============================================================================
311
+ // Exports
312
+ // =============================================================================
313
+ /**
314
+ * Factory exports for convenient access
315
+ */
316
+ exports.eventSubscriptionFactories = {
317
+ createEventSubscriptionPrompt,
318
+ createTokenEventSubscriptionPrompt,
319
+ createDexEventSubscriptionPrompt,
320
+ // Filter presets
321
+ filters: {
322
+ MIN_AMOUNT_FILTER: exports.MIN_AMOUNT_FILTER,
323
+ MIN_LIQUIDITY_FILTER: exports.MIN_LIQUIDITY_FILTER,
324
+ MIN_TVL_FILTER: exports.MIN_TVL_FILTER,
325
+ FEE_TIER_FILTER: exports.FEE_TIER_FILTER,
326
+ TOKEN_FILTER: exports.TOKEN_FILTER,
327
+ },
328
+ };
329
+ //# sourceMappingURL=event-subscription-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-subscription-factory.js","sourceRoot":"","sources":["../../../src/prompts/factories/event-subscription-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Filtered List Prompt Factory
3
+ *
4
+ * Provides factory functions for creating list prompts with common filter patterns
5
+ * like tokenName/userAddress combinations with pagination.
6
+ *
7
+ * This handles the common pattern seen in:
8
+ * - getChatMessagesPrompt (tokenName OR userAddress)
9
+ * - getCommentsPrompt (tokenName OR userAddress)
10
+ * - getTradesPrompt (tokenName OR userAddress)
11
+ *
12
+ * @example
13
+ * // Create a filtered list prompt
14
+ * const getMessagesPrompt = createFilteredListPrompt({
15
+ * name: 'get-chat-messages',
16
+ * description: 'Query chat messages with filters',
17
+ * toolName: 'gala_launchpad_get_chat_messages',
18
+ * itemType: 'chat messages',
19
+ * filterMode: 'either',
20
+ * });
21
+ */
22
+ import type { MCPPrompt, MCPPromptArgument } from '../../types/mcp.js';
23
+ /**
24
+ * Configuration for filtered list prompt factory
25
+ */
26
+ export interface FilteredListPromptConfig {
27
+ /** Unique prompt name */
28
+ name: string;
29
+ /** User-facing description */
30
+ description: string;
31
+ /** MCP tool name to invoke */
32
+ toolName: string;
33
+ /** What items are being listed (for display) */
34
+ itemType: string;
35
+ /**
36
+ * Filter requirement mode:
37
+ * - 'either': At least one of tokenName/userAddress required
38
+ * - 'both': Both tokenName and userAddress required
39
+ * - 'tokenNameRequired': tokenName required, userAddress optional
40
+ * - 'optional': All filters optional
41
+ */
42
+ filterMode?: 'either' | 'both' | 'tokenNameRequired' | 'optional';
43
+ /** Include tokenName filter (default: true) */
44
+ includeTokenNameFilter?: boolean;
45
+ /** Include userAddress filter (default: true) */
46
+ includeUserAddressFilter?: boolean;
47
+ /** Additional filter arguments */
48
+ additionalFilters?: MCPPromptArgument[];
49
+ /** Default page size */
50
+ defaultLimit?: number;
51
+ /** Maximum page size */
52
+ maxLimit?: number;
53
+ /** Display format for results */
54
+ displayFormat?: string;
55
+ /** Operation notes/examples to include in prompt */
56
+ operationNotes?: string;
57
+ /** Function to build additional filter parameters */
58
+ buildAdditionalFilters?: (args: Record<string, string>) => Record<string, string | undefined>;
59
+ }
60
+ /**
61
+ * Create a filtered list prompt with standardized handling
62
+ *
63
+ * Handles the common pattern of:
64
+ * 1. tokenName / userAddress filter combinations
65
+ * 2. Validation based on filter mode
66
+ * 3. Pagination (page/limit)
67
+ * 4. Additional custom filters
68
+ *
69
+ * @param config - Configuration for the filtered list prompt
70
+ * @returns Complete MCPPrompt definition
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const getCommentsPrompt = createFilteredListPrompt({
75
+ * name: 'galachain-launchpad:get-comments',
76
+ * description: 'Query comments with tokenName/userAddress filters',
77
+ * toolName: COMMENT_TOOLS.GET_COMMENTS,
78
+ * itemType: 'comments',
79
+ * filterMode: 'either',
80
+ * operationNotes: `Each comment includes:
81
+ * - id: Unique message ID
82
+ * - content: Comment text
83
+ * - userAddress: Author information`,
84
+ * displayFormat: 'Display comments in a list with author, content, and timestamp.',
85
+ * });
86
+ * ```
87
+ */
88
+ export declare function createFilteredListPrompt(config: FilteredListPromptConfig): MCPPrompt;
89
+ /**
90
+ * Factory exports for convenient access
91
+ */
92
+ export declare const filteredListPromptFactories: {
93
+ createFilteredListPrompt: typeof createFilteredListPrompt;
94
+ };
95
+ //# sourceMappingURL=filtered-list-prompt-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered-list-prompt-factory.d.ts","sourceRoot":"","sources":["../../../src/prompts/factories/filtered-list-prompt-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAUvE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,mBAAmB,GAAG,UAAU,CAAC;IAElE,+CAA+C;IAC/C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,iDAAiD;IACjD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAExC,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAsHpF;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;CAEvC,CAAC"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ /**
3
+ * Filtered List Prompt Factory
4
+ *
5
+ * Provides factory functions for creating list prompts with common filter patterns
6
+ * like tokenName/userAddress combinations with pagination.
7
+ *
8
+ * This handles the common pattern seen in:
9
+ * - getChatMessagesPrompt (tokenName OR userAddress)
10
+ * - getCommentsPrompt (tokenName OR userAddress)
11
+ * - getTradesPrompt (tokenName OR userAddress)
12
+ *
13
+ * @example
14
+ * // Create a filtered list prompt
15
+ * const getMessagesPrompt = createFilteredListPrompt({
16
+ * name: 'get-chat-messages',
17
+ * description: 'Query chat messages with filters',
18
+ * toolName: 'gala_launchpad_get_chat_messages',
19
+ * itemType: 'chat messages',
20
+ * filterMode: 'either',
21
+ * });
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.filteredListPromptFactories = void 0;
25
+ exports.createFilteredListPrompt = createFilteredListPrompt;
26
+ const validation_js_1 = require("../../utils/validation.js");
27
+ const handlerHelpers_js_1 = require("../utils/handlerHelpers.js");
28
+ const textTemplates_js_1 = require("../utils/textTemplates.js");
29
+ const prompt_factories_js_1 = require("../prompt-factories.js");
30
+ const pagination_helpers_js_1 = require("../utils/pagination-helpers.js");
31
+ /**
32
+ * Create a filtered list prompt with standardized handling
33
+ *
34
+ * Handles the common pattern of:
35
+ * 1. tokenName / userAddress filter combinations
36
+ * 2. Validation based on filter mode
37
+ * 3. Pagination (page/limit)
38
+ * 4. Additional custom filters
39
+ *
40
+ * @param config - Configuration for the filtered list prompt
41
+ * @returns Complete MCPPrompt definition
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const getCommentsPrompt = createFilteredListPrompt({
46
+ * name: 'galachain-launchpad:get-comments',
47
+ * description: 'Query comments with tokenName/userAddress filters',
48
+ * toolName: COMMENT_TOOLS.GET_COMMENTS,
49
+ * itemType: 'comments',
50
+ * filterMode: 'either',
51
+ * operationNotes: `Each comment includes:
52
+ * - id: Unique message ID
53
+ * - content: Comment text
54
+ * - userAddress: Author information`,
55
+ * displayFormat: 'Display comments in a list with author, content, and timestamp.',
56
+ * });
57
+ * ```
58
+ */
59
+ function createFilteredListPrompt(config) {
60
+ const { name, description, toolName, itemType, filterMode = 'either', includeTokenNameFilter = true, includeUserAddressFilter = true, additionalFilters = [], defaultLimit = 20, maxLimit = 100, displayFormat = `Display ${itemType} in a clear list format.`, operationNotes = '', buildAdditionalFilters, } = config;
61
+ // Build arguments
62
+ const args = [];
63
+ if (includeTokenNameFilter) {
64
+ const tokenNameRequired = filterMode === 'both' || filterMode === 'tokenNameRequired';
65
+ const tokenNameDesc = filterMode === 'either'
66
+ ? 'Token name to filter by (optional if userAddress provided)'
67
+ : filterMode === 'optional'
68
+ ? 'Token name to filter by (optional)'
69
+ : 'Token name (e.g., anime)';
70
+ args.push({
71
+ name: 'tokenName',
72
+ description: tokenNameDesc,
73
+ required: tokenNameRequired,
74
+ });
75
+ }
76
+ if (includeUserAddressFilter) {
77
+ const userAddressRequired = filterMode === 'both';
78
+ const userAddressDesc = filterMode === 'either'
79
+ ? 'User address to filter by (optional if tokenName provided)'
80
+ : 'User address to filter by (optional)';
81
+ args.push({
82
+ name: 'userAddress',
83
+ description: userAddressDesc,
84
+ required: userAddressRequired,
85
+ });
86
+ }
87
+ args.push(...additionalFilters);
88
+ // Add pagination arguments using the helper
89
+ args.push(...(0, pagination_helpers_js_1.createPaginationArguments)({ defaultLimit, maxLimit }));
90
+ return {
91
+ name,
92
+ description,
93
+ arguments: args,
94
+ handler: (handlerArgs) => {
95
+ // Validate based on filter mode
96
+ if (filterMode === 'either' && !handlerArgs.tokenName && !handlerArgs.userAddress) {
97
+ throw new validation_js_1.ValidationError('filter', 'At least one of tokenName or userAddress is required');
98
+ }
99
+ if (handlerArgs.tokenName) {
100
+ (0, validation_js_1.validateTokenName)(handlerArgs.tokenName);
101
+ }
102
+ if (handlerArgs.userAddress) {
103
+ (0, validation_js_1.validateAddress)(handlerArgs.userAddress, 'userAddress');
104
+ }
105
+ // Validate limit using helper
106
+ try {
107
+ (0, pagination_helpers_js_1.validatePaginationLimit)(handlerArgs.limit, maxLimit);
108
+ }
109
+ catch (error) {
110
+ throw new validation_js_1.ValidationError('limit', error.message);
111
+ }
112
+ // Build parameters
113
+ const parameters = (0, prompt_factories_js_1.buildParameterObject)({}, [
114
+ [!!handlerArgs.tokenName, 'token', `Token: ${handlerArgs.tokenName}`],
115
+ [!!handlerArgs.userAddress, 'userAddress', `User: ${handlerArgs.userAddress}`],
116
+ [!!handlerArgs.page, 'page', `Page: ${handlerArgs.page}`],
117
+ [!!handlerArgs.limit, 'limit', `Limit: ${handlerArgs.limit}`],
118
+ ]);
119
+ // Add additional filter parameters
120
+ if (buildAdditionalFilters) {
121
+ Object.assign(parameters, buildAdditionalFilters(handlerArgs));
122
+ }
123
+ // Build operation text
124
+ let operation = `Query ${itemType} with filters.`;
125
+ if (filterMode === 'either') {
126
+ operation += '\n\nAt least one of tokenName or userAddress must be provided.';
127
+ }
128
+ if (operationNotes) {
129
+ operation += `\n\n${operationNotes}`;
130
+ }
131
+ return (0, handlerHelpers_js_1.createPromptResponse)((0, textTemplates_js_1.createSimpleOperationText)({
132
+ operation,
133
+ parameters,
134
+ toolName,
135
+ actionDescription: `fetch ${itemType}`,
136
+ displayFormat,
137
+ }));
138
+ },
139
+ };
140
+ }
141
+ /**
142
+ * Factory exports for convenient access
143
+ */
144
+ exports.filteredListPromptFactories = {
145
+ createFilteredListPrompt,
146
+ };
147
+ //# sourceMappingURL=filtered-list-prompt-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered-list-prompt-factory.js","sourceRoot":"","sources":["../../../src/prompts/factories/filtered-list-prompt-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Prompt Factories Index
3
+ *
4
+ * Central export point for all prompt factory utilities.
5
+ * These factories reduce boilerplate and ensure consistent prompt behavior.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import {
10
+ * createBalancePrompt,
11
+ * createSimpleOperationPrompt,
12
+ * createDiscoveryPrompt,
13
+ * createTokenOperationPrompt,
14
+ * createCalculationPrompt,
15
+ * createFilteredListPrompt,
16
+ * createReactionPromptPair,
17
+ * createInviteManagementPrompts,
18
+ * createBanManagementPrompts,
19
+ * } from './factories/index.js';
20
+ * ```
21
+ */
22
+ export { createBalancePrompt, createChainBalancePrompt, balancePromptFactories, type BalancePromptConfig, type ChainBalancePromptConfig, } from './balance-prompt-factory.js';
23
+ export { createSimpleOperationPrompt, createPaginatedListPrompt, createStatusTogglePrompts, simpleOperationFactories, type SimpleOperationPromptConfig, type PaginatedListPromptConfig, type StatusTogglePromptConfig, } from './simple-operation-factory.js';
24
+ export { createDiscoveryPrompt, createFetchAllPrompt, createDiscoveryPromptPair, discoveryPromptFactories, type DiscoveryPromptConfig, } from './discovery-prompt-factory.js';
25
+ export { createCalculationPrompt, createSimpleCalculationPrompt, calculationPromptFactories, type CalculationPromptConfig, } from './calculation-prompt-factory.js';
26
+ export { createFilteredListPrompt, filteredListPromptFactories, type FilteredListPromptConfig, } from './filtered-list-prompt-factory.js';
27
+ export { createAddReactionPrompt, createRemoveReactionPrompt, createReactionPromptPair, reactionPromptFactories, REACTION_TYPES, type ReactionPromptConfig, type ReactionType, } from './reaction-prompt-factory.js';
28
+ export { createEventSubscriptionPrompt, createTokenEventSubscriptionPrompt, createDexEventSubscriptionPrompt, eventSubscriptionFactories, MIN_AMOUNT_FILTER, MIN_LIQUIDITY_FILTER, MIN_TVL_FILTER, FEE_TIER_FILTER, TOKEN_FILTER, type EventSubscriptionPromptConfig, type EventFilterArg, } from './event-subscription-factory.js';
29
+ export { createInviteManagementPrompts, inviteManagementFactories, type InviteManagementConfig, } from './invite-management-factory.js';
30
+ export { createBanManagementPrompts, banManagementFactories, type BanManagementConfig, } from './ban-management-factory.js';
31
+ export { createTokenOperationPrompt, buildAddressParameter, buildParameterObject, parseBoolean, formatPrivateKeyForDisplay, promptFactories, type TokenOperationConfig, } from '../prompt-factories.js';
32
+ export { createPaginationArguments, validatePaginationLimit, buildPaginationParameters, paginationHelpers, type PaginationConfig, } from '../utils/pagination-helpers.js';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,gCAAgC,EAChC,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,KAAK,6BAA6B,EAClC,KAAK,cAAc,GACpB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,mBAAmB,GACzB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,gCAAgC,CAAC"}