hive-intelligence 1.3.0 → 1.4.0

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 (43) hide show
  1. package/README.md +1 -1
  2. package/agent-skills/SKILL.md +1 -1
  3. package/agent-skills/packs/hive-build/SKILL.md +1 -1
  4. package/agent-skills/packs/hive-build-onboarding/SKILL.md +7 -7
  5. package/agent-skills/packs/hive-cli/SKILL.md +2 -2
  6. package/agent-skills/packs/hive-defi-research/SKILL.md +1 -1
  7. package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +1 -1
  8. package/agent-skills/packs/hive-market-research/SKILL.md +1 -1
  9. package/agent-skills/packs/hive-mcp/SKILL.md +1 -1
  10. package/agent-skills/packs/hive-network-infrastructure/SKILL.md +1 -1
  11. package/agent-skills/packs/hive-nft-research/SKILL.md +1 -1
  12. package/agent-skills/packs/hive-prediction-markets/SKILL.md +1 -1
  13. package/agent-skills/packs/hive-query/SKILL.md +1 -1
  14. package/agent-skills/packs/hive-security-risk/SKILL.md +1 -1
  15. package/agent-skills/packs/hive-solana-analysis/SKILL.md +1 -1
  16. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +1 -1
  17. package/agent-skills/packs/hive-token-diligence/SKILL.md +1 -1
  18. package/agent-skills/packs/hive-tool-discovery/SKILL.md +1 -1
  19. package/agent-skills/packs/hive-wallet-investigation/SKILL.md +1 -1
  20. package/build/{api-client-FTVDFW5V.js → api-client-WMWFWXC7.js} +3 -15
  21. package/build/{auth-EZFJ5RYB.js → auth-HRFQWQMZ.js} +1 -9
  22. package/build/browser-auth-KXIO5BHM.js +20 -0
  23. package/build/{chunk-I5Z6FZRL.js → chunk-3OZFBWFK.js} +14 -12
  24. package/build/{chunk-N32UIHBU.js → chunk-7DYHWY4Y.js} +1 -1
  25. package/build/{chunk-7GD2MFYI.js → chunk-AQQAPAER.js} +35 -15
  26. package/build/{upgrade-J4HIGCKE.js → chunk-GHCYCBA3.js} +1 -2
  27. package/build/{chunk-Q7VBYLX7.js → chunk-P7NLFSZQ.js} +0 -58
  28. package/build/{chunk-RUHO24SX.js → chunk-TVQJY47C.js} +2 -157
  29. package/build/{chunk-W2QL7LYI.js → chunk-UFTNBCSA.js} +885 -101
  30. package/build/cli.js +28 -39
  31. package/build/{doctor-ORDOCGLM.js → doctor-GHUAUFS2.js} +3 -3
  32. package/build/{init-all-BVWW3JVK.js → init-all-RG542NWG.js} +32 -13
  33. package/build/{mcpServer-RUEOTTF7.js → mcpServer-D7OXUDU5.js} +1 -1
  34. package/build/monitor-worker.js +2 -2
  35. package/build/release.json +4 -4
  36. package/build/{serve-DKLR2WQH.js → serve-K3IT7DS4.js} +1 -1
  37. package/build/server.js +1429 -415
  38. package/build/stdio.js +1 -1
  39. package/build/{tools-I7GLWTV6.js → tools-D72ZH6P5.js} +1 -1
  40. package/build/upgrade-4S5XT5JG.js +14 -0
  41. package/build/{watch-WVR4CGCD.js → watch-IOSRSCFE.js} +2 -2
  42. package/package.json +5 -3
  43. package/build/browser-auth-OJSUNFBI.js +0 -8
package/build/cli.js CHANGED
@@ -2,14 +2,14 @@
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
3
  import {
4
4
  executeTool
5
- } from "./chunk-N32UIHBU.js";
5
+ } from "./chunk-7DYHWY4Y.js";
6
6
  import {
7
7
  ExitCode
8
8
  } from "./chunk-R6YZTFQL.js";
9
9
  import {
10
10
  NAMESPACE
11
11
  } from "./chunk-TNQ7GJ6Q.js";
