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.
- package/LICENSE +12 -10
- package/README.md +325 -351
- package/agent-skills/.claude-plugin/plugin.json +111 -0
- package/agent-skills/.mcp.json +11 -0
- package/agent-skills/AGENTS.md +37 -0
- package/agent-skills/LICENSE +21 -0
- package/agent-skills/README.md +145 -0
- package/agent-skills/SKILL.md +80 -0
- package/agent-skills/evals/README.md +20 -0
- package/agent-skills/evals/trigger-queries.json +464 -0
- package/agent-skills/package.json +49 -0
- package/agent-skills/packs/hive-build/SKILL.md +328 -0
- package/agent-skills/packs/hive-build/evals/evals.json +28 -0
- package/agent-skills/packs/hive-build-onboarding/SKILL.md +137 -0
- package/agent-skills/packs/hive-build-onboarding/evals/evals.json +27 -0
- package/agent-skills/packs/hive-cli/SKILL.md +141 -0
- package/agent-skills/packs/hive-cli/evals/evals.json +27 -0
- package/agent-skills/packs/hive-defi-research/SKILL.md +42 -0
- package/agent-skills/packs/hive-defi-research/evals/evals.json +27 -0
- package/agent-skills/packs/hive-defi-research/references/workflow.md +41 -0
- package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +41 -0
- package/agent-skills/packs/hive-dex-pool-analysis/evals/evals.json +27 -0
- package/agent-skills/packs/hive-dex-pool-analysis/references/workflow.md +42 -0
- package/agent-skills/packs/hive-market-research/SKILL.md +45 -0
- package/agent-skills/packs/hive-market-research/evals/evals.json +27 -0
- package/agent-skills/packs/hive-market-research/references/workflow.md +47 -0
- package/agent-skills/packs/hive-mcp/SKILL.md +147 -0
- package/agent-skills/packs/hive-mcp/evals/evals.json +38 -0
- package/agent-skills/packs/hive-mcp/references/client-install-matrix.md +83 -0
- package/agent-skills/packs/hive-mcp/references/clients.md +141 -0
- package/agent-skills/packs/hive-network-infrastructure/SKILL.md +44 -0
- package/agent-skills/packs/hive-network-infrastructure/evals/evals.json +27 -0
- package/agent-skills/packs/hive-network-infrastructure/references/workflow.md +41 -0
- package/agent-skills/packs/hive-nft-research/SKILL.md +41 -0
- package/agent-skills/packs/hive-nft-research/evals/evals.json +27 -0
- package/agent-skills/packs/hive-nft-research/references/workflow.md +42 -0
- package/agent-skills/packs/hive-prediction-markets/SKILL.md +44 -0
- package/agent-skills/packs/hive-prediction-markets/evals/evals.json +27 -0
- package/agent-skills/packs/hive-prediction-markets/references/workflow.md +42 -0
- package/agent-skills/packs/hive-query/SKILL.md +99 -0
- package/agent-skills/packs/hive-query/evals/evals.json +38 -0
- package/agent-skills/packs/hive-query/references/root-mcp-workflow.md +54 -0
- package/agent-skills/packs/hive-security-risk/SKILL.md +42 -0
- package/agent-skills/packs/hive-security-risk/evals/evals.json +27 -0
- package/agent-skills/packs/hive-security-risk/references/workflow.md +46 -0
- package/agent-skills/packs/hive-solana-analysis/SKILL.md +42 -0
- package/agent-skills/packs/hive-solana-analysis/evals/evals.json +27 -0
- package/agent-skills/packs/hive-solana-analysis/references/workflow.md +42 -0
- package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +75 -0
- package/agent-skills/packs/hive-stateful-monitoring/evals/evals.json +49 -0
- package/agent-skills/packs/hive-token-diligence/SKILL.md +44 -0
- package/agent-skills/packs/hive-token-diligence/evals/evals.json +27 -0
- package/agent-skills/packs/hive-token-diligence/references/workflow.md +45 -0
- package/agent-skills/packs/hive-tool-discovery/SKILL.md +49 -0
- package/agent-skills/packs/hive-tool-discovery/evals/evals.json +38 -0
- package/agent-skills/packs/hive-tool-discovery/references/discovery-surfaces.md +62 -0
- package/agent-skills/packs/hive-wallet-investigation/SKILL.md +42 -0
- package/agent-skills/packs/hive-wallet-investigation/evals/evals.json +27 -0
- package/agent-skills/packs/hive-wallet-investigation/references/workflow.md +45 -0
- package/agent-skills/references/agents-routing.md +51 -0
- package/agent-skills/scripts/validate-agent-skills-package.mjs +216 -0
- package/agent-skills/skills.sh.json +41 -0
- package/bin/hive-mcp.js +33 -0
- package/build/{alias-INGXWFCG.js → alias-3OPMQF4X.js} +2 -3
- package/build/api-client-EPF6FD7A.js +28 -0
- package/build/auth-Q5Q24IRI.js +39 -0
- package/build/browser-auth-VPF5LZMZ.js +8 -0
- package/build/{cache-US4LSZPI.js → cache-T6KC5YEY.js} +2 -3
- package/build/{chunk-QMRVH5ZP.js → chunk-3WYWXTNN.js} +9 -2
- package/build/chunk-4F5CI6LX.js +340 -0
- package/build/chunk-5XXI25JE.js +496 -0
- package/build/chunk-7JWXBKEJ.js +252 -0
- package/build/chunk-CEWCB5YS.js +71 -0
- package/build/{chunk-CGXVV6WR.js → chunk-FH3YGSY5.js} +86 -105
- package/build/chunk-FRXMGRZQ.js +102 -0
- package/build/chunk-GZPDEXO4.js +126 -0
- package/build/chunk-IZPAMRHP.js +43 -0
- package/build/chunk-JTUKQWIO.js +79720 -0
- package/build/{chunk-CP3FXEQA.js → chunk-NP6NSOG2.js} +4 -6
- package/build/{chunk-XQJ6PB2L.js → chunk-POT2MBEK.js} +0 -1
- package/build/chunk-VBOKVQ74.js +280 -0
- package/build/{chunk-WKVZVQTG.js → chunk-YZ2PXBJK.js} +6 -4
- package/build/chunk-ZCU7XQKF.js +14 -0
- package/build/chunk-ZTJVOWDQ.js +85 -0
- package/build/chunk-ZXB53E7H.js +246 -0
- package/build/cli.js +138 -125
- package/build/{completion-J6HFY6PS.js → completion-46K674EL.js} +54 -50
- package/build/config-XE6Q5P4I.js +57 -0
- package/build/{config-dir-IEOID7Q6.js → config-dir-MAWX5AUF.js} +2 -3
- package/build/{doctor-7WZMCQC7.js → doctor-HGMQE6IN.js} +37 -13
- package/build/{errors-U6UZWVSD.js → errors-J2PH3NLJ.js} +2 -3
- package/build/format-5X2HIVDT.js +42 -0
- package/build/{init-CAVIFVSH.js → init-JMDNM7ZZ.js} +1 -2
- package/build/init-all-5SKNV75X.js +273 -0
- package/build/mcpServer-5TKKSKJM.js +21 -0
- package/build/monitor-worker.js +1140 -0
- package/build/{namespace-7JWWBWBL.js → namespace-FSX2G3NM.js} +2 -3
- package/build/{open-FUXYIHFO.js → open-5A6ZQMGC.js} +5 -6
- package/build/{output-7PGQWJY2.js → output-V3D4YZ6U.js} +2 -3
- package/build/serve-AGCOXXFM.js +49 -0
- package/build/server.js +5042 -14125
- package/build/setup-RMETGJWK.js +135 -0
- package/build/stdio.js +32 -0
- package/build/{telemetry-KNWMQURH.js → telemetry-WCME5XEU.js} +4 -4
- package/build/{tools-VRRMBCZQ.js → tools-KAB6QBZC.js} +15 -15
- package/build/uninstall-FLJMBBSC.js +114 -0
- package/build/update-check-LNZQK3XA.js +18 -0
- package/build/upgrade-DTUIHVPS.js +171 -0
- package/build/version-I6HDAF4L.js +14 -0
- package/build/{watch-A75SVIQ6.js → watch-YNN255QX.js} +7 -7
- package/package.json +124 -53
- package/bin/hive.js +0 -25
- package/build/alias-INGXWFCG.js.map +0 -1
- package/build/auth-77MKFFBQ.js +0 -233
- package/build/auth-77MKFFBQ.js.map +0 -1
- package/build/cache-US4LSZPI.js.map +0 -1
- package/build/chunk-CGXVV6WR.js.map +0 -1
- package/build/chunk-CP3FXEQA.js.map +0 -1
- package/build/chunk-DTUDM6HX.js +0 -3108
- package/build/chunk-DTUDM6HX.js.map +0 -1
- package/build/chunk-LBTLYTZS.js +0 -115
- package/build/chunk-LBTLYTZS.js.map +0 -1
- package/build/chunk-OK3LSM73.js +0 -22
- package/build/chunk-OK3LSM73.js.map +0 -1
- package/build/chunk-QMRVH5ZP.js.map +0 -1
- package/build/chunk-RRI526CJ.js +0 -212
- package/build/chunk-RRI526CJ.js.map +0 -1
- package/build/chunk-WKVZVQTG.js.map +0 -1
- package/build/chunk-XQJ6PB2L.js.map +0 -1
- package/build/cli.js.map +0 -1
- package/build/completion-J6HFY6PS.js.map +0 -1
- package/build/config-ANFERP7A.js +0 -99
- package/build/config-ANFERP7A.js.map +0 -1
- package/build/config-dir-IEOID7Q6.js.map +0 -1
- package/build/doctor-7WZMCQC7.js.map +0 -1
- package/build/errors-U6UZWVSD.js.map +0 -1
- package/build/format-CVLLK6GD.js +0 -75
- package/build/format-CVLLK6GD.js.map +0 -1
- package/build/init-CAVIFVSH.js.map +0 -1
- package/build/namespace-7JWWBWBL.js.map +0 -1
- package/build/open-FUXYIHFO.js.map +0 -1
- package/build/output-7PGQWJY2.js.map +0 -1
- package/build/server.js.map +0 -1
- package/build/telemetry-KNWMQURH.js.map +0 -1
- package/build/tools-VRRMBCZQ.js.map +0 -1
- package/build/version-3TZ3U4IR.js +0 -9
- package/build/version-3TZ3U4IR.js.map +0 -1
- package/build/watch-A75SVIQ6.js.map +0 -1
package/build/chunk-RRI526CJ.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// node_modules/fastest-levenshtein/esm/mod.js
|
|
4
|
-
var peq = new Uint32Array(65536);
|
|
5
|
-
var myers_32 = (a, b) => {
|
|
6
|
-
const n = a.length;
|
|
7
|
-
const m = b.length;
|
|
8
|
-
const lst = 1 << n - 1;
|
|
9
|
-
let pv = -1;
|
|
10
|
-
let mv = 0;
|
|
11
|
-
let sc = n;
|
|
12
|
-
let i = n;
|
|
13
|
-
while (i--) {
|
|
14
|
-
peq[a.charCodeAt(i)] |= 1 << i;
|
|
15
|
-
}
|
|
16
|
-
for (i = 0; i < m; i++) {
|
|
17
|
-
let eq = peq[b.charCodeAt(i)];
|
|
18
|
-
const xv = eq | mv;
|
|
19
|
-
eq |= (eq & pv) + pv ^ pv;
|
|
20
|
-
mv |= ~(eq | pv);
|
|
21
|
-
pv &= eq;
|
|
22
|
-
if (mv & lst) {
|
|
23
|
-
sc++;
|
|
24
|
-
}
|
|
25
|
-
if (pv & lst) {
|
|
26
|
-
sc--;
|
|
27
|
-
}
|
|
28
|
-
mv = mv << 1 | 1;
|
|
29
|
-
pv = pv << 1 | ~(xv | mv);
|
|
30
|
-
mv &= xv;
|
|
31
|
-
}
|
|
32
|
-
i = n;
|
|
33
|
-
while (i--) {
|
|
34
|
-
peq[a.charCodeAt(i)] = 0;
|
|
35
|
-
}
|
|
36
|
-
return sc;
|
|
37
|
-
};
|
|
38
|
-
var myers_x = (b, a) => {
|
|
39
|
-
const n = a.length;
|
|
40
|
-
const m = b.length;
|
|
41
|
-
const mhc = [];
|
|
42
|
-
const phc = [];
|
|
43
|
-
const hsize = Math.ceil(n / 32);
|
|
44
|
-
const vsize = Math.ceil(m / 32);
|
|
45
|
-
for (let i = 0; i < hsize; i++) {
|
|
46
|
-
phc[i] = -1;
|
|
47
|
-
mhc[i] = 0;
|
|
48
|
-
}
|
|
49
|
-
let j = 0;
|
|
50
|
-
for (; j < vsize - 1; j++) {
|
|
51
|
-
let mv2 = 0;
|
|
52
|
-
let pv2 = -1;
|
|
53
|
-
const start2 = j * 32;
|
|
54
|
-
const vlen2 = Math.min(32, m) + start2;
|
|
55
|
-
for (let k = start2; k < vlen2; k++) {
|
|
56
|
-
peq[b.charCodeAt(k)] |= 1 << k;
|
|
57
|
-
}
|
|
58
|
-
for (let i = 0; i < n; i++) {
|
|
59
|
-
const eq = peq[a.charCodeAt(i)];
|
|
60
|
-
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
61
|
-
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
62
|
-
const xv = eq | mv2;
|
|
63
|
-
const xh = ((eq | mb) & pv2) + pv2 ^ pv2 | eq | mb;
|
|
64
|
-
let ph = mv2 | ~(xh | pv2);
|
|
65
|
-
let mh = pv2 & xh;
|
|
66
|
-
if (ph >>> 31 ^ pb) {
|
|
67
|
-
phc[i / 32 | 0] ^= 1 << i;
|
|
68
|
-
}
|
|
69
|
-
if (mh >>> 31 ^ mb) {
|
|
70
|
-
mhc[i / 32 | 0] ^= 1 << i;
|
|
71
|
-
}
|
|
72
|
-
ph = ph << 1 | pb;
|
|
73
|
-
mh = mh << 1 | mb;
|
|
74
|
-
pv2 = mh | ~(xv | ph);
|
|
75
|
-
mv2 = ph & xv;
|
|
76
|
-
}
|
|
77
|
-
for (let k = start2; k < vlen2; k++) {
|
|
78
|
-
peq[b.charCodeAt(k)] = 0;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
let mv = 0;
|
|
82
|
-
let pv = -1;
|
|
83
|
-
const start = j * 32;
|
|
84
|
-
const vlen = Math.min(32, m - start) + start;
|
|
85
|
-
for (let k = start; k < vlen; k++) {
|
|
86
|
-
peq[b.charCodeAt(k)] |= 1 << k;
|
|
87
|
-
}
|
|
88
|
-
let score = m;
|
|
89
|
-
for (let i = 0; i < n; i++) {
|
|
90
|
-
const eq = peq[a.charCodeAt(i)];
|
|
91
|
-
const pb = phc[i / 32 | 0] >>> i & 1;
|
|
92
|
-
const mb = mhc[i / 32 | 0] >>> i & 1;
|
|
93
|
-
const xv = eq | mv;
|
|
94
|
-
const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;
|
|
95
|
-
let ph = mv | ~(xh | pv);
|
|
96
|
-
let mh = pv & xh;
|
|
97
|
-
score += ph >>> m - 1 & 1;
|
|
98
|
-
score -= mh >>> m - 1 & 1;
|
|
99
|
-
if (ph >>> 31 ^ pb) {
|
|
100
|
-
phc[i / 32 | 0] ^= 1 << i;
|
|
101
|
-
}
|
|
102
|
-
if (mh >>> 31 ^ mb) {
|
|
103
|
-
mhc[i / 32 | 0] ^= 1 << i;
|
|
104
|
-
}
|
|
105
|
-
ph = ph << 1 | pb;
|
|
106
|
-
mh = mh << 1 | mb;
|
|
107
|
-
pv = mh | ~(xv | ph);
|
|
108
|
-
mv = ph & xv;
|
|
109
|
-
}
|
|
110
|
-
for (let k = start; k < vlen; k++) {
|
|
111
|
-
peq[b.charCodeAt(k)] = 0;
|
|
112
|
-
}
|
|
113
|
-
return score;
|
|
114
|
-
};
|
|
115
|
-
var distance = (a, b) => {
|
|
116
|
-
if (a.length < b.length) {
|
|
117
|
-
const tmp = b;
|
|
118
|
-
b = a;
|
|
119
|
-
a = tmp;
|
|
120
|
-
}
|
|
121
|
-
if (b.length === 0) {
|
|
122
|
-
return a.length;
|
|
123
|
-
}
|
|
124
|
-
if (a.length <= 32) {
|
|
125
|
-
return myers_32(a, b);
|
|
126
|
-
}
|
|
127
|
-
return myers_x(a, b);
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
// src/cli/errors.ts
|
|
131
|
-
var ExitCode = {
|
|
132
|
-
SUCCESS: 0,
|
|
133
|
-
GENERAL_ERROR: 1,
|
|
134
|
-
INVALID_ARGS: 2,
|
|
135
|
-
TOOL_NOT_FOUND: 3,
|
|
136
|
-
API_ERROR: 4,
|
|
137
|
-
AUTH_FAILURE: 5,
|
|
138
|
-
RATE_LIMITED: 6,
|
|
139
|
-
TIMEOUT: 124
|
|
140
|
-
};
|
|
141
|
-
var ERROR_CODE_TO_EXIT = {
|
|
142
|
-
GENERAL_ERROR: ExitCode.GENERAL_ERROR,
|
|
143
|
-
INVALID_ARGS: ExitCode.INVALID_ARGS,
|
|
144
|
-
TOOL_NOT_FOUND: ExitCode.TOOL_NOT_FOUND,
|
|
145
|
-
API_ERROR: ExitCode.API_ERROR,
|
|
146
|
-
PROVIDER_UNAVAILABLE: ExitCode.AUTH_FAILURE,
|
|
147
|
-
RATE_LIMITED: ExitCode.RATE_LIMITED,
|
|
148
|
-
TIMEOUT: ExitCode.TIMEOUT,
|
|
149
|
-
VALIDATION_ERROR: ExitCode.INVALID_ARGS
|
|
150
|
-
};
|
|
151
|
-
var ERROR_DOC_URLS = {
|
|
152
|
-
RATE_LIMITED: "https://docs.hiveintelligence.xyz/errors/rate-limited",
|
|
153
|
-
TIMEOUT: "https://docs.hiveintelligence.xyz/errors/timeout",
|
|
154
|
-
PROVIDER_UNAVAILABLE: "https://docs.hiveintelligence.xyz/errors/provider-unavailable",
|
|
155
|
-
TOOL_NOT_FOUND: "https://docs.hiveintelligence.xyz/errors/tool-not-found"
|
|
156
|
-
};
|
|
157
|
-
var CliError = class extends Error {
|
|
158
|
-
code;
|
|
159
|
-
exitCode;
|
|
160
|
-
suggestion;
|
|
161
|
-
docUrl;
|
|
162
|
-
constructor(code, message, suggestion, docUrl) {
|
|
163
|
-
super(message);
|
|
164
|
-
this.name = "CliError";
|
|
165
|
-
this.code = code;
|
|
166
|
-
this.exitCode = ERROR_CODE_TO_EXIT[code] ?? ExitCode.GENERAL_ERROR;
|
|
167
|
-
this.suggestion = suggestion;
|
|
168
|
-
this.docUrl = docUrl ?? ERROR_DOC_URLS[code];
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
function classifyError(error, toolName) {
|
|
172
|
-
if (error instanceof CliError) return error;
|
|
173
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
174
|
-
const lower = msg.toLowerCase();
|
|
175
|
-
if (lower.includes("timed out") || lower.includes("timeout")) {
|
|
176
|
-
return new CliError("TIMEOUT", msg, "Increase timeout with --timeout <ms>");
|
|
177
|
-
}
|
|
178
|
-
if (lower.includes("rate limit") || lower.includes("429")) {
|
|
179
|
-
return new CliError(
|
|
180
|
-
"RATE_LIMITED",
|
|
181
|
-
msg,
|
|
182
|
-
"Wait and retry, or reduce request frequency"
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
if (lower.includes("api key") || lower.includes("unauthorized") || lower.includes("not configured") || lower.includes("unavailable")) {
|
|
186
|
-
return new CliError(
|
|
187
|
-
"PROVIDER_UNAVAILABLE",
|
|
188
|
-
msg,
|
|
189
|
-
"Run: hive auth login"
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
|
-
if (lower.includes("not found") && toolName) {
|
|
193
|
-
return new CliError(
|
|
194
|
-
"TOOL_NOT_FOUND",
|
|
195
|
-
msg,
|
|
196
|
-
`Run: hive tools search "${toolName}"`
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
return new CliError("API_ERROR", msg);
|
|
200
|
-
}
|
|
201
|
-
function suggestSimilarTools(input, toolNames, maxDistance = 3) {
|
|
202
|
-
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);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
export {
|
|
206
|
-
ExitCode,
|
|
207
|
-
ERROR_DOC_URLS,
|
|
208
|
-
CliError,
|
|
209
|
-
classifyError,
|
|
210
|
-
suggestSimilarTools
|
|
211
|
-
};
|
|
212
|
-
//# sourceMappingURL=chunk-RRI526CJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/fastest-levenshtein/esm/mod.js","../src/cli/errors.ts"],"sourcesContent":["const peq = new Uint32Array(0x10000);\nconst myers_32 = (a, b) => {\n const n = a.length;\n const m = b.length;\n const lst = 1 << (n - 1);\n let pv = -1;\n let mv = 0;\n let sc = n;\n let i = n;\n while (i--) {\n peq[a.charCodeAt(i)] |= 1 << i;\n }\n for (i = 0; i < m; i++) {\n let eq = peq[b.charCodeAt(i)];\n const xv = eq | mv;\n eq |= ((eq & pv) + pv) ^ pv;\n mv |= ~(eq | pv);\n pv &= eq;\n if (mv & lst) {\n sc++;\n }\n if (pv & lst) {\n sc--;\n }\n mv = (mv << 1) | 1;\n pv = (pv << 1) | ~(xv | mv);\n mv &= xv;\n }\n i = n;\n while (i--) {\n peq[a.charCodeAt(i)] = 0;\n }\n return sc;\n};\nconst myers_x = (b, a) => {\n const n = a.length;\n const m = b.length;\n const mhc = [];\n const phc = [];\n const hsize = Math.ceil(n / 32);\n const vsize = Math.ceil(m / 32);\n for (let i = 0; i < hsize; i++) {\n phc[i] = -1;\n mhc[i] = 0;\n }\n let j = 0;\n for (; j < vsize - 1; j++) {\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n }\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m - start) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n let score = m;\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n score += (ph >>> (m - 1)) & 1;\n score -= (mh >>> (m - 1)) & 1;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n return score;\n};\nconst distance = (a, b) => {\n if (a.length < b.length) {\n const tmp = b;\n b = a;\n a = tmp;\n }\n if (b.length === 0) {\n return a.length;\n }\n if (a.length <= 32) {\n return myers_32(a, b);\n }\n return myers_x(a, b);\n};\nconst closest = (str, arr) => {\n let min_distance = Infinity;\n let min_index = 0;\n for (let i = 0; i < arr.length; i++) {\n const dist = distance(str, arr[i]);\n if (dist < min_distance) {\n min_distance = dist;\n min_index = i;\n }\n }\n return arr[min_index];\n};\nexport { closest, distance };\n","import { distance } from \"fastest-levenshtein\";\n\nexport const ExitCode = {\n SUCCESS: 0,\n GENERAL_ERROR: 1,\n INVALID_ARGS: 2,\n TOOL_NOT_FOUND: 3,\n API_ERROR: 4,\n AUTH_FAILURE: 5,\n RATE_LIMITED: 6,\n TIMEOUT: 124,\n} as const;\n\nexport type ExitCodeValue = (typeof ExitCode)[keyof typeof ExitCode];\n\nexport type ErrorCode =\n | \"GENERAL_ERROR\"\n | \"INVALID_ARGS\"\n | \"TOOL_NOT_FOUND\"\n | \"API_ERROR\"\n | \"PROVIDER_UNAVAILABLE\"\n | \"RATE_LIMITED\"\n | \"TIMEOUT\"\n | \"VALIDATION_ERROR\";\n\nconst ERROR_CODE_TO_EXIT: Record<ErrorCode, ExitCodeValue> = {\n GENERAL_ERROR: ExitCode.GENERAL_ERROR,\n INVALID_ARGS: ExitCode.INVALID_ARGS,\n TOOL_NOT_FOUND: ExitCode.TOOL_NOT_FOUND,\n API_ERROR: ExitCode.API_ERROR,\n PROVIDER_UNAVAILABLE: ExitCode.AUTH_FAILURE,\n RATE_LIMITED: ExitCode.RATE_LIMITED,\n TIMEOUT: ExitCode.TIMEOUT,\n VALIDATION_ERROR: ExitCode.INVALID_ARGS,\n};\n\nexport const ERROR_DOC_URLS: Partial<Record<ErrorCode, string>> = {\n RATE_LIMITED: \"https://docs.hiveintelligence.xyz/errors/rate-limited\",\n TIMEOUT: \"https://docs.hiveintelligence.xyz/errors/timeout\",\n PROVIDER_UNAVAILABLE:\n \"https://docs.hiveintelligence.xyz/errors/provider-unavailable\",\n TOOL_NOT_FOUND: \"https://docs.hiveintelligence.xyz/errors/tool-not-found\",\n};\n\nexport class CliError extends Error {\n public readonly code: ErrorCode;\n public readonly exitCode: ExitCodeValue;\n public readonly suggestion?: string;\n public readonly docUrl?: string;\n\n constructor(\n code: ErrorCode,\n message: string,\n suggestion?: string,\n docUrl?: string,\n ) {\n super(message);\n this.name = \"CliError\";\n this.code = code;\n this.exitCode = ERROR_CODE_TO_EXIT[code] ?? ExitCode.GENERAL_ERROR;\n this.suggestion = suggestion;\n this.docUrl = docUrl ?? ERROR_DOC_URLS[code];\n }\n}\n\nexport function classifyError(error: unknown, toolName?: string): CliError {\n if (error instanceof CliError) return error;\n\n const msg = error instanceof Error ? error.message : String(error);\n const lower = msg.toLowerCase();\n\n if (lower.includes(\"timed out\") || lower.includes(\"timeout\")) {\n return new CliError(\"TIMEOUT\", msg, \"Increase timeout with --timeout <ms>\");\n }\n if (lower.includes(\"rate limit\") || lower.includes(\"429\")) {\n return new CliError(\n \"RATE_LIMITED\",\n msg,\n \"Wait and retry, or reduce request frequency\",\n );\n }\n if (\n lower.includes(\"api key\") ||\n lower.includes(\"unauthorized\") ||\n lower.includes(\"not configured\") ||\n lower.includes(\"unavailable\")\n ) {\n return new CliError(\n \"PROVIDER_UNAVAILABLE\",\n msg,\n \"Run: hive auth login\",\n );\n }\n if (lower.includes(\"not found\") && toolName) {\n return new CliError(\n \"TOOL_NOT_FOUND\",\n msg,\n `Run: hive tools search \"${toolName}\"`,\n );\n }\n\n return new CliError(\"API_ERROR\", msg);\n}\n\nexport function suggestSimilarTools(\n input: string,\n toolNames: string[],\n maxDistance: number = 3,\n): string[] {\n return toolNames\n .map((name) => ({ name, dist: distance(input, name) }))\n .filter((entry) => entry.dist <= maxDistance)\n .sort((a, b) => a.dist - b.dist)\n .slice(0, 3)\n .map((entry) => entry.name);\n}\n"],"mappings":"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","names":["mv","pv","start","vlen"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/telemetry.ts"],"sourcesContent":["import { platform, release } from \"node:os\";\nimport { getConfig, saveConfig, ensureConfigDir } from \"./config-dir.js\";\n\ninterface TelemetryEvent {\n command: string;\n durationMs: number;\n errorCode?: string;\n cliVersion: string;\n os: string;\n nodeVersion: string;\n}\n\nconst TELEMETRY_URL = \"https://dev.hiveintelligence.xyz/api/v1/telemetry\";\n\nexport function isTelemetryEnabled(): boolean {\n return getConfig().telemetry === true;\n}\n\nexport function enableTelemetry(): void {\n ensureConfigDir();\n const config = getConfig();\n config.telemetry = true;\n saveConfig(config);\n process.stderr.write(\n \"Telemetry enabled. Thank you for helping improve Hive CLI.\\n\",\n );\n process.stderr.write(\n \"Only command names, duration, and error codes are collected.\\n\",\n );\n process.stderr.write(\"API keys, arguments, and data are never tracked.\\n\\n\");\n}\n\nexport function disableTelemetry(): void {\n ensureConfigDir();\n const config = getConfig();\n config.telemetry = false;\n saveConfig(config);\n process.stderr.write(\"Telemetry disabled.\\n\\n\");\n}\n\nexport function telemetryStatus(): void {\n const enabled = isTelemetryEnabled();\n process.stderr.write(`Telemetry: ${enabled ? \"enabled\" : \"disabled\"}\\n\\n`);\n}\n\n/** Fire-and-forget telemetry event. Never throws, never blocks. */\nexport function trackCommand(\n command: string,\n durationMs: number,\n errorCode?: string,\n): void {\n if (!isTelemetryEnabled()) return;\n\n const event: TelemetryEvent = {\n command,\n durationMs,\n errorCode,\n cliVersion: process.env.npm_package_version ?? \"0.1.2\",\n os: `${platform()} ${release()}`,\n nodeVersion: process.version,\n };\n\n fetch(TELEMETRY_URL, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(event),\n signal: AbortSignal.timeout(3000),\n }).catch(() => {});\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,UAAU,eAAe;AAYlC,IAAM,gBAAgB;AAEf,SAAS,qBAA8B;AAC5C,SAAO,UAAU,EAAE,cAAc;AACnC;AAEO,SAAS,kBAAwB;AACtC,kBAAgB;AAChB,QAAM,SAAS,UAAU;AACzB,SAAO,YAAY;AACnB,aAAW,MAAM;AACjB,UAAQ,OAAO;AAAA,IACb;AAAA,EACF;AACA,UAAQ,OAAO;AAAA,IACb;AAAA,EACF;AACA,UAAQ,OAAO,MAAM,sDAAsD;AAC7E;AAEO,SAAS,mBAAyB;AACvC,kBAAgB;AAChB,QAAM,SAAS,UAAU;AACzB,SAAO,YAAY;AACnB,aAAW,MAAM;AACjB,UAAQ,OAAO,MAAM,yBAAyB;AAChD;AAEO,SAAS,kBAAwB;AACtC,QAAM,UAAU,mBAAmB;AACnC,UAAQ,OAAO,MAAM,cAAc,UAAU,YAAY,UAAU;AAAA;AAAA,CAAM;AAC3E;AAGO,SAAS,aACd,SACA,YACA,WACM;AACN,MAAI,CAAC,mBAAmB,EAAG;AAE3B,QAAM,QAAwB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,QAAQ,IAAI,uBAAuB;AAAA,IAC/C,IAAI,GAAG,SAAS,CAAC,IAAI,QAAQ,CAAC;AAAA,IAC9B,aAAa,QAAQ;AAAA,EACvB;AAEA,QAAM,eAAe;AAAA,IACnB,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU,KAAK;AAAA,IAC1B,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAClC,CAAC,EAAE,MAAM,MAAM;AAAA,EAAC,CAAC;AACnB;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/config-dir.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\n\nexport interface HiveConfig {\n activeProfile: string;\n aliases: Record<string, string>;\n telemetry: boolean;\n}\n\nexport interface HiveCredentials {\n profiles: Record<\n string,\n {\n apiKey: string;\n apiUrl: string;\n createdAt: string;\n }\n >;\n}\n\nconst DEFAULT_CONFIG: HiveConfig = {\n activeProfile: \"default\",\n aliases: {},\n telemetry: false,\n};\n\nconst DEFAULT_CREDENTIALS: HiveCredentials = { profiles: {} };\n\n/** Module-level overrides set by CLI flags (highest priority) */\nlet _flagApiKey: string | undefined;\nlet _flagNoRetry = false;\n\nexport function setCliFlags(opts: {\n apiKey?: string;\n noRetry?: boolean;\n}): void {\n _flagApiKey = opts.apiKey;\n _flagNoRetry = opts.noRetry ?? false;\n}\n\nexport function getNoRetry(): boolean {\n return _flagNoRetry;\n}\n\nexport function getConfigDir(): string {\n return process.env.HIVE_CONFIG_DIR || join(homedir(), \".config\", \"hive\");\n}\n\nexport function ensureConfigDir(): void {\n const dir = getConfigDir();\n if (!existsSync(dir)) mkdirSync(dir, { recursive: true });\n const cacheDir = join(dir, \"cache\");\n if (!existsSync(cacheDir)) mkdirSync(cacheDir, { recursive: true });\n}\n\nexport function readJsonFile<T>(filePath: string): T | null {\n try {\n const raw = readFileSync(filePath, \"utf-8\");\n return JSON.parse(raw) as T;\n } catch {\n return null;\n }\n}\n\nexport function writeJsonFile(filePath: string, data: unknown): void {\n writeFileSync(filePath, JSON.stringify(data, null, 2) + \"\\n\", {\n encoding: \"utf-8\",\n mode: 0o600,\n });\n}\n\nexport function getConfig(): HiveConfig {\n const filePath = join(getConfigDir(), \"config.json\");\n return readJsonFile<HiveConfig>(filePath) ?? { ...DEFAULT_CONFIG };\n}\n\nexport function saveConfig(config: HiveConfig): void {\n ensureConfigDir();\n const filePath = join(getConfigDir(), \"config.json\");\n writeJsonFile(filePath, config);\n}\n\nexport function getCredentials(): HiveCredentials {\n const filePath = join(getConfigDir(), \"credentials.json\");\n return (\n readJsonFile<HiveCredentials>(filePath) ?? {\n ...DEFAULT_CREDENTIALS,\n profiles: {},\n }\n );\n}\n\nexport function saveCredentials(creds: HiveCredentials): void {\n ensureConfigDir();\n const filePath = join(getConfigDir(), \"credentials.json\");\n writeJsonFile(filePath, creds);\n}\n\n/** Resolve API key from: CLI flag > env var > active profile */\nexport function resolveApiKey(flagKey?: string): string | undefined {\n if (flagKey) return flagKey;\n if (_flagApiKey) return _flagApiKey;\n if (process.env.HIVE_API_KEY) return process.env.HIVE_API_KEY;\n const config = getConfig();\n const creds = getCredentials();\n return creds.profiles[config.activeProfile]?.apiKey;\n}\n\n/** Resolve API URL from: env var > active profile > default */\nexport function resolveApiUrl(): string {\n if (process.env.HIVE_API_URL) return process.env.HIVE_API_URL;\n const config = getConfig();\n const creds = getCredentials();\n return (\n creds.profiles[config.activeProfile]?.apiUrl ||\n \"https://mcp.hiveintelligence.xyz\"\n );\n}\n"],"mappings":";;;AAAA,SAAS,YAAY,WAAW,cAAc,qBAAqB;AACnE,SAAS,YAAY;AACrB,SAAS,eAAe;AAmBxB,IAAM,iBAA6B;AAAA,EACjC,eAAe;AAAA,EACf,SAAS,CAAC;AAAA,EACV,WAAW;AACb;AAEA,IAAM,sBAAuC,EAAE,UAAU,CAAC,EAAE;AAG5D,IAAI;AACJ,IAAI,eAAe;AAEZ,SAAS,YAAY,MAGnB;AACP,gBAAc,KAAK;AACnB,iBAAe,KAAK,WAAW;AACjC;AAEO,SAAS,aAAsB;AACpC,SAAO;AACT;AAEO,SAAS,eAAuB;AACrC,SAAO,QAAQ,IAAI,mBAAmB,KAAK,QAAQ,GAAG,WAAW,MAAM;AACzE;AAEO,SAAS,kBAAwB;AACtC,QAAM,MAAM,aAAa;AACzB,MAAI,CAAC,WAAW,GAAG,EAAG,WAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AACxD,QAAM,WAAW,KAAK,KAAK,OAAO;AAClC,MAAI,CAAC,WAAW,QAAQ,EAAG,WAAU,UAAU,EAAE,WAAW,KAAK,CAAC;AACpE;AAEO,SAAS,aAAgB,UAA4B;AAC1D,MAAI;AACF,UAAM,MAAM,aAAa,UAAU,OAAO;AAC1C,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,cAAc,UAAkB,MAAqB;AACnE,gBAAc,UAAU,KAAK,UAAU,MAAM,MAAM,CAAC,IAAI,MAAM;AAAA,IAC5D,UAAU;AAAA,IACV,MAAM;AAAA,EACR,CAAC;AACH;AAEO,SAAS,YAAwB;AACtC,QAAM,WAAW,KAAK,aAAa,GAAG,aAAa;AACnD,SAAO,aAAyB,QAAQ,KAAK,EAAE,GAAG,eAAe;AACnE;AAEO,SAAS,WAAW,QAA0B;AACnD,kBAAgB;AAChB,QAAM,WAAW,KAAK,aAAa,GAAG,aAAa;AACnD,gBAAc,UAAU,MAAM;AAChC;AAEO,SAAS,iBAAkC;AAChD,QAAM,WAAW,KAAK,aAAa,GAAG,kBAAkB;AACxD,SACE,aAA8B,QAAQ,KAAK;AAAA,IACzC,GAAG;AAAA,IACH,UAAU,CAAC;AAAA,EACb;AAEJ;AAEO,SAAS,gBAAgB,OAA8B;AAC5D,kBAAgB;AAChB,QAAM,WAAW,KAAK,aAAa,GAAG,kBAAkB;AACxD,gBAAc,UAAU,KAAK;AAC/B;AAGO,SAAS,cAAc,SAAsC;AAClE,MAAI,QAAS,QAAO;AACpB,MAAI,YAAa,QAAO;AACxB,MAAI,QAAQ,IAAI,aAAc,QAAO,QAAQ,IAAI;AACjD,QAAM,SAAS,UAAU;AACzB,QAAM,QAAQ,eAAe;AAC7B,SAAO,MAAM,SAAS,OAAO,aAAa,GAAG;AAC/C;AAGO,SAAS,gBAAwB;AACtC,MAAI,QAAQ,IAAI,aAAc,QAAO,QAAQ,IAAI;AACjD,QAAM,SAAS,UAAU;AACzB,QAAM,QAAQ,eAAe;AAC7B,SACE,MAAM,SAAS,OAAO,aAAa,GAAG,UACtC;AAEJ;","names":[]}
|