hive-intelligence 1.1.3 → 1.1.4

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 (112) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +175 -54
  3. package/agent-skills/.claude-plugin/plugin.json +6 -0
  4. package/agent-skills/.mcp.json +11 -0
  5. package/agent-skills/AGENTS.md +37 -0
  6. package/agent-skills/README.md +13 -14
  7. package/agent-skills/SKILL.md +16 -4
  8. package/agent-skills/evals/trigger-queries.json +270 -0
  9. package/agent-skills/package.json +3 -3
  10. package/agent-skills/packs/hive-build/SKILL.md +11 -10
  11. package/agent-skills/packs/hive-build/evals/evals.json +2 -2
  12. package/agent-skills/packs/hive-mcp/SKILL.md +44 -121
  13. package/agent-skills/packs/hive-mcp/evals/evals.json +1 -1
  14. package/agent-skills/packs/hive-mcp/references/client-install-matrix.md +1 -1
  15. package/agent-skills/packs/hive-mcp/references/clients.md +141 -0
  16. package/agent-skills/packs/hive-query/SKILL.md +3 -2
  17. package/agent-skills/packs/hive-query/references/root-mcp-workflow.md +1 -1
  18. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +75 -0
  19. package/agent-skills/packs/hive-stateful-monitoring/evals/evals.json +49 -0
  20. package/agent-skills/packs/hive-tool-discovery/SKILL.md +1 -1
  21. package/agent-skills/references/agents-routing.md +2 -0
  22. package/agent-skills/scripts/validate-agent-skills-package.mjs +49 -11
  23. package/agent-skills/skills.sh.json +3 -2
  24. package/build/{alias-CZ3DEYHF.js → alias-3OPMQF4X.js} +2 -3
  25. package/build/{api-client-I23XLSHU.js → api-client-EPF6FD7A.js} +4 -4
  26. package/build/{auth-KKINNBXT.js → auth-Q5Q24IRI.js} +3 -4
  27. package/build/{browser-auth-EEFGRHWY.js → browser-auth-VPF5LZMZ.js} +2 -3
  28. package/build/{cache-EGNMENNA.js → cache-T6KC5YEY.js} +2 -3
  29. package/build/{chunk-KBVPIZS4.js → chunk-3WYWXTNN.js} +0 -1
  30. package/build/{chunk-2MYMHMBF.js → chunk-4F5CI6LX.js} +6 -6
  31. package/build/{chunk-RKICZ6DZ.js → chunk-5XXI25JE.js} +7 -8
  32. package/build/{chunk-IZTN7WFH.js → chunk-7JWXBKEJ.js} +5 -3
  33. package/build/chunk-CEWCB5YS.js +71 -0
  34. package/build/{chunk-MPIUUE3T.js → chunk-FH3YGSY5.js} +0 -1
  35. package/build/{chunk-QNCI4DEB.js → chunk-FRXMGRZQ.js} +35 -21
  36. package/build/{chunk-PGBVNMNZ.js → chunk-GZPDEXO4.js} +0 -1
  37. package/build/{chunk-UKHZIVDT.js → chunk-IZPAMRHP.js} +5 -6
  38. package/build/{chunk-2X3U4DFK.js → chunk-JTUKQWIO.js} +3267 -916
  39. package/build/{chunk-XYBEFFZ3.js → chunk-NP6NSOG2.js} +1 -2
  40. package/build/{chunk-V77LO4RO.js → chunk-POT2MBEK.js} +0 -1
  41. package/build/{chunk-B6G222LS.js → chunk-VBOKVQ74.js} +18 -3
  42. package/build/{chunk-DYJBTKNR.js → chunk-YZ2PXBJK.js} +5 -3
  43. package/build/chunk-ZCU7XQKF.js +14 -0
  44. package/build/{chunk-KGYBTXIN.js → chunk-ZTJVOWDQ.js} +0 -1
  45. package/build/{chunk-IDZD2NVG.js → chunk-ZXB53E7H.js} +5 -6
  46. package/build/cli.js +56 -54
  47. package/build/{completion-BELZL7ND.js → completion-46K674EL.js} +2 -3
  48. package/build/{config-TDX4VUGW.js → config-XE6Q5P4I.js} +3 -4
  49. package/build/{config-dir-V43W2WIA.js → config-dir-MAWX5AUF.js} +2 -3
  50. package/build/{doctor-5K5UWHNX.js → doctor-HGMQE6IN.js} +33 -9
  51. package/build/{errors-E6MVUBNA.js → errors-J2PH3NLJ.js} +2 -3
  52. package/build/{format-TSFSI2K7.js → format-5X2HIVDT.js} +1 -2
  53. package/build/{init-YQ5NBICF.js → init-JMDNM7ZZ.js} +1 -2
  54. package/build/{init-all-6OWEQALB.js → init-all-5SKNV75X.js} +10 -11
  55. package/build/{mcpServer-AEX3RQ4U.js → mcpServer-5TKKSKJM.js} +7 -6
  56. package/build/monitor-worker.js +1140 -0
  57. package/build/{namespace-PVHBFDW2.js → namespace-FSX2G3NM.js} +2 -3
  58. package/build/{open-YUIJP37F.js → open-5A6ZQMGC.js} +2 -3
  59. package/build/{output-IYJBFCYK.js → output-V3D4YZ6U.js} +2 -3
  60. package/build/{serve-KWNJK6EY.js → serve-AGCOXXFM.js} +9 -4
  61. package/build/server.js +437 -145
  62. package/build/{setup-YTUKMPNP.js → setup-RMETGJWK.js} +4 -5
  63. package/build/stdio.js +9 -8
  64. package/build/{telemetry-5IPRKZBL.js → telemetry-WCME5XEU.js} +4 -4
  65. package/build/{tools-PJHWFCAG.js → tools-KAB6QBZC.js} +15 -15
  66. package/build/{uninstall-HWXEIP6K.js → uninstall-FLJMBBSC.js} +7 -8
  67. package/build/update-check-LNZQK3XA.js +18 -0
  68. package/build/upgrade-DTUIHVPS.js +171 -0
  69. package/build/version-I6HDAF4L.js +14 -0
  70. package/build/{watch-KZ5EDZK3.js → watch-YNN255QX.js} +7 -7
  71. package/package.json +14 -9
  72. package/build/alias-CZ3DEYHF.js.map +0 -1
  73. package/build/api-client-I23XLSHU.js.map +0 -1
  74. package/build/auth-KKINNBXT.js.map +0 -1
  75. package/build/browser-auth-EEFGRHWY.js.map +0 -1
  76. package/build/cache-EGNMENNA.js.map +0 -1
  77. package/build/chunk-2MYMHMBF.js.map +0 -1
  78. package/build/chunk-2X3U4DFK.js.map +0 -1
  79. package/build/chunk-B6G222LS.js.map +0 -1
  80. package/build/chunk-DYJBTKNR.js.map +0 -1
  81. package/build/chunk-IDZD2NVG.js.map +0 -1
  82. package/build/chunk-IZTN7WFH.js.map +0 -1
  83. package/build/chunk-KBVPIZS4.js.map +0 -1
  84. package/build/chunk-KGYBTXIN.js.map +0 -1
  85. package/build/chunk-MPIUUE3T.js.map +0 -1
  86. package/build/chunk-PGBVNMNZ.js.map +0 -1
  87. package/build/chunk-QNCI4DEB.js.map +0 -1
  88. package/build/chunk-RKICZ6DZ.js.map +0 -1
  89. package/build/chunk-UKHZIVDT.js.map +0 -1
  90. package/build/chunk-V77LO4RO.js.map +0 -1
  91. package/build/chunk-XYBEFFZ3.js.map +0 -1
  92. package/build/cli.js.map +0 -1
  93. package/build/completion-BELZL7ND.js.map +0 -1
  94. package/build/config-TDX4VUGW.js.map +0 -1
  95. package/build/config-dir-V43W2WIA.js.map +0 -1
  96. package/build/doctor-5K5UWHNX.js.map +0 -1
  97. package/build/errors-E6MVUBNA.js.map +0 -1
  98. package/build/format-TSFSI2K7.js.map +0 -1
  99. package/build/init-YQ5NBICF.js.map +0 -1
  100. package/build/init-all-6OWEQALB.js.map +0 -1
  101. package/build/mcpServer-AEX3RQ4U.js.map +0 -1
  102. package/build/namespace-PVHBFDW2.js.map +0 -1
  103. package/build/open-YUIJP37F.js.map +0 -1
  104. package/build/output-IYJBFCYK.js.map +0 -1
  105. package/build/serve-KWNJK6EY.js.map +0 -1
  106. package/build/server.js.map +0 -1
  107. package/build/setup-YTUKMPNP.js.map +0 -1
  108. package/build/stdio.js.map +0 -1
  109. package/build/telemetry-5IPRKZBL.js.map +0 -1
  110. package/build/tools-PJHWFCAG.js.map +0 -1
  111. package/build/uninstall-HWXEIP6K.js.map +0 -1
  112. package/build/watch-KZ5EDZK3.js.map +0 -1