12
- import "./chunk-Q7VBYLX7.js";
12
+ import "./chunk-P7NLFSZQ.js";
13
13
  import "./chunk-RU6QOFHH.js";
14
14
  import {
15
15
  checkForUpdates
@@ -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-DKLR2WQH.js");
3443
+ const { startStdio } = await import("./serve-K3IT7DS4.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-DKLR2WQH.js");
3456
+ const { startHttp } = await import("./serve-K3IT7DS4.js");
3457
3457
  await startHttp(port, program2.opts().envFile);
3458
3458
  } else {
3459
- const { startStdio } = await import("./serve-DKLR2WQH.js");
3459
+ const { startStdio } = await import("./serve-K3IT7DS4.js");
3460
3460
  await startStdio(program2.opts().envFile);
3461
3461
  }
3462
3462
  });
@@ -3529,15 +3529,15 @@ for (const domain of NAMESPACE) {
3529
3529
  }
3530
3530
  var toolsCmd = program2.command("tools").description("Discover and execute tools");
3531
3531
  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-I7GLWTV6.js");
3532
+ const { listTools } = await import("./tools-D72ZH6P5.js");
3533
3533
  await listTools(opts);
3534
3534
  });
3535
3535
  toolsCmd.command("search <query>").description("Search tools by name or description").action(async (query) => {
3536
- const { searchTools } = await import("./tools-I7GLWTV6.js");
3536
+ const { searchTools } = await import("./tools-D72ZH6P5.js");
3537
3537
  await searchTools(query);
3538
3538
  });
3539
3539
  toolsCmd.command("info <name>").description("Show detailed tool schema and description").action(async (name) => {
3540
- const { toolInfo } = await import("./tools-I7GLWTV6.js");
3540
+ const { toolInfo } = await import("./tools-D72ZH6P5.js");
3541
3541
  await toolInfo(name);
3542
3542
  });
3543
3543
  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,11 +3566,11 @@ toolsCmd.command("call <name>").description("Execute a tool by name").option("--
3566
3566
  await executeTool(name, args, timeout);
3567
3567
  });
3568
3568
  toolsCmd.command("refresh").description("Force-refresh the tool catalog cache").action(async () => {
3569
- const { refreshTools } = await import("./tools-I7GLWTV6.js");
3569
+ const { refreshTools } = await import("./tools-D72ZH6P5.js");
3570
3570
  await refreshTools();
3571
3571
  });
3572
3572
  var configCmd = program2.command("config").description("Generate configuration for MCP clients");
3573
- configCmd.command("claude-desktop").description("Print Claude Desktop config JSON").action(async () => {
3573
+ configCmd.command("claude-desktop").description("Print Claude Desktop Connectors setup steps").action(async () => {
3574
3574
  const { configClaudeDesktop } = await import("./config-KAEUX6RM.js");
3575
3575
  configClaudeDesktop();
3576
3576
  });
@@ -3578,7 +3578,7 @@ configCmd.command("cursor").description("Print Cursor config JSON").action(async
3578
3578
  const { configCursor } = await import("./config-KAEUX6RM.js");
3579
3579
  configCursor();
3580
3580
  });
3581
- configCmd.command("vscode").description("Print VS Code mcp.json config").action(async () => {
3581
+ configCmd.command("vscode").description("Print VS Code one-click install link and add-mcp command").action(async () => {
3582
3582
  const { configVscode } = await import("./config-KAEUX6RM.js");
3583
3583
  configVscode();
3584
3584
  });
@@ -3625,7 +3625,7 @@ program2.command("init").description(
3625
3625
  await runSetup();
3626
3626
  return;
3627
3627
  }
3628
- const { runInitAll } = await import("./init-all-BVWW3JVK.js");
3628
+ const { runInitAll } = await import("./init-all-RG542NWG.js");
3629
3629
  const exitCode = await runInitAll({
3630
3630
  all: Boolean(opts.all),
3631
3631
  browser: Boolean(opts.browser),
@@ -3652,11 +3652,11 @@ program2.command("uninstall").description(
3652
3652
  if (exitCode !== 0) process.exit(exitCode);
3653
3653
  });
3654
3654
  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-ORDOCGLM.js");
3655
+ const { runDoctor } = await import("./doctor-GHUAUFS2.js");
3656
3656
  await runDoctor(opts);
3657
3657
  });
3658
3658
  program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
3659
- const { runUpgrade } = await import("./upgrade-J4HIGCKE.js");
3659
+ const { runUpgrade } = await import("./upgrade-4S5XT5JG.js");
3660
3660
  await runUpgrade();
3661
3661
  });
