@candledottv/mcp 0.10.8 → 0.10.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +12 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -106,7 +106,7 @@ function percentOfBalance(balanceRaw, percent) {
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  // src/version.ts
109
- var SERVER_VERSION = "0.10.8";
109
+ var SERVER_VERSION = "0.10.9";
110
110
 
111
111
  // src/update-notice.ts
112
112
  var PLAIN_VERSION = /^\d+\.\d+\.\d+$/;
@@ -1532,7 +1532,7 @@ function buildRequest(name, args, cfg) {
1532
1532
  ...where ? { where } : {},
1533
1533
  ...sort ? { sort } : {},
1534
1534
  ...fields ? { fields } : {},
1535
- ...limit ? { limit } : {}
1535
+ ...limit !== undefined && limit !== "" ? { limit: String(limit) } : {}
1536
1536
  });
1537
1537
  return {
1538
1538
  url: `${base2}/api/v1/markets/feed?${query.toString()}`,
@@ -1676,13 +1676,22 @@ var tokenForensicsShape = {
1676
1676
  chain: z2.string().describe('"solana" or "hood"'),
1677
1677
  mint: z2.string().describe("Token mint (solana) or contract address (hood)")
1678
1678
  };
1679
+ var FEED_LIMIT_MESSAGE = "limit must be a whole number from 1 to 200";
1680
+ var feedLimit = z2.preprocess((value) => {
1681
+ if (typeof value !== "string")
1682
+ return value;
1683
+ const trimmed = value.trim();
1684
+ if (trimmed === "")
1685
+ return;
1686
+ return /^[0-9]+$/.test(trimmed) ? Number(trimmed) : value;
1687
+ }, z2.number({ invalid_type_error: FEED_LIMIT_MESSAGE }).int(FEED_LIMIT_MESSAGE).min(1, FEED_LIMIT_MESSAGE).max(200, FEED_LIMIT_MESSAGE).optional().describe("Max rows to return, an integer from 1 to 200."));
1679
1688
  var getFeedShape = {
1680
1689
  bucket: z2.enum(["new", "graduated", "onfire", "bluechip"]),
1681
1690
  chain: z2.string().optional().describe("Optional chain filter"),
1682
1691
  where: z2.string().optional().describe('JSON filter, e.g. {"marketCap":{"lt":150000},"liquidityUsd":{"gte":25000},"mintAuthorityDisabled":{"eq":true}}. ' + "Comparators: eq, ne, lt, lte, gt, gte, present. An ABSENT field satisfies none of them except " + "present:false, so a filter for mintAuthorityDisabled eq true returns only tokens that actually say " + "true, never ones where the flag is simply missing. Use present:false to find the tokens with no data."),
1683
1692
  sort: z2.string().optional().describe('Sort as "field" or "field:asc" / "field:desc". A bare field means desc.'),
1684
1693
  fields: z2.string().optional().describe("Comma-separated fields to return, e.g. symbol,marketCap,liquidityUsd. chain, address and symbol always " + "ride along. Cuts a 135KB response to a couple of KB."),
1685
- limit: z2.string().optional().describe("Max rows to return, 1-200.")
1694
+ limit: feedLimit
1686
1695
  };
1687
1696
  var reportActivityShape = {
1688
1697
  chain: z2.string().describe('"solana" or "hood"'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candledottv/mcp",
3
- "version": "0.10.8",
3
+ "version": "0.10.9",
4
4
  "description": "MCP server for the Candle agent rail: launch tokens, read markets, report activity",
5
5
  "type": "module",
6
6
  "license": "MIT",