@@ -206,7 +206,7 @@ async function writeOutput(envelope) {
206
206
  }
207
207
  if (envelope.ok && envelope.data != null) {
208
208
  if (Array.isArray(envelope.data) && envelope.data.length > 0 && typeof envelope.data[0] === "object" && envelope.data[0] !== null) {
209
- const { formatTable } = await import("./format-TSFSI2K7.js");
209
+ const { formatTable } = await import("./format-5X2HIVDT.js");
210
210
  process.stdout.write(
211
211
  formatTable(envelope.data) + "\n"
212
212
  );
@@ -277,4 +277,3 @@ export {
277
277
  isCI,
278
278
  formatCsv
279
279
  };
280
- //# sourceMappingURL=chunk-XYBEFFZ3.js.map
@@ -92,4 +92,3 @@ export {
92
92
  resolveApiKey,
93
93
  resolveApiUrl
94
94
  };
95
- //# sourceMappingURL=chunk-V77LO4RO.js.map
@@ -5,7 +5,7 @@ var HIVE_AGENT_SKILLS = [
5
5
  {
6
6
  name: "hive-mcp",
7
7
  label: "Install Hive MCP",
8
- description: "Connect Hive's hosted remote MCP endpoint to Claude, Cursor, VS Code, ChatGPT, Codex, Gemini, and other MCP clients.",
8
+ description: "Connect Hive's hosted remote MCP endpoint to Claude, Cursor, VS Code, OpenAI Responses API, Codex, Gemini, and supported MCP clients.",
9
9
  path: "agent-skills/packs/hive-mcp/SKILL.md",
10
10
  toolsetIds: ["search_discovery"],
11
11
  useWhen: ["install hive", "connect mcp", "configure client"]
@@ -21,7 +21,7 @@ var HIVE_AGENT_SKILLS = [
21
21
  {
22
22
  name: "hive-build",
23
23
  label: "Build With Hive",
24
- description: "Use Hive from application code through REST, MCP SDK clients, or backend services.",
24
+ description: "Use Hive from application code through REST, MCP clients, or the source-only TypeScript adapter.",
25
25
  path: "agent-skills/packs/hive-build/SKILL.md",
26
26
  toolsetIds: ["search_discovery"],
27
27
  useWhen: ["integrate api", "backend", "sdk", "production app"]
@@ -50,6 +50,7 @@ var HIVE_AGENT_SKILLS = [
50
50
  "network_infrastructure",
51
51
  "solana_analysis",
52
52
  "prediction_markets",
53
+ "stateful_monitoring",
53
54
  "search_discovery"
54
55
  ],
55
56
  useWhen: [
@@ -60,6 +61,21 @@ var HIVE_AGENT_SKILLS = [
60
61
  "which hive endpoint"
61
62
  ]
62
63
  },
64
+ {
65
+ name: "hive-stateful-monitoring",
66
+ label: "Stateful Monitoring",
67
+ description: "Create, list, update, and archive durable crypto intelligence monitors that agents can schedule, remember, and report from.",
68
+ path: "agent-skills/packs/hive-stateful-monitoring/SKILL.md",
69
+ toolsetIds: ["stateful_monitoring"],
70
+ useWhen: [
71
+ "remember this",
72
+ "monitor wallet",
73
+ "watch token",
74
+ "schedule crypto report",
75
+ "alert me",
76
+ "persistent crypto memory"
77
+ ]
78
+ },
63
79
  {
64
80
  name: "hive-tool-discovery",
65
81
  label: "Tool Discovery",
@@ -262,4 +278,3 @@ var HIVE_AGENT_SKILLS = [
262
278
  export {
263
279
  HIVE_AGENT_SKILLS
264
280
  };
265
- //# sourceMappingURL=chunk-B6G222LS.js.map
@@ -1,9 +1,12 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ SERVER_VERSION
4
+ } from "./chunk-ZCU7XQKF.js";
2
5
  import {
3
6
  ensureConfigDir,
4
7
  getConfig,
5
8
  saveConfig
6
- } from "./chunk-V77LO4RO.js";
9
+ } from "./chunk-POT2MBEK.js";
7
10
 
8
11
  // src/cli/telemetry.ts
9
12
  import { platform, release } from "os";
@@ -43,7 +46,7 @@ function trackCommand(command, durationMs, errorCode) {
43
46
  command,
44
47
  durationMs,
45
48
  errorCode,
46
- cliVersion: process.env.npm_package_version ?? "1.1.3",
49
+ cliVersion: process.env.npm_package_version ?? SERVER_VERSION,
47
50
  os: `${platform()} ${release()}`,
48
51
  nodeVersion: process.version
49
52
  };
@@ -63,4 +66,3 @@ export {
63
66
  telemetryStatus,
64
67
  trackCommand
65
68
  };
66
- //# sourceMappingURL=chunk-DYJBTKNR.js.map
@@ -0,0 +1,14 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+
3
+ // src/version.ts
4
+ var SERVER_NAME = "hive-mcp-server";
5
+ var SERVER_VERSION = "1.1.4";
6
+ var REGISTRY_PACKAGE = "hive-intelligence";
7
+ var CLI_BINARY = "hive";
8
+
9
+ export {
10
+ SERVER_NAME,
11
+ SERVER_VERSION,
12
+ REGISTRY_PACKAGE,
13
+ CLI_BINARY
14
+ };
@@ -83,4 +83,3 @@ export {
83
83
  classifyError,
84
84
  suggestSimilarTools
85
85
  };
86
- //# sourceMappingURL=chunk-KGYBTXIN.js.map
@@ -3,10 +3,10 @@ import {
3
3
  getClaudeDesktopConfigPath,
4
4
  getCursorConfigPath,
5
5
  getVscodeConfigPath
6
- } from "./chunk-2MYMHMBF.js";
6
+ } from "./chunk-4F5CI6LX.js";
7
7
  import {
8
8
  HIVE_AGENT_SKILLS
9
- } from "./chunk-B6G222LS.js";
9
+ } from "./chunk-VBOKVQ74.js";
10
10
 
11
11
  // src/cli/detect-clients.ts
12
12
  import { existsSync } from "fs";
@@ -116,12 +116,12 @@ function detectClients() {
116
116
  },
117
117
  {
118
118
  id: "chatgpt-desktop",
119
- name: "ChatGPT Desktop",
120
- configPath: "(in-app: Settings \u2192 Connectors)",
119
+ name: "OpenAI / ChatGPT apps",
120
+ configPath: "(app or API setup)",
121
121
  detected: false,
122
122
  // No reliable filesystem signal — always print instructions
123
123
  programmable: false,
124
- hint: "ChatGPT Desktop requires manual setup via Settings \u2192 Connectors \u2192 Add MCP server"
124
+ hint: "Direct ChatGPT app connectors are auth-dependent; use OpenAI Responses API or an OAuth-compatible proxy."
125
125
  }
126
126
  ];
127
127
  }
@@ -244,4 +244,3 @@ export {
244
244
  installSkillsForClients,
245
245
  removeSkillsForClients
246
246
  };
247
- //# sourceMappingURL=chunk-IDZD2NVG.js.map
package/build/cli.js CHANGED
@@ -2,34 +2,33 @@
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
3
  import {
4
4
  executeTool
5
- } from "./chunk-UKHZIVDT.js";
5
+ } from "./chunk-IZPAMRHP.js";
6
+ import {
7
+ ExitCode
8
+ } from "./chunk-ZTJVOWDQ.js";
6
9
  import {
7
10
  NAMESPACE
8
- } from "./chunk-MPIUUE3T.js";
9
- import "./chunk-DYJBTKNR.js";
10
- import "./chunk-IZTN7WFH.js";
11
+ } from "./chunk-FH3YGSY5.js";
12
+ import "./chunk-7JWXBKEJ.js";
13
+ import "./chunk-YZ2PXBJK.js";
11
14
  import {
12
15
  checkForUpdates
13
- } from "./chunk-QNCI4DEB.js";
16
+ } from "./chunk-FRXMGRZQ.js";
14
17
  import {
15
18
  SERVER_VERSION
16
- } from "./chunk-2X3U4DFK.js";
17
- import "./chunk-B6G222LS.js";
19
+ } from "./chunk-ZCU7XQKF.js";
18
20
  import {
19
21
  red,
20
22
  setOutputOptions
21
- } from "./chunk-XYBEFFZ3.js";
23
+ } from "./chunk-NP6NSOG2.js";
22
24
  import {
23
25
  setCliFlags
24
- } from "./chunk-V77LO4RO.js";
25
- import {
26
- ExitCode
27
- } from "./chunk-KGYBTXIN.js";
26
+ } from "./chunk-POT2MBEK.js";
28
27
  import {
29
28
  __commonJS,
30
29
  __require,
31
30
  __toESM
32
- } from "./chunk-KBVPIZS4.js";
31
+ } from "./chunk-3WYWXTNN.js";
33
32
 
