hive-intelligence 1.6.3 → 1.7.1

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 (57) hide show
  1. package/README.md +10 -4
  2. package/agent-skills/.claude-plugin/plugin.json +10 -0
  3. package/agent-skills/README.md +2 -0
  4. package/agent-skills/SKILL.md +18 -6
  5. package/agent-skills/evals/trigger-queries.json +70 -0
  6. package/agent-skills/package.json +3 -1
  7. package/agent-skills/packs/hive/SKILL.md +382 -0
  8. package/agent-skills/packs/hive/evals/evals.json +50 -0
  9. package/agent-skills/packs/hive/evals/triggers.json +15 -0
  10. package/agent-skills/packs/hive-build-onboarding/SKILL.md +1 -1
  11. package/agent-skills/packs/hive-cli/SKILL.md +2 -2
  12. package/agent-skills/packs/hive-mcp/SKILL.md +9 -5
  13. package/agent-skills/packs/hive-prediction-markets/SKILL.md +145 -0
  14. package/agent-skills/packs/hive-prediction-markets/evals/evals.json +29 -0
  15. package/agent-skills/packs/hive-prediction-markets/evals/triggers.json +14 -0
  16. package/agent-skills/packs/hive-query/SKILL.md +2 -1
  17. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +3 -3
  18. package/agent-skills/references/agents-routing.md +4 -1
  19. package/agent-skills/scripts/validate-agent-skills-package.mjs +2 -0
  20. package/agent-skills/skills.sh.json +9 -1
  21. package/build/{api-client-6AM3HVHQ.js → api-client-UGNFUZ2L.js} +12 -3
  22. package/build/{auth-4LPSQJXD.js → auth-5TLYP2DC.js} +1 -1
  23. package/build/call-args-NVOYX6DL.js +27 -0
  24. package/build/{chunk-XZJICKAL.js → chunk-2C5FBG7B.js} +4 -3
  25. package/build/{chunk-IJ5KOZH5.js → chunk-3SQPLZW6.js} +42730 -39105
  26. package/build/{chunk-S4HBVZ7O.js → chunk-3Z5VR53Z.js} +36 -7
  27. package/build/{chunk-GADPH72D.js → chunk-4QDGA6GP.js} +52 -1
  28. package/build/{chunk-2SPCKQBJ.js → chunk-5QAXJON7.js} +71 -0
  29. package/build/{chunk-GYVF75XB.js → chunk-FQNW6SZ6.js} +1 -1
  30. package/build/{chunk-LW2DHE32.js → chunk-L4KVJDA7.js} +1 -1
  31. package/build/chunk-POPAEM4E.js +474 -0
  32. package/build/{chunk-P7NLFSZQ.js → chunk-TWYGJEVN.js} +100 -9
  33. package/build/{chunk-32NRUWXA.js → chunk-UPWYFTTJ.js} +3 -3
  34. package/build/{chunk-KUF754NT.js → chunk-WII7MTYZ.js} +52 -12
  35. package/build/chunk-XN3T6YOG.js +32 -0
  36. package/build/chunk-XT6RURQV.js +394 -0
  37. package/build/{chunk-LP5ECG7A.js → chunk-ZDXMZPC6.js} +26 -2
  38. package/build/cli.js +120 -48
  39. package/build/{completion-YVSWWF6D.js → completion-ROZAH667.js} +1 -1
  40. package/build/{doctor-YBCU5FLQ.js → doctor-44WSVNGJ.js} +42 -5
  41. package/build/{errors-EL6UMXNJ.js → errors-W3GXQN34.js} +7 -1
  42. package/build/feedback-FRRLZDAF.js +113 -0
  43. package/build/{init-all-54G3CVZA.js → init-all-LYRFE2YQ.js} +5 -5
  44. package/build/{mcpServer-V4XUSCX7.js → mcpServer-43LTLURB.js} +2 -2
  45. package/build/monitor-worker.js +62 -10
  46. package/build/{namespace-PA2IDNRT.js → namespace-XMFFW47T.js} +1 -1
  47. package/build/{output-XGTE4EWJ.js → output-BBHBJI32.js} +5 -1
  48. package/build/release.json +4 -4
  49. package/build/routing-CP43PP5F.js +43 -0
  50. package/build/{serve-SU67DIY3.js → serve-LTMDRKXS.js} +1 -1
  51. package/build/server.js +295 -41
  52. package/build/stdio.js +2 -2
  53. package/build/{tools-FNPMELSU.js → tools-VA7JXD3K.js} +81 -33
  54. package/build/{uninstall-P3JJZCXT.js → uninstall-3KJLHTNM.js} +26 -7
  55. package/build/{upgrade-ATIFZANV.js → upgrade-3NR3LAGU.js} +2 -2
  56. package/build/{watch-FG2C5Y2Z.js → watch-HJOTI32P.js} +5 -3
  57. package/package.json +1 -1
