@gala-chain/launchpad-mcp-server 1.23.0 → 1.23.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.
Files changed (131) hide show
  1. package/DRY_REFACTORING_GUIDE.md +272 -0
  2. package/dist/generated/version.d.ts +1 -1
  3. package/dist/generated/version.js +1 -1
  4. package/dist/prompts/analysis.d.ts.map +1 -1
  5. package/dist/prompts/analysis.js +14 -63
  6. package/dist/prompts/analysis.js.map +1 -1
  7. package/dist/prompts/balances.d.ts.map +1 -1
  8. package/dist/prompts/balances.js +46 -70
  9. package/dist/prompts/balances.js.map +1 -1
  10. package/dist/prompts/creation-utils.d.ts.map +1 -1
  11. package/dist/prompts/creation-utils.js +27 -50
  12. package/dist/prompts/creation-utils.js.map +1 -1
  13. package/dist/prompts/liquidity-positions.d.ts.map +1 -1
  14. package/dist/prompts/liquidity-positions.js +9 -44
  15. package/dist/prompts/liquidity-positions.js.map +1 -1
  16. package/dist/prompts/pools.d.ts.map +1 -1
  17. package/dist/prompts/pools.js +125 -228
  18. package/dist/prompts/pools.js.map +1 -1
  19. package/dist/prompts/portfolio.d.ts.map +1 -1
  20. package/dist/prompts/portfolio.js +13 -48
  21. package/dist/prompts/portfolio.js.map +1 -1
  22. package/dist/prompts/social.d.ts.map +1 -1
  23. package/dist/prompts/social.js +21 -31
  24. package/dist/prompts/social.js.map +1 -1
  25. package/dist/prompts/trading-calculations.d.ts.map +1 -1
  26. package/dist/prompts/trading-calculations.js +37 -126
  27. package/dist/prompts/trading-calculations.js.map +1 -1
  28. package/dist/prompts/trading.d.ts.map +1 -1
  29. package/dist/prompts/trading.js +23 -60
  30. package/dist/prompts/trading.js.map +1 -1
  31. package/dist/prompts/transfers.d.ts.map +1 -1
  32. package/dist/prompts/transfers.js +21 -31
  33. package/dist/prompts/transfers.js.map +1 -1
  34. package/dist/prompts/utility-tools.d.ts.map +1 -1
  35. package/dist/prompts/utility-tools.js +83 -202
  36. package/dist/prompts/utility-tools.js.map +1 -1
  37. package/dist/prompts/utility.d.ts.map +1 -1
  38. package/dist/prompts/utility.js +5 -20
  39. package/dist/prompts/utility.js.map +1 -1
  40. package/dist/prompts/utils/handlerHelpers.d.ts +35 -0
  41. package/dist/prompts/utils/handlerHelpers.d.ts.map +1 -0
  42. package/dist/prompts/utils/handlerHelpers.js +53 -0
  43. package/dist/prompts/utils/handlerHelpers.js.map +1 -0
  44. package/dist/prompts/utils/textTemplates.d.ts +42 -0
  45. package/dist/prompts/utils/textTemplates.d.ts.map +1 -0
  46. package/dist/prompts/utils/textTemplates.js +51 -0
  47. package/dist/prompts/utils/textTemplates.js.map +1 -0
  48. package/dist/utils/validation.d.ts +38 -0
  49. package/dist/utils/validation.d.ts.map +1 -1
  50. package/dist/utils/validation.js +52 -0
  51. package/dist/utils/validation.js.map +1 -1
  52. package/package.json +2 -2
  53. package/docs/AI-AGENT-PATTERNS.md +0 -555
  54. package/docs/CONSTRAINTS-REFERENCE.md +0 -454
  55. package/docs/PROMPT-TOOL-MAPPING.md +0 -352
  56. package/docs/examples/default-values-pattern.md +0 -240
  57. package/docs/examples/tool-factory-pattern.md +0 -217
  58. package/jest.config.js +0 -94
  59. package/src/__tests__/integration/fetchTokenDetails.integration.test.ts +0 -258
  60. package/src/__tests__/integration/poolTools.integration.test.ts +0 -185
  61. package/src/__tests__/server.test.ts +0 -256
  62. package/src/constants/mcpToolNames.ts +0 -181
  63. package/src/index.ts +0 -19
  64. package/src/prompts/__tests__/promptStructure.test.ts +0 -137
  65. package/src/prompts/__tests__/registry.test.ts +0 -359
  66. package/src/prompts/analysis.ts +0 -429
  67. package/src/prompts/balances.ts +0 -198
  68. package/src/prompts/create-token.ts +0 -123
  69. package/src/prompts/creation-utils.ts +0 -118
  70. package/src/prompts/dex-trading.ts +0 -86
  71. package/src/prompts/discover-tokens.ts +0 -86
  72. package/src/prompts/index.ts +0 -175
  73. package/src/prompts/liquidity-positions.ts +0 -270
  74. package/src/prompts/pools.ts +0 -571
  75. package/src/prompts/portfolio.ts +0 -242
  76. package/src/prompts/social.ts +0 -100
  77. package/src/prompts/trading-calculations.ts +0 -499
  78. package/src/prompts/trading.ts +0 -191
  79. package/src/prompts/transfers.ts +0 -103
  80. package/src/prompts/utility-tools.ts +0 -349
  81. package/src/prompts/utility.ts +0 -92
  82. package/src/prompts/utils/workflowTemplates.ts +0 -511
  83. package/src/schemas/common-schemas.ts +0 -393
  84. package/src/scripts/test-all-prompts.ts +0 -184
  85. package/src/server.ts +0 -367
  86. package/src/tools/__tests__/dex-tools.test.ts +0 -562
  87. package/src/tools/__tests__/liquidity-positions.test.ts +0 -673
  88. package/src/tools/balance/index.ts +0 -174
  89. package/src/tools/creation/index.ts +0 -182
  90. package/src/tools/dex/index.ts +0 -226
  91. package/src/tools/dex/liquidity-positions.ts +0 -547
  92. package/src/tools/index.ts +0 -94
  93. package/src/tools/pools/fetchAllPools.ts +0 -47
  94. package/src/tools/pools/fetchAllPriceHistory.ts +0 -119
  95. package/src/tools/pools/fetchPoolDetails.ts +0 -27
  96. package/src/tools/pools/fetchPoolDetailsForCalculation.ts +0 -22
  97. package/src/tools/pools/fetchPools.ts +0 -47
  98. package/src/tools/pools/fetchPriceHistory.ts +0 -124
  99. package/src/tools/pools/fetchTokenDetails.ts +0 -77
  100. package/src/tools/pools/index.ts +0 -284
  101. package/src/tools/social/index.ts +0 -64
  102. package/src/tools/trading/index.ts +0 -605
  103. package/src/tools/transfers/index.ts +0 -75
  104. package/src/tools/utils/clearCache.ts +0 -36
  105. package/src/tools/utils/createWallet.ts +0 -19
  106. package/src/tools/utils/explainSdkUsage.ts +0 -1446
  107. package/src/tools/utils/getAddress.ts +0 -12
  108. package/src/tools/utils/getCacheInfo.ts +0 -14
  109. package/src/tools/utils/getConfig.ts +0 -21
  110. package/src/tools/utils/getEnvironment.ts +0 -17
  111. package/src/tools/utils/getEthereumAddress.ts +0 -12
  112. package/src/tools/utils/getUrlByTokenName.ts +0 -12
  113. package/src/tools/utils/getVersion.ts +0 -25
  114. package/src/tools/utils/getWallet.ts +0 -25
  115. package/src/tools/utils/hasWallet.ts +0 -15
  116. package/src/tools/utils/index.ts +0 -37
  117. package/src/tools/utils/isTokenGraduated.ts +0 -16
  118. package/src/tools/utils/setWallet.ts +0 -41
  119. package/src/tools/utils/switchEnvironment.ts +0 -28
  120. package/src/types/mcp.ts +0 -72
  121. package/src/utils/__tests__/validation.test.ts +0 -147
  122. package/src/utils/constraints.ts +0 -155
  123. package/src/utils/default-values.ts +0 -208
  124. package/src/utils/error-handler.ts +0 -69
  125. package/src/utils/error-templates.ts +0 -273
  126. package/src/utils/response-formatter.ts +0 -51
  127. package/src/utils/tool-factory.ts +0 -303
  128. package/src/utils/tool-registry.ts +0 -296
  129. package/src/utils/validation.ts +0 -371
  130. package/tests/wallet-management-integration.test.ts +0 -284
  131. package/tsconfig.json +0 -23