34
33
  // node_modules/commander/lib/error.js
35
34
  var require_error = __commonJS({
@@ -3499,7 +3498,7 @@ process.on("SIGINT", () => process.exit(130));
3499
3498
  process.on("SIGTERM", () => process.exit(143));
3500
3499
  var program2 = new Command();
3501
3500
  program2.name("hive").version(SERVER_VERSION).description(
3502
- "Hive Intelligence \u2014 institutional-grade crypto market data, DeFi, wallets, security, DEX, NFTs, and prediction markets for AI agents and developers"
3501
+ "Hive Intelligence \u2014 managed crypto market data, DeFi, wallets, security, DEX, NFTs, and prediction markets for AI agents and developers"
3503
3502
  ).exitOverride().configureOutput({
3504
3503
  writeErr: (str) => process.stderr.write(str),
3505
3504
  outputError: (str, write) => {
@@ -3524,7 +3523,7 @@ program2.hook("preAction", (thisCommand) => {
3524
3523
  setCliFlags({ apiKey: opts.apiKey, noRetry: opts.retry === false });
3525
3524
  });
3526
3525
  program2.action(async () => {
3527
- const { startStdio } = await import("./serve-KWNJK6EY.js");
3526
+ const { startStdio } = await import("./serve-AGCOXXFM.js");
3528
3527
  await startStdio(program2.opts().envFile);
3529
3528
  });
3530
3529
  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) => {
@@ -3537,10 +3536,10 @@ program2.command("serve").description("Start the MCP server").option("--http", "
3537
3536
  );
3538
3537
  process.exit(ExitCode.INVALID_ARGS);
3539
3538
  }
3540
- const { startHttp } = await import("./serve-KWNJK6EY.js");
3539
+ const { startHttp } = await import("./serve-AGCOXXFM.js");
3541
3540
  await startHttp(port, program2.opts().envFile);
3542
3541
  } else {
3543
- const { startStdio } = await import("./serve-KWNJK6EY.js");
3542
+ const { startStdio } = await import("./serve-AGCOXXFM.js");
3544
3543
  await startStdio(program2.opts().envFile);
3545
3544
  }
3546
3545
  });
@@ -3613,15 +3612,15 @@ for (const domain of NAMESPACE) {
3613
3612
  }
3614
3613
  var toolsCmd = program2.command("tools").description("Discover and execute tools");
3615
3614
  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) => {
3616
- const { listTools } = await import("./tools-PJHWFCAG.js");
3615
+ const { listTools } = await import("./tools-KAB6QBZC.js");
3617
3616
  await listTools(opts);
3618
3617
  });
