hive-intelligence 1.5.0 → 1.5.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.
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.5.0",
112
+ "server_version": "1.5.1",
113
113
  "build_sha": null,
114
114
  "digest_algorithm": "sha256",
115
115
  "input_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
@@ -33,7 +33,11 @@ var NAMESPACE = [
33
33
  description: "Quote currency",
34
34
  required: true
35
35
  },
36
- per_page: { flag: "--limit <n>", description: "Number of results" }
36
+ per_page: {
37
+ flag: "--limit <n>",
38
+ description: "Number of results",
39
+ type: "number"
40
+ }
37
41
  }
38
42
  },
39
43
  { name: "trending", description: "Trending coins", tool: "get_trending" },
@@ -68,12 +72,14 @@ var NAMESPACE = [
68
72
  from: {
69
73
  flag: "--from <timestamp>",
70
74
  description: "Start UNIX timestamp",
71
- required: true
75
+ required: true,
76
+ type: "number"
72
77
  },
73
78
  to: {
74
79
  flag: "--to <timestamp>",
75
80
  description: "End UNIX timestamp",
76
- required: true
81
+ required: true,
82
+ type: "number"
77
83
  }
78
84
  }
79
85
  },
@@ -153,7 +159,8 @@ var NAMESPACE = [
153
159
  networkId: {
154
160
  flag: "--network-id <id>",
155
161
  description: "EVM chain ID",
156
- required: true
162
+ required: true,
163
+ type: "number"
157
164
  }
158
165
  }
159
166
  },
@@ -392,7 +399,11 @@ var NAMESPACE = [
392
399
  description: "Network (eth, bsc, solana)",
393
400
  required: true
394
401
  },
395
- page: { flag: "--page <n>", description: "Page number" }
402
+ page: {
403
+ flag: "--page <n>",
404
+ description: "Page number",
405
+ type: "number"
406
+ }
396
407
  }
397
408
  },