3662
3662
  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) => {
@@ -3668,50 +3668,39 @@ program2.command("completion <shell>").description("Generate shell completion sc
3668
3668
  await generateCompletion(shell);
3669
3669
  }
3670
3670
  });
3671
- var authCmd = program2.command("auth").description("Manage authentication profiles");
3672
- authCmd.command("signup").description("Create a new Hive account and get your API key").option("--profile <name>", "Profile name", "default").action(async (opts) => {
3673
- const { runSignup } = await import("./auth-EZFJ5RYB.js");
3674
- await runSignup(opts);
3671
+ program2.command("keys").description("Retired \u2014 manage API keys in the dashboard").allowUnknownOption(true).argument("[args...]").action(() => {
3672
+ console.error(
3673
+ "`hive keys` was retired. Manage API keys at https://www.hiveintelligence.xyz/dashboard/connect\nMost clients need no key at all: `hive auth login` signs you in through the browser."
3674
+ );
3675
+ process.exitCode = 1;
3675
3676
  });
3677
+ var authCmd = program2.command("auth").description("Manage authentication profiles");
3676
3678
  authCmd.command("login").description("Log in via browser (or --manual to paste API key)").option("--profile <name>", "Profile name", "default").option("--manual", "Manually paste API key instead of browser login").action(async (opts) => {
3677
- const { runLogin } = await import("./auth-EZFJ5RYB.js");
3679
+ const { runLogin } = await import("./auth-HRFQWQMZ.js");
3678
3680
  await runLogin(opts);
3679
3681
  });
3680
3682
  authCmd.command("logout").description("Remove stored credentials").action(async () => {
3681
- const { runLogout } = await import("./auth-EZFJ5RYB.js");
3683
+ const { runLogout } = await import("./auth-HRFQWQMZ.js");
3682
3684
  await runLogout();
3683
3685
  });
3684
3686
  authCmd.command("whoami").description("Show current profile").action(async () => {
3685
- const { runWhoami } = await import("./auth-EZFJ5RYB.js");
3687
+ const { runWhoami } = await import("./auth-HRFQWQMZ.js");
3686
3688
  await runWhoami();
3687
3689
  });
3688
3690
  authCmd.command("profiles").description("List all profiles").action(async () => {
3689
- const { runProfiles } = await import("./auth-EZFJ5RYB.js");
3691
+ const { runProfiles } = await import("./auth-HRFQWQMZ.js");
3690
3692
  await runProfiles();
3691
3693
  });
3692
3694
  authCmd.command("switch <name>").description("Switch active profile").action(async (name) => {
3693
- const { runSwitch } = await import("./auth-EZFJ5RYB.js");
3695
+ const { runSwitch } = await import("./auth-HRFQWQMZ.js");
3694
3696
  await runSwitch(name);
3695
3697
  });
3696
- var keysCmd = program2.command("keys").description("Manage your Hive API keys");
3697
- keysCmd.command("list").description("List your API keys").action(async () => {
3698
- const { runKeysList } = await import("./auth-EZFJ5RYB.js");
3699
- await runKeysList();
3700
- });
3701
- keysCmd.command("create").description("Create a new API key").option("--name <name>", "Key name", "CLI Key").action(async (opts) => {
3702
- const { runKeysCreate } = await import("./auth-EZFJ5RYB.js");
3703
- await runKeysCreate(opts);
3704
- });
3705
- keysCmd.command("revoke <id>").description("Revoke an API key").action(async (id) => {
3706
- const { runKeysRevoke } = await import("./auth-EZFJ5RYB.js");
3707
- await runKeysRevoke(id);
3708
- });
3709
3698
  program2.command("usage").description("Show your API usage and plan limits").action(async () => {
3710
- const { runUsage } = await import("./auth-EZFJ5RYB.js");
3699
+ const { runUsage } = await import("./auth-HRFQWQMZ.js");
3711
3700
  await runUsage();
3712
3701
  });
3713
3702
  program2.command("status").description("Quick health and version check").action(async () => {
3714
- const { runStatus } = await import("./doctor-ORDOCGLM.js");
3703
+ const { runStatus } = await import("./doctor-GHUAUFS2.js");
3715
3704
  await runStatus();
3716
3705
  });
3717
3706
  program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
@@ -3742,7 +3731,7 @@ program2.command("watch <domain> <command>").description("Poll a tool on interva
3742
3731
  }
3743
3732
  const interval = parseInt(opts.interval, 10);
3744
3733
  const timeout = parseInt(program2.opts().timeout, 10);
3745
- const { runWatch } = await import("./watch-WVR4CGCD.js");
3734
+ const { runWatch } = await import("./watch-IOSRSCFE.js");
3746
3735
  await runWatch(cmdDef.tool, args, interval, timeout);
3747
3736
  });
