@gala-chain/launchpad-mcp-server 8.0.0 → 8.0.2

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.
@@ -3,5 +3,5 @@
3
3
  * This file is generated by scripts/inject-version.ts during build
4
4
  * DO NOT EDIT MANUALLY
5
5
  */
6
- export declare const MCP_SERVER_VERSION = "8.0.0";
6
+ export declare const MCP_SERVER_VERSION = "8.0.2";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * This file is generated by scripts/inject-version.ts during build
4
4
  * DO NOT EDIT MANUALLY
5
5
  */
6
- export const MCP_SERVER_VERSION = '8.0.0';
6
+ export const MCP_SERVER_VERSION = '8.0.2';
7
7
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  /** Shared formatting and argument helpers for the v6 GSwap MCP tools. */
2
2
  import type { GSwap, Position, PriceIn, Slot0, TradingSymbol } from '@gala-chain/gswap-sdk';
3
3
  import type { LaunchpadSDK } from '@gala-chain/launchpad-sdk';
4
- import type { MCPTool } from '../../types/mcp.js';
4
+ import type { MCPTool, MCPToolResponse } from '../../types/mcp.js';
5
5
  export interface TokenPairParams {
6
6
  token0: string;
7
7
  token1: string;
@@ -14,6 +14,15 @@ export interface TokenPairWithTicksParams extends TokenPairParams {
14
14
  export declare function extractTokenPairParams(args: Record<string, unknown>): TokenPairParams;
15
15
  export declare function extractTokenPairWithTicksParams(args: Record<string, unknown>): TokenPairWithTicksParams;
16
16
  export declare function mapTokenAssets(result: unknown): Array<Record<string, unknown>>;
17
+ /**
18
+ * The machine-readable answer when a wallet's balances could not be read: `balancesAvailable: false`
19
+ * and NO asset list, so an agent can never read the outage as "the wallet is empty". Returns null
20
+ * when the error is not a balance-source failure (the caller rethrows it for the generic tips).
21
+ */
22
+ export declare function balancesUnavailableResponse(walletAddress: string, error: unknown, progress?: {
23
+ page: number;
24
+ assetsRead: number;
25
+ }): MCPToolResponse | null;
17
26
  export declare function mapTokenMetadataArray(tokens: TradingSymbol[]): Array<Record<string, unknown>>;
18
27
  export declare function formatFeeTierPercent(fee: number): string;
19
28
  export declare function formatFeeTiersPercent(fees: number[]): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/helpers.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EAEP,KAAK,EACL,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAMrF;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAMvG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAY9E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAU7F;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAoCpE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAyB1E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB1E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAErF;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjE;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAG1F;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AA4BD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/helpers.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EAEP,KAAK,EACL,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASnE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAMrF;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAMvG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAY9E;AAeD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,eAAe,GAAG,IAAI,CA2BxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAU7F;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAoCpE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAyB1E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB1E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAErF;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjE;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAG1F;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AA4BD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /** Shared formatting and argument helpers for the v6 GSwap MCP tools. */
2
+ import { extractErrorDetails } from '../../utils/error-templates.js';
2
3
  import { formatSdkResult, formatSuccess } from '../../utils/response-formatter.js';
3
4
  import { withErrorHandling } from '../../utils/error-handler.js';
4
5
  import { DEX_POOL_QUOTE_INPUT_SCHEMA, SWAP_QUOTE_INPUT_SCHEMA, } from '../../schemas/common-schemas.js';
@@ -29,6 +30,47 @@ export function mapTokenAssets(result) {
29
30
  quantity: token.quantity,
30
31
  }));
31
32
  }
