@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.
- package/dist/index.mjs +22 -38
- 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
|
-
|
|
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
|
-
|
|
1378
|
-
log(`Jive server connecting to ${apiUrl}`);
|
|
1388
|
+
log(`Jive server connecting to ${API_URL}`);
|
|
1379
1389
|
const connectionManager = new McpConnectionManager();
|
|
1380
|
-
const
|
|
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
|
|
1515
|
+
const subagents$1 = await apiClient$1.getSubagents(teamId);
|
|
1532
1516
|
return { content: [{
|
|
1533
1517
|
type: "text",
|
|
1534
|
-
text: JSON.stringify(
|
|
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
|
|
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.
|
|
2116
|
+
var version = "0.0.21";
|
|
2133
2117
|
|
|
2134
2118
|
//#endregion
|
|
2135
2119
|
//#region src/index.ts
|