@gala-chain/launchpad-mcp-server 5.0.3 → 5.0.4-beta.1
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 +23 -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
|
@@ -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"}
|