hive-intelligence 1.1.2 → 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 (148) hide show
  1. package/LICENSE +12 -10
  2. package/README.md +325 -351
  3. package/agent-skills/.claude-plugin/plugin.json +111 -0
  4. package/agent-skills/.mcp.json +11 -0
  5. package/agent-skills/AGENTS.md +37 -0
  6. package/agent-skills/LICENSE +21 -0
  7. package/agent-skills/README.md +145 -0
  8. package/agent-skills/SKILL.md +80 -0
  9. package/agent-skills/evals/README.md +20 -0
  10. package/agent-skills/evals/trigger-queries.json +464 -0
  11. package/agent-skills/package.json +49 -0
  12. package/agent-skills/packs/hive-build/SKILL.md +328 -0
  13. package/agent-skills/packs/hive-build/evals/evals.json +28 -0
  14. package/agent-skills/packs/hive-build-onboarding/SKILL.md +137 -0
  15. package/agent-skills/packs/hive-build-onboarding/evals/evals.json +27 -0
  16. package/agent-skills/packs/hive-cli/SKILL.md +141 -0
  17. package/agent-skills/packs/hive-cli/evals/evals.json +27 -0
  18. package/agent-skills/packs/hive-defi-research/SKILL.md +42 -0
  19. package/agent-skills/packs/hive-defi-research/evals/evals.json +27 -0
  20. package/agent-skills/packs/hive-defi-research/references/workflow.md +41 -0
  21. package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +41 -0
  22. package/agent-skills/packs/hive-dex-pool-analysis/evals/evals.json +27 -0
  23. package/agent-skills/packs/hive-dex-pool-analysis/references/workflow.md +42 -0
  24. package/agent-skills/packs/hive-market-research/SKILL.md +45 -0
  25. package/agent-skills/packs/hive-market-research/evals/evals.json +27 -0
  26. package/agent-skills/packs/hive-market-research/references/workflow.md +47 -0
  27. package/agent-skills/packs/hive-mcp/SKILL.md +147 -0
  28. package/agent-skills/packs/hive-mcp/evals/evals.json +38 -0
  29. package/agent-skills/packs/hive-mcp/references/client-install-matrix.md +83 -0
  30. package/agent-skills/packs/hive-mcp/references/clients.md +141 -0
  31. package/agent-skills/packs/hive-network-infrastructure/SKILL.md +44 -0
  32. package/agent-skills/packs/hive-network-infrastructure/evals/evals.json +27 -0
  33. package/agent-skills/packs/hive-network-infrastructure/references/workflow.md +41 -0
  34. package/agent-skills/packs/hive-nft-research/SKILL.md +41 -0
  35. package/agent-skills/packs/hive-nft-research/evals/evals.json +27 -0
  36. package/agent-skills/packs/hive-nft-research/references/workflow.md +42 -0
  37. package/agent-skills/packs/hive-prediction-markets/SKILL.md +44 -0
  38. package/agent-skills/packs/hive-prediction-markets/evals/evals.json +27 -0
  39. package/agent-skills/packs/hive-prediction-markets/references/workflow.md +42 -0
  40. package/agent-skills/packs/hive-query/SKILL.md +99 -0
  41. package/agent-skills/packs/hive-query/evals/evals.json +38 -0
  42. package/agent-skills/packs/hive-query/references/root-mcp-workflow.md +54 -0
  43. package/agent-skills/packs/hive-security-risk/SKILL.md +42 -0
  44. package/agent-skills/packs/hive-security-risk/evals/evals.json +27 -0
  45. package/agent-skills/packs/hive-security-risk/references/workflow.md +46 -0
  46. package/agent-skills/packs/hive-solana-analysis/SKILL.md +42 -0
  47. package/agent-skills/packs/hive-solana-analysis/evals/evals.json +27 -0
  48. package/agent-skills/packs/hive-solana-analysis/references/workflow.md +42 -0
  49. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +75 -0
  50. package/agent-skills/packs/hive-stateful-monitoring/evals/evals.json +49 -0
  51. package/agent-skills/packs/hive-token-diligence/SKILL.md +44 -0
  52. package/agent-skills/packs/hive-token-diligence/evals/evals.json +27 -0
  53. package/agent-skills/packs/hive-token-diligence/references/workflow.md +45 -0
  54. package/agent-skills/packs/hive-tool-discovery/SKILL.md +49 -0
  55. package/agent-skills/packs/hive-tool-discovery/evals/evals.json +38 -0
  56. package/agent-skills/packs/hive-tool-discovery/references/discovery-surfaces.md +62 -0
  57. package/agent-skills/packs/hive-wallet-investigation/SKILL.md +42 -0
  58. package/agent-skills/packs/hive-wallet-investigation/evals/evals.json +27 -0
  59. package/agent-skills/packs/hive-wallet-investigation/references/workflow.md +45 -0
  60. package/agent-skills/references/agents-routing.md +51 -0
  61. package/agent-skills/scripts/validate-agent-skills-package.mjs +216 -0
  62. package/agent-skills/skills.sh.json +41 -0
  63. package/bin/hive-mcp.js +33 -0
  64. package/build/{alias-INGXWFCG.js → alias-3OPMQF4X.js} +2 -3
  65. package/build/api-client-EPF6FD7A.js +28 -0
  66. package/build/auth-Q5Q24IRI.js +39 -0
  67. package/build/browser-auth-VPF5LZMZ.js +8 -0
  68. package/build/{cache-US4LSZPI.js → cache-T6KC5YEY.js} +2 -3
  69. package/build/{chunk-QMRVH5ZP.js → chunk-3WYWXTNN.js} +9 -2
  70. package/build/chunk-4F5CI6LX.js +340 -0
  71. package/build/chunk-5XXI25JE.js +496 -0
  72. package/build/chunk-7JWXBKEJ.js +252 -0
  73. package/build/chunk-CEWCB5YS.js +71 -0
  74. package/build/{chunk-CGXVV6WR.js → chunk-FH3YGSY5.js} +86 -105
  75. package/build/chunk-FRXMGRZQ.js +102 -0
  76. package/build/chunk-GZPDEXO4.js +126 -0
  77. package/build/chunk-IZPAMRHP.js +43 -0
  78. package/build/chunk-JTUKQWIO.js +79720 -0
  79. package/build/{chunk-CP3FXEQA.js → chunk-NP6NSOG2.js} +4 -6
  80. package/build/{chunk-XQJ6PB2L.js → chunk-POT2MBEK.js} +0 -1
  81. package/build/chunk-VBOKVQ74.js +280 -0
  82. package/build/{chunk-WKVZVQTG.js → chunk-YZ2PXBJK.js} +6 -4
  83. package/build/chunk-ZCU7XQKF.js +14 -0
  84. package/build/chunk-ZTJVOWDQ.js +85 -0
  85. package/build/chunk-ZXB53E7H.js +246 -0
  86. package/build/cli.js +138 -125
  87. package/build/{completion-J6HFY6PS.js → completion-46K674EL.js} +54 -50
  88. package/build/config-XE6Q5P4I.js +57 -0
  89. package/build/{config-dir-IEOID7Q6.js → config-dir-MAWX5AUF.js} +2 -3
  90. package/build/{doctor-7WZMCQC7.js → doctor-HGMQE6IN.js} +37 -13
  91. package/build/{errors-U6UZWVSD.js → errors-J2PH3NLJ.js} +2 -3
  92. package/build/format-5X2HIVDT.js +42 -0
  93. package/build/{init-CAVIFVSH.js → init-JMDNM7ZZ.js} +1 -2
  94. package/build/init-all-5SKNV75X.js +273 -0
  95. package/build/mcpServer-5TKKSKJM.js +21 -0
  96. package/build/monitor-worker.js +1140 -0
  97. package/build/{namespace-7JWWBWBL.js → namespace-FSX2G3NM.js} +2 -3
  98. package/build/{open-FUXYIHFO.js → open-5A6ZQMGC.js} +5 -6
  99. package/build/{output-7PGQWJY2.js → output-V3D4YZ6U.js} +2 -3
  100. package/build/serve-AGCOXXFM.js +49 -0
  101. package/build/server.js +5042 -14125
  102. package/build/setup-RMETGJWK.js +135 -0
  103. package/build/stdio.js +32 -0
  104. package/build/{telemetry-KNWMQURH.js → telemetry-WCME5XEU.js} +4 -4
  105. package/build/{tools-VRRMBCZQ.js → tools-KAB6QBZC.js} +15 -15
  106. package/build/uninstall-FLJMBBSC.js +114 -0
  107. package/build/update-check-LNZQK3XA.js +18 -0
  108. package/build/upgrade-DTUIHVPS.js +171 -0
  109. package/build/version-I6HDAF4L.js +14 -0
  110. package/build/{watch-A75SVIQ6.js → watch-YNN255QX.js} +7 -7
  111. package/package.json +124 -53
  112. package/bin/hive.js +0 -25
  113. package/build/alias-INGXWFCG.js.map +0 -1
  114. package/build/auth-77MKFFBQ.js +0 -233
  115. package/build/auth-77MKFFBQ.js.map +0 -1
  116. package/build/cache-US4LSZPI.js.map +0 -1
  117. package/build/chunk-CGXVV6WR.js.map +0 -1
  118. package/build/chunk-CP3FXEQA.js.map +0 -1
  119. package/build/chunk-DTUDM6HX.js +0 -3108
  120. package/build/chunk-DTUDM6HX.js.map +0 -1
  121. package/build/chunk-LBTLYTZS.js +0 -115
  122. package/build/chunk-LBTLYTZS.js.map +0 -1
  123. package/build/chunk-OK3LSM73.js +0 -22
  124. package/build/chunk-OK3LSM73.js.map +0 -1
  125. package/build/chunk-QMRVH5ZP.js.map +0 -1
  126. package/build/chunk-RRI526CJ.js +0 -212
  127. package/build/chunk-RRI526CJ.js.map +0 -1
  128. package/build/chunk-WKVZVQTG.js.map +0 -1
  129. package/build/chunk-XQJ6PB2L.js.map +0 -1
  130. package/build/cli.js.map +0 -1
  131. package/build/completion-J6HFY6PS.js.map +0 -1
  132. package/build/config-ANFERP7A.js +0 -99
  133. package/build/config-ANFERP7A.js.map +0 -1
  134. package/build/config-dir-IEOID7Q6.js.map +0 -1
  135. package/build/doctor-7WZMCQC7.js.map +0 -1
  136. package/build/errors-U6UZWVSD.js.map +0 -1
  137. package/build/format-CVLLK6GD.js +0 -75
  138. package/build/format-CVLLK6GD.js.map +0 -1
  139. package/build/init-CAVIFVSH.js.map +0 -1
  140. package/build/namespace-7JWWBWBL.js.map +0 -1
  141. package/build/open-FUXYIHFO.js.map +0 -1
  142. package/build/output-7PGQWJY2.js.map +0 -1
  143. package/build/server.js.map +0 -1
  144. package/build/telemetry-KNWMQURH.js.map +0 -1
  145. package/build/tools-VRRMBCZQ.js.map +0 -1
  146. package/build/version-3TZ3U4IR.js +0 -9
  147. package/build/version-3TZ3U4IR.js.map +0 -1
  148. package/build/watch-A75SVIQ6.js.map +0 -1
