nexus-agents 11.3.0 → 11.4.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.
Files changed (30) hide show
  1. package/dist/{chunk-WDAND5YU.js → chunk-BDP422B2.js} +4 -2
  2. package/dist/{chunk-WDAND5YU.js.map → chunk-BDP422B2.js.map} +1 -1
  3. package/dist/{chunk-QOJPTGQI.js → chunk-C4ZXUDDS.js} +2 -2
  4. package/dist/{chunk-PIBIAVWQ.js → chunk-CVHLQFUX.js} +3 -3
  5. package/dist/{chunk-ZZ2BEXLC.js → chunk-HF36DB2G.js} +3 -3
  6. package/dist/{chunk-A7XDON63.js → chunk-HHOSB6LL.js} +1258 -622
  7. package/dist/chunk-HHOSB6LL.js.map +1 -0
  8. package/dist/{chunk-3OQBXYFS.js → chunk-JEESPQIQ.js} +2 -2
  9. package/dist/{chunk-KS7CAJAC.js → chunk-JYZLBQ7M.js} +2 -2
  10. package/dist/{chunk-BREDDYX4.js → chunk-XXNSAOCH.js} +2 -2
  11. package/dist/cli.js +70 -15
  12. package/dist/cli.js.map +1 -1
  13. package/dist/{consensus-vote-BD5NWZU5.js → consensus-vote-36TUM35R.js} +4 -4
  14. package/dist/{improvement-review-FLF7N7PR.js → improvement-review-NHXRFXMD.js} +4 -4
  15. package/dist/index.d.ts +61 -0
  16. package/dist/index.js +7 -7
  17. package/dist/{pr-reviewer-helpers-HZGPA2OS.js → pr-reviewer-helpers-BB3QNAWD.js} +3 -3
  18. package/dist/{setup-data-dir-A37RQCGA.js → setup-data-dir-UQOVBXCR.js} +3 -3
  19. package/package.json +1 -1
  20. package/dist/chunk-A7XDON63.js.map +0 -1
  21. /package/dist/{chunk-QOJPTGQI.js.map → chunk-C4ZXUDDS.js.map} +0 -0
  22. /package/dist/{chunk-PIBIAVWQ.js.map → chunk-CVHLQFUX.js.map} +0 -0
  23. /package/dist/{chunk-ZZ2BEXLC.js.map → chunk-HF36DB2G.js.map} +0 -0
  24. /package/dist/{chunk-3OQBXYFS.js.map → chunk-JEESPQIQ.js.map} +0 -0
  25. /package/dist/{chunk-KS7CAJAC.js.map → chunk-JYZLBQ7M.js.map} +0 -0
  26. /package/dist/{chunk-BREDDYX4.js.map → chunk-XXNSAOCH.js.map} +0 -0
  27. /package/dist/{consensus-vote-BD5NWZU5.js.map → consensus-vote-36TUM35R.js.map} +0 -0
  28. /package/dist/{improvement-review-FLF7N7PR.js.map → improvement-review-NHXRFXMD.js.map} +0 -0
  29. /package/dist/{pr-reviewer-helpers-HZGPA2OS.js.map → pr-reviewer-helpers-BB3QNAWD.js.map} +0 -0
  30. /package/dist/{setup-data-dir-A37RQCGA.js.map → setup-data-dir-UQOVBXCR.js.map} +0 -0
@@ -24,7 +24,9 @@ var SecurityFindingSchema = z.object({
24
24
  /** Scanner confidence (0-1). */
25
25
  confidence: z.number().min(0).max(1).default(0.5),
26
26
  /** Code snippet around the finding (optional). */
27
- snippet: z.string().max(500).optional(),
27
+ snippet: z.string().optional(),
28
+ /** Scanner reported incompleteness or unusable truncation metadata; unsafe to match. */
29
+ snippetTruncated: z.boolean().optional(),
28
30
  /** Help URL for remediation guidance. */
29
31
  helpUrl: z.string().optional()
30
32
  });
@@ -43,4 +45,4 @@ export {
43
45
  SARIF_LEVEL_MAP,
44
46
  SEVERITY_ORDER
45
47
  };