@@ -0,0 +1,272 @@
1
+ # DRY Refactoring Guide for MCP Server Prompts
2
+
3
+ This guide documents the DRY (Don't Repeat Yourself) refactoring improvements made to the MCP server codebase.
4
+
5
+ ## Overview
6
+
7
+ The refactoring reduces code duplication across 72 prompt handlers by introducing reusable utilities while maintaining 100% API compatibility.
8
+
9
+ **Potential Impact:** ~526 LOC reduction with zero breaking changes
10
+
11
+ ## Utility Files Created
12
+
13
+ ### 1. `src/prompts/utils/handlerHelpers.ts`
14
+
15
+ Provides reusable helpers for creating standardized MCP prompt handlers.
16
+
17
+ **Functions:**
18
+ - `createPromptResponse(text: string)` - Creates a standard MCP message response
19
+ - `createValidatedHandler<T>(validator, textGenerator)` - Creates a handler with validation + response generation
20
+
21
+ **Benefit:** Eliminates ~360 lines of boilerplate (5 lines per handler × 72 handlers)
22
+
23
+ ### 2. `src/prompts/utils/textTemplates.ts`
24
+
25
+ Provides template generators for common prompt patterns.
26
+
27
+ **Functions:**
28
+ - `createSimpleOperationText(config)` - Generates text for simple operation prompts following standard format
29
+
30
+ **Benefit:** Eliminates ~120 lines of template code (~3 lines per simple prompt × 40 prompts)
31
+
32
+ ### 3. Updated `src/utils/validation.ts`
33
+
34
+ Added optional validation convenience wrappers.
35
+
36
+ **New Functions:**
37
+ - `validateOptional<T>(value, validator)` - Generic optional field validator
38
+ - `validateOptionalSlippage(slippage?)` - Optional slippage validation
39
+ - `validateOptionalLimit(limit?, max)` - Optional limit validation
40
+ - `validateOptionalAddress(address?)` - Optional address validation
41
+
42
+ **Benefit:** Eliminates ~46 lines of conditional validation (2 lines × 23 instances)
43
+
44
+ ## Refactoring Patterns
45
+
46
+ ### Pattern 1: Standardized Handler Response
47
+
48
+ **Before:**
49
+ ```typescript
50
+ handler: (args) => {
51
+ validateTokenName(args.tokenName);
52
+ return [
53
+ {
54
+ role: 'user',
55
+ content: {
56
+ type: 'text',
57
+ text: `Fetch token ${args.tokenName}...`,
58
+ },
59
+ },
60
+ ];
61
+ }
62
+ ```
63
+
64
+ **After:**
65
+ ```typescript
66
+ import { createPromptResponse } from './utils/handlerHelpers.js';
67
+
68
+ handler: (args) => {
69
+ validateTokenName(args.tokenName);
70
+ return createPromptResponse(`Fetch token ${args.tokenName}...`);
71
+ }
72
+ ```
73
+
74
+ **Where to Apply:**
75
+ - All 72 prompt handlers across all prompt files
76
+ - Any prompt file in `src/prompts/*.ts`
77
+
78
+ ### Pattern 2: Optional Validation
79
+
80
+ **Before:**
81
+ ```typescript
82
+ if (args.slippage) {
83
+ validateSlippage(args.slippage);
84
+ }
85
+
86
+ if (args.limit) {
87
+ validatePaginationLimit(args.limit, 100);
88
+ }
89
+
90
+ if (args.address) {
91
+ validateAddress(args.address);
92
+ }
93
+ ```
94
+
95
+ **After:**
96
+ ```typescript
97
+ import { validateOptionalSlippage, validateOptionalLimit, validateOptionalAddress } from '../utils/validation.js';
98
+
99
+ validateOptionalSlippage(args.slippage);
100
+ validateOptionalLimit(args.limit, 100);
101
+ validateOptionalAddress(args.address);
102
+ ```
103
+
104
+ **Where to Apply:**
105
+ - `trading.ts` - 6 slippage validations
106
+ - `portfolio.ts` - 3 limit validations
107
+ - `analysis.ts` - 4 limit validations, 3 tokenName optional checks
108
+ - `balances.ts` - 4 address validations
109
+ - Other prompt files with optional parameters
110
+
111
+ ### Pattern 3: Simple Operation Text Templates
112
+
113
+ **Before:**
114
+ ```typescript
115
+ text: `Fetch GALA balance for wallet.
116
+
117
+ ${args.address ? `Address: ${args.address}` : 'Using default wallet'}
118
+
119
+ Use ${MCP_TOOLS.FETCH_GALA_BALANCE} to retrieve the GALA balance.
120
+
121
+ Display the balance in a clear format.`
122
+ ```
123
+
124
+ **After:**
125
+ ```typescript
126
+ import { createSimpleOperationText } from './utils/textTemplates.js';
127
+
128
+ text: createSimpleOperationText({
129
+ operation: 'Fetch GALA balance for wallet.',
130
+ parameters: {
131
+ address: args.address ? `Address: ${args.address}` : 'Using default wallet'
132
+ },
133
+ toolName: MCP_TOOLS.FETCH_GALA_BALANCE,
134
+ actionDescription: 'retrieve the GALA balance',
135
+ displayFormat: 'Display the balance in a clear format.'
136
+ })
137
+ ```
138
+
139
+ **Where to Apply:**
140
+ - All 40+ simple operation prompts across prompt files
141
+ - Prompts that follow the operation → parameters → tool usage → display format structure
142
+
143
+ ## Implementation Checklist
144
+
145
+ ### Phase 1: Handler Boilerplate (Highest Priority)
146
+ - [ ] Update all imports in prompt files to include `createPromptResponse`
147
+ - [ ] Replace all `return [{ role: 'user', content: { type: 'text', text: ... } }]` with `return createPromptResponse(...)`
148
+ - [ ] Files to update:
149
+ - [ ] `pools.ts` (14 handlers)
150
+ - [ ] `trading-calculations.ts` (11 handlers)
151
+ - [ ] `balances.ts` (4 handlers)
152
+ - [ ] `creation-utils.ts` (3 handlers)
153
+ - [ ] `social.ts` (2 handlers)
154
+ - [ ] `transfers.ts` (2 handlers)
155
+ - [ ] `utility-tools.ts` (12 handlers)
156
+ - [ ] All other prompt files (existing, not listed)
157
+
158
+ ### Phase 2: Optional Validation (High Priority)
159
+ - [ ] Update imports in prompt files
160
+ - [ ] Replace conditional validation patterns with new optional validators
161
+ - [ ] High-impact files:
162
+ - [ ] `trading.ts` (6 instances)
163
+ - [ ] `portfolio.ts` (7 instances)
164
+ - [ ] `analysis.ts` (7 instances)
165
+ - [ ] `balances.ts` (4 instances)
166
+
167
+ ### Phase 3: Text Templates (Medium Priority)
168
+ - [ ] Identify all simple operation prompts
169
+ - [ ] Update imports
170
+ - [ ] Replace template code with `createSimpleOperationText()`
171
+ - [ ] Estimated 40 prompts across multiple files
172
+
173
+ ### Phase 4: Verification
174
+ - [ ] Run TypeScript compilation: `npx tsc --noEmit`
175
+ - [ ] Run tests: `npm test`
176
+ - [ ] Run linting: `npm run lint`
177
+ - [ ] Verify no regression in test count (should remain 1401+ passing)
178
+ - [ ] Verify all prompts produce identical output
179
+
180
+ ## Code Sample: Complete Refactored Handler
181
+
182
+ ### Before:
183
+ ```typescript
184
+ export const fetchGalaSpotPricePrompt: MCPPrompt = {
185
+ name: 'galachain-launchpad:fetch-gala-spot-price',
186
+ description: 'Fetch current GALA USD spot price',
187
+ handler: () => {
188
+ return [
189
+ {
190
+ role: 'user',
191
+ content: {
192
+ type: 'text',
193
+ text: `Fetch the current GALA USD spot price.
194
+
195
+ Use ${MCP_TOOLS.FETCH_GALA_SPOT_PRICE} to get the latest GALA price in USD.
196
+
197
+ Display the price in a clear format.`,
198
+ },
199
+ },
200
+ ];
201
+ },
202
+ };
203
+ ```
204
+
205
+ ### After:
206
+ ```typescript
207
+ import { createPromptResponse } from './utils/handlerHelpers.js';
208
+ import { createSimpleOperationText } from './utils/textTemplates.js';
209
+
210
+ export const fetchGalaSpotPricePrompt: MCPPrompt = {
211
+ name: 'galachain-launchpad:fetch-gala-spot-price',
212
+ description: 'Fetch current GALA USD spot price',
213
+ handler: () =>
214
+ createPromptResponse(
215
+ createSimpleOperationText({
216
+ operation: 'Fetch the current GALA USD spot price.',
217
+ toolName: MCP_TOOLS.FETCH_GALA_SPOT_PRICE,
218
+ actionDescription: 'get the latest GALA price in USD',
219
+ displayFormat: 'Display the price in a clear format.'
220
+ })
221
+ ),
222
+ };
223
+ ```
224
+
225
+ ## Benefits
226
+
227
+ | Aspect | Benefit |
228
+ |--------|---------|
229
+ | **Maintainability** | Single point of change for response structure, validation logic, and text formatting |
230
+ | **Consistency** | All prompts follow identical patterns, easier to understand and predict behavior |
231
+ | **Testability** | Utility functions can be tested independently |
232
+ | **Scalability** | Adding new prompts is faster and less error-prone |
233
+ | **LOC Reduction** | ~526 lines of boilerplate eliminated |
234
+ | **API Compatibility** | Zero breaking changes, 100% backward compatible |
235
+
236
+ ## Testing Strategy
237
+
238
+ 1. **Unit Tests:** Add tests for utility functions if not present
239
+ 2. **Integration Tests:** Verify all 72 prompts still produce identical output
240
+ 3. **Regression Tests:** Ensure no prompt behavior changes
241
+ 4. **Type Safety:** Full TypeScript compilation with strict checks
242
+
243
+ ## Timeline
244
+
245
+ - **Phase 1 (Handler Boilerplate):** ~1 hour (72 handlers, mechanical change)
246
+ - **Phase 2 (Optional Validation):** ~30 minutes (23 instances)
247
+ - **Phase 3 (Text Templates):** ~45 minutes (40 prompts)
248
+ - **Phase 4 (Testing/Verification):** ~15 minutes
249
+ - **Total:** ~2.5 hours for complete refactoring
250
+
251
+ ## Risk Assessment
252
+
253
+ | Phase | Risk | Mitigation |
254
+ |-------|------|-----------|
255
+ | 1 | **LOW** | Pure mechanical change, output unchanged | Full test coverage |
256
+ | 2 | **LOW** | Logic preservation via wrappers | Verify validation behavior |
257
+ | 3 | **LOW** | Template-based generation | Compare output strings |
258
+ | Overall | **LOW** | No API changes, well-tested utilities | Comprehensive testing |
259
+
260
+ ## Notes
261
+
262
+ - All changes are internal implementation details
263
+ - No MCP tool signatures change
264
+ - All changes follow DRY principle without adding unnecessary complexity
265
+ - Utilities are properly documented with JSDoc comments
266
+ - Both new utility files include comprehensive examples
267
+
268
+ ## See Also
269
+
270
+ - `src/prompts/utils/handlerHelpers.ts` - Handler utilities
271
+ - `src/prompts/utils/textTemplates.ts` - Template utilities
272
+ - `src/utils/validation.ts` - Validation utilities (updated)
@@ -3,5 +3,5 @@
3
3
  * This file is generated by scripts/inject-version.ts during build
4
4
  * DO NOT EDIT MANUALLY
5
5
  */
6
- export declare const MCP_SERVER_VERSION = "1.23.0";
6
+ export declare const MCP_SERVER_VERSION = "1.23.1";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -6,5 +6,5 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.MCP_SERVER_VERSION = void 0;
9
- exports.MCP_SERVER_VERSION = '1.23.0';
9
+ exports.MCP_SERVER_VERSION = '1.23.1';
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAkEjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAsDpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA8C9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAiE/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SA4EhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAuEjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAOtC,CAAC"}
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA0DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SA8CpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAsC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAyD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAkEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA+DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAOtC,CAAC"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.analysisPrompts = exports.fetchAllPoolsPrompt = exports.tradeHistoryPrompt = exports.poolDetailsPrompt = exports.spotPricesPrompt = exports.graduationStatusPrompt = exports.compareTokensPrompt = void 0;
9
9
  const mcpToolNames_js_1 = require("../constants/mcpToolNames.js");
10
10
  const validation_js_1 = require("../utils/validation.js");
11
+ const handlerHelpers_js_1 = require("./utils/handlerHelpers.js");
11
12
  /**
12
13
  * Compare Tokens - Side-by-side comparison
13
14
  */
@@ -30,12 +31,7 @@ exports.compareTokensPrompt = {
30
31
  // Validate inputs
31
32
  (0, validation_js_1.validateTokenName)(args.token1, 'token1');
32
33
  (0, validation_js_1.validateTokenName)(args.token2, 'token2');
33
- return [
34
- {
35
- role: 'user',
36
- content: {
37
- type: 'text',
38
- text: `Compare two Launchpad tokens side-by-side:
34
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Compare two Launchpad tokens side-by-side:
39
35
 
40
36
  Token 1: ${args.token1}
41
37
  Token 2: ${args.token2}
@@ -71,10 +67,7 @@ Provide analysis:
71
67
  - Which token is closer to graduation?
72
68
  - Which has better liquidity?
73
69
  - Which might be a better investment and why?
74
- - Any notable badges or achievements?`,
75
- },
76
- },
77
- ];
70
+ - Any notable badges or achievements?`);
78
71
  },
79
72
  };
80
73
  /**
@@ -93,12 +86,7 @@ exports.graduationStatusPrompt = {
93
86
  handler: (args) => {
94
87
  // Validate inputs
95
88
  const tokenArray = (0, validation_js_1.validateTokenList)(args.tokens);
96
- return [
97
- {
98
- role: 'user',
99
- content: {
100
- type: 'text',
101
- text: `Check graduation status for multiple tokens:
89
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Check graduation status for multiple tokens:
102
90
 
103
91
  Tokens: ${args.tokens}
104
92
 
@@ -128,10 +116,7 @@ Summary:
128
116
 
129
117
  Provide recommendations:
130
118
  - Which tokens are good graduation opportunities?
131
- - Which tokens might be undervalued?`,
132
- },
133
- },
134
- ];
119
+ - Which tokens might be undervalued?`);
135
120
  },
