hive-intelligence 1.3.0 → 1.4.0

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 (43) hide show
  1. package/README.md +1 -1
  2. package/agent-skills/SKILL.md +1 -1
  3. package/agent-skills/packs/hive-build/SKILL.md +1 -1
  4. package/agent-skills/packs/hive-build-onboarding/SKILL.md +7 -7
  5. package/agent-skills/packs/hive-cli/SKILL.md +2 -2
  6. package/agent-skills/packs/hive-defi-research/SKILL.md +1 -1
  7. package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +1 -1
  8. package/agent-skills/packs/hive-market-research/SKILL.md +1 -1
  9. package/agent-skills/packs/hive-mcp/SKILL.md +1 -1
  10. package/agent-skills/packs/hive-network-infrastructure/SKILL.md +1 -1
  11. package/agent-skills/packs/hive-nft-research/SKILL.md +1 -1
  12. package/agent-skills/packs/hive-prediction-markets/SKILL.md +1 -1
  13. package/agent-skills/packs/hive-query/SKILL.md +1 -1
  14. package/agent-skills/packs/hive-security-risk/SKILL.md +1 -1
  15. package/agent-skills/packs/hive-solana-analysis/SKILL.md +1 -1
  16. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +1 -1
  17. package/agent-skills/packs/hive-token-diligence/SKILL.md +1 -1
  18. package/agent-skills/packs/hive-tool-discovery/SKILL.md +1 -1
  19. package/agent-skills/packs/hive-wallet-investigation/SKILL.md +1 -1
  20. package/build/{api-client-FTVDFW5V.js → api-client-WMWFWXC7.js} +3 -15
  21. package/build/{auth-EZFJ5RYB.js → auth-HRFQWQMZ.js} +1 -9
  22. package/build/browser-auth-KXIO5BHM.js +20 -0
  23. package/build/{chunk-I5Z6FZRL.js → chunk-3OZFBWFK.js} +14 -12
  24. package/build/{chunk-N32UIHBU.js → chunk-7DYHWY4Y.js} +1 -1
  25. package/build/{chunk-7GD2MFYI.js → chunk-AQQAPAER.js} +35 -15
  26. package/build/{upgrade-J4HIGCKE.js → chunk-GHCYCBA3.js} +1 -2
  27. package/build/{chunk-Q7VBYLX7.js → chunk-P7NLFSZQ.js} +0 -58
  28. package/build/{chunk-RUHO24SX.js → chunk-TVQJY47C.js} +2 -157
  29. package/build/{chunk-W2QL7LYI.js → chunk-UFTNBCSA.js} +885 -101
  30. package/build/cli.js +28 -39
  31. package/build/{doctor-ORDOCGLM.js → doctor-GHUAUFS2.js} +3 -3
  32. package/build/{init-all-BVWW3JVK.js → init-all-RG542NWG.js} +32 -13
  33. package/build/{mcpServer-RUEOTTF7.js → mcpServer-D7OXUDU5.js} +1 -1
  34. package/build/monitor-worker.js +2 -2
  35. package/build/release.json +4 -4
  36. package/build/{serve-DKLR2WQH.js → serve-K3IT7DS4.js} +1 -1
  37. package/build/server.js +1429 -415
  38. package/build/stdio.js +1 -1
  39. package/build/{tools-I7GLWTV6.js → tools-D72ZH6P5.js} +1 -1
  40. package/build/upgrade-4S5XT5JG.js +14 -0
  41. package/build/{watch-WVR4CGCD.js → watch-IOSRSCFE.js} +2 -2
  42. package/package.json +5 -3
  43. package/build/browser-auth-OJSUNFBI.js +0 -8
package/README.md CHANGED
@@ -109,7 +109,7 @@ Expected output shape:
109
109
  "source": "live",
110
110
  "receipt_id": "00000000-0000-4000-8000-000000000000",
111
111
  "receipt_version": "1.0",
112
- "server_version": "1.3.0",
112
+ "server_version": "1.4.0",
113
113
  "build_sha": null,
114
114
  "digest_algorithm": "sha256",
115
115
  "input_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "routing"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # Hive Agent Skills
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "build"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-build — Integrate Hive Into App Code
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "setup"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-build-onboarding — Get a Hive API Key
@@ -72,8 +72,8 @@ The key's prefix tells you the environment:
72
72
  capped tools)
