@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.
- package/README.md +49 -21
- package/dist/ai-docs.json +7357 -0
- package/dist/constants/mcpToolNames.d.ts +3 -1
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +2 -1
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/explain-sdk-usage-ai.json +3445 -0
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/generated/version.js.map +1 -1
- package/dist/prompts/account.d.ts +24 -0
- package/dist/prompts/account.d.ts.map +1 -0
- package/dist/prompts/account.js +89 -0
- package/dist/prompts/account.js.map +1 -0
- package/dist/prompts/api-keys.d.ts +36 -0
- package/dist/prompts/api-keys.d.ts.map +1 -0
- package/dist/prompts/api-keys.js +251 -0
- package/dist/prompts/api-keys.js.map +1 -0
- package/dist/prompts/auth.d.ts +29 -0
- package/dist/prompts/auth.d.ts.map +1 -0
- package/dist/prompts/auth.js +127 -0
- package/dist/prompts/auth.js.map +1 -0
- package/dist/prompts/balances.d.ts.map +1 -1
- package/dist/prompts/balances.js +17 -17
- package/dist/prompts/balances.js.map +1 -1
- package/dist/prompts/bans.d.ts +23 -0
- package/dist/prompts/bans.d.ts.map +1 -0
- package/dist/prompts/bans.js +82 -0
- package/dist/prompts/bans.js.map +1 -0
- package/dist/prompts/bridge.d.ts +2 -1
- package/dist/prompts/bridge.d.ts.map +1 -1
- package/dist/prompts/bridge.js +91 -227
- package/dist/prompts/bridge.js.map +1 -1
- package/dist/prompts/burns.d.ts +30 -0
- package/dist/prompts/burns.d.ts.map +1 -0
- package/dist/prompts/burns.js +127 -0
- package/dist/prompts/burns.js.map +1 -0
- package/dist/prompts/chat-messages.d.ts +21 -0
- package/dist/prompts/chat-messages.d.ts.map +1 -0
- package/dist/prompts/chat-messages.js +103 -0
- package/dist/prompts/chat-messages.js.map +1 -0
- package/dist/prompts/chat.d.ts +67 -0
- package/dist/prompts/chat.d.ts.map +1 -0
- package/dist/prompts/chat.js +355 -0
- package/dist/prompts/chat.js.map +1 -0
- package/dist/prompts/comments.d.ts +29 -0
- package/dist/prompts/comments.d.ts.map +1 -0
- package/dist/prompts/comments.js +133 -0
- package/dist/prompts/comments.js.map +1 -0
- package/dist/prompts/content-flags.d.ts +29 -0
- package/dist/prompts/content-flags.d.ts.map +1 -0
- package/dist/prompts/content-flags.js +248 -0
- package/dist/prompts/content-flags.js.map +1 -0
- package/dist/prompts/content-reactions.d.ts +29 -0
- package/dist/prompts/content-reactions.d.ts.map +1 -0
- package/dist/prompts/content-reactions.js +77 -0
- package/dist/prompts/content-reactions.js.map +1 -0
- package/dist/prompts/create-token.d.ts.map +1 -1
- package/dist/prompts/create-token.js +11 -18
- package/dist/prompts/create-token.js.map +1 -1
- package/dist/prompts/dex-trading.d.ts.map +1 -1
- package/dist/prompts/dex-trading.js +11 -42
- package/dist/prompts/dex-trading.js.map +1 -1
- package/dist/prompts/discover-tokens.d.ts.map +1 -1
- package/dist/prompts/discover-tokens.js +11 -26
- package/dist/prompts/discover-tokens.js.map +1 -1
- package/dist/prompts/event-subscriptions.d.ts +45 -0
- package/dist/prompts/event-subscriptions.d.ts.map +1 -0
- package/dist/prompts/event-subscriptions.js +330 -0
- package/dist/prompts/event-subscriptions.js.map +1 -0
- package/dist/prompts/explore-dex-pools.d.ts +2 -0
- package/dist/prompts/explore-dex-pools.d.ts.map +1 -1
- package/dist/prompts/explore-dex-pools.js +26 -104
- package/dist/prompts/explore-dex-pools.js.map +1 -1
- package/dist/prompts/factories/balance-prompt-factory.d.ts +102 -0
- package/dist/prompts/factories/balance-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/balance-prompt-factory.js +176 -0
- package/dist/prompts/factories/balance-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/ban-management-factory.d.ts +90 -0
- package/dist/prompts/factories/ban-management-factory.d.ts.map +1 -0
- package/dist/prompts/factories/ban-management-factory.js +330 -0
- package/dist/prompts/factories/ban-management-factory.js.map +1 -0
- package/dist/prompts/factories/calculation-prompt-factory.d.ts +119 -0
- package/dist/prompts/factories/calculation-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/calculation-prompt-factory.js +183 -0
- package/dist/prompts/factories/calculation-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/discovery-prompt-factory.d.ts +135 -0
- package/dist/prompts/factories/discovery-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/discovery-prompt-factory.js +240 -0
- package/dist/prompts/factories/discovery-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/event-subscription-factory.d.ts +177 -0
- package/dist/prompts/factories/event-subscription-factory.d.ts.map +1 -0
- package/dist/prompts/factories/event-subscription-factory.js +329 -0
- package/dist/prompts/factories/event-subscription-factory.js.map +1 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.d.ts +95 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.js +147 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/index.d.ts +33 -0
- package/dist/prompts/factories/index.d.ts.map +1 -0
- package/dist/prompts/factories/index.js +91 -0
- package/dist/prompts/factories/index.js.map +1 -0
- package/dist/prompts/factories/invite-management-factory.d.ts +88 -0
- package/dist/prompts/factories/invite-management-factory.d.ts.map +1 -0
- package/dist/prompts/factories/invite-management-factory.js +262 -0
- package/dist/prompts/factories/invite-management-factory.js.map +1 -0
- package/dist/prompts/factories/reaction-prompt-factory.d.ts +81 -0
- package/dist/prompts/factories/reaction-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/reaction-prompt-factory.js +188 -0
- package/dist/prompts/factories/reaction-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/simple-operation-factory.d.ts +166 -0
- package/dist/prompts/factories/simple-operation-factory.d.ts.map +1 -0
- package/dist/prompts/factories/simple-operation-factory.js +218 -0
- package/dist/prompts/factories/simple-operation-factory.js.map +1 -0
- package/dist/prompts/index.d.ts +31 -6
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +136 -5
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/locks.d.ts.map +1 -1
- package/dist/prompts/locks.js +32 -56
- package/dist/prompts/locks.js.map +1 -1
- package/dist/prompts/moderators.d.ts +22 -0
- package/dist/prompts/moderators.d.ts.map +1 -0
- package/dist/prompts/moderators.js +62 -0
- package/dist/prompts/moderators.js.map +1 -0
- package/dist/prompts/monitoring.d.ts +3 -1
- package/dist/prompts/monitoring.d.ts.map +1 -1
- package/dist/prompts/monitoring.js +52 -140
- package/dist/prompts/monitoring.js.map +1 -1
- package/dist/prompts/overseers.d.ts +34 -0
- package/dist/prompts/overseers.d.ts.map +1 -0
- package/dist/prompts/overseers.js +117 -0
- package/dist/prompts/overseers.js.map +1 -0
- package/dist/prompts/pools.d.ts +22 -20
- package/dist/prompts/pools.d.ts.map +1 -1
- package/dist/prompts/pools.js +150 -251
- package/dist/prompts/pools.js.map +1 -1
- package/dist/prompts/portfolio.d.ts.map +1 -1
- package/dist/prompts/portfolio.js +1 -9
- package/dist/prompts/portfolio.js.map +1 -1
- package/dist/prompts/prompt-factories.d.ts +179 -0
- package/dist/prompts/prompt-factories.d.ts.map +1 -0
- package/dist/prompts/prompt-factories.js +230 -0
- package/dist/prompts/prompt-factories.js.map +1 -0
- package/dist/prompts/referrals.d.ts +27 -0
- package/dist/prompts/referrals.d.ts.map +1 -0
- package/dist/prompts/referrals.js +176 -0
- package/dist/prompts/referrals.js.map +1 -0
- package/dist/prompts/streaming.d.ts +84 -0
- package/dist/prompts/streaming.d.ts.map +1 -0
- package/dist/prompts/streaming.js +411 -0
- package/dist/prompts/streaming.js.map +1 -0
- package/dist/prompts/tier1-bridge-operations.d.ts +30 -0
- package/dist/prompts/tier1-bridge-operations.d.ts.map +1 -0
- package/dist/prompts/tier1-bridge-operations.js +634 -0
- package/dist/prompts/tier1-bridge-operations.js.map +1 -0
- package/dist/prompts/tier1-liquidity-management.d.ts +30 -0
- package/dist/prompts/tier1-liquidity-management.d.ts.map +1 -0
- package/dist/prompts/tier1-liquidity-management.js +560 -0
- package/dist/prompts/tier1-liquidity-management.js.map +1 -0
- package/dist/prompts/tier1-pool-discovery.d.ts +30 -0
- package/dist/prompts/tier1-pool-discovery.d.ts.map +1 -0
- package/dist/prompts/tier1-pool-discovery.js +221 -0
- package/dist/prompts/tier1-pool-discovery.js.map +1 -0
- package/dist/prompts/tier1-price-history.d.ts +30 -0
- package/dist/prompts/tier1-price-history.d.ts.map +1 -0
- package/dist/prompts/tier1-price-history.js +429 -0
- package/dist/prompts/tier1-price-history.js.map +1 -0
- package/dist/prompts/tier1-token-analysis.d.ts +30 -0
- package/dist/prompts/tier1-token-analysis.d.ts.map +1 -0
- package/dist/prompts/tier1-token-analysis.js +376 -0
- package/dist/prompts/tier1-token-analysis.js.map +1 -0
- package/dist/prompts/tier2-account-setup.d.ts +24 -0
- package/dist/prompts/tier2-account-setup.d.ts.map +1 -0
- package/dist/prompts/tier2-account-setup.js +206 -0
- package/dist/prompts/tier2-account-setup.js.map +1 -0
- package/dist/prompts/tier2-advanced-liquidity.d.ts +24 -0
- package/dist/prompts/tier2-advanced-liquidity.d.ts.map +1 -0
- package/dist/prompts/tier2-advanced-liquidity.js +298 -0
- package/dist/prompts/tier2-advanced-liquidity.js.map +1 -0
- package/dist/prompts/tier2-asset-management.d.ts +25 -0
- package/dist/prompts/tier2-asset-management.d.ts.map +1 -0
- package/dist/prompts/tier2-asset-management.js +246 -0
- package/dist/prompts/tier2-asset-management.js.map +1 -0
- package/dist/prompts/tier2-token-lifecycle.d.ts +25 -0
- package/dist/prompts/tier2-token-lifecycle.d.ts.map +1 -0
- package/dist/prompts/tier2-token-lifecycle.js +241 -0
- package/dist/prompts/tier2-token-lifecycle.js.map +1 -0
- package/dist/prompts/tier3-community-engagement.d.ts +26 -0
- package/dist/prompts/tier3-community-engagement.d.ts.map +1 -0
- package/dist/prompts/tier3-community-engagement.js +610 -0
- package/dist/prompts/tier3-community-engagement.js.map +1 -0
- package/dist/prompts/tier3-moderation-workflows.d.ts +31 -0
- package/dist/prompts/tier3-moderation-workflows.d.ts.map +1 -0
- package/dist/prompts/tier3-moderation-workflows.js +511 -0
- package/dist/prompts/tier3-moderation-workflows.js.map +1 -0
- package/dist/prompts/tier3-streaming-management.d.ts +26 -0
- package/dist/prompts/tier3-streaming-management.d.ts.map +1 -0
- package/dist/prompts/tier3-streaming-management.js +797 -0
- package/dist/prompts/tier3-streaming-management.js.map +1 -0
- package/dist/prompts/token-bans.d.ts +27 -0
- package/dist/prompts/token-bans.d.ts.map +1 -0
- package/dist/prompts/token-bans.js +77 -0
- package/dist/prompts/token-bans.js.map +1 -0
- package/dist/prompts/trades.d.ts +22 -0
- package/dist/prompts/trades.d.ts.map +1 -0
- package/dist/prompts/trades.js +107 -0
- package/dist/prompts/trades.js.map +1 -0
- package/dist/prompts/trading-calculations.d.ts +3 -1
- package/dist/prompts/trading-calculations.d.ts.map +1 -1
- package/dist/prompts/trading-calculations.js +134 -270
- package/dist/prompts/trading-calculations.js.map +1 -1
- package/dist/prompts/trading.d.ts +10 -1
- package/dist/prompts/trading.d.ts.map +1 -1
- package/dist/prompts/trading.js +128 -2
- package/dist/prompts/trading.js.map +1 -1
- package/dist/prompts/transfers.d.ts +2 -1
- package/dist/prompts/transfers.d.ts.map +1 -1
- package/dist/prompts/transfers.js +26 -30
- package/dist/prompts/transfers.js.map +1 -1
- package/dist/prompts/uploads.d.ts +19 -0
- package/dist/prompts/uploads.d.ts.map +1 -0
- package/dist/prompts/uploads.js +114 -0
- package/dist/prompts/uploads.js.map +1 -0
- package/dist/prompts/utility-tools.d.ts.map +1 -1
- package/dist/prompts/utility-tools.js +27 -18
- package/dist/prompts/utility-tools.js.map +1 -1
- package/dist/prompts/utils/index.d.ts +21 -0
- package/dist/prompts/utils/index.d.ts.map +1 -0
- package/dist/prompts/utils/index.js +38 -0
- package/dist/prompts/utils/index.js.map +1 -0
- package/dist/prompts/utils/pagination-helpers.d.ts +95 -0
- package/dist/prompts/utils/pagination-helpers.d.ts.map +1 -0
- package/dist/prompts/utils/pagination-helpers.js +121 -0
- package/dist/prompts/utils/pagination-helpers.js.map +1 -0
- package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -1
- package/dist/prompts/utils/workflowTemplates.js +4 -3
- package/dist/prompts/utils/workflowTemplates.js.map +1 -1
- package/dist/prompts/wallet.d.ts +24 -0
- package/dist/prompts/wallet.d.ts.map +1 -0
- package/dist/prompts/wallet.js +139 -0
- package/dist/prompts/wallet.js.map +1 -0
- package/dist/schemas/common-schemas.d.ts +890 -0
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +853 -1
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/server.d.ts +31 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +68 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/api-keys/index.d.ts +41 -0
- package/dist/tools/api-keys/index.d.ts.map +1 -0
- package/dist/tools/api-keys/index.js +245 -0
- package/dist/tools/api-keys/index.js.map +1 -0
- package/dist/tools/auth/index.d.ts +19 -0
- package/dist/tools/auth/index.d.ts.map +1 -0
- package/dist/tools/auth/index.js +138 -0
- package/dist/tools/auth/index.js.map +1 -0
- package/dist/tools/balance/helpers/format-balance.d.ts +86 -0
- package/dist/tools/balance/helpers/format-balance.d.ts.map +1 -0
- package/dist/tools/balance/helpers/format-balance.js +87 -0
- package/dist/tools/balance/helpers/format-balance.js.map +1 -0
- package/dist/tools/balance/index.d.ts +4 -4
- package/dist/tools/balance/index.d.ts.map +1 -1
- package/dist/tools/balance/index.js +64 -176
- package/dist/tools/balance/index.js.map +1 -1
- package/dist/tools/ban/index.d.ts +37 -0
- package/dist/tools/ban/index.d.ts.map +1 -0
- package/dist/tools/ban/index.js +206 -0
- package/dist/tools/ban/index.js.map +1 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts +87 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts.map +1 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.js +130 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.js.map +1 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts +87 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts.map +1 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js +167 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js.map +1 -0
- package/dist/tools/bridge/index.d.ts +3 -7
- package/dist/tools/bridge/index.d.ts.map +1 -1
- package/dist/tools/bridge/index.js +89 -371
- package/dist/tools/bridge/index.js.map +1 -1
- package/dist/tools/burns/index.d.ts.map +1 -1
- package/dist/tools/burns/index.js +8 -36
- package/dist/tools/burns/index.js.map +1 -1
- package/dist/tools/chat/getPinnedChatMessage.d.ts +15 -0
- package/dist/tools/chat/getPinnedChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/getPinnedChatMessage.js +37 -0
- package/dist/tools/chat/getPinnedChatMessage.js.map +1 -0
- package/dist/tools/chat/index.d.ts +73 -0
- package/dist/tools/chat/index.d.ts.map +1 -0
- package/dist/tools/chat/index.js +359 -0
- package/dist/tools/chat/index.js.map +1 -0
- package/dist/tools/chat/pinChatMessage.d.ts +16 -0
- package/dist/tools/chat/pinChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/pinChatMessage.js +51 -0
- package/dist/tools/chat/pinChatMessage.js.map +1 -0
- package/dist/tools/chat/unpinChatMessage.d.ts +16 -0
- package/dist/tools/chat/unpinChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/unpinChatMessage.js +39 -0
- package/dist/tools/chat/unpinChatMessage.js.map +1 -0
- package/dist/tools/chat-messages/index.d.ts +35 -0
- package/dist/tools/chat-messages/index.d.ts.map +1 -0
- package/dist/tools/chat-messages/index.js +165 -0
- package/dist/tools/chat-messages/index.js.map +1 -0
- package/dist/tools/comments/index.d.ts +44 -0
- package/dist/tools/comments/index.d.ts.map +1 -0
- package/dist/tools/comments/index.js +171 -0
- package/dist/tools/comments/index.js.map +1 -0
- package/dist/tools/content-flags/index.d.ts +38 -0
- package/dist/tools/content-flags/index.d.ts.map +1 -0
- package/dist/tools/content-flags/index.js +282 -0
- package/dist/tools/content-flags/index.js.map +1 -0
- package/dist/tools/content-reactions/index.d.ts +43 -0
- package/dist/tools/content-reactions/index.d.ts.map +1 -0
- package/dist/tools/content-reactions/index.js +135 -0
- package/dist/tools/content-reactions/index.js.map +1 -0
- package/dist/tools/creation/index.d.ts.map +1 -1
- package/dist/tools/creation/index.js +2 -5
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.js +5 -21
- package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
- package/dist/tools/dex/fetchDexPools.d.ts.map +1 -1
- package/dist/tools/dex/fetchDexPools.js +11 -28
- package/dist/tools/dex/fetchDexPools.js.map +1 -1
- package/dist/tools/dex/helpers.d.ts +479 -0
- package/dist/tools/dex/helpers.d.ts.map +1 -0
- package/dist/tools/dex/helpers.js +570 -0
- package/dist/tools/dex/helpers.js.map +1 -0
- package/dist/tools/dex/index.d.ts +50 -11
- package/dist/tools/dex/index.d.ts.map +1 -1
- package/dist/tools/dex/index.js +124 -486
- package/dist/tools/dex/index.js.map +1 -1
- package/dist/tools/dex/leaderboard.d.ts.map +1 -1
- package/dist/tools/dex/leaderboard.js +5 -70
- package/dist/tools/dex/leaderboard.js.map +1 -1
- package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
- package/dist/tools/dex/liquidity-positions.js +20 -91
- package/dist/tools/dex/liquidity-positions.js.map +1 -1
- package/dist/tools/dex/volume.d.ts.map +1 -1
- package/dist/tools/dex/volume.js +6 -21
- package/dist/tools/dex/volume.js.map +1 -1
- package/dist/tools/dex-analytics/index.d.ts +48 -0
- package/dist/tools/dex-analytics/index.d.ts.map +1 -0
- package/dist/tools/dex-analytics/index.js +111 -0
- package/dist/tools/dex-analytics/index.js.map +1 -0
- package/dist/tools/dex-liquidity/index.d.ts +22 -0
- package/dist/tools/dex-liquidity/index.d.ts.map +1 -0
- package/dist/tools/dex-liquidity/index.js +384 -0
- package/dist/tools/dex-liquidity/index.js.map +1 -0
- package/dist/tools/dex-pools/index.d.ts +60 -0
- package/dist/tools/dex-pools/index.d.ts.map +1 -0
- package/dist/tools/dex-pools/index.js +231 -0
- package/dist/tools/dex-pools/index.js.map +1 -0
- package/dist/tools/handler-factories.d.ts +1401 -0
- package/dist/tools/handler-factories.d.ts.map +1 -0
- package/dist/tools/handler-factories.js +1680 -0
- package/dist/tools/handler-factories.js.map +1 -0
- package/dist/tools/index.d.ts +1 -11
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +171 -27
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/locks/index.d.ts +2 -0
- package/dist/tools/locks/index.d.ts.map +1 -1
- package/dist/tools/locks/index.js +9 -86
- package/dist/tools/locks/index.js.map +1 -1
- package/dist/tools/moderators/index.d.ts +53 -0
- package/dist/tools/moderators/index.d.ts.map +1 -0
- package/dist/tools/moderators/index.js +258 -0
- package/dist/tools/moderators/index.js.map +1 -0
- package/dist/tools/overseers/getOverseerUserSummary.d.ts +15 -0
- package/dist/tools/overseers/getOverseerUserSummary.d.ts.map +1 -0
- package/dist/tools/overseers/getOverseerUserSummary.js +40 -0
- package/dist/tools/overseers/getOverseerUserSummary.js.map +1 -0
- package/dist/tools/overseers/index.d.ts +58 -0
- package/dist/tools/overseers/index.d.ts.map +1 -0
- package/dist/tools/overseers/index.js +325 -0
- package/dist/tools/overseers/index.js.map +1 -0
- package/dist/tools/overseers/listOverseerUsers.d.ts +15 -0
- package/dist/tools/overseers/listOverseerUsers.d.ts.map +1 -0
- package/dist/tools/overseers/listOverseerUsers.js +76 -0
- package/dist/tools/overseers/listOverseerUsers.js.map +1 -0
- package/dist/tools/pagination-handler-factory.d.ts +131 -0
- package/dist/tools/pagination-handler-factory.d.ts.map +1 -0
- package/dist/tools/pagination-handler-factory.js +159 -0
- package/dist/tools/pagination-handler-factory.js.map +1 -0
- package/dist/tools/pools/checkPoolExists.d.ts +16 -0
- package/dist/tools/pools/checkPoolExists.d.ts.map +1 -0
- package/dist/tools/pools/checkPoolExists.js +48 -0
- package/dist/tools/pools/checkPoolExists.js.map +1 -0
- package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPools.js +51 -11
- package/dist/tools/pools/fetchAllPools.js.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js +11 -51
- package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.d.ts.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.js +4 -11
- package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
- package/dist/tools/pools/fetchPools.d.ts.map +1 -1
- package/dist/tools/pools/fetchPools.js +40 -20
- package/dist/tools/pools/fetchPools.js.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.js +10 -51
- package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.d.ts.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.js +4 -35
- package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
- package/dist/tools/pools/index.d.ts +2 -0
- package/dist/tools/pools/index.d.ts.map +1 -1
- package/dist/tools/pools/index.js +103 -35
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.d.ts +1 -2
- package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.js +14 -48
- package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.d.ts +1 -2
- package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.js +9 -42
- package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
- package/dist/tools/pools/priceHistoryFactory.d.ts +44 -0
- package/dist/tools/pools/priceHistoryFactory.d.ts.map +1 -0
- package/dist/tools/pools/priceHistoryFactory.js +154 -0
- package/dist/tools/pools/priceHistoryFactory.js.map +1 -0
- package/dist/tools/pools/updateTokenSocials.d.ts +16 -0
- package/dist/tools/pools/updateTokenSocials.d.ts.map +1 -0
- package/dist/tools/pools/updateTokenSocials.js +84 -0
- package/dist/tools/pools/updateTokenSocials.js.map +1 -0
- package/dist/tools/referrals/index.d.ts +12 -0
- package/dist/tools/referrals/index.d.ts.map +1 -0
- package/dist/tools/referrals/index.js +110 -0
- package/dist/tools/referrals/index.js.map +1 -0
- package/dist/tools/streaming/index.d.ts +94 -0
- package/dist/tools/streaming/index.d.ts.map +1 -0
- package/dist/tools/streaming/index.js +549 -0
- package/dist/tools/streaming/index.js.map +1 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts +16 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts.map +1 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.js +62 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.js.map +1 -0
- package/dist/tools/token-ban/index.d.ts +39 -0
- package/dist/tools/token-ban/index.d.ts.map +1 -0
- package/dist/tools/token-ban/index.js +177 -0
- package/dist/tools/token-ban/index.js.map +1 -0
- package/dist/tools/tool-factory.d.ts +84 -0
- package/dist/tools/tool-factory.d.ts.map +1 -0
- package/dist/tools/tool-factory.js +135 -0
- package/dist/tools/tool-factory.js.map +1 -0
- package/dist/tools/trades/index.d.ts +20 -0
- package/dist/tools/trades/index.d.ts.map +1 -0
- package/dist/tools/trades/index.js +113 -0
- package/dist/tools/trades/index.js.map +1 -0
- package/dist/tools/trading/helpers/arg-extractors.d.ts +128 -0
- package/dist/tools/trading/helpers/arg-extractors.d.ts.map +1 -0
- package/dist/tools/trading/helpers/arg-extractors.js +215 -0
- package/dist/tools/trading/helpers/arg-extractors.js.map +1 -0
- package/dist/tools/trading/helpers/index.d.ts +8 -0
- package/dist/tools/trading/helpers/index.d.ts.map +1 -0
- package/dist/tools/trading/helpers/index.js +24 -0
- package/dist/tools/trading/helpers/index.js.map +1 -0
- package/dist/tools/trading/helpers/trading-schemas.d.ts +276 -0
- package/dist/tools/trading/helpers/trading-schemas.d.ts.map +1 -0
- package/dist/tools/trading/helpers/trading-schemas.js +310 -0
- package/dist/tools/trading/helpers/trading-schemas.js.map +1 -0
- package/dist/tools/trading/index.d.ts +2 -0
- package/dist/tools/trading/index.d.ts.map +1 -1
- package/dist/tools/trading/index.js +148 -371
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/tools/transfers/index.d.ts +3 -0
- package/dist/tools/transfers/index.d.ts.map +1 -1
- package/dist/tools/transfers/index.js +72 -52
- package/dist/tools/transfers/index.js.map +1 -1
- package/dist/tools/utils/cleanup.d.ts.map +1 -1
- package/dist/tools/utils/cleanup.js +2 -9
- package/dist/tools/utils/cleanup.js.map +1 -1
- package/dist/tools/utils/clearCache.d.ts.map +1 -1
- package/dist/tools/utils/clearCache.js +5 -7
- package/dist/tools/utils/clearCache.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.d.ts +52 -0
- package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +1905 -93
- package/dist/tools/utils/explainSdkUsage.js.map +1 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.d.ts.map +1 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js +2 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js.map +1 -1
- package/dist/tools/utils/index.d.ts +2 -0
- package/dist/tools/utils/index.d.ts.map +1 -1
- package/dist/tools/utils/index.js +2 -12
- package/dist/tools/utils/index.js.map +1 -1
- package/dist/tools/wallet/index.d.ts +7 -0
- package/dist/tools/wallet/index.d.ts.map +1 -0
- package/dist/tools/wallet/index.js +24 -0
- package/dist/tools/wallet/index.js.map +1 -0
- package/dist/utils/date-converter.d.ts +58 -0
- package/dist/utils/date-converter.d.ts.map +1 -0
- package/dist/utils/date-converter.js +83 -0
- package/dist/utils/date-converter.js.map +1 -0
- package/dist/utils/pool-filter-builder.d.ts +78 -0
- package/dist/utils/pool-filter-builder.d.ts.map +1 -0
- package/dist/utils/pool-filter-builder.js +130 -0
- package/dist/utils/pool-filter-builder.js.map +1 -0
- package/dist/utils/safe-parsers.d.ts +87 -0
- package/dist/utils/safe-parsers.d.ts.map +1 -0
- package/dist/utils/safe-parsers.js +134 -0
- package/dist/utils/safe-parsers.js.map +1 -0
- package/dist/utils/validation.d.ts +5 -5
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +24 -21
- package/dist/utils/validation.js.map +1 -1
- package/package.json +23 -15
- package/.env.example +0 -21
- package/.eslintrc.json +0 -88
- package/CHANGELOG.md +0 -2161
- package/DOCS_AUDIT_REPORT.md +0 -189
- package/DRY_REFACTORING_GUIDE.md +0 -271
- package/MCP_COVERAGE_REPORT.md +0 -164
- package/MCP_TEST_ANALYSIS.md +0 -317
- package/jest.integration.config.js +0 -70
- package/scripts/inject-version.ts +0 -31
- 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
|