136
121
  };
137
122
  /**
@@ -150,12 +135,7 @@ exports.spotPricesPrompt = {
150
135
  handler: (args) => {
151
136
  // Validate inputs
152
137
  (0, validation_js_1.validateTokenList)(args.tokens);
153
- return [
154
- {
155
- role: 'user',
156
- content: {
157
- type: 'text',
158
- text: `Get spot prices for multiple Launchpad tokens:
138
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Get spot prices for multiple Launchpad tokens:
159
139
 
160
140
  Tokens: ${args.tokens}
161
141
 
@@ -177,10 +157,7 @@ Present results:
177
157
 
178
158
  Performance note: Using LOCAL calculations - instant results with <0.01% difference from external!
179
159
 
180
- Sort by USD price (highest to lowest).`,
181
- },
182
- },
183
- ];
160
+ Sort by USD price (highest to lowest).`);
184
161
  },
185
162
  };
186
163
  /**
@@ -199,12 +176,7 @@ exports.poolDetailsPrompt = {
199
176
  handler: (args) => {
200
177
  // Validate inputs
201
178
  (0, validation_js_1.validateTokenName)(args.tokenName);
202
- return [
203
- {
204
- role: 'user',
205
- content: {
206
- type: 'text',
207
- text: `Get comprehensive pool information for "${args.tokenName}":
179
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Get comprehensive pool information for "${args.tokenName}":
208
180
 
209
181
  1. Full pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}
210
182
  2. Token distribution: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_DISTRIBUTION}
@@ -245,10 +217,7 @@ Display organized sections:
245
217
  **Reverse Bonding Curve:**
246
218
  - Max fee factor
247
219
  - Min fee factor
248
- - Current fee structure`,
249
- },
250
- },
251
- ];
220
+ - Current fee structure`);
252
221
  },
253
222
  };
254
223
  /**
@@ -284,19 +253,12 @@ exports.tradeHistoryPrompt = {
284
253
  if (args.tokenName) {
285
254
  (0, validation_js_1.validateTokenName)(args.tokenName);
286
255
  }
287
- if (args.limit) {
288
- (0, validation_js_1.validatePaginationLimit)(args.limit, 20);
289
- }
256
+ (0, validation_js_1.validateOptionalLimit)(args.limit, 20);
290
257
  if (args.tradeType && args.tradeType !== 'BUY' && args.tradeType !== 'SELL') {
291
258
  throw new Error('tradeType must be either BUY or SELL');
292
259
  }
293
260
  const limit = args.limit || '20';
294
- return [
295
- {
296
- role: 'user',
297
- content: {
298
- type: 'text',
299
- text: `Show recent trade history:
261
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Show recent trade history:
300
262
 
301
263
  ${args.tokenName ? `Token: ${args.tokenName}` : 'All tokens'}
302
264
  ${args.userAddress ? `User: ${args.userAddress}` : 'All users'}
@@ -323,10 +285,7 @@ Calculate summary:
323
285
  - Total trades shown
324
286
  - Total volume (GALA)
325
287
  - Average trade size
326
- - Buy vs Sell ratio (if not filtered)`,
327
- },
328
- },
329
- ];
288
+ - Buy vs Sell ratio (if not filtered)`);
330
289
  },
331
290
  };
332
291
  /**
@@ -356,12 +315,7 @@ exports.fetchAllPoolsPrompt = {
356
315
  ? `- search: "${args.search}" (fuzzy match filter)`
357
316
  : '- No search filter';
358
317
  const typeFilter = args.type ? args.type : 'recent';
359
- return [
360
- {
361
- role: 'user',
362
- content: {
363
- type: 'text',
364
- text: `Fetch ALL available Launchpad pools with automatic pagination:
318
+ return (0, handlerHelpers_js_1.createPromptResponse)(`Fetch ALL available Launchpad pools with automatic pagination:
365
319
 
366
320
  Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_ALL_POOLS} with:
367
321
  ${searchFilter}
@@ -396,10 +350,7 @@ Performance note:
396
350
  - Automatic cache warming for token metadata
397
351
  - Much faster than manual pagination!
398
352
 
399
- Sort pools by creation date (newest first) or progress (closest to graduation first).`,
400
- },
401
- },
402
- ];
353
+ Sort pools by creation date (newest first) or progress (closest to graduation first).`);
403
354
  },
404
355
  };
405
356
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SA+BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAmCrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAqDtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA2CjC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAKrC,CAAC"}
1
+ {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAyBpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SA+BrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAiDtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAuCjC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAKrC,CAAC"}
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.balancePrompts = exports.updateProfilePrompt = exports.fetchTokensCreatedPrompt = exports.fetchTokenBalancePrompt = exports.fetchGalaBalancePrompt = void 0;
9
9
  const mcpToolNames_js_1 = require("../constants/mcpToolNames.js");
10
10
  const validation_js_1 = require("../utils/validation.js");
11
+ const handlerHelpers_js_1 = require("./utils/handlerHelpers.js");
12
+ const textTemplates_js_1 = require("./utils/textTemplates.js");
11
13
  /**
12
14
  * Fetch GALA Balance - GALA balance query
13
15
  */