3619
3618
  toolsCmd.command("search <query>").description("Search tools by name or description").action(async (query) => {
3620
- const { searchTools } = await import("./tools-PJHWFCAG.js");
3619
+ const { searchTools } = await import("./tools-KAB6QBZC.js");
3621
3620
  await searchTools(query);
3622
3621
  });
3623
3622
  toolsCmd.command("info <name>").description("Show detailed tool schema and description").action(async (name) => {
3624
- const { toolInfo } = await import("./tools-PJHWFCAG.js");
3623
+ const { toolInfo } = await import("./tools-KAB6QBZC.js");
3625
3624
  await toolInfo(name);
3626
3625
  });
3627
3626
  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) => {
@@ -3650,28 +3649,28 @@ toolsCmd.command("call <name>").description("Execute a tool by name").option("--
3650
3649
  await executeTool(name, args, timeout);
3651
3650
  });
3652
3651
  toolsCmd.command("refresh").description("Force-refresh the tool catalog cache").action(async () => {
3653
- const { refreshTools } = await import("./tools-PJHWFCAG.js");
3652
+ const { refreshTools } = await import("./tools-KAB6QBZC.js");
3654
3653
  await refreshTools();
3655
3654
  });
3656
3655
  var configCmd = program2.command("config").description("Generate configuration for MCP clients");
