@harness-engineering/cli 4.0.0 → 4.1.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 (79) hide show
  1. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +9 -8
  2. package/dist/agents/skills/claude-code/pre-merge-brief/SKILL.md +86 -0
  3. package/dist/agents/skills/claude-code/pre-merge-brief/skill.yaml +67 -0
  4. package/dist/agents/skills/claude-code/product-advisor/SKILL.md +202 -0
  5. package/dist/agents/skills/claude-code/product-advisor/skill.yaml +74 -0
  6. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +9 -8
  7. package/dist/agents/skills/codex/pre-merge-brief/SKILL.md +86 -0
  8. package/dist/agents/skills/codex/pre-merge-brief/skill.yaml +67 -0
  9. package/dist/agents/skills/codex/product-advisor/SKILL.md +202 -0
  10. package/dist/agents/skills/codex/product-advisor/skill.yaml +74 -0
  11. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +9 -8
  12. package/dist/agents/skills/cursor/pre-merge-brief/SKILL.md +86 -0
  13. package/dist/agents/skills/cursor/pre-merge-brief/skill.yaml +67 -0
  14. package/dist/agents/skills/cursor/product-advisor/SKILL.md +202 -0
  15. package/dist/agents/skills/cursor/product-advisor/skill.yaml +74 -0
  16. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +9 -8
  17. package/dist/agents/skills/gemini-cli/pre-merge-brief/SKILL.md +86 -0
  18. package/dist/agents/skills/gemini-cli/pre-merge-brief/skill.yaml +67 -0
  19. package/dist/agents/skills/gemini-cli/product-advisor/SKILL.md +202 -0
  20. package/dist/agents/skills/gemini-cli/product-advisor/skill.yaml +74 -0
  21. package/dist/{agents-md-7OSNWU52.js → agents-md-7L4PKKOM.js} +4 -4
  22. package/dist/analyzer-XRCV63KC-HLTEIKAJ.js +26 -0
  23. package/dist/{architecture-2XYGJGT3.js → architecture-RCHFDI7E.js} +5 -5
  24. package/dist/{assess-project-3KPP2D6M.js → assess-project-YUDPNRS6.js} +5 -3
  25. package/dist/bin/harness-mcp.js +16 -16
  26. package/dist/bin/harness.js +27 -27
  27. package/dist/{check-phase-gate-46U5AAXE.js → check-phase-gate-56GS3A72.js} +5 -5
  28. package/dist/{chunk-MSBJ445U.js → chunk-4SKWGVYD.js} +5 -5
  29. package/dist/{chunk-CLI4K2CH.js → chunk-4U5LDFCY.js} +1 -1
  30. package/dist/{chunk-6YXCZV33.js → chunk-ABRYIEWJ.js} +1090 -714
  31. package/dist/{chunk-AK67S3O4.js → chunk-AU4YPEIE.js} +3 -3
  32. package/dist/{chunk-BV45354Q.js → chunk-DGVT4DBI.js} +9 -9
  33. package/dist/{chunk-363V6GPR.js → chunk-GLHLXTKC.js} +9 -9
  34. package/dist/{chunk-VTUINXWR.js → chunk-GSYBGOY3.js} +1 -1
  35. package/dist/{chunk-FZ4Q73HA.js → chunk-IGWJRAJT.js} +1 -1
  36. package/dist/{chunk-S2RQPPL6.js → chunk-N4AI2WFH.js} +1 -1
  37. package/dist/{chunk-HXMAIVV2.js → chunk-NCMJXBEO.js} +1 -1
  38. package/dist/{chunk-ZEYAOYJL.js → chunk-OZSKLJQW.js} +1 -1
  39. package/dist/{chunk-VTU3QOJT.js → chunk-P4NA5OQX.js} +1 -1
  40. package/dist/{chunk-WL3O2PKJ.js → chunk-RY2U77OY.js} +8 -8
  41. package/dist/{chunk-TTWNGOBT.js → chunk-RZQZXWEL.js} +32 -7
  42. package/dist/{chunk-KLPX55TI.js → chunk-UACYZCW4.js} +239 -146
  43. package/dist/{chunk-IYWT3JJW.js → chunk-VG4G3R2V.js} +1 -1
  44. package/dist/{chunk-PP6ZRL5T.js → chunk-WZJR6SOI.js} +536 -422
  45. package/dist/{chunk-PHX45JYN.js → chunk-XW5XVVMI.js} +2 -2
  46. package/dist/{chunk-MYVTYFQD.js → chunk-XZNCONFG.js} +1 -1
  47. package/dist/{chunk-GXCPDAS5.js → chunk-Y33P35U3.js} +26 -8
  48. package/dist/{chunk-XFHZ7GCI.js → chunk-Y5HPJMTM.js} +19 -3
  49. package/dist/{chunk-N55WOGN3.js → chunk-YJYUJSWK.js} +59 -21
  50. package/dist/{chunk-SPE7P4GL.js → chunk-YWRPQZL7.js} +1 -1
  51. package/dist/{chunk-6NCREWWM.js → chunk-YXOPQEFZ.js} +3 -3
  52. package/dist/{chunk-2N4OENGE.js → chunk-YYFSFSB3.js} +1 -1
  53. package/dist/{chunk-ERILXQBP.js → chunk-Z4XWWNYX.js} +615 -433
  54. package/dist/{chunk-HMW3C5DP.js → chunk-ZU6T7W3U.js} +2 -2
  55. package/dist/{ci-workflow-XJN4UO3Q.js → ci-workflow-TFAA5BK7.js} +4 -4
  56. package/dist/{dist-OWHMNL4W.js → dist-DWBTZXR5.js} +1 -1
  57. package/dist/{dist-IPVFYGY2.js → dist-MCTEX5QH.js} +5 -3
  58. package/dist/{docs-RSFZTNPG.js → docs-BBMAN3CY.js} +5 -5
  59. package/dist/{engine-DJIHY4JT.js → engine-R2YH74AL.js} +4 -4
  60. package/dist/{entropy-EAEKJKRM.js → entropy-5UP5N6AF.js} +7 -4
  61. package/dist/{feedback-JT5X3DBC.js → feedback-6MDCCFZL.js} +1 -1
  62. package/dist/{generate-agent-definitions-CC6KED3E.js → generate-agent-definitions-KKAN5DB5.js} +5 -5
  63. package/dist/{glob-helper-GLZAURJC.js → glob-helper-VR6UCZZB.js} +1 -1
  64. package/dist/{graph-loader-HHXN5FLP.js → graph-loader-STFGYKZH.js} +1 -1
  65. package/dist/hooks/sentinel-pre.js +15 -138
  66. package/dist/index.d.ts +61 -0
  67. package/dist/index.js +27 -27
  68. package/dist/{loader-UWNVTYBY.js → loader-2WT2ZE2T.js} +4 -4
  69. package/dist/{mcp-TCLNK7HG.js → mcp-5V4LPMB3.js} +16 -16
  70. package/dist/{performance-R6O3N3UB.js → performance-2N3CFXLR.js} +5 -5
  71. package/dist/{review-pipeline-MOOWXWSQ.js → review-pipeline-XZIGBU3Q.js} +4 -4
  72. package/dist/{runtime-RIWQUKBQ.js → runtime-POME3GTR.js} +4 -4
  73. package/dist/{scan-P7YFKB77.js → scan-IYSVRPD2.js} +1 -1
  74. package/dist/{security-U76C54W6.js → security-QLJLMSIW.js} +1 -1
  75. package/dist/{state-events-F44CUUZG.js → state-events-YY5KBZTC.js} +4 -4
  76. package/dist/{validate-IUAV7MOU.js → validate-VZORVK43.js} +5 -5
  77. package/dist/{validate-cross-check-M2ZM6RFY.js → validate-cross-check-OYKEDCST.js} +4 -4
  78. package/package.json +5 -4
  79. package/dist/analyzer-V633GUHY-MBCQWKDU.js +0 -26
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-Y6SUQC32.js";
4
4
  import {
5
5
  resolveConfig
6
- } from "./chunk-XFHZ7GCI.js";
6
+ } from "./chunk-Y5HPJMTM.js";
7
7
  import {
8
8
  logger
9
9
  } from "./chunk-EBJQ6N4M.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-3WGJMBKH.js";
