@gala-chain/launchpad-mcp-server 2.0.0 → 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.
- package/.eslintrc.json +68 -8
- package/CHANGELOG.md +10 -10
- package/README.md +2 -2
- package/dist/constants/mcpToolNames.d.ts +21 -2
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +17 -3
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/generated/version.js.map +1 -1
- package/dist/prompts/advanced-pools.d.ts.map +1 -1
- package/dist/prompts/advanced-pools.js.map +1 -1
- package/dist/prompts/dex-leaderboard.d.ts +40 -0
- package/dist/prompts/dex-leaderboard.d.ts.map +1 -0
- package/dist/prompts/dex-leaderboard.js +239 -0
- package/dist/prompts/dex-leaderboard.js.map +1 -0
- package/dist/prompts/dex-volume.d.ts +19 -0
- package/dist/prompts/dex-volume.d.ts.map +1 -0
- package/dist/prompts/dex-volume.js +74 -0
- package/dist/prompts/dex-volume.js.map +1 -0
- package/dist/prompts/index.d.ts +5 -2
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +11 -2
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/locks.d.ts +16 -0
- package/dist/prompts/locks.d.ts.map +1 -0
- package/dist/prompts/locks.js +114 -0
- package/dist/prompts/locks.js.map +1 -0
- package/dist/prompts/monitoring.js.map +1 -1
- package/dist/prompts/pools.js +3 -3
- package/dist/prompts/pools.js.map +1 -1
- package/dist/schemas/common-schemas.d.ts +18 -16
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +8 -0
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- 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 +11 -8
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.js +10 -6
- package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
- package/dist/tools/dex/fetchDexPools.js.map +1 -1
- package/dist/tools/dex/index.d.ts.map +1 -1
- package/dist/tools/dex/index.js +5 -1
- package/dist/tools/dex/index.js.map +1 -1
- package/dist/tools/dex/leaderboard.d.ts +38 -0
- package/dist/tools/dex/leaderboard.d.ts.map +1 -0
- package/dist/tools/dex/leaderboard.js +153 -0
- package/dist/tools/dex/leaderboard.js.map +1 -0
- package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
- package/dist/tools/dex/liquidity-positions.js +13 -4
- package/dist/tools/dex/liquidity-positions.js.map +1 -1
- package/dist/tools/dex/volume.d.ts +19 -0
- package/dist/tools/dex/volume.d.ts.map +1 -0
- package/dist/tools/dex/volume.js +53 -0
- package/dist/tools/dex/volume.js.map +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/locks/index.d.ts +8 -0
- package/dist/tools/locks/index.d.ts.map +1 -0
- package/dist/tools/locks/index.js +79 -0
- package/dist/tools/locks/index.js.map +1 -0
- package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPools.js +8 -5
- package/dist/tools/pools/fetchAllPools.js.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
- package/dist/tools/pools/fetchPools.js.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.js +1 -1
- package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.js +1 -1
- package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
- package/dist/tools/pools/index.js +1 -1
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.js +1 -0
- package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.js +1 -0
- package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
- package/dist/tools/social/index.js.map +1 -1
- package/dist/tools/trading/index.js +1 -1
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/tools/transfers/index.js.map +1 -1
- package/dist/tools/utils/clearCache.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.d.ts +10 -0
- package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +896 -10
- package/dist/tools/utils/explainSdkUsage.js.map +1 -1
- package/dist/types/mcp.d.ts +2 -2
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/utils/default-values.d.ts.map +1 -1
- package/dist/utils/default-values.js +3 -0
- package/dist/utils/default-values.js.map +1 -1
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +1 -0
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/tool-factory.d.ts.map +1 -1
- package/dist/utils/tool-factory.js +1 -0
- package/dist/utils/tool-factory.js.map +1 -1
- package/eslint.config.js.bak +113 -0
- package/package.json +4 -3
- package/dist/prompts/__tests__/promptStructure.test.d.ts +0 -7
- package/dist/prompts/__tests__/promptStructure.test.d.ts.map +0 -1
- package/dist/prompts/__tests__/promptStructure.test.js +0 -106
- package/dist/prompts/__tests__/promptStructure.test.js.map +0 -1
- package/dist/prompts/__tests__/registry.test.d.ts +0 -7
- package/dist/prompts/__tests__/registry.test.d.ts.map +0 -1
- package/dist/prompts/__tests__/registry.test.js +0 -119
- package/dist/prompts/__tests__/registry.test.js.map +0 -1
- package/dist/scripts/test-all-prompts.d.ts +0 -6
- package/dist/scripts/test-all-prompts.d.ts.map +0 -1
- package/dist/scripts/test-all-prompts.js +0 -158
- package/dist/scripts/test-all-prompts.js.map +0 -1
- package/dist/tools/balance/all-assets.d.ts +0 -9
- package/dist/tools/balance/all-assets.d.ts.map +0 -1
- package/dist/tools/balance/all-assets.js +0 -104
- package/dist/tools/balance/all-assets.js.map +0 -1
- package/dist/tools/dex/advanced-dex.d.ts +0 -15
- package/dist/tools/dex/advanced-dex.d.ts.map +0 -1
- package/dist/tools/dex/advanced-dex.js +0 -239
- package/dist/tools/dex/advanced-dex.js.map +0 -1
- package/dist/tools/dex/pool-price.d.ts +0 -9
- package/dist/tools/dex/pool-price.d.ts.map +0 -1
- package/dist/tools/dex/pool-price.js +0 -78
- package/dist/tools/dex/pool-price.js.map +0 -1
- package/dist/tools/dex/pool-quote-calculation.d.ts +0 -9
- package/dist/tools/dex/pool-quote-calculation.d.ts.map +0 -1
- package/dist/tools/dex/pool-quote-calculation.js +0 -99
- package/dist/tools/dex/pool-quote-calculation.js.map +0 -1
- package/dist/tools/dex/pool-quote-external.d.ts +0 -10
- package/dist/tools/dex/pool-quote-external.d.ts.map +0 -1
- package/dist/tools/dex/pool-quote-external.js +0 -84
- package/dist/tools/dex/pool-quote-external.js.map +0 -1
- package/dist/tools/dex/pool-quote-local.d.ts +0 -10
- package/dist/tools/dex/pool-quote-local.d.ts.map +0 -1
- package/dist/tools/dex/pool-quote-local.js +0 -84
- package/dist/tools/dex/pool-quote-local.js.map +0 -1
- package/dist/tools/dex/position-direct.d.ts +0 -9
- package/dist/tools/dex/position-direct.d.ts.map +0 -1
- package/dist/tools/dex/position-direct.js +0 -65
- package/dist/tools/dex/position-direct.js.map +0 -1
- package/dist/tools/pools/composite-pool.d.ts +0 -9
- package/dist/tools/pools/composite-pool.d.ts.map +0 -1
- package/dist/tools/pools/composite-pool.js +0 -69
- package/dist/tools/pools/composite-pool.js.map +0 -1
- package/dist/tools/pools/fetchAllPrices.d.ts +0 -9
- package/dist/tools/pools/fetchAllPrices.d.ts.map +0 -1
- package/dist/tools/pools/fetchAllPrices.js +0 -38
- package/dist/tools/pools/fetchAllPrices.js.map +0 -1
- package/dist/tools/pools/fetchPrices.d.ts +0 -9
- package/dist/tools/pools/fetchPrices.d.ts.map +0 -1
- package/dist/tools/pools/fetchPrices.js +0 -51
- package/dist/tools/pools/fetchPrices.js.map +0 -1
- package/dist/tools/utils/cleanup.d.ts +0 -9
- package/dist/tools/utils/cleanup.d.ts.map +0 -1
- package/dist/tools/utils/cleanup.js +0 -54
- package/dist/tools/utils/cleanup.js.map +0 -1
- package/dist/tools/utils/faucet.d.ts +0 -10
- package/dist/tools/utils/faucet.d.ts.map +0 -1
- package/dist/tools/utils/faucet.js +0 -51
- package/dist/tools/utils/faucet.js.map +0 -1
- package/dist/utils/__tests__/validation.test.d.ts +0 -7
- package/dist/utils/__tests__/validation.test.d.ts.map +0 -1
- package/dist/utils/__tests__/validation.test.js +0 -122
- package/dist/utils/__tests__/validation.test.js.map +0 -1
- 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 +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":"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"}
|
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);
|