@@ -187,7 +187,7 @@ async function writeOutput(envelope) {
187
187
  }
188
188
  if (globalOpts.csv && envelope.ok && Array.isArray(envelope.data)) {
189
189
  process.stdout.write(
190
- await formatCsv(envelope.data) + "\n"
190
+ formatCsv(envelope.data) + "\n"
191
191
  );
192
192
  return;
193
193
  }
@@ -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-CVLLK6GD.js");
209
+ const { formatTable } = await import("./format-5X2HIVDT.js");
210
210
  process.stdout.write(
211
211
  formatTable(envelope.data) + "\n"
212
212
  );
@@ -246,12 +246,11 @@ function debug(msg) {
246
246
  function isCI() {
247
247
  return !!(process.env.CI || process.env.GITHUB_ACTIONS || process.env.GITLAB_CI || process.env.JENKINS_URL || process.env.HIVE_CI);
248
248
  }
249
- async function formatCsv(data) {
249
+ function formatCsv(data) {
250
250
  if (data.length === 0) return "";
251
- const { formatCell } = await import("./format-CVLLK6GD.js");
252
251
  const keys = [...new Set(data.flatMap((row) => Object.keys(row)))];
253
252
  const escape = (val) => {
254
- const str = formatCell(val);
253
+ const str = val == null ? "" : String(val);
255
254
  return str.includes(",") || str.includes('"') || str.includes("\n") ? `"${str.replace(/"/g, '""')}"` : str;
256
255
  };
257
256
  const header = keys.join(",");
@@ -278,4 +277,3 @@ export {
278
277
  isCI,
279
278
  formatCsv
280
279
  };
281
- //# sourceMappingURL=chunk-CP3FXEQA.js.map
@@ -92,4 +92,3 @@ export {
92
92
  resolveApiKey,
93
93
  resolveApiUrl
94
94
  };
95
- //# sourceMappingURL=chunk-XQJ6PB2L.js.map
@@ -0,0 +1,280 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+
3
+ // src/agentSkills.ts
4
+ var HIVE_AGENT_SKILLS = [
5
+ {
6
+ name: "hive-mcp",
7
+ label: "Install Hive MCP",
8
+ description: "Connect Hive's hosted remote MCP endpoint to Claude, Cursor, VS Code, OpenAI Responses API, Codex, Gemini, and supported MCP clients.",
9
+ path: "agent-skills/packs/hive-mcp/SKILL.md",
10
+ toolsetIds: ["search_discovery"],
11
+ useWhen: ["install hive", "connect mcp", "configure client"]
12
+ },
13
+ {
14
+ name: "hive-build-onboarding",
15
+ label: "Get a Hive API Key",
16
+ description: "Guide agents through browser auth, dashboard key creation, and headless environment setup.",
17
+ path: "agent-skills/packs/hive-build-onboarding/SKILL.md",
18
+ toolsetIds: ["search_discovery"],
19
+ useWhen: ["no api key", "sign up", "lost key"]
20
+ },
21
+ {
22
+ name: "hive-build",
23
+ label: "Build With Hive",
24
+ description: "Use Hive from application code through REST, MCP clients, or the source-only TypeScript adapter.",
25
+ path: "agent-skills/packs/hive-build/SKILL.md",
26
+ toolsetIds: ["search_discovery"],
27
+ useWhen: ["integrate api", "backend", "sdk", "production app"]
28
+ },
29
+ {
30
+ name: "hive-cli",
31
+ label: "Use Hive CLI",
32
+ description: "Run Hive from shell scripts, cron jobs, and terminal research workflows.",
33
+ path: "agent-skills/packs/hive-cli/SKILL.md",
34
+ toolsetIds: ["search_discovery"],
35
+ useWhen: ["terminal", "cli", "jq", "cron"]
36
+ },
37
+ {
38
+ name: "hive-query",
39
+ label: "Route A Crypto Query",
40
+ description: "Start from the user's intent, choose the canonical task toolset, inspect schemas, and call exact Hive tools.",
41
+ path: "agent-skills/packs/hive-query/SKILL.md",
42
+ toolsetIds: [
43
+ "market_research",
44
+ "token_diligence",
45
+ "wallet_investigation",
46
+ "security_risk",
47
+ "onchain_dex_pool_analysis",
48
+ "defi_protocol_analysis",
49
+ "nft_research",
50
+ "network_infrastructure",
51
+ "solana_analysis",
52
+ "prediction_markets",
53
+ "stateful_monitoring",
54
+ "search_discovery"
55
+ ],
56
+ useWhen: [
57
+ "crypto question",
58
+ "pick a tool",
59
+ "tool routing",
60
+ "unknown crypto data",
61
+ "which hive endpoint"
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
+ },
79
+ {
80
+ name: "hive-tool-discovery",
81
+ label: "Tool Discovery",
82
+ description: "Use search_tools, hive://toolsets, schema lookup, and invoke_api_endpoint correctly.",
83
+ path: "agent-skills/packs/hive-tool-discovery/SKILL.md",
84
+ toolsetIds: ["search_discovery"],
85
+ useWhen: [
86
+ "unknown tool",
87
+ "schema",
88
+ "discovery",
89
+ "search tools",
90
+ "invoke endpoint",
91
+ "category tool"
92
+ ]
93
+ },
94
+ {
95
+ name: "hive-market-research",
96
+ label: "Market Research",
97
+ description: "Research prices, liquidity, exchanges, OHLC, order books, and derivatives context.",
98
+ path: "agent-skills/packs/hive-market-research/SKILL.md",
99
+ toolsetIds: ["market_research"],
100
+ useWhen: [
101
+ "price",
102
+ "market",
103
+ "spot",
104
+ "exchange",
105
+ "order book",
106
+ "ohlc",
107
+ "volume",
108
+ "funding",
109
+ "open interest",
110
+ "liquidations",
111
+ "derivatives",
112
+ "options"
113
+ ]
114
+ },
115
+ {
116
+ name: "hive-token-diligence",
117
+ label: "Token Diligence",
118
+ description: "Investigate token metadata, market context, liquidity, holders, enrichment, and risk.",
119
+ path: "agent-skills/packs/hive-token-diligence/SKILL.md",
120
+ toolsetIds: ["token_diligence"],
121
+ useWhen: [
122
+ "token",
123
+ "contract",
124
+ "holders",
125
+ "top traders",
126
+ "metadata",
127
+ "socials",
128
+ "liquidity",
129
+ "safe to buy",
130
+ "token diligence"
131
+ ]
132
+ },
133
+ {
134
+ name: "hive-wallet-investigation",
135
+ label: "Wallet Investigation",
136
+ description: "Inspect wallet balances, transfers, NFTs, PnL, DeFi positions, and notable activity.",
137
+ path: "agent-skills/packs/hive-wallet-investigation/SKILL.md",
138
+ toolsetIds: ["wallet_investigation"],
139
+ useWhen: [
140
+ "wallet",
141
+ "portfolio",
142
+ "balances",
143
+ "holdings",
144
+ "pnl",
145
+ "profitability",
146
+ "transfers",
147
+ "swaps",
148
+ "defi positions",
149
+ "chain activity"
150
+ ]
151
+ },
152
+ {
153
+ name: "hive-security-risk",
154
+ label: "Security Risk",
155
+ description: "Check token, approval, address, phishing, contract, and simulation risk signals.",
156
+ path: "agent-skills/packs/hive-security-risk/SKILL.md",
157
+ toolsetIds: ["security_risk"],
158
+ useWhen: [
159
+ "security",
160
+ "risk",
161
+ "safe",
162
+ "scam",
163
+ "rugpull",
164
+ "honeypot",
165
+ "malicious",
166
+ "phishing",
167
+ "dapp",
168
+ "approval",
169
+ "calldata",
170
+ "simulate"
171
+ ]
172
+ },
173
+ {
174
+ name: "hive-dex-pool-analysis",
175
+ label: "DEX And Pool Analysis",
176
+ description: "Analyze on-chain pools, pairs, liquidity, trades, OHLCV, and DEX flow.",
177
+ path: "agent-skills/packs/hive-dex-pool-analysis/SKILL.md",
178
+ toolsetIds: ["onchain_dex_pool_analysis"],
179
+ useWhen: [
180
+ "dex",
181
+ "pool",
182
+ "pair",
183
+ "liquidity",
184
+ "trades",
185
+ "ohlcv",
186
+ "trending pools",
187
+ "uniswap"
188
+ ]
189
+ },
190
+ {
191
+ name: "hive-defi-research",
192
+ label: "DeFi Research",
193
+ description: "Analyze protocols, TVL, fees, revenue, stablecoins, bridges, and yield pools.",
194
+ path: "agent-skills/packs/hive-defi-research/SKILL.md",
195
+ toolsetIds: ["defi_protocol_analysis"],
196
+ useWhen: [
197
+ "defi",
198
+ "protocol",
199
+ "tvl",
200
+ "fees",
201
+ "revenue",
202
+ "stablecoin",
203
+ "bridge",
204
+ "yield",
205
+ "apy"
206
+ ]
207
+ },
208
+ {
209
+ name: "hive-nft-research",
210
+ label: "NFT Research",
211
+ description: "Research NFT collections, ownership, metadata, floor price, sales, rarity, and spam checks.",
212
+ path: "agent-skills/packs/hive-nft-research/SKILL.md",
213
+ toolsetIds: ["nft_research"],
214
+ useWhen: [
215
+ "nft",
216
+ "collection",
217
+ "floor",
218
+ "sales",
219
+ "owner",
220
+ "metadata",
221
+ "rarity",
222
+ "spam"
223
+ ]
224
+ },
225
+ {
226
+ name: "hive-solana-analysis",
227
+ label: "Solana Analysis",
228
+ description: "Analyze Solana wallets, SPL token accounts, DAS assets, parsed transactions, and priority fees.",
229
+ path: "agent-skills/packs/hive-solana-analysis/SKILL.md",
230
+ toolsetIds: ["solana_analysis"],
231
+ useWhen: [
232
+ "solana",
233
+ "spl",
234
+ "das",
235
+ "priority fee",
236
+ "pumpfun",
237
+ "token accounts",
238
+ "parsed transaction"
239
+ ]
240
+ },
241
+ {
242
+ name: "hive-network-infrastructure",
243
+ label: "Network Infrastructure",
244
+ description: "Read chain state, gas, blocks, receipts, logs, transaction status, and RPC diagnostics.",
245
+ path: "agent-skills/packs/hive-network-infrastructure/SKILL.md",
246
+ toolsetIds: ["network_infrastructure"],
247
+ useWhen: [
248
+ "gas",
249
+ "block",
250
+ "receipt",
251
+ "logs",
252
+ "rpc",
253
+ "transaction status",
254
+ "chain state",
255
+ "tenderly networks"
256
+ ]
257
+ },
258
+ {
259
+ name: "hive-prediction-markets",
260
+ label: "Prediction Markets",
261
+ description: "Research prediction markets, events, outcomes, market stats, traders, holders, and trades.",
262
+ path: "agent-skills/packs/hive-prediction-markets/SKILL.md",
263
+ toolsetIds: ["prediction_markets"],
264
+ useWhen: [
265
+ "prediction market",
266
+ "polymarket",
267
+ "kalshi",
268
+ "odds",
269
+ "election odds",
270
+ "sports odds",
271
+ "event",
272
+ "outcome",
273
+ "prediction traders"
274
+ ]
275
+ }
276
+ ];
277
+
278
+ export {
279
+ HIVE_AGENT_SKILLS
280
+ };
@@ -1,13 +1,16 @@
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-XQJ6PB2L.js";
9
+ } from "./chunk-POT2MBEK.js";
7
10
 
8
11
  // src/cli/telemetry.ts
9
12
  import { platform, release } from "os";
10
- var TELEMETRY_URL = "https://dev.hiveintelligence.xyz/api/v1/telemetry";
13
+ var TELEMETRY_URL = process.env.HIVE_CLI_TELEMETRY_URL ?? "https://mcp.hiveintelligence.xyz/api/v1/telemetry";
11
14
  function isTelemetryEnabled() {
12
15
  return getConfig().telemetry === true;
13
16
  }
@@ -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 ?? "0.1.2",
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-WKVZVQTG.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
+ };
@@ -0,0 +1,85 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+
3
+ // src/cli/errors.ts
4
+ import { distance } from "fastest-levenshtein";
5
+ var ExitCode = {
6
+ SUCCESS: 0,
7
+ GENERAL_ERROR: 1,
8
+ INVALID_ARGS: 2,
9
+ TOOL_NOT_FOUND: 3,
10
+ API_ERROR: 4,
11
+ AUTH_FAILURE: 5,
12
+ RATE_LIMITED: 6,
13
+ TIMEOUT: 124
14
+ };
15
+ var ERROR_CODE_TO_EXIT = {
16
+ GENERAL_ERROR: ExitCode.GENERAL_ERROR,
17
+ INVALID_ARGS: ExitCode.INVALID_ARGS,
18
+ TOOL_NOT_FOUND: ExitCode.TOOL_NOT_FOUND,
19
+ API_ERROR: ExitCode.API_ERROR,
20
+ PROVIDER_UNAVAILABLE: ExitCode.AUTH_FAILURE,
21
+ RATE_LIMITED: ExitCode.RATE_LIMITED,
22
+ TIMEOUT: ExitCode.TIMEOUT,
23
+ VALIDATION_ERROR: ExitCode.INVALID_ARGS
24
+ };
25
+ var ERROR_DOC_URLS = {
26
+ RATE_LIMITED: "https://www.hiveintelligence.xyz/errors#rate-limited",
27
+ TIMEOUT: "https://www.hiveintelligence.xyz/errors#timeout",
28
+ PROVIDER_UNAVAILABLE: "https://www.hiveintelligence.xyz/errors#provider-unavailable",
29
+ TOOL_NOT_FOUND: "https://www.hiveintelligence.xyz/errors#tool-not-found"
30
+ };
31
+ var CliError = class extends Error {
32
+ code;
33
+ exitCode;
34
+ suggestion;
35
+ docUrl;
36
+ constructor(code, message, suggestion, docUrl) {
37
+ super(message);
38
+ this.name = "CliError";
39
+ this.code = code;
40
+ this.exitCode = ERROR_CODE_TO_EXIT[code] ?? ExitCode.GENERAL_ERROR;
41
+ this.suggestion = suggestion;
42
+ this.docUrl = docUrl ?? ERROR_DOC_URLS[code];
43
+ }
44
+ };
45
+ function classifyError(error, toolName) {
46
+ if (error instanceof CliError) return error;
47
+ const msg = error instanceof Error ? error.message : String(error);
48
+ const lower = msg.toLowerCase();
49
+ if (lower.includes("timed out") || lower.includes("timeout")) {
50
+ return new CliError("TIMEOUT", msg, "Increase timeout with --timeout <ms>");
51
+ }
52
+ if (lower.includes("rate limit") || lower.includes("429")) {
53
+ return new CliError(
54
+ "RATE_LIMITED",
55
+ msg,
56
+ "Wait and retry, or reduce request frequency"
57
+ );
58
+ }
59
+ if (lower.includes("api key") || lower.includes("unauthorized") || lower.includes("not configured") || lower.includes("unavailable")) {
60
+ return new CliError(
61
+ "PROVIDER_UNAVAILABLE",
62
+ msg,
63
+ "Run: hive auth login"
64
+ );
65
+ }
66
+ if (lower.includes("not found") && toolName) {
67
+ return new CliError(
68
+ "TOOL_NOT_FOUND",
69
+ msg,
70
+ `Run: hive tools search "${toolName}"`
71
+ );
72
+ }
73
+ return new CliError("API_ERROR", msg);
74
+ }
75
+ function suggestSimilarTools(input, toolNames, maxDistance = 3) {
76
+ return toolNames.map((name) => ({ name, dist: distance(input, name) })).filter((entry) => entry.dist <= maxDistance).sort((a, b) => a.dist - b.dist).slice(0, 3).map((entry) => entry.name);
77
+ }
78
+
79
+ export {
80
+ ExitCode,
81
+ ERROR_DOC_URLS,
82
+ CliError,
83
+ classifyError,
84
+ suggestSimilarTools
85
+ };
@@ -0,0 +1,246 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ getClaudeDesktopConfigPath,
4
+ getCursorConfigPath,
5
+ getVscodeConfigPath
6
+ } from "./chunk-4F5CI6LX.js";
7
+ import {
8
+ HIVE_AGENT_SKILLS
9
+ } from "./chunk-VBOKVQ74.js";
10
+
11
+ // src/cli/detect-clients.ts
12
+ import { existsSync } from "fs";
13
+ import { join } from "path";
14
+ import { homedir, platform } from "os";
15
+ function getClaudeCodeConfigPath() {
16
+ return join(homedir(), ".claude.json");
17
+ }
18
+ function getWindsurfConfigPath() {
19
+ return join(homedir(), ".codeium", "windsurf", "mcp_config.json");
20
+ }
21
+ function getGeminiCliConfigPath() {
22
+ return join(homedir(), ".gemini", "settings.json");
23
+ }
24
+ function detectClaudeCode() {
25
+ return existsSync(getClaudeCodeConfigPath()) || existsSync(join(homedir(), ".claude"));
26
+ }
27
+ function detectClaudeDesktop() {
28
+ const configPath = getClaudeDesktopConfigPath();
29
+ if (existsSync(configPath)) return true;
30
+ if (platform() === "darwin") {
31
+ return existsSync(
32
+ join(homedir(), "Library", "Application Support", "Claude")
33
+ );
34
+ }
35
+ if (platform() === "win32") {
36
+ return existsSync(join(homedir(), "AppData", "Roaming", "Claude"));
37
+ }
38
+ return existsSync(join(homedir(), ".config", "Claude"));
39
+ }
40
+ function detectCursor() {
41
+ return existsSync(join(homedir(), ".cursor"));
42
+ }
43
+ function detectVscode() {
44
+ if (existsSync(join(homedir(), ".vscode"))) return true;
45
+ if (platform() === "darwin") {
46
+ return existsSync(
47
+ join(homedir(), "Library", "Application Support", "Code")
48
+ );
49
+ }
50
+ if (platform() === "win32") {
51
+ return existsSync(join(homedir(), "AppData", "Roaming", "Code"));
52
+ }
53
+ return existsSync(join(homedir(), ".config", "Code"));
54
+ }
55
+ function detectWindsurf() {
56
+ return existsSync(join(homedir(), ".codeium", "windsurf"));
57
+ }
58
+ function detectGeminiCli() {
59
+ return existsSync(join(homedir(), ".gemini"));
60
+ }
61
+ function detectClients() {
62
+ const claudeCode = detectClaudeCode();
63
+ const claudeDesktop = detectClaudeDesktop();
64
+ const cursor = detectCursor();
65
+ const vscode = detectVscode();
66
+ const windsurf = detectWindsurf();
67
+ const geminiCli = detectGeminiCli();
68
+ return [
69
+ {
70
+ id: "claude-code",
71
+ name: "Claude Code",
72
+ configPath: getClaudeCodeConfigPath(),
73
+ detected: claudeCode,
74
+ programmable: true,
75
+ hint: claudeCode ? void 0 : "~/.claude or ~/.claude.json not found"
76
+ },
77
+ {
78
+ id: "claude-desktop",
79
+ name: "Claude Desktop",
80
+ configPath: getClaudeDesktopConfigPath(),
81
+ detected: claudeDesktop,
82
+ programmable: true,
83
+ hint: claudeDesktop ? void 0 : "Claude Desktop application directory not found"
84
+ },
85
+ {
86
+ id: "cursor",
87
+ name: "Cursor",
88
+ configPath: getCursorConfigPath(),
89
+ detected: cursor,
90
+ programmable: true,
91
+ hint: cursor ? void 0 : "~/.cursor not found"
92
+ },
93
+ {
94
+ id: "vscode",
95
+ name: "VS Code",
96
+ configPath: getVscodeConfigPath(),
97
+ detected: vscode,
98
+ programmable: true,
99
+ hint: vscode ? void 0 : "VS Code user data dir not found"
100
+ },
101
+ {
102
+ id: "windsurf",
103
+ name: "Windsurf",
104
+ configPath: getWindsurfConfigPath(),
105
+ detected: windsurf,
106
+ programmable: true,
107
+ hint: windsurf ? void 0 : "~/.codeium/windsurf not found"
108
+ },
109
+ {
110
+ id: "gemini-cli",
111
+ name: "Gemini CLI",
112
+ configPath: getGeminiCliConfigPath(),
113
+ detected: geminiCli,
114
+ programmable: true,
115
+ hint: geminiCli ? void 0 : "~/.gemini not found"
116
+ },
117
+ {
118
+ id: "chatgpt-desktop",
119
+ name: "OpenAI / ChatGPT apps",
120
+ configPath: "(app or API setup)",
121
+ detected: false,
122
+ // No reliable filesystem signal — always print instructions
123
+ programmable: false,
124
+ hint: "Direct ChatGPT app connectors are auth-dependent; use OpenAI Responses API or an OAuth-compatible proxy."
125
+ }
126
+ ];
127
+ }
128
+
129
+ // src/cli/skills.ts
130
+ import {
131
+ cpSync,
132
+ existsSync as existsSync2,
133
+ mkdirSync,
134
+ readdirSync,
135
+ rmSync,
136
+ statSync
137
+ } from "fs";
138
+ import { homedir as homedir2 } from "os";
139
+ import { dirname, join as join2, resolve } from "path";
140
+ import { fileURLToPath } from "url";
141
+ var SKILL_PACK_NAMES = HIVE_AGENT_SKILLS.map((skill) => skill.name);
142
+ function getClientSkillsDir(client) {
143
+ switch (client) {
144
+ case "claude-code":
145
+ return join2(homedir2(), ".claude", "skills");
146
+ case "cursor":
147
+ return join2(homedir2(), ".cursor", "skills");
148
+ case "vscode":
149
+ return null;
150
+ case "windsurf":
151
+ return null;
152
+ case "gemini-cli":
153
+ return null;
154
+ case "claude-desktop":
155
+ return join2(homedir2(), ".claude", "skills");
156
+ case "chatgpt-desktop":
157
+ return null;
158
+ }
159
+ }
160
+ function findBundledPacksDir() {
161
+ const override = process.env.HIVE_SKILLS_PACKS_DIR;
162
+ if (override && existsSync2(override) && statSync(override).isDirectory()) {
163
+ return override;
164
+ }
165
+ const here = dirname(fileURLToPath(import.meta.url));
166
+ const candidates = [
167
+ // Compiled (bin/hive-mcp.js -> build/cli/skills.js)
168
+ resolve(here, "..", "..", "agent-skills", "packs"),
169
+ // Source tree (tests / dev mode)
170
+ resolve(here, "..", "..", "agent-skills", "packs"),
171
+ // Single-level dev (when CLI is run from source)
172
+ resolve(here, "..", "agent-skills", "packs"),
173
+ // Process-relative as a last resort
174
+ resolve(process.cwd(), "agent-skills", "packs")
175
+ ];
176
+ for (const candidate of candidates) {
177
+ if (existsSync2(candidate) && statSync(candidate).isDirectory()) {
178
+ return candidate;
179
+ }
180
+ }
181
+ return null;
182
+ }
183
+ function installSkillsForClient(client) {
184
+ const dest = getClientSkillsDir(client);
185
+ if (!dest) {
186
+ return {
187
+ client,
188
+ installed: [],
189
+ skipped: [...SKILL_PACK_NAMES],
190
+ destination: null,
191
+ reason: "Client has no native skills directory \u2014 tools come over MCP"
192
+ };
193
+ }
194
+ const packsRoot = findBundledPacksDir();
195
+ if (!packsRoot) {
196
+ return {
197
+ client,
198
+ installed: [],
199
+ skipped: [...SKILL_PACK_NAMES],
200
+ destination: dest,
201
+ reason: "Bundled skill packs not found \u2014 package install may be incomplete"
202
+ };
203
+ }
204
+ if (!existsSync2(dest)) mkdirSync(dest, { recursive: true });
205
+ const installed = [];
206
+ const skipped = [];
207
+ for (const pack of SKILL_PACK_NAMES) {
208
+ const src = join2(packsRoot, pack);
209
+ if (!existsSync2(src)) {
210
+ skipped.push(pack);
211
+ continue;
212
+ }
213
+ const target = join2(dest, pack);
214
+ if (existsSync2(target)) rmSync(target, { recursive: true, force: true });
215
+ cpSync(src, target, { recursive: true });
216
+ installed.push(pack);
217
+ }
218
+ return { client, installed, skipped, destination: dest };
219
+ }
220
+ function installSkillsForClients(clients) {
221
+ return clients.map(installSkillsForClient);
222
+ }
223
+ function removeSkillsForClient(client) {
224
+ const dest = getClientSkillsDir(client);
225
+ if (!dest || !existsSync2(dest)) {
226
+ return { client, removed: [], destination: dest };
227
+ }
228
+ const removed = [];
229
+ for (const pack of SKILL_PACK_NAMES) {
230
+ const target = join2(dest, pack);
231
+ if (existsSync2(target)) {
232
+ rmSync(target, { recursive: true, force: true });
233
+ removed.push(pack);
234
+ }
235
+ }
236
+ return { client, removed, destination: dest };
237
+ }
238
+ function removeSkillsForClients(clients) {
239
+ return clients.map(removeSkillsForClient);
240
+ }
241
+
242
+ export {
243
+ detectClients,
244
+ installSkillsForClients,
245
+ removeSkillsForClients
246
+ };