3657
3656
  configCmd.command("claude-desktop").description("Print Claude Desktop config JSON").action(async () => {
3658
- const { configClaudeDesktop } = await import("./config-TDX4VUGW.js");
3657
+ const { configClaudeDesktop } = await import("./config-XE6Q5P4I.js");
3659
3658
  configClaudeDesktop();
3660
3659
  });
3661
3660
  configCmd.command("cursor").description("Print Cursor config JSON").action(async () => {
3662
- const { configCursor } = await import("./config-TDX4VUGW.js");
3661
+ const { configCursor } = await import("./config-XE6Q5P4I.js");
3663
3662
  configCursor();
3664
3663
  });
3665
3664
  configCmd.command("vscode").description("Print VS Code mcp.json config").action(async () => {
3666
- const { configVscode } = await import("./config-TDX4VUGW.js");
3665
+ const { configVscode } = await import("./config-XE6Q5P4I.js");
3667
3666
  configVscode();
3668
3667
  });
3669
3668
  configCmd.command("claude-code").description("Print claude mcp add command").action(async () => {
3670
- const { configClaudeCode } = await import("./config-TDX4VUGW.js");
3669
+ const { configClaudeCode } = await import("./config-XE6Q5P4I.js");
3671
3670
  configClaudeCode();
3672
3671
  });