13
13
  import {
14
14
  init_dist
15
- } from "./chunk-KLPX55TI.js";
15
+ } from "./chunk-UACYZCW4.js";
16
16
  import {
17
17
  Ok
18
18
  } from "./chunk-BDGTZRZ6.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-HXMAIVV2.js";
7
+ } from "./chunk-NCMJXBEO.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -4,20 +4,31 @@ import {
4
4
  import {
5
5
  sanitizePath
6
6
  } from "./chunk-W6Y7ZW3Y.js";
7
+ import {
8
+ findConfigFile,
9
+ loadConfig
10
+ } from "./chunk-Y5HPJMTM.js";
7
11
  import {
8
12
  init_dist
9
- } from "./chunk-KLPX55TI.js";
13
+ } from "./chunk-UACYZCW4.js";
10
14
  import {
11
15
  Ok
12
16
  } from "./chunk-BDGTZRZ6.js";
13
17
 
14
18
  // src/mcp/tools/entropy.ts
15
19
  init_dist();
20
+ function loadEntropyConfig(projectPath) {
21
+ const configFile = findConfigFile(projectPath);
22
+ if (!configFile.ok) return void 0;
23
+ const loaded = loadConfig(configFile.value);
24
+ if (!loaded.ok) return void 0;
25
+ return loaded.value.entropy;
26
+ }
16
27
  async function loadEntropyGraphOptions(projectPath) {
17
- const { loadGraphStore } = await import("./graph-loader-HHXN5FLP.js");
28
+ const { loadGraphStore } = await import("./graph-loader-STFGYKZH.js");
18
29
  const store = await loadGraphStore(projectPath);
19
30
  if (!store) return void 0;
20
- const { GraphEntropyAdapter } = await import("./dist-OWHMNL4W.js");
31
+ const { GraphEntropyAdapter } = await import("./dist-DWBTZXR5.js");
21
32
  const adapter = new GraphEntropyAdapter(store);
22
33
  const driftData = adapter.computeDriftData();
23
34
  const deadCodeData = adapter.computeDeadCodeData();
@@ -127,17 +138,24 @@ function buildSummaryResponse(report) {
127
138
  }
128
139
  async function handleDetectEntropy(input) {
129
140
  try {
130
- const { EntropyAnalyzer } = await import("./dist-IPVFYGY2.js");
141
+ const { EntropyAnalyzer } = await import("./dist-MCTEX5QH.js");
131
142
  const typeFilter = input.type ?? "all";
143
+ const projectPath = sanitizePath(input.path);
144
+ const entropy = loadEntropyConfig(projectPath);
145
+ const driftConfig = entropy?.drift;
146
+ const driftEnabled = typeFilter === "all" || typeFilter === "drift";
132
147
  const analyzer = new EntropyAnalyzer({
133
- rootDir: sanitizePath(input.path),
148
+ rootDir: projectPath,
149
+ ...entropy?.entryPoints && { entryPoints: entropy.entryPoints },
150
+ ...entropy?.excludePatterns && { exclude: entropy.excludePatterns },
151
+ ...driftConfig?.docPaths && { docPaths: driftConfig.docPaths },
134
152
  analyze: {
135
- drift: typeFilter === "all" || typeFilter === "drift",
153
+ drift: driftEnabled ? driftConfig ?? true : false,
136
154
  deadCode: typeFilter === "all" || typeFilter === "dead-code",
137
155
  patterns: typeFilter === "all" || typeFilter === "patterns"
138
156
  }
139
157
  });
140
- const graphOptions = await loadEntropyGraphOptions(sanitizePath(input.path));
158
+ const graphOptions = await loadEntropyGraphOptions(projectPath);
141
159
  const result = await analyzer.analyze(graphOptions);
142
160
  if (input.mode === "summary" && result.ok && !input.autoFix) {
143
161
  return buildSummaryResponse(result.value);
@@ -146,7 +164,7 @@ async function handleDetectEntropy(input) {
146
164
  return resultToMcpResponse(result);
147
165
  }
148
166
  if (!result.ok) return resultToMcpResponse(result);
149
- const { createFixes, applyFixes, generateSuggestions } = await import("./dist-IPVFYGY2.js");
167
+ const { createFixes, applyFixes, generateSuggestions } = await import("./dist-MCTEX5QH.js");
150
168
  const report = result.value;
151
169
  const deadCode = report.deadCode;
152
170
  const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3WGJMBKH.js";
8
8
  import {
9
9
  init_dist as init_dist2
10
- } from "./chunk-KLPX55TI.js";
10
+ } from "./chunk-UACYZCW4.js";
11
11
  import {
12
12
  Err,
13
13
  Ok
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  init_dist,
17
17
  skipDirGlobs
18
- } from "./chunk-PP6ZRL5T.js";
18
+ } from "./chunk-WZJR6SOI.js";
19
19
  import {
20
20
  ArchConfigSchema
21
21
  } from "./chunk-QCLOIUMX.js";
@@ -72,13 +72,29 @@ var AgentConfigSchema = z.object({
72
72
  /** Routing rules for orchestrator agent dispatch. */
73
73
  routing: RoutingConfigSchema.optional()
74
74
  });
75
+ var DriftConfigSchema = z.object({
76
+ /** Glob patterns for docs to scan for drift (default: docs/**, README) */
77
+ docPaths: z.array(z.string()).optional(),
78
+ /** Flag doc references to code symbols that no longer exist (default: true) */
79
+ checkApiSignatures: z.boolean().optional(),
80
+ /** Check fenced code examples against the codebase (default: true) */
81
+ checkExamples: z.boolean().optional(),
82
+ /** Check documented structure against the filesystem (default: true) */
83
+ checkStructure: z.boolean().optional(),
84
+ /** Regexes matched against a reference to exclude it from drift reporting */
85
+ ignorePatterns: z.array(z.string()).optional(),
86
+ /** Doc-path prefixes whose symbols describe intended future code (ADRs, proposals) */
87
+ forwardLookingPaths: z.array(z.string()).optional()
88
+ });
75
89
  var EntropyConfigSchema = z.object({
76
90
  /** Explicit entry points for reachability analysis (overrides auto-detection) */
77
91
  entryPoints: z.array(z.string()).optional(),
78
92
  /** Patterns to exclude from entropy analysis */
79
93
  excludePatterns: z.array(z.string()).default([...skipDirGlobs(), "**/*.test.ts"]),
80
94
  /** Whether to automatically attempt to fix simple entropy issues */
81
- autoFix: z.boolean().default(false)
95
+ autoFix: z.boolean().default(false),
96
+ /** Documentation-drift detection tuning (scope/disable individual checks) */
97
+ drift: DriftConfigSchema.optional()
82
98
  });
83
99
  var PhaseGateMappingSchema = z.object({
84
100
  /** Pattern for implementation files */
@@ -7,12 +7,12 @@ import {
7
7
  DEFAULT_SKIP_DIRS,
8
8
  init_dist as init_dist2,
9
9
  skipDirGlobs
10
- } from "./chunk-PP6ZRL5T.js";
10
+ } from "./chunk-WZJR6SOI.js";
11
11
  import {
12
12
  __esm
13
13
  } from "./chunk-KFQGP6VL.js";
14
14
 
15
- // ../core/dist/chunk-MUWJHO2S.mjs
15
+ // ../core/dist/chunk-JZ7UO3OF.mjs
16
16
  import { parse } from "@typescript-eslint/typescript-estree";
17
17
  import { access, constants, readFile } from "fs";
18
18
  import { promisify } from "util";
@@ -1021,18 +1021,57 @@ function extractPythonFromImport(child) {
1021
1021
  kind: "value"
1022
1022
  };
1023
1023
  }
1024
- function extractPythonExport(child) {
1025
- if (child.type === "function_definition" || child.type === "class_definition") {
1026
- return makeNamedExport(child);
1027
- }
1028
- if (child.type === "assignment") {
1029
- const left = child.childForFieldName("left") ?? child.children[0];
1030
- if (left && !left.text.startsWith("_")) {
1031
- return { name: left.text, type: "named", location: makeLocation2(child), isReExport: false };
1032
- }
1024
+ function makePythonExport(name, node) {
1025
+ return { name, type: "named", location: makeLocation2(node), isReExport: false };
1026
+ }
1027
+ function pythonAssignmentName(assignment) {
1028
+ const left = assignment.childForFieldName("left") ?? assignment.children[0];
1029
+ if (left && left.type === "identifier" && !left.text.startsWith("_")) {
1030
+ return left.text;
1033
1031
  }
1034
1032
  return null;
1035
1033
  }
1034
+ function unwrapPythonDefinition(node) {
1035
+ return node.childForFieldName("definition") ?? node.namedChildren.find(
1036
+ (c) => c.type === "function_definition" || c.type === "class_definition"
1037
+ ) ?? null;
1038
+ }
1039
+ function publicPythonDefName(node) {
1040
+ const name = node.childForFieldName("name");
1041
+ return name && !name.text.startsWith("_") ? name.text : null;
1042
+ }
1043
+ function collectExpressionStatementExports(node, out) {
1044
+ for (const child of node.namedChildren) {
1045
+ if (child.type !== "assignment") continue;
1046
+ const name = pythonAssignmentName(child);
1047
+ if (name) out.push(makePythonExport(name, child));
1048
+ }
1049
+ }
1050
+ function collectClassExports(node, out, descendIntoClass) {
1051
+ const name = publicPythonDefName(node);
1052
+ if (name) out.push(makePythonExport(name, node));
1053
+ const body = descendIntoClass ? node.childForFieldName("body") : null;
1054
+ if (!body) return;
1055
+ for (const member of body.namedChildren) {
1056
+ collectPythonExports(member, out, false);
1057
+ }
1058
+ }
1059
+ function collectPythonExports(node, out, descendIntoClass) {
1060
+ if (node.type === "decorated_definition") {
1061
+ const def = unwrapPythonDefinition(node);
1062
+ if (def) collectPythonExports(def, out, descendIntoClass);
1063
+ } else if (node.type === "expression_statement") {
1064
+ collectExpressionStatementExports(node, out);
1065
+ } else if (node.type === "function_definition") {
1066
+ const name = publicPythonDefName(node);
1067
+ if (name) out.push(makePythonExport(name, node));
1068
+ } else if (node.type === "class_definition") {
1069
+ collectClassExports(node, out, descendIntoClass);
1070
+ } else if (node.type === "assignment") {
1071
+ const name = pythonAssignmentName(node);
1072
+ if (name) out.push(makePythonExport(name, node));
1073
+ }
1074
+ }
1036
1075
  function extractGoImportPath(spec) {
1037
1076
  const pathNode = spec.childForFieldName("path") ?? spec.children.find((c) => c.type === "interpreted_string_literal");
1038
1077
  return pathNode ? pathNode.text.replace(/"/g, "") : null;
@@ -1108,8 +1147,8 @@ function getDefaultRegistry() {
1108
1147
  return registry;
1109
1148
  }
1110
1149
  var accessAsync, readFileAsync, DEFAULT_FIND_FILES_IGNORE, TypeScriptParser, EXTENSION_MAP, parserCache, initialized, GRAMMAR_MAP, TOP_LEVEL_TYPES, METHOD_TYPES, IDENTIFIER_TYPES, NAME_EXTRACTORS, EXTENSION_BY_LANG, JS_EXT_FALLBACKS, DEFAULT_THRESHOLDS, FUNCTION_PATTERNS, DECISION_PATTERNS, DEFAULT_THRESHOLDS2, pythonStrategy, goStrategy, RUST_USE_ARG_TYPES, RUST_PUB_ITEM_TYPES, rustStrategy, JAVA_IMPORT_TYPES, JAVA_EXPORT_TYPES, javaStrategy, STRATEGIES, TreeSitterParser, ParserRegistry, defaultRegistry;
1111
- var init_chunk_MUWJHO2S = __esm({
1112
- "../core/dist/chunk-MUWJHO2S.mjs"() {
1150
+ var init_chunk_JZ7UO3OF = __esm({
1151
+ "../core/dist/chunk-JZ7UO3OF.mjs"() {
1113
1152
  "use strict";
1114
1153
  init_dist();
1115
1154
  accessAsync = promisify(access);
@@ -1394,8 +1433,7 @@ var init_chunk_MUWJHO2S = __esm({
1394
1433
  extractExports(root) {
1395
1434
  const exports = [];
1396
1435
  for (const child of root.children) {
1397
- const exp = extractPythonExport(child);
1398
- if (exp) exports.push(exp);
1436
+ collectPythonExports(child, exports, true);
1399
1437
  }
1400
1438
  return exports;
1401
1439
  }
@@ -1605,7 +1643,7 @@ var init_chunk_MUWJHO2S = __esm({
1605
1643
  }
1606
1644
  });
1607
1645
 
1608
- // ../core/dist/chunk-S4DTDJ6J.mjs
1646
+ // ../core/dist/chunk-IHRT6II2.mjs
1609
1647
  import { resolve as resolve2 } from "path";
1610
1648
  import { minimatch as minimatch2 } from "minimatch";
1611
1649
  import { join, resolve as resolve3 } from "path";
@@ -3062,10 +3100,10 @@ function generateSuggestions(deadCode, drift, patterns) {
3062
3100
  };
3063
3101
  }
3064
3102
  var TS_HINTS, TS_CONVENTIONS, PYTHON_HINTS, PYTHON_CONVENTIONS, DEFAULT_INCLUDE_PATTERNS, BCP47_LOCALE_RE, FILE_REFERENCE_RE, CODE_BLOCK_LANGUAGES, DEFAULT_FORWARD_LOOKING_PATHS, DEFAULT_DRIFT_CONFIG, JS_EXT_FALLBACKS2, FILE_TYPES, EXPORT_TYPES, CONVENTION_DESCRIPTIONS, RULE_CHECKERS, EntropyAnalyzer;
3065
- var init_chunk_S4DTDJ6J = __esm({
3066
- "../core/dist/chunk-S4DTDJ6J.mjs"() {
3103
+ var init_chunk_IHRT6II2 = __esm({
3104
+ "../core/dist/chunk-IHRT6II2.mjs"() {
3067
3105
  "use strict";
3068
- init_chunk_MUWJHO2S();
3106
+ init_chunk_JZ7UO3OF();
3069
3107
  init_dist2();
3070
3108
  init_dist2();
3071
3109
  TS_HINTS = ['Add "exports" or "main" to package.json', "Create src/index.ts"];
@@ -3393,7 +3431,7 @@ export {
3393
3431
  detectComplexityViolations,
3394
3432
  detectCouplingViolations,
3395
3433
  getDefaultRegistry,
3396
- init_chunk_MUWJHO2S,
3434
+ init_chunk_JZ7UO3OF,
3397
3435
  buildSnapshot,
3398
3436
  detectDocDrift,
3399
3437
  detectDeadCode,
@@ -3402,5 +3440,5 @@ export {
3402
3440
  detectSizeBudgetViolations,
3403
3441
  generateSuggestions,
3404
3442
  EntropyAnalyzer,
3405
- init_chunk_S4DTDJ6J
3443
+ init_chunk_IHRT6II2
3406
3444
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  event_sourcing_exports,
3
3
  init_dist
4
- } from "./chunk-KLPX55TI.js";
4
+ } from "./chunk-UACYZCW4.js";
5
5
  import {
6
6
  Ok
7
7
  } from "./chunk-BDGTZRZ6.js";
@@ -27,7 +27,7 @@ var runSecurityScanDefinition = {
27
27
  };
28
28
  async function handleRunSecurityScan(input) {
29
29
  try {
30
- const core = await import("./dist-IPVFYGY2.js");
30
+ const core = await import("./dist-MCTEX5QH.js");
31
31
  const projectRoot = sanitizePath(input.path);
32
32
  let configData = {};
33
33
  try {
@@ -50,7 +50,7 @@ async function handleRunSecurityScan(input) {
50
50
  if (input.files && input.files.length > 0) {
51
51
  filesToScan = input.files.map((f) => path.resolve(projectRoot, f));
52
52
  } else {
53
- const { globFiles } = await import("./glob-helper-GLZAURJC.js");
53
+ const { globFiles } = await import("./glob-helper-VR6UCZZB.js");
54
54
  filesToScan = await globFiles(projectRoot, securityConfig.exclude);
55
55
  }
56
56
  const result = await scanner.scanFiles(filesToScan);
@@ -114,7 +114,7 @@ var getSecurityTrendsDefinition = {
114
114
  };
115
115
  async function handleGetSecurityTrends(input) {
116
116
  try {
117
- const core = await import("./dist-IPVFYGY2.js");
117
+ const core = await import("./dist-MCTEX5QH.js");
118
118
  const projectRoot = sanitizePath(input.path);
119
119
  const manager = new core.SecurityTimelineManager(projectRoot);
120
120
  const trendOptions = {};
@@ -41,7 +41,7 @@ async function runScan(projectPath) {
41
41
  KnowledgeIngestor,
42
42
  GitIngestor,
43
43
  RequirementIngestor
44
- } = await import("./dist-OWHMNL4W.js");
44
+ } = await import("./dist-DWBTZXR5.js");
45
45
  const store = new GraphStore();
46
46
  const start = Date.now();
47
47
  const ingestOptions = loadIngestOptions(projectPath);