3748
3737
  var aliasCmd = program2.command("alias").description("Manage command aliases");
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  fetchToolCatalog
4
- } from "./chunk-Q7VBYLX7.js";
4
+ } from "./chunk-P7NLFSZQ.js";
5
5
  import "./chunk-ZXKFJQDE.js";
6
6
  import {
7
7
  debug,
@@ -204,9 +204,9 @@ ${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-RUEOTTF7.js");
207
+ const { SERVER_VERSION } = await import("./mcpServer-D7OXUDU5.js");
208
208
  const { resolveApiKey, resolveApiUrl } = await import("./config-dir-5IH7MOOT.js");
209
- const { getActiveProfile, maskKey } = await import("./auth-EZFJ5RYB.js");
209
+ const { getActiveProfile, maskKey } = await import("./auth-HRFQWQMZ.js");
210
210
  const apiUrl = resolveApiUrl();
211
211
  const apiKey = resolveApiKey();
212
212
  const profile = getActiveProfile();
@@ -1,10 +1,4 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import {
3
- browserLogin
4
- } from "./chunk-7GD2MFYI.js";
5
- import {
6
- saveProfile
7
- } from "./chunk-RUHO24SX.js";
8
2
  import {
9
3
  detectClients,
10
4
  installSkillsForClients
@@ -23,7 +17,18 @@ import {
23
17
  writeVscodeConfig,
24
18
  writeWindsurfConfig
25
19
  } from "./chunk-QDZ7MAVN.js";
20
+ import {
21
+ browserLogin
22
+ } from "./chunk-AQQAPAER.js";
23
+ import {
24
+ saveProfile
25
+ } from "./chunk-TVQJY47C.js";
26
+ import {
27
+ detectInstallMode
28
+ } from "./chunk-GHCYCBA3.js";
29
+ import "./chunk-M6REON2I.js";
26
30
  import "./chunk-L326MQZP.js";
31
+ import "./chunk-ZXKFJQDE.js";
27
32
  import {
28
33
  bold,
29
34
  dim,
@@ -38,6 +43,7 @@ import {
38
43
  import "./chunk-ILVPOLA7.js";
39
44
 
40
45
  // src/cli/init-all.ts
46
+ import { fileURLToPath } from "url";
41
47
  var RESTART_HINTS = {
42
48
  "claude-code": "Restart Claude Code (or run /mcp in an open session) to pick up the new server.",
43
49
  "claude-desktop": "Quit and reopen Claude Desktop to pick up the new server.",
@@ -66,6 +72,15 @@ function warn(line) {
66
72
  function info(line) {
67
73
  w(` ${dim(line)}`);
68
74
  }
75
+ function hiveCommandPrefix() {
76
+ let execPath = "";
77
+ try {
78
+ execPath = fileURLToPath(import.meta.url);
79
+ } catch {
80
+ execPath = process.argv[1] ?? "";
81
+ }
82
+ return detectInstallMode(execPath) === "npx" ? "npx -y -p hive-intelligence@latest " : "";
83
+ }
69
84
  function writeForClient(client, apiUrlOverride) {
70
85
  const base = {
71
86
  client: client.id,
@@ -366,11 +381,14 @@ async function runInitAll(opts = {}) {
366
381
  );
367
382
  }
368
383
  }
369
- const targetIds = new Set(targets.map((client) => client.id));
384
+ const programmableTargets = targets.filter((client) => client.programmable);
385
+ const programmableIds = new Set(
386
+ programmableTargets.map((client) => client.id)
387
+ );
370
388
  const programmableResults = summary.clients.filter(
371
- (client) => targetIds.has(client.client)
389
+ (client) => programmableIds.has(client.client)
372
390
  );
373
- const clientsComplete = browserOnly || programmableResults.length > 0 && programmableResults.length === targets.length && programmableResults.every((client) => client.ok);
391
+ const clientsComplete = browserOnly || targets.length > 0 && programmableResults.length === programmableTargets.length && programmableResults.every((client) => client.ok);
374
392
  const skillsComplete = opts.skipSkills === true || browserOnly || summary.skills.every(
375
393
  (result) => result.destination === null || result.installed.length > 0 && result.skipped.length === 0
376
394
  );
@@ -387,18 +405,19 @@ async function runInitAll(opts = {}) {
387
405
  );
388
406
  }
389
407
  w(bold("Next steps"));
408
+ const hx = hiveCommandPrefix();
390
409
  if (summary.apiKeyPresent) {
391
410
  w(
392
- dim(" Try a CLI query: ") + "hive market price --ids bitcoin --vs usd"
411
+ dim(" Try a CLI query: ") + `${hx}hive market price --ids bitcoin --vs usd`
393
412
  );
394
413
  } else {
395
414
  w(
396
415
  dim(" In your AI client: ") + 'Ask "Use Hive to check USDT token risk."'
397
416
  );
398
- w(dim(" Optional CLI auth: ") + "hive auth login");
417
+ w(dim(" Optional CLI auth: ") + `${hx}hive auth login`);
399
418
  }
400
- w(dim(" Open dashboard: ") + "hive open dashboard");
401
- w(dim(" Health check: ") + "hive doctor");
419
+ w(dim(" Open dashboard: ") + `${hx}hive open dashboard`);
420
+ w(dim(" Health check: ") + `${hx}hive doctor`);
402
421
  w("");
403
422
  }
404
423
  return summary.complete ? 0 : 1;
@@ -9,7 +9,7 @@ import {
9
9
  getToolsForScope,
10
10
  memoizedJsonSchemaToZodInputSchema,
11
11
  memoizedJsonSchemaToZodOutputSchema
12
- } from "./chunk-W2QL7LYI.js";
12
+ } from "./chunk-UFTNBCSA.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-I5Z6FZRL.js";
5
+ } from "./chunk-3OZFBWFK.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-W2QL7LYI.js";
18
+ } from "./chunk-UFTNBCSA.js";
19
19
  import "./chunk-L326MQZP.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.3.0",
4
- "buildSha": "ccb1dc457b4a439b822e8aafa1c783f043270344",
5
- "imageDigest": "sha256:8c50b7b68edf9c6b7720b71221fadf668cbd31264f790f0c7efa24ab45fcc445",
3
+ "version": "1.4.0",
4
+ "buildSha": "a414ce5540417c1851e0d99029dac69c8880801e",
5
+ "imageDigest": "sha256:e19e3ce819accf7817c2b8bc2c79e040ae4f4c5f755991b8c4b0e5d474bc5aaf",
6
6
  "deployedUrl": "https://mcp.hiveintelligence.xyz",
7
- "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.3.0/releases/v1.3.0.json"
7
+ "manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.4.0/releases/v1.4.0.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-RUEOTTF7.js");
10
+ const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-D7OXUDU5.js");
11
11
  const { getPendingUpdateVersion } = await import("./update-check-IEXPOYYR.js");
12
12
  const transport = new StdioServerTransport();
13
13
  const pendingUpdate = getPendingUpdateVersion();