@gala-chain/launchpad-mcp-server 2.0.1 → 2.0.2-beta.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 (174) hide show
  1. package/.eslintrc.json +68 -8
  2. package/CHANGELOG.md +10 -10
  3. package/dist/constants/mcpToolNames.d.ts +21 -2
  4. package/dist/constants/mcpToolNames.d.ts.map +1 -1
  5. package/dist/constants/mcpToolNames.js +17 -3
  6. package/dist/constants/mcpToolNames.js.map +1 -1
  7. package/dist/generated/version.d.ts +1 -1
  8. package/dist/generated/version.d.ts.map +1 -1
  9. package/dist/generated/version.js +1 -1
  10. package/dist/generated/version.js.map +1 -1
  11. package/dist/prompts/advanced-pools.d.ts.map +1 -1
  12. package/dist/prompts/advanced-pools.js.map +1 -1
  13. package/dist/prompts/dex-leaderboard.d.ts +40 -0
  14. package/dist/prompts/dex-leaderboard.d.ts.map +1 -0
  15. package/dist/prompts/dex-leaderboard.js +239 -0
  16. package/dist/prompts/dex-leaderboard.js.map +1 -0
  17. package/dist/prompts/dex-volume.d.ts +19 -0
  18. package/dist/prompts/dex-volume.d.ts.map +1 -0
  19. package/dist/prompts/dex-volume.js +74 -0
  20. package/dist/prompts/dex-volume.js.map +1 -0
  21. package/dist/prompts/index.d.ts +5 -2
  22. package/dist/prompts/index.d.ts.map +1 -1
  23. package/dist/prompts/index.js +11 -2
  24. package/dist/prompts/index.js.map +1 -1
  25. package/dist/prompts/locks.d.ts +16 -0
  26. package/dist/prompts/locks.d.ts.map +1 -0
  27. package/dist/prompts/locks.js +114 -0
  28. package/dist/prompts/locks.js.map +1 -0
  29. package/dist/prompts/monitoring.js.map +1 -1
  30. package/dist/prompts/pools.js +3 -3
  31. package/dist/prompts/pools.js.map +1 -1
  32. package/dist/schemas/common-schemas.d.ts +18 -16
  33. package/dist/schemas/common-schemas.d.ts.map +1 -1
  34. package/dist/schemas/common-schemas.js +8 -0
  35. package/dist/schemas/common-schemas.js.map +1 -1
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +3 -1
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/balance/index.js.map +1 -1
  40. package/dist/tools/creation/index.d.ts.map +1 -1
  41. package/dist/tools/creation/index.js +11 -8
  42. package/dist/tools/creation/index.js.map +1 -1
  43. package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
  44. package/dist/tools/dex/fetchAllDexPools.js +10 -6
  45. package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
  46. package/dist/tools/dex/fetchDexPools.js.map +1 -1
  47. package/dist/tools/dex/index.d.ts.map +1 -1
  48. package/dist/tools/dex/index.js +5 -1
  49. package/dist/tools/dex/index.js.map +1 -1
  50. package/dist/tools/dex/leaderboard.d.ts +38 -0
  51. package/dist/tools/dex/leaderboard.d.ts.map +1 -0
  52. package/dist/tools/dex/leaderboard.js +153 -0
  53. package/dist/tools/dex/leaderboard.js.map +1 -0
  54. package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
  55. package/dist/tools/dex/liquidity-positions.js +13 -4
  56. package/dist/tools/dex/liquidity-positions.js.map +1 -1
  57. package/dist/tools/dex/volume.d.ts +19 -0
  58. package/dist/tools/dex/volume.d.ts.map +1 -0
  59. package/dist/tools/dex/volume.js +53 -0
  60. package/dist/tools/dex/volume.js.map +1 -0
  61. package/dist/tools/index.d.ts +2 -1
  62. package/dist/tools/index.d.ts.map +1 -1
  63. package/dist/tools/index.js +11 -4
  64. package/dist/tools/index.js.map +1 -1
  65. package/dist/tools/locks/index.d.ts +8 -0
  66. package/dist/tools/locks/index.d.ts.map +1 -0
  67. package/dist/tools/locks/index.js +79 -0
  68. package/dist/tools/locks/index.js.map +1 -0
  69. package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
  70. package/dist/tools/pools/fetchAllPools.js +8 -5
  71. package/dist/tools/pools/fetchAllPools.js.map +1 -1
  72. package/dist/tools/pools/fetchAllPriceHistory.js +1 -1
  73. package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
  74. package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
  75. package/dist/tools/pools/fetchPools.js.map +1 -1
  76. package/dist/tools/pools/fetchPriceHistory.js +1 -1
  77. package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
  78. package/dist/tools/pools/fetchTokenDetails.js +1 -1
  79. package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
  80. package/dist/tools/pools/index.js +1 -1
  81. package/dist/tools/pools/index.js.map +1 -1
  82. package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
  83. package/dist/tools/pools/onDexPoolCreation.js +1 -0
  84. package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
  85. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
  86. package/dist/tools/pools/onLaunchpadTokenCreation.js +1 -0
  87. package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
  88. package/dist/tools/social/index.js.map +1 -1
  89. package/dist/tools/trading/index.js +1 -1
  90. package/dist/tools/trading/index.js.map +1 -1
  91. package/dist/tools/transfers/index.js.map +1 -1
  92. package/dist/tools/utils/clearCache.js.map +1 -1
  93. package/dist/tools/utils/explainSdkUsage.d.ts +10 -0
  94. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  95. package/dist/tools/utils/explainSdkUsage.js +896 -10
  96. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  97. package/dist/types/mcp.d.ts +2 -2
  98. package/dist/types/mcp.d.ts.map +1 -1
  99. package/dist/utils/default-values.d.ts.map +1 -1
  100. package/dist/utils/default-values.js +3 -0
  101. package/dist/utils/default-values.js.map +1 -1
  102. package/dist/utils/response-formatter.d.ts.map +1 -1
  103. package/dist/utils/response-formatter.js +1 -0
  104. package/dist/utils/response-formatter.js.map +1 -1
  105. package/dist/utils/tool-factory.d.ts.map +1 -1
  106. package/dist/utils/tool-factory.js +1 -0
  107. package/dist/utils/tool-factory.js.map +1 -1
  108. package/eslint.config.js.bak +113 -0
  109. package/package.json +4 -3
  110. package/dist/prompts/__tests__/promptStructure.test.d.ts +0 -7
  111. package/dist/prompts/__tests__/promptStructure.test.d.ts.map +0 -1
  112. package/dist/prompts/__tests__/promptStructure.test.js +0 -106
  113. package/dist/prompts/__tests__/promptStructure.test.js.map +0 -1
  114. package/dist/prompts/__tests__/registry.test.d.ts +0 -7
  115. package/dist/prompts/__tests__/registry.test.d.ts.map +0 -1
  116. package/dist/prompts/__tests__/registry.test.js +0 -119
  117. package/dist/prompts/__tests__/registry.test.js.map +0 -1
  118. package/dist/scripts/test-all-prompts.d.ts +0 -6
  119. package/dist/scripts/test-all-prompts.d.ts.map +0 -1
  120. package/dist/scripts/test-all-prompts.js +0 -158
  121. package/dist/scripts/test-all-prompts.js.map +0 -1
  122. package/dist/tools/balance/all-assets.d.ts +0 -9
  123. package/dist/tools/balance/all-assets.d.ts.map +0 -1
  124. package/dist/tools/balance/all-assets.js +0 -104
  125. package/dist/tools/balance/all-assets.js.map +0 -1
  126. package/dist/tools/dex/advanced-dex.d.ts +0 -15
  127. package/dist/tools/dex/advanced-dex.d.ts.map +0 -1
  128. package/dist/tools/dex/advanced-dex.js +0 -239
  129. package/dist/tools/dex/advanced-dex.js.map +0 -1
  130. package/dist/tools/dex/pool-price.d.ts +0 -9
  131. package/dist/tools/dex/pool-price.d.ts.map +0 -1
  132. package/dist/tools/dex/pool-price.js +0 -78
  133. package/dist/tools/dex/pool-price.js.map +0 -1
  134. package/dist/tools/dex/pool-quote-calculation.d.ts +0 -9
  135. package/dist/tools/dex/pool-quote-calculation.d.ts.map +0 -1
  136. package/dist/tools/dex/pool-quote-calculation.js +0 -99
  137. package/dist/tools/dex/pool-quote-calculation.js.map +0 -1
  138. package/dist/tools/dex/pool-quote-external.d.ts +0 -10
  139. package/dist/tools/dex/pool-quote-external.d.ts.map +0 -1
  140. package/dist/tools/dex/pool-quote-external.js +0 -84
  141. package/dist/tools/dex/pool-quote-external.js.map +0 -1
  142. package/dist/tools/dex/pool-quote-local.d.ts +0 -10
  143. package/dist/tools/dex/pool-quote-local.d.ts.map +0 -1
  144. package/dist/tools/dex/pool-quote-local.js +0 -84
  145. package/dist/tools/dex/pool-quote-local.js.map +0 -1
  146. package/dist/tools/dex/position-direct.d.ts +0 -9
  147. package/dist/tools/dex/position-direct.d.ts.map +0 -1
  148. package/dist/tools/dex/position-direct.js +0 -65
  149. package/dist/tools/dex/position-direct.js.map +0 -1
  150. package/dist/tools/pools/composite-pool.d.ts +0 -9
  151. package/dist/tools/pools/composite-pool.d.ts.map +0 -1
  152. package/dist/tools/pools/composite-pool.js +0 -69
  153. package/dist/tools/pools/composite-pool.js.map +0 -1
  154. package/dist/tools/pools/fetchAllPrices.d.ts +0 -9
  155. package/dist/tools/pools/fetchAllPrices.d.ts.map +0 -1
  156. package/dist/tools/pools/fetchAllPrices.js +0 -38
  157. package/dist/tools/pools/fetchAllPrices.js.map +0 -1
  158. package/dist/tools/pools/fetchPrices.d.ts +0 -9
  159. package/dist/tools/pools/fetchPrices.d.ts.map +0 -1
  160. package/dist/tools/pools/fetchPrices.js +0 -51
  161. package/dist/tools/pools/fetchPrices.js.map +0 -1
  162. package/dist/tools/utils/cleanup.d.ts +0 -9
  163. package/dist/tools/utils/cleanup.d.ts.map +0 -1
  164. package/dist/tools/utils/cleanup.js +0 -54
  165. package/dist/tools/utils/cleanup.js.map +0 -1
  166. package/dist/tools/utils/faucet.d.ts +0 -10
  167. package/dist/tools/utils/faucet.d.ts.map +0 -1
  168. package/dist/tools/utils/faucet.js +0 -51
  169. package/dist/tools/utils/faucet.js.map +0 -1
  170. package/dist/utils/__tests__/validation.test.d.ts +0 -7
  171. package/dist/utils/__tests__/validation.test.d.ts.map +0 -1
  172. package/dist/utils/__tests__/validation.test.js +0 -122
  173. package/dist/utils/__tests__/validation.test.js.map +0 -1
  174. package/test-mcp.js +0 -89
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /**
3
- * Fetch All Latest Prices Tool
4
- *
5
- * Queries all latest token prices from MySQL database with automatic pagination.
6
- * Requires MYSQL_CONNECTION_STRING environment variable to be configured.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.fetchAllPricesTool = void 0;
10
- const response_formatter_js_1 = require("../../utils/response-formatter.js");
11
- const error_handler_js_1 = require("../../utils/error-handler.js");
12
- exports.fetchAllPricesTool = {
13
- name: 'gala_launchpad_fetch_all_prices',
14
- description: `Fetch latest price for all DEX tokens with automatic pagination.
15
-
16
- **Requirements:**
17
- - MySQL connection string must be configured (MYSQL_CONNECTION_STRING env var)
18
- - Node.js environment only (not available in browser)
19
- - Returns most recent price snapshot per unique token
20
-
21
- **Use Cases:**
22
- - Complete market data export
23
- - Bulk price analysis
24
- - Full token price catalog
25
- - Market-wide snapshot
26
-
27
- **Performance:** Single optimized query using window functions, automatically handles pagination to retrieve all tokens.`,
28
- inputSchema: {
29
- type: 'object',
30
- properties: {},
31
- required: [],
32
- },
33
- handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
34
- const result = await sdk.fetchAllPrices();
35
- return (0, response_formatter_js_1.formatSuccess)(result);
36
- }),
37
- };
38
- //# sourceMappingURL=fetchAllPrices.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchAllPrices.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchAllPrices.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEpD,QAAA,kBAAkB,GAAY;IACzC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EAAE;;;;;;;;;;;;;yHAa0G;IAEvH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;IAED,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Fetch Latest Prices Tool
3
- *
4
- * Queries latest token prices from MySQL database with pagination.
5
- * Requires MYSQL_CONNECTION_STRING environment variable to be configured.
6
- */
7
- import type { MCPTool } from '../../types/mcp.js';
8
- export declare const fetchPricesTool: MCPTool;
9
- //# sourceMappingURL=fetchPrices.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchPrices.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/fetchPrices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,OAuC7B,CAAC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- /**
3
- * Fetch Latest Prices Tool
4
- *
5
- * Queries latest token prices from MySQL database with pagination.
6
- * Requires MYSQL_CONNECTION_STRING environment variable to be configured.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.fetchPricesTool = void 0;
10
- const response_formatter_js_1 = require("../../utils/response-formatter.js");
11
- const error_handler_js_1 = require("../../utils/error-handler.js");
12
- const common_schemas_js_1 = require("../../schemas/common-schemas.js");
13
- exports.fetchPricesTool = {
14
- name: 'gala_launchpad_fetch_prices',
15
- description: `Fetch latest price for all DEX tokens with pagination.
16
-
17
- **Requirements:**
18
- - MySQL connection string must be configured (MYSQL_CONNECTION_STRING env var)
19
- - Node.js environment only (not available in browser)
20
- - Returns most recent price snapshot per unique token
21
-
22
- **Use Cases:**
23
- - Market overview dashboards
24
- - Bulk price comparisons
25
- - Token catalog with current prices
26
- - Price monitoring and alerts
27
-
28
- **Performance:** Single optimized query using window functions, returns latest price per token with pagination.`,
29
- inputSchema: {
30
- type: 'object',
31
- properties: {
32
- page: common_schemas_js_1.PAGE_SCHEMA,
33
- limit: (0, common_schemas_js_1.createLimitSchema)('pool', 10),
34
- sortByType: {
35
- type: 'string',
36
- enum: ['ASC', 'DESC'],
37
- description: 'Sort tokens alphabetically by type (optional)',
38
- },
39
- },
40
- required: [],
41
- },
42
- handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
43
- const result = await sdk.fetchPrices({
44
- page: args.page,
45
- limit: args.limit,
46
- sortByType: args.sortByType,
47
- });
48
- return (0, response_formatter_js_1.formatSuccess)(result);
49
- }),
50
- };
51
- //# sourceMappingURL=fetchPrices.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchPrices.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchPrices.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AACjE,uEAAiF;AAEpE,QAAA,eAAe,GAAY;IACtC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE;;;;;;;;;;;;;gHAaiG;IAE9G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,+BAAW;YACjB,KAAK,EAAE,IAAA,qCAAiB,EAAC,MAAM,EAAE,EAAE,CAAC;YACpC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,+CAA+C;aAC7D;SACF;QACD,QAAQ,EAAE,EAAE;KACb;IAED,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Cleanup Tool
3
- *
4
- * SDK lifecycle cleanup - clears cache, closes connections, resets state.
5
- * Called during application shutdown to release resources properly.
6
- */
7
- import type { MCPTool } from '../../types/mcp.js';
8
- export declare const cleanupTool: MCPTool;
9
- //# sourceMappingURL=cleanup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/cleanup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,WAAW,EAAE,OA6CzB,CAAC"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- /**
3
- * Cleanup Tool
4
- *
5
- * SDK lifecycle cleanup - clears cache, closes connections, resets state.
6
- * Called during application shutdown to release resources properly.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.cleanupTool = void 0;
10
- const error_handler_js_1 = require("../../utils/error-handler.js");
11
- const response_formatter_js_1 = require("../../utils/response-formatter.js");
12
- exports.cleanupTool = {
13
- name: 'gala_launchpad_cleanup',
14
- description: 'SDK lifecycle cleanup - clears cache, closes connections, and resets state. Use during application shutdown or testing teardown to properly release resources.',
15
- inputSchema: {
16
- type: 'object',
17
- properties: {
18
- clearCache: {
19
- type: 'boolean',
20
- description: 'Whether to clear metadata cache (defaults to true)',
21
- default: true,
22
- },
23
- closeConnections: {
24
- type: 'boolean',
25
- description: 'Whether to close WebSocket connections (defaults to true)',
26
- default: true,
27
- },
28
- },
29
- },
30
- handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
31
- const shouldClearCache = args?.clearCache !== false; // Default to true
32
- const shouldCloseConnections = args?.closeConnections !== false; // Default to true
33
- const operations = [];
34
- // Clear cache if requested
35
- if (shouldClearCache) {
36
- sdk.clearCache(); // Clears all token metadata
37
- operations.push('Cache cleared');
38
- }
39
- // Close connections if requested (always happens in cleanup)
40
- if (shouldCloseConnections) {
41
- await sdk.cleanup(); // Cleanup HTTP interceptors and WebSocket references
42
- operations.push('Connections closed');
43
- }
44
- return (0, response_formatter_js_1.formatSuccess)({
45
- success: true,
46
- operations: operations,
47
- clearedCache: shouldClearCache,
48
- closedConnections: shouldCloseConnections,
49
- message: `SDK cleanup completed: ${operations.join(', ')}`,
50
- note: 'SDK instance is still usable and will reconnect automatically if needed',
51
- });
52
- }),
53
- };
54
- //# sourceMappingURL=cleanup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/tools/utils/cleanup.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mEAAiE;AACjE,6EAAkE;AAGrD,QAAA,WAAW,GAAY;IAClC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,gKAAgK;IAC7K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oDAAoD;gBACjE,OAAO,EAAE,IAAI;aACd;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2DAA2D;gBACxE,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,gBAAgB,GAAG,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,kBAAkB;QACvE,MAAM,sBAAsB,GAAG,IAAI,EAAE,gBAAgB,KAAK,KAAK,CAAC,CAAC,kBAAkB;QAEnF,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,2BAA2B;QAC3B,IAAI,gBAAgB,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,4BAA4B;YAC9C,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,6DAA6D;QAC7D,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,qDAAqD;YAC1E,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAA,qCAAa,EAAC;YACnB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,gBAAgB;YAC9B,iBAAiB,EAAE,sBAAsB;YACzC,OAAO,EAAE,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1D,IAAI,EAAE,yEAAyE;SAChF,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Faucet Tool
3
- *
4
- * Test utility to retrieve GALA tokens from faucet.
5
- * Only works in development/testing environments (production blocked).
6
- * Backend provides a fixed amount (5 GALA).
7
- */
8
- import type { MCPTool } from '../../types/mcp.js';
9
- export declare const retrieveFromFaucetTool: MCPTool;
10
- //# sourceMappingURL=faucet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/faucet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,sBAAsB,EAAE,OAyCpC,CAAC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- /**
3
- * Faucet Tool
4
- *
5
- * Test utility to retrieve GALA tokens from faucet.
6
- * Only works in development/testing environments (production blocked).
7
- * Backend provides a fixed amount (5 GALA).
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.retrieveFromFaucetTool = void 0;
11
- const error_handler_js_1 = require("../../utils/error-handler.js");
12
- const response_formatter_js_1 = require("../../utils/response-formatter.js");
13
- const common_schemas_js_1 = require("../../schemas/common-schemas.js");
14
- exports.retrieveFromFaucetTool = {
15
- name: 'gala_launchpad_retrieve_from_faucet',
16
- description: 'Test utility to retrieve GALA tokens from faucet (dev/test environments only). Backend provides fixed amount of 5 GALA. Production environment will reject this request.',
17
- inputSchema: {
18
- type: 'object',
19
- properties: {
20
- recipientAddress: {
21
- ...common_schemas_js_1.ADDRESS_SCHEMA,
22
- description: 'Wallet address to receive faucet tokens (defaults to SDK authenticated wallet if not provided)',
23
- },
24
- },
25
- },
26
- handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
27
- const recipientAddress = args?.recipientAddress;
28
- try {
29
- // Call SDK faucet method (defaults to SDK wallet if no address provided)
30
- await sdk.retrieveGalaFromFaucet(recipientAddress);
31
- const finalAddress = recipientAddress || sdk.getAddress();
32
- return (0, response_formatter_js_1.formatSuccess)({
33
- success: true,
34
- recipientAddress: finalAddress,
35
- amount: '5',
36
- token: 'GALA',
37
- message: `Successfully retrieved 5 GALA from faucet to ${finalAddress}`,
38
- warning: 'This only works in development/testing environments',
39
- });
40
- }
41
- catch (error) {
42
- // Enhanced error message for production environment
43
- if (error instanceof Error && error.message.includes('production')) {
44
- throw new Error('Faucet is only available in development/testing environments. Production environment does not support faucet operations.');
45
- }
46
- // Re-throw other errors
47
- throw error;
48
- }
49
- }),
50
- };
51
- //# sourceMappingURL=faucet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../../src/tools/utils/faucet.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,mEAAiE;AACjE,6EAAkE;AAClE,uEAAiE;AAGpD,QAAA,sBAAsB,GAAY;IAC7C,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EAAE,0KAA0K;IACvL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,gBAAgB,EAAE;gBAChB,GAAG,kCAAc;gBACjB,WAAW,EAAE,gGAAgG;aAC9G;SACF;KACF;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,CAAC;QAEhD,IAAI,CAAC;YACH,yEAAyE;YACzE,MAAM,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAEnD,MAAM,YAAY,GAAG,gBAAgB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAE1D,OAAO,IAAA,qCAAa,EAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,YAAY;gBAC9B,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,gDAAgD,YAAY,EAAE;gBACvE,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;CACH,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Validation Utilities Tests
3
- *
4
- * Tests for input validation functions
5
- */
6
- export {};
7
- //# sourceMappingURL=validation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/validation.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,122 +0,0 @@
1
- "use strict";
2
- /**
3
- * Validation Utilities Tests
4
- *
5
- * Tests for input validation functions
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const validation_1 = require("../validation");
9
- describe('Validation Utilities', () => {
10
- describe('validateTokenName()', () => {
11
- it('should accept valid token names', () => {
12
- expect(() => (0, validation_1.validateTokenName)('anime')).not.toThrow();
13
- expect(() => (0, validation_1.validateTokenName)('test123')).not.toThrow();
14
- expect(() => (0, validation_1.validateTokenName)('my-token')).not.toThrow();
15
- expect(() => (0, validation_1.validateTokenName)('my_token')).not.toThrow();
16
- expect(() => (0, validation_1.validateTokenName)('TEST-123')).not.toThrow();
17
- });
18
- it('should reject invalid token names', () => {
19
- expect(() => (0, validation_1.validateTokenName)('')).toThrow(validation_1.ValidationError);
20
- expect(() => (0, validation_1.validateTokenName)('a')).toThrow(validation_1.ValidationError);
21
- expect(() => (0, validation_1.validateTokenName)('verylongtokennamethatexceedstwentycharacters')).toThrow(validation_1.ValidationError);
22
- expect(() => (0, validation_1.validateTokenName)('token@#$')).toThrow(validation_1.ValidationError);
23
- expect(() => (0, validation_1.validateTokenName)('token with spaces')).toThrow(validation_1.ValidationError);
24
- });
25
- });
26
- describe('validateNumericAmount()', () => {
27
- it('should accept valid numeric amounts', () => {
28
- expect(() => (0, validation_1.validateNumericAmount)('100', 'amount')).not.toThrow();
29
- expect(() => (0, validation_1.validateNumericAmount)('0.5', 'amount')).not.toThrow();
30
- expect(() => (0, validation_1.validateNumericAmount)('99999.99', 'amount')).not.toThrow();
31
- expect(() => (0, validation_1.validateNumericAmount)(100, 'amount')).not.toThrow();
32
- });
33
- it('should reject invalid numeric amounts', () => {
34
- expect(() => (0, validation_1.validateNumericAmount)('', 'amount')).toThrow(validation_1.ValidationError);
35
- expect(() => (0, validation_1.validateNumericAmount)('abc', 'amount')).toThrow(validation_1.ValidationError);
36
- expect(() => (0, validation_1.validateNumericAmount)('-5', 'amount')).toThrow(validation_1.ValidationError);
37
- expect(() => (0, validation_1.validateNumericAmount)('0', 'amount')).toThrow(validation_1.ValidationError);
38
- expect(() => (0, validation_1.validateNumericAmount)(Infinity, 'amount')).toThrow(validation_1.ValidationError);
39
- });
40
- });
41
- describe('validateSlippage()', () => {
42
- it('should accept valid slippage values', () => {
43
- expect(() => (0, validation_1.validateSlippage)('1')).not.toThrow();
44
- expect(() => (0, validation_1.validateSlippage)('0.5')).not.toThrow();
45
- expect(() => (0, validation_1.validateSlippage)('50')).not.toThrow();
46
- expect(() => (0, validation_1.validateSlippage)('0.01')).not.toThrow();
47
- expect(() => (0, validation_1.validateSlippage)('100')).not.toThrow();
48
- });
49
- it('should reject invalid slippage values', () => {
50
- expect(() => (0, validation_1.validateSlippage)('0')).toThrow(validation_1.ValidationError);
51
- expect(() => (0, validation_1.validateSlippage)('0.005')).toThrow(validation_1.ValidationError);
52
- expect(() => (0, validation_1.validateSlippage)('101')).toThrow(validation_1.ValidationError);
53
- expect(() => (0, validation_1.validateSlippage)('-1')).toThrow(validation_1.ValidationError);
54
- });
55
- });
56
- describe('validateAddress()', () => {
57
- it('should accept valid addresses', () => {
58
- expect(() => (0, validation_1.validateAddress)('eth|0x1234567890abcdef1234567890abcdef12345678')).not.toThrow();
59
- expect(() => (0, validation_1.validateAddress)('0x1234567890abcdef1234567890abcdef12345678')).not.toThrow();
60
- expect(() => (0, validation_1.validateAddress)('0xABCDEF1234567890abcdef1234567890ABCDEF12')).not.toThrow();
61
- });
62
- it('should reject invalid addresses', () => {
63
- expect(() => (0, validation_1.validateAddress)('')).toThrow(validation_1.ValidationError);
64
- expect(() => (0, validation_1.validateAddress)('invalid')).toThrow(validation_1.ValidationError);
65
- expect(() => (0, validation_1.validateAddress)('0x123')).toThrow(validation_1.ValidationError);
66
- expect(() => (0, validation_1.validateAddress)('eth|123')).toThrow(validation_1.ValidationError);
67
- });
68
- });
69
- describe('validateTokenSymbol()', () => {
70
- it('should accept valid symbols', () => {
71
- expect(() => (0, validation_1.validateTokenSymbol)('GALA')).not.toThrow();
72
- expect(() => (0, validation_1.validateTokenSymbol)('TEST')).not.toThrow();
73
- expect(() => (0, validation_1.validateTokenSymbol)('A')).not.toThrow();
74
- expect(() => (0, validation_1.validateTokenSymbol)('ABCDEFGH')).not.toThrow();
75
- });
76
- it('should reject invalid symbols', () => {
77
- expect(() => (0, validation_1.validateTokenSymbol)('')).toThrow(validation_1.ValidationError);
78
- expect(() => (0, validation_1.validateTokenSymbol)('test')).toThrow(validation_1.ValidationError);
79
- expect(() => (0, validation_1.validateTokenSymbol)('TOOLONG123')).toThrow(validation_1.ValidationError);
80
- expect(() => (0, validation_1.validateTokenSymbol)('TEST123')).toThrow(validation_1.ValidationError);
81
- });
82
- });
83
- describe('validatePaginationLimit()', () => {
84
- it('should accept valid limits', () => {
85
- expect(() => (0, validation_1.validatePaginationLimit)('1')).not.toThrow();
86
- expect(() => (0, validation_1.validatePaginationLimit)('20')).not.toThrow();
87
- expect(() => (0, validation_1.validatePaginationLimit)('100')).not.toThrow();
88
- expect(() => (0, validation_1.validatePaginationLimit)(50)).not.toThrow();
89
- });
90
- it('should reject invalid limits', () => {
91
- expect(() => (0, validation_1.validatePaginationLimit)('0')).toThrow(validation_1.ValidationError);
92
- expect(() => (0, validation_1.validatePaginationLimit)('101')).toThrow(validation_1.ValidationError);
93
- expect(() => (0, validation_1.validatePaginationLimit)('-1')).toThrow(validation_1.ValidationError);
94
- expect(() => (0, validation_1.validatePaginationLimit)('abc')).toThrow(validation_1.ValidationError);
95
- });
96
- });
97
- describe('validateTokenList()', () => {
98
- it('should accept valid token lists', () => {
99
- const result1 = (0, validation_1.validateTokenList)('anime,test,dragon');
100
- expect(result1).toEqual(['anime', 'test', 'dragon']);
101
- const result2 = (0, validation_1.validateTokenList)('token1');
102
- expect(result2).toEqual(['token1']);
103
- });
104
- it('should reject invalid token lists', () => {
105
- expect(() => (0, validation_1.validateTokenList)('')).toThrow(validation_1.ValidationError);
106
- expect(() => (0, validation_1.validateTokenList)('token1,invalid@#$')).toThrow(validation_1.ValidationError);
107
- });
108
- });
109
- describe('safeValidate()', () => {
110
- it('should return success for valid input', () => {
111
- const result = (0, validation_1.safeValidate)(() => (0, validation_1.validateTokenName)('anime'));
112
- expect(result.success).toBe(true);
113
- expect(result.error).toBeUndefined();
114
- });
115
- it('should return error for invalid input', () => {
116
- const result = (0, validation_1.safeValidate)(() => (0, validation_1.validateTokenName)('invalid@#$'));
117
- expect(result.success).toBe(false);
118
- expect(result.error).toBeDefined();
119
- });
120
- });
121
- });
122
- //# sourceMappingURL=validation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/validation.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,8CAUuB;AAEvB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,8CAA8C,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACzG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACrE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC9E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC7E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC5E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kCAAqB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,gDAAgD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,4CAA4C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,4CAA4C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAClE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAChE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAe,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACnE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACzE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACpE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACtE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YACrE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,oCAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,IAAA,8BAAiB,EAAC,mBAAmB,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,4BAAe,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAiB,EAAC,YAAY,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/test-mcp.js DELETED
@@ -1,89 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Manual MCP Protocol Test
4
- * Tests the MCP server by sending protocol messages via stdio
5
- */
6
-
7
- import { spawn } from 'child_process';
8
- import { fileURLToPath } from 'url';
9
- import { dirname, join } from 'path';
10
-
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = dirname(__filename);
13
-
14
- // Start the MCP server
15
- const server = spawn('node', [join(__dirname, 'dist/index.js')], {
16
- env: {
17
- ...process.env,
18
- PRIVATE_KEY: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef',
19
- ENVIRONMENT: 'development',
20
- DEBUG: 'true'
21
- },
22
- stdio: ['pipe', 'pipe', 'pipe']
23
- });
24
-
25
- let responseBuffer = '';
26
-
27
- server.stdout.on('data', (data) => {
28
- responseBuffer += data.toString();
29
-
30
- // Try to parse complete JSON-RPC messages
31
- const lines = responseBuffer.split('\n');
32
- responseBuffer = lines.pop(); // Keep incomplete line in buffer
33
-
34
- lines.forEach(line => {
35
- if (line.trim()) {
36
- try {
37
- const msg = JSON.parse(line);
38
- console.log('✓ Server Response:', JSON.stringify(msg, null, 2));
39
- } catch (e) {
40
- console.log('Server output:', line);
41
- }
42
- }
43
- });
44
- });
45
-
46
- server.stderr.on('data', (data) => {
47
- console.log('Server log:', data.toString());
48
- });
49
-
50
- server.on('close', (code) => {
51
- console.log(`Server exited with code ${code}`);
52
- process.exit(code);
53
- });
54
-
55
- // Send initialize request
56
- console.log('→ Sending initialize request...');
57
- const initRequest = {
58
- jsonrpc: '2.0',
59
- id: 1,
60
- method: 'initialize',
61
- params: {
62
- protocolVersion: '2024-11-05',
63
- capabilities: {},
64
- clientInfo: {
65
- name: 'test-client',
66
- version: '1.0.0'
67
- }
68
- }
69
- };
70
-
71
- server.stdin.write(JSON.stringify(initRequest) + '\n');
72
-
73
- // After 2 seconds, request tools list
74
- setTimeout(() => {
75
- console.log('\n→ Sending tools/list request...');
76
- const toolsRequest = {
77
- jsonrpc: '2.0',
78
- id: 2,
79
- method: 'tools/list',
80
- params: {}
81
- };
82
- server.stdin.write(JSON.stringify(toolsRequest) + '\n');
83
- }, 2000);
84
-
85
- // Exit after 5 seconds
86
- setTimeout(() => {
87
- console.log('\n✓ Test complete, shutting down...');
88
- server.kill();
89
- }, 5000);