hive-intelligence 1.6.3 → 1.6.7

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/README.md CHANGED
@@ -109,7 +109,7 @@ Expected output shape:
109
109
  "source": "live",
110
110
  "receipt_id": "00000000-0000-4000-8000-000000000000",
111
111
  "receipt_version": "1.0",
112
- "server_version": "1.6.3",
112
+ "server_version": "1.6.7",
113
113
  "build_sha": null,
114
114
  "digest_algorithm": "sha256",
115
115
  "input_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
@@ -7,7 +7,7 @@ import {
7
7
  getSupabaseAdmin,
8
8
  resolveEndpoint,
9
9
  secureLogger
10
- } from "./chunk-IJ5KOZH5.js";
10
+ } from "./chunk-J2PXISXW.js";
11
11
 
12
12
  // src/services/wallet-service.ts
13
13
  async function consumeCredits(args) {
@@ -112,7 +112,7 @@ async function executeToolByName(toolName, args, options) {
112
112
  const result2 = createToolNotFoundResult(toolName);
113
113
  secureLogger.toolCall(toolName, false, result2.durationMs, {
114
114
  transport: "rest",
115
- runtimeStatus: "failing",
115
+ runtimeStatus: result2.runtimeStatus,
116
116
  errorClass: "not_found",
117
117
  receiptId: result2.hive.receipt_id,
118
118
  receiptVersion: result2.hive.receipt_version,
@@ -3472,6 +3472,8 @@ Args:
3472
3472
  - "dex": Include DEX information
3473
3473
  - "network": Include network information
3474
3474
  - page (number, optional): Page number for pagination. Default: 1.
3475
+ - network (string, optional): GeckoTerminal network id to scope the results to one network.
3476
+ - duration (string, optional): accepted for parity with the trending-pools tool; ignored.
3475
3477
 
3476
3478
  Returns:
3477
3479
  JSON object with new pool data from all networks:
@@ -3521,6 +3523,14 @@ Error Handling:
3521
3523
  inputSchema: {
3522
3524
  type: "object",
3523
3525
  properties: {
3526
+ network: {
3527
+ type: "string",
3528
+ description: 'Optional GeckoTerminal network id ("eth", "base", "solana", ...). When set, returns the newest pools on that network only (same data as coingecko_get_onchain_network_new_pools).'
3529
+ },
3530
+ duration: {
3531
+ type: "string",
3532
+ description: "Accepted for parity with coingecko_get_onchain_trending_pools and ignored: new pools are always ordered by creation time, newest first."
3533
+ },
3524
3534
  include: {
3525
3535
  type: "string",
3526
3536
  description: "Additional data to include: base_token, quote_token, dex, network. Comma-separated."
@@ -3536,7 +3546,11 @@ Error Handling:
3536
3546
  annotations: VOLATILE_READ_ANNOTATIONS
3537
3547
  };
3538
3548
  var handler33 = async (client2, args) => {
3539
- const body = args;
3549
+ const { network, duration: _duration, ...body } = args ?? {};
3550
+ void _duration;
3551
+ if (typeof network === "string" && network.trim()) {
3552
+ return asTextContentResult(await client2.onchain.networks.newPools.getNetwork(network.trim(), body));
3553
+ }
3540
3554
  return asTextContentResult(await client2.onchain.networks.newPools.get(body));
3541
3555
  };
3542
3556
  var get_networks_onchain_new_pools_default = { metadata: metadata33, tool: tool33, handler: handler33 };
@@ -7805,7 +7819,21 @@ Error Handling:
7805
7819
  };
7806
7820
  var handler79 = async (client2, args) => {
7807
7821
  const { address, network, ...body } = args;
7808
- return asTextContentResult(await client2.onchain.networks.tokens.topTraders.get(address, { network_id: network, ...body }));
7822
+ try {
7823
+ return asTextContentResult(await client2.onchain.networks.tokens.topTraders.get(address, { network_id: network, ...body }));
7824
+ } catch (error) {
7825
+ if (error?.status === 404) {
7826
+ return asTextContentResult(
7827
+ {
7828
+ error: `Invalid arguments: trader tracking is not available for ${address} on network "${network}" on the CoinGecko tier this account is on (404). Use coingecko_get_onchain_token_top_holders or get_token_top_holders for this token; traders are served on networks such as base.`,
7829
+ code: "VALIDATION_ERROR",
7830
+ suggestion: "Call coingecko_get_onchain_token_top_holders with the same network and address."
7831
+ },
7832
+ true
7833
+ );
7834
+ }
7835
+ throw error;
7836
+ }
7809
7837
  };
7810
7838
  var get_tokens_networks_onchain_top_traders_default = { metadata: metadata79, tool: tool79, handler: handler79 };
7811
7839
 
@@ -14802,10 +14830,18 @@ var wrapper = {
14802
14830
  {
14803
14831
  tool: {
14804
14832
  name: "get_new_pools",
14805
- description: "This endpoint allows you to **query all the latest pools across all networks on HIVE_DATASOURCE_ONE_CONSOLE**",
14833
+ description: "This endpoint allows you to **query all the latest pools across all networks on HIVE_DATASOURCE_ONE_CONSOLE**. Pass `network` to scope the list to one network.",
14806
14834
  inputSchema: {
14807
14835
  type: "object",
14808
14836
  properties: {
14837
+ network: {
14838
+ type: "string",
14839
+ description: 'Optional GeckoTerminal network id ("eth", "base", "solana", ...). When set, returns the newest pools on that network only.'
14840
+ },
14841
+ duration: {
14842
+ type: "string",
14843
+ description: "Accepted for parity with get_trending_pools and ignored: new pools are always ordered by creation time, newest first."
14844
+ },
14809
14845
  include: {
14810
14846
  type: "string",
14811
14847
  description: "attributes to include, comma-separated if more than one to include <br> Available values: `base_token`, `quote_token`, `dex`, `network`"
@@ -26449,6 +26485,12 @@ function runtimeStatusForConfiguredKey(hasKey) {
26449
26485
  function classifyRuntimeStatusFromError(error) {
26450
26486
  const normalized = (error ?? "").toLowerCase();
26451
26487
  if (!normalized) return "failing";
26488
+ if (normalized.includes("was retired") || normalized.includes("tool_retired") || normalized.includes("tool_not_found") || normalized.includes("does not resolve to a hive endpoint") || // Hive's own caller-error convention. A message that starts this way may
26489
+ // go on to mention a plan, a tier, or an address (2026-09-16: "not
26490
+ // available ... on the current plan" was read as plan_required).
26491
+ normalized.includes("invalid arguments")) {
26492
+ return "invalid_input";
26493
+ }
26452
26494
  if (normalized.includes("rate limit") || normalized.includes("rate_limited") || normalized.includes("429") || normalized.includes("too many requests")) {
26453
26495
  return "rate_limited";
26454
26496
  }
@@ -26466,7 +26508,10 @@ function classifyRuntimeStatusFromError(error) {
26466
26508
  if (normalized.includes("is not supported") || normalized.includes("does not support") || normalized.includes("not supported yet") || normalized.includes("is required") || normalized.includes("must be one of") || normalized.includes("invalid symbol") || normalized.includes("bad symbol") || normalized.includes("badsymbol") || normalized.includes("badrequest") || normalized.includes("invalid parameter") || normalized.includes("invalid argument") || // Hero-tool caller mistakes and unknown/retired tool names (2026-09-14):
26467
26509
  // a name that does not resolve is fixable by the caller, never a provider
26468
26510
  // outage, so it must not read as "failing" (which automated callers retry).
26469
- normalized.includes("unknown chain") || normalized.includes("was retired") || normalized.includes("tool_retired") || normalized.includes("tool_not_found") || normalized.includes("does not resolve to a hive endpoint")) {
26511
+ normalized.includes("unknown chain") || // Provider-side rejections of a malformed identifier (GoPlus "Address
26512
+ // format error!", "invalid address", "not a valid address") are the
26513
+ // caller's to fix, not an outage (2026-09-16 audit).
26514
+ normalized.includes("address format") || normalized.includes("invalid address") || normalized.includes("not a valid address") || normalized.includes("malformed address")) {
26470
26515
  return "invalid_input";
26471
26516
  }
26472
26517
  if (normalized.includes("timed out") || normalized.includes("timeout") || normalized.includes("temporarily") || normalized.includes("service unavailable") || normalized.includes("502") || normalized.includes("503") || normalized.includes("504")) {
@@ -26477,7 +26522,8 @@ function classifyRuntimeStatusFromError(error) {
26477
26522
  function aggregateRuntimeStatus(statuses) {
26478
26523
  if (statuses.length === 0) return "degraded";
26479
26524
  if (statuses.some((status) => status === "failing")) return "failing";
26480
- if (statuses.some((status) => status === "rate_limited")) return "rate_limited";
26525
+ if (statuses.some((status) => status === "rate_limited"))
26526
+ return "rate_limited";
26481
26527
  if (statuses.some((status) => status === "degraded")) return "degraded";
26482
26528
  if (statuses.some((status) => status === "plan_required")) {
26483
26529
  return "plan_required";
@@ -51587,6 +51633,24 @@ function createSafeHandler(handler96, metadata100, toolName) {
51587
51633
  } catch {
51588
51634
  }
51589
51635
  }
51636
+ if (result2.isError && text.trimStart().startsWith("{")) {
51637
+ try {
51638
+ const parsedObject = JSON.parse(text);
51639
+ if (parsedObject && typeof parsedObject === "object" && !Array.isArray(parsedObject) && typeof parsedObject.error === "string") {
51640
+ return asTextContentResult(
51641
+ {
51642
+ suggestion: "Check input parameters and try again.",
51643
+ alternatives: getAlternativeTools(toolName),
51644
+ documentation: `Use the category endpoint to discover related tools.`,
51645
+ tool: toolName,
51646
+ ...parsedObject
51647
+ },
51648
+ true
51649
+ );
51650
+ }
51651
+ } catch {
51652
+ }
51653
+ }
51590
51654
  if (result2.isError || /^(\*\*Error:\*\*|Error\b)/i.test(text.trim())) {
51591
51655
  const normalizedError = text.replace(/\s+/g, " ").trim();
51592
51656
  return asTextContentResult(
@@ -51652,7 +51716,11 @@ function createSafeHandler(handler96, metadata100, toolName) {
51652
51716
  function getAlternativeTools(toolName) {
51653
51717
  const name = toolName.toLowerCase();
51654
51718
  if (name.includes("price") || name.includes("ticker"))
51655
- return ["get_coins_market_data", "alchemy_get_token_prices_by_address", "get_price"];
51719
+ return [
51720
+ "get_coins_market_data",
51721
+ "alchemy_get_token_prices_by_address",
51722
+ "get_price"
51723
+ ];
51656
51724
  if (name.includes("pool"))
51657
51725
  return ["get_trending_pools", "get_pools_by_dex", "filter_pools"];
51658
51726
  if (name.includes("token") || name.includes("coin"))
@@ -52794,7 +52862,8 @@ function normalizeErrorText(text, toolName, args) {
52794
52862
  } catch {
52795
52863
  }
52796
52864
  if (errorMsg) {
52797
- let normalized = `**Error:** ${errorMsg}`;
52865
+ const bareErrorMsg = errorMsg.replace(/^(?:\s*\*\*Error:\*\*\s*)+/, "");
52866
+ let normalized = `**Error:** ${bareErrorMsg}`;
52798
52867
  normalized += `
52799
52868
 
52800
52869
  **Code:** ${code || "API_ERROR"}`;
@@ -53684,9 +53753,9 @@ var RETIRED_TOOL_REPLACEMENTS = {
53684
53753
  get_wallet_stats: "Use alchemy_get_token_balances_by_wallet, alchemy_get_asset_transfers, or moralis_get_wallet_profitability_summary for wallet balances, transfers, and PnL.",
53685
53754
  get_wallet_token_events: "Use alchemy_get_token_balances_by_wallet, alchemy_get_asset_transfers, or moralis_get_wallet_profitability_summary for wallet balances, transfers, and PnL.",
53686
53755
  // holders
53687
- get_token_holders: "Use get_token_top_holders, moralis_get_token_holder_metrics, or coingecko_get_onchain_token_top_traders for holder and trader reads.",
53688
- get_token_top_traders: "Use get_token_top_holders, moralis_get_token_holder_metrics, or coingecko_get_onchain_token_top_traders for holder and trader reads.",
53689
- get_top_holders_percentage: "Use get_token_top_holders, moralis_get_token_holder_metrics, or coingecko_get_onchain_token_top_traders for holder and trader reads.",
53756
+ get_token_holders: "Use get_token_top_holders for holders on any network, coingecko_get_onchain_token_top_traders for traders where CoinGecko serves them (base and similar; not Ethereum on the current plan), or moralis_get_token_holder_metrics for holder metrics.",
53757
+ get_token_top_traders: "Use get_token_top_holders for holders on any network, coingecko_get_onchain_token_top_traders for traders where CoinGecko serves them (base and similar; not Ethereum on the current plan), or moralis_get_token_holder_metrics for holder metrics.",
53758
+ get_top_holders_percentage: "Use get_token_top_holders for holders on any network, coingecko_get_onchain_token_top_traders for traders where CoinGecko serves them (base and similar; not Ethereum on the current plan), or moralis_get_token_holder_metrics for holder metrics.",
53690
53759
  // pairs
53691
53760
  codex_get_detailed_token_stats: "Use get_token_pools, get_pool_info, get_pools_by_address, moralis_get_pair_stats, or get_new_pools for pool and pair data.",
53692
53761
  codex_get_windowed_pair_stats: "Use get_token_pools, get_pool_info, get_pools_by_address, moralis_get_pair_stats, or get_new_pools for pool and pair data.",
@@ -53960,16 +54029,91 @@ function attachStructuredContent(result2, hasOutputSchema = false) {
53960
54029
  return result2;
53961
54030
  }
53962
54031
  function declaredErrorCode(rawErrorText) {
54032
+ const parsed = parseEmbeddedJsonObject(rawErrorText);
54033
+ if (typeof parsed?.code === "string") return parsed.code;
54034
+ const nested = typeof parsed?.error === "string" ? parseEmbeddedJsonObject(parsed.error) : void 0;
54035
+ return typeof nested?.code === "string" ? nested.code : void 0;
54036
+ }
54037
+ function parseEmbeddedJsonObject(text) {
54038
+ if (!text) return void 0;
54039
+ const start = text.indexOf("{");
54040
+ if (start < 0) return void 0;
54041
+ let depth = 0;
54042
+ let inString = false;
54043
+ for (let i = start; i < text.length; i += 1) {
54044
+ const ch = text[i];
54045
+ if (inString) {
54046
+ if (ch === "\\") i += 1;
54047
+ else if (ch === '"') inString = false;
54048
+ continue;
54049
+ }
54050
+ if (ch === '"') inString = true;
54051
+ else if (ch === "{") depth += 1;
54052
+ else if (ch === "}") {
54053
+ depth -= 1;
54054
+ if (depth === 0) {
54055
+ try {
54056
+ const parsed = JSON.parse(text.slice(start, i + 1));
54057
+ return parsed && typeof parsed === "object" ? parsed : void 0;
54058
+ } catch {
54059
+ return void 0;
54060
+ }
54061
+ }
54062
+ }
54063
+ }
54064
+ return void 0;
54065
+ }
54066
+ function handlerErrorCopy(payload) {
54067
+ if (!payload || typeof payload !== "object") return void 0;
54068
+ const top = payload;
54069
+ const inner = top._hive && typeof top._hive === "object" ? top._hive : {};
54070
+ const pick = (key) => typeof top[key] === "string" ? top[key] : typeof inner[key] === "string" ? inner[key] : void 0;
54071
+ const cause = pick("cause");
54072
+ const next_action = pick("next_action");
54073
+ return cause || next_action ? { cause, next_action } : void 0;
54074
+ }
54075
+ var PROVIDER_PREFIXES = [
54076
+ ["moralis_", "Moralis"],
54077
+ ["alchemy_", "Alchemy"],
54078
+ ["helius_", "Helius"],
54079
+ ["coingecko_", "CoinGecko"],
54080
+ ["hyperliquid_", "Hyperliquid"],
54081
+ ["tenderly_", "Tenderly"],
54082
+ ["goplus_", "GoPlus"],
54083
+ ["ccxt_", "CCXT"],
54084
+ ["defillama_", "DeFiLlama"]
54085
+ ];
54086
+ var replacementAvailability = null;
54087
+ function setRetiredReplacementAvailabilityProvider(provider) {
54088
+ replacementAvailability = provider;
54089
+ }
54090
+ function unavailableReplacementNote(guidance) {
54091
+ let snapshot = {};
53963
54092
  try {
53964
- const parsed = JSON.parse(rawErrorText ?? "");
53965
- return typeof parsed?.code === "string" ? parsed.code : void 0;
54093
+ snapshot = replacementAvailability?.() ?? {};
53966
54094
  } catch {
53967
- return void 0;
54095
+ return "";
53968
54096
  }
54097
+ const notes = /* @__PURE__ */ new Map();
54098
+ for (const name of guidance.match(/[a-z0-9]+_[a-z0-9_]+/g) ?? []) {
54099
+ for (const [prefix, provider] of PROVIDER_PREFIXES) {
54100
+ if (!name.startsWith(prefix)) continue;
54101
+ const status = snapshot[provider];
54102
+ if (!status || status === "ok") continue;
54103
+ const list = notes.get(provider) ?? [];
54104
+ if (!list.includes(name)) list.push(name);
54105
+ notes.set(provider, list);
54106
+ }
54107
+ }
54108
+ if (notes.size === 0) return "";
54109
+ return " " + [...notes].map(
54110
+ ([provider, tools5]) => `${tools5.join(", ")} ${tools5.length > 1 ? "are" : "is"} unavailable right now (${provider}: ${snapshot[provider]}); start with the other replacement${tools5.length > 1 ? "s" : ""}.`
54111
+ ).join(" ");
53969
54112
  }
53970
54113
  function createToolNotFoundResult(toolName, durationMs = 0) {
53971
54114
  const retired = getRetiredToolReplacement(toolName);
53972
- const message = retired ? `Tool '${toolName}' was retired on ${RETIRED_TOOLS_DATE}. ${retired}` : `Tool '${toolName}' not found.`;
54115
+ const availabilityNote = retired ? unavailableReplacementNote(retired) : "";
54116
+ const message = retired ? `Tool '${toolName}' was retired on ${RETIRED_TOOLS_DATE}. ${retired}${availabilityNote}` : `Tool '${toolName}' not found.`;
53973
54117
  const errorCode = retired ? "TOOL_RETIRED" : "TOOL_NOT_FOUND";
53974
54118
  const mcpResult = createErrorResponse7(errorCode, message);
53975
54119
  const hive = {
@@ -53998,7 +54142,7 @@ function createToolNotFoundResult(toolName, durationMs = 0) {
53998
54142
  retired ? "Tool name was retired; the replacement is named in the message." : "Tool name did not resolve to a Hive endpoint."
53999
54143
  ],
54000
54144
  cause: retired ? `Tool '${toolName}' was retired on ${RETIRED_TOOLS_DATE} when the Codex.io provider was removed; nothing was executed.` : `Tool '${toolName}' does not resolve to a Hive endpoint; nothing was executed.`,
54001
- next_action: retired ? `${retired} Call search_tools with your task if that tool does not fit.` : "Call search_tools (or a category endpoint tools/list) to find the exact endpoint name, then retry with that name."
54145
+ next_action: retired ? `${retired}${availabilityNote} Call search_tools with your task if that tool does not fit.` : "Call search_tools (or a category endpoint tools/list) to find the exact endpoint name, then retry with that name."
54002
54146
  };
54003
54147
  const enrichedMcpResult = attachHiveMetadata(mcpResult, hive);
54004
54148
  return {
@@ -54280,7 +54424,10 @@ async function executeEndpoint(endpoint, args, context) {
54280
54424
  );
54281
54425
  logToolCall(endpoint, context, result2.hive, false, durationMs, args, {
54282
54426
  runtimeStatus: result2.runtimeStatus,
54283
- errorClass: "validation"
54427
+ errorClass: "validation",
54428
+ // Field names only (never values): the 2026-09-16 audit could not tell
54429
+ // which argument an integrator was sending wrong for two weeks.
54430
+ validationFields: validationErrors.map((error) => error.field)
54284
54431
  });
54285
54432
  return result2;
54286
54433
  }
@@ -54393,7 +54540,7 @@ async function executeEndpoint(endpoint, args, context) {
54393
54540
  applyRouteFallbackAnnotation(hive, context.routeFallback);
54394
54541
  }
54395
54542
  if (normalized.isError) {
54396
- applyAgentErrorCopy(hive);
54543
+ applyAgentErrorCopy(hive, handlerErrorCopy(unwrapMcpContent(rawResult)));
54397
54544
  }
54398
54545
  const enriched = attachHiveMetadata(bounded, hive);
54399
54546
  const mcpResult = attachStructuredContent(
@@ -65085,6 +65232,9 @@ function getProviderAvailabilitySnapshot() {
65085
65232
  }
65086
65233
 
65087
65234
  // src/tools/dynamic-tools.ts
65235
+ setRetiredReplacementAvailabilityProvider(
65236
+ () => getProviderAvailabilitySnapshot().byProviderName
65237
+ );
65088
65238
  var DEFAULT_SEARCH_LIMIT = 20;
65089
65239
  var MAX_SEARCH_LIMIT = 50;
65090
65240
  var DEFAULT_TOOLSET_LIMIT = 3;
package/build/cli.js CHANGED
@@ -3440,7 +3440,7 @@ program2.hook("preAction", (thisCommand) => {
3440
3440
  setCliFlags({ apiKey: opts.apiKey, noRetry: opts.retry === false });
3441
3441
  });
3442
3442
  program2.action(async () => {
3443
- const { startStdio } = await import("./serve-SU67DIY3.js");
3443
+ const { startStdio } = await import("./serve-XRNMHIJX.js");
3444
3444
  await startStdio(program2.opts().envFile);
3445
3445
  });
3446
3446
  program2.command("serve").description("Start the MCP server").option("--http", "Start HTTP server instead of stdio").option("--port <number>", "HTTP server port", "8080").action(async (opts) => {
@@ -3453,10 +3453,10 @@ program2.command("serve").description("Start the MCP server").option("--http", "
3453
3453
  );
3454
3454
  process.exit(ExitCode.INVALID_ARGS);
3455
3455
  }
3456
- const { startHttp } = await import("./serve-SU67DIY3.js");
3456
+ const { startHttp } = await import("./serve-XRNMHIJX.js");
3457
3457
  await startHttp(port, program2.opts().envFile);
3458
3458
  } else {
3459
- const { startStdio } = await import("./serve-SU67DIY3.js");
3459
+ const { startStdio } = await import("./serve-XRNMHIJX.js");
3460
3460
  await startStdio(program2.opts().envFile);
3461
3461
  }
3462
3462
  });
@@ -3666,7 +3666,7 @@ program2.command("uninstall").description(
3666
3666
  if (exitCode !== 0) process.exit(exitCode);
3667
3667
  });
3668
3668
  program2.command("doctor").description("Diagnose environment and server connectivity").option("--probe", "Run live API probes (slower)").action(async (opts) => {
3669
- const { runDoctor } = await import("./doctor-YBCU5FLQ.js");
3669
+ const { runDoctor } = await import("./doctor-AM6QST7Z.js");
3670
3670
  await runDoctor(opts);
3671
3671
  });
3672
3672
  program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
@@ -3714,7 +3714,7 @@ program2.command("usage").description("Show your API usage and plan limits").act
3714
3714
  await runUsage();
3715
3715
  });
3716
3716
  program2.command("status").description("Quick health and version check").action(async () => {
3717
- const { runStatus } = await import("./doctor-YBCU5FLQ.js");
3717
+ const { runStatus } = await import("./doctor-AM6QST7Z.js");
3718
3718
  await runStatus();
3719
3719
  });
3720
3720
  program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
@@ -204,7 +204,7 @@ ${fails === 0 ? "All checks passed" : `${fails} issues found`}${warns ? ` (${war
204
204
  if (fails > 0) process.exit(1);
205
205
  }
206
206
  async function runStatus() {
207
- const { SERVER_VERSION } = await import("./mcpServer-V4XUSCX7.js");
207
+ const { SERVER_VERSION } = await import("./mcpServer-NWOKFR7Q.js");
208
208
  const { resolveApiKey, resolveApiUrl } = await import("./config-dir-2QLA5PXD.js");
209
209
  const { getActiveProfile, maskKey } = await import("./auth-4LPSQJXD.js");
210
210
  const apiUrl = resolveApiUrl();
@@ -9,7 +9,7 @@ import {
9
9
  getToolsForScope,
10
10
  memoizedJsonSchemaToZodInputSchema,
11
11
  memoizedJsonSchemaToZodOutputSchema
12
- } from "./chunk-IJ5KOZH5.js";
12
+ } from "./chunk-J2PXISXW.js";
13
13
  import "./chunk-GADPH72D.js";
14
14
  import "./chunk-EPF36Q3Z.js";
15
15
  import {
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module'; const require = createRequire(impor
2
2
  import {
3
3
  consumeCredits,
4
4
  executeToolByName
5
- } from "./chunk-XZJICKAL.js";
5
+ } from "./chunk-G23ZAW36.js";
6
6
  import {
7
7
  HyperliquidAPI,
8
8
  MIN_MONITOR_CADENCE_MS,
@@ -15,7 +15,7 @@ import {
15
15
  monitorCadenceIntervalMs,
16
16
  runScheduledHealthCanaries,
17
17
  secureLogger
18
- } from "./chunk-IJ5KOZH5.js";
18
+ } from "./chunk-J2PXISXW.js";
19
19
  import "./chunk-GADPH72D.js";
20
20
  import "./chunk-EPF36Q3Z.js";
21
21
  import "./chunk-ZXKFJQDE.js";
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "package": "hive-intelligence",
3
- "version": "1.6.3",
4
- "buildSha": "fe2eafa2e2aab14fbee80f2ecb25ddbf7b4790de",
5
- "imageDigest": "sha256:55f48ae30e23dbc7b40c6600a62cf0045dd0d331454c914af4bedc9a1a9b8782",
3
+ "version": "1.6.7",
4
+ "buildSha": "4fddf62cb6f56b0b14c162c88632cb746c8affe5",
5
+ "imageDigest": "sha256:609f7a3dbed5ab6375db4d985a2a6729e55810fae71f69836aad5c62d55f7b84",
6
6
  "deployedUrl": "https://mcp.hiveintelligence.xyz",
7
- "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.6.3/releases/v1.6.3.json"
7
+ "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.6.7/releases/v1.6.7.json"
8
8
  }
@@ -7,7 +7,7 @@ async function startStdio(envFile) {
7
7
  dotenv.config({ path: envFile || ".env", quiet: true });
8
8
  console.log = (...args) => console.error("[LOG]", ...args);
9
9
  const { StdioServerTransport } = await import("@modelcontextprotocol/sdk/server/stdio.js");
10
- const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-V4XUSCX7.js");
10
+ const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-NWOKFR7Q.js");
11
11
  const { getPendingUpdateVersion } = await import("./update-check-36QU6PKA.js");
12
12
  const transport = new StdioServerTransport();
13
13
  const pendingUpdate = getPendingUpdateVersion();
package/build/server.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  ensureWallet,
7
7
  executeToolByName,
8
8
  getWalletStatus
9
- } from "./chunk-XZJICKAL.js";
9
+ } from "./chunk-G23ZAW36.js";
10
10
  import {
11
11
  CategoryEndpoints,
12
12
  HERO_TOOL_NAMES,
@@ -96,7 +96,7 @@ import {
96
96
  validateEndpointArgs,
97
97
  verifyApiKey,
98
98
  waitForRedisAvailability
99
- } from "./chunk-IJ5KOZH5.js";
99
+ } from "./chunk-J2PXISXW.js";
100
100
  import {
101
101
  HIVE_AGENT_SKILLS
102
102
  } from "./chunk-GADPH72D.js";
package/build/stdio.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  createHiveMcpServer,
8
8
  secureLogger
9
- } from "./chunk-IJ5KOZH5.js";
9
+ } from "./chunk-J2PXISXW.js";
10
10
  import "./chunk-GADPH72D.js";
11
11
  import "./chunk-EPF36Q3Z.js";
12
12
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hive-intelligence",
3
- "version": "1.6.3",
3
+ "version": "1.6.7",
4
4
  "description": "Evidence-backed crypto due diligence for AI agents, with sources, freshness, and a runtime receipt on every call.",
5
5
  "mcpName": "xyz.hiveintelligence/mcp",
6
6
  "type": "module",