@schuttdev/kon 0.3.2 → 0.3.3
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.js +43 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -341,7 +341,7 @@ function createHttpClient(serverUrl, sessionToken) {
|
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
// ../cli/src/version.ts
|
|
344
|
-
var VERSION = "0.3.
|
|
344
|
+
var VERSION = "0.3.3";
|
|
345
345
|
|
|
346
346
|
// ../cli/src/connect.ts
|
|
347
347
|
async function connect(serverName) {
|
|
@@ -367,15 +367,18 @@ async function connect(serverName) {
|
|
|
367
367
|
return { serverUrl: entry.server, sessionToken: entry.sessionToken };
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
|
+
return refreshSession(name, entry.server, entry.token);
|
|
371
|
+
}
|
|
372
|
+
async function refreshSession(serverName, serverUrl, encryptedToken) {
|
|
370
373
|
const orgUuid = getOrgUUID();
|
|
371
|
-
const http = createHttpClient(
|
|
374
|
+
const http = createHttpClient(serverUrl);
|
|
372
375
|
const res = await http.post("/auth/connect", {
|
|
373
|
-
encryptedToken
|
|
376
|
+
encryptedToken,
|
|
374
377
|
orgUuid
|
|
375
378
|
});
|
|
376
|
-
await updateServerSession(
|
|
377
|
-
await checkAndUpdateServer(
|
|
378
|
-
return { serverUrl
|
|
379
|
+
await updateServerSession(serverName, res.sessionToken, res.expiresAt);
|
|
380
|
+
await checkAndUpdateServer(serverUrl, res.sessionToken);
|
|
381
|
+
return { serverUrl, sessionToken: res.sessionToken };
|
|
379
382
|
}
|
|
380
383
|
async function checkAndUpdateServer(serverUrl, sessionToken) {
|
|
381
384
|
try {
|
|
@@ -1015,22 +1018,43 @@ if (firstArg && !firstArg.startsWith("-") && !KNOWN_COMMANDS.has(firstArg)) {
|
|
|
1015
1018
|
const toolName = firstArg;
|
|
1016
1019
|
const toolArgs = process.argv.slice(3);
|
|
1017
1020
|
try {
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
const
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1021
|
+
let { serverUrl, sessionToken } = await connect();
|
|
1022
|
+
let http = createHttpClient(serverUrl, sessionToken);
|
|
1023
|
+
const runTool = async () => {
|
|
1024
|
+
const { tool: detail } = await fetchToolDetail(http, toolName);
|
|
1025
|
+
if (detail.type === "mcp") {
|
|
1026
|
+
const mcpToolName = toolArgs[0];
|
|
1027
|
+
if (!mcpToolName) {
|
|
1028
|
+
const toolNames = (detail.mcpTools ?? []).map((t) => ` ${t.name} \u2014 ${t.description}`);
|
|
1029
|
+
console.log(`MCP tools for ${toolName}:
|
|
1026
1030
|
${toolNames.join("\n")}`);
|
|
1031
|
+
} else {
|
|
1032
|
+
const jsonArg = toolArgs.slice(1).join(" ");
|
|
1033
|
+
const args = jsonArg ? JSON.parse(jsonArg) : {};
|
|
1034
|
+
await execMcpTool(http, toolName, mcpToolName, args);
|
|
1035
|
+
}
|
|
1036
|
+
} else {
|
|
1037
|
+
await execTool(http, toolName, toolArgs);
|
|
1038
|
+
}
|
|
1039
|
+
};
|
|
1040
|
+
try {
|
|
1041
|
+
await runTool();
|
|
1042
|
+
} catch (e) {
|
|
1043
|
+
const msg = e.message;
|
|
1044
|
+
if (msg.includes("Invalid session") || msg.includes("Session expired") || msg.includes("Authorization")) {
|
|
1045
|
+
const config = await readConfig();
|
|
1046
|
+
const active = getActiveEntry(config);
|
|
1047
|
+
if (active) {
|
|
1048
|
+
const refreshed = await refreshSession(active.name, active.entry.server, active.entry.token);
|
|
1049
|
+
sessionToken = refreshed.sessionToken;
|
|
1050
|
+
http = createHttpClient(serverUrl, sessionToken);
|
|
1051
|
+
await runTool();
|
|
1052
|
+
} else {
|
|
1053
|
+
throw e;
|
|
1054
|
+
}
|
|
1027
1055
|
} else {
|
|
1028
|
-
|
|
1029
|
-
const args = jsonArg ? JSON.parse(jsonArg) : {};
|
|
1030
|
-
await execMcpTool(http, toolName, mcpToolName, args);
|
|
1056
|
+
throw e;
|
|
1031
1057
|
}
|
|
1032
|
-
} else {
|
|
1033
|
-
await execTool(http, toolName, toolArgs);
|
|
1034
1058
|
}
|
|
1035
1059
|
} catch (e) {
|
|
1036
1060
|
console.error(`Error: ${e.message}`);
|