33
+ /**
34
+ * gswap-sdk codes for "the balance source did not give a usable answer": the backend answered with
35
+ * an error status (defi-backend answers a failed balance lookup on `/user/assets` with an error,
36
+ * never with zero rows), the request timed out or never got an answer, or the answer was malformed.
37
+ * Anything else (validation of the arguments, a required update) is not a balance outage.
38
+ */
39
+ const BALANCES_UNAVAILABLE_CODES = new Set([
40
+ 'HTTP_ERROR',
41
+ 'TRANSPORT_ERROR',
42
+ 'REQUEST_TIMEOUT',
43
+ 'INVALID_CHAIN_RESPONSE',
44
+ ]);
45
+ /**
46
+ * The machine-readable answer when a wallet's balances could not be read: `balancesAvailable: false`
47
+ * and NO asset list, so an agent can never read the outage as "the wallet is empty". Returns null
48
+ * when the error is not a balance-source failure (the caller rethrows it for the generic tips).
49
+ */
50
+ export function balancesUnavailableResponse(walletAddress, error, progress) {
51
+ const { code, status } = extractErrorDetails(error);
52
+ if (code === undefined || !BALANCES_UNAVAILABLE_CODES.has(code))
53
+ return null;
54
+ const reason = error instanceof Error ? error.message : String(error);
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text',
59
+ text: JSON.stringify({
60
+ balancesAvailable: false,
61
+ walletAddress,
62
+ code,
63
+ ...(status === undefined ? {} : { status }),
64
+ ...(progress === undefined ? {} : { failedPage: progress.page, assetsReadBeforeFailure: progress.assetsRead }),
65
+ message: `Balances for wallet ${walletAddress} are UNKNOWN: the balance source did not answer (${reason}). ` +
66
+ 'This is NOT a zero balance and NOT an empty wallet. No asset list is returned.',
67
+ tip: 'Do not tell the user the wallet is empty or hold nothing. Retry in a few seconds; if it keeps failing, report that balances are temporarily unavailable. If the failure is HTTP 400 on every retry, also check the wallet address format.',
68
+ }, null, 2),
69
+ },
70
+ ],
71
+ isError: true,
72
+ };
73
+ }
32
74
  export function mapTokenMetadataArray(tokens) {
33
75
  return tokens.map((token) => ({
34
76
  symbol: token.symbol,
@@ -78,7 +120,7 @@ export function createSwapQuoteTool(config) {
78
120
  ...quote,
79
121
  inputAmount: quote.amountIn,
80
122
  estimatedOutput: quote.amountOut,
81
- priceImpact: quote.priceImpact?.toString() ?? null,
123
+ priceImpact: quote.priceImpact.toString(),
82
124
  message: `Quote: ${quote.amountIn} ${fromToken} -> ~${quote.amountOut} ${toToken}`,
83
125
  });
84
126
  }),
@@ -106,7 +148,7 @@ export function createDexPoolQuoteTool(config) {
106
148
  ...quote,
107
149
  mode: 'external',
108
150
  pool: { token0: requiredString(args, 'token0'), token1: requiredString(args, 'token1'), fee },
109
- priceImpact: quote.priceImpact?.toString() ?? null,
151
+ priceImpact: quote.priceImpact.toString(),
110
152
  });
111
153
  }),
112
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/tools/dex/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/tools/dex/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAG1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAwBlD,eAAO,MAAM,0BAA0B,EAAE,OAKvC,CAAC;AAEH,eAAO,MAAM,2BAA2B,EAAE,OAKxC,CAAC;AAEH,eAAO,MAAM,8BAA8B,EAAE,OAG3C,CAAC;AAEH,eAAO,MAAM,iCAAiC,EAAE,OAG9C,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,OA8C7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAuB/B,CAAC;AAgBF,eAAO,MAAM,qBAAqB,EAAE,OAkBnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OA2BtC,CAAC;AAmBF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAS7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAG1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA0BlD,eAAO,MAAM,0BAA0B,EAAE,OAKvC,CAAC;AAEH,eAAO,MAAM,2BAA2B,EAAE,OAKxC,CAAC;AAEH,eAAO,MAAM,8BAA8B,EAAE,OAG3C,CAAC;AAEH,eAAO,MAAM,iCAAiC,EAAE,OAG9C,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,OA8C7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAuB/B,CAAC;AA0CF,eAAO,MAAM,qBAAqB,EAAE,OA0BnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OA4CtC,CAAC;AAmBF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAS7B,CAAC"}
@@ -9,7 +9,8 @@ const SWAP_UNIQUE_KEY_SCHEMA = {
9
9
  };
10
10
  import { formatSuccess } from '../../utils/response-formatter.js';
11
11
  import { withErrorHandling } from '../../utils/error-handler.js';