73
73
  - `hive_dev_` — local development key
74
74
 
75
- The user can have multiple keys. Plan-tier limits: Demo = 5 keys,
76
- Analyst = 10, Pro = 25, Enterprise = 100.
75
+ The user can have multiple keys. Plan-tier limits: Free = 5 keys,
76
+ Pro = 10, Enterprise = 100.
77
77
 
78
78
  ## When the user can't find an old key
79
79
 
@@ -107,12 +107,12 @@ disabled.
107
107
 
108
108
  ## Plan upgrade
109
109
 
110
- If the user wants higher limits than the Demo tier, direct them to
110
+ If the user wants higher limits than the Free tier, direct them to
111
111
  https://www.hiveintelligence.xyz/dashboard/plans — always quote limits and
112
- prices from that page, since they change. As of July 2026 the tiers are:
112
+ prices from that page, since they change. As of August 2026 the tiers are:
113
113
 
114
- - Analyst$129/month, 500k credits, 500 req/min, 10 keys
115
- - Pro — $499/month, 2M credits, 1k req/min, 25 keys
114
+ - Free10k credits, 30 req/min, 5 keys
115
+ - Pro — $129/month, 500k credits, 500 req/min, 10 keys
116
116
  - Enterprise — custom, unlimited credits, 3k req/min, 100 keys
117
117
 
