@harness-engineering/cli 3.0.0 → 3.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 (58) hide show
  1. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +35 -0
  2. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +33 -44
  3. package/dist/agents/skills/codex/harness-execution/SKILL.md +35 -0
  4. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +33 -44
  5. package/dist/agents/skills/cursor/harness-execution/SKILL.md +35 -0
  6. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +33 -44
  7. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +35 -0
  8. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +33 -44
  9. package/dist/{agents-md-XOJE5ETA.js → agents-md-YYCLGMBF.js} +2 -2
  10. package/dist/{architecture-JEZPJ725.js → architecture-5KPP4ID4.js} +3 -3
  11. package/dist/{assess-project-RHXOQNMM.js → assess-project-B6ENHUAU.js} +1 -1
  12. package/dist/bin/harness-mcp.js +13 -13
  13. package/dist/bin/harness.js +22 -22
  14. package/dist/{check-phase-gate-GNDOMS35.js → check-phase-gate-REG3HWYC.js} +3 -3
  15. package/dist/{chunk-N24HCQA4.js → chunk-A65QO5KN.js} +132 -46
  16. package/dist/{chunk-UX3PQKVZ.js → chunk-BXKNWSG4.js} +1 -1
  17. package/dist/{chunk-XX4OLNWQ.js → chunk-C2ZGWMTN.js} +2 -2
  18. package/dist/{chunk-HEIMJJI4.js → chunk-DNX35Q5K.js} +2 -2
  19. package/dist/{chunk-BYVT5LVO.js → chunk-ERZCC5VH.js} +3 -3
  20. package/dist/{chunk-XFU6SB2Q.js → chunk-FL5SLUKZ.js} +62 -27
  21. package/dist/{chunk-NWLGL3IR.js → chunk-FUH4J43G.js} +1 -1
  22. package/dist/{chunk-MGUPSE6D.js → chunk-HIPBU2Q4.js} +5 -5
  23. package/dist/{chunk-3ISHDWO7.js → chunk-IF3JK3G5.js} +1 -1
  24. package/dist/{chunk-KAJOS3BA.js → chunk-LMZ2JTNP.js} +2 -2
  25. package/dist/{chunk-527G27VI.js → chunk-OQFEFVIN.js} +2 -2
  26. package/dist/{chunk-Z4AWEIBY.js → chunk-PZX2Y3RV.js} +3 -3
  27. package/dist/{chunk-ONCPJGHY.js → chunk-RGQXHCCH.js} +6 -6
  28. package/dist/{chunk-QBC7DI4Q.js → chunk-TCVQVHEF.js} +1 -1
  29. package/dist/{chunk-PC2R5RUJ.js → chunk-TE5YHHHZ.js} +1 -1
  30. package/dist/{chunk-HWTUUQOW.js → chunk-UBTMPO5H.js} +3 -3
  31. package/dist/{chunk-GSP2XIVS.js → chunk-XEOSSKIB.js} +1 -1
  32. package/dist/{chunk-DE5U6KOL.js → chunk-XZ2Q4UTW.js} +1 -1
  33. package/dist/{chunk-YQSYCBAH.js → chunk-YF3AY6KS.js} +6 -6
  34. package/dist/{chunk-GGKRA7A7.js → chunk-YQAFKOOL.js} +1 -1
  35. package/dist/{chunk-WWEVS7RO.js → chunk-ZOUJP3EY.js} +106 -80
  36. package/dist/{chunk-6WQCLCBO.js → chunk-ZRKFDE6M.js} +1 -1
  37. package/dist/{ci-workflow-ORZ4F45F.js → ci-workflow-JEYYCBOC.js} +2 -2
  38. package/dist/{dist-LHINSVK4.js → dist-3HW4LCHE.js} +15 -1
  39. package/dist/{docs-AU3DXFFO.js → docs-YRMW7UED.js} +3 -3
  40. package/dist/{engine-6GPWOYQH.js → engine-E7H5U3AC.js} +2 -2
  41. package/dist/{entropy-VLKDRMRT.js → entropy-3JBKCGJJ.js} +2 -2
  42. package/dist/{feedback-YXYY44ZC.js → feedback-U6VJ6AUJ.js} +1 -1
  43. package/dist/{generate-agent-definitions-XIHQPKG3.js → generate-agent-definitions-S2FRZF4Y.js} +3 -3
  44. package/dist/hooks/format-check.js +202 -0
  45. package/dist/hooks/quality-warner.js +32 -0
  46. package/dist/hooks/strict-quality-gate.js +48 -0
  47. package/dist/index.d.ts +8 -8
  48. package/dist/index.js +22 -22
  49. package/dist/{loader-YAN56MT3.js → loader-RGQJYERV.js} +2 -2
  50. package/dist/{mcp-RK3SFVYB.js → mcp-NDTFZXWF.js} +13 -13
  51. package/dist/{performance-64DPTLLQ.js → performance-FPWKC4CN.js} +3 -3
  52. package/dist/{review-pipeline-NENG6LW7.js → review-pipeline-WUHG7PHO.js} +2 -2
  53. package/dist/{runtime-FFIIRT2T.js → runtime-Q3ORD7LW.js} +2 -2
  54. package/dist/{security-3PIBN35B.js → security-JDHTRBGC.js} +1 -1
  55. package/dist/{validate-7IAF2ES3.js → validate-G3LKBOYA.js} +3 -3
  56. package/dist/{validate-cross-check-QPSAOZKD.js → validate-cross-check-4ITA72DF.js} +2 -2
  57. package/package.json +8 -8
  58. package/dist/hooks/quality-gate.js +0 -131
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  generateRuntime
3
- } from "./chunk-6WQCLCBO.js";
3
+ } from "./chunk-ZRKFDE6M.js";
4
4
  import {
5
5
  generateAgentsMd
6
- } from "./chunk-QBC7DI4Q.js";
6
+ } from "./chunk-TCVQVHEF.js";
7
7
  import {
8
8
  generateCIWorkflow
9
- } from "./chunk-GSP2XIVS.js";
9
+ } from "./chunk-XEOSSKIB.js";
10
10
  import {
11
11
  createGenerateAgentDefinitionsCommand,
12
12
  generateAgentDefinitions
13
- } from "./chunk-NWLGL3IR.js";
13
+ } from "./chunk-FUH4J43G.js";
14
14
  import {
15
15
  toKebabCase
16
16
  } from "./chunk-KET4QQZB.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-2N4OENGE.js";
