@gala-chain/launchpad-mcp-server 1.0.4 → 1.1.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/CHANGELOG.md +91 -0
- package/dist/tools/balance/index.js +4 -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 +11 -1
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/pools/index.js +2 -2
- 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 +20 -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 +76 -10
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/utils/constraints.d.ts +112 -0
- package/dist/utils/constraints.d.ts.map +1 -0
- package/dist/utils/constraints.js +136 -0
- package/dist/utils/constraints.js.map +1 -0
- package/dist/utils/error-handler.d.ts +1 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +55 -2
- package/dist/utils/error-handler.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the Gala Launchpad MCP Server will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.1.1] - 2025-09-30
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **postComment tool** - Fixed content format handling for MCP protocol
|
|
12
|
+
- Now correctly extracts text from MCP content blocks array
|
|
13
|
+
- Handles both direct string and MCP content blocks format
|
|
14
|
+
- Fixes "validation error" when posting comments
|
|
15
|
+
- **SDK dependency** - Updated to ^3.2.0 to include getUrlByTokenName method
|
|
16
|
+
- Fixes "method not found" error on getUrlByTokenName tool
|
|
17
|
+
- Ensures all 28 MCP tools are functional
|
|
18
|
+
|
|
19
|
+
### Dependencies
|
|
20
|
+
- Updated `@gala-chain/launchpad-sdk` from ^3.1.0 to ^3.2.0
|
|
21
|
+
|
|
22
|
+
## [1.1.0] - 2025-09-30
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- **AI-AGENT-PATTERNS.md** - Comprehensive AI agent guide with common workflows, gotchas, and best practices
|
|
26
|
+
- **CONSTRAINTS-REFERENCE.md** - Technical reference for SDK-to-MCP constraint mappings
|
|
27
|
+
- **Central constraints utility** (`src/utils/constraints.ts`) - Single source of truth for pagination limits
|
|
28
|
+
- **AI-friendly error messages** - Enhanced error handler with contextual tips for common errors
|
|
29
|
+
- **Workflow documentation** - Added detailed workflow comments to trading and creation tools
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- **BREAKING:** Fixed constraint mismatches between MCP tool schemas and SDK validation
|
|
33
|
+
- `fetchTrades`: Reduced limit from 100 → 20 (matches `TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT`)
|
|
34
|
+
- `fetchTokensHeld`: Reduced limit from 100 → 20 (matches `USER_CONSTRAINTS.PAGINATION.MAX_LIMIT`)
|
|
35
|
+
- `fetchTokensCreated`: Reduced limit from 100 → 20 (matches `USER_CONSTRAINTS.PAGINATION.MAX_LIMIT`)
|
|
36
|
+
- `fetchComments`: Reduced limit from 100 → 50 (matches `COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT`)
|
|
37
|
+
- `fetchPools`: Verified limit 100 is correct (matches `PAGINATION_CONSTRAINTS.MAX_LIMIT`)
|
|
38
|
+
|
|
39
|
+
### Improved
|
|
40
|
+
- **expectedAmount parameter documentation** - Added critical warnings and workflow examples to prevent confusion
|
|
41
|
+
- Clarified that `expectedAmount` must be `result.amount` from calculate functions, NOT input amount
|
|
42
|
+
- Added step-by-step workflow examples with actual values
|
|
43
|
+
- Included common mistake examples with corrections
|
|
44
|
+
- **Type parameter clarity** - Enhanced 'native' vs 'token' documentation with use-case examples
|
|
45
|
+
- 'native': For GALA amount (most common)
|
|
46
|
+
- 'token': For exact token amount
|
|
47
|
+
- **Error handling** - AI agents now receive helpful tips for common errors including:
|
|
48
|
+
- Limit validation errors (with correct constraint values)
|
|
49
|
+
- Token name/symbol validation errors (with pattern examples)
|
|
50
|
+
- Wallet address format errors (with conversion examples)
|
|
51
|
+
- WebSocket timeout errors (with trading workflow guidance)
|
|
52
|
+
- Type parameter confusion (with usage examples)
|
|
53
|
+
|
|
54
|
+
### Documentation
|
|
55
|
+
- Enhanced inline comments throughout tool schemas linking to SDK constraint sources
|
|
56
|
+
- Added comprehensive API documentation for AI agents
|
|
57
|
+
- Created quick reference cards for common patterns
|
|
58
|
+
- Documented all constraint mappings with source file line numbers
|
|
59
|
+
|
|
60
|
+
### Developer Experience
|
|
61
|
+
- AI agents can now self-diagnose and fix common errors using enhanced error messages
|
|
62
|
+
- Reduced trial-and-error cycles with upfront workflow documentation
|
|
63
|
+
- Improved discoverability with centralized documentation
|
|
64
|
+
- Better maintainability with single source of truth for constraints
|
|
65
|
+
|
|
66
|
+
## [1.0.4] - 2025-09-18
|
|
67
|
+
|
|
68
|
+
### Added
|
|
69
|
+
- Initial release with 28 MCP tools for Gala Launchpad
|
|
70
|
+
- Support for trading, balance queries, pool management, and token creation
|
|
71
|
+
- Integration with `@gala-chain/launchpad-sdk` v3.1.0
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
**Migration Guide v1.0.4 → v1.1.0:**
|
|
76
|
+
|
|
77
|
+
⚠️ **Breaking Changes:**
|
|
78
|
+
- If your code uses `limit` values > 20 for `fetchTrades`, `fetchTokensHeld`, or `fetchTokensCreated`, reduce to ≤ 20
|
|
79
|
+
- If your code uses `limit` values > 50 for `fetchComments`, reduce to ≤ 50
|
|
80
|
+
- These limits now match the SDK's actual validation constraints
|
|
81
|
+
|
|
82
|
+
✅ **Recommended Actions:**
|
|
83
|
+
1. Update any hardcoded `limit` values to respect new constraints
|
|
84
|
+
2. Review trading workflows to ensure `expectedAmount` uses calculated `result.amount`
|
|
85
|
+
3. Consult `docs/AI-AGENT-PATTERNS.md` for updated best practices
|
|
86
|
+
4. Leverage enhanced error messages for faster debugging
|
|
87
|
+
|
|
88
|
+
📚 **New Documentation:**
|
|
89
|
+
- `docs/AI-AGENT-PATTERNS.md` - AI agent guide
|
|
90
|
+
- `docs/CONSTRAINTS-REFERENCE.md` - Constraint mappings
|
|
91
|
+
- `src/utils/constraints.ts` - Constraint constants
|
|
@@ -89,8 +89,8 @@ exports.fetchTokensHeldTool = {
|
|
|
89
89
|
limit: {
|
|
90
90
|
type: 'number',
|
|
91
91
|
minimum: 1,
|
|
92
|
-
maximum:
|
|
93
|
-
description: 'Results per page (default: 20)',
|
|
92
|
+
maximum: 20, // USER_CONSTRAINTS.PAGINATION.MAX_LIMIT from SDK
|
|
93
|
+
description: 'Results per page (default: 20, maximum: 20)',
|
|
94
94
|
},
|
|
95
95
|
tokenName: {
|
|
96
96
|
type: 'string',
|
|
@@ -134,8 +134,8 @@ exports.fetchTokensCreatedTool = {
|
|
|
134
134
|
limit: {
|
|
135
135
|
type: 'number',
|
|
136
136
|
minimum: 1,
|
|
137
|
-
maximum:
|
|
138
|
-
description: 'Results per page (default: 20)',
|
|
137
|
+
maximum: 20, // USER_CONSTRAINTS.PAGINATION.MAX_LIMIT from SDK
|
|
138
|
+
description: 'Results per page (default: 20, maximum: 20)',
|
|
139
139
|
},
|
|
140
140
|
tokenName: {
|
|
141
141
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/balance/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEjE,wBAAwB;AACX,QAAA,oBAAoB,GAAY;IAC3C,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,mDAAmD;aACjE;SACF;KACF;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,yDAAyD;AAC5C,QAAA,qBAAqB,GAAY;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE,2PAA2P;IACxQ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,gBAAgB;aAC9B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;KACzC;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,4EAA4E;QAC5E,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS,EAAG,+BAA+B;YAC3D,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC,EAAG,iDAAiD;SAC7D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,4BAA4B;QAEzE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAA,qCAAa,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAA,qCAAa,EAAC;YACnB,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,OAAO;YAC/C,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,GAAG,aAAa,CAAC,UAAU,IAAI,OAAO,SAAS,aAAa,CAAC,MAAM,OAAO;YACnF,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC;AAEF,gDAAgD;AACnC,QAAA,mBAAmB,GAAY;IAC1C,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,kJAAkJ;IAC/J,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,gBAAgB;aAC9B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,0BAA0B;aACxC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/balance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/creation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/creation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,OA0F7B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,OA+BlC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OA4BpC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,EAIlC,CAAC"}
|
|
@@ -42,7 +42,17 @@ const error_handler_js_1 = require("../../utils/error-handler.js");
|
|
|
42
42
|
// 1. Launch Token
|
|
43
43
|
exports.launchTokenTool = {
|
|
44
44
|
name: 'gala_launchpad_launch_token',
|
|
45
|
-
description:
|
|
45
|
+
description: `Create a new token on the launchpad.
|
|
46
|
+
|
|
47
|
+
WORKFLOW:
|
|
48
|
+
1. checkTokenName() → Verify name is available
|
|
49
|
+
2. checkTokenSymbol() → Verify symbol is available
|
|
50
|
+
3. launchToken() → Create token with validated name/symbol
|
|
51
|
+
4. getUrlByTokenName() → Get frontend URL for the new token
|
|
52
|
+
|
|
53
|
+
REQUIREMENT: At least one social URL (websiteUrl, twitterUrl, or telegramUrl) is required.
|
|
54
|
+
|
|
55
|
+
RETURNS: Transaction details including token name, symbol, creator address, and transaction ID`,
|
|
46
56
|
inputSchema: {
|
|
47
57
|
type: 'object',
|
|
48
58
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/creation/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEjE,kBAAkB;AACL,QAAA,eAAe,GAAY;IACtC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/creation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,8 @@ exports.fetchPoolsTool = {
|
|
|
31
31
|
limit: {
|
|
32
32
|
type: 'number',
|
|
33
33
|
minimum: 1,
|
|
34
|
-
maximum: 100,
|
|
35
|
-
description: 'Results per page (default: 20)',
|
|
34
|
+
maximum: 100, // PAGINATION_CONSTRAINTS.MAX_LIMIT from SDK (pools use general limit)
|
|
35
|
+
description: 'Results per page (default: 20, maximum: 100)',
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,6EAAiF;AACjF,mEAAiE;AAEjE,iBAAiB;AACJ,QAAA,cAAc,GAAY;IACrC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;gBACpC,WAAW,EAAE,0CAA0C;aACxD;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,sCAAsC;aACpD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,0BAA0B;aACxC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,6EAAiF;AACjF,mEAAiE;AAEjE,iBAAiB;AACJ,QAAA,cAAc,GAAY;IACrC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;gBACpC,WAAW,EAAE,0CAA0C;aACxD;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,sCAAsC;aACpD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,0BAA0B;aACxC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG,EAAE,sEAAsE;gBACpF,WAAW,EAAE,8CAA8C;aAC5D;SACF;KACF;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,wBAAwB;AACX,QAAA,oBAAoB,GAAY;IAC3C,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,sDAAsD;IACnE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,8BAA8B;AACjB,QAAA,0BAA0B,GAAY;IACjD,IAAI,EAAE,yCAAyC;IAC/C,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,wBAAwB;AACX,QAAA,oBAAoB,GAAY;IAC3C,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kDAAkD;IAC/D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,uBAAuB;AACV,QAAA,mBAAmB,GAAY;IAC1C,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,2CAA2C;IACxD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,uBAAuB;aACrC;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,qBAAqB;aACnC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC3C,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC;AAEF,sBAAsB;AACT,QAAA,kBAAkB,GAAY;IACzC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,qBAAqB;aACnC;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAA,qCAAa,EAClB,SAAS,EACT,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,6BAA6B,CACtE,CAAC;IACJ,CAAC,CAAC;CACH,CAAC;AAEF,wBAAwB;AACX,QAAA,oBAAoB,GAAY;IAC3C,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,uBAAuB;aACrC;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,IAAA,qCAAa,EAClB,SAAS,EACT,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,+BAA+B,CAC1E,CAAC;IACJ,CAAC,CAAC;CACH,CAAC;AAEF,2BAA2B;AACd,QAAA,uBAAuB,GAAY;IAC9C,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EAAE,gEAAgE;IAC7E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,IAAA,qCAAa,EAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;CACH,CAAC;AAEW,QAAA,SAAS,GAAc;IAClC,sBAAc;IACd,4BAAoB;IACpB,kCAA0B;IAC1B,4BAAoB;IACpB,2BAAmB;IACnB,0BAAkB;IAClB,4BAAoB;IACpB,+BAAuB;CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/social/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/social/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,OA2C7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAiC/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAAO,EAAyC,CAAC"}
|
|
@@ -27,9 +27,26 @@ exports.postCommentTool = {
|
|
|
27
27
|
required: ['tokenName', 'content'],
|
|
28
28
|
},
|
|
29
29
|
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
30
|
+
// Extract text from MCP content blocks format
|
|
31
|
+
let contentText;
|
|
32
|
+
if (typeof args.content === 'string') {
|
|
33
|
+
// Direct string (fallback for backward compatibility)
|
|
34
|
+
contentText = args.content;
|
|
35
|
+
}
|
|
36
|
+
else if (Array.isArray(args.content) && args.content.length > 0) {
|
|
37
|
+
// MCP content blocks format: [{ type: "text", text: "..." }]
|
|
38
|
+
const textBlock = args.content.find((block) => block.type === 'text');
|
|
39
|
+
if (!textBlock || !textBlock.text) {
|
|
40
|
+
throw new Error('No text content found in content blocks');
|
|
41
|
+
}
|
|
42
|
+
contentText = textBlock.text;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new Error('Invalid content format - expected string or MCP content blocks array');
|
|
46
|
+
}
|
|
30
47
|
const result = await sdk.postComment({
|
|
31
48
|
tokenName: args.tokenName,
|
|
32
|
-
content:
|
|
49
|
+
content: contentText,
|
|
33
50
|
});
|
|
34
51
|
return (0, response_formatter_js_1.formatSuccess)(result);
|
|
35
52
|
}),
|
|
@@ -54,8 +71,8 @@ exports.fetchCommentsTool = {
|
|
|
54
71
|
limit: {
|
|
55
72
|
type: 'number',
|
|
56
73
|
minimum: 1,
|
|
57
|
-
maximum:
|
|
58
|
-
description: 'Results per page (default: 20)',
|
|
74
|
+
maximum: 50, // COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT from SDK
|
|
75
|
+
description: 'Results per page (default: 20, maximum: 50)',
|
|
59
76
|
},
|
|
60
77
|
},
|
|
61
78
|
required: ['tokenName'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/social/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEjE,kBAAkB;AACL,QAAA,eAAe,GAAY;IACtC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,iBAAiB;aAC/B;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;KACnC;IACD,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/social/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/trading/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/trading/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,sBAAsB,EAAE,OAwCpC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OAwCrC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAsE3B,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,OAsE5B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OA8D7B,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OA4BrC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,EAOjC,CAAC"}
|
|
@@ -26,7 +26,15 @@ exports.calculateBuyAmountTool = {
|
|
|
26
26
|
type: {
|
|
27
27
|
type: 'string',
|
|
28
28
|
enum: ['native', 'token'],
|
|
29
|
-
description:
|
|
29
|
+
description: `Trade calculation type:
|
|
30
|
+
|
|
31
|
+
- 'native': You specify GALA amount to spend
|
|
32
|
+
Example: "I want to spend 10 GALA to buy tokens" → type: 'native', amount: '10'
|
|
33
|
+
|
|
34
|
+
- 'token': You specify exact token amount to buy
|
|
35
|
+
Example: "I want to buy exactly 1000 WOO tokens" → type: 'token', amount: '1000'
|
|
36
|
+
|
|
37
|
+
Most common: Use 'native' when you know how much GALA to spend`,
|
|
30
38
|
},
|
|
31
39
|
},
|
|
32
40
|
required: ['tokenName', 'amount', 'type'],
|
|
@@ -60,7 +68,15 @@ exports.calculateSellAmountTool = {
|
|
|
60
68
|
type: {
|
|
61
69
|
type: 'string',
|
|
62
70
|
enum: ['native', 'token'],
|
|
63
|
-
description:
|
|
71
|
+
description: `Trade calculation type:
|
|
72
|
+
|
|
73
|
+
- 'native': You specify GALA amount you want to receive
|
|
74
|
+
Example: "I want to receive 10 GALA from selling tokens" → type: 'native', amount: '10'
|
|
75
|
+
|
|
76
|
+
- 'token': You specify exact token amount to sell
|
|
77
|
+
Example: "I want to sell exactly 1000 WOO tokens" → type: 'token', amount: '1000'
|
|
78
|
+
|
|
79
|
+
Most common: Use 'native' when you know how much GALA you want to receive`,
|
|
64
80
|
},
|
|
65
81
|
},
|
|
66
82
|
required: ['tokenName', 'amount', 'type'],
|
|
@@ -77,7 +93,16 @@ exports.calculateSellAmountTool = {
|
|
|
77
93
|
// 3. Buy Tokens
|
|
78
94
|
exports.buyTokensTool = {
|
|
79
95
|
name: 'gala_launchpad_buy_tokens',
|
|
80
|
-
description:
|
|
96
|
+
description: `Execute token purchase with slippage protection.
|
|
97
|
+
|
|
98
|
+
WORKFLOW:
|
|
99
|
+
1. calculateBuyAmount() → Get expected output (result.amount)
|
|
100
|
+
2. buy() → Execute trade with expectedAmount = result.amount
|
|
101
|
+
3. fetchTrades() → Verify trade completed
|
|
102
|
+
|
|
103
|
+
CRITICAL: Use result.amount from calculateBuyAmount as expectedAmount parameter.
|
|
104
|
+
|
|
105
|
+
RETURNS: Transaction details including input/output amounts and transaction ID`,
|
|
81
106
|
inputSchema: {
|
|
82
107
|
type: 'object',
|
|
83
108
|
properties: {
|
|
@@ -94,12 +119,28 @@ exports.buyTokensTool = {
|
|
|
94
119
|
type: {
|
|
95
120
|
type: 'string',
|
|
96
121
|
enum: ['native', 'token'],
|
|
97
|
-
description:
|
|
122
|
+
description: `Trade type (must match what you used in calculateBuyAmount):
|
|
123
|
+
|
|
124
|
+
- 'native': Spending GALA amount
|
|
125
|
+
- 'token': Buying exact token amount`,
|
|
98
126
|
},
|
|
99
127
|
expectedAmount: {
|
|
100
128
|
type: 'string',
|
|
101
129
|
pattern: '^[0-9.]+$',
|
|
102
|
-
description:
|
|
130
|
+
description: `Expected token output amount from calculateBuyAmount (REQUIRED).
|
|
131
|
+
|
|
132
|
+
CRITICAL: This is the 'amount' field from calculateBuyAmount result, NOT your input amount.
|
|
133
|
+
|
|
134
|
+
WORKFLOW:
|
|
135
|
+
1. Call calculateBuyAmount({ tokenName, amount, type })
|
|
136
|
+
2. Extract result.amount from the response
|
|
137
|
+
3. Use result.amount as this expectedAmount parameter
|
|
138
|
+
|
|
139
|
+
EXAMPLE:
|
|
140
|
+
const calc = await calculateBuyAmount({ tokenName: 'woohoo', amount: '10', type: 'native' });
|
|
141
|
+
// calc.amount = "16843.7579794843252"
|
|
142
|
+
await buy({ tokenName: 'woohoo', amount: '10', type: 'native', expectedAmount: calc.amount, ... });
|
|
143
|
+
// Use calc.amount ("16843.7579794843252"), NOT the input '10'`,
|
|
103
144
|
},
|
|
104
145
|
slippageToleranceFactor: {
|
|
105
146
|
type: 'number',
|
|
@@ -124,7 +165,16 @@ exports.buyTokensTool = {
|
|
|
124
165
|
// 4. Sell Tokens
|
|
125
166
|
exports.sellTokensTool = {
|
|
126
167
|
name: 'gala_launchpad_sell_tokens',
|
|
127
|
-
description:
|
|
168
|
+
description: `Execute token sale with slippage protection.
|
|
169
|
+
|
|
170
|
+
WORKFLOW:
|
|
171
|
+
1. calculateSellAmount() → Get expected output (result.amount)
|
|
172
|
+
2. sell() → Execute trade with expectedAmount = result.amount
|
|
173
|
+
3. fetchTrades() → Verify trade completed
|
|
174
|
+
|
|
175
|
+
CRITICAL: Use result.amount from calculateSellAmount as expectedAmount parameter.
|
|
176
|
+
|
|
177
|
+
RETURNS: Transaction details including input/output amounts and transaction ID`,
|
|
128
178
|
inputSchema: {
|
|
129
179
|
type: 'object',
|
|
130
180
|
properties: {
|
|
@@ -141,12 +191,28 @@ exports.sellTokensTool = {
|
|
|
141
191
|
type: {
|
|
142
192
|
type: 'string',
|
|
143
193
|
enum: ['native', 'token'],
|
|
144
|
-
description:
|
|
194
|
+
description: `Trade type (must match what you used in calculateSellAmount):
|
|
195
|
+
|
|
196
|
+
- 'native': Receiving GALA amount
|
|
197
|
+
- 'token': Selling exact token amount`,
|
|
145
198
|
},
|
|
146
199
|
expectedAmount: {
|
|
147
200
|
type: 'string',
|
|
148
201
|
pattern: '^[0-9.]+$',
|
|
149
|
-
description:
|
|
202
|
+
description: `Expected GALA output amount from calculateSellAmount (REQUIRED).
|
|
203
|
+
|
|
204
|
+
CRITICAL: This is the 'amount' field from calculateSellAmount result, NOT your input amount.
|
|
205
|
+
|
|
206
|
+
WORKFLOW:
|
|
207
|
+
1. Call calculateSellAmount({ tokenName, amount, type })
|
|
208
|
+
2. Extract result.amount from the response
|
|
209
|
+
3. Use result.amount as this expectedAmount parameter
|
|
210
|
+
|
|
211
|
+
EXAMPLE:
|
|
212
|
+
const calc = await calculateSellAmount({ tokenName: 'woohoo', amount: '10', type: 'native' });
|
|
213
|
+
// calc.amount = "16843.7579794843252"
|
|
214
|
+
await sell({ tokenName: 'woohoo', amount: '10', type: 'native', expectedAmount: calc.amount, ... });
|
|
215
|
+
// Use calc.amount ("16843.7579794843252"), NOT the input '10'`,
|
|
150
216
|
},
|
|
151
217
|
slippageToleranceFactor: {
|
|
152
218
|
type: 'number',
|
|
@@ -198,8 +264,8 @@ exports.fetchTradesTool = {
|
|
|
198
264
|
limit: {
|
|
199
265
|
type: 'number',
|
|
200
266
|
minimum: 1,
|
|
201
|
-
maximum:
|
|
202
|
-
description: 'Results per page (default: 20)',
|
|
267
|
+
maximum: 20, // TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT from SDK
|
|
268
|
+
description: 'Results per page (default: 20, maximum: 20)',
|
|
203
269
|
},
|
|
204
270
|
startDate: {
|
|
205
271
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/trading/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEjE,0BAA0B;AACb,QAAA,sBAAsB,GAAY;IAC7C,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EAAE,uDAAuD;IACpE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,YAAY;aAC1B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,0DAA0D;aACxE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACzB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/trading/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central Constraints Reference
|
|
3
|
+
*
|
|
4
|
+
* This file documents the pagination limits enforced by the SDK for different operations.
|
|
5
|
+
* These constants are imported from the SDK's internal constraint definitions and serve
|
|
6
|
+
* as the single source of truth for MCP tool schema validation.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: Always keep these in sync with the SDK's actual constraints:
|
|
9
|
+
* - TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT (trade.dto.ts)
|
|
10
|
+
* - USER_CONSTRAINTS.PAGINATION.MAX_LIMIT (user.dto.ts)
|
|
11
|
+
* - PAGINATION_CONSTRAINTS.MAX_LIMIT (launchpad.dto.ts)
|
|
12
|
+
* - COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT (comment.dto.ts)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* MCP Tool Constraint Constants
|
|
16
|
+
*
|
|
17
|
+
* These values MUST match the SDK's internal constraint definitions to prevent
|
|
18
|
+
* validation errors when AI agents use the MCP tools.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MCP_CONSTRAINTS: {
|
|
21
|
+
/**
|
|
22
|
+
* Trade operations limit (fetchTrades)
|
|
23
|
+
* Source: TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
24
|
+
* SDK File: packages/sdk/src/types/trade.dto.ts:331
|
|
25
|
+
*/
|
|
26
|
+
readonly TRADE_LIMIT: 20;
|
|
27
|
+
/**
|
|
28
|
+
* User operations limit (fetchTokensHeld, fetchTokensCreated)
|
|
29
|
+
* Source: USER_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
30
|
+
* SDK File: packages/sdk/src/types/user.dto.ts:297
|
|
31
|
+
*/
|
|
32
|
+
readonly USER_LIMIT: 20;
|
|
33
|
+
/**
|
|
34
|
+
* General pool operations limit (fetchPools)
|
|
35
|
+
* Source: PAGINATION_CONSTRAINTS.MAX_LIMIT
|
|
36
|
+
* SDK File: packages/sdk/src/types/launchpad.dto.ts:587
|
|
37
|
+
*/
|
|
38
|
+
readonly POOL_LIMIT: 100;
|
|
39
|
+
/**
|
|
40
|
+
* Comment operations limit (fetchComments)
|
|
41
|
+
* Source: COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
42
|
+
* SDK File: packages/sdk/src/types/comment.dto.ts:149
|
|
43
|
+
*/
|
|
44
|
+
readonly COMMENT_LIMIT: 50;
|
|
45
|
+
/**
|
|
46
|
+
* Minimum limit for all pagination operations
|
|
47
|
+
*/
|
|
48
|
+
readonly MIN_LIMIT: 1;
|
|
49
|
+
/**
|
|
50
|
+
* Minimum page number for all pagination operations
|
|
51
|
+
*/
|
|
52
|
+
readonly MIN_PAGE: 1;
|
|
53
|
+
/**
|
|
54
|
+
* Maximum page number for all pagination operations
|
|
55
|
+
*/
|
|
56
|
+
readonly MAX_PAGE: 1000;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Constraint usage reference for MCP tool developers
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* // Trading tools (fetchTrades)
|
|
63
|
+
* limit: {
|
|
64
|
+
* type: 'number',
|
|
65
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
66
|
+
* maximum: MCP_CONSTRAINTS.TRADE_LIMIT, // 20
|
|
67
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.TRADE_LIMIT})`
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // Balance/User tools (fetchTokensHeld, fetchTokensCreated)
|
|
72
|
+
* limit: {
|
|
73
|
+
* type: 'number',
|
|
74
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
75
|
+
* maximum: MCP_CONSTRAINTS.USER_LIMIT, // 20
|
|
76
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.USER_LIMIT})`
|
|
77
|
+
* }
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* // Pool tools (fetchPools)
|
|
81
|
+
* limit: {
|
|
82
|
+
* type: 'number',
|
|
83
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
84
|
+
* maximum: MCP_CONSTRAINTS.POOL_LIMIT, // 100
|
|
85
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.POOL_LIMIT})`
|
|
86
|
+
* }
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* // Social tools (fetchComments)
|
|
90
|
+
* limit: {
|
|
91
|
+
* type: 'number',
|
|
92
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
93
|
+
* maximum: MCP_CONSTRAINTS.COMMENT_LIMIT, // 50
|
|
94
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.COMMENT_LIMIT})`
|
|
95
|
+
* }
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* Validation helper to check if a limit value is valid for a specific operation type
|
|
99
|
+
*
|
|
100
|
+
* @param limit The limit value to validate
|
|
101
|
+
* @param operationType The type of operation ('trade' | 'user' | 'pool' | 'comment')
|
|
102
|
+
* @returns true if valid, false otherwise
|
|
103
|
+
*/
|
|
104
|
+
export declare function isValidLimit(limit: number, operationType: 'trade' | 'user' | 'pool' | 'comment'): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Get the maximum limit for a specific operation type
|
|
107
|
+
*
|
|
108
|
+
* @param operationType The type of operation
|
|
109
|
+
* @returns The maximum limit value
|
|
110
|
+
*/
|
|
111
|
+
export declare function getMaxLimit(operationType: 'trade' | 'user' | 'pool' | 'comment'): number;
|
|
112
|
+
//# sourceMappingURL=constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/utils/constraints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEK,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GACnD,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CASxF"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Central Constraints Reference
|
|
4
|
+
*
|
|
5
|
+
* This file documents the pagination limits enforced by the SDK for different operations.
|
|
6
|
+
* These constants are imported from the SDK's internal constraint definitions and serve
|
|
7
|
+
* as the single source of truth for MCP tool schema validation.
|
|
8
|
+
*
|
|
9
|
+
* IMPORTANT: Always keep these in sync with the SDK's actual constraints:
|
|
10
|
+
* - TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT (trade.dto.ts)
|
|
11
|
+
* - USER_CONSTRAINTS.PAGINATION.MAX_LIMIT (user.dto.ts)
|
|
12
|
+
* - PAGINATION_CONSTRAINTS.MAX_LIMIT (launchpad.dto.ts)
|
|
13
|
+
* - COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT (comment.dto.ts)
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.MCP_CONSTRAINTS = void 0;
|
|
17
|
+
exports.isValidLimit = isValidLimit;
|
|
18
|
+
exports.getMaxLimit = getMaxLimit;
|
|
19
|
+
/**
|
|
20
|
+
* MCP Tool Constraint Constants
|
|
21
|
+
*
|
|
22
|
+
* These values MUST match the SDK's internal constraint definitions to prevent
|
|
23
|
+
* validation errors when AI agents use the MCP tools.
|
|
24
|
+
*/
|
|
25
|
+
exports.MCP_CONSTRAINTS = {
|
|
26
|
+
/**
|
|
27
|
+
* Trade operations limit (fetchTrades)
|
|
28
|
+
* Source: TRADE_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
29
|
+
* SDK File: packages/sdk/src/types/trade.dto.ts:331
|
|
30
|
+
*/
|
|
31
|
+
TRADE_LIMIT: 20,
|
|
32
|
+
/**
|
|
33
|
+
* User operations limit (fetchTokensHeld, fetchTokensCreated)
|
|
34
|
+
* Source: USER_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
35
|
+
* SDK File: packages/sdk/src/types/user.dto.ts:297
|
|
36
|
+
*/
|
|
37
|
+
USER_LIMIT: 20,
|
|
38
|
+
/**
|
|
39
|
+
* General pool operations limit (fetchPools)
|
|
40
|
+
* Source: PAGINATION_CONSTRAINTS.MAX_LIMIT
|
|
41
|
+
* SDK File: packages/sdk/src/types/launchpad.dto.ts:587
|
|
42
|
+
*/
|
|
43
|
+
POOL_LIMIT: 100,
|
|
44
|
+
/**
|
|
45
|
+
* Comment operations limit (fetchComments)
|
|
46
|
+
* Source: COMMENT_CONSTRAINTS.PAGINATION.MAX_LIMIT
|
|
47
|
+
* SDK File: packages/sdk/src/types/comment.dto.ts:149
|
|
48
|
+
*/
|
|
49
|
+
COMMENT_LIMIT: 50,
|
|
50
|
+
/**
|
|
51
|
+
* Minimum limit for all pagination operations
|
|
52
|
+
*/
|
|
53
|
+
MIN_LIMIT: 1,
|
|
54
|
+
/**
|
|
55
|
+
* Minimum page number for all pagination operations
|
|
56
|
+
*/
|
|
57
|
+
MIN_PAGE: 1,
|
|
58
|
+
/**
|
|
59
|
+
* Maximum page number for all pagination operations
|
|
60
|
+
*/
|
|
61
|
+
MAX_PAGE: 1000,
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Constraint usage reference for MCP tool developers
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* // Trading tools (fetchTrades)
|
|
68
|
+
* limit: {
|
|
69
|
+
* type: 'number',
|
|
70
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
71
|
+
* maximum: MCP_CONSTRAINTS.TRADE_LIMIT, // 20
|
|
72
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.TRADE_LIMIT})`
|
|
73
|
+
* }
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* // Balance/User tools (fetchTokensHeld, fetchTokensCreated)
|
|
77
|
+
* limit: {
|
|
78
|
+
* type: 'number',
|
|
79
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
80
|
+
* maximum: MCP_CONSTRAINTS.USER_LIMIT, // 20
|
|
81
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.USER_LIMIT})`
|
|
82
|
+
* }
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* // Pool tools (fetchPools)
|
|
86
|
+
* limit: {
|
|
87
|
+
* type: 'number',
|
|
88
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
89
|
+
* maximum: MCP_CONSTRAINTS.POOL_LIMIT, // 100
|
|
90
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.POOL_LIMIT})`
|
|
91
|
+
* }
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Social tools (fetchComments)
|
|
95
|
+
* limit: {
|
|
96
|
+
* type: 'number',
|
|
97
|
+
* minimum: MCP_CONSTRAINTS.MIN_LIMIT,
|
|
98
|
+
* maximum: MCP_CONSTRAINTS.COMMENT_LIMIT, // 50
|
|
99
|
+
* description: `Results per page (default: 20, maximum: ${MCP_CONSTRAINTS.COMMENT_LIMIT})`
|
|
100
|
+
* }
|
|
101
|
+
*/
|
|
102
|
+
/**
|
|
103
|
+
* Validation helper to check if a limit value is valid for a specific operation type
|
|
104
|
+
*
|
|
105
|
+
* @param limit The limit value to validate
|
|
106
|
+
* @param operationType The type of operation ('trade' | 'user' | 'pool' | 'comment')
|
|
107
|
+
* @returns true if valid, false otherwise
|
|
108
|
+
*/
|
|
109
|
+
function isValidLimit(limit, operationType) {
|
|
110
|
+
if (!Number.isInteger(limit) || limit < exports.MCP_CONSTRAINTS.MIN_LIMIT) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
const maxLimits = {
|
|
114
|
+
trade: exports.MCP_CONSTRAINTS.TRADE_LIMIT,
|
|
115
|
+
user: exports.MCP_CONSTRAINTS.USER_LIMIT,
|
|
116
|
+
pool: exports.MCP_CONSTRAINTS.POOL_LIMIT,
|
|
117
|
+
comment: exports.MCP_CONSTRAINTS.COMMENT_LIMIT,
|
|
118
|
+
};
|
|
119
|
+
return limit <= maxLimits[operationType];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get the maximum limit for a specific operation type
|
|
123
|
+
*
|
|
124
|
+
* @param operationType The type of operation
|
|
125
|
+
* @returns The maximum limit value
|
|
126
|
+
*/
|
|
127
|
+
function getMaxLimit(operationType) {
|
|
128
|
+
const maxLimits = {
|
|
129
|
+
trade: exports.MCP_CONSTRAINTS.TRADE_LIMIT,
|
|
130
|
+
user: exports.MCP_CONSTRAINTS.USER_LIMIT,
|
|
131
|
+
pool: exports.MCP_CONSTRAINTS.POOL_LIMIT,
|
|
132
|
+
comment: exports.MCP_CONSTRAINTS.COMMENT_LIMIT,
|
|
133
|
+
};
|
|
134
|
+
return maxLimits[operationType];
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=constraints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/utils/constraints.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAoGH,oCAgBC;AAQD,kCASC;AAnID;;;;;GAKG;AACU,QAAA,eAAe,GAAG;IAC7B;;;;OAIG;IACH,WAAW,EAAE,EAAE;IAEf;;;;OAIG;IACH,UAAU,EAAE,EAAE;IAEd;;;;OAIG;IACH,UAAU,EAAE,GAAG;IAEf;;;;OAIG;IACH,aAAa,EAAE,EAAE;IAEjB;;OAEG;IACH,SAAS,EAAE,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,IAAI;CACN,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,aAAoD;IAEpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,uBAAe,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,uBAAe,CAAC,WAAW;QAClC,IAAI,EAAE,uBAAe,CAAC,UAAU;QAChC,IAAI,EAAE,uBAAe,CAAC,UAAU;QAChC,OAAO,EAAE,uBAAe,CAAC,aAAa;KACvC,CAAC;IAEF,OAAO,KAAK,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,aAAoD;IAC9E,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,uBAAe,CAAC,WAAW;QAClC,IAAI,EAAE,uBAAe,CAAC,UAAU;QAChC,IAAI,EAAE,uBAAe,CAAC,UAAU;QAChC,OAAO,EAAE,uBAAe,CAAC,aAAa;KACvC,CAAC;IAEF,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAoB3D;AA+ED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,EACtF,OAAO,EAAE,CAAC,GACT,CAAC,CAQH"}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.formatError = formatError;
|
|
9
9
|
exports.withErrorHandling = withErrorHandling;
|
|
10
10
|
/**
|
|
11
|
-
* Format error for MCP response
|
|
11
|
+
* Format error for MCP response with AI-friendly tips
|
|
12
12
|
*/
|
|
13
13
|
function formatError(error) {
|
|
14
14
|
const errorMessage = error instanceof Error
|
|
@@ -16,16 +16,69 @@ function formatError(error) {
|
|
|
16
16
|
: String(error);
|
|
17
17
|
// Sanitize sensitive information from error messages
|
|
18
18
|
const sanitized = sanitizeError(errorMessage);
|
|
19
|
+
// Add AI-friendly tips for common errors
|
|
20
|
+
const withTips = addAIFriendlyTips(sanitized);
|
|
19
21
|
return {
|
|
20
22
|
content: [
|
|
21
23
|
{
|
|
22
24
|
type: 'text',
|
|
23
|
-
text: `Error: ${
|
|
25
|
+
text: `Error: ${withTips}`,
|
|
24
26
|
},
|
|
25
27
|
],
|
|
26
28
|
isError: true,
|
|
27
29
|
};
|
|
28
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Add AI-friendly tips for common error patterns
|
|
33
|
+
*/
|
|
34
|
+
function addAIFriendlyTips(message) {
|
|
35
|
+
// Limit validation errors
|
|
36
|
+
if (message.includes('Limit must be') || message.includes('between 1 and')) {
|
|
37
|
+
if (message.includes('20')) {
|
|
38
|
+
return `${message}\n\n💡 AI TIP: Trade and user operations have a maximum limit of 20. Use:\n- gala_launchpad_fetch_trades: limit ≤ 20\n- gala_launchpad_fetch_tokens_held: limit ≤ 20\n- gala_launchpad_fetch_tokens_created: limit ≤ 20\n\nSee docs/CONSTRAINTS-REFERENCE.md for details.`;
|
|
39
|
+
}
|
|
40
|
+
if (message.includes('50')) {
|
|
41
|
+
return `${message}\n\n💡 AI TIP: Comment operations have a maximum limit of 50. Use:\n- gala_launchpad_fetch_comments: limit ≤ 50\n\nSee docs/CONSTRAINTS-REFERENCE.md for details.`;
|
|
42
|
+
}
|
|
43
|
+
if (message.includes('100')) {
|
|
44
|
+
return `${message}\n\n💡 AI TIP: Pool operations have a maximum limit of 100. Use:\n- gala_launchpad_fetch_pools: limit ≤ 100\n\nSee docs/CONSTRAINTS-REFERENCE.md for details.`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Token name validation errors
|
|
48
|
+
if (message.includes('token name') && (message.includes('invalid') || message.includes('validation'))) {
|
|
49
|
+
return `${message}\n\n💡 AI TIP: Token names must match pattern ^[a-z0-9_-]{2,20}$:\n- Lowercase letters and numbers only\n- Dashes and underscores allowed\n- Length: 2-20 characters\n- Valid examples: 'mytoken', 'test-token', 'token_123'\n- Invalid: 'MyToken' (uppercase), 'a' (too short), 'my token' (space)`;
|
|
50
|
+
}
|
|
51
|
+
// Token symbol validation errors
|
|
52
|
+
if (message.includes('token symbol') && (message.includes('invalid') || message.includes('validation'))) {
|
|
53
|
+
return `${message}\n\n💡 AI TIP: Token symbols must match pattern ^[A-Z0-9]{2,10}$:\n- Uppercase letters and numbers only\n- No special characters\n- Length: 2-10 characters\n- Valid examples: 'MTK', 'TEST123', 'ABC'\n- Invalid: 'mtk' (lowercase), 'A' (too short), 'MY-TOKEN' (dash)`;
|
|
54
|
+
}
|
|
55
|
+
// Wallet address format errors
|
|
56
|
+
if (message.includes('address') && (message.includes('format') || message.includes('validation'))) {
|
|
57
|
+
return `${message}\n\n💡 AI TIP: Wallet addresses must use format:\n- Backend API: 'eth|{40-hex-chars}' (e.g., 'eth|abc123...')\n- Convert from standard: address.startsWith('0x') ? \`eth|\${address.slice(2)}\` : address\n- Most MCP tools expect 'eth|...' format`;
|
|
58
|
+
}
|
|
59
|
+
// WebSocket/trade timeout errors
|
|
60
|
+
if (message.includes('timeout') || message.includes('WebSocket')) {
|
|
61
|
+
return `${message}\n\n💡 AI TIP: Trade execution timeouts often indicate incorrect expectedAmount parameter.\n\n✅ CORRECT WORKFLOW:\n1. Call calculate_buy_amount() or calculate_sell_amount()\n2. Extract result.amount from response (e.g., "16843.7579794843252")\n3. Use result.amount as expectedAmount in buy() or sell()\n\n❌ WRONG: Using your input amount as expectedAmount\n✅ RIGHT: Using calculated result.amount as expectedAmount\n\nSee docs/AI-AGENT-PATTERNS.md section "Gotcha #1" for examples.`;
|
|
62
|
+
}
|
|
63
|
+
// Slippage/amount errors
|
|
64
|
+
if (message.includes('slippage') || message.includes('amount') && message.includes('expected')) {
|
|
65
|
+
return `${message}\n\n💡 AI TIP: expectedAmount must be the calculated output from calculate functions, NOT your input amount.\n\nExample:\nconst calc = await calculateBuyAmount({ amount: '10', type: 'native', ... });\n// calc.amount = "16843.7579794843252" <- Use THIS as expectedAmount\nawait buy({ amount: '10', expectedAmount: calc.amount, ... });\n\nSee docs/AI-AGENT-PATTERNS.md for complete trading workflow.`;
|
|
66
|
+
}
|
|
67
|
+
// Social URL requirement errors
|
|
68
|
+
if (message.includes('social') || (message.includes('URL') && message.includes('required'))) {
|
|
69
|
+
return `${message}\n\n💡 AI TIP: Token launch requires at least ONE social URL:\n- websiteUrl (e.g., 'https://mytoken.com')\n- twitterUrl (e.g., 'https://twitter.com/mytoken')\n- telegramUrl (e.g., 'https://t.me/mytoken')\n\nProvide at least one in launchToken() call.`;
|
|
70
|
+
}
|
|
71
|
+
// Type parameter confusion
|
|
72
|
+
if (message.includes('type') && (message.includes('native') || message.includes('token'))) {
|
|
73
|
+
return `${message}\n\n💡 AI TIP: Trading type parameter:\n- 'native': You specify GALA amount (most common)\n Example: "I want to spend 10 GALA" → type: 'native', amount: '10'\n- 'token': You specify exact token amount\n Example: "I want to buy exactly 1000 tokens" → type: 'token', amount: '1000'\n\nSee docs/AI-AGENT-PATTERNS.md section "Gotcha #3" for details.`;
|
|
74
|
+
}
|
|
75
|
+
// Generic validation error
|
|
76
|
+
if (message.includes('validation') || message.includes('invalid')) {
|
|
77
|
+
return `${message}\n\n💡 AI TIP: Check parameter formats in docs/AI-AGENT-PATTERNS.md\nCommon validation rules:\n- tokenName: ^[a-z0-9_-]{2,20}$ (lowercase, 2-20 chars)\n- tokenSymbol: ^[A-Z0-9]{2,10}$ (uppercase, 2-10 chars)\n- walletAddress: 'eth|...' format\n- amount: ^[0-9.]+$ (decimal string)\n- limits: See CONSTRAINTS-REFERENCE.md`;
|
|
78
|
+
}
|
|
79
|
+
// No specific tip found, return original message
|
|
80
|
+
return message;
|
|
81
|
+
}
|
|
29
82
|
/**
|
|
30
83
|
* Sanitize error messages to remove sensitive information
|
|
31
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAOH,
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAOH,kCAoBC;AAkFD,8CAUC;AAnHD;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK;QACzC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAElB,qDAAqD;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAE9C,yCAAyC;IACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU,QAAQ,EAAE;aAC3B;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,0BAA0B;IAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,2QAA2Q,CAAC;QAC/R,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,mKAAmK,CAAC;QACvL,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,OAAO,+JAA+J,CAAC;QACnL,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,GAAG,OAAO,qSAAqS,CAAC;IACzT,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACxG,OAAO,GAAG,OAAO,0QAA0Q,CAAC;IAC9R,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,GAAG,OAAO,qPAAqP,CAAC;IACzQ,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,GAAG,OAAO,meAAme,CAAC;IACvf,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,OAAO,GAAG,OAAO,+YAA+Y,CAAC;IACna,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,GAAG,OAAO,4PAA4P,CAAC;IAChR,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,GAAG,OAAO,6VAA6V,CAAC;IACjX,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,OAAO,kUAAkU,CAAC;IACtV,CAAC;IAED,iDAAiD;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,sBAAsB;IACtB,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAE/D,gDAAgD;IAChD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAElE,8CAA8C;IAC9C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,OAAU;IAEV,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAM,CAAC;AACV,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gala-chain/launchpad-mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "MCP server for Gala Launchpad SDK with 28 tools - AI agents can interact with Gala Launchpad",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"registry": "https://registry.npmjs.org/"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@gala-chain/launchpad-sdk": "^3.
|
|
59
|
+
"@gala-chain/launchpad-sdk": "^3.2.0",
|
|
60
60
|
"@modelcontextprotocol/sdk": "^0.5.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|