118
118
  ## Runtime status handling
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "setup"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-cli — Hive From the Terminal
@@ -49,7 +49,7 @@ hive uninstall --all # remove from every client
49
49
  ```
50
50
 
51
51
  Domain subcommands map directly to Hive's category namespace:
52
- `market`, `defi`, `portfolio`, `security`, `social`, `exchange`, `dex`,
52
+ `market`, `defi`, `portfolio`, `security`, `exchange`, `dex`,
53
53
  `wallet`, `nft`, `network`, and `search`. Run `hive --help` for the full
54
54
  list and `hive <domain> --help` for a domain's subcommands.
55
55
 
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "defi"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-defi-research — DeFi Protocol Analysis
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "dex"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-dex-pool-analysis — DEX And Pool Analysis
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "market"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-market-research — Market Research
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "setup"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-mcp — Add Hive to an MCP Client
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "network"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-network-infrastructure — Network Infrastructure
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "nft"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-nft-research — NFT Research
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "prediction-markets"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-prediction-markets — Prediction Markets
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "discovery"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-query — Route Crypto Questions Through Hive
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "security"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-security-risk — Security Risk
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "solana"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-solana-analysis — Solana Analysis
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "stateful-monitoring"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-stateful-monitoring — Stateful Monitoring
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "token"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-token-diligence — Token Diligence
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "discovery"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-tool-discovery — Find The Right Hive Tool
@@ -6,7 +6,7 @@ metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "wallet"
8
8
  requires_network: "true"
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  ---
11
11
 
12
12
  # hive-wallet-investigation — Wallet Investigation
@@ -1,28 +1,16 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
- authLogin,
4
- authMe,
5
- authSignup,
6
- createKey,
7
3
  executeRemoteTool,
8
4
  fetchToolCatalog,
9
5
  fetchWithRetry,
10
- getUsage,
11
- listKeysApi,
12
- revokeKeyApi
13
- } from "./chunk-Q7VBYLX7.js";
6
+ getUsage
7
+ } from "./chunk-P7NLFSZQ.js";
14
8
  import "./chunk-ZXKFJQDE.js";
15
9
  import "./chunk-6PC3HUAK.js";
16
10
  import "./chunk-ILVPOLA7.js";
17
11
  export {
18
- authLogin,
19
- authMe,
20
- authSignup,
21
- createKey,
22
12
  executeRemoteTool,
23
13
  fetchToolCatalog,
24
14
  fetchWithRetry,
25
- getUsage,
26
- listKeysApi,
27
- revokeKeyApi
15
+ getUsage
28
16
  };
@@ -4,19 +4,15 @@ import {
4
4
  listProfiles,
5
5
  maskKey,
6
6
  removeProfile,
7
- runKeysCreate,
8
- runKeysList,
9
- runKeysRevoke,
10
7
  runLogin,
11
8
  runLogout,
12
9
  runProfiles,
13
- runSignup,
14
10
  runSwitch,
15
11
  runUsage,
16
12
  runWhoami,
17
13
  saveProfile,
18
14
  switchProfile
19
- } from "./chunk-RUHO24SX.js";
15
+ } from "./chunk-TVQJY47C.js";
20
16
  import "./chunk-6PC3HUAK.js";
21
17
  import "./chunk-ILVPOLA7.js";
22
18
  export {
@@ -24,13 +20,9 @@ export {
24
20
  listProfiles,
25
21
  maskKey,
26
22
  removeProfile,
27
- runKeysCreate,
28
- runKeysList,
29
- runKeysRevoke,
30
23
  runLogin,
31
24
  runLogout,
32
25
  runProfiles,
33
- runSignup,
34
26
  runSwitch,
35
27
  runUsage,
36
28
  runWhoami,
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ CLI_CALLBACK_PATH,
4
+ CLI_EXCHANGE_PATH,
5
+ CLI_LOGIN_PATH,
6
+ browserLogin,
7
+ buildCliLoginUrl,
8
+ exchangeCliCode,
9
+ parseCliCallback
10
+ } from "./chunk-AQQAPAER.js";
11
+ import "./chunk-ILVPOLA7.js";
12
+ export {
13
+ CLI_CALLBACK_PATH,
14
+ CLI_EXCHANGE_PATH,
15
+ CLI_LOGIN_PATH,
16
+ browserLogin,
17
+ buildCliLoginUrl,
18
+ exchangeCliCode,
19
+ parseCliCallback
20
+ };
@@ -7,7 +7,7 @@ import {
7
7
  getSupabaseAdmin,
8
8
  resolveEndpoint,
9
9
  secureLogger
10
- } from "./chunk-W2QL7LYI.js";
10
+ } from "./chunk-UFTNBCSA.js";
11
11
 
12
12
  // src/services/wallet-service.ts
13
13
  async function consumeCredits(args) {
@@ -45,10 +45,11 @@ async function ensureWallet(userId, planId) {
45
45
  }
46
46
  }
47
47
  async function getWalletStatus(userId) {
48
- const { data, error } = await getSupabaseAdmin().from("credit_wallets").select(
49
- "plan_id, balance, monthly_grant, cycle_start, cycle_end, updated_at"
50
- ).eq("user_id", userId).single();
51
- if (error || !data) {
48
+ const { data, error } = await getSupabaseAdmin().rpc("read_wallet", {
49
+ p_user_id: userId
50
+ });
51
+ const row = Array.isArray(data) ? data[0] : data;
52
+ if (error || !row) {
52
53
  secureLogger.warn("getWalletStatus returned no row", {
53
54
  userId,
54
55
  hasError: !!error,
@@ -58,12 +59,12 @@ async function getWalletStatus(userId) {
58
59
  return null;
59
60
  }
60
61
  return {
61
- planId: data.plan_id,
62
- balance: data.balance ?? null,
63
- monthlyGrant: data.monthly_grant,
64
- cycleStart: data.cycle_start,
65
- cycleEnd: data.cycle_end,
66
- updatedAt: data.updated_at
62
+ planId: row.plan_id,
63
+ balance: row.balance ?? null,
64
+ monthlyGrant: row.monthly_grant,
65
+ cycleStart: row.cycle_start,
66
+ cycleEnd: row.cycle_end,
67
+ updatedAt: row.updated_at
67
68
  };
68
69
  }
69
70
  async function applyPlanChange(args) {
@@ -80,7 +81,8 @@ async function applyPlanChange(args) {
80
81
  p_subscription_id: args.subscriptionId ?? null,
81
82
  p_subscription_status: args.subscriptionStatus ?? null,
82
83
  p_price_id: args.priceId ?? null,
83
- p_ledger_reason: args.ledgerReason ?? "plan_change"
84
+ p_ledger_reason: args.ledgerReason ?? "plan_change",
85
+ p_term_end: args.termEnd ?? null
84
86
  });
85
87
  if (error) {
86
88
  secureLogger.error("apply_plan_change RPC failed", error, {
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  executeRemoteTool
4
- } from "./chunk-Q7VBYLX7.js";
4
+ } from "./chunk-P7NLFSZQ.js";
5
5
  import {
6
6
  trackCommand
7
7
  } from "./chunk-RU6QOFHH.js";
@@ -5,8 +5,27 @@ import { createServer } from "http";
5
5
  import { randomBytes } from "crypto";
6
6
  import { execFile } from "child_process";
7
7
  import { platform } from "os";
8
+ var CLI_EXCHANGE_PATH = "/auth/cli/exchange";
9
+ var CLI_LOGIN_PATH = "/auth/cli";
10
+ var CLI_CALLBACK_PATH = "/callback";
11
+ function parseCliCallback(rawUrl, expectedState) {
12
+ const url = new URL(rawUrl, "http://localhost");
13
+ if (url.pathname !== CLI_CALLBACK_PATH) return { kind: "ignore" };
14
+ const returnedState = url.searchParams.get("state");
15
+ if (returnedState !== expectedState) return { kind: "state-mismatch" };
16
+ if (url.searchParams.get("key")) return { kind: "legacy-key" };
17
+ const code = url.searchParams.get("code");
18
+ if (!code) return { kind: "missing-code" };
19
+ return { kind: "code", code, state: returnedState };
20
+ }
21
+ function buildCliLoginUrl(baseUrl, port, state) {
22
+ const loginUrl = new URL(CLI_LOGIN_PATH, baseUrl);
23
+ loginUrl.searchParams.set("callback_port", String(port));
24
+ loginUrl.searchParams.set("state", state);
25
+ return loginUrl;
26
+ }
8
27
  async function exchangeCliCode(args) {
9
- const exchangeUrl = new URL("/auth/cli/exchange", args.baseUrl);
28
+ const exchangeUrl = new URL(CLI_EXCHANGE_PATH, args.baseUrl);
10
29
  const controller = new AbortController();
11
30
  const timer = setTimeout(() => controller.abort(), 1e4);
12
31
  try {
@@ -59,8 +78,8 @@ async function browserLogin(opts) {
59
78
  return new Promise((resolve, reject) => {
60
79
  let settled = false;
61
80
  const server = createServer(async (req, res) => {
62
- const url = new URL(req.url || "/", `http://localhost`);
63
- if (url.pathname !== "/callback") {
81
+ const outcome = parseCliCallback(req.url || "/", state);
82
+ if (outcome.kind === "ignore") {
64
83
  res.writeHead(404);
65
84
  res.end("Not found");
66
85
  return;
@@ -70,22 +89,19 @@ async function browserLogin(opts) {
70
89
  res.end();
71
90
  return;
72
91
  }
73
- const legacyKey = url.searchParams.get("key");
74
- const code = url.searchParams.get("code");
75
- const returnedState = url.searchParams.get("state");
76
- if (returnedState !== state) {
92
+ if (outcome.kind === "state-mismatch") {
77
93
  res.writeHead(403);
78
94
  res.end("State mismatch \u2014 possible CSRF attack. Please try again.");
79
95
  return;
80
96
  }
81
- if (legacyKey) {
97
+ if (outcome.kind === "legacy-key") {
82
98
  res.writeHead(400);
83
99
  res.end(
84
100
  "Insecure legacy callback rejected. Please update Hive auth and try again."
85
101
  );
86
102
  return;
87
103
  }
88
- if (!code) {
104
+ if (outcome.kind === "missing-code") {
89
105
  res.writeHead(400);
90
106
  res.end("Missing one-time code in callback");
91
107
  return;
@@ -95,8 +111,8 @@ async function browserLogin(opts) {
95
111
  try {
96
112
  exchanged = await exchangeCliCode({
97
113
  baseUrl,
98
- code,
99
- state: returnedState
114
+ code: outcome.code,
115
+ state: outcome.state
100
116
  });
101
117
  } catch (error) {
102
118
  clearTimeout(timer);
@@ -129,7 +145,7 @@ async function browserLogin(opts) {
129
145
  resolve({
130
146
  key: exchanged.key,
131
147
  email: exchanged.email,
132
- state: returnedState
148
+ state: outcome.state
133
149
  });
134
150
  });
135
151
  server.listen(0, "127.0.0.1", () => {
@@ -139,9 +155,7 @@ async function browserLogin(opts) {
139
155
  return;
140
156
  }
141
157
  const port = addr.port;
142
- const loginUrl = new URL("/auth/cli", baseUrl);
143
- loginUrl.searchParams.set("callback_port", String(port));
144
- loginUrl.searchParams.set("state", state);
158
+ const loginUrl = buildCliLoginUrl(baseUrl, port, state);
145
159
  process.stderr.write(`
146
160
  Opening browser to sign in...
147
161
  `);
@@ -173,5 +187,11 @@ Opening browser to sign in...
173
187
  }
174
188
 
175
189
  export {
190
+ CLI_EXCHANGE_PATH,
191
+ CLI_LOGIN_PATH,
192
+ CLI_CALLBACK_PATH,
193
+ parseCliCallback,
194
+ buildCliLoginUrl,
195
+ exchangeCliCode,
176
196
  browserLogin
177
197
  };
@@ -13,8 +13,6 @@ import {
13
13
  successEnvelope,
14
14
  writeOutput
15
15
  } from "./chunk-725R3KLJ.js";
16
- import "./chunk-6PC3HUAK.js";
17
- import "./chunk-ILVPOLA7.js";
18
16
 
19
17
  // src/cli/upgrade.ts
20
18
  import { spawnSync } from "child_process";
@@ -165,6 +163,7 @@ Update available: ${SERVER_VERSION} -> ${latest}
165
163
  "Restart your MCP client (Claude, Cursor, VS Code) to load the new version.\n"
166
164
  );
167
165
  }
166
+
168
167
  export {
169
168
  detectInstallMode,
170
169
  runUpgrade
@@ -184,58 +184,6 @@ async function fetchToolCatalog() {
184
184
  }
185
185
  };
186
186
  }
187
- async function authSignup(email, password) {
188
- const url = buildApiUrl("/auth/signup");
189
- const response = await fetchWithRetry(url, {
190
- method: "POST",
191
- headers: { "Content-Type": "application/json" },
192
- body: JSON.stringify({ email, password })
193
- });
194
- return response.json();
195
- }
196
- async function authLogin(email, password) {
197
- const url = buildApiUrl("/auth/login");
198
- const response = await fetchWithRetry(url, {
199
- method: "POST",
200
- headers: { "Content-Type": "application/json" },
201
- body: JSON.stringify({ email, password })
202
- });
203
- return response.json();
204
- }
205
- async function authMe(jwt) {
206
- const url = buildApiUrl("/auth/me");
207
- const response = await fetchWithRetry(url, {
208
- headers: { Authorization: `Bearer ${jwt}` }
209
- });
210
- return response.json();
211
- }
212
- async function createKey(jwt, name) {
213
- const url = buildApiUrl("/api/v1/keys");
214
- const response = await fetchWithRetry(url, {
215
- method: "POST",
216
- headers: {
217
- "Content-Type": "application/json",
218
- Authorization: `Bearer ${jwt}`
219
- },
220
- body: JSON.stringify({ name })
221
- });
222
- return response.json();
223
- }
224
- async function listKeysApi(jwt) {
225
- const url = buildApiUrl("/api/v1/keys");
226
- const response = await fetchWithRetry(url, {
227
- headers: { Authorization: `Bearer ${jwt}` }
228
- });
229
- return response.json();
230
- }
231
- async function revokeKeyApi(jwt, keyId) {
232
- const url = buildApiUrl(`/api/v1/keys/${keyId}`);
233
- const response = await fetchWithRetry(url, {
234
- method: "DELETE",
235
- headers: { Authorization: `Bearer ${jwt}` }
236
- });
237
- return response.json();
238
- }
239
187
  async function getUsage() {
240
188
  const url = buildApiUrl("/api/v1/usage");
241
189
  const apiKey = resolveApiKey();
@@ -249,11 +197,5 @@ export {
249
197
  fetchWithRetry,
250
198
  executeRemoteTool,
251
199
  fetchToolCatalog,
252
- authSignup,
253
- authLogin,
254
- authMe,
255
- createKey,
256
- listKeysApi,
257
- revokeKeyApi,
258
200
  getUsage
259
201
  };