12
- import { createDexPoolQuoteTool, createSwapQuoteTool, formatDexSubmission, mapTokenAssets, } from './helpers.js';
12
+ import { classifyDexCode, extractErrorDetails } from '../../utils/error-templates.js';
13
+ import { balancesUnavailableResponse, createDexPoolQuoteTool, createSwapQuoteTool, formatDexSubmission, mapTokenAssets, } from './helpers.js';
13
14
  export const getSwapQuoteExactInputTool = createSwapQuoteTool({
14
15
  name: 'gala_launchpad_get_swap_quote_exact_input',
15
16
  description: 'Get a v6 GSwap quote for an exact input amount through sdk.dex.quoting.',
@@ -108,13 +109,34 @@ export const getSwapResultTool = {
108
109
  * later; a chain rejection is terminal and is rethrown unchanged.
109
110
  */
110
111
  function withUniqueKey(error, uniqueKey) {
111
- if (!(error instanceof Error))
112
+ // The swap is already queued here (we hold its uniqueKey), so like gswap-sdk's
113
+ // classifyFailure(error, { afterQueued: true }) only the chain's own verdict is terminal.
114
+ // Every other failure, recognized code or not, may still apply: never invite a resubmit.
115
+ if (isChainVerdict(error))
112
116
  return error;
113
- const code = error.code;
114
- if (code !== 'CONFIRMATION_TIMEOUT' && code !== 'SUBMISSION_OUTCOME_UNKNOWN')
115
- return error;
116
- return new Error(`${error.message} The swap outcome is still unknown for uniqueKey ${uniqueKey}; ` +
117
- 'resolve it with gala_launchpad_get_swap_result instead of submitting again.');
117
+ return new UnresolvedSwapError(error, uniqueKey);
118
+ }
119
+ function isChainVerdict(error) {
120
+ return classifyDexCode(extractErrorDetails(error)) === 'rejected';
121
+ }
122
+ /**
123
+ * A swap whose outcome is unknown, carrying the original error's `code` (so formatError selects
124
+ * the do-not-resubmit tip from the code, not from the English text), the uniqueKey to resolve it
125
+ * with, and the original error as `cause`.
126
+ */
127
+ class UnresolvedSwapError extends Error {
128
+ code;
129
+ uniqueKey;
130
+ /** Read by extractErrorDetails: the failing step ran after the swap was queued. */
131
+ afterQueued = true;
132
+ constructor(cause, uniqueKey) {
133
+ const causeMessage = cause instanceof Error ? cause.message : String(cause);
134
+ super(`${causeMessage} The swap outcome is still unknown for uniqueKey ${uniqueKey}; ` +
135
+ 'resolve it with gala_launchpad_get_swap_result instead of submitting again.', { cause });
136
+ this.name = 'UnresolvedSwapError';
137
+ this.code = extractErrorDetails(cause).code;
138
+ this.uniqueKey = uniqueKey;
139
+ }
118
140
  }
119
141
  export const getSwapUserAssetsTool = {
120
142
  name: 'gala_launchpad_get_swap_user_assets',
@@ -126,8 +148,18 @@ export const getSwapUserAssetsTool = {
126
148
  },
127
149
  handler: withErrorHandling(async (sdk, args) => {
128
150
  const walletAddress = requiredString(args, 'walletAddress');
129
- const result = await sdk.dex.assets.getUserAssets(walletAddress, 1, 100);
151
+ let result;
152
+ try {
153
+ result = await sdk.dex.assets.getUserAssets(walletAddress, 1, 100);
154
+ }
155
+ catch (error) {
156
+ const unavailable = balancesUnavailableResponse(walletAddress, error);
157
+ if (unavailable !== null)
158
+ return unavailable;
159
+ throw error;
160
+ }
130
161
  return formatSuccess({
162
+ balancesAvailable: true,
131
163
  walletAddress,
132
164
  assetCount: result.tokens.length,
133
165
  assets: mapTokenAssets(result),
@@ -145,22 +177,41 @@ export const getAllSwapUserAssetsTool = {
145
177
  },
146
178
  handler: withErrorHandling(async (sdk, args) => {
147
179
  const walletAddress = requiredString(args, 'walletAddress');
148
- const firstPage = await sdk.dex.assets.getUserAssets(walletAddress, 1, 100);
149
- const tokens = [...firstPage.tokens];
150
- let page = 2;
151
- while (tokens.length < firstPage.count) {
152
- const nextPage = await sdk.dex.assets.getUserAssets(walletAddress, page, 100);
153
- if (nextPage.tokens.length === 0)
154
- break;
155
- tokens.push(...nextPage.tokens);
156
- page += 1;
180
+ let page = 1;
181
+ const tokens = [];
182
+ let reportedCount;
183
+ try {
184
+ const firstPage = await sdk.dex.assets.getUserAssets(walletAddress, 1, 100);
185
+ tokens.push(...firstPage.tokens);
186
+ reportedCount = firstPage.count;
187
+ page = 2;
188
+ while (tokens.length < reportedCount) {
189
+ const nextPage = await sdk.dex.assets.getUserAssets(walletAddress, page, 100);
190
+ if (nextPage.tokens.length === 0)
191
+ break;
192
+ tokens.push(...nextPage.tokens);
193
+ page += 1;
194
+ }
195
+ }
196
+ catch (error) {
197
+ // A page that fails mid-way voids the whole answer: a partial list is never handed back as the wallet.
198
+ const unavailable = balancesUnavailableResponse(walletAddress, error, { page, assetsRead: tokens.length });
199
+ if (unavailable !== null)
200
+ return unavailable;
201
+ throw error;
157
202
  }
203
+ const complete = tokens.length >= reportedCount;
158
204
  const result = { tokens, count: tokens.length };
159
205
  return formatSuccess({
206
+ balancesAvailable: true,
207
+ complete,
160
208
  walletAddress,
161
209
  assetCount: result.tokens.length,
210
+ ...(complete ? {} : { reportedCount }),
162
211
  assets: mapTokenAssets(result),
163
- message: `${result.tokens.length} total assets found for wallet ${walletAddress}.`,
212
+ message: complete
213
+ ? `${result.tokens.length} total assets found for wallet ${walletAddress}.`
214
+ : `INCOMPLETE: ${result.tokens.length} of ${reportedCount} assets were read for wallet ${walletAddress}; a later page came back empty. The list is missing assets: retry before concluding what the wallet holds.`,
164
215
  });
165
216
  }),
166
217
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAkB3D;AA+BD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,OAAO,EAAE,EACvD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GACtE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,CAQ9C"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAmB3D;AA+BD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,OAAO,EAAE,EACvD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GACtE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,CAQ9C"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @see src/utils/error-templates.ts
8
8
  */
9
- import { enhanceErrorMessage } from './error-templates.js';
9
+ import { enhanceErrorMessage, extractErrorDetails } from './error-templates.js';
10
10
  /**
11
11
  * Format error for MCP response with AI-friendly tips
12
12
  */
@@ -15,7 +15,8 @@ export function formatError(error) {
15
15
  // Sanitize sensitive information from error messages
16
16
  const sanitized = sanitizeError(errorMessage);
17
17
  // Add AI-friendly tips using centralized templates
18
- const withTips = enhanceErrorMessage(sanitized);
18
+ // A known gswap-sdk `code` selects the tip; the message regexes are only the fallback.
19
+ const withTips = enhanceErrorMessage(sanitized, extractErrorDetails(error));
19
20
  return {
20
21
  content: [
21
22
  {
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,qDAAqD;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAE9C,mDAAmD;IACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEhD,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,aAAa,CAAC,OAAe;IACpC,oCAAoC;IACpC,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,iEAAiE;IACjE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,uDAAuD,EAAE,gBAAgB,CAAC,CAAC;IAEzG,uBAAuB;IACvB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IAE9E,sFAAsF;IACtF,uFAAuF;IACvF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;IAEnF,yFAAyF;IACzF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,2DAA2D,EAAE,SAAS,CAAC,CAAC;IAEtG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuE;IAEvE,OAAO,KAAK,EAAE,GAAG,IAAW,EAA4B,EAAE;QACxD,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,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,qDAAqD;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAE9C,mDAAmD;IACnD,uFAAuF;IACvF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5E,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,aAAa,CAAC,OAAe;IACpC,oCAAoC;IACpC,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,iEAAiE;IACjE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,uDAAuD,EAAE,gBAAgB,CAAC,CAAC;IAEzG,uBAAuB;IACvB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IAE9E,sFAAsF;IACtF,uFAAuF;IACvF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;IAEnF,yFAAyF;IACzF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,2DAA2D,EAAE,SAAS,CAAC,CAAC;IAEtG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuE;IAEvE,OAAO,KAAK,EAAE,GAAG,IAAW,EAA4B,EAAE;QACxD,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,CAAC;AACJ,CAAC"}
@@ -83,6 +83,38 @@ export declare const GENERIC_VALIDATION_ERROR: ErrorTemplate;
83
83
  * All error templates in priority order (checked sequentially)
84
84
  */
85
85
  export declare const ERROR_TEMPLATES: ErrorTemplate[];
86
+ /**
87
+ * What the MCP layer reads from a thrown error, by duck typing (gswap-sdk 1.0.x and 1.2 both
88
+ * expose a string `code`; 1.2 adds flat `params`, `status` and `uniqueKey`). Nothing here is
89
+ * parsed from English message text.
90
+ */
91
+ export interface ErrorDetails {
92
+ /** The error's string `code`; numeric codes (EIP-1193 4001) and non-strings are ignored. */
93
+ code?: string;
94
+ /** HTTP status, from `error.status` or `params.status`. */
95
+ status?: number;
96
+ /** The swap's uniqueKey when the error carries one in the swap backend's key format. */
97
+ uniqueKey?: string;
98
+ /** False when the error says it came from a read (`GSwapSDKError.write === false`). */
99
+ write?: boolean;
100
+ /** Server/chain text (`params.serverMessage`, `chainMessage`): only used to detect slippage. */
101
+ chainText?: string;
102
+ /** True when the failing step ran after the swap was queued (set by this server's own wrapper). */
103
+ afterQueued?: boolean;
104
+ }
105
+ /**
106
+ * Reads the code-first fields from a thrown value. One level of `cause` is followed so a wrapper
107
+ * that kept the original error as its cause does not hide the code.
108
+ */
109
+ export declare function extractErrorDetails(error: unknown): ErrorDetails;
110
+ type CodedOutcome = 'unknown' | 'rejected' | 'not_queued' | 'not_sent' | 'no_market';
111
+ /**
112
+ * The outcome class of a recognized gswap-sdk code, or null for any other code (launchpad's own
113
+ * `POOL_NOT_FOUND`, `BUNDLE_CONFIRMATION_TIMEOUT`, ...). Exact string equality only.
114
+ * `CHAIN_DISPATCH_FAILED` and `HTTP_ERROR` depend on the status exactly as in gswap-sdk's
115
+ * `classifyChainDispatchFailed` / `classifyHttpError`.
116
+ */
117
+ export declare function classifyDexCode(details: ErrorDetails): CodedOutcome | null;
86
118
  /**
87
119
  * Finds the best matching error template for a message
88
120
  */
@@ -92,9 +124,13 @@ export declare function findErrorTemplate(message: string): ErrorTemplate | null
92
124
  */
93
125
  export declare function getErrorTip(message: string): string | null;
94
126
  /**
95
- * Applies AI-friendly tip to error message
127
+ * Applies AI-friendly tip to error message.
128
+ *
129
+ * With `details` (read from the thrown error by {@link extractErrorDetails}) a known gswap-sdk
130
+ * `code` selects the tip and the English message is never consulted for the outcome; without a
131
+ * known code the regex templates above decide, exactly as before.
96
132
  */
97
- export declare function enhanceErrorMessage(message: string): string;
133
+ export declare function enhanceErrorMessage(message: string, details?: ErrorDetails): string;
98
134
  /**
99
135
  * Gets error category for an error message
100
136
  */
@@ -106,4 +142,5 @@ export declare const errorTemplates: {
106
142
  enhance: typeof enhanceErrorMessage;
107
143
  getCategory: typeof getErrorCategory;
108
144
  };
145
+ export {};
109
146
  //# sourceMappingURL=error-templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-templates.d.ts","sourceRoot":"","sources":["../../src/utils/error-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC9E;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY;aACvB,KAAK;iBACH,OAAO;iBACP,GAAG,EAAE;;;;;+CAKsC;iBAC3C,QAAQ,EAAE,YAAY;;aAExB,IAAI;iBACF,OAAO;iBACP,GAAG,EAAE;;;+CAGsC;iBAC3C,QAAQ,EAAE,YAAY;;CAEhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAS9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAShC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAOlC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAcjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAUhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAMxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAU9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAS9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAUtC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EAgB1C,CAAC;AAMF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgBvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAMD,eAAO,MAAM,cAAc;IACzB,SAAS;IACT,YAAY;IACZ,MAAM;IACN,OAAO;IACP,WAAW;CACZ,CAAC"}
1
+ {"version":3,"file":"error-templates.d.ts","sourceRoot":"","sources":["../../src/utils/error-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC9E;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY;aACvB,KAAK;iBACH,OAAO;iBACP,GAAG,EAAE;;;;;+CAKsC;iBAC3C,QAAQ,EAAE,YAAY;;aAExB,IAAI;iBACF,OAAO;iBACP,GAAG,EAAE;;;+CAGsC;iBAC3C,QAAQ,EAAE,YAAY;;CAEhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAS9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAShC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAOlC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAcjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAUhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAOxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAU9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAS9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAUtC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EAgB1C,CAAC;AAMF;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAmBhE;AAkDD,KAAK,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAO1E;AAuED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgBvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CASnF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAMD,eAAO,MAAM,cAAc;IACzB,SAAS;IACT,YAAY;IACZ,MAAM;IACN,OAAO;IACP,WAAW;CACZ,CAAC"}
@@ -110,7 +110,8 @@ This request's uniqueKey is consumed; the swap did NOT execute, so a new request
110
110
  * TRADE_TIMEOUT_ERROR, whose tip is about launchpad bonding-curve trades.
111
111
  */
112
112
  export const SWAP_OUTCOME_UNKNOWN_ERROR = {
113
- pattern: /(outcome is still unknown|may still apply|SUBMISSION_OUTCOME_UNKNOWN|CONFIRMATION_TIMEOUT)/i,
113
+ // `\b` keeps launchpad's own BUNDLE_CONFIRMATION_TIMEOUT out (`_` is a word character).
114
+ pattern: /(outcome is (still )?unknown|may still apply|\bSUBMISSION_OUTCOME_UNKNOWN|\bCONFIRMATION_TIMEOUT)/i,
114
115
  tip: `💡 AI TIP: The swap was queued on chain and may still execute. Do NOT submit it again.
115
116
  Call gala_launchpad_get_swap_result with the uniqueKey from this error to resolve the outcome
116
117
  (results are retained for 7 days).`,
@@ -200,6 +201,169 @@ export const ERROR_TEMPLATES = [
200
201
  // Generic errors last (lower priority)
201
202
  GENERIC_VALIDATION_ERROR,
202
203
  ];
204
+ const UNIQUE_KEY_FORMAT = /^[A-Za-z0-9._:-]{1,128}$/;
205
+ function asRecord(value) {
206
+ return typeof value === 'object' && value !== null ? value : undefined;
207
+ }
208
+ function stringProp(record, key) {
209
+ const value = record?.[key];
210
+ return typeof value === 'string' ? value : undefined;
211
+ }
212
+ function numberProp(record, key) {
213
+ const value = record?.[key];
214
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
215
+ }
216
+ /**
217
+ * Reads the code-first fields from a thrown value. One level of `cause` is followed so a wrapper
218
+ * that kept the original error as its cause does not hide the code.
219
+ */
220
+ export function extractErrorDetails(error) {
221
+ const own = asRecord(error);
222
+ const wrapped = asRecord(own?.['cause']);
223
+ const code = stringProp(own, 'code') ?? stringProp(wrapped, 'code');
224
+ const source = stringProp(own, 'code') !== undefined ? own : wrapped;
225
+ const params = asRecord(source?.['params']) ?? asRecord(source?.['details']);
226
+ const status = numberProp(source, 'status') ?? numberProp(params, 'status');
227
+ const rawKey = stringProp(source, 'uniqueKey') ?? stringProp(own, 'uniqueKey') ?? stringProp(params, 'uniqueKey');
228
+ const writeFlag = source?.['write'];
229
+ const chainText = stringProp(params, 'serverMessage') ?? stringProp(source, 'chainMessage');
230
+ const details = {};
231
+ if (code !== undefined)
232
+ details.code = code;
233
+ if (status !== undefined)
234
+ details.status = status;
235
+ if (rawKey !== undefined && UNIQUE_KEY_FORMAT.test(rawKey))
236
+ details.uniqueKey = rawKey;
237
+ if (typeof writeFlag === 'boolean')
238
+ details.write = writeFlag;
239
+ if (own?.['afterQueued'] === true)
240
+ details.afterQueued = true;
241
+ if (chainText !== undefined)
242
+ details.chainText = chainText;
243
+ return details;
244
+ }
245
+ /**
246
+ * Codes whose outcome is `unknown` regardless of status: the write may have been queued, so it
247
+ * must never be resubmitted. Copied from gswap-sdk `src/utils/failure_classification.ts`
248
+ * (`BY_CODE` rows classified UNKNOWN: the codes `mayHaveBeenQueued` is true for).
249
+ */
250
+ const OUTCOME_UNKNOWN_CODES = new Set([
251
+ 'SUBMISSION_OUTCOME_UNKNOWN',
252
+ 'GATEWAY_REPORTED_ERROR',
253
+ 'GATEWAY_DATA_MISSING',
254
+ 'GATEWAY_MODE_INVALID',
255
+ 'GATEWAY_SYNC_REQUEST_TRADE',
256
+ 'MISSING_UNIQUE_KEY',
257
+ 'UNIQUE_KEY_MISMATCH',
258
+ 'CONFIRMATION_TIMEOUT',
259
+ 'CONFIRMATION_ABORTED',
260
+ 'CONFIRMATION_FAILED',
261
+ 'CONFIRMATION_MALFORMED',
262
+ 'CONFIRMATION_KEY_MISMATCH',
263
+ ]);
264
+ /** Gateway refusals before queueing (`not_queued` in gswap-sdk `failure_classification.ts`). */
265
+ const NOT_QUEUED_CODES = new Set([
266
+ 'SHADOW_NOT_QUEUED',
267
+ 'METHOD_NOT_ALLOWED',
268
+ 'SIGNATURE_INVALID',
269
+ 'SIGNER_MISMATCH',
270
+ 'DTO_INVALID',
271
+ 'BOUNDS_VIOLATION',
272
+ 'SYMBOL_CONFLICT',
273
+ 'RATE_LIMITED',
274
+ 'GATEWAY_REJECTED',
275
+ 'UPDATE_REQUIRED',
276
+ ]);
277
+ /** Failures before anything was signed or sent (`not_sent` in `failure_classification.ts`). */
278
+ const NOT_SENT_CODES = new Set([
279
+ 'SIGNING_FAILED',
280
+ 'KEY_PROVIDER_FAILED',
281
+ 'TOKEN_RESOLUTION_FAILED',
282
+ ]);
283
+ /** No market for the pair (gswap-sdk `isNoMarket`, catalog codes). */
284
+ const NO_MARKET_CODES = new Set([
285
+ 'NO_POOL_AVAILABLE',
286
+ 'INSUFFICIENT_LIQUIDITY',
287
+ 'UNKNOWN_TOKEN',
288
+ ]);
289
+ /**
290
+ * The outcome class of a recognized gswap-sdk code, or null for any other code (launchpad's own
291
+ * `POOL_NOT_FOUND`, `BUNDLE_CONFIRMATION_TIMEOUT`, ...). Exact string equality only.
292
+ * `CHAIN_DISPATCH_FAILED` and `HTTP_ERROR` depend on the status exactly as in gswap-sdk's
293
+ * `classifyChainDispatchFailed` / `classifyHttpError`.
294
+ */
295
+ export function classifyDexCode(details) {
296
+ const outcome = classifyByCode(details);
297
+ // Once the swap is queued (we hold its uniqueKey), only the chain's own verdict is terminal:
298
+ // gswap-sdk's classifyFailure(error, { afterQueued: true }). Anything else, a recognized code
299
+ // or not, may still apply and must never invite a resubmit.
300
+ if (details.afterQueued === true && outcome !== 'rejected')
301
+ return 'unknown';
302
+ return outcome;
303
+ }
304
+ function classifyByCode(details) {
305
+ const { code, status } = details;
306
+ if (code === undefined)
307
+ return null;
308
+ if (OUTCOME_UNKNOWN_CODES.has(code))
309
+ return 'unknown';
310
+ if (code === 'CHAIN_REJECTED')
311
+ return 'rejected';
312
+ if (NOT_QUEUED_CODES.has(code))
313
+ return 'not_queued';
314
+ if (NOT_SENT_CODES.has(code))
315
+ return 'not_sent';
316
+ if (NO_MARKET_CODES.has(code))
317
+ return 'no_market';
318
+ if (code === 'CHAIN_DISPATCH_FAILED') {
319
+ if (status === undefined || status === 409 || status >= 500)
320
+ return 'unknown';
321
+ return status === 422 ? 'rejected' : 'not_queued';
322
+ }
323
+ if (code === 'HTTP_ERROR' && details.uniqueKey !== undefined && details.write !== false) {
324
+ if (status === undefined || status === 408 || status >= 500)
325
+ return 'unknown';
326
+ return 'not_queued';
327
+ }
328
+ return null;
329
+ }
330
+ const DEX_REJECTED_TIP = `💡 AI TIP: The chain evaluated this swap and rejected it; it did NOT execute.
331
+ The request's uniqueKey is consumed. Fix the cause named in the error (re-quote, balance, token
332
+ format) and submit a NEW request.`;
333
+ const DEX_NOT_QUEUED_TIP = `💡 AI TIP: The swap backend refused this request before queueing it; nothing is pending and the
334
+ swap did NOT execute. Fix the cause named in the error, then submit a new request.`;
335
+ const DEX_NOT_SENT_TIP = `💡 AI TIP: This request failed before anything was sent (signing or token lookup); nothing is
336
+ pending and no swap was queued. Fix the cause and try again.`;
337
+ const DEX_NO_MARKET_TIP = `💡 AI TIP: No usable market for this pair/fee tier; nothing was submitted. Check the tokens with
338
+ gala_launchpad_get_swap_quote_exact_input across fee tiers (500, 3000, 10000) before swapping.`;
339
+ function outcomeUnknownTip(details) {
340
+ const key = details.uniqueKey === undefined ? '' : `\nuniqueKey: ${details.uniqueKey}`;
341
+ return `${SWAP_OUTCOME_UNKNOWN_ERROR.tip}${key}`;
342
+ }
343
+ /** The code-selected tip for an error, or null when its code is not a recognized gswap code. */
344
+ function findCodedTip(message, details) {
345
+ const outcome = classifyDexCode(details);
346
+ const code = details.code;
347
+ if (outcome === null)
348
+ return null;
349
+ switch (outcome) {
350
+ case 'unknown':
351
+ return { code, tip: outcomeUnknownTip(details) };
352
+ case 'rejected': {
353
+ // The chain's slippage verdict is identified by its own message text, which passes through.
354
+ const slippage = DEX_SLIPPAGE_ERROR.pattern;
355
+ const isSlippage = slippage instanceof RegExp &&
356
+ (slippage.test(message) || (details.chainText !== undefined && slippage.test(details.chainText)));
357
+ return { code, tip: isSlippage ? DEX_SLIPPAGE_ERROR.tip : DEX_REJECTED_TIP };
358
+ }
359
+ case 'not_queued':
360
+ return { code, tip: DEX_NOT_QUEUED_TIP };
361
+ case 'not_sent':
362
+ return { code, tip: DEX_NOT_SENT_TIP };
363
+ case 'no_market':
364
+ return { code, tip: DEX_NO_MARKET_TIP };
365
+ }
366
+ }
203
367
  // =============================================================================
204
368
  // Template Matching Functions
205
369
  // =============================================================================
@@ -230,9 +394,18 @@ export function getErrorTip(message) {
230
394
  return template ? template.tip : null;
231
395
  }
232
396
  /**
233
- * Applies AI-friendly tip to error message
397
+ * Applies AI-friendly tip to error message.
398
+ *
399
+ * With `details` (read from the thrown error by {@link extractErrorDetails}) a known gswap-sdk
400
+ * `code` selects the tip and the English message is never consulted for the outcome; without a
401
+ * known code the regex templates above decide, exactly as before.
234
402
  */
235
- export function enhanceErrorMessage(message) {
403
+ export function enhanceErrorMessage(message, details) {
404
+ const coded = details === undefined ? null : findCodedTip(message, details);
405
+ if (coded !== null) {
406
+ const prefix = coded.code === undefined ? '' : `[${coded.code}] `;
407
+ return `${prefix}${message}\n\n${coded.tip}`;
408
+ }
236
409
  const tip = getErrorTip(message);
237
410
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Defensive null/undefined check
238
411
  return tip !== null && tip !== undefined ? `${message}\n\n${tip}` : message;
@@ -1 +1 @@
1
- {"version":3,"file":"error-templates.js","sourceRoot":"","sources":["../../src/utils/error-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-templates.js","sourceRoot":"","sources":["../../src/utils/error-templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gala-chain/launchpad-mcp-server",
3
3
  "type": "module",
4
- "version": "8.0.0",
4
+ "version": "8.0.2",
5
5
  "description": "MCP server for Gala Launchpad - 323 tools (pool management, event watchers, GSwap DEX trading, price history, token creation, wallet management, DEX pool discovery, liquidity positions, token locks/burns, locked token queries, composite pool data, cross-chain bridging, wrap/unwrap, key derivation, streaming, chat, session auth, ban management, API keys, moderator invites, content flags, content reactions, comments, overseers, CCTV dashboard, weekly challenge leaderboard, oEmbed metadata, platform stats, AI moderation) supporting optional wallet (read-only and full-access modes). Production-grade AI agent integration for Claude Desktop with comprehensive validation and 80%+ test coverage",
6
6
  "main": "dist/index.js",
7
7
  "exports": {
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "@gala-chain/api": "^3.3.0",
66
- "@gala-chain/gswap-sdk": "^1.0.0",
66
+ "@gala-chain/gswap-sdk": "^1.2.0",
67
67
  "@modelcontextprotocol/sdk": "^1.30.1",
68
68
  "axios": "^1.20.0",
69
69
  "bignumber.js": "^11.1.5",
@@ -71,7 +71,7 @@
71
71
  "socket.io-client": "^4.8.3",
72
72
  "zod": "^4.3.6",
73
73
  "zod-to-json-schema": "^3.25.1",
74
- "@gala-chain/launchpad-sdk": "8.0.0"
74
+ "@gala-chain/launchpad-sdk": "8.0.2"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@eslint/js": "^10.0.1",