3673
3672
  configCmd.command("http [url]").description("Print remote HTTP connection instructions").action(async (url) => {
3674
- const { configHttpUrl } = await import("./config-TDX4VUGW.js");
3673
+ const { configHttpUrl } = await import("./config-XE6Q5P4I.js");
3675
3674
  configHttpUrl(
3676
3675
  url || process.env.HIVE_DEFAULT_URL || "https://mcp.hiveintelligence.xyz"
3677
3676
  );
@@ -3679,7 +3678,7 @@ configCmd.command("http [url]").description("Print remote HTTP connection instru
3679
3678
  program2.command("setup [client]").description(
3680
3679
  "Interactive setup wizard \u2014 log in and configure your AI client (claude-desktop, claude-code, cursor, vscode)"
3681
3680
  ).action(async (client) => {
3682
- const { runSetup } = await import("./setup-YTUKMPNP.js");
3681
+ const { runSetup } = await import("./setup-RMETGJWK.js");
3683
3682
  await runSetup(client);
3684
3683
  });
3685
3684
  program2.command("init").description(
@@ -3692,11 +3691,11 @@ program2.command("init").description(
3692
3691
  "Override the Hive API URL (e.g. for staging or self-hosted)"
3693
3692
  ).action(async (opts) => {
3694
3693
  if (opts.minimal && !opts.all && !opts.browser) {
3695
- const { runInit } = await import("./init-YQ5NBICF.js");
3694
+ const { runInit } = await import("./init-JMDNM7ZZ.js");
3696
3695
  await runInit(opts);
3697
3696
  return;
3698
3697
  }
3699
- const { runInitAll } = await import("./init-all-6OWEQALB.js");
3698
+ const { runInitAll } = await import("./init-all-5SKNV75X.js");
3700
3699
  const exitCode = await runInitAll({
3701
3700
  all: Boolean(opts.all),
3702
3701
  browser: Boolean(opts.browser),
@@ -3714,7 +3713,7 @@ program2.command("uninstall").description(
3714
3713
  "--all",
3715
3714
  "Clean every known client (default; explicit flag for symmetry with `init --all`)"
3716
3715
  ).option("--dry-run", "Preview removals without changing anything").action(async (opts) => {
3717
- const { runUninstall } = await import("./uninstall-HWXEIP6K.js");
3716
+ const { runUninstall } = await import("./uninstall-FLJMBBSC.js");
3718
3717
  const exitCode = await runUninstall({
3719
3718
  all: opts.all !== false,
3720
3719
  dryRun: Boolean(opts.dryRun),
@@ -3723,66 +3722,70 @@ program2.command("uninstall").description(
3723
3722
  if (exitCode !== 0) process.exit(exitCode);
3724
3723
  });
3725
3724
  program2.command("doctor").description("Diagnose environment and server connectivity").option("--probe", "Run live API probes (slower)").action(async (opts) => {
3726
- const { runDoctor } = await import("./doctor-5K5UWHNX.js");
3725
+ const { runDoctor } = await import("./doctor-HGMQE6IN.js");
3727
3726
  await runDoctor(opts);
3728
3727
  });
3728
+ program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
3729
+ const { runUpgrade } = await import("./upgrade-DTUIHVPS.js");
3730
+ await runUpgrade();
3731
+ });
3729
3732
  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) => {
3730
3733
  if (opts.install) {
3731
- const { installCompletion } = await import("./completion-BELZL7ND.js");
3734
+ const { installCompletion } = await import("./completion-46K674EL.js");
3732
3735
  await installCompletion(shell);
3733
3736
  } else {
3734
- const { generateCompletion } = await import("./completion-BELZL7ND.js");
3737
+ const { generateCompletion } = await import("./completion-46K674EL.js");
3735
3738
  await generateCompletion(shell);
3736
3739
  }
3737
3740
  });
3738
3741
  var authCmd = program2.command("auth").description("Manage authentication profiles");
3739
3742
  authCmd.command("signup").description("Create a new Hive account and get your API key").option("--profile <name>", "Profile name", "default").action(async (opts) => {
3740
- const { runSignup } = await import("./auth-KKINNBXT.js");
3743
+ const { runSignup } = await import("./auth-Q5Q24IRI.js");
3741
3744
  await runSignup(opts);
3742
3745
  });
3743
3746
  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) => {
3744
- const { runLogin } = await import("./auth-KKINNBXT.js");
3747
+ const { runLogin } = await import("./auth-Q5Q24IRI.js");
3745
3748
  await runLogin(opts);
3746
3749
  });
3747
3750
  authCmd.command("logout").description("Remove stored credentials").action(async () => {
3748
- const { runLogout } = await import("./auth-KKINNBXT.js");
3751
+ const { runLogout } = await import("./auth-Q5Q24IRI.js");
3749
3752
  await runLogout();
3750
3753
  });
3751
3754
  authCmd.command("whoami").description("Show current profile").action(async () => {
3752
- const { runWhoami } = await import("./auth-KKINNBXT.js");
3755
+ const { runWhoami } = await import("./auth-Q5Q24IRI.js");
3753
3756
  await runWhoami();
3754
3757
  });
3755
3758
  authCmd.command("profiles").description("List all profiles").action(async () => {
3756
- const { runProfiles } = await import("./auth-KKINNBXT.js");
3759
+ const { runProfiles } = await import("./auth-Q5Q24IRI.js");
3757
3760
  await runProfiles();
3758
3761
  });
3759
3762
  authCmd.command("switch <name>").description("Switch active profile").action(async (name) => {
3760
- const { runSwitch } = await import("./auth-KKINNBXT.js");
3763
+ const { runSwitch } = await import("./auth-Q5Q24IRI.js");
3761
3764
  await runSwitch(name);
3762
3765
  });
3763
3766
  var keysCmd = program2.command("keys").description("Manage your Hive API keys");
3764
3767
  keysCmd.command("list").description("List your API keys").action(async () => {
3765
- const { runKeysList } = await import("./auth-KKINNBXT.js");
3768
+ const { runKeysList } = await import("./auth-Q5Q24IRI.js");
3766
3769
  await runKeysList();
3767
3770
  });
3768
3771
  keysCmd.command("create").description("Create a new API key").option("--name <name>", "Key name", "CLI Key").action(async (opts) => {
3769
- const { runKeysCreate } = await import("./auth-KKINNBXT.js");
3772
+ const { runKeysCreate } = await import("./auth-Q5Q24IRI.js");
3770
3773
  await runKeysCreate(opts);
3771
3774
  });
3772
3775
  keysCmd.command("revoke <id>").description("Revoke an API key").action(async (id) => {
3773
- const { runKeysRevoke } = await import("./auth-KKINNBXT.js");
3776
+ const { runKeysRevoke } = await import("./auth-Q5Q24IRI.js");
3774
3777
  await runKeysRevoke(id);
3775
3778
  });
3776
3779
  program2.command("usage").description("Show your API usage and plan limits").action(async () => {
3777
- const { runUsage } = await import("./auth-KKINNBXT.js");
3780
+ const { runUsage } = await import("./auth-Q5Q24IRI.js");
3778
3781
  await runUsage();
3779
3782
  });
3780
3783
  program2.command("status").description("Quick health and version check").action(async () => {
3781
- const { runStatus } = await import("./doctor-5K5UWHNX.js");
3784
+ const { runStatus } = await import("./doctor-HGMQE6IN.js");
3782
3785
  await runStatus();
3783
3786
  });
3784
3787
  program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
3785
- const { runOpen } = await import("./open-YUIJP37F.js");
3788
+ const { runOpen } = await import("./open-5A6ZQMGC.js");
3786
3789
  runOpen(target);
3787
3790
  });
3788
3791
  program2.command("watch <domain> <command>").description("Poll a tool on interval").option("--interval <seconds>", "Poll interval in seconds", "30").option("--args <json>", "Tool arguments as JSON").action(async (domain, command, opts) => {
@@ -3809,18 +3812,18 @@ program2.command("watch <domain> <command>").description("Poll a tool on interva
3809
3812
  }
3810
3813
  const interval = parseInt(opts.interval, 10);
3811
3814
  const timeout = parseInt(program2.opts().timeout, 10);
3812
- const { runWatch } = await import("./watch-KZ5EDZK3.js");
3815
+ const { runWatch } = await import("./watch-YNN255QX.js");
3813
3816
  await runWatch(cmdDef.tool, args, interval, timeout);
3814
3817
  });
3815
3818
  var aliasCmd = program2.command("alias").description("Manage command aliases");
3816
3819
  aliasCmd.command("set <name> <command>").description("Create an alias").action(async (name, command) => {
3817
- const { setAlias } = await import("./alias-CZ3DEYHF.js");
3820
+ const { setAlias } = await import("./alias-3OPMQF4X.js");
3818
3821
  setAlias(name, command);
3819
3822
  process.stderr.write(`Alias "${name}" set.
3820
3823
  `);
3821
3824
  });
3822
3825
  aliasCmd.command("list").description("Show all aliases").action(async () => {
3823
- const { getAliases } = await import("./alias-CZ3DEYHF.js");
3826
+ const { getAliases } = await import("./alias-3OPMQF4X.js");
3824
3827
  const aliases = getAliases();
3825
3828
  const entries = Object.entries(aliases);
3826
3829
  if (entries.length === 0) {
@@ -3834,22 +3837,22 @@ aliasCmd.command("list").description("Show all aliases").action(async () => {
3834
3837
  process.stderr.write("\n");
3835
3838
  });
3836
3839
  aliasCmd.command("remove <name>").description("Remove an alias").action(async (name) => {
3837
- const { removeAlias } = await import("./alias-CZ3DEYHF.js");
3840
+ const { removeAlias } = await import("./alias-3OPMQF4X.js");
3838
3841
  removeAlias(name);
3839
3842
  process.stderr.write(`Alias "${name}" removed.
3840
3843
  `);
3841
3844
  });
3842
3845
  var telemetryCmd = program2.command("telemetry").description("Control anonymous usage telemetry");
3843
3846
  telemetryCmd.command("enable").description("Enable telemetry").action(async () => {
3844
- const { enableTelemetry } = await import("./telemetry-5IPRKZBL.js");
3847
+ const { enableTelemetry } = await import("./telemetry-WCME5XEU.js");
3845
3848
  enableTelemetry();
3846
3849
  });
3847
3850
  telemetryCmd.command("disable").description("Disable telemetry").action(async () => {
3848
- const { disableTelemetry } = await import("./telemetry-5IPRKZBL.js");
3851
+ const { disableTelemetry } = await import("./telemetry-WCME5XEU.js");
3849
3852
  disableTelemetry();
3850
3853
  });
3851
3854
  telemetryCmd.command("status").description("Show telemetry status").action(async () => {
3852
- const { telemetryStatus } = await import("./telemetry-5IPRKZBL.js");
3855
+ const { telemetryStatus } = await import("./telemetry-WCME5XEU.js");
3853
3856
  telemetryStatus();
3854
3857
  });
3855
3858
  program2.addHelpText(
@@ -3869,7 +3872,7 @@ Examples:
3869
3872
  );
3870
3873
  checkForUpdates();
3871
3874
  {
3872
- const { expandAlias } = await import("./alias-CZ3DEYHF.js");
3875
+ const { expandAlias } = await import("./alias-3OPMQF4X.js");
3873
3876
  const expanded = expandAlias(process.argv);
3874
3877
  if (expanded !== process.argv) {
3875
3878
  process.argv = expanded;
@@ -3886,4 +3889,3 @@ try {
3886
3889
  }
3887
3890
  throw err;
3888
3891
  }
3889
- //# sourceMappingURL=cli.js.map
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  NAMESPACE
4
- } from "./chunk-MPIUUE3T.js";
5
- import "./chunk-KBVPIZS4.js";
4
+ } from "./chunk-FH3YGSY5.js";
5
+ import "./chunk-3WYWXTNN.js";
6
6
 
7
7
  // src/cli/completion.ts
8
8
  import {
@@ -276,4 +276,3 @@ export {
276
276
  generateCompletion,
277
277
  installCompletion
278
278
  };
279
- //# sourceMappingURL=completion-BELZL7ND.js.map
@@ -25,9 +25,9 @@ import {
25
25
  writeGeminiCliConfig,
26
26
  writeVscodeConfig,
27
27
  writeWindsurfConfig
28
- } from "./chunk-2MYMHMBF.js";
29
- import "./chunk-V77LO4RO.js";
30
- import "./chunk-KBVPIZS4.js";
28
+ } from "./chunk-4F5CI6LX.js";
29
+ import "./chunk-POT2MBEK.js";
30
+ import "./chunk-3WYWXTNN.js";
31
31
  export {
32
32
  configClaudeCode,
33
33
  configClaudeDesktop,
@@ -55,4 +55,3 @@ export {
55
55
  writeVscodeConfig,
56
56
  writeWindsurfConfig
57
57
  };
58
- //# sourceMappingURL=config-TDX4VUGW.js.map
@@ -12,8 +12,8 @@ import {
12
12
  saveCredentials,
13
13
  setCliFlags,
14
14
  writeJsonFile
15
- } from "./chunk-V77LO4RO.js";
16
- import "./chunk-KBVPIZS4.js";
15
+ } from "./chunk-POT2MBEK.js";
16
+ import "./chunk-3WYWXTNN.js";
17
17
  export {
18
18
  ensureConfigDir,
19
19
  getConfig,
@@ -28,4 +28,3 @@ export {
28
28
  setCliFlags,
29
29
  writeJsonFile
30
30
  };
31
- //# sourceMappingURL=config-dir-V43W2WIA.js.map
@@ -1,16 +1,17 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  fetchToolCatalog
4
- } from "./chunk-IZTN7WFH.js";
4
+ } from "./chunk-7JWXBKEJ.js";
5
+ import "./chunk-ZCU7XQKF.js";
5
6
  import {
6
7
  debug,
7
8
  info,
8
9
  shouldOutputJson,
9
10
  successEnvelope,
10
11
  writeOutput
11
- } from "./chunk-XYBEFFZ3.js";
12
- import "./chunk-V77LO4RO.js";
13
- import "./chunk-KBVPIZS4.js";
12
+ } from "./chunk-NP6NSOG2.js";
13
+ import "./chunk-POT2MBEK.js";
14
+ import "./chunk-3WYWXTNN.js";
14
15
 
15
16
  // src/cli/doctor.ts
16
17
  var DEFAULT_API_URL = "https://mcp.hiveintelligence.xyz";
@@ -94,6 +95,30 @@ async function runDoctor(opts) {
94
95
  });
95
96
  }
96
97
  }
