@gala-chain/launchpad-mcp-server
Version:
MCP server for Gala Launchpad - 102 tools (pool management, event watchers, GSwap DEX trading, price history, token creation, wallet management, DEX pool discovery, liquidity positions, token locks, locked token queries, composite pool data, cross-chain b
187 lines • 9.12 kB
JavaScript
;
/**
* Gala Launchpad MCP Prompts (Slash Commands)
*
* Provides user-friendly slash commands for common Launchpad workflows
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.bridgePrompts = exports.dexVolumePrompts = exports.dexLeaderboardPrompts = exports.advancedPoolPrompts = exports.monitoringPrompts = exports.utilityToolPrompts = exports.lockPrompts = exports.transferPrompts = exports.creationUtilityPrompts = exports.balancePrompts = exports.tradingCalculationPrompts = exports.poolPrompts = exports.utilityPrompts = exports.liquidityPositionPrompts = exports.exploreDexPoolsPrompts = exports.dexTradingPrompts = exports.discoveryPrompts = exports.creationPrompts = exports.analysisPrompts = exports.portfolioPrompts = exports.tradingPrompts = exports.prompts = void 0;
exports.getPrompt = getPrompt;
exports.getPromptNames = getPromptNames;
exports.hasPrompt = hasPrompt;
exports.getPromptsByCategory = getPromptsByCategory;
exports.getPromptCount = getPromptCount;
const trading_js_1 = require("./trading.js");
Object.defineProperty(exports, "tradingPrompts", { enumerable: true, get: function () { return trading_js_1.tradingPrompts; } });
const portfolio_js_1 = require("./portfolio.js");
Object.defineProperty(exports, "portfolioPrompts", { enumerable: true, get: function () { return portfolio_js_1.portfolioPrompts; } });
const analysis_js_1 = require("./analysis.js");
Object.defineProperty(exports, "analysisPrompts", { enumerable: true, get: function () { return analysis_js_1.analysisPrompts; } });
const utility_js_1 = require("./utility.js");
Object.defineProperty(exports, "utilityPrompts", { enumerable: true, get: function () { return utility_js_1.utilityPrompts; } });
const create_token_js_1 = require("./create-token.js");
Object.defineProperty(exports, "creationPrompts", { enumerable: true, get: function () { return create_token_js_1.creationPrompts; } });
const discover_tokens_js_1 = require("./discover-tokens.js");
Object.defineProperty(exports, "discoveryPrompts", { enumerable: true, get: function () { return discover_tokens_js_1.discoveryPrompts; } });
const dex_trading_js_1 = require("./dex-trading.js");
Object.defineProperty(exports, "dexTradingPrompts", { enumerable: true, get: function () { return dex_trading_js_1.dexTradingPrompts; } });
const explore_dex_pools_js_1 = require("./explore-dex-pools.js");
Object.defineProperty(exports, "exploreDexPoolsPrompts", { enumerable: true, get: function () { return explore_dex_pools_js_1.exploreDexPoolsPrompts; } });
const liquidity_positions_js_1 = require("./liquidity-positions.js");
Object.defineProperty(exports, "liquidityPositionPrompts", { enumerable: true, get: function () { return liquidity_positions_js_1.liquidityPositionPrompts; } });
const pools_js_1 = require("./pools.js");
Object.defineProperty(exports, "poolPrompts", { enumerable: true, get: function () { return pools_js_1.poolPrompts; } });
const trading_calculations_js_1 = require("./trading-calculations.js");
Object.defineProperty(exports, "tradingCalculationPrompts", { enumerable: true, get: function () { return trading_calculations_js_1.tradingCalculationPrompts; } });
const balances_js_1 = require("./balances.js");
Object.defineProperty(exports, "balancePrompts", { enumerable: true, get: function () { return balances_js_1.balancePrompts; } });
const creation_utils_js_1 = require("./creation-utils.js");
Object.defineProperty(exports, "creationUtilityPrompts", { enumerable: true, get: function () { return creation_utils_js_1.creationUtilityPrompts; } });
const transfers_js_1 = require("./transfers.js");
Object.defineProperty(exports, "transferPrompts", { enumerable: true, get: function () { return transfers_js_1.transferPrompts; } });
const locks_js_1 = require("./locks.js");
Object.defineProperty(exports, "lockPrompts", { enumerable: true, get: function () { return locks_js_1.lockPrompts; } });
const utility_tools_js_1 = require("./utility-tools.js");
Object.defineProperty(exports, "utilityToolPrompts", { enumerable: true, get: function () { return utility_tools_js_1.utilityToolPrompts; } });
const monitoring_js_1 = require("./monitoring.js");
Object.defineProperty(exports, "monitoringPrompts", { enumerable: true, get: function () { return monitoring_js_1.monitoringPrompts; } });
const advanced_pools_js_1 = require("./advanced-pools.js");
Object.defineProperty(exports, "advancedPoolPrompts", { enumerable: true, get: function () { return advanced_pools_js_1.advancedPoolPrompts; } });
const dex_leaderboard_js_1 = require("./dex-leaderboard.js");
Object.defineProperty(exports, "dexLeaderboardPrompts", { enumerable: true, get: function () { return dex_leaderboard_js_1.dexLeaderboardPrompts; } });
const dex_volume_js_1 = require("./dex-volume.js");
Object.defineProperty(exports, "dexVolumePrompts", { enumerable: true, get: function () { return dex_volume_js_1.dexVolumePrompts; } });
const bridge_js_1 = require("./bridge.js");
Object.defineProperty(exports, "bridgePrompts", { enumerable: true, get: function () { return bridge_js_1.bridgePrompts; } });
/**
* All available prompts (101 total)
*/
exports.prompts = [
...trading_js_1.tradingPrompts,
...portfolio_js_1.portfolioPrompts,
...analysis_js_1.analysisPrompts,
...create_token_js_1.creationPrompts,
...discover_tokens_js_1.discoveryPrompts,
...dex_trading_js_1.dexTradingPrompts,
...explore_dex_pools_js_1.exploreDexPoolsPrompts,
...liquidity_positions_js_1.liquidityPositionPrompts,
...utility_js_1.utilityPrompts,
...pools_js_1.poolPrompts,
...trading_calculations_js_1.tradingCalculationPrompts,
...balances_js_1.balancePrompts,
...creation_utils_js_1.creationUtilityPrompts,
...transfers_js_1.transferPrompts,
...locks_js_1.lockPrompts,
...utility_tools_js_1.utilityToolPrompts,
...monitoring_js_1.monitoringPrompts,
...advanced_pools_js_1.advancedPoolPrompts,
...dex_leaderboard_js_1.dexLeaderboardPrompts,
...dex_volume_js_1.dexVolumePrompts,
...bridge_js_1.bridgePrompts,
];
/**
* Optimized prompt registry using Map for O(1) lookups
* Improves performance for large prompt collections
*/
const promptMap = new Map(exports.prompts.map((prompt) => [prompt.name, prompt]));
/**
* Get prompt by name (optimized with Map lookup)
*
* @param name - Prompt name (e.g., 'galachain-launchpad:analyze-token')
* @returns Prompt object or undefined if not found
*
* @example
* ```typescript
* const prompt = getPrompt('galachain-launchpad:buy-tokens');
* if (prompt) {
* const messages = prompt.handler({ tokenName: 'anime', galaAmount: '100' });
* }
* ```
*/
function getPrompt(name) {
return promptMap.get(name);
}
/**
* Get all prompt names
*
* @returns Array of all registered prompt names
*
* @example
* ```typescript
* const names = getPromptNames();
* // ['galachain-launchpad:analyze-token', 'galachain-launchpad:buy-tokens', ...]
* ```
*/
function getPromptNames() {
return Array.from(promptMap.keys());
}
/**
* Check if a prompt exists by name
*
* @param name - Prompt name to check
* @returns True if prompt exists, false otherwise
*
* @example
* ```typescript
* if (hasPrompt('galachain-launchpad:analyze-token')) {
* console.log('Prompt is available');
* }
* ```
*/
function hasPrompt(name) {
return promptMap.has(name);
}
/**
* Get prompts by category
*
* @param category - Category name ('trading', 'portfolio', 'analysis', 'creation', 'discovery', 'dex', 'liquidity', 'monitoring', 'utility', or 'bridge')
* @returns Array of prompts in the specified category
*
* @example
* ```typescript
* const tradingCommands = getPromptsByCategory('trading');
* // Returns [analyzeTokenPrompt, buyTokensPrompt, sellTokensPrompt, graduateTokenPrompt]
* const dexCommands = getPromptsByCategory('dex');
* // Returns [dexSwapPrompt]
* ```
*/
function getPromptsByCategory(category) {
switch (category) {
case 'trading':
return trading_js_1.tradingPrompts;
case 'portfolio':
return portfolio_js_1.portfolioPrompts;
case 'analysis':
return analysis_js_1.analysisPrompts;
case 'creation':
return create_token_js_1.creationPrompts;
case 'discovery':
return [...discover_tokens_js_1.discoveryPrompts, ...explore_dex_pools_js_1.exploreDexPoolsPrompts];
case 'dex':
return dex_trading_js_1.dexTradingPrompts;
case 'liquidity':
return liquidity_positions_js_1.liquidityPositionPrompts;
case 'monitoring':
return monitoring_js_1.monitoringPrompts;
case 'utility':
return utility_js_1.utilityPrompts;
case 'bridge':
return bridge_js_1.bridgePrompts;
default:
return [];
}
}
/**
* Get prompt count
*
* @returns Total number of registered prompts
*
* @example
* ```typescript
* console.log(`Total prompts: ${getPromptCount()}`); // Total prompts: 101
* ```
*/
function getPromptCount() {
return promptMap.size;
}
//# sourceMappingURL=index.js.map