21
21
  import {
22
22
  TemplateEngine
23
- } from "./chunk-UX3PQKVZ.js";
23
+ } from "./chunk-BXKNWSG4.js";
24
24
  import {
25
25
  generate,
26
26
  validate
@@ -31,7 +31,7 @@ import {
31
31
  import {
32
32
  listPersonas,
33
33
  loadPersona
34
- } from "./chunk-PC2R5RUJ.js";
34
+ } from "./chunk-TE5YHHHZ.js";
35
35
  import {
36
36
  runPersona
37
37
  } from "./chunk-GISMXMVL.js";
@@ -46,7 +46,7 @@ import {
46
46
  OutputMode,
47
47
  createCheckPhaseGateCommand,
48
48
  findFiles
49
- } from "./chunk-KAJOS3BA.js";
49
+ } from "./chunk-LMZ2JTNP.js";
50
50
  import {
51
51
  appendFrameworkAgents,
52
52
  captureHealthSnapshot,
@@ -74,7 +74,7 @@ import {
74
74
  runSecurityCraft,
75
75
  runSpecCraft,
76
76
  runTestCraft
77
- } from "./chunk-WWEVS7RO.js";
77
+ } from "./chunk-ZOUJP3EY.js";
78
78
  import {
79
79
  VALID_PLATFORMS
80
80
  } from "./chunk-3ISINLYT.js";
@@ -99,7 +99,7 @@ import {
99
99
  BranchingConfigSchema,
100
100
  findConfigFile,
101
101
  resolveConfig
102
- } from "./chunk-GGKRA7A7.js";
102
+ } from "./chunk-YQAFKOOL.js";
103
103
  import {
104
104
  logger
105
105
  } from "./chunk-EBJQ6N4M.js";
@@ -199,7 +199,7 @@ import {
199
199
  validateStrategy,
200
200
  writeConfig,
201
201
  writeLockfile
202
- } from "./chunk-N24HCQA4.js";
202
+ } from "./chunk-A65QO5KN.js";
203
203
  import {
204
204
  CLI_VERSION
205
205
  } from "./chunk-BM3PWGXQ.js";