98
+ {
99
+ const { SERVER_VERSION } = await import("./version-I6HDAF4L.js");
100
+ const { fetchLatestVersion, isNewerVersion } = await import("./update-check-LNZQK3XA.js");
101
+ const latest = await fetchLatestVersion(5e3);
102
+ if (latest === null) {
103
+ checks.push({
104
+ check: "Updates",
105
+ status: "INFO",
106
+ detail: `v${SERVER_VERSION} (could not reach npm registry)`
107
+ });
108
+ } else if (isNewerVersion(latest, SERVER_VERSION)) {
109
+ checks.push({
110
+ check: "Updates",
111
+ status: "WARN",
112
+ detail: `v${SERVER_VERSION} -> v${latest} available \u2014 run: hive upgrade`
113
+ });
114
+ } else {
115
+ checks.push({
116
+ check: "Updates",
117
+ status: "PASS",
118
+ detail: `v${SERVER_VERSION} (latest)`
119
+ });
120
+ }
121
+ }
97
122
  if (opts.probe) {
98
123
  const probeUrl = `${getApiUrl()}/health?run=true`;
99
124
  debug(`Probe: GET ${probeUrl}`);
@@ -163,7 +188,7 @@ async function runDoctor(opts) {
163
188
  if (fails > 0) process.exit(1);
164
189
  return;
165
190
  }
166
- const { table } = await import("./format-TSFSI2K7.js");
191
+ const { table } = await import("./format-5X2HIVDT.js");
167
192
  info("\nHive MCP Doctor\n");
168
193
  info(
169
194
  table(
@@ -179,9 +204,9 @@ ${fails === 0 ? "All checks passed" : `${fails} issues found`}${warns ? ` (${war
179
204
  if (fails > 0) process.exit(1);
180
205
  }
181
206
  async function runStatus() {
182
- const { SERVER_VERSION } = await import("./mcpServer-AEX3RQ4U.js");
183
- const { resolveApiKey, resolveApiUrl } = await import("./config-dir-V43W2WIA.js");
184
- const { getActiveProfile, maskKey } = await import("./auth-KKINNBXT.js");
207
+ const { SERVER_VERSION } = await import("./mcpServer-5TKKSKJM.js");
208
+ const { resolveApiKey, resolveApiUrl } = await import("./config-dir-MAWX5AUF.js");
209
+ const { getActiveProfile, maskKey } = await import("./auth-Q5Q24IRI.js");
185
210
  const apiUrl = resolveApiUrl();
186
211
  const apiKey = resolveApiKey();
187
212
  const profile = getActiveProfile();
@@ -228,4 +253,3 @@ export {
228
253
  runDoctor,
229
254
  runStatus
230
255
  };
231
- //# sourceMappingURL=doctor-5K5UWHNX.js.map
@@ -5,8 +5,8 @@ import {
5
5
  ExitCode,
6
6
  classifyError,
7
7
  suggestSimilarTools
8
- } from "./chunk-KGYBTXIN.js";
9
- import "./chunk-KBVPIZS4.js";
8
+ } from "./chunk-ZTJVOWDQ.js";
9
+ import "./chunk-3WYWXTNN.js";
10
10
  export {
11
11
  CliError,
12
12
  ERROR_DOC_URLS,
@@ -14,4 +14,3 @@ export {
14
14
  classifyError,
15
15
  suggestSimilarTools
16
16
  };
17
- //# sourceMappingURL=errors-E6MVUBNA.js.map
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import "./chunk-KBVPIZS4.js";
2
+ import "./chunk-3WYWXTNN.js";
3
3
 
4
4
  // src/cli/format.ts
5
5
  function pad(str, width) {
@@ -40,4 +40,3 @@ export {
40
40
  pad,
41
41
  table
42
42
  };
43
- //# sourceMappingURL=format-TSFSI2K7.js.map
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import "./chunk-KBVPIZS4.js";
2
+ import "./chunk-3WYWXTNN.js";
3
3
 
4
4
  // src/cli/init.ts
5
5
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -99,4 +99,3 @@ Validating API key against ${baseUrl}...`);
99
99
  export {
100
100
  runInit
101
101
  };
102
- //# sourceMappingURL=init-YQ5NBICF.js.map