@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/createWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/createWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,gBAAgB,sCAW3B,CAAC"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Create Wallet Tool
|
|
3
|
+
* Create Wallet Tool (45% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createWalletTool = void 0;
|
|
7
7
|
const launchpad_sdk_1 = require("@gala-chain/launchpad-sdk");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
exports.createWalletTool = {
|
|
8
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
9
|
+
exports.createWalletTool = (0, tool_factory_js_1.createNoParamTool)({
|
|
11
10
|
name: 'gala_launchpad_create_wallet',
|
|
12
11
|
description: 'Create a new wallet with a random private key. Returns wallet address and private key.',
|
|
13
|
-
|
|
14
|
-
type: 'object',
|
|
15
|
-
properties: {},
|
|
16
|
-
},
|
|
17
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async () => {
|
|
12
|
+
handler: () => {
|
|
18
13
|
const wallet = (0, launchpad_sdk_1.createWallet)();
|
|
19
|
-
return
|
|
14
|
+
return {
|
|
20
15
|
address: wallet.address,
|
|
21
16
|
privateKey: wallet.privateKey,
|
|
22
17
|
galaAddress: wallet.galaAddress,
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
});
|
|
26
21
|
//# sourceMappingURL=createWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWallet.js","sourceRoot":"","sources":["../../../src/tools/utils/createWallet.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAAyD;
|
|
1
|
+
{"version":3,"file":"createWallet.js","sourceRoot":"","sources":["../../../src/tools/utils/createWallet.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAAyD;AACzD,iEAAgE;AAEnD,QAAA,gBAAgB,GAAG,IAAA,mCAAiB,EAAC;IAChD,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,wFAAwF;IACrG,OAAO,EAAE,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,IAAA,4BAAY,GAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Get Address Tool
|
|
2
|
+
* Get Address Tool (45% code reduction via factory pattern)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare const getAddressTool: MCPTool;
|
|
4
|
+
export declare const getAddressTool: import("../../types/mcp.js").MCPTool;
|
|
6
5
|
//# sourceMappingURL=getAddress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,cAAc,sCAKzB,CAAC"}
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Get Address Tool
|
|
3
|
+
* Get Address Tool (45% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getAddressTool = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
exports.getAddressTool = {
|
|
7
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
8
|
+
exports.getAddressTool = (0, tool_factory_js_1.createNoParamTool)({
|
|
10
9
|
name: 'gala_launchpad_get_address',
|
|
11
10
|
description: 'Get the GalaChain address format (eth|0x...) for the authenticated wallet.',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
|
|
17
|
-
const address = sdk.getAddress();
|
|
18
|
-
return (0, response_formatter_js_1.formatSuccess)({ address });
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
11
|
+
handler: (sdk) => sdk.getAddress(),
|
|
12
|
+
resultKey: 'address',
|
|
13
|
+
});
|
|
21
14
|
//# sourceMappingURL=getAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../src/tools/utils/getAddress.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../src/tools/utils/getAddress.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAgE;AAEnD,QAAA,cAAc,GAAG,IAAA,mCAAiB,EAAC;IAC9C,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,4EAA4E;IACzF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;IAClC,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Get Config Tool
|
|
2
|
+
* Get Config Tool (45% code reduction via factory pattern)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare const getConfigTool: MCPTool;
|
|
4
|
+
export declare const getConfigTool: import("../../types/mcp.js").MCPTool;
|
|
6
5
|
//# sourceMappingURL=getConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConfig.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getConfig.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,aAAa,sCAIxB,CAAC"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Get Config Tool
|
|
3
|
+
* Get Config Tool (45% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getConfigTool = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
exports.getConfigTool = {
|
|
7
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
8
|
+
exports.getConfigTool = (0, tool_factory_js_1.createNoParamTool)({
|
|
10
9
|
name: 'gala_launchpad_get_config',
|
|
11
10
|
description: 'Get the current SDK configuration including environment, base URLs, timeouts, feature flags, and effective slippage tolerance factors.',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
properties: {},
|
|
15
|
-
},
|
|
16
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
|
|
17
|
-
const config = sdk.getConfig();
|
|
18
|
-
return (0, response_formatter_js_1.formatSuccess)(config);
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
11
|
+
handler: (sdk) => sdk.getConfig(),
|
|
12
|
+
});
|
|
21
13
|
//# sourceMappingURL=getConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../../../src/tools/utils/getConfig.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../../../src/tools/utils/getConfig.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAgE;AAEnD,QAAA,aAAa,GAAG,IAAA,mCAAiB,EAAC;IAC7C,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,wIAAwI;IACrJ,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE;CAClC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Get Ethereum Address Tool
|
|
2
|
+
* Get Ethereum Address Tool (45% code reduction via factory pattern)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare const getEthereumAddressTool: MCPTool;
|
|
4
|
+
export declare const getEthereumAddressTool: import("../../types/mcp.js").MCPTool;
|
|
6
5
|
//# sourceMappingURL=getEthereumAddress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEthereumAddress.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getEthereumAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getEthereumAddress.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getEthereumAddress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,sBAAsB,sCAKjC,CAAC"}
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Get Ethereum Address Tool
|
|
3
|
+
* Get Ethereum Address Tool (45% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getEthereumAddressTool = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
exports.getEthereumAddressTool = {
|
|
7
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
8
|
+
exports.getEthereumAddressTool = (0, tool_factory_js_1.createNoParamTool)({
|
|
10
9
|
name: 'gala_launchpad_get_ethereum_address',
|
|
11
10
|
description: 'Get the standard Ethereum address format (0x...) for the authenticated wallet.',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
|
|
17
|
-
const address = sdk.getEthereumAddress();
|
|
18
|
-
return (0, response_formatter_js_1.formatSuccess)({ address });
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
11
|
+
handler: (sdk) => sdk.getEthereumAddress(),
|
|
12
|
+
resultKey: 'address',
|
|
13
|
+
});
|
|
21
14
|
//# sourceMappingURL=getEthereumAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEthereumAddress.js","sourceRoot":"","sources":["../../../src/tools/utils/getEthereumAddress.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"getEthereumAddress.js","sourceRoot":"","sources":["../../../src/tools/utils/getEthereumAddress.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAgE;AAEnD,QAAA,sBAAsB,GAAG,IAAA,mCAAiB,EAAC;IACtD,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EAAE,gFAAgF;IAC7F,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE;IAC1C,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Get URL by Token Name Tool
|
|
2
|
+
* Get URL by Token Name Tool (73% code reduction via factory pattern)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare const getUrlByTokenNameTool: MCPTool;
|
|
4
|
+
export declare const getUrlByTokenNameTool: import("../../types/mcp.js").MCPTool;
|
|
6
5
|
//# sourceMappingURL=getUrlByTokenName.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUrlByTokenName.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getUrlByTokenName.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getUrlByTokenName.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getUrlByTokenName.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,qBAAqB,sCAKhC,CAAC"}
|
|
@@ -1,28 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Get URL by Token Name Tool
|
|
3
|
+
* Get URL by Token Name Tool (73% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getUrlByTokenNameTool = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const common_schemas_js_1 = require("../../schemas/common-schemas.js");
|
|
10
|
-
exports.getUrlByTokenNameTool = {
|
|
7
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
8
|
+
exports.getUrlByTokenNameTool = (0, tool_factory_js_1.createResolutionTool)({
|
|
11
9
|
name: 'gala_launchpad_get_url_by_token_name',
|
|
12
10
|
description: 'Get the launchpad frontend URL for a specific token. Returns the complete URL for viewing/trading the token in the web interface.',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
tokenName: {
|
|
17
|
-
...common_schemas_js_1.TOKEN_NAME_SCHEMA,
|
|
18
|
-
description: 'Token name to generate URL for',
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
required: ['tokenName'],
|
|
22
|
-
},
|
|
23
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
24
|
-
const url = sdk.getUrlByTokenName(args.tokenName);
|
|
25
|
-
return (0, response_formatter_js_1.formatSuccess)({ url, tokenName: args.tokenName });
|
|
26
|
-
}),
|
|
27
|
-
};
|
|
11
|
+
resolver: async (sdk, tokenName) => sdk.getUrlByTokenName(tokenName),
|
|
12
|
+
resultKey: 'url',
|
|
13
|
+
});
|
|
28
14
|
//# sourceMappingURL=getUrlByTokenName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUrlByTokenName.js","sourceRoot":"","sources":["../../../src/tools/utils/getUrlByTokenName.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"getUrlByTokenName.js","sourceRoot":"","sources":["../../../src/tools/utils/getUrlByTokenName.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAmE;AAEtD,QAAA,qBAAqB,GAAG,IAAA,sCAAoB,EAAC;IACxD,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EAAE,mIAAmI;IAChJ,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;IACpE,SAAS,EAAE,KAAK;CACjB,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Check if token has graduated from bonding curve
|
|
2
|
+
* Check if token has graduated from bonding curve (73% code reduction via factory pattern)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare const isTokenGraduatedTool: MCPTool;
|
|
4
|
+
export declare const isTokenGraduatedTool: import("../../types/mcp.js").MCPTool;
|
|
6
5
|
//# sourceMappingURL=isTokenGraduated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isTokenGraduated.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/isTokenGraduated.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"isTokenGraduated.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/isTokenGraduated.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,oBAAoB,sCAS/B,CAAC"}
|
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Check if token has graduated from bonding curve
|
|
3
|
+
* Check if token has graduated from bonding curve (73% code reduction via factory pattern)
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.isTokenGraduatedTool = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const common_schemas_js_1 = require("../../schemas/common-schemas.js");
|
|
10
|
-
exports.isTokenGraduatedTool = {
|
|
7
|
+
const tool_factory_js_1 = require("../../utils/tool-factory.js");
|
|
8
|
+
exports.isTokenGraduatedTool = (0, tool_factory_js_1.createResolutionTool)({
|
|
11
9
|
name: 'gala_launchpad_is_token_graduated',
|
|
12
10
|
description: `Check if a token has completed the bonding curve phase and graduated to full DEX trading.
|
|
13
11
|
|
|
14
12
|
RETURNS: Boolean indicating if pool saleStatus is "Completed"
|
|
15
13
|
|
|
16
14
|
USAGE: Useful for conditional logic before attempting graduation or checking pool state.`,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
tokenName: common_schemas_js_1.TOKEN_NAME_SCHEMA,
|
|
21
|
-
},
|
|
22
|
-
required: ['tokenName'],
|
|
23
|
-
},
|
|
24
|
-
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
25
|
-
const result = await sdk.isTokenGraduated(args.tokenName);
|
|
26
|
-
return (0, response_formatter_js_1.formatSuccess)({ graduated: result });
|
|
27
|
-
}),
|
|
28
|
-
};
|
|
15
|
+
resolver: (sdk, tokenName) => sdk.isTokenGraduated(tokenName),
|
|
16
|
+
resultKey: 'graduated',
|
|
17
|
+
});
|
|
29
18
|
//# sourceMappingURL=isTokenGraduated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isTokenGraduated.js","sourceRoot":"","sources":["../../../src/tools/utils/isTokenGraduated.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"isTokenGraduated.js","sourceRoot":"","sources":["../../../src/tools/utils/isTokenGraduated.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAmE;AAEtD,QAAA,oBAAoB,GAAG,IAAA,sCAAoB,EAAC;IACvD,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE;;;;yFAI0E;IACvF,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC;IAC7D,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/validation.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default Value Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized default values for tool parameters to eliminate magic numbers
|
|
5
|
+
* and ensure consistency across 47 MCP tools.
|
|
6
|
+
*
|
|
7
|
+
* @see Phase 2.2 of refactoring plan
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Default pagination configuration
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_PAGINATION: {
|
|
13
|
+
readonly page: 1;
|
|
14
|
+
readonly limit: 20;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Operation-specific default limits
|
|
18
|
+
*/
|
|
19
|
+
export declare const DEFAULT_LIMITS: {
|
|
20
|
+
readonly trade: 20;
|
|
21
|
+
readonly user: 20;
|
|
22
|
+
readonly pool: 20;
|
|
23
|
+
readonly comment: 20;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Maximum limits per operation type (from MCP_CONSTRAINTS)
|
|
27
|
+
*/
|
|
28
|
+
export declare const MAX_LIMITS: {
|
|
29
|
+
readonly trade: 20;
|
|
30
|
+
readonly user: 20;
|
|
31
|
+
readonly pool: 100;
|
|
32
|
+
readonly comment: 50;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Default slippage tolerance (1%)
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_SLIPPAGE_TOLERANCE = 0.01;
|
|
38
|
+
/**
|
|
39
|
+
* Default reverse bonding curve fee slippage tolerance (1%)
|
|
40
|
+
*/
|
|
41
|
+
export declare const DEFAULT_RBC_FEE_SLIPPAGE = 0.01;
|
|
42
|
+
/**
|
|
43
|
+
* Default pool type for fetchPools
|
|
44
|
+
*/
|
|
45
|
+
export declare const DEFAULT_POOL_TYPE = "recent";
|
|
46
|
+
/**
|
|
47
|
+
* Default sort order
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_SORT_ORDER = "DESC";
|
|
50
|
+
/**
|
|
51
|
+
* Default resolution for volume data (1 hour)
|
|
52
|
+
*/
|
|
53
|
+
export declare const DEFAULT_VOLUME_RESOLUTION = "1h";
|
|
54
|
+
/**
|
|
55
|
+
* Resolution mapping (string to seconds)
|
|
56
|
+
*/
|
|
57
|
+
export declare const RESOLUTION_MAP: Record<string, number>;
|
|
58
|
+
/**
|
|
59
|
+
* Applies default pagination values to args object
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const params = applyPaginationDefaults(args);
|
|
64
|
+
* // { page: 1, limit: 20, ...otherArgs }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function applyPaginationDefaults<T extends Record<string, any>>(args: T, defaults?: {
|
|
68
|
+
page?: number;
|
|
69
|
+
limit?: number;
|
|
70
|
+
}): T & {
|
|
71
|
+
page: number;
|
|
72
|
+
limit: number;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Applies operation-specific pagination defaults
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const params = applyOperationPaginationDefaults(args, 'pool');
|
|
80
|
+
* // Uses default limit of 20 for pool operations
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function applyOperationPaginationDefaults<T extends Record<string, any>>(args: T, operationType: keyof typeof DEFAULT_LIMITS): T & {
|
|
84
|
+
page: number;
|
|
85
|
+
limit: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Applies default slippage values to trading args
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const params = applySlippageDefaults(args);
|
|
93
|
+
* // { slippageToleranceFactor: 0.01, maxAcceptableReverseBondingCurveFeeSlippageFactor: 0.01, ...args }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function applySlippageDefaults<T extends Record<string, any>>(args: T, defaults?: {
|
|
97
|
+
slippageToleranceFactor?: number;
|
|
98
|
+
maxAcceptableReverseBondingCurveFeeSlippageFactor?: number;
|
|
99
|
+
}): T & {
|
|
100
|
+
slippageToleranceFactor: number;
|
|
101
|
+
maxAcceptableReverseBondingCurveFeeSlippageFactor: number;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Converts volume resolution string to seconds
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const seconds = resolutionToSeconds('1h', '1h');
|
|
109
|
+
* // 3600
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export declare function resolutionToSeconds(resolution: string | undefined, defaultResolution?: string): number;
|
|
113
|
+
/**
|
|
114
|
+
* Converts ISO 8601 date string to Unix timestamp (seconds)
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const timestamp = dateToUnixTimestamp('2024-01-15T14:30:25Z');
|
|
119
|
+
* // 1705329025
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function dateToUnixTimestamp(isoDate: string | undefined): number | undefined;
|
|
123
|
+
export declare const defaultValues: {
|
|
124
|
+
pagination: {
|
|
125
|
+
readonly page: 1;
|
|
126
|
+
readonly limit: 20;
|
|
127
|
+
};
|
|
128
|
+
limits: {
|
|
129
|
+
readonly trade: 20;
|
|
130
|
+
readonly user: 20;
|
|
131
|
+
readonly pool: 20;
|
|
132
|
+
readonly comment: 20;
|
|
133
|
+
};
|
|
134
|
+
maxLimits: {
|
|
135
|
+
readonly trade: 20;
|
|
136
|
+
readonly user: 20;
|
|
137
|
+
readonly pool: 100;
|
|
138
|
+
readonly comment: 50;
|
|
139
|
+
};
|
|
140
|
+
slippageTolerance: number;
|
|
141
|
+
rbcFeeSlippage: number;
|
|
142
|
+
poolType: string;
|
|
143
|
+
sortOrder: string;
|
|
144
|
+
volumeResolution: string;
|
|
145
|
+
resolutionMap: Record<string, number>;
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=default-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-values.d.ts","sourceRoot":"","sources":["../../src/utils/default-values.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAMzC;;GAEG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOxC,CAAC;AAMX;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnE,IAAI,EAAE,CAAC,EACP,QAAQ,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAuB,GAC/D,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5E,IAAI,EAAE,CAAC,EACP,aAAa,EAAE,MAAM,OAAO,cAAc,GACzC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjE,IAAI,EAAE,CAAC,EACP,QAAQ,GAAE;IACR,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD,CAAC,EAAE,MAAM,CAAC;CACvD,GACL,CAAC,GAAG;IACL,uBAAuB,EAAE,MAAM,CAAC;IAChC,iDAAiD,EAAE,MAAM,CAAC;CAC3D,CAYA;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,iBAAiB,GAAE,MAAkC,GACpD,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGnF;AAMD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC"}
|