@@ -22,24 +24,16 @@ exports.fetchGalaBalancePrompt = {
22
24
  },
23
25
  ],
24
26
  handler: (args) => {
25
- if (args.address) {
26
- (0, validation_js_1.validateAddress)(args.address);
27
- }
28
- return [
29
- {
30
- role: 'user',
31
- content: {
32
- type: 'text',
33
- text: `Get GALA balance for wallet.
34
-
35
- ${args.address ? `Address: ${args.address}` : 'Using default wallet'}
36
-
37
- Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_BALANCE} to retrieve the GALA balance.
38
-
39
- Display the balance in a clear format.`,
40
- },
41
- },
42
- ];
27
+ (0, validation_js_1.validateOptionalAddress)(args.address);
28
+ return (0, handlerHelpers_js_1.createPromptResponse)((0, textTemplates_js_1.createSimpleOperationText)({
29
+ operation: 'Get GALA balance for wallet.',
30
+ parameters: args.address
31
+ ? { address: `Address: ${args.address}` }
32
+ : { wallet: 'Using default wallet' },
33
+ toolName: mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_BALANCE,
34
+ actionDescription: 'retrieve the GALA balance',
35
+ displayFormat: 'Display the balance in a clear format.',
36
+ }));
43
37
  },
44
38
  };
