@gala-chain/launchpad-mcp-server 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +128 -0
  2. package/dist/constants/mcpToolNames.d.ts +159 -0
  3. package/dist/constants/mcpToolNames.d.ts.map +1 -0
  4. package/dist/constants/mcpToolNames.js +131 -0
  5. package/dist/constants/mcpToolNames.js.map +1 -0
  6. package/dist/prompts/__tests__/promptStructure.test.d.ts +7 -0
  7. package/dist/prompts/__tests__/promptStructure.test.d.ts.map +1 -0
  8. package/dist/prompts/__tests__/promptStructure.test.js +106 -0
  9. package/dist/prompts/__tests__/promptStructure.test.js.map +1 -0
  10. package/dist/prompts/__tests__/registry.test.d.ts +7 -0
  11. package/dist/prompts/__tests__/registry.test.d.ts.map +1 -0
  12. package/dist/prompts/__tests__/registry.test.js +119 -0
  13. package/dist/prompts/__tests__/registry.test.js.map +1 -0
  14. package/dist/prompts/analysis.d.ts +31 -0
  15. package/dist/prompts/analysis.d.ts.map +1 -0
  16. package/dist/prompts/analysis.js +342 -0
  17. package/dist/prompts/analysis.js.map +1 -0
  18. package/dist/prompts/index.d.ts +83 -0
  19. package/dist/prompts/index.d.ts.map +1 -0
  20. package/dist/prompts/index.js +117 -0
  21. package/dist/prompts/index.js.map +1 -0
  22. package/dist/prompts/portfolio.d.ts +31 -0
  23. package/dist/prompts/portfolio.d.ts.map +1 -0
  24. package/dist/prompts/portfolio.js +233 -0
  25. package/dist/prompts/portfolio.js.map +1 -0
  26. package/dist/prompts/trading.d.ts +27 -0
  27. package/dist/prompts/trading.d.ts.map +1 -0
  28. package/dist/prompts/trading.js +179 -0
  29. package/dist/prompts/trading.js.map +1 -0
  30. package/dist/prompts/utils/workflowTemplates.d.ts +103 -0
  31. package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -0
  32. package/dist/prompts/utils/workflowTemplates.js +315 -0
  33. package/dist/prompts/utils/workflowTemplates.js.map +1 -0
  34. package/dist/server.d.ts +4 -0
  35. package/dist/server.d.ts.map +1 -1
  36. package/dist/server.js +51 -1
  37. package/dist/server.js.map +1 -1
  38. package/dist/types/mcp.d.ts +29 -0
  39. package/dist/types/mcp.d.ts.map +1 -1
  40. package/dist/utils/__tests__/validation.test.d.ts +7 -0
  41. package/dist/utils/__tests__/validation.test.d.ts.map +1 -0
  42. package/dist/utils/__tests__/validation.test.js +122 -0
  43. package/dist/utils/__tests__/validation.test.js.map +1 -0
  44. package/dist/utils/validation.d.ts +162 -0
  45. package/dist/utils/validation.d.ts.map +1 -0
  46. package/dist/utils/validation.js +276 -0
  47. package/dist/utils/validation.js.map +1 -0
  48. package/package.json +2 -2
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * Gala Launchpad MCP Prompts (Slash Commands)
4
+ *
5
+ * Provides user-friendly slash commands for common Launchpad workflows
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.analysisPrompts = exports.portfolioPrompts = exports.tradingPrompts = exports.prompts = void 0;
9
+ exports.getPrompt = getPrompt;
10
+ exports.getPromptNames = getPromptNames;
11
+ exports.hasPrompt = hasPrompt;
12
+ exports.getPromptsByCategory = getPromptsByCategory;
13
+ exports.getPromptCount = getPromptCount;
14
+ const trading_js_1 = require("./trading.js");
15
+ Object.defineProperty(exports, "tradingPrompts", { enumerable: true, get: function () { return trading_js_1.tradingPrompts; } });
16
+ const portfolio_js_1 = require("./portfolio.js");
17
+ Object.defineProperty(exports, "portfolioPrompts", { enumerable: true, get: function () { return portfolio_js_1.portfolioPrompts; } });
18
+ const analysis_js_1 = require("./analysis.js");
19
+ Object.defineProperty(exports, "analysisPrompts", { enumerable: true, get: function () { return analysis_js_1.analysisPrompts; } });
20
+ /**
21
+ * All available prompts
22
+ */
23
+ exports.prompts = [
24
+ ...trading_js_1.tradingPrompts,
25
+ ...portfolio_js_1.portfolioPrompts,
26
+ ...analysis_js_1.analysisPrompts,
27
+ ];
28
+ /**
29
+ * Optimized prompt registry using Map for O(1) lookups
30
+ * Improves performance for large prompt collections
31
+ */
32
+ const promptMap = new Map(exports.prompts.map((prompt) => [prompt.name, prompt]));
33
+ /**
34
+ * Get prompt by name (optimized with Map lookup)
35
+ *
36
+ * @param name - Prompt name (e.g., 'galachain-launchpad:analyze-token')
37
+ * @returns Prompt object or undefined if not found
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const prompt = getPrompt('galachain-launchpad:buy-tokens');
42
+ * if (prompt) {
43
+ * const messages = prompt.handler({ tokenName: 'anime', galaAmount: '100' });
44
+ * }
45
+ * ```
46
+ */
47
+ function getPrompt(name) {
48
+ return promptMap.get(name);
49
+ }
50
+ /**
51
+ * Get all prompt names
52
+ *
53
+ * @returns Array of all registered prompt names
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const names = getPromptNames();
58
+ * // ['galachain-launchpad:analyze-token', 'galachain-launchpad:buy-tokens', ...]
59
+ * ```
60
+ */
61
+ function getPromptNames() {
62
+ return Array.from(promptMap.keys());
63
+ }
64
+ /**
65
+ * Check if a prompt exists by name
66
+ *
67
+ * @param name - Prompt name to check
68
+ * @returns True if prompt exists, false otherwise
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * if (hasPrompt('galachain-launchpad:analyze-token')) {
73
+ * console.log('Prompt is available');
74
+ * }
75
+ * ```
76
+ */
77
+ function hasPrompt(name) {
78
+ return promptMap.has(name);
79
+ }
80
+ /**
81
+ * Get prompts by category
82
+ *
83
+ * @param category - Category name ('trading', 'portfolio', or 'analysis')
84
+ * @returns Array of prompts in the specified category
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const tradingCommands = getPromptsByCategory('trading');
89
+ * // Returns [analyzeTokenPrompt, buyTokensPrompt, sellTokensPrompt, graduateTokenPrompt]
90
+ * ```
91
+ */
92
+ function getPromptsByCategory(category) {
93
+ switch (category) {
94
+ case 'trading':
95
+ return trading_js_1.tradingPrompts;
96
+ case 'portfolio':
97
+ return portfolio_js_1.portfolioPrompts;
98
+ case 'analysis':
99
+ return analysis_js_1.analysisPrompts;
100
+ default:
101
+ return [];
102
+ }
103
+ }
104
+ /**
105
+ * Get prompt count
106
+ *
107
+ * @returns Total number of registered prompts
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * console.log(`Total prompts: ${getPromptCount()}`); // Total prompts: 14
112
+ * ```
113
+ */
114
+ function getPromptCount() {
115
+ return promptMap.size;
116
+ }
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAsCH,8BAEC;AAaD,wCAEC;AAeD,8BAEC;AAcD,oDAaC;AAYD,wCAEC;AA/GD,6CAA8C;AAoHrC,+FApHA,2BAAc,OAoHA;AAnHvB,iDAAkD;AAmHzB,iGAnHhB,+BAAgB,OAmHgB;AAlHzC,+CAAgD;AAkHL,gGAlHlC,6BAAe,OAkHkC;AA/G1D;;GAEG;AACU,QAAA,OAAO,GAAgB;IAClC,GAAG,2BAAc;IACjB,GAAG,+BAAgB;IACnB,GAAG,6BAAe;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,eAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,cAAc;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAClC,QAA8C;IAE9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,2BAAc,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,+BAAgB,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,6BAAe,CAAC;QACzB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc;IAC5B,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Portfolio Prompts
3
+ *
4
+ * Slash commands for portfolio management on Gala Launchpad
5
+ */
6
+ import type { MCPPrompt } from '../types/mcp.js';
7
+ /**
8
+ * Portfolio - Complete portfolio analysis
9
+ */
10
+ export declare const portfolioPrompt: MCPPrompt;
11
+ /**
12
+ * Tokens Held - List all token holdings
13
+ */
14
+ export declare const tokensHeldPrompt: MCPPrompt;
15
+ /**
16
+ * Tokens Created - Show tokens created by user
17
+ */
18
+ export declare const tokensCreatedPrompt: MCPPrompt;
19
+ /**
20
+ * Balance - Check GALA and specific token balances
21
+ */
22
+ export declare const balancePrompt: MCPPrompt;
23
+ /**
24
+ * Profile - Show user profile information
25
+ */
26
+ export declare const profilePrompt: MCPPrompt;
27
+ /**
28
+ * Export all portfolio prompts
29
+ */
30
+ export declare const portfolioPrompts: MCPPrompt[];
31
+ //# sourceMappingURL=portfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/prompts/portfolio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAY7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAiD9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAuDjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAgD3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAgC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,EAMvC,CAAC"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * Portfolio Prompts
4
+ *
5
+ * Slash commands for portfolio management on Gala Launchpad
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.portfolioPrompts = exports.profilePrompt = exports.balancePrompt = exports.tokensCreatedPrompt = exports.tokensHeldPrompt = exports.portfolioPrompt = void 0;
9
+ const mcpToolNames_js_1 = require("../constants/mcpToolNames.js");
10
+ const workflowTemplates_js_1 = require("./utils/workflowTemplates.js");
11
+ const validation_js_1 = require("../utils/validation.js");
12
+ /**
13
+ * Portfolio - Complete portfolio analysis
14
+ */
15
+ exports.portfolioPrompt = {
16
+ name: 'galachain-launchpad:portfolio',
17
+ description: 'Analyze complete portfolio with GALA balance, token holdings, and total USD value',
18
+ handler: () => [
19
+ {
20
+ role: 'user',
21
+ content: {
22
+ type: 'text',
23
+ text: (0, workflowTemplates_js_1.createPortfolioWorkflow)(),
24
+ },
25
+ },
26
+ ],
27
+ };
28
+ /**
29
+ * Tokens Held - List all token holdings
30
+ */
31
+ exports.tokensHeldPrompt = {
32
+ name: 'galachain-launchpad:tokens-held',
33
+ description: 'List all Launchpad tokens currently held with balances',
34
+ arguments: [
35
+ {
36
+ name: 'search',
37
+ description: 'Optional search filter for token names (fuzzy match)',
38
+ required: false,
39
+ },
40
+ {
41
+ name: 'limit',
42
+ description: 'Number of tokens to show (default: 20)',
43
+ required: false,
44
+ },
45
+ ],
46
+ handler: (args) => {
47
+ // Validate inputs
48
+ if (args.limit) {
49
+ (0, validation_js_1.validatePaginationLimit)(args.limit, 100);
50
+ }
51
+ const limit = args.limit || '20';
52
+ const searchFilter = args.search
53
+ ? `- search: "${args.search}" (fuzzy match filter)`
54
+ : '- No search filter (show all tokens)';
55
+ return [
56
+ {
57
+ role: 'user',
58
+ content: {
59
+ type: 'text',
60
+ text: `Show me all Launchpad tokens I'm currently holding:
61
+
62
+ Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_HELD} with:
63
+ ${searchFilter}
64
+ - limit: ${limit}
65
+
66
+ For each token, display:
67
+ - Token name
68
+ - Balance (formatted with decimals)
69
+ - Whether I created this token (if applicable)
70
+
71
+ Sort by balance (highest to lowest).
72
+
73
+ If I have more tokens than the limit, show pagination info and offer to fetch more.`,
74
+ },
75
+ },
76
+ ];
77
+ },
78
+ };
79
+ /**
80
+ * Tokens Created - Show tokens created by user
81
+ */
82
+ exports.tokensCreatedPrompt = {
83
+ name: 'galachain-launchpad:tokens-created',
84
+ description: 'List all Launchpad tokens created by the user with their current status',
85
+ arguments: [
86
+ {
87
+ name: 'search',
88
+ description: 'Optional search filter for token names (fuzzy match)',
89
+ required: false,
90
+ },
91
+ {
92
+ name: 'limit',
93
+ description: 'Number of tokens to show (default: 20)',
94
+ required: false,
95
+ },
96
+ ],
97
+ handler: (args) => {
98
+ // Validate inputs
99
+ if (args.limit) {
100
+ (0, validation_js_1.validatePaginationLimit)(args.limit, 100);
101
+ }
102
+ const limit = args.limit || '20';
103
+ const searchFilter = args.search
104
+ ? `- search: "${args.search}" (fuzzy match filter)`
105
+ : '- No search filter (show all tokens)';
106
+ return [
107
+ {
108
+ role: 'user',
109
+ content: {
110
+ type: 'text',
111
+ text: `Show me all Launchpad tokens I've created:
112
+
113
+ Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_CREATED} with:
114
+ ${searchFilter}
115
+ - limit: ${limit}
116
+
117
+ For each token, display:
118
+ - Token name and symbol
119
+ - Current status (check using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}):
120
+ * Pool status (Ongoing/Completed)
121
+ * Current supply
122
+ * Remaining tokens
123
+ * Progress percentage
124
+ - Whether graduated (use ${mcpToolNames_js_1.MCP_TOOLS.IS_TOKEN_GRADUATED})
125
+ - Frontend URL (use ${mcpToolNames_js_1.MCP_TOOLS.GET_URL_BY_TOKEN_NAME})
126
+
127
+ Provide a summary:
128
+ - Total tokens created
129
+ - How many are graduated
130
+ - How many are still in bonding curve phase`,
131
+ },
132
+ },
133
+ ];
134
+ },
135
+ };
136
+ /**
137
+ * Balance - Check GALA and specific token balances
138
+ */
139
+ exports.balancePrompt = {
140
+ name: 'galachain-launchpad:balance',
141
+ description: 'Check GALA balance and optionally a specific token balance',
142
+ arguments: [
143
+ {
144
+ name: 'tokenName',
145
+ description: 'Optional token name to check balance for (e.g., anime)',
146
+ required: false,
147
+ },
148
+ ],
149
+ handler: (args) => {
150
+ // Validate inputs
151
+ if (args.tokenName) {
152
+ (0, validation_js_1.validateTokenName)(args.tokenName);
153
+ }
154
+ return [
155
+ {
156
+ role: 'user',
157
+ content: {
158
+ type: 'text',
159
+ text: args.tokenName
160
+ ? `Check my balances:
161
+
162
+ 1. GALA balance using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_BALANCE}
163
+ 2. ${args.tokenName} token balance using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_BALANCE}
164
+ 3. Calculate USD values:
165
+ - GALA USD value using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_SPOT_PRICE}
166
+ - ${args.tokenName} USD value using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_LAUNCHPAD_TOKEN_SPOT_PRICE}
167
+
168
+ Display:
169
+ - GALA: [amount] ($[USD value])
170
+ - ${args.tokenName}: [amount] ($[USD value])
171
+ - Total value: $[combined USD value]`
172
+ : `Check my GALA balance:
173
+
174
+ Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_BALANCE} to get current GALA balance.
175
+ Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_SPOT_PRICE} to calculate USD value.
176
+
177
+ Display:
178
+ - GALA: [amount]
179
+ - USD value: $[calculated value]
180
+
181
+ Tip: Add tokenName argument to check a specific token balance.`,
182
+ },
183
+ },
184
+ ];
185
+ },
186
+ };
187
+ /**
188
+ * Profile - Show user profile information
189
+ */
190
+ exports.profilePrompt = {
191
+ name: 'galachain-launchpad:profile',
192
+ description: 'Show user profile information and activity summary',
193
+ handler: () => [
194
+ {
195
+ role: 'user',
196
+ content: {
197
+ type: 'text',
198
+ text: `Show my Gala Launchpad profile:
199
+
200
+ 1. Get profile info using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_PROFILE}
201
+ - Full name
202
+ - Profile image URL
203
+ - Wallet address
204
+
205
+ 2. Get activity summary:
206
+ - Tokens held count: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_HELD} (limit: 1) for total
207
+ - Tokens created count: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_CREATED} (limit: 1) for total
208
+
209
+ 3. Get wallet info:
210
+ - GalaChain address format: ${mcpToolNames_js_1.MCP_TOOLS.GET_ADDRESS}
211
+ - Ethereum address format: ${mcpToolNames_js_1.MCP_TOOLS.GET_ETHEREUM_ADDRESS}
212
+ - GALA balance: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_BALANCE}
213
+
214
+ Display:
215
+ - Profile details
216
+ - Activity metrics
217
+ - Wallet addresses
218
+ - Current balance`,
219
+ },
220
+ },
221
+ ],
222
+ };
223
+ /**
224
+ * Export all portfolio prompts
225
+ */
226
+ exports.portfolioPrompts = [
227
+ exports.portfolioPrompt,
228
+ exports.tokensHeldPrompt,
229
+ exports.tokensCreatedPrompt,
230
+ exports.balancePrompt,
231
+ exports.profilePrompt,
232
+ ];
233
+ //# sourceMappingURL=portfolio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/prompts/portfolio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Trading Prompts
3
+ *
4
+ * Slash commands for trading operations on Gala Launchpad
5
+ */
6
+ import type { MCPPrompt } from '../types/mcp.js';
7
+ /**
8
+ * Analyze Token - Complete token analysis workflow
9
+ */
10
+ export declare const analyzeTokenPrompt: MCPPrompt;
11
+ /**
12
+ * Buy Tokens - Guided token purchase workflow
13
+ */
14
+ export declare const buyTokensPrompt: MCPPrompt;
15
+ /**
16
+ * Sell Tokens - Guided token sale workflow
17
+ */
18
+ export declare const sellTokensPrompt: MCPPrompt;
19
+ /**
20
+ * Graduate Token - One-step graduation workflow
21
+ */
22
+ export declare const graduateTokenPrompt: MCPPrompt;
23
+ /**
24
+ * Export all trading prompts
25
+ */
26
+ export declare const tradingPrompts: MCPPrompt[];
27
+ //# sourceMappingURL=trading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading.d.ts","sourceRoot":"","sources":["../../src/prompts/trading.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAyBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SA4C7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA2C9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAqCjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAKrC,CAAC"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ /**
3
+ * Trading Prompts
4
+ *
5
+ * Slash commands for trading operations on Gala Launchpad
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.tradingPrompts = exports.graduateTokenPrompt = exports.sellTokensPrompt = exports.buyTokensPrompt = exports.analyzeTokenPrompt = void 0;
9
+ const workflowTemplates_js_1 = require("./utils/workflowTemplates.js");
10
+ const validation_js_1 = require("../utils/validation.js");
11
+ /**
12
+ * Analyze Token - Complete token analysis workflow
13
+ */
14
+ exports.analyzeTokenPrompt = {
15
+ name: 'galachain-launchpad:analyze-token',
16
+ description: 'Perform comprehensive analysis of a Launchpad token including pool details, spot price, and graduation cost',
17
+ arguments: [
18
+ {
19
+ name: 'tokenName',
20
+ description: 'Token name to analyze (e.g., anime, test216253)',
21
+ required: true,
22
+ },
23
+ ],
24
+ handler: (args) => {
25
+ // Validate inputs
26
+ (0, validation_js_1.validateTokenName)(args.tokenName);
27
+ return [
28
+ {
29
+ role: 'user',
30
+ content: {
31
+ type: 'text',
32
+ text: (0, workflowTemplates_js_1.createAnalysisWorkflow)(args.tokenName),
33
+ },
34
+ },
35
+ ];
36
+ },
37
+ };
38
+ /**
39
+ * Buy Tokens - Guided token purchase workflow
40
+ */
41
+ exports.buyTokensPrompt = {
42
+ name: 'galachain-launchpad:buy-tokens',
43
+ description: 'Guide user through buying tokens with slippage protection and cost breakdown',
44
+ arguments: [
45
+ {
46
+ name: 'tokenName',
47
+ description: 'Token to buy (e.g., anime)',
48
+ required: true,
49
+ },
50
+ {
51
+ name: 'galaAmount',
52
+ description: 'GALA amount to spend (e.g., 100)',
53
+ required: true,
54
+ },
55
+ {
56
+ name: 'slippage',
57
+ description: 'Slippage tolerance percentage (default: 1)',
58
+ required: false,
59
+ },
60
+ ],
61
+ handler: (args) => {
62
+ // Validate inputs
63
+ (0, validation_js_1.validateTokenName)(args.tokenName);
64
+ (0, validation_js_1.validateNumericAmount)(args.galaAmount, 'galaAmount');
65
+ if (args.slippage) {
66
+ (0, validation_js_1.validateSlippage)(args.slippage);
67
+ }
68
+ return [
69
+ {
70
+ role: 'user',
71
+ content: {
72
+ type: 'text',
73
+ text: (0, workflowTemplates_js_1.createTradingWorkflow)({
74
+ operation: 'buy',
75
+ tokenName: args.tokenName,
76
+ amount: args.galaAmount,
77
+ amountType: 'gala',
78
+ slippage: args.slippage || '1',
79
+ }),
80
+ },
81
+ },
82
+ ];
83
+ },
84
+ };
85
+ /**
86
+ * Sell Tokens - Guided token sale workflow
87
+ */
88
+ exports.sellTokensPrompt = {
89
+ name: 'galachain-launchpad:sell-tokens',
90
+ description: 'Guide user through selling tokens with slippage protection',
91
+ arguments: [
92
+ {
93
+ name: 'tokenName',
94
+ description: 'Token to sell (e.g., anime)',
95
+ required: true,
96
+ },
97
+ {
98
+ name: 'tokenAmount',
99
+ description: 'Token amount to sell (e.g., 1000)',
100
+ required: true,
101
+ },
102
+ {
103
+ name: 'slippage',
104
+ description: 'Slippage tolerance percentage (default: 1)',
105
+ required: false,
106
+ },
107
+ ],
108
+ handler: (args) => {
109
+ // Validate inputs
110
+ (0, validation_js_1.validateTokenName)(args.tokenName);
111
+ (0, validation_js_1.validateNumericAmount)(args.tokenAmount, 'tokenAmount');
112
+ if (args.slippage) {
113
+ (0, validation_js_1.validateSlippage)(args.slippage);
114
+ }
115
+ return [
116
+ {
117
+ role: 'user',
118
+ content: {
119
+ type: 'text',
120
+ text: (0, workflowTemplates_js_1.createTradingWorkflow)({
121
+ operation: 'sell',
122
+ tokenName: args.tokenName,
123
+ amount: args.tokenAmount,
124
+ slippage: args.slippage || '1',
125
+ }),
126
+ },
127
+ },
128
+ ];
129
+ },
130
+ };
131
+ /**
132
+ * Graduate Token - One-step graduation workflow
133
+ */
134
+ exports.graduateTokenPrompt = {
135
+ name: 'galachain-launchpad:graduate-token',
136
+ description: 'Graduate a bonding curve pool by buying all remaining tokens in one transaction',
137
+ arguments: [
138
+ {
139
+ name: 'tokenName',
140
+ description: 'Token to graduate (e.g., anime)',
141
+ required: true,
142
+ },
143
+ {
144
+ name: 'slippage',
145
+ description: 'Slippage tolerance percentage (default: 1)',
146
+ required: false,
147
+ },
148
+ ],
149
+ handler: (args) => {
150
+ // Validate inputs
151
+ (0, validation_js_1.validateTokenName)(args.tokenName);
152
+ if (args.slippage) {
153
+ (0, validation_js_1.validateSlippage)(args.slippage);
154
+ }
155
+ return [
156
+ {
157
+ role: 'user',
158
+ content: {
159
+ type: 'text',
160
+ text: (0, workflowTemplates_js_1.createTradingWorkflow)({
161
+ operation: 'graduate',
162
+ tokenName: args.tokenName,
163
+ slippage: args.slippage || '1',
164
+ }),
165
+ },
166
+ },
167
+ ];
168
+ },
169
+ };
170
+ /**
171
+ * Export all trading prompts
172
+ */
173
+ exports.tradingPrompts = [
174
+ exports.analyzeTokenPrompt,
175
+ exports.buyTokensPrompt,
176
+ exports.sellTokensPrompt,
177
+ exports.graduateTokenPrompt,
178
+ ];
179
+ //# sourceMappingURL=trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/prompts/trading.ts"],"names":[],"mappings":"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"}