@candledottv/cli 0.13.4 → 0.13.5
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/dist/index.js +27 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -526,7 +526,7 @@ var init_terminal_theme = __esm(() => {
|
|
|
526
526
|
});
|
|
527
527
|
|
|
528
528
|
// src/version.ts
|
|
529
|
-
var CLI_VERSION = "0.13.
|
|
529
|
+
var CLI_VERSION = "0.13.5";
|
|
530
530
|
|
|
531
531
|
// src/presentation.ts
|
|
532
532
|
function terminalStyle(deps, stream, machine = false) {
|
|
@@ -38324,7 +38324,7 @@ var init_convert = __esm(() => {
|
|
|
38324
38324
|
});
|
|
38325
38325
|
|
|
38326
38326
|
// ../mcp/src/version.ts
|
|
38327
|
-
var SERVER_VERSION = "0.10.
|
|
38327
|
+
var SERVER_VERSION = "0.10.25";
|
|
38328
38328
|
|
|
38329
38329
|
// ../mcp/src/update-notice.ts
|
|
38330
38330
|
function newer(a, b) {
|
|
@@ -43950,6 +43950,14 @@ function buildRequest(name, args, cfg) {
|
|
|
43950
43950
|
init: { method: "GET", headers: jsonHeaders() }
|
|
43951
43951
|
};
|
|
43952
43952
|
}
|
|
43953
|
+
case "candle_token_card": {
|
|
43954
|
+
const { chain: chain2, mint, tag } = args;
|
|
43955
|
+
const query = tag !== undefined && tag !== "" ? `?${new URLSearchParams({ cst: tag })}` : "";
|
|
43956
|
+
return {
|
|
43957
|
+
url: `${base2}/api/v1/tokens/${encodeURIComponent(chain2)}/${encodeURIComponent(mint)}/card${query}`,
|
|
43958
|
+
init: { method: "GET", headers: jsonHeaders() }
|
|
43959
|
+
};
|
|
43960
|
+
}
|
|
43953
43961
|
case "candle_token_forensics": {
|
|
43954
43962
|
const { chain: chain2, mint } = args;
|
|
43955
43963
|
return {
|
|
@@ -44313,6 +44321,11 @@ function registerToolSubset(server, options) {
|
|
|
44313
44321
|
MARKET_NOT_FOUND means Candle has no market for that token and this could not run. That is also not 'clean': report that you could not check it, rather than reporting the token as safe. That refusal now carries error.coverage -- covered:false, a reason ('external_launchpad' when the token launched somewhere else, 'unknown_mint' when nobody has indexed it), the launchpad when known, and every check that consequently did not run. Read it instead of guessing. Most of the feed, and any Solana mint Jupiter's index knows, now answers with a partial report instead. On Hood, a token Candle did not launch names its launch account (deployer.method cvc_launch_account) for pons.family and pools.trade launches, with no record of earlier coins; other Hood launchpads return no developer.`,
|
|
44314
44322
|
inputSchema: tokenForensicsShape
|
|
44315
44323
|
}, async (args) => callAndRelay("candle_token_forensics", args, getConfig(), doFetch));
|
|
44324
|
+
register("candle_token_card", {
|
|
44325
|
+
title: "Token card",
|
|
44326
|
+
description: "The data behind a Quant token card for one token, in one read: identity (name, ticker, launchpad), market (price, market cap, liquidity, 5 minute change, volume, buys and sells), the all-time high since launch (daily high times current supply, FDV basis; null when no source covers it), forensics (the report, or not_covered with its coverage, or unavailable), the last hour's tracked-wallet buys and sells, signals and callouts, hacc's card facts (bundles, snipers, insiders, fresh 1d/7d, mean wallet age, each with source, as_of and basis) and same-name block (which same-name token leads on live market cap, and whether this one trails), sources naming where each block came from, and links.token (Candle's token page). Facts only, never a score or a verdict. A null field has no source: show it as an en dash, never guess it, and not_covered or unknown is not clean. Free and the same for every caller and plan; no key needed and none is sent even when one is configured. Off on a deployment until it switches TOKEN_CARD on: off, the call answers 503 TOKEN_CARD_DISABLED (retryable: false) and that is the server's answer, not a broken tool.",
|
|
44327
|
+
inputSchema: tokenCardShape
|
|
44328
|
+
}, async (args) => callAndRelay("candle_token_card", args, getConfig(), doFetch));
|
|
44316
44329
|
register("candle_token_events", {
|
|
44317
44330
|
title: "Token events",
|
|
44318
44331
|
description: `One token's event list, newest first: every signal (pattern and summary, new_ticker included), every callout, and every tracked-wallet trade (buys and sells, W or L on a sell whose outcome is known), plus trades Candle's own agents and users made. Each wallet carries its display name or short address, its kind (dev, kol, smart, agent, tracked) and its public group names. No key needed; none is sent even when one is configured, so group names follow the public tier. Off on a deployment until it switches TOKEN_EVENTS on: off, the call answers 503 TOKEN_EVENTS_DISABLED (retryable: false) and that is the server's answer, not a broken tool.
|
|
@@ -44718,7 +44731,7 @@ async function registerEligibleProfileTool(server, env = process.env, doFetch =
|
|
|
44718
44731
|
}
|
|
44719
44732
|
return eligible;
|
|
44720
44733
|
}
|
|
44721
|
-
var VAMP_CANDIDATES_DESCRIPTION, localProfileTools, STAKING_DISCLOSURE = "No instant unstake. Read pool.withdrawalTimelockSeconds for the wait. Solana rewards accrue to the holding wallet. sCNDL in any eligible account wallet counts toward Pro and earns the account's Hood staking reward, except a wallet another account also claims, wallets past the 200-wallet cap, and an account with no EVM wallet. CNDL in a pending withdrawal counts toward nothing for Pro.", stakingWriteShape, TOOL_NAMES, PROFILE_EDIT_TOOL_NAMES, isProfileEditTool = (name) => PROFILE_EDIT_TOOL_NAMES.includes(name), OPERATION_NOT_FOUND_RULE, getMarketShape, TOKEN_EVENTS_LIMIT_MESSAGE = "limit must be a whole number from 1 to 1000", tokenEventsLimit, TOKEN_EVENTS_KIND_NOTE = "kept back from the request and applied to the returned page by this server, so a filtered page can be shorter than limit while older events of other kinds remain: page with nextCursor as before until it is null", tokenEventsShape, tokenForensicsShape, FEED_LIMIT_MESSAGE = "limit must be a whole number from 1 to 200", feedLimit, getFeedShape, reportActivityShape, getAgentProfileShape, listAgentsShape, createPostShape, deletePostShape, listAgentPostsShape, getOperationShape, vampCandidatesShape, getFeesShape, claimFeesShape, resolveTokenShape, profileWalletsShape, profilePnlShape, profileTradesShape, setProfileWalletsShape, swapShape, tradeShape, tokenImageUrl, tokenBannerUrl, localImageShape, localLaunchTokenShape, localLaunchAndSeedShape, IMAGE_PATH_DISCLOSURE, transferShape, sweepShape, PROFILE_PNL_HYPERLIQUID;
|
|
44734
|
+
var VAMP_CANDIDATES_DESCRIPTION, localProfileTools, STAKING_DISCLOSURE = "No instant unstake. Read pool.withdrawalTimelockSeconds for the wait. Solana rewards accrue to the holding wallet. sCNDL in any eligible account wallet counts toward Pro and earns the account's Hood staking reward, except a wallet another account also claims, wallets past the 200-wallet cap, and an account with no EVM wallet. CNDL in a pending withdrawal counts toward nothing for Pro.", stakingWriteShape, TOOL_NAMES, PROFILE_EDIT_TOOL_NAMES, isProfileEditTool = (name) => PROFILE_EDIT_TOOL_NAMES.includes(name), OPERATION_NOT_FOUND_RULE, getMarketShape, TOKEN_EVENTS_LIMIT_MESSAGE = "limit must be a whole number from 1 to 1000", tokenEventsLimit, TOKEN_EVENTS_KIND_NOTE = "kept back from the request and applied to the returned page by this server, so a filtered page can be shorter than limit while older events of other kinds remain: page with nextCursor as before until it is null", tokenCardShape, tokenEventsShape, tokenForensicsShape, FEED_LIMIT_MESSAGE = "limit must be a whole number from 1 to 200", feedLimit, getFeedShape, reportActivityShape, getAgentProfileShape, listAgentsShape, createPostShape, deletePostShape, listAgentPostsShape, getOperationShape, vampCandidatesShape, getFeesShape, claimFeesShape, resolveTokenShape, profileWalletsShape, profilePnlShape, profileTradesShape, setProfileWalletsShape, swapShape, tradeShape, tokenImageUrl, tokenBannerUrl, localImageShape, localLaunchTokenShape, localLaunchAndSeedShape, IMAGE_PATH_DISCLOSURE, transferShape, sweepShape, PROFILE_PNL_HYPERLIQUID;
|
|
44722
44735
|
var init_tools = __esm(() => {
|
|
44723
44736
|
init_zod();
|
|
44724
44737
|
init_client2();
|
|
@@ -44746,6 +44759,7 @@ var init_tools = __esm(() => {
|
|
|
44746
44759
|
"candle_get_feed",
|
|
44747
44760
|
"candle_vamp_candidates",
|
|
44748
44761
|
"candle_token_events",
|
|
44762
|
+
"candle_token_card",
|
|
44749
44763
|
"candle_token_forensics",
|
|
44750
44764
|
"candle_report_activity",
|
|
44751
44765
|
"candle_get_agent_profile",
|
|
@@ -44818,6 +44832,11 @@ var init_tools = __esm(() => {
|
|
|
44818
44832
|
return;
|
|
44819
44833
|
return /^[0-9]+$/.test(trimmed) ? Number(trimmed) : value;
|
|
44820
44834
|
}, exports_external.number({ invalid_type_error: TOKEN_EVENTS_LIMIT_MESSAGE }).int(TOKEN_EVENTS_LIMIT_MESSAGE).min(1, TOKEN_EVENTS_LIMIT_MESSAGE).max(1000, TOKEN_EVENTS_LIMIT_MESSAGE).optional().describe("Page size, an integer from 1 to 1000 (the route's default is 200)."));
|
|
44835
|
+
tokenCardShape = {
|
|
44836
|
+
chain: exports_external.string().describe('"solana" or "hood"'),
|
|
44837
|
+
mint: exports_external.string().describe("Token mint (solana) or contract address (hood)"),
|
|
44838
|
+
tag: exports_external.string().optional().describe("Optional card source tag v1.<group>.<poster>.<card> (each part 1-40 of A-Za-z0-9_-), carried on links.token to count card arrivals. Credits nobody; a malformed tag is ignored")
|
|
44839
|
+
};
|
|
44821
44840
|
tokenEventsShape = {
|
|
44822
44841
|
chain: exports_external.string().describe('"solana" or "hood"'),
|
|
44823
44842
|
mint: exports_external.string().describe("Token mint (solana) or contract address (hood)"),
|
|
@@ -72201,10 +72220,11 @@ var init_server3 = __esm(() => {
|
|
|
72201
72220
|
init_tools();
|
|
72202
72221
|
INSTRUCTIONS = `Candle is a trading and token-launch rail for agents. You hold a scoped API key, never a private key; signing and funding stay with the key owner's wallet.
|
|
72203
72222
|
|
|
72204
|
-
START HERE —
|
|
72223
|
+
START HERE — ten tools need NO credential. Call these first to confirm the server is wired before asking anyone for anything:
|
|
72205
72224
|
candle_get_market price, market cap, volume, curve state for one token
|
|
72206
72225
|
candle_get_feed the roster: hot streak, new pairs, graduated, final stretch, blue chip (final stretch is refused where it is not switched on; use another bucket)
|
|
72207
72226
|
candle_token_events one token's signals, callouts and tracked-wallet trades, newest first, W or L on sells. kind filters the page on this server; page with nextCursor/before until null. Off until the deployment switches it on (503 TOKEN_EVENTS_DISABLED)
|
|
72227
|
+
candle_token_card one token's card data: market, all-time high since launch, safety and same-name facts, tracked wallets in the last hour, each block with its source; null means no source, not zero. Off until the deployment switches it on (503 TOKEN_CARD_DISABLED)
|
|
72208
72228
|
candle_resolve_token a ticker or partial name -> mint address + chain
|
|
72209
72229
|
candle_token_forensics call this before quoting or buying. Returns the on-chain developer (never a launchpad shared authority; deployer.attribution names the launchpad or issuer when no developer is on chain), their went-to-zero rate and last coins, who bought in the deploy window (strangers in the same slot are the bundle signal), same-funder insider share, same-funder cluster, and safety.summary with six sourced flags. Refuse an unprompted buy when flagged; incomplete or unknown is not clearance. launch.deployerLaunches is an inclusive informational count, never a warning
|
|
72210
72230
|
candle_get_agent_profile your own tier, caps and verified activity
|
|
@@ -75695,6 +75715,7 @@ var TOOL_CLASSES = {
|
|
|
75695
75715
|
candle_get_feed: READ,
|
|
75696
75716
|
candle_vamp_candidates: READ,
|
|
75697
75717
|
candle_token_events: READ,
|
|
75718
|
+
candle_token_card: READ,
|
|
75698
75719
|
candle_token_forensics: READ,
|
|
75699
75720
|
candle_get_agent_profile: READ,
|
|
75700
75721
|
candle_list_agents: READ,
|
|
@@ -89577,6 +89598,7 @@ var MCP_TOOL_NAMES = [
|
|
|
89577
89598
|
"candle_get_feed",
|
|
89578
89599
|
"candle_vamp_candidates",
|
|
89579
89600
|
"candle_token_events",
|
|
89601
|
+
"candle_token_card",
|
|
89580
89602
|
"candle_token_forensics",
|
|
89581
89603
|
"candle_get_agent_profile",
|
|
89582
89604
|
"candle_list_agents",
|
|
@@ -89632,6 +89654,7 @@ var READ_ONLY_TOOL_NAMES = [
|
|
|
89632
89654
|
"candle_get_market",
|
|
89633
89655
|
"candle_get_feed",
|
|
89634
89656
|
"candle_token_events",
|
|
89657
|
+
"candle_token_card",
|
|
89635
89658
|
"candle_token_forensics",
|
|
89636
89659
|
"candle_get_agent_profile",
|
|
89637
89660
|
"candle_list_agents",
|
package/package.json
CHANGED