@jive-ai/cli 0.0.19 → 0.0.21

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 (2) hide show
  1. package/dist/index.mjs +22 -38
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -190,6 +190,9 @@ var ApiClient = class {
190
190
  async getMcpServers(teamId) {
191
191
  return (await this.client.get(`/api/teams/${teamId}/mcp-servers`)).data;
192
192
  }
193
+ async callSubagent(teamId, id, prompt) {
194
+ return (await this.client.post(`/api/subagents/${id}/call`, { prompt })).data;
195
+ }
193
196
  async createMcpServer(teamId, data) {
194
197
  return (await this.client.post(`/api/teams/${teamId}/mcp-servers`, data)).data;
195
198
  }
@@ -1281,6 +1284,15 @@ var McpConnectionManager = class {
1281
1284
  }
1282
1285
  return results;
1283
1286
  }
1287
+ serverIsActive(serverName) {
1288
+ return this.clients.has(serverName);
1289
+ }
1290
+ listActiveServers() {
1291
+ return Array.from(this.clients.keys()).map((server) => ({
1292
+ id: server,
1293
+ name: server
1294
+ }));
1295
+ }
1284
1296
  listTools(serverName) {
1285
1297
  return Array.from(this.tools.values()).filter((tool) => tool.serverName === serverName).map((tool) => ({
1286
1298
  id: tool.id,
@@ -1368,16 +1380,15 @@ async function startMcpServer() {
1368
1380
  process.exit(1);
1369
1381
  return;
1370
1382
  }
1371
- const apiKey = (await getCredentials())?.token;
1372
- if (!apiKey) {
1383
+ if (!(await getCredentials())?.token) {
1373
1384
  log("Error: No API key found, please login with `jive login`");
1374
1385
  process.exit(1);
1375
1386
  return;
1376
1387
  }
1377
- const apiUrl = API_URL;
1378
- log(`Jive server connecting to ${apiUrl}`);
1388
+ log(`Jive server connecting to ${API_URL}`);
1379
1389
  const connectionManager = new McpConnectionManager();
1380
- const mcpServers = await getApiClient().getMcpServers(teamId);
1390
+ const apiClient$1 = getApiClient();
1391
+ const mcpServers = await apiClient$1.getMcpServers(teamId);
1381
1392
  if (mcpServers.length > 0) await connectionManager.initialize(mcpServers);
1382
1393
  else log("No MCP servers configured for this team");
1383
1394
  const server = new Server({
@@ -1494,33 +1505,6 @@ async function startMcpServer() {
1494
1505
  }
1495
1506
  ] };
1496
1507
  });
1497
- async function apiRequest(endpoint, body) {
1498
- const url = `${apiUrl}${endpoint}`;
1499
- try {
1500
- const response = await fetch(url, {
1501
- method: "POST",
1502
- headers: {
1503
- "Content-Type": "application/json",
1504
- "X-API-Key": apiKey
1505
- },
1506
- body: body ? JSON.stringify(body) : void 0
1507
- });
1508
- if (!response.ok) {
1509
- const errorText = await response.text();
1510
- let errorMessage;
1511
- try {
1512
- errorMessage = JSON.parse(errorText).error || errorText;
1513
- } catch {
1514
- errorMessage = errorText;
1515
- }
1516
- throw new Error(`API request failed (${response.status}): ${errorMessage}`);
1517
- }
1518
- return await response.json();
1519
- } catch (error) {
1520
- if (error instanceof Error) throw error;
1521
- throw new Error(`API request failed: ${String(error)}`);
1522
- }
1523
- }
1524
1508
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
1525
1509
  const { name, arguments: args } = request.params;
1526
1510
  log(`Tool called: ${name}`, { args });
@@ -1528,18 +1512,18 @@ async function startMcpServer() {
1528
1512
  if (!args) throw new Error("Missing arguments");
1529
1513
  switch (name) {
1530
1514
  case "list_subagents": {
1531
- const results = await apiRequest(`/api/teams/${teamId}/subagents`);
1515
+ const subagents$1 = await apiClient$1.getSubagents(teamId);
1532
1516
  return { content: [{
1533
1517
  type: "text",
1534
- text: JSON.stringify(results, null, 2)
1518
+ text: JSON.stringify(subagents$1, null, 2)
1535
1519
  }] };
1536
1520
  }
1537
1521
  case "call_subagent": return { content: [{
1538
1522
  type: "text",
1539
- text: (await apiRequest(`/api/subagents/${args.id}/call`, { prompt: args.prompt })).prompt
1523
+ text: (await apiClient$1.callSubagent(teamId, args.id, args.prompt)).prompt
1540
1524
  }] };
1541
1525
  case "list_mcp_servers": {
1542
- const results = mcpServers.filter((server$1) => ({
1526
+ const results = mcpServers.filter((server$1) => connectionManager.serverIsActive(server$1.name)).map((server$1) => ({
1543
1527
  name: server$1.name,
1544
1528
  description: truncateString(server$1.description, 100),
1545
1529
  id: server$1.id
@@ -1550,7 +1534,7 @@ async function startMcpServer() {
1550
1534
  }] };
1551
1535
  }
1552
1536
  case "get_mcp_servers": {
1553
- const results = mcpServers.filter((server$1) => args.ids.includes(server$1.id));
1537
+ const results = mcpServers.filter((server$1) => args.ids.includes(server$1.id) && connectionManager.serverIsActive(server$1.name));
1554
1538
  return { content: [{
1555
1539
  type: "text",
1556
1540
  text: JSON.stringify(results, null, 2)
@@ -2129,7 +2113,7 @@ async function checkTeamMembership() {
2129
2113
 
2130
2114
  //#endregion
2131
2115
  //#region package.json
2132
- var version = "0.0.19";
2116
+ var version = "0.0.21";
2133
2117
 
2134
2118
  //#endregion
2135
2119
  //#region src/index.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@jive-ai/cli",
4
- "version": "0.0.19",
4
+ "version": "0.0.21",
5
5
  "main": "index.js",
6
6
  "files": [
7
7
  "dist",