hive-intelligence 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/agent-skills/packs/hive/SKILL.md +45 -23
- package/agent-skills/packs/hive/evals/triggers.json +32 -8
- package/agent-skills/packs/hive-query/SKILL.md +2 -1
- package/build/{api-client-UGNFUZ2L.js → api-client-POBN6Y5S.js} +2 -2
- package/build/{auth-5TLYP2DC.js → auth-6XVL5CE3.js} +1 -1
- package/build/{call-args-NVOYX6DL.js → call-args-BUB6YNHW.js} +2 -2
- package/build/{chunk-POPAEM4E.js → chunk-APBLB62S.js} +1 -1
- package/build/{chunk-XT6RURQV.js → chunk-AZFOTKS2.js} +1 -1
- package/build/{chunk-UPWYFTTJ.js → chunk-KQVPKTEO.js} +2 -2
- package/build/{chunk-3SQPLZW6.js → chunk-LP7PDQCO.js} +18008 -17820
- package/build/{chunk-TWYGJEVN.js → chunk-RNVZIPNY.js} +1 -1
- package/build/{chunk-WII7MTYZ.js → chunk-YLHNUAFT.js} +2 -2
- package/build/{chunk-2C5FBG7B.js → chunk-ZBMMJ6LE.js} +1 -1
- package/build/{chunk-3Z5VR53Z.js → chunk-ZSPPJW4G.js} +9 -1
- package/build/cli.js +27 -27
- package/build/{doctor-44WSVNGJ.js → doctor-KPYW2U7D.js} +4 -4
- package/build/{errors-W3GXQN34.js → errors-YQAVCXXO.js} +3 -1
- package/build/{feedback-FRRLZDAF.js → feedback-G2DFCCI6.js} +2 -2
- package/build/{init-all-LYRFE2YQ.js → init-all-JXLG7LOX.js} +1 -1
- package/build/{mcpServer-43LTLURB.js → mcpServer-SUDGFNIF.js} +1 -1
- package/build/monitor-worker.js +2 -2
- package/build/release.json +4 -4
- package/build/{routing-CP43PP5F.js → routing-4VKAVRYR.js} +2 -2
- package/build/{serve-LTMDRKXS.js → serve-BYC3LRLN.js} +1 -1
- package/build/server.js +27 -5
- package/build/stdio.js +1 -1
- package/build/{tools-VA7JXD3K.js → tools-NJQPIJ53.js} +5 -5
- package/build/{uninstall-3KJLHTNM.js → uninstall-4TJ4SZLU.js} +2 -2
- package/build/{watch-HJOTI32P.js → watch-BUSEPVDM.js} +3 -3
- package/package.json +1 -1
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-XN3T6YOG.js";
|
|
5
5
|
import {
|
|
6
6
|
executeRemoteTool
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RNVZIPNY.js";
|
|
8
8
|
import {
|
|
9
9
|
trackCommand
|
|
10
10
|
} from "./chunk-RU6QOFHH.js";
|
|
11
11
|
import {
|
|
12
12
|
ExitCode
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZSPPJW4G.js";
|
|
14
14
|
import {
|
|
15
15
|
debug,
|
|
16
16
|
dim,
|
|
@@ -39,7 +39,14 @@ var ERROR_CODE_TO_EXIT = {
|
|
|
39
39
|
QUOTA_EXCEEDED: ExitCode.RATE_LIMITED,
|
|
40
40
|
FEEDBACK_RATE_LIMITED: ExitCode.RATE_LIMITED,
|
|
41
41
|
// Account state, not a cap: there is no reset time and retrying cannot help.
|
|
42
|
-
NO_WALLET: ExitCode.API_ERROR
|
|
42
|
+
NO_WALLET: ExitCode.API_ERROR,
|
|
43
|
+
// Credential rejected: same class as AUTH_REQUIRED, because the fix is the
|
|
44
|
+
// key, not the call.
|
|
45
|
+
UNAUTHORIZED: ExitCode.AUTH_FAILURE,
|
|
46
|
+
INVALID_API_KEY: ExitCode.AUTH_FAILURE,
|
|
47
|
+
// The server answered, the call failed there.
|
|
48
|
+
TOOL_ERROR: ExitCode.API_ERROR,
|
|
49
|
+
INTERNAL_ERROR: ExitCode.API_ERROR
|
|
43
50
|
};
|
|
44
51
|
var ERROR_DOCS_BASE = "https://www.hiveintelligence.xyz/errors#";
|
|
45
52
|
function errorDocSlug(code) {
|
|
@@ -109,6 +116,7 @@ function suggestSimilarTools(input, toolNames, maxDistance = 3) {
|
|
|
109
116
|
export {
|
|
110
117
|
ExitCode,
|
|
111
118
|
NEVER_RETRY_ERROR_CODES,
|
|
119
|
+
ERROR_CODE_TO_EXIT,
|
|
112
120
|
errorDocSlug,
|
|
113
121
|
ERROR_DOC_URLS,
|
|
114
122
|
isCliErrorCode,
|
package/build/cli.js
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
executeTool
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YLHNUAFT.js";
|
|
6
6
|
import "./chunk-XN3T6YOG.js";
|
|
7
7
|
import {
|
|
8
8
|
NAMESPACE
|
|
9
9
|
} from "./chunk-5QAXJON7.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-RNVZIPNY.js";
|
|
11
11
|
import "./chunk-RU6QOFHH.js";
|
|
12
12
|
import {
|
|
13
13
|
ALWAYS_RESERVED_OPTIONS,
|
|
14
14
|
parseFlagTokens,
|
|
15
15
|
reservedOptionNames
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-AZFOTKS2.js";
|
|
17
17
|
import {
|
|
18
18
|
ExitCode
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZSPPJW4G.js";
|
|
20
20
|
import {
|
|
21
21
|
checkForUpdates
|
|
22
22
|
} from "./chunk-M6REON2I.js";
|
|
@@ -3453,7 +3453,7 @@ program2.hook("preAction", (thisCommand) => {
|
|
|
3453
3453
|
setCliFlags({ apiKey: opts.apiKey, noRetry: opts.retry === false });
|
|
3454
3454
|
});
|
|
3455
3455
|
program2.action(async () => {
|
|
3456
|
-
const { startStdio } = await import("./serve-
|
|
3456
|
+
const { startStdio } = await import("./serve-BYC3LRLN.js");
|
|
3457
3457
|
await startStdio(program2.opts().envFile);
|
|
3458
3458
|
});
|
|
3459
3459
|
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) => {
|
|
@@ -3466,10 +3466,10 @@ program2.command("serve").description("Start the MCP server").option("--http", "
|
|
|
3466
3466
|
);
|
|
3467
3467
|
process.exit(ExitCode.INVALID_ARGS);
|
|
3468
3468
|
}
|
|
3469
|
-
const { startHttp } = await import("./serve-
|
|
3469
|
+
const { startHttp } = await import("./serve-BYC3LRLN.js");
|
|
3470
3470
|
await startHttp(port, program2.opts().envFile);
|
|
3471
3471
|
} else {
|
|
3472
|
-
const { startStdio } = await import("./serve-
|
|
3472
|
+
const { startStdio } = await import("./serve-BYC3LRLN.js");
|
|
3473
3473
|
await startStdio(program2.opts().envFile);
|
|
3474
3474
|
}
|
|
3475
3475
|
});
|
|
@@ -3556,15 +3556,15 @@ for (const domain of NAMESPACE) {
|
|
|
3556
3556
|
}
|
|
3557
3557
|
var toolsCmd = program2.command("tools").description("Discover and execute tools");
|
|
3558
3558
|
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) => {
|
|
3559
|
-
const { listTools } = await import("./tools-
|
|
3559
|
+
const { listTools } = await import("./tools-NJQPIJ53.js");
|
|
3560
3560
|
await listTools(opts);
|
|
3561
3561
|
});
|
|
3562
3562
|
toolsCmd.command("search <query>").description("Search tools by name or description").action(async (query) => {
|
|
3563
|
-
const { searchTools } = await import("./tools-
|
|
3563
|
+
const { searchTools } = await import("./tools-NJQPIJ53.js");
|
|
3564
3564
|
await searchTools(query);
|
|
3565
3565
|
});
|
|
3566
3566
|
toolsCmd.command("info <name>").description("Show a tool's parameters, response schema, and description").action(async (name) => {
|
|
3567
|
-
const { toolInfo } = await import("./tools-
|
|
3567
|
+
const { toolInfo } = await import("./tools-NJQPIJ53.js");
|
|
3568
3568
|
await toolInfo(name, RESERVED_OPTION_NAMES);
|
|
3569
3569
|
});
|
|
3570
3570
|
toolsCmd.command("call <name>").description("Execute a tool by name").option("--args <json>", "Tool arguments as JSON (or pipe JSON via stdin)").allowUnknownOption(true).allowExcessArguments(true).addHelpText(
|
|
@@ -3586,8 +3586,8 @@ Examples:
|
|
|
3586
3586
|
$ hive tools call get_price --args '{"ids":"bitcoin","vs_currencies":"usd"}'
|
|
3587
3587
|
$ echo '{"ids":"bitcoin"}' | hive tools call get_price`
|
|
3588
3588
|
).action(async (_name, opts, cmd) => {
|
|
3589
|
-
const { planToolCall } = await import("./call-args-
|
|
3590
|
-
const { CliError } = await import("./errors-
|
|
3589
|
+
const { planToolCall } = await import("./call-args-BUB6YNHW.js");
|
|
3590
|
+
const { CliError } = await import("./errors-YQAVCXXO.js");
|
|
3591
3591
|
const { outputError } = await import("./output-BBHBJI32.js");
|
|
3592
3592
|
const tokens = cmd.args;
|
|
3593
3593
|
let stdinJson;
|
|
@@ -3604,7 +3604,7 @@ Examples:
|
|
|
3604
3604
|
stdinJson,
|
|
3605
3605
|
reservedNames: RESERVED_OPTION_NAMES,
|
|
3606
3606
|
lookupSchema: async (toolName) => {
|
|
3607
|
-
const { loadToolCatalog } = await import("./tools-
|
|
3607
|
+
const { loadToolCatalog } = await import("./tools-NJQPIJ53.js");
|
|
3608
3608
|
const catalog = await loadToolCatalog();
|
|
3609
3609
|
return catalog.find((t) => t.name === toolName)?.inputSchema;
|
|
3610
3610
|
}
|
|
@@ -3622,7 +3622,7 @@ Examples:
|
|
|
3622
3622
|
await executeTool(plan.toolName, plan.args, timeout);
|
|
3623
3623
|
});
|
|
3624
3624
|
toolsCmd.command("refresh").description("Force-refresh the tool catalog cache").action(async () => {
|
|
3625
|
-
const { refreshTools } = await import("./tools-
|
|
3625
|
+
const { refreshTools } = await import("./tools-NJQPIJ53.js");
|
|
3626
3626
|
await refreshTools();
|
|
3627
3627
|
});
|
|
3628
3628
|
var configCmd = program2.command("config").description("Generate configuration for MCP clients");
|
|
@@ -3681,7 +3681,7 @@ program2.command("init").description(
|
|
|
3681
3681
|
await runSetup();
|
|
3682
3682
|
return;
|
|
3683
3683
|
}
|
|
3684
|
-
const { runInitAll } = await import("./init-all-
|
|
3684
|
+
const { runInitAll } = await import("./init-all-JXLG7LOX.js");
|
|
3685
3685
|
const exitCode = await runInitAll({
|
|
3686
3686
|
all: Boolean(opts.all),
|
|
3687
3687
|
browser: Boolean(opts.browser),
|
|
@@ -3699,7 +3699,7 @@ program2.command("uninstall").description(
|
|
|
3699
3699
|
"--all",
|
|
3700
3700
|
"Clean every known client (default; explicit flag for symmetry with `init --all`)"
|
|
3701
3701
|
).option("--dry-run", "Preview removals without changing anything").action(async (opts) => {
|
|
3702
|
-
const { runUninstall } = await import("./uninstall-
|
|
3702
|
+
const { runUninstall } = await import("./uninstall-4TJ4SZLU.js");
|
|
3703
3703
|
const exitCode = await runUninstall({
|
|
3704
3704
|
all: opts.all !== false,
|
|
3705
3705
|
dryRun: Boolean(opts.dryRun),
|
|
@@ -3714,7 +3714,7 @@ for (const action of ["install", "decline", "remove"]) {
|
|
|
3714
3714
|
routingCmd.command(action).description(
|
|
3715
3715
|
action === "install" ? "Append the Hive routing block (AGENTS.md preferred over CLAUDE.md)" : action === "decline" ? "Record that this project does not want the routing block" : "Remove the routing block and restore the file's original bytes"
|
|
3716
3716
|
).option("--file <name>", "Target file: AGENTS.md or CLAUDE.md").option("--dry-run", "Print the resulting file; write nothing").option("--create", "Create the target file when it does not exist").action(async (opts) => {
|
|
3717
|
-
const { runRouting } = await import("./routing-
|
|
3717
|
+
const { runRouting } = await import("./routing-4VKAVRYR.js");
|
|
3718
3718
|
const exitCode = await runRouting(action, {
|
|
3719
3719
|
file: opts.file,
|
|
3720
3720
|
dryRun: Boolean(opts.dryRun),
|
|
@@ -3730,11 +3730,11 @@ program2.command("feedback <message>").description(
|
|
|
3730
3730
|
"--receipt <id>",
|
|
3731
3731
|
"Receipt ID (defaults to the last successful call's receipt)"
|
|
3732
3732
|
).action(async (message, opts) => {
|
|
3733
|
-
const { runFeedback } = await import("./feedback-
|
|
3733
|
+
const { runFeedback } = await import("./feedback-G2DFCCI6.js");
|
|
3734
3734
|
await runFeedback(message, { tool: opts.tool, receipt: opts.receipt });
|
|
3735
3735
|
});
|
|
3736
3736
|
program2.command("doctor").description("Diagnose environment and server connectivity").option("--probe", "Run live API probes (slower)").action(async (opts) => {
|
|
3737
|
-
const { runDoctor } = await import("./doctor-
|
|
3737
|
+
const { runDoctor } = await import("./doctor-KPYW2U7D.js");
|
|
3738
3738
|
await runDoctor(opts);
|
|
3739
3739
|
});
|
|
3740
3740
|
program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
|
|
@@ -3758,31 +3758,31 @@ program2.command("keys").description("Retired \u2014 manage API keys in the dash
|
|
|
3758
3758
|
});
|
|
3759
3759
|
var authCmd = program2.command("auth").description("Manage authentication profiles");
|
|
3760
3760
|
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) => {
|
|
3761
|
-
const { runLogin } = await import("./auth-
|
|
3761
|
+
const { runLogin } = await import("./auth-6XVL5CE3.js");
|
|
3762
3762
|
await runLogin(opts);
|
|
3763
3763
|
});
|
|
3764
3764
|
authCmd.command("logout").description("Remove stored credentials").action(async () => {
|
|
3765
|
-
const { runLogout } = await import("./auth-
|
|
3765
|
+
const { runLogout } = await import("./auth-6XVL5CE3.js");
|
|
3766
3766
|
await runLogout();
|
|
3767
3767
|
});
|
|
3768
3768
|
authCmd.command("whoami").description("Show current profile").action(async () => {
|
|
3769
|
-
const { runWhoami } = await import("./auth-
|
|
3769
|
+
const { runWhoami } = await import("./auth-6XVL5CE3.js");
|
|
3770
3770
|
await runWhoami();
|
|
3771
3771
|
});
|
|
3772
3772
|
authCmd.command("profiles").description("List all profiles").action(async () => {
|
|
3773
|
-
const { runProfiles } = await import("./auth-
|
|
3773
|
+
const { runProfiles } = await import("./auth-6XVL5CE3.js");
|
|
3774
3774
|
await runProfiles();
|
|
3775
3775
|
});
|
|
3776
3776
|
authCmd.command("switch <name>").description("Switch active profile").action(async (name) => {
|
|
3777
|
-
const { runSwitch } = await import("./auth-
|
|
3777
|
+
const { runSwitch } = await import("./auth-6XVL5CE3.js");
|
|
3778
3778
|
await runSwitch(name);
|
|
3779
3779
|
});
|
|
3780
3780
|
program2.command("usage").description("Show your API usage and plan limits").action(async () => {
|
|
3781
|
-
const { runUsage } = await import("./auth-
|
|
3781
|
+
const { runUsage } = await import("./auth-6XVL5CE3.js");
|
|
3782
3782
|
await runUsage();
|
|
3783
3783
|
});
|
|
3784
3784
|
program2.command("status").description("Quick health and version check").action(async () => {
|
|
3785
|
-
const { runStatus } = await import("./doctor-
|
|
3785
|
+
const { runStatus } = await import("./doctor-KPYW2U7D.js");
|
|
3786
3786
|
await runStatus();
|
|
3787
3787
|
});
|
|
3788
3788
|
program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
|
|
@@ -3813,7 +3813,7 @@ program2.command("watch <domain> <command>").description("Poll a tool on interva
|
|
|
3813
3813
|
}
|
|
3814
3814
|
const interval = parseInt(opts.interval, 10);
|
|
3815
3815
|
const timeout = parseInt(program2.opts().timeout, 10);
|
|
3816
|
-
const { runWatch } = await import("./watch-
|
|
3816
|
+
const { runWatch } = await import("./watch-BUSEPVDM.js");
|
|
3817
3817
|
await runWatch(cmdDef.tool, args, interval, timeout);
|
|
3818
3818
|
});
|
|
3819
3819
|
var aliasCmd = program2.command("alias").description("Manage command aliases");
|
|
@@ -2,8 +2,8 @@ import { createRequire } from 'node:module'; const require = createRequire(impor
|
|
|
2
2
|
import {
|
|
3
3
|
fetchToolCatalog,
|
|
4
4
|
getAnonQuota
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-RNVZIPNY.js";
|
|
6
|
+
import "./chunk-ZSPPJW4G.js";
|
|
7
7
|
import "./chunk-ZXKFJQDE.js";
|
|
8
8
|
import {
|
|
9
9
|
debug,
|
|
@@ -240,9 +240,9 @@ ${fails === 0 ? "All checks passed" : `${fails} issues found`}${warns ? ` (${war
|
|
|
240
240
|
if (fails > 0) process.exit(1);
|
|
241
241
|
}
|
|
242
242
|
async function runStatus() {
|
|
243
|
-
const { SERVER_VERSION } = await import("./mcpServer-
|
|
243
|
+
const { SERVER_VERSION } = await import("./mcpServer-SUDGFNIF.js");
|
|
244
244
|
const { resolveApiKey, resolveApiUrl } = await import("./config-dir-2QLA5PXD.js");
|
|
245
|
-
const { getActiveProfile, maskKey } = await import("./auth-
|
|
245
|
+
const { getActiveProfile, maskKey } = await import("./auth-6XVL5CE3.js");
|
|
246
246
|
const apiUrl = resolveApiUrl();
|
|
247
247
|
const apiKey = resolveApiKey();
|
|
248
248
|
const profile = getActiveProfile();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
CliError,
|
|
4
|
+
ERROR_CODE_TO_EXIT,
|
|
4
5
|
ERROR_DOC_URLS,
|
|
5
6
|
ExitCode,
|
|
6
7
|
NEVER_RETRY_ERROR_CODES,
|
|
@@ -8,10 +9,11 @@ import {
|
|
|
8
9
|
errorDocSlug,
|
|
9
10
|
isCliErrorCode,
|
|
10
11
|
suggestSimilarTools
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZSPPJW4G.js";
|
|
12
13
|
import "./chunk-OMO7XLC5.js";
|
|
13
14
|
export {
|
|
14
15
|
CliError,
|
|
16
|
+
ERROR_CODE_TO_EXIT,
|
|
15
17
|
ERROR_DOC_URLS,
|
|
16
18
|
ExitCode,
|
|
17
19
|
NEVER_RETRY_ERROR_CODES,
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-XN3T6YOG.js";
|
|
5
5
|
import {
|
|
6
6
|
postFeedback
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RNVZIPNY.js";
|
|
8
8
|
import {
|
|
9
9
|
CliError,
|
|
10
10
|
isCliErrorCode
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZSPPJW4G.js";
|
|
12
12
|
import {
|
|
13
13
|
SERVER_VERSION
|
|
14
14
|
} from "./chunk-ZXKFJQDE.js";
|
package/build/monitor-worker.js
CHANGED
|
@@ -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-
|
|
5
|
+
} from "./chunk-ZBMMJ6LE.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-
|
|
18
|
+
} from "./chunk-LP7PDQCO.js";
|
|
19
19
|
import "./chunk-4QDGA6GP.js";
|
|
20
20
|
import "./chunk-EPF36Q3Z.js";
|
|
21
21
|
import "./chunk-ZXKFJQDE.js";
|
package/build/release.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "hive-intelligence",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"buildSha": "
|
|
5
|
-
"imageDigest": "sha256:
|
|
3
|
+
"version": "1.7.2",
|
|
4
|
+
"buildSha": "773fca30dab62a5867c2e5f5b8f2682644c6d83c",
|
|
5
|
+
"imageDigest": "sha256:df5f30570b15c986a618bc56f8bd0445c8d4cc0a0f61b449bcbff882bf0710cf",
|
|
6
6
|
"deployedUrl": "https://mcp.hiveintelligence.xyz",
|
|
7
|
-
"manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.7.
|
|
7
|
+
"manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.7.2/releases/v1.7.2.json"
|
|
8
8
|
}
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
renderRoutingBlock,
|
|
18
18
|
runRouting,
|
|
19
19
|
stripRoutingBlock
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-APBLB62S.js";
|
|
21
|
+
import "./chunk-ZSPPJW4G.js";
|
|
22
22
|
import "./chunk-ZDXMZPC6.js";
|
|
23
23
|
import "./chunk-6PC3HUAK.js";
|
|
24
24
|
import "./chunk-OMO7XLC5.js";
|
|
@@ -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-
|
|
10
|
+
const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-SUDGFNIF.js");
|
|
11
11
|
const { getPendingUpdateVersion } = await import("./update-check-36QU6PKA.js");
|
|
12
12
|
const transport = new StdioServerTransport();
|
|
13
13
|
const pendingUpdate = getPendingUpdateVersion();
|
package/build/server.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
ensureWallet,
|
|
7
7
|
executeToolByName,
|
|
8
8
|
getWalletStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZBMMJ6LE.js";
|
|
10
10
|
import {
|
|
11
11
|
CategoryEndpoints,
|
|
12
12
|
HERO_TOOL_NAMES,
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
createHiveMcpServer,
|
|
35
35
|
createOAuthStore,
|
|
36
36
|
createToolNotFoundResult,
|
|
37
|
+
describeErrorCode,
|
|
37
38
|
endpointAllowedForInvoker,
|
|
38
39
|
errorDocUrl,
|
|
39
40
|
executeEndpoint,
|
|
@@ -101,7 +102,7 @@ import {
|
|
|
101
102
|
validateEndpointArgs,
|
|
102
103
|
verifyApiKey,
|
|
103
104
|
waitForRedisAvailability
|
|
104
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-LP7PDQCO.js";
|
|
105
106
|
import {
|
|
106
107
|
HIVE_AGENT_SKILLS
|
|
107
108
|
} from "./chunk-4QDGA6GP.js";
|
|
@@ -768,6 +769,10 @@ import RedisStore from "rate-limit-redis";
|
|
|
768
769
|
|
|
769
770
|
// src/utils/api-errors.ts
|
|
770
771
|
function apiError(type, code, message, opts) {
|
|
772
|
+
const known = describeErrorCode(code);
|
|
773
|
+
const cause = opts?.cause ?? known?.meaning;
|
|
774
|
+
const nextAction = opts?.next_action ?? known?.nextAction;
|
|
775
|
+
const retryable = opts?.retryable ?? known?.retryable;
|
|
771
776
|
return {
|
|
772
777
|
ok: false,
|
|
773
778
|
error: {
|
|
@@ -776,9 +781,9 @@ function apiError(type, code, message, opts) {
|
|
|
776
781
|
message,
|
|
777
782
|
...opts?.param && { param: opts.param },
|
|
778
783
|
...opts?.requestId && { request_id: opts.requestId },
|
|
779
|
-
...
|
|
780
|
-
...
|
|
781
|
-
...
|
|
784
|
+
...cause && { cause },
|
|
785
|
+
...nextAction && { next_action: nextAction },
|
|
786
|
+
...retryable !== void 0 && { retryable },
|
|
782
787
|
...opts?.retry_after !== void 0 && { retry_after: opts.retry_after },
|
|
783
788
|
doc_url: errorDocUrl(code)
|
|
784
789
|
}
|
|
@@ -7196,6 +7201,15 @@ function classifyAnonymousMcpRequest(body) {
|
|
|
7196
7201
|
}
|
|
7197
7202
|
return getMcpCreditCost(exposedToolName) === 0 ? "open" : "material";
|
|
7198
7203
|
}
|
|
7204
|
+
function anonymousPaywallToolName(body) {
|
|
7205
|
+
const params = body?.params;
|
|
7206
|
+
const name = typeof params?.name === "string" ? params.name : void 0;
|
|
7207
|
+
if (name !== "invoke_api_endpoint" && name !== "invoke_stateful_endpoint") {
|
|
7208
|
+
return name;
|
|
7209
|
+
}
|
|
7210
|
+
const target = params?.arguments?.endpoint;
|
|
7211
|
+
return typeof target === "string" ? target : name;
|
|
7212
|
+
}
|
|
7199
7213
|
async function authorizeAnonymousMcpRequest(req) {
|
|
7200
7214
|
const access = classifyAnonymousMcpRequest(req.body);
|
|
7201
7215
|
if (access === "auth_required") return { kind: "require_auth" };
|
|
@@ -7466,6 +7480,13 @@ function createStatelessMcpHandler(scope) {
|
|
|
7466
7480
|
id: req.body?.id ?? null
|
|
7467
7481
|
});
|
|
7468
7482
|
return;
|
|
7483
|
+
} else if (decision.kind === "require_auth") {
|
|
7484
|
+
recordPaywall(req, {
|
|
7485
|
+
code: "ANON_AUTH_REQUIRED",
|
|
7486
|
+
authLane: "anonymous",
|
|
7487
|
+
transport: "mcp",
|
|
7488
|
+
toolName: anonymousPaywallToolName(req.body)
|
|
7489
|
+
});
|
|
7469
7490
|
}
|
|
7470
7491
|
}
|
|
7471
7492
|
if (!auth.ok && !anonymousLane) {
|
|
@@ -8789,6 +8810,7 @@ if (isMainModule()) {
|
|
|
8789
8810
|
}
|
|
8790
8811
|
var server_default = app;
|
|
8791
8812
|
export {
|
|
8813
|
+
anonymousPaywallToolName,
|
|
8792
8814
|
buildMcpQuotaExhaustedCopy,
|
|
8793
8815
|
classifyAnonymousMcpRequest,
|
|
8794
8816
|
createHttpApp,
|
package/build/stdio.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
fetchToolCatalog
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RNVZIPNY.js";
|
|
5
5
|
import {
|
|
6
6
|
canonicalParamName,
|
|
7
7
|
describeParameters
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-AZFOTKS2.js";
|
|
9
|
+
import "./chunk-ZSPPJW4G.js";
|
|
10
10
|
import "./chunk-ZXKFJQDE.js";
|
|
11
11
|
import {
|
|
12
12
|
info,
|
|
@@ -25,7 +25,7 @@ async function loadToolCatalog() {
|
|
|
25
25
|
const response = await fetchToolCatalog();
|
|
26
26
|
if (!response.ok) {
|
|
27
27
|
const msg = response.error && typeof response.error === "object" && "message" in response.error ? String(response.error.message) : "Failed to fetch tool catalog";
|
|
28
|
-
const { CliError } = await import("./errors-
|
|
28
|
+
const { CliError } = await import("./errors-YQAVCXXO.js");
|
|
29
29
|
const { outputError } = await import("./output-BBHBJI32.js");
|
|
30
30
|
await outputError(new CliError("API_ERROR", msg, "Check: hive doctor"), {});
|
|
31
31
|
return [];
|
|
@@ -173,7 +173,7 @@ async function toolInfo(name, reservedNames = /* @__PURE__ */ new Set()) {
|
|
|
173
173
|
const allTools = await loadToolCatalog();
|
|
174
174
|
const tool = allTools.find((t) => t.name === name);
|
|
175
175
|
if (!tool) {
|
|
176
|
-
const { CliError, suggestSimilarTools } = await import("./errors-
|
|
176
|
+
const { CliError, suggestSimilarTools } = await import("./errors-YQAVCXXO.js");
|
|
177
177
|
const { outputError } = await import("./output-BBHBJI32.js");
|
|
178
178
|
const similar = suggestSimilarTools(
|
|
179
179
|
name,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-FQNW6SZ6.js";
|
|
6
6
|
import {
|
|
7
7
|
removeRecordedRoutingBlocks
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-APBLB62S.js";
|
|
9
9
|
import {
|
|
10
10
|
removeClaudeCodeUserConfig,
|
|
11
11
|
removeClaudeDesktopConfig,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
removeVscodeConfig,
|
|
16
16
|
removeWindsurfConfig
|
|
17
17
|
} from "./chunk-QDZ7MAVN.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-ZSPPJW4G.js";
|
|
19
19
|
import "./chunk-4QDGA6GP.js";
|
|
20
20
|
import {
|
|
21
21
|
bold,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
executeTool
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YLHNUAFT.js";
|
|
5
5
|
import "./chunk-XN3T6YOG.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-RNVZIPNY.js";
|
|
7
7
|
import "./chunk-RU6QOFHH.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-ZSPPJW4G.js";
|
|
9
9
|
import "./chunk-EPF36Q3Z.js";
|
|
10
10
|
import "./chunk-ZXKFJQDE.js";
|
|
11
11
|
import "./chunk-ZDXMZPC6.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hive-intelligence",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Evidence-backed crypto due diligence for AI agents, with sources, freshness, and a runtime receipt on every call.",
|
|
5
5
|
"mcpName": "xyz.hiveintelligence/mcp",
|
|
6
6
|
"type": "module",
|