@@ -1,14 +1,19 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  fetchToolCatalog
4
- } from "./chunk-P7NLFSZQ.js";
4
+ } from "./chunk-TWYGJEVN.js";
5
+ import {
6
+ canonicalParamName,
7
+ describeParameters
8
+ } from "./chunk-XT6RURQV.js";
9
+ import "./chunk-3Z5VR53Z.js";
5
10
  import "./chunk-ZXKFJQDE.js";
6
11
  import {
7
12
  info,
8
13
  shouldOutputJson,
9
14
  successEnvelope,
10
15
  writeOutput
11
- } from "./chunk-LP5ECG7A.js";
16
+ } from "./chunk-ZDXMZPC6.js";
12
17
  import "./chunk-6PC3HUAK.js";
13
18
  import "./chunk-OMO7XLC5.js";
14
19
 
@@ -20,12 +25,9 @@ async function loadToolCatalog() {
20
25
  const response = await fetchToolCatalog();
21
26
  if (!response.ok) {
22
27
  const msg = response.error && typeof response.error === "object" && "message" in response.error ? String(response.error.message) : "Failed to fetch tool catalog";
23
- const { CliError } = await import("./errors-EL6UMXNJ.js");
24
- const { outputError } = await import("./output-XGTE4EWJ.js");
25
- await outputError(
26
- new CliError("API_ERROR", msg, "Check: hive doctor"),
27
- {}
28
- );
28
+ const { CliError } = await import("./errors-W3GXQN34.js");
29
+ const { outputError } = await import("./output-BBHBJI32.js");
30
+ await outputError(new CliError("API_ERROR", msg, "Check: hive doctor"), {});
29
31
  return [];
30
32
  }
31
33
  const data = response.data;
@@ -40,7 +42,7 @@ async function listTools(opts) {
40
42
  tools = tools.filter((t) => t.name.toLowerCase().startsWith(prefix + "_"));
41
43
  }
42
44
  if (opts.category) {
43
- const { NAMESPACE } = await import("./namespace-PA2IDNRT.js");
45
+ const { NAMESPACE } = await import("./namespace-XMFFW47T.js");
44
46
  const cat = opts.category.toLowerCase();
45
47
  const ns = NAMESPACE.find(
46
48
  (d) => d.name === cat || d.description.toLowerCase().includes(cat)
@@ -118,52 +120,96 @@ ${matches.length} matches for "${query}"
118
120
  )
119
121
  );
120
122
  }
