nexarch 0.12.36 → 0.12.39
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.
|
@@ -4,6 +4,7 @@ import { homedir } from "os";
|
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
import { requireCredentials } from "../lib/credentials.js";
|
|
6
6
|
import { callMcpTool, mcpInitialize, mcpListTools } from "../lib/mcp.js";
|
|
7
|
+
import { cliVersion } from "../lib/version.js";
|
|
7
8
|
function parseFlag(args, flag) {
|
|
8
9
|
return args.includes(flag);
|
|
9
10
|
}
|
|
@@ -60,7 +61,7 @@ export async function agentIdentify(args) {
|
|
|
60
61
|
const client = parseOptionValue(args, "--client");
|
|
61
62
|
const sessionId = parseOptionValue(args, "--session-id");
|
|
62
63
|
const framework = parseOptionValue(args, "--framework");
|
|
63
|
-
const toolVersion = parseOptionValue(args, "--tool-version");
|
|
64
|
+
const toolVersion = parseOptionValue(args, "--tool-version") ?? cliVersion();
|
|
64
65
|
const capabilities = parseCsv(parseOptionValue(args, "--capabilities"));
|
|
65
66
|
const notes = parseOptionValue(args, "--notes");
|
|
66
67
|
if (!provider || !model || !client) {
|
|
@@ -8,6 +8,7 @@ import { requireCredentials } from "../lib/credentials.js";
|
|
|
8
8
|
import { fetchAgentRegistryOrThrow } from "../lib/agent-registry.js";
|
|
9
9
|
import { callMcpTool, mcpInitialize, mcpListTools } from "../lib/mcp.js";
|
|
10
10
|
import { buildVersionAttributes } from "../lib/version-normalization.js";
|
|
11
|
+
import { cliVersion } from "../lib/version.js";
|
|
11
12
|
import { requestTrustAttestation, TRUST_ATTESTATION_SCOPE } from "../lib/trust.js";
|
|
12
13
|
const CLI_VERSION = (() => {
|
|
13
14
|
try {
|
|
@@ -684,7 +685,7 @@ export async function initAgent(args) {
|
|
|
684
685
|
const clientArg = parseOptionValue(args, "--client");
|
|
685
686
|
const frameworkArg = parseOptionValue(args, "--framework");
|
|
686
687
|
const sessionIdArg = parseOptionValue(args, "--session-id");
|
|
687
|
-
const toolVersionArg = parseOptionValue(args, "--tool-version");
|
|
688
|
+
const toolVersionArg = parseOptionValue(args, "--tool-version") ?? cliVersion();
|
|
688
689
|
const capabilitiesArg = parseCsv(parseOptionValue(args, "--capabilities"));
|
|
689
690
|
const notesArg = parseOptionValue(args, "--notes");
|
|
690
691
|
const agentId = explicitAgentId ?? getDefaultAgentId();
|
package/dist/lib/mcp.js
CHANGED
|
@@ -51,12 +51,29 @@ async function requestOnce(method, params, options) {
|
|
|
51
51
|
const raw = Buffer.concat(chunks).toString("utf-8");
|
|
52
52
|
const json = JSON.parse(raw);
|
|
53
53
|
if (json.error) {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
typeof json.error.data.detail === "string"
|
|
58
|
-
? json.error.data.detail
|
|
54
|
+
const errData = json.error.data;
|
|
55
|
+
const explicitDetail = errData && typeof errData === "object" && "detail" in errData && typeof errData.detail === "string"
|
|
56
|
+
? errData.detail
|
|
59
57
|
: null;
|
|
58
|
+
// INVALID_TOOL_ARGUMENTS carries Zod detail — without this,
|
|
59
|
+
// every schema violation surfaced as the bare, undiagnosable
|
|
60
|
+
// "Invalid tool arguments" and nothing else, e.g. a missing
|
|
61
|
+
// required entity field on a create looked identical to an
|
|
62
|
+
// unrelated request shape mistake. Prefer `issues` (full dotted
|
|
63
|
+
// path per error, e.g. "entities.0.name: Required") over the
|
|
64
|
+
// older `fieldErrors` shape, which collapses a nested path down
|
|
65
|
+
// to just its top-level key and loses which field/index failed.
|
|
66
|
+
const zodDetail = !explicitDetail && errData && typeof errData === "object" && "issues" in errData
|
|
67
|
+
? errData.issues
|
|
68
|
+
.map(({ path, message }) => (path ? `${path}: ${message}` : message))
|
|
69
|
+
.join("; ") || null
|
|
70
|
+
: !explicitDetail && errData && typeof errData === "object" && "fieldErrors" in errData
|
|
71
|
+
? Object.entries(errData.fieldErrors)
|
|
72
|
+
.filter(([, messages]) => Array.isArray(messages) && messages.length > 0)
|
|
73
|
+
.map(([field, messages]) => `${field}: ${messages.join(", ")}`)
|
|
74
|
+
.join("; ") || null
|
|
75
|
+
: null;
|
|
76
|
+
const detail = explicitDetail ?? zodDetail;
|
|
60
77
|
reject(new Error(detail ? `${json.error.message} (${detail})` : json.error.message));
|
|
61
78
|
}
|
|
62
79
|
else if (json.result !== undefined) {
|