shark-ai 0.2.1 → 0.3.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.
package/dist/bin/shark.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
loginCommand,
|
|
8
8
|
tokenStorage,
|
|
9
9
|
tui
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-HJYP3WB3.js";
|
|
11
11
|
|
|
12
12
|
// src/core/error/crash-handler.ts
|
|
13
13
|
import fs from "fs";
|
|
@@ -594,7 +594,12 @@ async function getActiveRealm() {
|
|
|
594
594
|
|
|
595
595
|
// src/core/agents/business-analyst-agent.ts
|
|
596
596
|
var AGENT_TYPE = "business_analyst";
|
|
597
|
-
|
|
597
|
+
function getAgentId(overrideId) {
|
|
598
|
+
if (overrideId) return overrideId;
|
|
599
|
+
const config = ConfigManager.getInstance().getConfig();
|
|
600
|
+
if (config.agents?.ba) return config.agents.ba;
|
|
601
|
+
return process.env.STACKSPOT_BA_AGENT_ID || "01KEJ95G304TNNAKGH5XNEEBVD";
|
|
602
|
+
}
|
|
598
603
|
async function runBusinessAnalystAgent(prompt, options = {}) {
|
|
599
604
|
const { agentId, onChunk, onComplete } = options;
|
|
600
605
|
const realm = await getActiveRealm();
|
|
@@ -612,8 +617,8 @@ async function runBusinessAnalystAgent(prompt, options = {}) {
|
|
|
612
617
|
deep_search_ks: false,
|
|
613
618
|
conversation_id: existingConversationId
|
|
614
619
|
};
|
|
615
|
-
const
|
|
616
|
-
const agentUrl = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${
|
|
620
|
+
const effectiveAgentId = getAgentId(options.agentId);
|
|
621
|
+
const agentUrl = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${effectiveAgentId}/chat`;
|
|
617
622
|
const headers = {
|
|
618
623
|
"Authorization": `Bearer ${token}`,
|
|
619
624
|
"Content-Type": "application/json"
|
|
@@ -836,7 +841,12 @@ ${stdout}`);
|
|
|
836
841
|
|
|
837
842
|
// src/core/agents/specification-agent.ts
|
|
838
843
|
var AGENT_TYPE2 = "specification_agent";
|
|
839
|
-
|
|
844
|
+
function getAgentId2(overrideId) {
|
|
845
|
+
if (overrideId) return overrideId;
|
|
846
|
+
const config = ConfigManager.getInstance().getConfig();
|
|
847
|
+
if (config.agents?.spec) return config.agents.spec;
|
|
848
|
+
return process.env.STACKSPOT_SPEC_AGENT_ID || "01KEPXTX37FTB4N672TZST4SGP";
|
|
849
|
+
}
|
|
840
850
|
async function interactiveSpecificationAgent(options = {}) {
|
|
841
851
|
FileLogger.init();
|
|
842
852
|
tui.intro("\u{1F3D7}\uFE0F Specification Agent");
|
|
@@ -1043,12 +1053,12 @@ async function callSpecAgentApi(prompt, onChunk, agentId) {
|
|
|
1043
1053
|
use_conversation: true,
|
|
1044
1054
|
conversation_id: conversationId
|
|
1045
1055
|
};
|
|
1046
|
-
const
|
|
1047
|
-
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${
|
|
1056
|
+
const effectiveAgentId = getAgentId2(agentId);
|
|
1057
|
+
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${effectiveAgentId}/chat`;
|
|
1048
1058
|
let fullMsg = "";
|
|
1049
1059
|
let raw = {};
|
|
1050
1060
|
FileLogger.log("AGENT", "Calling Agent API", {
|
|
1051
|
-
agentId:
|
|
1061
|
+
agentId: effectiveAgentId,
|
|
1052
1062
|
conversationId,
|
|
1053
1063
|
prompt: prompt.substring(0, 500)
|
|
1054
1064
|
// Log summary of prompt
|
|
@@ -1088,7 +1098,11 @@ import { Command as Command2 } from "commander";
|
|
|
1088
1098
|
import fs5 from "fs";
|
|
1089
1099
|
import path4 from "path";
|
|
1090
1100
|
var AGENT_TYPE3 = "scan_agent";
|
|
1091
|
-
|
|
1101
|
+
function getAgentId3() {
|
|
1102
|
+
const config = ConfigManager.getInstance().getConfig();
|
|
1103
|
+
if (config.agents?.scan) return config.agents.scan;
|
|
1104
|
+
return process.env.STACKSPOT_SCAN_AGENT_ID || "01KEQ9AHWB550J2244YBH3QATN";
|
|
1105
|
+
}
|
|
1092
1106
|
async function interactiveScanAgent(options = {}) {
|
|
1093
1107
|
FileLogger.init();
|
|
1094
1108
|
tui.intro("\u{1F575}\uFE0F\u200D\u2642\uFE0F Scan Agent");
|
|
@@ -1281,7 +1295,7 @@ async function callScanAgentApi(prompt, onChunk) {
|
|
|
1281
1295
|
use_conversation: true,
|
|
1282
1296
|
conversation_id: conversationId
|
|
1283
1297
|
};
|
|
1284
|
-
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${
|
|
1298
|
+
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${getAgentId3()}/chat`;
|
|
1285
1299
|
let fullMsg = "";
|
|
1286
1300
|
let raw = {};
|
|
1287
1301
|
FileLogger.log("SCAN", "Calling API", { promptLength: prompt.length });
|
|
@@ -1325,11 +1339,18 @@ import { Command as Command3 } from "commander";
|
|
|
1325
1339
|
import fs6 from "fs";
|
|
1326
1340
|
import path5 from "path";
|
|
1327
1341
|
var AGENT_TYPE4 = "developer_agent";
|
|
1328
|
-
|
|
1342
|
+
function getAgentId4(overrideId) {
|
|
1343
|
+
if (overrideId) return overrideId;
|
|
1344
|
+
const config = ConfigManager.getInstance().getConfig();
|
|
1345
|
+
if (config.agents?.dev) return config.agents.dev;
|
|
1346
|
+
if (process.env.STACKSPOT_DEV_AGENT_ID) return process.env.STACKSPOT_DEV_AGENT_ID;
|
|
1347
|
+
return "01KEQCGJ65YENRA4QBXVN1YFFX";
|
|
1348
|
+
}
|
|
1329
1349
|
async function interactiveDeveloperAgent(options = {}) {
|
|
1330
1350
|
FileLogger.init();
|
|
1331
1351
|
tui.intro("\u{1F988} Shark Dev Agent");
|
|
1332
|
-
|
|
1352
|
+
const agentId = getAgentId4();
|
|
1353
|
+
if (agentId === "PENDING_CONFIGURATION") {
|
|
1333
1354
|
tui.log.error("\u274C STACKSPOT_DEV_AGENT_ID not configured in .env");
|
|
1334
1355
|
return;
|
|
1335
1356
|
}
|
|
@@ -1525,7 +1546,7 @@ async function callDevAgentApi(prompt, onChunk) {
|
|
|
1525
1546
|
stackspot_knowledge: false
|
|
1526
1547
|
// Dev Agent focuses on project context
|
|
1527
1548
|
};
|
|
1528
|
-
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${
|
|
1549
|
+
const url = `${STACKSPOT_AGENT_API_BASE}/v1/agent/${getAgentId4()}/chat`;
|
|
1529
1550
|
let fullMsg = "";
|
|
1530
1551
|
let raw = {};
|
|
1531
1552
|
await sseClient.streamAgentResponse(url, payload, { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }, {
|
|
@@ -1565,7 +1586,11 @@ import path6 from "path";
|
|
|
1565
1586
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
1566
1587
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
1567
1588
|
var AGENT_TYPE5 = "qa_agent";
|
|
1568
|
-
|
|
1589
|
+
function getAgentId5() {
|
|
1590
|
+
const config = ConfigManager.getInstance().getConfig();
|
|
1591
|
+
if (config.agents?.qa) return config.agents.qa;
|
|
1592
|
+
return process.env.STACKSPOT_QA_AGENT_ID || "01KEQFJZ3Q3JER11NH22HEZX9X";
|
|
1593
|
+
}
|
|
1569
1594
|
var ChromeDevToolsClient = class {
|
|
1570
1595
|
client = null;
|
|
1571
1596
|
transport = null;
|
|
@@ -1609,7 +1634,8 @@ var ChromeDevToolsClient = class {
|
|
|
1609
1634
|
};
|
|
1610
1635
|
var mcpClient = new ChromeDevToolsClient();
|
|
1611
1636
|
async function runQAAgent(options) {
|
|
1612
|
-
|
|
1637
|
+
const agentId = getAgentId5();
|
|
1638
|
+
if (!agentId) {
|
|
1613
1639
|
tui.log.error("\u274C STACKSPOT_QA_AGENT_ID not configured.");
|
|
1614
1640
|
tui.log.info("Please run: set STACKSPOT_QA_AGENT_ID=<your-id>");
|
|
1615
1641
|
return;
|
|
@@ -1655,7 +1681,7 @@ ${projectContext}
|
|
|
1655
1681
|
try {
|
|
1656
1682
|
const existingConversationId = await conversationManager.getConversationId(AGENT_TYPE5);
|
|
1657
1683
|
await sseClient.streamAgentResponse(
|
|
1658
|
-
`https://genai-inference-app.stackspot.com/v1/agent/${
|
|
1684
|
+
`https://genai-inference-app.stackspot.com/v1/agent/${getAgentId5()}/chat`,
|
|
1659
1685
|
{
|
|
1660
1686
|
user_prompt: userMessage,
|
|
1661
1687
|
streaming: true,
|