@gala-chain/launchpad-mcp-server 1.4.0 → 1.5.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/.eslintrc.json +9 -1
- package/dist/constants/mcpToolNames.d.ts +159 -0
- package/dist/constants/mcpToolNames.d.ts.map +1 -0
- package/dist/constants/mcpToolNames.js +131 -0
- package/dist/constants/mcpToolNames.js.map +1 -0
- package/dist/prompts/__tests__/promptStructure.test.d.ts +7 -0
- package/dist/prompts/__tests__/promptStructure.test.d.ts.map +1 -0
- package/dist/prompts/__tests__/promptStructure.test.js +106 -0
- package/dist/prompts/__tests__/promptStructure.test.js.map +1 -0
- package/dist/prompts/__tests__/registry.test.d.ts +7 -0
- package/dist/prompts/__tests__/registry.test.d.ts.map +1 -0
- package/dist/prompts/__tests__/registry.test.js +119 -0
- package/dist/prompts/__tests__/registry.test.js.map +1 -0
- package/dist/prompts/analysis.d.ts.map +1 -1
- package/dist/prompts/analysis.js +97 -65
- package/dist/prompts/analysis.js.map +1 -1
- package/dist/prompts/index.d.ts +58 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +83 -3
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/portfolio.d.ts.map +1 -1
- package/dist/prompts/portfolio.js +80 -76
- package/dist/prompts/portfolio.js.map +1 -1
- package/dist/prompts/trading.d.ts.map +1 -1
- package/dist/prompts/trading.js +76 -139
- package/dist/prompts/trading.js.map +1 -1
- package/dist/prompts/utils/workflowTemplates.d.ts +103 -0
- package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -0
- package/dist/prompts/utils/workflowTemplates.js +315 -0
- package/dist/prompts/utils/workflowTemplates.js.map +1 -0
- package/dist/schemas/common-schemas.d.ts +121 -16
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +122 -17
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/scripts/test-all-prompts.d.ts +6 -0
- package/dist/scripts/test-all-prompts.d.ts.map +1 -0
- package/dist/scripts/test-all-prompts.js +158 -0
- package/dist/scripts/test-all-prompts.js.map +1 -0
- package/dist/server.js +1 -1
- package/dist/tools/balance/index.d.ts.map +1 -1
- package/dist/tools/balance/index.js +5 -4
- package/dist/tools/balance/index.js.map +1 -1
- package/dist/tools/creation/index.d.ts.map +1 -1
- package/dist/tools/creation/index.js +6 -11
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/index.d.ts +9 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +58 -14
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetailsForCalculation.d.ts +2 -3
- package/dist/tools/pools/fetchPoolDetailsForCalculation.d.ts.map +1 -1
- package/dist/tools/pools/fetchPoolDetailsForCalculation.js +5 -17
- package/dist/tools/pools/fetchPoolDetailsForCalculation.js.map +1 -1
- package/dist/tools/pools/index.d.ts.map +1 -1
- package/dist/tools/pools/index.js +51 -137
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/social/index.d.ts.map +1 -1
- package/dist/tools/social/index.js +4 -3
- package/dist/tools/social/index.js.map +1 -1
- package/dist/tools/trading/index.d.ts.map +1 -1
- package/dist/tools/trading/index.js +7 -21
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/tools/utils/createWallet.d.ts +2 -3
- package/dist/tools/utils/createWallet.d.ts.map +1 -1
- package/dist/tools/utils/createWallet.js +8 -13
- package/dist/tools/utils/createWallet.js.map +1 -1
- package/dist/tools/utils/getAddress.d.ts +2 -3
- package/dist/tools/utils/getAddress.d.ts.map +1 -1
- package/dist/tools/utils/getAddress.js +6 -13
- package/dist/tools/utils/getAddress.js.map +1 -1
- package/dist/tools/utils/getConfig.d.ts +2 -3
- package/dist/tools/utils/getConfig.d.ts.map +1 -1
- package/dist/tools/utils/getConfig.js +5 -13
- package/dist/tools/utils/getConfig.js.map +1 -1
- package/dist/tools/utils/getEthereumAddress.d.ts +2 -3
- package/dist/tools/utils/getEthereumAddress.d.ts.map +1 -1
- package/dist/tools/utils/getEthereumAddress.js +6 -13
- package/dist/tools/utils/getEthereumAddress.js.map +1 -1
- package/dist/tools/utils/getUrlByTokenName.d.ts +2 -3
- package/dist/tools/utils/getUrlByTokenName.d.ts.map +1 -1
- package/dist/tools/utils/getUrlByTokenName.js +6 -20
- package/dist/tools/utils/getUrlByTokenName.js.map +1 -1
- package/dist/tools/utils/isTokenGraduated.d.ts +2 -3
- package/dist/tools/utils/isTokenGraduated.d.ts.map +1 -1
- package/dist/tools/utils/isTokenGraduated.js +6 -17
- package/dist/tools/utils/isTokenGraduated.js.map +1 -1
- package/dist/utils/__tests__/validation.test.d.ts +7 -0
- package/dist/utils/__tests__/validation.test.d.ts.map +1 -0
- package/dist/utils/__tests__/validation.test.js +122 -0
- package/dist/utils/__tests__/validation.test.js.map +1 -0
- package/dist/utils/default-values.d.ts +147 -0
- package/dist/utils/default-values.d.ts.map +1 -0
- package/dist/utils/default-values.js +177 -0
- package/dist/utils/default-values.js.map +1 -0
- package/dist/utils/error-handler.d.ts +9 -2
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +14 -59
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/error-templates.d.ts +96 -0
- package/dist/utils/error-templates.d.ts.map +1 -0
- package/dist/utils/error-templates.js +244 -0
- package/dist/utils/error-templates.js.map +1 -0
- package/dist/utils/tool-factory.d.ts +154 -0
- package/dist/utils/tool-factory.d.ts.map +1 -0
- package/dist/utils/tool-factory.js +194 -0
- package/dist/utils/tool-factory.js.map +1 -0
- package/dist/utils/tool-registry.d.ts +92 -0
- package/dist/utils/tool-registry.d.ts.map +1 -0
- package/dist/utils/tool-registry.js +227 -0
- package/dist/utils/tool-registry.js.map +1 -0
- package/dist/utils/validation.d.ts +162 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +276 -0
- package/dist/utils/validation.js.map +1 -0
- package/jest.integration.config.js +70 -0
- package/package.json +10 -6
package/dist/prompts/analysis.js
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.analysisPrompts = exports.tradeHistoryPrompt = exports.poolDetailsPrompt = exports.spotPricesPrompt = exports.graduationStatusPrompt = exports.compareTokensPrompt = void 0;
|
|
9
|
+
const mcpToolNames_js_1 = require("../constants/mcpToolNames.js");
|
|
10
|
+
const validation_js_1 = require("../utils/validation.js");
|
|
9
11
|
/**
|
|
10
12
|
* Compare Tokens - Side-by-side comparison
|
|
11
13
|
*/
|
|
@@ -24,29 +26,33 @@ exports.compareTokensPrompt = {
|
|
|
24
26
|
required: true,
|
|
25
27
|
},
|
|
26
28
|
],
|
|
27
|
-
handler: (args) =>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
handler: (args) => {
|
|
30
|
+
// Validate inputs
|
|
31
|
+
(0, validation_js_1.validateTokenName)(args.token1, 'token1');
|
|
32
|
+
(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:
|
|
33
39
|
|
|
34
40
|
Token 1: ${args.token1}
|
|
35
41
|
Token 2: ${args.token2}
|
|
36
42
|
|
|
37
43
|
For EACH token, use the optimized pattern:
|
|
38
44
|
|
|
39
|
-
1. Fetch pool details using
|
|
45
|
+
1. Fetch pool details using ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS_FOR_CALCULATION}
|
|
40
46
|
|
|
41
47
|
2. Calculate metrics using LOCAL mode:
|
|
42
|
-
- Spot price:
|
|
43
|
-
- Graduation cost:
|
|
44
|
-
- Is graduated:
|
|
48
|
+
- Spot price: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_LAUNCHPAD_TOKEN_SPOT_PRICE}
|
|
49
|
+
- Graduation cost: ${mcpToolNames_js_1.MCP_TOOLS.CALCULATE_BUY_AMOUNT_FOR_GRADUATION}
|
|
50
|
+
- Is graduated: ${mcpToolNames_js_1.MCP_TOOLS.IS_TOKEN_GRADUATED}
|
|
45
51
|
|
|
46
52
|
3. Get additional data:
|
|
47
|
-
- Full pool details:
|
|
48
|
-
- Token distribution:
|
|
49
|
-
- Badges:
|
|
53
|
+
- Full pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}
|
|
54
|
+
- Token distribution: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_DISTRIBUTION}
|
|
55
|
+
- Badges: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_BADGES}
|
|
50
56
|
|
|
51
57
|
Present a comparison table:
|
|
52
58
|
|
|
@@ -66,9 +72,10 @@ Provide analysis:
|
|
|
66
72
|
- Which has better liquidity?
|
|
67
73
|
- Which might be a better investment and why?
|
|
68
74
|
- Any notable badges or achievements?`,
|
|
75
|
+
},
|
|
69
76
|
},
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
];
|
|
78
|
+
},
|
|
72
79
|
};
|
|
73
80
|
/**
|
|
74
81
|
* Graduation Status - Check multiple tokens for graduation readiness
|
|
@@ -83,25 +90,28 @@ exports.graduationStatusPrompt = {
|
|
|
83
90
|
required: true,
|
|
84
91
|
},
|
|
85
92
|
],
|
|
86
|
-
handler: (args) =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
handler: (args) => {
|
|
94
|
+
// Validate inputs
|
|
95
|
+
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:
|
|
92
102
|
|
|
93
103
|
Tokens: ${args.tokens}
|
|
94
104
|
|
|
95
105
|
For EACH token in the list:
|
|
96
106
|
|
|
97
|
-
1. Check if graduated:
|
|
107
|
+
1. Check if graduated: ${mcpToolNames_js_1.MCP_TOOLS.IS_TOKEN_GRADUATED}
|
|
98
108
|
|
|
99
109
|
2. If not graduated, use optimized pattern:
|
|
100
|
-
a. Fetch pool details:
|
|
101
|
-
b. Calculate graduation cost:
|
|
110
|
+
a. Fetch pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS_FOR_CALCULATION}
|
|
111
|
+
b. Calculate graduation cost: ${mcpToolNames_js_1.MCP_TOOLS.CALCULATE_BUY_AMOUNT_FOR_GRADUATION} (LOCAL mode)
|
|
102
112
|
c. Calculate progress: (currentSupply / maxSupply * 100)
|
|
103
113
|
|
|
104
|
-
3. Get full pool details:
|
|
114
|
+
3. Get full pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}
|
|
105
115
|
|
|
106
116
|
Present a table:
|
|
107
117
|
|
|
@@ -110,7 +120,7 @@ Present a table:
|
|
|
110
120
|
| ... | ... | ... | ... | ... | ... |
|
|
111
121
|
|
|
112
122
|
Summary:
|
|
113
|
-
- Total tokens analyzed:
|
|
123
|
+
- Total tokens analyzed: ${tokenArray.length}
|
|
114
124
|
- Already graduated: [count]
|
|
115
125
|
- Close to graduation (>90%): [count]
|
|
116
126
|
- Mid-progress (50-90%): [count]
|
|
@@ -119,9 +129,10 @@ Summary:
|
|
|
119
129
|
Provide recommendations:
|
|
120
130
|
- Which tokens are good graduation opportunities?
|
|
121
131
|
- Which tokens might be undervalued?`,
|
|
132
|
+
},
|
|
122
133
|
},
|
|
123
|
-
|
|
124
|
-
|
|
134
|
+
];
|
|
135
|
+
},
|
|
125
136
|
};
|
|
126
137
|
/**
|
|
127
138
|
* Spot Prices - Batch spot price lookup
|
|
@@ -136,21 +147,24 @@ exports.spotPricesPrompt = {
|
|
|
136
147
|
required: true,
|
|
137
148
|
},
|
|
138
149
|
],
|
|
139
|
-
handler: (args) =>
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
150
|
+
handler: (args) => {
|
|
151
|
+
// Validate inputs
|
|
152
|
+
(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:
|
|
145
159
|
|
|
146
160
|
Tokens: ${args.tokens}
|
|
147
161
|
|
|
148
162
|
Use the optimized batch pattern for EACH token:
|
|
149
163
|
|
|
150
|
-
1. Fetch pool details:
|
|
151
|
-
2. Calculate spot price:
|
|
164
|
+
1. Fetch pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS_FOR_CALCULATION}
|
|
165
|
+
2. Calculate spot price: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_LAUNCHPAD_TOKEN_SPOT_PRICE} (LOCAL mode)
|
|
152
166
|
|
|
153
|
-
Also get GALA spot price:
|
|
167
|
+
Also get GALA spot price: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_GALA_SPOT_PRICE}
|
|
154
168
|
|
|
155
169
|
Present results:
|
|
156
170
|
|
|
@@ -164,9 +178,10 @@ Present results:
|
|
|
164
178
|
Performance note: Using LOCAL calculations - instant results with <0.01% difference from external!
|
|
165
179
|
|
|
166
180
|
Sort by USD price (highest to lowest).`,
|
|
181
|
+
},
|
|
167
182
|
},
|
|
168
|
-
|
|
169
|
-
|
|
183
|
+
];
|
|
184
|
+
},
|
|
170
185
|
};
|
|
171
186
|
/**
|
|
172
187
|
* Pool Details - Comprehensive pool information
|
|
@@ -181,19 +196,22 @@ exports.poolDetailsPrompt = {
|
|
|
181
196
|
required: true,
|
|
182
197
|
},
|
|
183
198
|
],
|
|
184
|
-
handler: (args) =>
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
199
|
+
handler: (args) => {
|
|
200
|
+
// Validate inputs
|
|
201
|
+
(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}":
|
|
208
|
+
|
|
209
|
+
1. Full pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}
|
|
210
|
+
2. Token distribution: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_DISTRIBUTION}
|
|
211
|
+
3. Achievement badges: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_BADGES}
|
|
212
|
+
4. Recent volume data (last 24h): ${mcpToolNames_js_1.MCP_TOOLS.FETCH_VOLUME_DATA} with 1h resolution
|
|
213
|
+
5. Check if graduated: ${mcpToolNames_js_1.MCP_TOOLS.IS_TOKEN_GRADUATED}
|
|
214
|
+
6. Frontend URL: ${mcpToolNames_js_1.MCP_TOOLS.GET_URL_BY_TOKEN_NAME}
|
|
197
215
|
|
|
198
216
|
Display organized sections:
|
|
199
217
|
|
|
@@ -228,9 +246,10 @@ Display organized sections:
|
|
|
228
246
|
- Max fee factor
|
|
229
247
|
- Min fee factor
|
|
230
248
|
- Current fee structure`,
|
|
249
|
+
},
|
|
231
250
|
},
|
|
232
|
-
|
|
233
|
-
|
|
251
|
+
];
|
|
252
|
+
},
|
|
234
253
|
};
|
|
235
254
|
/**
|
|
236
255
|
* Trade History - Recent trades with filters
|
|
@@ -260,23 +279,35 @@ exports.tradeHistoryPrompt = {
|
|
|
260
279
|
required: false,
|
|
261
280
|
},
|
|
262
281
|
],
|
|
263
|
-
handler: (args) =>
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
282
|
+
handler: (args) => {
|
|
283
|
+
// Validate inputs
|
|
284
|
+
if (args.tokenName) {
|
|
285
|
+
(0, validation_js_1.validateTokenName)(args.tokenName);
|
|
286
|
+
}
|
|
287
|
+
if (args.limit) {
|
|
288
|
+
(0, validation_js_1.validatePaginationLimit)(args.limit, 20);
|
|
289
|
+
}
|
|
290
|
+
if (args.tradeType && args.tradeType !== 'BUY' && args.tradeType !== 'SELL') {
|
|
291
|
+
throw new Error('tradeType must be either BUY or SELL');
|
|
292
|
+
}
|
|
293
|
+
const limit = args.limit || '20';
|
|
294
|
+
return [
|
|
295
|
+
{
|
|
296
|
+
role: 'user',
|
|
297
|
+
content: {
|
|
298
|
+
type: 'text',
|
|
299
|
+
text: `Show recent trade history:
|
|
269
300
|
|
|
270
301
|
${args.tokenName ? `Token: ${args.tokenName}` : 'All tokens'}
|
|
271
302
|
${args.userAddress ? `User: ${args.userAddress}` : 'All users'}
|
|
272
303
|
${args.tradeType ? `Type: ${args.tradeType}` : 'All trade types'}
|
|
273
|
-
Limit: ${
|
|
304
|
+
Limit: ${limit}
|
|
274
305
|
|
|
275
|
-
Use
|
|
306
|
+
Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TRADES} with:
|
|
276
307
|
${args.tokenName ? `- tokenName: "${args.tokenName}"` : ''}
|
|
277
308
|
${args.userAddress ? `- userAddress: "${args.userAddress}"` : ''}
|
|
278
309
|
${args.tradeType ? `- tradeType: "${args.tradeType}"` : ''}
|
|
279
|
-
- limit: ${
|
|
310
|
+
- limit: ${limit}
|
|
280
311
|
- sortOrder: "DESC" (newest first)
|
|
281
312
|
|
|
282
313
|
For each trade, display:
|
|
@@ -293,9 +324,10 @@ Calculate summary:
|
|
|
293
324
|
- Total volume (GALA)
|
|
294
325
|
- Average trade size
|
|
295
326
|
- Buy vs Sell ratio (if not filtered)`,
|
|
327
|
+
},
|
|
296
328
|
},
|
|
297
|
-
|
|
298
|
-
|
|
329
|
+
];
|
|
330
|
+
},
|
|
299
331
|
};
|
|
300
332
|
/**
|
|
301
333
|
* Export all analysis prompts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts/index.d.ts
CHANGED
|
@@ -12,13 +12,70 @@ import type { MCPPrompt } from '../types/mcp.js';
|
|
|
12
12
|
*/
|
|
13
13
|
export declare const prompts: MCPPrompt[];
|
|
14
14
|
/**
|
|
15
|
-
* Get prompt by name
|
|
15
|
+
* Get prompt by name (optimized with Map lookup)
|
|
16
|
+
*
|
|
17
|
+
* @param name - Prompt name (e.g., 'galachain-launchpad:analyze-token')
|
|
18
|
+
* @returns Prompt object or undefined if not found
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const prompt = getPrompt('galachain-launchpad:buy-tokens');
|
|
23
|
+
* if (prompt) {
|
|
24
|
+
* const messages = prompt.handler({ tokenName: 'anime', galaAmount: '100' });
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
16
27
|
*/
|
|
17
28
|
export declare function getPrompt(name: string): MCPPrompt | undefined;
|
|
18
29
|
/**
|
|
19
30
|
* Get all prompt names
|
|
31
|
+
*
|
|
32
|
+
* @returns Array of all registered prompt names
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const names = getPromptNames();
|
|
37
|
+
* // ['galachain-launchpad:analyze-token', 'galachain-launchpad:buy-tokens', ...]
|
|
38
|
+
* ```
|
|
20
39
|
*/
|
|
21
40
|
export declare function getPromptNames(): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Check if a prompt exists by name
|
|
43
|
+
*
|
|
44
|
+
* @param name - Prompt name to check
|
|
45
|
+
* @returns True if prompt exists, false otherwise
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* if (hasPrompt('galachain-launchpad:analyze-token')) {
|
|
50
|
+
* console.log('Prompt is available');
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function hasPrompt(name: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Get prompts by category
|
|
57
|
+
*
|
|
58
|
+
* @param category - Category name ('trading', 'portfolio', or 'analysis')
|
|
59
|
+
* @returns Array of prompts in the specified category
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const tradingCommands = getPromptsByCategory('trading');
|
|
64
|
+
* // Returns [analyzeTokenPrompt, buyTokensPrompt, sellTokensPrompt, graduateTokenPrompt]
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function getPromptsByCategory(category: 'trading' | 'portfolio' | 'analysis'): MCPPrompt[];
|
|
68
|
+
/**
|
|
69
|
+
* Get prompt count
|
|
70
|
+
*
|
|
71
|
+
* @returns Total number of registered prompts
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* console.log(`Total prompts: ${getPromptCount()}`); // Total prompts: 14
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function getPromptCount(): number;
|
|
22
79
|
/**
|
|
23
80
|
* Export individual prompt categories for documentation
|
|
24
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,EAI9B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,EAI9B,CAAC;AAUF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAC7C,SAAS,EAAE,CAWb;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -8,6 +8,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.analysisPrompts = exports.portfolioPrompts = exports.tradingPrompts = exports.prompts = void 0;
|
|
9
9
|
exports.getPrompt = getPrompt;
|
|
10
10
|
exports.getPromptNames = getPromptNames;
|
|
11
|
+
exports.hasPrompt = hasPrompt;
|
|
12
|
+
exports.getPromptsByCategory = getPromptsByCategory;
|
|
13
|
+
exports.getPromptCount = getPromptCount;
|
|
11
14
|
const trading_js_1 = require("./trading.js");
|
|
12
15
|
Object.defineProperty(exports, "tradingPrompts", { enumerable: true, get: function () { return trading_js_1.tradingPrompts; } });
|
|
13
16
|
const portfolio_js_1 = require("./portfolio.js");
|
|
@@ -23,15 +26,92 @@ exports.prompts = [
|
|
|
23
26
|
...analysis_js_1.analysisPrompts,
|
|
24
27
|
];
|
|
25
28
|
/**
|
|
26
|
-
*
|
|
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
|
+
* ```
|
|
27
46
|
*/
|
|
28
47
|
function getPrompt(name) {
|
|
29
|
-
return
|
|
48
|
+
return promptMap.get(name);
|
|
30
49
|
}
|
|
31
50
|
/**
|
|
32
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
|
+
* ```
|
|
33
60
|
*/
|
|
34
61
|
function getPromptNames() {
|
|
35
|
-
return
|
|
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;
|
|
36
116
|
}
|
|
37
117
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
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"}
|
|
@@ -1 +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;
|
|
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"}
|