121
- async function toolInfo(name) {
123
+ function renderToolInfo(tool, reservedNames, table) {
124
+ const lines = [];
125
+ const schema = tool.inputSchema;
126
+ const rows = describeParameters(schema);
127
+ lines.push("Parameters:");
128
+ if (rows.length === 0) {
129
+ lines.push(" no parameters");
130
+ } else {
131
+ lines.push(
132
+ table(
133
+ ["Name", "Type", "Required", "Enum", "Default", "Description"],
134
+ rows.map((row) => [
135
+ row.name,
136
+ row.type,
137
+ row.required ? "yes" : "",
138
+ row.enumValues.join("|"),
139
+ row.defaultValue,
140
+ row.description
141
+ ])
142
+ )
143
+ );
144
+ for (const row of rows) {
145
+ if (!row.nested) continue;
146
+ lines.push("");
147
+ lines.push(
148
+ `${row.name}: nested schema, pass it as JSON (--${row.name} '<json>' or --args):`
149
+ );
150
+ lines.push(JSON.stringify(row.nested, null, 2));
151
+ }
152
+ const reservedCanonical = new Set(
153
+ [...reservedNames].map(canonicalParamName)
154
+ );
155
+ const viaArgs = rows.map((row) => row.name).filter((n) => reservedCanonical.has(canonicalParamName(n)));
156
+ if (viaArgs.length > 0) {
157
+ lines.push("");
158
+ lines.push(
159
+ `Note: ${viaArgs.join(", ")} share a name with a CLI option; pass them through --args '<json>'.`
160
+ );
161
+ }
162
+ }
163
+ lines.push("");
164
+ if (tool.outputSchema !== void 0 && tool.outputSchema !== null) {
165
+ lines.push("Response schema:");
166
+ lines.push(JSON.stringify(tool.outputSchema, null, 2));
167
+ } else {
168
+ lines.push("no response schema published");
169
+ }
170
+ return lines;
171
+ }
172
+ async function toolInfo(name, reservedNames = /* @__PURE__ */ new Set()) {
122
173
  const allTools = await loadToolCatalog();
123
- const tool = allTools.find((t2) => t2.name === name);
174
+ const tool = allTools.find((t) => t.name === name);
124
175
  if (!tool) {
125
- const { CliError, suggestSimilarTools } = await import("./errors-EL6UMXNJ.js");
126
- const { outputError } = await import("./output-XGTE4EWJ.js");
176
+ const { CliError, suggestSimilarTools } = await import("./errors-W3GXQN34.js");
177
+ const { outputError } = await import("./output-BBHBJI32.js");
127
178
  const similar = suggestSimilarTools(
128
179
  name,
129
- allTools.map((t2) => t2.name)
180
+ allTools.map((t) => t.name)
130
181
  );
131
182
  const suggestion = similar.length > 0 ? `Did you mean: ${similar.join(", ")}?` : `Run: hive tools search "${name}"`;
132
183
  await outputError(
133
184
  new CliError("TOOL_NOT_FOUND", `Tool "${name}" not found`, suggestion),
134
185
  { tool: name }
135
186
  );
187
+ return;
136
188
  }
137
- const t = tool;
138
- const data = {
139
- name: t.name,
140
- title: t.title,
141
- provider: t.provider ?? null,
142
- readOnly: t.annotations?.readOnlyHint ?? null,
143
- description: t.description,
144
- inputSchema: t.inputSchema
145
- };
146
189
  if (shouldOutputJson()) {
190
+ const data = {
191
+ ...tool,
192
+ provider: tool.provider ?? null,
193
+ readOnly: tool.annotations?.readOnlyHint ?? null
194
+ };
147
195
  await writeOutput(successEnvelope(data, { tool: name }));
148
196
  return;
149
197
  }
198
+ const { table } = await import("./format-O2WH35IA.js");
150
199
  info(`
151
- ${t.title ?? t.name}`);
152
- info(`Name: ${t.name}`);
153
- if (t.provider) info(`Provider: ${t.provider}`);
154
- info(`Read-only: ${t.annotations?.readOnlyHint ?? "unknown"}`);
200
+ ${tool.title ?? tool.name}`);
201
+ info(`Name: ${tool.name}`);
202
+ if (tool.provider) info(`Provider: ${tool.provider}`);
203
+ info(`Read-only: ${tool.annotations?.readOnlyHint ?? "unknown"}`);
155
204
  info(`
156
205
  Description:
157
- ${t.description}
206
+ ${tool.description}
158
207
  `);
159
- if (t.inputSchema) {
160
- info("Input Schema:");
161
- info(JSON.stringify(t.inputSchema, null, 2));
162
- }
208
+ for (const line of renderToolInfo(tool, reservedNames, table)) info(line);
163
209
  }
164
210
  async function refreshTools() {
165
211
  const { clearCache } = await import("./cache-IDP4TLKY.js");
166
- const { info: printInfo } = await import("./output-XGTE4EWJ.js");
212
+ const { info: printInfo } = await import("./output-BBHBJI32.js");
167
213
  clearCache();
168
214
  printInfo("Cache cleared. Fetching fresh tool catalog...\n");
169
215
  const tools = await loadToolCatalog();
@@ -172,7 +218,9 @@ async function refreshTools() {
172
218
  }
173
219
  export {
174
220
  listTools,
221
+ loadToolCatalog,
175
222
  refreshTools,
223
+ renderToolInfo,
176
224
  searchTools,
177
225
  toolInfo
178
226
  };
@@ -2,7 +2,10 @@ import { createRequire } from 'node:module'; const require = createRequire(impor
2
2
  import {
3
3
  detectClients,
4
4
  removeSkillsForClients
5
- } from "./chunk-GYVF75XB.js";
5
+ } from "./chunk-FQNW6SZ6.js";
6
+ import {
7
+ removeRecordedRoutingBlocks
8
+ } from "./chunk-POPAEM4E.js";
6
9
  import {
7
10
  removeClaudeCodeUserConfig,
8
11
  removeClaudeDesktopConfig,
@@ -12,13 +15,14 @@ import {
12
15
  removeVscodeConfig,
13
16
  removeWindsurfConfig
14
17
  } from "./chunk-QDZ7MAVN.js";
15
- import "./chunk-GADPH72D.js";
18
+ import "./chunk-3Z5VR53Z.js";
19
+ import "./chunk-4QDGA6GP.js";
16
20
  import {
17
21
  bold,
18
22
  dim,
19
23
  green,
20
24
  yellow
21
- } from "./chunk-LP5ECG7A.js";
25
+ } from "./chunk-ZDXMZPC6.js";
22
26
  import "./chunk-6PC3HUAK.js";
23
27
  import "./chunk-OMO7XLC5.js";
24
28
 
@@ -48,6 +52,7 @@ async function runUninstall(opts = {}) {
48
52
  const summary = {
49
53
  cleaned: [],
50
54
  skills: [],
55
+ routing: [],
51
56
  dryRun: Boolean(opts.dryRun)
52
57
  };
53
58
  if (!opts.json) {
@@ -66,7 +71,11 @@ async function runUninstall(opts = {}) {
66
71
  }
67
72
  if (summary.dryRun) {
68
73
  info(`Would clean ${c.configPath}`);
69
- summary.cleaned.push({ client: c.id, path: c.configPath, removed: false });
74
+ summary.cleaned.push({
75
+ client: c.id,
76
+ path: c.configPath,
77
+ removed: false
78
+ });
70
79
  clientIds.push(c.id);
71
80
  continue;
72
81
  }
@@ -87,9 +96,7 @@ async function runUninstall(opts = {}) {
87
96
  }
88
97
  clientIds.push(c.id);
89
98
  } catch (err) {
90
- warn(
91
- `${c.name} failed: ${err instanceof Error ? err.message : err}`
92
- );
99
+ warn(`${c.name} failed: ${err instanceof Error ? err.message : err}`);
93
100
  }
94
101
  }
95
102
  if (!opts.json) w(bold("\nRemoving skill packs"));
@@ -105,6 +112,18 @@ async function runUninstall(opts = {}) {
105
112
  }
106
113
  }
107
114
  }
115
+ if (!opts.json) w(bold("\nRemoving routing blocks"));
116
+ for (const r of removeRecordedRoutingBlocks({ dryRun: summary.dryRun })) {
117
+ const { content: _content, exitCode: _exitCode, ...rest } = r;
118
+ summary.routing.push(rest);
119
+ if (opts.json) continue;
120
+ if (r.status === "removed" || r.status === "dry-run") ok(r.message);
121
+ else if (r.status === "refused") warn(r.message);
122
+ else info(r.message);
123
+ }
124
+ if (!opts.json && summary.routing.length === 0) {
125
+ info("No routing blocks recorded");
126
+ }
108
127
  if (opts.json) {
109
128
  process.stdout.write(JSON.stringify(summary, null, 2) + "\n");
110
129
  } else {
@@ -2,10 +2,10 @@ import { createRequire } from 'node:module'; const require = createRequire(impor
2
2
  import {
3
3
  detectInstallMode,
4
4
  runUpgrade
5
- } from "./chunk-LW2DHE32.js";
5
+ } from "./chunk-L4KVJDA7.js";
6
6
  import "./chunk-M6REON2I.js";
7
7
  import "./chunk-ZXKFJQDE.js";
8
- import "./chunk-LP5ECG7A.js";
8
+ import "./chunk-ZDXMZPC6.js";
9
9
  import "./chunk-6PC3HUAK.js";
10
10
  import "./chunk-OMO7XLC5.js";
11
11
  export {
@@ -1,12 +1,14 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  executeTool
4
- } from "./chunk-KUF754NT.js";
5
- import "./chunk-P7NLFSZQ.js";
4
+ } from "./chunk-WII7MTYZ.js";
5
+ import "./chunk-XN3T6YOG.js";
6
+ import "./chunk-TWYGJEVN.js";
6
7
  import "./chunk-RU6QOFHH.js";
8
+ import "./chunk-3Z5VR53Z.js";
7
9
  import "./chunk-EPF36Q3Z.js";
8
10
  import "./chunk-ZXKFJQDE.js";
9
- import "./chunk-LP5ECG7A.js";
11
+ import "./chunk-ZDXMZPC6.js";
10
12
  import "./chunk-6PC3HUAK.js";
11
13
  import "./chunk-OMO7XLC5.js";
12
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hive-intelligence",
3
- "version": "1.6.3",
3
+ "version": "1.7.1",
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",