@@ -425,7 +425,7 @@ function registerSkillsCommand(adoption) {
425
425
  const globalOpts = cmd.optsWithGlobals();
426
426
  const limit = Math.max(parseInt(opts.limit, 10) || 20, 1);
427
427
  const cwd = process.cwd();
428
- const { readAdoptionRecords, aggregateBySkill } = await import("./dist-LHINSVK4.js");
428
+ const { readAdoptionRecords, aggregateBySkill } = await import("./dist-3HW4LCHE.js");
429
429
  const records = readAdoptionRecords(cwd);
430
430
  if (records.length === 0) {
431
431
  if (globalOpts.json) {
@@ -461,7 +461,7 @@ function registerRecentCommand(adoption) {
461
461
  const globalOpts = cmd.optsWithGlobals();
462
462
  const limit = Math.max(parseInt(opts.limit, 10) || 20, 1);
463
463
  const cwd = process.cwd();
464
- const { readAdoptionRecords } = await import("./dist-LHINSVK4.js");
464
+ const { readAdoptionRecords } = await import("./dist-3HW4LCHE.js");
465
465
  const records = readAdoptionRecords(cwd);
466
466
  if (records.length === 0) {
467
467
  if (globalOpts.json) {
@@ -539,7 +539,7 @@ function registerSkillCommand(adoption) {
539
539
  adoption.command("skill <name>").description("Show detail for a specific skill").action(async (name, _opts, cmd) => {
540
540
  const globalOpts = cmd.optsWithGlobals();
541
541
  const cwd = process.cwd();
542
- const { readAdoptionRecords, aggregateBySkill } = await import("./dist-LHINSVK4.js");
542
+ const { readAdoptionRecords, aggregateBySkill } = await import("./dist-3HW4LCHE.js");
543
543
  const records = readAdoptionRecords(cwd);
544
544
  const skillRecords = records.filter((r) => r.skill === name);
545
545
  if (skillRecords.length === 0) {
@@ -4785,10 +4785,16 @@ import { fileURLToPath as fileURLToPath2 } from "url";
4785
4785
  var HOOK_SCRIPTS = [
4786
4786
  { name: "block-no-verify", event: "PreToolUse", matcher: "Bash", minProfile: "minimal" },
4787
4787
  { name: "protect-config", event: "PreToolUse", matcher: "Write|Edit", minProfile: "standard" },
4788
- { name: "quality-gate", event: "PostToolUse", matcher: "Edit|Write", minProfile: "standard" },
4788
+ { name: "quality-warner", event: "PostToolUse", matcher: "Edit|Write", minProfile: "standard" },
4789
4789
  { name: "pre-compact-state", event: "PreCompact", matcher: "*", minProfile: "standard" },
4790
4790
  { name: "adoption-tracker", event: "Stop", matcher: "*", minProfile: "standard" },
4791
4791
  { name: "telemetry-reporter", event: "Stop", matcher: "*", minProfile: "standard" },
4792
+ {
4793
+ name: "strict-quality-gate",
4794
+ event: "PostToolUse",
4795
+ matcher: "Edit|Write",
4796
+ minProfile: "strict"
4797
+ },
4792
4798
  { name: "cost-tracker", event: "Stop", matcher: "*", minProfile: "strict" },
4793
4799
  { name: "sentinel-pre", event: "PreToolUse", matcher: "*", minProfile: "strict" },
4794
4800
  { name: "sentinel-post", event: "PostToolUse", matcher: "*", minProfile: "strict" }
@@ -4806,6 +4812,21 @@ var PROFILES = {
4806
4812
  strict: hooksForProfile("strict")
4807
4813
  };
4808
4814
 
4815
+ // src/hooks/support-files.ts
4816
+ var HOOK_SUPPORT_FILES = {
4817
+ "quality-warner": ["format-check.js"],
4818
+ "strict-quality-gate": ["format-check.js"]
4819
+ };
4820
+ function supportFilesFor(hookNames) {
4821
+ const files = /* @__PURE__ */ new Set();
4822
+ for (const name of hookNames) {
4823
+ for (const file of HOOK_SUPPORT_FILES[name] ?? []) {
4824
+ files.add(file);
4825
+ }
4826
+ }
4827
+ return [...files];
4828
+ }
4829
+
4809
4830
  // src/commands/hooks/init.ts
4810
4831
  var __filename2 = fileURLToPath2(import.meta.url);
4811
4832
  var __dirname2 = path22.dirname(__filename2);
@@ -4876,6 +4897,13 @@ function initHooks(options) {
4876
4897
  copiedScripts.push(script.name);
4877
4898
  }
4878
4899
  }
4900
+ for (const supportFile of supportFilesFor(activeNames)) {
4901
+ const srcFile = path22.join(sourceDir, supportFile);
4902
+ const destFile = path22.join(hooksDestDir, supportFile);
4903
+ if (fs9.existsSync(srcFile)) {
4904
+ fs9.copyFileSync(srcFile, destFile);
4905
+ }
4906
+ }
4879
4907
  const profilePath = path22.join(hooksDestDir, "profile.json");
4880
4908
  fs9.writeFileSync(profilePath, JSON.stringify({ profile }, null, 2) + "\n");
4881
4909
  const claudeDir = path22.join(projectDir, ".claude");
@@ -5095,6 +5123,13 @@ function addHooks(hookName, projectDir) {
5095
5123
  }
5096
5124
  registerHook(settings, def.event, def.matcher, name);
5097
5125
  }
5126
+ for (const supportFile of supportFilesFor(names)) {
5127
+ const src = path25.join(srcDir, supportFile);
5128
+ const dest = path25.join(destDir, supportFile);
5129
+ if (fs12.existsSync(src)) {
5130
+ fs12.copyFileSync(src, dest);
5131
+ }
5132
+ }
5098
5133
  fs12.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
5099
5134
  return result;
5100
5135
  }
@@ -5953,7 +5988,7 @@ function createInsightsCommand() {
5953
5988
  return new Command45("insights").description("Composite project report \u2014 health, entropy, decay, attention, impact.").option("--json", "Emit JSON to stdout instead of pretty text").option("--skip <list>", `Comma-separated keys to skip (${INSIGHTS_KEYS.join(",")})`).action(async (opts) => {
5954
5989
  const cwd = process.cwd();
5955
5990
  const skip = parseSkip2(opts.skip);
5956
- const { composeInsights } = await import("./dist-LHINSVK4.js");
5991
+ const { composeInsights } = await import("./dist-3HW4LCHE.js");
5957
5992
  const report = await composeInsights(cwd, { skip });
5958
5993
  if (opts.json) {
5959
5994
  console.log(JSON.stringify(report, null, 2));
@@ -7663,7 +7698,7 @@ function createMcpCommand() {
7663
7698
  parseBudget
7664
7699
  ).action(async (opts) => {
7665
7700
  const [{ startServer: startServer2, getToolDefinitions: getToolDefinitions2 }, { selectTier }] = await Promise.all([
7666
- import("./mcp-RK3SFVYB.js"),
7701
+ import("./mcp-NDTFZXWF.js"),
7667
7702
  import("./tool-tiers-OKK5FE57.js")
7668
7703
  ]);
7669
7704
  if (opts.tools && opts.tools.length > 0) {
@@ -8738,7 +8773,7 @@ function registerBenchCommand(perf) {
8738
8773
  perf.command("bench [glob]").description("Run benchmarks via vitest bench").action(async (glob2, _opts, cmd) => {
8739
8774
  const globalOpts = cmd.optsWithGlobals();
8740
8775
  const cwd = process.cwd();
8741
- const { BenchmarkRunner } = await import("./dist-LHINSVK4.js");
8776
+ const { BenchmarkRunner } = await import("./dist-3HW4LCHE.js");
8742
8777
  const runner = new BenchmarkRunner();
8743
8778
  const benchFiles = runner.discover(cwd, glob2);
8744
8779
  if (benchFiles.length === 0) {
@@ -8802,7 +8837,7 @@ async function runBaselinesShow(globalOpts) {
8802
8837
  }
8803
8838
  async function runBaselinesUpdate(globalOpts) {
8804
8839
  const cwd = process.cwd();
8805
- const { BenchmarkRunner } = await import("./dist-LHINSVK4.js");
8840
+ const { BenchmarkRunner } = await import("./dist-3HW4LCHE.js");
8806
8841
  const runner = new BenchmarkRunner();
8807
8842
  const manager = new BaselineManager(cwd);
8808
8843
  logger.info("Running benchmarks to update baselines...");
@@ -8843,7 +8878,7 @@ function registerReportCommand(perf) {
8843
8878
  perf.command("report").description("Full performance report with metrics, trends, and hotspots").action(async (_opts, cmd) => {
8844
8879
  const globalOpts = cmd.optsWithGlobals();
8845
8880
  const cwd = process.cwd();
8846
- const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-LHINSVK4.js");
8881
+ const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-3HW4LCHE.js");
8847
8882
  const analyzer = new EntropyAnalyzer2({
8848
8883
  rootDir: path47.resolve(cwd),
8849
8884
  analyze: { complexity: true, coupling: true }
@@ -9370,7 +9405,7 @@ async function runPublishAnalyses(opts) {
9370
9405
  const nameToExternalId = await buildNameToExternalIdMap(projectPath);
9371
9406
  if (!nameToExternalId) return process.exit(1);
9372
9407
  const { AnalysisArchive } = await import("@harness-engineering/orchestrator");
9373
- const { GitHubIssuesSyncAdapter: GitHubIssuesSyncAdapter2 } = await import("./dist-LHINSVK4.js");
9408
+ const { GitHubIssuesSyncAdapter: GitHubIssuesSyncAdapter2 } = await import("./dist-3HW4LCHE.js");
9374
9409
  const archive = new AnalysisArchive(path49.join(projectPath, ".harness", "analyses"));
9375
9410
  const analyses = await archive.list();
9376
9411
  if (analyses.length === 0) {
@@ -12499,7 +12534,7 @@ async function runSyncAnalyses(opts) {
12499
12534
  return;
12500
12535
  }
12501
12536
  const { AnalysisArchive, loadPublishedIndex: loadPublishedIndex2, savePublishedIndex: savePublishedIndex2 } = await import("@harness-engineering/orchestrator");
12502
- const { GitHubIssuesSyncAdapter: GitHubIssuesSyncAdapter2 } = await import("./dist-LHINSVK4.js");
12537
+ const { GitHubIssuesSyncAdapter: GitHubIssuesSyncAdapter2 } = await import("./dist-3HW4LCHE.js");
12503
12538
  const adapter = new GitHubIssuesSyncAdapter2({ token, config: trackerConfig });
12504
12539
  const archive = new AnalysisArchive(path67.join(projectPath, ".harness", "analyses"));
12505
12540
  const publishedIndex = loadPublishedIndex2(projectPath);
@@ -13707,7 +13742,7 @@ function createUpdateCommand() {
13707
13742
  // src/commands/usage.ts
13708
13743
  import { Command as Command119 } from "commander";
13709
13744
  async function loadAndPriceRecords(cwd, includeClaudeSessions = false) {
13710
- const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-LHINSVK4.js");
13745
+ const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-3HW4LCHE.js");
13711
13746
  const records = readCostRecords(cwd);
13712
13747
  if (includeClaudeSessions) {
13713
13748
  const ccRecords = parseCCRecords();
@@ -13800,7 +13835,7 @@ function registerDailyCommand(usage) {
13800
13835
  else logger.info("No usage data found. Run some harness sessions first.");
13801
13836
  return;
13802
13837
  }
13803
- const { aggregateByDay } = await import("./dist-LHINSVK4.js");
13838
+ const { aggregateByDay } = await import("./dist-3HW4LCHE.js");
13804
13839
  const limited = aggregateByDay(records).slice(0, days);
13805
13840
  if (globalOpts.json) {
13806
13841
  console.log(
@@ -13829,7 +13864,7 @@ function registerSessionsCommand(usage) {
13829
13864
  }
13830
13865
  return;
13831
13866
  }
13832
- const { aggregateBySession } = await import("./dist-LHINSVK4.js");
13867
+ const { aggregateBySession } = await import("./dist-3HW4LCHE.js");
13833
13868
  const sessionData = aggregateBySession(records);
13834
13869
  const limited = sessionData.slice(0, limit);
13835
13870
  if (globalOpts.json) {
@@ -13909,7 +13944,7 @@ function registerSessionCommand(usage) {
13909
13944
  cwd,
13910
13945
  globalOpts.includeClaudeSessions
13911
13946
  );
13912
- const { aggregateBySession } = await import("./dist-LHINSVK4.js");
13947
+ const { aggregateBySession } = await import("./dist-3HW4LCHE.js");
13913
13948
  const sessionData = aggregateBySession(records);
13914
13949
  const match = sessionData.find((s) => s.sessionId === id);
13915
13950
  if (!match) {
@@ -13944,7 +13979,7 @@ function registerLatestCommand(usage) {
13944
13979
  }
13945
13980
  return;
13946
13981
  }
13947
- const { aggregateBySession } = await import("./dist-LHINSVK4.js");
13982
+ const { aggregateBySession } = await import("./dist-3HW4LCHE.js");
13948
13983
  const sessionData = aggregateBySession(records);
13949
13984
  const latest = sessionData[0];
13950
13985
  if (!latest) {
@@ -14245,7 +14280,7 @@ function resolveValidateMode(globalOpts) {
14245
14280
  return OutputMode.TEXT;
14246
14281
  }
14247
14282
  async function printCrossCheckWarnings(mode) {
14248
- const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-QPSAOZKD.js");
14283
+ const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-4ITA72DF.js");
14249
14284
  const cwd = process.cwd();
14250
14285
  const crossResult = await runCrossCheck2({
14251
14286
  specsDir: path72.join(cwd, "docs", "specs"),
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-PC2R5RUJ.js";
7
+ } from "./chunk-TE5YHHHZ.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-GGKRA7A7.js";
10
+ } from "./chunk-YQAFKOOL.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-N24HCQA4.js";
13
+ } from "./chunk-A65QO5KN.js";
14
14
  import {
15
15
  Ok
16
16
  } from "./chunk-BDGTZRZ6.js";
@@ -50,12 +50,12 @@ async function handleCheckDocs(input) {
50
50
  const projectPath = sanitizePath(input.path);
51
51
  const scope = input.scope ?? "coverage";
52
52
  if (scope === "integrity") {
53
- const { validateKnowledgeMap } = await import("./dist-LHINSVK4.js");
53
+ const { validateKnowledgeMap } = await import("./dist-3HW4LCHE.js");
54
54
  const result2 = await validateKnowledgeMap(projectPath);
55
55
  return resultToMcpResponse(result2);
56
56
  }
57
57
  if (scope === "all") {
58
- const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-LHINSVK4.js");
58
+ const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-3HW4LCHE.js");
59
59
  const domain2 = input.domain ?? "src";
60
60
  const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-HHXN5FLP.js");
61
61
  const store2 = await loadGraphStore2(projectPath);
@@ -94,7 +94,7 @@ async function handleCheckDocs(input) {
94
94
  }
95
95
  return resultToMcpResponse(Ok({ coverage, integrity }));
96
96
  }
97
- const { checkDocCoverage } = await import("./dist-LHINSVK4.js");
97
+ const { checkDocCoverage } = await import("./dist-3HW4LCHE.js");
98
98
  const domain = input.domain ?? "src";
99
99
  const { loadGraphStore } = await import("./graph-loader-HHXN5FLP.js");
100
100
  const store = await loadGraphStore(projectPath);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Ok
6
6
  } from "./chunk-BDGTZRZ6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveConfig
3
- } from "./chunk-GGKRA7A7.js";
3
+ } from "./chunk-YQAFKOOL.js";
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-EBJQ6N4M.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3WGJMBKH.js";
10
10
  import {
11
11
  init_dist
12
- } from "./chunk-N24HCQA4.js";
12
+ } from "./chunk-A65QO5KN.js";
13
13
  import {
14
14
  Ok
15
15
  } from "./chunk-BDGTZRZ6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-DE5U6KOL.js";
3
+ } from "./chunk-XZ2Q4UTW.js";
4
4
  import {
5
5
  resultToMcpResponse
6
6
  } from "./chunk-RC3OI5NK.js";
@@ -38,7 +38,7 @@ async function handleCheckDependencies(input) {
38
38
  const configResult = resolveProjectConfig(projectPath);
39
39
  if (!configResult.ok) return resultToMcpResponse(configResult);
40
40
  try {
41
- const { validateDependencies, TypeScriptParser } = await import("./dist-LHINSVK4.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-3HW4LCHE.js");
42
42
  const config = configResult.value;
43
43
  const rawLayers = Array.isArray(config.layers) ? config.layers : [];
44
44
  const layers = rawLayers.map((l) => ({
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-W6Y7ZW3Y.js";
7
7
  import {
8
8
  init_dist
9
- } from "./chunk-N24HCQA4.js";
9
+ } from "./chunk-A65QO5KN.js";
10
10
  import {
11
11
  Ok
12
12
  } from "./chunk-BDGTZRZ6.js";
@@ -127,7 +127,7 @@ function buildSummaryResponse(report) {
127
127
  }
128
128
  async function handleDetectEntropy(input) {
129
129
  try {
130
- const { EntropyAnalyzer } = await import("./dist-LHINSVK4.js");
130
+ const { EntropyAnalyzer } = await import("./dist-3HW4LCHE.js");
131
131
  const typeFilter = input.type ?? "all";
132
132
  const analyzer = new EntropyAnalyzer({
133
133
  rootDir: sanitizePath(input.path),
@@ -146,7 +146,7 @@ async function handleDetectEntropy(input) {
146
146
  return resultToMcpResponse(result);
147
147
  }
148
148
  if (!result.ok) return resultToMcpResponse(result);
149
- const { createFixes, applyFixes, generateSuggestions } = await import("./dist-LHINSVK4.js");
149
+ const { createFixes, applyFixes, generateSuggestions } = await import("./dist-3HW4LCHE.js");
150
150
  const report = result.value;
151
151
  const deadCode = report.deadCode;
152
152
  const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-GGKRA7A7.js";
10
+ } from "./chunk-YQAFKOOL.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-N24HCQA4.js";
13
+ } from "./chunk-A65QO5KN.js";
14
14
  import {
15
15
  Ok
16
16
  } from "./chunk-BDGTZRZ6.js";
@@ -35,7 +35,7 @@ var checkPerformanceDefinition = {
35
35
  };
36
36
  async function handleCheckPerformance(input) {
37
37
  try {
38
- const { EntropyAnalyzer } = await import("./dist-LHINSVK4.js");
38
+ const { EntropyAnalyzer } = await import("./dist-3HW4LCHE.js");
39
39
  const typeFilter = input.type ?? "all";
40
40
  const projectPath = sanitizePath(input.path);
41
41
  let entryPoints;
@@ -98,7 +98,7 @@ var getPerfBaselinesDefinition = {
98
98
  };
99
99
  async function handleGetPerfBaselines(input) {
100
100
  try {
101
- const { BaselineManager } = await import("./dist-LHINSVK4.js");
101
+ const { BaselineManager } = await import("./dist-3HW4LCHE.js");
102
102
  const manager = new BaselineManager(sanitizePath(input.path));
103
103
  const baselines = manager.load();
104
104
  return resultToMcpResponse(
@@ -146,7 +146,7 @@ var updatePerfBaselinesDefinition = {
146
146
  };
147
147
  async function handleUpdatePerfBaselines(input) {
148
148
  try {
149
- const { BaselineManager } = await import("./dist-LHINSVK4.js");
149
+ const { BaselineManager } = await import("./dist-3HW4LCHE.js");
150
150
  const manager = new BaselineManager(sanitizePath(input.path));
151
151
  manager.save(input.results, input.commitHash);
152
152
  const updated = manager.load();
@@ -176,7 +176,7 @@ var getCriticalPathsDefinition = {
176
176
  };
177
177
  async function handleGetCriticalPaths(input) {
178
178
  try {
179
- const { CriticalPathResolver } = await import("./dist-LHINSVK4.js");
179
+ const { CriticalPathResolver } = await import("./dist-3HW4LCHE.js");
180
180
  const resolver = new CriticalPathResolver(sanitizePath(input.path));
181
181
  const result = await resolver.resolve();
182
182
  return resultToMcpResponse(Ok(result));
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-DE5U6KOL.js";
3
+ } from "./chunk-XZ2Q4UTW.js";
4
4
  import {
5
5
  sanitizePath
6
6
  } from "./chunk-W6Y7ZW3Y.js";
@@ -49,7 +49,7 @@ async function handleValidateProject(input) {
49
49
  checks.config = "pass";
50
50
  const config = configResult.value;
51
51
  try {
52
- const core = await import("./dist-LHINSVK4.js");
52
+ const core = await import("./dist-3HW4LCHE.js");
53
53
  if (typeof core.validateFileStructure === "function" && Array.isArray(config.conventions)) {
54
54
  const conventions = config.conventions;
55
55
  const structureResult = await core.validateFileStructure(projectPath, conventions);
@@ -68,7 +68,7 @@ async function handleValidateProject(input) {
68
68
  } catch {
69
69
  }
70
70
  try {
71
- const core = await import("./dist-LHINSVK4.js");
71
+ const core = await import("./dist-3HW4LCHE.js");
72
72
  if (typeof core.validateAgentsMap === "function") {
73
73
  const agentsMapPath = path.join(projectPath, "AGENTS.md");
74
74
  const agentsResult = await core.validateAgentsMap(agentsMapPath);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -75,7 +75,7 @@ async function handleAssessProject(input) {
75
75
  let validateResult = null;
76
76
  if (checksToRun.has("validate")) {
77
77
  try {
78
- const { handleValidateProject } = await import("./validate-7IAF2ES3.js");
78
+ const { handleValidateProject } = await import("./validate-G3LKBOYA.js");
79
79
  const result = await handleValidateProject({ path: projectPath });
80
80
  const out = parseToolResponse(result, "validate");
81
81
  if ("error" in out) {
@@ -104,7 +104,7 @@ async function handleAssessProject(input) {
104
104
  parallelChecks.push(
105
105
  (async () => {
106
106
  try {
107
- const { handleCheckDependencies } = await import("./architecture-JEZPJ725.js");
107
+ const { handleCheckDependencies } = await import("./architecture-5KPP4ID4.js");
108
108
  const result = await handleCheckDependencies({ path: projectPath });
109
109
  const out = parseToolResponse(result, "deps");
110
110
  if ("error" in out) return out.error;
@@ -132,7 +132,7 @@ async function handleAssessProject(input) {
132
132
  parallelChecks.push(
133
133
  (async () => {
134
134
  try {
135
- const { handleCheckDocs } = await import("./docs-AU3DXFFO.js");
135
+ const { handleCheckDocs } = await import("./docs-YRMW7UED.js");
136
136
  const result = await handleCheckDocs({ path: projectPath, scope: "coverage" });
137
137
  const out = parseToolResponse(result, "docs");
138
138
  if ("error" in out) return out.error;
@@ -160,7 +160,7 @@ async function handleAssessProject(input) {
160
160
  parallelChecks.push(
161
161
  (async () => {
162
162
  try {
163
- const { handleDetectEntropy } = await import("./entropy-VLKDRMRT.js");
163
+ const { handleDetectEntropy } = await import("./entropy-3JBKCGJJ.js");
164
164
  const result = await handleDetectEntropy({ path: projectPath, type: "all" });
165
165
  const out = parseToolResponse(result, "entropy");
166
166
  if ("error" in out) return out.error;
@@ -191,7 +191,7 @@ async function handleAssessProject(input) {
191
191
  parallelChecks.push(
192
192
  (async () => {
193
193
  try {
194
- const { handleRunSecurityScan } = await import("./security-3PIBN35B.js");
194
+ const { handleRunSecurityScan } = await import("./security-JDHTRBGC.js");
195
195
  const result = await handleRunSecurityScan({ path: projectPath });
196
196
  const out = parseToolResponse(result, "security");
197
197
  if ("error" in out) return out.error;
@@ -224,7 +224,7 @@ async function handleAssessProject(input) {
224
224
  parallelChecks.push(
225
225
  (async () => {
226
226
  try {
227
- const { handleCheckPerformance } = await import("./performance-64DPTLLQ.js");
227
+ const { handleCheckPerformance } = await import("./performance-FPWKC4CN.js");
228
228
  const result = await handleCheckPerformance({ path: projectPath });
229
229
  if ("isError" in result && result.isError) {
230
230
  const msg = result.content[0]?.text ?? "Performance check failed";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3WGJMBKH.js";
8
8
  import {
9
9
  init_dist as init_dist2
10
- } from "./chunk-N24HCQA4.js";
10
+ } from "./chunk-A65QO5KN.js";
11
11
  import {
12
12
  Err,
13
13
  Ok