398
409
  {
@@ -20827,7 +20827,7 @@ var require_websocket = __commonJS({
20827
20827
  var http = __require("http");
20828
20828
  var net2 = __require("net");
20829
20829
  var tls = __require("tls");
20830
- var { randomBytes: randomBytes4, createHash: createHash8 } = __require("crypto");
20830
+ var { randomBytes: randomBytes4, createHash: createHash9 } = __require("crypto");
20831
20831
  var { Duplex, Readable } = __require("stream");
20832
20832
  var { URL: URL2 } = __require("url");
20833
20833
  var PerMessageDeflate = require_permessage_deflate();
@@ -21495,7 +21495,7 @@ var require_websocket = __commonJS({
21495
21495
  abortHandshake(websocket, socket, "Invalid Upgrade header");
21496
21496
  return;
21497
21497
  }
21498
- const digest2 = createHash8("sha1").update(key + GUID).digest("base64");
21498
+ const digest2 = createHash9("sha1").update(key + GUID).digest("base64");
21499
21499
  if (res.headers["sec-websocket-accept"] !== digest2) {
21500
21500
  abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
21501
21501
  return;
@@ -21864,7 +21864,7 @@ var require_websocket_server = __commonJS({
21864
21864
  var EventEmitter = __require("events");
21865
21865
  var http = __require("http");
21866
21866
  var { Duplex } = __require("stream");
21867
- var { createHash: createHash8 } = __require("crypto");
21867
+ var { createHash: createHash9 } = __require("crypto");
21868
21868
  var extension = require_extension();
21869
21869
  var PerMessageDeflate = require_permessage_deflate();
21870
21870
  var subprotocol = require_subprotocol();
@@ -22171,7 +22171,7 @@ var require_websocket_server = __commonJS({
22171
22171
  );
22172
22172
  }
22173
22173
  if (this._state > RUNNING) return abortHandshake(socket, 503);
22174
- const digest2 = createHash8("sha1").update(key + GUID).digest("base64");
22174
+ const digest2 = createHash9("sha1").update(key + GUID).digest("base64");
22175
22175
  const headers = [
22176
22176
  "HTTP/1.1 101 Switching Protocols",
22177
22177
  "Upgrade: websocket",
@@ -85678,6 +85678,147 @@ function getAnalyticsWriter() {
85678
85678
  return defaultWriter;
85679
85679
  }
85680
85680
 
85681
+ // src/services/posthog-sink.ts
85682
+ import { createHash as createHash5 } from "crypto";
85683
+ var POSTHOG_DISTINCT_ID_DOMAIN = "hive-posthog-principal-v1";
85684
+ var MAX_QUEUE_SIZE2 = 500;
85685
+ var FLUSH_INTERVAL_MS2 = 5e3;
85686
+ var FLUSH_BATCH_SIZE2 = 50;
85687
+ var DROP_LOG_INTERVAL_MS2 = 6e4;
85688
+ var CAPTURE_TIMEOUT_MS = 1e4;
85689
+ function posthogDistinctId(raw) {
85690
+ return createHash5("sha256").update(`${POSTHOG_DISTINCT_ID_DOMAIN}\0${raw}`).digest("hex");
85691
+ }
85692
+ async function defaultPostBatch(url, body) {
85693
+ const response = await fetch(url, {
85694
+ method: "POST",
85695
+ headers: { "Content-Type": "application/json" },
85696
+ body: JSON.stringify(body),
85697
+ signal: AbortSignal.timeout(CAPTURE_TIMEOUT_MS)
85698
+ });
85699
+ return { ok: response.ok, status: response.status };
85700
+ }
85701
+ function defaultDependencies2() {
85702
+ return {
85703
+ projectToken: () => getEnvVar("POSTHOG_PROJECT_TOKEN"),
85704
+ host: () => getEnvVar("POSTHOG_HOST"),
85705
+ postBatch: defaultPostBatch,
85706
+ maxQueueSize: MAX_QUEUE_SIZE2,
85707
+ flushIntervalMs: FLUSH_INTERVAL_MS2,
85708
+ flushBatchSize: FLUSH_BATCH_SIZE2
85709
+ };
85710
+ }
85711
+ function createPosthogSink(overrides = {}) {
85712
+ const deps = {
85713
+ ...defaultDependencies2(),
85714
+ ...overrides
85715
+ };
85716
+ const queue = [];
85717
+ let dropped = 0;
85718
+ let lastDropLoggedAt = 0;
85719
+ let timer = null;
85720
+ let flushing = null;
85721
+ function ensureTimer() {
85722
+ if (timer) return;
85723
+ timer = setInterval(() => {
85724
+ void flush();
85725
+ }, deps.flushIntervalMs);
85726
+ timer.unref?.();
85727
+ }
85728
+ async function drain() {
85729
+ const token = deps.projectToken();
85730
+ const host = deps.host();
85731
+ if (!token || !host) return;
85732
+ const batch = queue.splice(0, queue.length);
85733
+ if (batch.length === 0) return;
85734
+ try {
85735
+ const { ok, status } = await deps.postBatch(
85736
+ `${host.replace(/\/$/, "")}/batch/`,
85737
+ { api_key: token, batch }
85738
+ );
85739
+ if (!ok) {
85740
+ dropped += batch.length;
85741
+ secureLogger.warn("PostHog batch capture failed", {
85742
+ status,
85743
+ eventCount: batch.length,
85744
+ droppedTotal: dropped
85745
+ });
85746
+ }
85747
+ } catch (error) {
85748
+ dropped += batch.length;
85749
+ secureLogger.warn("PostHog batch capture threw", {
85750
+ eventCount: batch.length,
85751
+ droppedTotal: dropped,
85752
+ errorMessage: error instanceof Error ? error.message : "unknown"
85753
+ });
85754
+ }
85755
+ }
85756
+ function flush() {
85757
+ if (flushing) return flushing;
85758
+ flushing = drain().catch(() => void 0).finally(() => {
85759
+ flushing = null;
85760
+ });
85761
+ return flushing;
85762
+ }
85763
+ return {
85764
+ enqueueToolCall(event) {
85765
+ try {
85766
+ if (!deps.projectToken() || !deps.host()) return false;
85767
+ if (!event.isMaterial || event.isInternal) return false;
85768
+ if (!event.principalRaw || event.authLane === "anonymous") return false;
85769
+ if (queue.length >= deps.maxQueueSize) {
85770
+ dropped += 1;
85771
+ const now = Date.now();
85772
+ if (now - lastDropLoggedAt >= DROP_LOG_INTERVAL_MS2) {
85773
+ lastDropLoggedAt = now;
85774
+ secureLogger.warn(
85775
+ "PostHog queue is full \u2014 mirror events are being dropped",
85776
+ { queueSize: queue.length, droppedTotal: dropped }
85777
+ );
85778
+ }
85779
+ return false;
85780
+ }
85781
+ queue.push({
85782
+ event: "mcp_tool_call",
85783
+ distinct_id: posthogDistinctId(event.principalRaw),
85784
+ timestamp: event.ts ?? (/* @__PURE__ */ new Date()).toISOString(),
85785
+ properties: {
85786
+ source: "mcp",
85787
+ tool_name: event.toolName,
85788
+ success: event.success,
85789
+ duration_ms: Math.max(0, Math.round(event.durationMs)),
85790
+ transport: event.transport,
85791
+ provider: event.provider ?? null,
85792
+ category: event.category ?? null,
85793
+ auth_lane: event.authLane ?? null,
85794
+ client: event.clientProfile ?? null
85795
+ }
85796
+ });
85797
+ ensureTimer();
85798
+ if (queue.length >= deps.flushBatchSize) void flush();
85799
+ return true;
85800
+ } catch {
85801
+ return false;
85802
+ }
85803
+ },
85804
+ flush,
85805
+ stop() {
85806
+ if (timer) {
85807
+ clearInterval(timer);
85808
+ timer = null;
85809
+ }
85810
+ },
85811
+ getStats() {
85812
+ return { queued: queue.length, dropped };
85813
+ }
85814
+ };
85815
+ }
85816
+ var defaultSink = null;
85817
+ function getPosthogSink() {
85818
+ if (!defaultSink) defaultSink = createPosthogSink();
85819
+ return defaultSink;
85820
+ }
85821
+
85681
85822
  // src/services/client-profile.ts
85682
85823
  var MCP_REMOTE_PATTERN = /^(.*?) \(via mcp-remote ([\d.]+)\)$/;
85683
85824
  var MAX_NAME_LENGTH = 256;
@@ -86081,6 +86222,22 @@ function logToolCall(endpoint, context, hive, success, durationMs, args, extra =
86081
86222
  });
86082
86223
  } catch {
86083
86224
  }
86225
+ try {
86226
+ getPosthogSink().enqueueToolCall({
86227
+ toolName: endpoint.tool.name,
86228
+ success,
86229
+ durationMs,
86230
+ transport: context.transport,
86231
+ provider: getProviderNameForTool(endpoint),
86232
+ category: getCategoryNameForTool(endpoint.tool.name),
86233
+ principalRaw: context.analytics?.principalRaw ?? null,
86234
+ authLane: context.analytics?.authLane ?? null,
86235
+ clientProfile: clientProfileFromName(context.analytics?.clientName),
86236
+ isMaterial: getMcpCreditCost(endpoint.tool.name) > 0,
86237
+ isInternal: context.analytics?.isInternal === true || context.transport === "health"
86238
+ });
86239
+ } catch {
86240
+ }
86084
86241
  }
86085
86242
  function validationErrorResult(endpoint, validationErrors, durationMs, args) {
86086
86243
  const errorCopy = agentErrorCopy("invalid_input", {
@@ -91138,7 +91295,7 @@ async function runMcpProtocolHealth(options = {}) {
91138
91295
  }
91139
91296
 
91140
91297
  // src/health/oauthLifecycle.ts
91141
- import { createHash as createHash6, randomBytes as randomBytes3 } from "crypto";
91298
+ import { createHash as createHash7, randomBytes as randomBytes3 } from "crypto";
91142
91299
 
91143
91300
  // src/auth/oauth/provider.ts
91144
91301
  import { randomBytes as randomBytes2 } from "crypto";
@@ -91514,10 +91671,10 @@ function isHiveOAuthAccessToken(token) {
91514
91671
  }
91515
91672
 
91516
91673
  // src/auth/oauth/store.ts
91517
- import { createHash as createHash5 } from "crypto";
91674
+ import { createHash as createHash6 } from "crypto";
91518
91675
  var REVOKED_FAMILY_TTL_SECONDS = 7776e3;
91519
91676
  function digest(value) {
91520
- return createHash5("sha256").update(value).digest("hex");
91677
+ return createHash6("sha256").update(value).digest("hex");
91521
91678
  }
91522
91679
  function parseJson(raw) {
91523
91680
  if (!raw) return void 0;
@@ -91969,7 +92126,7 @@ async function operationRejects(operation) {
91969
92126
  }
91970
92127
  async function issueCanaryFamily(args) {
91971
92128
  const verifier = randomBytes3(48).toString("base64url");
91972
- const challenge = createHash6("sha256").update(verifier).digest("base64url");
92129
+ const challenge = createHash7("sha256").update(verifier).digest("base64url");
91973
92130
  let consentLocation;
91974
92131
  const response = {
91975
92132
  redirect(status, location) {
@@ -92281,7 +92438,7 @@ async function runOAuthLifecycleHealth(overrides = {}) {
92281
92438
  import Coingecko2 from "@coingecko/coingecko-typescript";
92282
92439
 
92283
92440
  // src/tools/goplus/goplusClient.ts
92284
- import { createHash as createHash7 } from "crypto";
92441
+ import { createHash as createHash8 } from "crypto";
92285
92442
  function parsePositiveInteger(value, fallback) {
92286
92443
  const parsed = Number.parseInt(value || "", 10);
92287
92444
  return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
@@ -92375,7 +92532,7 @@ var GoPlusClient = class {
92375
92532
  const time = Math.floor(Date.now() / 1e3);
92376
92533
  const timeStr = time.toString();
92377
92534
  const signInput = this.appKey + timeStr + this.appSecret;
92378
- const sign = createHash7("sha1").update(signInput).digest("hex");
92535
+ const sign = createHash8("sha1").update(signInput).digest("hex");
92379
92536
  secureLogger.info("GoPlus: requesting access token", {
92380
92537
  appKeyLength: this.appKey.length,
92381
92538
  appSecretLength: this.appSecret.length,
@@ -7,7 +7,7 @@ import {
7
7
  getSupabaseAdmin,
8
8
  resolveEndpoint,
9
9
  secureLogger
10
- } from "./chunk-AGM2CIRL.js";
10
+ } from "./chunk-LFNLT3YW.js";
11
11
 
12
12
  // src/services/wallet-service.ts
13
13
  async function consumeCredits(args) {
package/build/cli.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-R6YZTFQL.js";
9
9
  import {
10
10
  NAMESPACE
11
- } from "./chunk-GWZIAAQ2.js";
11
+ } from "./chunk-7VSK46QO.js";
12
12
  import "./chunk-P7NLFSZQ.js";
13
13
  import "./chunk-RU6QOFHH.js";
14
14
  import {
@@ -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-PWMT5IRU.js");
3443
+ const { startStdio } = await import("./serve-YFFG2432.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-PWMT5IRU.js");
3456
+ const { startHttp } = await import("./serve-YFFG2432.js");
3457
3457
  await startHttp(port, program2.opts().envFile);
3458
3458
  } else {
3459
- const { startStdio } = await import("./serve-PWMT5IRU.js");
3459
+ const { startStdio } = await import("./serve-YFFG2432.js");
3460
3460
  await startStdio(program2.opts().envFile);
3461
3461
  }
3462
3462
  });
@@ -3487,7 +3487,19 @@ for (const domain of NAMESPACE) {
3487
3487
  for (const [paramName, argDef] of Object.entries(sub.args)) {
3488
3488
  const optKey = argDef.flag.replace(/^--/, "").split(/[\s<]/)[0].replace(/-([a-z])/g, (_, c) => c.toUpperCase());
3489
3489
  if (opts[optKey] !== void 0) {
3490
- args[paramName] = opts[optKey];
3490
+ if (argDef.type === "number") {
3491
+ const numeric = Number(opts[optKey]);
3492
+ if (Number.isNaN(numeric)) {
3493
+ process.stderr.write(
3494
+ `Error: ${argDef.flag.split(/[\s<]/)[0]} expects a number, got '${opts[optKey]}'
3495
+ `
3496
+ );
3497
+ process.exit(ExitCode.INVALID_ARGS);
3498
+ }
3499
+ args[paramName] = numeric;
3500
+ } else {
3501
+ args[paramName] = opts[optKey];
3502
+ }
3491
3503
  }
3492
3504
  }
3493
3505
  }
@@ -3505,7 +3517,9 @@ for (const domain of NAMESPACE) {
3505
3517
  const ask = (q) => new Promise((resolve) => rl.question(q, resolve));
3506
3518
  for (const [paramName, argDef] of missingRequired) {
3507
3519
  const answer = await ask(`${argDef.description || paramName}: `);
3508
- if (answer.trim()) args[paramName] = answer.trim();
3520
+ if (answer.trim()) {
3521
+ args[paramName] = argDef.type === "number" && !Number.isNaN(Number(answer)) ? Number(answer) : answer.trim();
3522
+ }
3509
3523
  }
3510
3524
  rl.close();
3511
3525
  }
@@ -3529,15 +3543,15 @@ for (const domain of NAMESPACE) {
3529
3543
  }
3530
3544
  var toolsCmd = program2.command("tools").description("Discover and execute tools");
3531
3545
  toolsCmd.command("list").description("List all registered tools").option("--category <name>", "Filter by category").option("--provider <name>", "Filter by provider prefix").option("--limit <n>", "Max tools to show", "50").option("--offset <n>", "Skip first N tools", "0").action(async (opts) => {
3532
- const { listTools } = await import("./tools-XNFJBN7Q.js");
3546
+ const { listTools } = await import("./tools-SIOAOXW6.js");
3533
3547
  await listTools(opts);
3534
3548
  });
3535
3549
  toolsCmd.command("search <query>").description("Search tools by name or description").action(async (query) => {
3536
- const { searchTools } = await import("./tools-XNFJBN7Q.js");
3550
+ const { searchTools } = await import("./tools-SIOAOXW6.js");
3537
3551
  await searchTools(query);
3538
3552
  });
3539
3553
  toolsCmd.command("info <name>").description("Show detailed tool schema and description").action(async (name) => {
3540
- const { toolInfo } = await import("./tools-XNFJBN7Q.js");
3554
+ const { toolInfo } = await import("./tools-SIOAOXW6.js");
3541
3555
  await toolInfo(name);
3542
3556
  });
3543
3557
  toolsCmd.command("call <name>").description("Execute a tool by name").option("--args <json>", "Tool arguments as JSON (or pipe JSON via stdin)").action(async (name, opts) => {
@@ -3566,7 +3580,7 @@ toolsCmd.command("call <name>").description("Execute a tool by name").option("--
3566
3580
  await executeTool(name, args, timeout);
3567
3581
  });
3568
3582
  toolsCmd.command("refresh").description("Force-refresh the tool catalog cache").action(async () => {
3569
- const { refreshTools } = await import("./tools-XNFJBN7Q.js");
3583
+ const { refreshTools } = await import("./tools-SIOAOXW6.js");
3570
3584
  await refreshTools();
3571
3585
  });
3572
3586
  var configCmd = program2.command("config").description("Generate configuration for MCP clients");
@@ -3652,7 +3666,7 @@ program2.command("uninstall").description(
3652
3666
  if (exitCode !== 0) process.exit(exitCode);
3653
3667
  });
3654
3668
  program2.command("doctor").description("Diagnose environment and server connectivity").option("--probe", "Run live API probes (slower)").action(async (opts) => {
3655
- const { runDoctor } = await import("./doctor-XG5IQCXK.js");
3669
+ const { runDoctor } = await import("./doctor-NLSZB27R.js");
3656
3670
  await runDoctor(opts);
3657
3671
  });
3658
3672
  program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
@@ -3661,10 +3675,10 @@ program2.command("upgrade").description("Update Hive to the latest published ver
3661
3675
  });
3662
3676
  program2.command("completion <shell>").description("Generate shell completion script (bash, zsh, fish, powershell)").option("--install", "Auto-install to shell rc file").action(async (shell, opts) => {
3663
3677
  if (opts.install) {
3664
- const { installCompletion } = await import("./completion-C57PDJMY.js");
3678
+ const { installCompletion } = await import("./completion-L3TDZ7ZK.js");
3665
3679
  await installCompletion(shell);
3666
3680
  } else {
3667
- const { generateCompletion } = await import("./completion-C57PDJMY.js");
3681
+ const { generateCompletion } = await import("./completion-L3TDZ7ZK.js");
3668
3682
  await generateCompletion(shell);
3669
3683
  }
3670
3684
  });
@@ -3700,7 +3714,7 @@ program2.command("usage").description("Show your API usage and plan limits").act
3700
3714
  await runUsage();
3701
3715
  });
3702
3716
  program2.command("status").description("Quick health and version check").action(async () => {
3703
- const { runStatus } = await import("./doctor-XG5IQCXK.js");
3717
+ const { runStatus } = await import("./doctor-NLSZB27R.js");
3704
3718
  await runStatus();
3705
3719
  });
3706
3720
  program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  NAMESPACE
4
- } from "./chunk-GWZIAAQ2.js";
4
+ } from "./chunk-7VSK46QO.js";
5
5
  import "./chunk-ILVPOLA7.js";
6
6
 
7
7
  // src/cli/completion.ts
@@ -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-XHIN5JER.js");
207
+ const { SERVER_VERSION } = await import("./mcpServer-IWKTX2ZQ.js");
208
208
  const { resolveApiKey, resolveApiUrl } = await import("./config-dir-5IH7MOOT.js");
209
209
  const { getActiveProfile, maskKey } = await import("./auth-Y4GXW376.js");
210
210
  const apiUrl = resolveApiUrl();
@@ -9,7 +9,7 @@ import {
9
9
  getToolsForScope,
10
10
  memoizedJsonSchemaToZodInputSchema,
11
11
  memoizedJsonSchemaToZodOutputSchema
12
- } from "./chunk-AGM2CIRL.js";
12
+ } from "./chunk-LFNLT3YW.js";
13
13
  import "./chunk-L326MQZP.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-XQPEFCSY.js";
5
+ } from "./chunk-MWYPLBIN.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-AGM2CIRL.js";
18
+ } from "./chunk-LFNLT3YW.js";
19
19
  import "./chunk-L326MQZP.js";
20
20
  import "./chunk-EPF36Q3Z.js";
21
21
  import "./chunk-ZXKFJQDE.js";
@@ -3,7 +3,7 @@ import {
3
3
  NAMESPACE,
4
4
  getAllDomainCommands,
5
5
  resolveCommand
6
- } from "./chunk-GWZIAAQ2.js";
6
+ } from "./chunk-7VSK46QO.js";
7
7
  import "./chunk-ILVPOLA7.js";
8
8
  export {
9
9
  NAMESPACE,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "package": "hive-intelligence",
3
- "version": "1.5.0",
4
- "buildSha": "be07c11603a1109e3ef62c73c735e044c60f651f",
5
- "imageDigest": "sha256:8d521047d21e80541a0ed4cc71741612d8ddac0881761e0a4467524d068c430e",
3
+ "version": "1.5.2",
4
+ "buildSha": "d978faa93aff11daff471ee34773a8354535bb32",
5
+ "imageDigest": "sha256:89a2aef7b9ac0a804f08f46c264c4487d2c3a02c9cce27613afb478a24fc81a1",
6
6
  "deployedUrl": "https://mcp.hiveintelligence.xyz",
7
- "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.5.0/releases/v1.5.0.json"
7
+ "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.5.2/releases/v1.5.2.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-XHIN5JER.js");
10
+ const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-IWKTX2ZQ.js");
11
11
  const { getPendingUpdateVersion } = await import("./update-check-IEXPOYYR.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-XQPEFCSY.js";
9
+ } from "./chunk-MWYPLBIN.js";
10
10
  import {
11
11
  CategoryEndpoints,
12
12
  HERO_TOOL_NAMES,
@@ -95,7 +95,7 @@ import {
95
95
  validateEndpointArgs,
96
96
  verifyApiKey,
97
97
  waitForRedisAvailability
98
- } from "./chunk-AGM2CIRL.js";
98
+ } from "./chunk-LFNLT3YW.js";
99
99
  import {
100
100
  HIVE_AGENT_SKILLS
101
101
  } from "./chunk-L326MQZP.js";
package/build/stdio.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  createHiveMcpServer,
8
8
  secureLogger
9
- } from "./chunk-AGM2CIRL.js";
9
+ } from "./chunk-LFNLT3YW.js";
10
10
  import "./chunk-L326MQZP.js";
11
11
  import "./chunk-EPF36Q3Z.js";
12
12
  import {
@@ -40,7 +40,7 @@ async function listTools(opts) {
40
40
  tools = tools.filter((t) => t.name.toLowerCase().startsWith(prefix + "_"));
41
41
  }
42
42
  if (opts.category) {
43
- const { NAMESPACE } = await import("./namespace-YLCGHVRT.js");
43
+ const { NAMESPACE } = await import("./namespace-XLMRFH5E.js");
44
44
  const cat = opts.category.toLowerCase();
45
45
  const ns = NAMESPACE.find(
46
46
  (d) => d.name === cat || d.description.toLowerCase().includes(cat)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hive-intelligence",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
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",