45
39
  /**
@@ -62,22 +56,16 @@ exports.fetchTokenBalancePrompt = {
62
56
  ],
63
57
  handler: (args) => {
64
58
  (0, validation_js_1.validateAddress)(args.address);
65
- return [
66
- {
67
- role: 'user',
68
- content: {
69
- type: 'text',
70
- text: `Get balance for specific token.
71
-
72
- Token: ${args.tokenName}
73
- Address: ${args.address}
74
-
75
- Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_BALANCE} to retrieve the token balance.
76
-
77
- Display the balance with token details.`,
78
- },
59
+ return (0, handlerHelpers_js_1.createPromptResponse)((0, textTemplates_js_1.createSimpleOperationText)({
60
+ operation: 'Get balance for specific token.',
61
+ parameters: {
62
+ token: `Token: ${args.tokenName}`,
63
+ address: `Address: ${args.address}`,
79
64
  },
80
- ];
65
+ toolName: mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_BALANCE,
66
+ actionDescription: 'retrieve the token balance',
67
+ displayFormat: 'Display the balance with token details.',
68
+ }));
81
69
  },
82
70
  };
83
71
  /**
@@ -115,25 +103,19 @@ exports.fetchTokensCreatedPrompt = {
115
103
  ],
116
104
  handler: (args) => {
117
105
  (0, validation_js_1.validateAddress)(args.address);
118
- return [
119
- {
120
- role: 'user',
121
- content: {
122
- type: 'text',
123
- text: `Get tokens created by wallet.
124
-
125
- Address: ${args.address}
126
- Page: ${args.page || 1}
127
- Limit: ${args.limit || 20}
128
- ${args.tokenName ? `Token Name Filter: ${args.tokenName}` : ''}
129
- ${args.search ? `Search Filter: ${args.search}` : ''}
130
-
131
- Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_CREATED} to retrieve created tokens.
132
-
133
- Display the list of tokens created by this wallet.`,
134
- },
106
+ return (0, handlerHelpers_js_1.createPromptResponse)((0, textTemplates_js_1.createSimpleOperationText)({
107
+ operation: 'Get tokens created by wallet.',
108
+ parameters: {
109
+ address: `Address: ${args.address}`,
110
+ page: `Page: ${args.page || 1}`,
111
+ limit: `Limit: ${args.limit || 20}`,
112
+ ...(args.tokenName && { tokenFilter: `Token Name Filter: ${args.tokenName}` }),
113
+ ...(args.search && { searchFilter: `Search Filter: ${args.search}` }),
135
114
  },
136
- ];
115
+ toolName: mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKENS_CREATED,
116
+ actionDescription: 'retrieve created tokens',
117
+ displayFormat: 'Display the list of tokens created by this wallet.',
118
+ }));
137
119
  },
138
120
  };
139
121
  /**
@@ -160,26 +142,20 @@ exports.updateProfilePrompt = {
160
142
  },
161
143
  ],
162
144
  handler: (args) => {
163
- if (args.address) {
164
- (0, validation_js_1.validateAddress)(args.address);
165
- }
166
- return [
167
- {
168
- role: 'user',
169
- content: {
170
- type: 'text',
171
- text: `Update user profile.
172
-
173
- Full Name: ${args.fullName}
174
- Profile Image: ${args.profileImage}
175
- ${args.address ? `Address: ${args.address}` : 'Using default wallet'}
176
-
177
- Use ${mcpToolNames_js_1.MCP_TOOLS.UPDATE_PROFILE} to update the profile.
178
-
179
- Display confirmation of successful update.`,
180
- },
145
+ (0, validation_js_1.validateOptionalAddress)(args.address);
146
+ return (0, handlerHelpers_js_1.createPromptResponse)((0, textTemplates_js_1.createSimpleOperationText)({
147
+ operation: 'Update user profile.',
148
+ parameters: {
149
+ fullName: `Full Name: ${args.fullName}`,
150
+ profileImage: `Profile Image: ${args.profileImage}`,
151
+ ...(args.address
152
+ ? { address: `Address: ${args.address}` }
153
+ : { wallet: 'Using default wallet' }),
181
154
  },
182
- ];
155
+ toolName: mcpToolNames_js_1.MCP_TOOLS.UPDATE_PROFILE,
156
+ actionDescription: 'update the profile',
157
+ displayFormat: 'Display confirmation of successful update.',
158
+ }));
183
159
  },
184
160
  };
185
161
  exports.balancePrompts = [
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"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"}