46
- //# sourceMappingURL=chunk-WDAND5YU.js.map
48
+ //# sourceMappingURL=chunk-BDP422B2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/security/sarif-types.ts"],"sourcesContent":["/**\n * SARIF Types and Security Finding Schema (#1682)\n *\n * Types for parsing SARIF (Static Analysis Results Interchange Format)\n * output from security scanners (Semgrep, CodeQL, Bandit, ESLint).\n * Normalizes findings into a unified schema for MCP tool consumption.\n *\n * @module security/sarif-types\n * (Source: Issue #1681, #1682 — Proactive Defensive Security)\n */\n\nimport { z } from 'zod';\n\n// ============================================================================\n// Unified Security Finding Schema\n// ============================================================================\n\n/**\n * Canonical 5-value finding-severity vocabulary (CVSS-aligned), most→least\n * severe. THE single source of truth — every 5-value finding-severity zod enum\n * (severity-consensus, finding-triage, agents/output-schemas, expert-types\n * VulnerabilitySeverity) and both SEVERITY_ORDER maps derive from this (#3570).\n * Tuple order is authoritative: SEVERITY_ORDER below maps it to ascending ranks.\n */\nexport const FINDING_SEVERITY_LEVELS = ['critical', 'high', 'medium', 'low', 'info'] as const;\n\n/** Severity levels aligned with CVSS and common scanner output. */\nexport const FindingSeveritySchema = z.enum(FINDING_SEVERITY_LEVELS);\nexport type FindingSeverity = z.infer<typeof FindingSeveritySchema>;\n\n/** A normalized security finding from any SARIF-compatible scanner. */\nexport const SecurityFindingSchema = z.object({\n /** Unique finding ID (scanner-specific rule ID). */\n id: z.string().min(1),\n /** Scanner that produced this finding. */\n scanner: z.string().min(1),\n /** Rule identifier (e.g., 'javascript.lang.security.detect-eval'). */\n rule: z.string().min(1),\n /** Normalized severity. */\n severity: FindingSeveritySchema,\n /** Human-readable description of the finding. */\n message: z.string().min(1).max(2000),\n /** File path where the finding was detected. */\n file: z.string().min(1),\n /** Start line number (1-based). */\n startLine: z.number().int().min(1),\n /** End line number (1-based, optional). */\n endLine: z.number().int().min(1).optional(),\n /** CWE identifiers (e.g., ['CWE-79', 'CWE-89']). */\n cweIds: z.array(z.string()).default([]),\n /** Scanner confidence (0-1). */\n confidence: z.number().min(0).max(1).default(0.5),\n /** Code snippet around the finding (optional). */\n snippet: z.string().max(500).optional(),\n /** Help URL for remediation guidance. */\n helpUrl: z.string().optional(),\n});\n\nexport type SecurityFinding = z.infer<typeof SecurityFindingSchema>;\n\n/** Result of parsing a SARIF file. */\nexport interface SarifParseResult {\n /** Scanner name extracted from SARIF. */\n readonly scanner: string;\n /** Total findings parsed. */\n readonly totalFindings: number;\n /** Findings sorted by severity (critical first). */\n readonly findings: readonly SecurityFinding[];\n /** Parsing errors (non-fatal). */\n readonly errors: readonly string[];\n}\n\n// ============================================================================\n// SARIF Input Types (subset of the SARIF 2.1.0 spec we need)\n// ============================================================================\n\n/** SARIF result level → our severity mapping. */\nexport const SARIF_LEVEL_MAP: Readonly<Record<string, FindingSeverity>> = {\n error: 'high',\n warning: 'medium',\n note: 'low',\n none: 'info',\n};\n\n/**\n * Severity order for sorting (lower = more severe). Derived from the canonical\n * tuple so it can never drift from {@link FINDING_SEVERITY_LEVELS} (#3570).\n */\nexport const SEVERITY_ORDER: Readonly<Record<FindingSeverity, number>> = Object.fromEntries(\n FINDING_SEVERITY_LEVELS.map((level, index) => [level, index])\n) as Record<FindingSeverity, number>;\n"],"mappings":";AAWA,SAAS,SAAS;AAaX,IAAM,0BAA0B,CAAC,YAAY,QAAQ,UAAU,OAAO,MAAM;AAG5E,IAAM,wBAAwB,EAAE,KAAK,uBAAuB;AAI5D,IAAM,wBAAwB,EAAE,OAAO;AAAA;AAAA,EAE5C,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEpB,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEzB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEtB,UAAU;AAAA;AAAA,EAEV,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AAAA;AAAA,EAEnC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEtB,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA;AAAA,EAEjC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA;AAAA,EAE1C,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA;AAAA,EAEtC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG;AAAA;AAAA,EAEhD,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA;AAAA,EAEtC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAqBM,IAAM,kBAA6D;AAAA,EACxE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AACR;AAMO,IAAM,iBAA4D,OAAO;AAAA,EAC9E,wBAAwB,IAAI,CAAC,OAAO,UAAU,CAAC,OAAO,KAAK,CAAC;AAC9D;","names":[]}
1
+ {"version":3,"sources":["../src/security/sarif-types.ts"],"sourcesContent":["/**\n * SARIF Types and Security Finding Schema (#1682)\n *\n * Types for parsing SARIF (Static Analysis Results Interchange Format)\n * output from security scanners (Semgrep, CodeQL, Bandit, ESLint).\n * Normalizes findings into a unified schema for MCP tool consumption.\n *\n * @module security/sarif-types\n * (Source: Issue #1681, #1682 — Proactive Defensive Security)\n */\n\nimport { z } from 'zod';\n\n// ============================================================================\n// Unified Security Finding Schema\n// ============================================================================\n\n/**\n * Canonical 5-value finding-severity vocabulary (CVSS-aligned), most→least\n * severe. THE single source of truth — every 5-value finding-severity zod enum\n * (severity-consensus, finding-triage, agents/output-schemas, expert-types\n * VulnerabilitySeverity) and both SEVERITY_ORDER maps derive from this (#3570).\n * Tuple order is authoritative: SEVERITY_ORDER below maps it to ascending ranks.\n */\nexport const FINDING_SEVERITY_LEVELS = ['critical', 'high', 'medium', 'low', 'info'] as const;\n\n/** Severity levels aligned with CVSS and common scanner output. */\nexport const FindingSeveritySchema = z.enum(FINDING_SEVERITY_LEVELS);\nexport type FindingSeverity = z.infer<typeof FindingSeveritySchema>;\n\n/** A normalized security finding from any SARIF-compatible scanner. */\nexport const SecurityFindingSchema = z.object({\n /** Unique finding ID (scanner-specific rule ID). */\n id: z.string().min(1),\n /** Scanner that produced this finding. */\n scanner: z.string().min(1),\n /** Rule identifier (e.g., 'javascript.lang.security.detect-eval'). */\n rule: z.string().min(1),\n /** Normalized severity. */\n severity: FindingSeveritySchema,\n /** Human-readable description of the finding. */\n message: z.string().min(1).max(2000),\n /** File path where the finding was detected. */\n file: z.string().min(1),\n /** Start line number (1-based). */\n startLine: z.number().int().min(1),\n /** End line number (1-based, optional). */\n endLine: z.number().int().min(1).optional(),\n /** CWE identifiers (e.g., ['CWE-79', 'CWE-89']). */\n cweIds: z.array(z.string()).default([]),\n /** Scanner confidence (0-1). */\n confidence: z.number().min(0).max(1).default(0.5),\n /** Code snippet around the finding (optional). */\n snippet: z.string().optional(),\n /** Scanner reported incompleteness or unusable truncation metadata; unsafe to match. */\n snippetTruncated: z.boolean().optional(),\n /** Help URL for remediation guidance. */\n helpUrl: z.string().optional(),\n});\n\nexport type SecurityFinding = z.infer<typeof SecurityFindingSchema>;\n\n/** A scanner-reported file parse gap, requiring comparison before it can be excused. */\nexport interface ScannerParseDiagnostic {\n readonly file: string;\n readonly kind: 'parse' | 'partial-parse';\n /** Full diagnostic identity, including the location and unexpected syntax. */\n readonly message: string;\n}\n\n/** Result of parsing a SARIF file. */\nexport interface SarifParseResult {\n /** Scanner name extracted from SARIF. */\n readonly scanner: string;\n /** Total findings parsed. */\n readonly totalFindings: number;\n /** Findings sorted by severity (critical first). */\n readonly findings: readonly SecurityFinding[];\n /** Parsing errors (non-fatal). */\n readonly errors: readonly string[];\n /** False for capped/malformed findings or non-parse failures; inspect parseDiagnostics too. */\n readonly coverageComplete?: boolean;\n /** Attributable parse gaps, distinct from unusable results and non-parse errors. */\n readonly parseDiagnostics?: readonly ScannerParseDiagnostic[];\n /** Version measured from the scanner executable, when run by security_scan. */\n readonly scannerVersion?: string;\n}\n\n// ============================================================================\n// SARIF Input Types (subset of the SARIF 2.1.0 spec we need)\n// ============================================================================\n\n/** SARIF result level → our severity mapping. */\nexport const SARIF_LEVEL_MAP: Readonly<Record<string, FindingSeverity>> = {\n error: 'high',\n warning: 'medium',\n note: 'low',\n none: 'info',\n};\n\n/**\n * Severity order for sorting (lower = more severe). Derived from the canonical\n * tuple so it can never drift from {@link FINDING_SEVERITY_LEVELS} (#3570).\n */\nexport const SEVERITY_ORDER: Readonly<Record<FindingSeverity, number>> = Object.fromEntries(\n FINDING_SEVERITY_LEVELS.map((level, index) => [level, index])\n) as Record<FindingSeverity, number>;\n"],"mappings":";AAWA,SAAS,SAAS;AAaX,IAAM,0BAA0B,CAAC,YAAY,QAAQ,UAAU,OAAO,MAAM;AAG5E,IAAM,wBAAwB,EAAE,KAAK,uBAAuB;AAI5D,IAAM,wBAAwB,EAAE,OAAO;AAAA;AAAA,EAE5C,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEpB,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEzB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEtB,UAAU;AAAA;AAAA,EAEV,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AAAA;AAAA,EAEnC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAAA,EAEtB,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA;AAAA,EAEjC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA;AAAA,EAE1C,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA;AAAA,EAEtC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG;AAAA;AAAA,EAEhD,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE7B,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA;AAAA,EAEvC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAmCM,IAAM,kBAA6D;AAAA,EACxE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AACR;AAMO,IAAM,iBAA4D,OAAO;AAAA,EAC9E,wBAAwB,IAAI,CAAC,OAAO,UAAU,CAAC,OAAO,KAAK,CAAC;AAC9D;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FINDING_SEVERITY_LEVELS
3
- } from "./chunk-WDAND5YU.js";
3
+ } from "./chunk-BDP422B2.js";
4
4
  import {
5
5
  assessReputation,
6
6
  sanitizeInput
@@ -479,4 +479,4 @@ export {
479
479
  createFailedReview,
480
480
  reviewPostingBlock
481
481
  };
482
- //# sourceMappingURL=chunk-QOJPTGQI.js.map
482
+ //# sourceMappingURL=chunk-C4ZXUDDS.js.map
@@ -21,7 +21,7 @@ import {
21
21
  toolSuccess,
22
22
  withProgressHeartbeat,
23
23
  wrapToolWithTimeout
24
- } from "./chunk-BREDDYX4.js";
24
+ } from "./chunk-XXNSAOCH.js";
25
25
  import {
26
26
  getToolMemory
27
27
  } from "./chunk-PPH3CAMR.js";
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-EZNIYU5T.js";
31
31
  import {
32
32
  VERSION
33
- } from "./chunk-3OQBXYFS.js";
33
+ } from "./chunk-JEESPQIQ.js";
34
34
  import {
35
35
  ModelBoundAdapter,
36
36
  UNVERIFIABLE_STDERR_RE,
@@ -9915,4 +9915,4 @@ export {
9915
9915
  CONSENSUS_VOTE_TOOL_SCHEMA,
9916
9916
  registerConsensusVoteTool
9917
9917
  };
9918
- //# sourceMappingURL=chunk-PIBIAVWQ.js.map
9918
+ //# sourceMappingURL=chunk-CVHLQFUX.js.map
@@ -7,7 +7,7 @@ import {
7
7
  VERSION,
8
8
  isNodeVersionSupported,
9
9
  recordServerTransport
10
- } from "./chunk-3OQBXYFS.js";
10
+ } from "./chunk-JEESPQIQ.js";
11
11
  import {
12
12
  checkGatewayHealth,
13
13
  cliFailsVerdict,
@@ -2263,7 +2263,7 @@ async function runDoctorFix(result) {
2263
2263
  writeLine2("\u2500".repeat(40));
2264
2264
  let fixCount = 0;
2265
2265
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2266
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-A37RQCGA.js");
2266
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-UQOVBXCR.js");
2267
2267
  const outcome = describeDataDirFix2(initDataDirectories2());
2268
2268
  writeLine2(outcome.line);
2269
2269
  if (outcome.counted) fixCount++;
@@ -2383,4 +2383,4 @@ export {
2383
2383
  startStdioServer,
2384
2384
  closeServer
2385
2385
  };
2386
- //# sourceMappingURL=chunk-ZZ2BEXLC.js.map
2386
+ //# sourceMappingURL=chunk-HF36DB2G.js.map