@harness-engineering/cli 1.28.0 → 2.0.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 (52) hide show
  1. package/dist/{agents-md-76IEMV6O.js → agents-md-6SAMHE7H.js} +3 -3
  2. package/dist/{architecture-5GVJRRUD.js → architecture-5YR52NSV.js} +4 -4
  3. package/dist/{assess-project-WDUFL7SO.js → assess-project-5X7TYQFM.js} +1 -1
  4. package/dist/bin/harness-mcp.js +15 -15
  5. package/dist/bin/harness.js +25 -25
  6. package/dist/{check-phase-gate-QR3ONJYP.js → check-phase-gate-PLV2VDOL.js} +4 -4
  7. package/dist/{chunk-WPSM7WT6.js → chunk-2IBXUG6J.js} +2 -2
  8. package/dist/{chunk-TFNQ72RF.js → chunk-5ME3WG3G.js} +5 -5
  9. package/dist/{chunk-Z7ZF2XDL.js → chunk-6GXSJGSW.js} +3 -3
  10. package/dist/{chunk-77OMOFZL.js → chunk-6L2BU4BP.js} +1 -1
  11. package/dist/{chunk-OPOSSZJS.js → chunk-74YADB7T.js} +92 -92
  12. package/dist/{chunk-E7QD4YHA.js → chunk-7JQ7HLM4.js} +8 -8
  13. package/dist/{chunk-L4RURCSF.js → chunk-BFBZK6BC.js} +6 -6
  14. package/dist/{chunk-AJG2LCMA.js → chunk-BYS3TQOO.js} +1 -1
  15. package/dist/{chunk-VITLE3PS.js → chunk-DXGI7DL3.js} +1 -1
  16. package/dist/{chunk-QZ46CI6E.js → chunk-ELJ2MXMO.js} +9 -9
  17. package/dist/{chunk-H43UQY6B.js → chunk-HT7HYYGT.js} +1 -1
  18. package/dist/{chunk-LINAFNIK.js → chunk-JNKALGRM.js} +5 -5
  19. package/dist/{chunk-CS7K6ZQ3.js → chunk-JZST2WZS.js} +2 -2
  20. package/dist/{chunk-KLE6FXWM.js → chunk-KJD4J54I.js} +1 -1
  21. package/dist/{chunk-Z63IDQ7Y.js → chunk-MTPHNOJW.js} +36 -36
  22. package/dist/{chunk-YZZVOT7I.js → chunk-PFM3BVVU.js} +1 -1
  23. package/dist/{chunk-USG7DV5N.js → chunk-QDRBWVVY.js} +2 -2
  24. package/dist/{chunk-D25P6763.js → chunk-R2CBBZA6.js} +1 -1
  25. package/dist/{chunk-6JBJ5FSW.js → chunk-RFYF7TJS.js} +1 -1
  26. package/dist/{chunk-3WLXR23L.js → chunk-RYDPFIJY.js} +1 -1
  27. package/dist/{chunk-X7XQ3ELM.js → chunk-S2WB4LE7.js} +5 -0
  28. package/dist/{chunk-K5ZOBBQB.js → chunk-SITVRO7K.js} +9 -9
  29. package/dist/{chunk-ILVO6LZY.js → chunk-XHOGGZS7.js} +1 -1
  30. package/dist/{chunk-DHGL3SF2.js → chunk-YJE23GRZ.js} +1 -1
  31. package/dist/{chunk-OQS7KURX.js → chunk-ZYLBIDLE.js} +1 -1
  32. package/dist/{ci-workflow-GYQXE5X4.js → ci-workflow-7T2XKB3P.js} +3 -3
  33. package/dist/{dist-BP6E6QGG.js → dist-42AYXCAK.js} +1 -1
  34. package/dist/{dist-46VOJIG4.js → dist-77VNTHWV.js} +2 -2
  35. package/dist/{docs-CVQMSMQC.js → docs-MSIJ6SDO.js} +4 -4
  36. package/dist/{engine-23PJMRHA.js → engine-F4P5RBE4.js} +3 -3
  37. package/dist/{entropy-K2YTZFCP.js → entropy-GSUTIORR.js} +3 -3
  38. package/dist/{feedback-6HP42GTK.js → feedback-NST6T4HI.js} +1 -1
  39. package/dist/{generate-agent-definitions-6RJKL6VW.js → generate-agent-definitions-BOUGQIPA.js} +4 -4
  40. package/dist/{graph-loader-BI3OFFFS.js → graph-loader-IAUPGLRV.js} +1 -1
  41. package/dist/index.js +25 -25
  42. package/dist/{loader-U2WEC3PZ.js → loader-6QTJC7IN.js} +3 -3
  43. package/dist/{mcp-N6XVWPXJ.js → mcp-QFBGTUX6.js} +15 -15
  44. package/dist/{performance-T3XAESWR.js → performance-B2NAAIE5.js} +4 -4
  45. package/dist/{review-pipeline-HTC5HA5X.js → review-pipeline-6EYMBS6B.js} +3 -3
  46. package/dist/{runtime-UFXMNN3Q.js → runtime-VFZK6BCZ.js} +3 -3
  47. package/dist/{scan-XRGMTO6K.js → scan-DB6FNYGG.js} +1 -1
  48. package/dist/{security-ROK5IFDA.js → security-HRNTYHPM.js} +1 -1
  49. package/dist/templates/orchestrator/harness.orchestrator.md +22 -7
  50. package/dist/{validate-IJHHQHT5.js → validate-YEMAFWJE.js} +4 -4
  51. package/dist/{validate-cross-check-LUQYIA46.js → validate-cross-check-DGHTJFVH.js} +3 -3
  52. package/package.json +7 -7
@@ -2,11 +2,11 @@ import {
2
2
  handleRunCodeReview,
3
3
  runCodeReviewDefinition,
4
4
  sortFindingsBySeverity
5
- } from "./chunk-WPSM7WT6.js";
5
+ } from "./chunk-2IBXUG6J.js";
6
6
  import {
7
7
  assessProjectDefinition,
8
8
  handleAssessProject
9
- } from "./chunk-L4RURCSF.js";
9
+ } from "./chunk-BFBZK6BC.js";
10
10
  import {
11
11
  getBusinessKnowledgeResource
12
12
  } from "./chunk-IOW3MW2K.js";
@@ -17,35 +17,35 @@ import {
17
17
  handleCreateSelfReview,
18
18
  handleRequestPeerReview,
19
19
  requestPeerReviewDefinition
20
- } from "./chunk-K5ZOBBQB.js";
20
+ } from "./chunk-SITVRO7K.js";
21
21
  import {
22
22
  getSecurityTrendsDefinition,
23
23
  handleGetSecurityTrends,
24
24
  handleRunSecurityScan,
25
25
  runSecurityScanDefinition
26
- } from "./chunk-CS7K6ZQ3.js";
26
+ } from "./chunk-JZST2WZS.js";
27
27
  import {
28
28
  loadGraphStore
29
- } from "./chunk-VITLE3PS.js";
29
+ } from "./chunk-DXGI7DL3.js";
30
30
  import {
31
31
  handleValidateProject,
32
32
  validateToolDefinition
33
- } from "./chunk-Z7ZF2XDL.js";
33
+ } from "./chunk-6GXSJGSW.js";
34
34
  import {
35
35
  checkDependenciesDefinition,
36
36
  handleCheckDependencies
37
- } from "./chunk-TFNQ72RF.js";
37
+ } from "./chunk-5ME3WG3G.js";
38
38
  import {
39
39
  resolveProjectConfig
40
- } from "./chunk-AJG2LCMA.js";
40
+ } from "./chunk-BYS3TQOO.js";
41
41
  import {
42
42
  checkDocsDefinition,
43
43
  handleCheckDocs
44
- } from "./chunk-QZ46CI6E.js";
44
+ } from "./chunk-ELJ2MXMO.js";
45
45
  import {
46
46
  detectEntropyDefinition,
47
47
  handleDetectEntropy
48
- } from "./chunk-LINAFNIK.js";
48
+ } from "./chunk-JNKALGRM.js";
49
49
  import {
50
50
  checkPerformanceDefinition,
51
51
  getCriticalPathsDefinition,
@@ -55,7 +55,7 @@ import {
55
55
  handleGetPerfBaselines,
56
56
  handleUpdatePerfBaselines,
57
57
  updatePerfBaselinesDefinition
58
- } from "./chunk-E7QD4YHA.js";
58
+ } from "./chunk-7JQ7HLM4.js";
59
59
  import {
60
60
  resultToMcpResponse
61
61
  } from "./chunk-EPUKTTJZ.js";
@@ -67,7 +67,7 @@ import {
67
67
  } from "./chunk-27AJKSQY.js";
68
68
  import {
69
69
  resolveConfig
70
- } from "./chunk-KLE6FXWM.js";
70
+ } from "./chunk-KJD4J54I.js";
71
71
  import {
72
72
  GENERATED_HEADER_CLAUDE,
73
73
  GENERATED_HEADER_CODEX,
@@ -103,7 +103,7 @@ import {
103
103
  scanForInjection,
104
104
  serializeEnvelope,
105
105
  writeTaint
106
- } from "./chunk-6JBJ5FSW.js";
106
+ } from "./chunk-RFYF7TJS.js";
107
107
  import {
108
108
  Err,
109
109
  Ok
@@ -706,7 +706,7 @@ ${skippedMsg}`
706
706
  async function handleInitProject(input) {
707
707
  const i = input;
708
708
  try {
709
- const { TemplateEngine } = await import("./engine-23PJMRHA.js");
709
+ const { TemplateEngine } = await import("./engine-F4P5RBE4.js");
710
710
  const engine = new TemplateEngine(resolveTemplatesDir());
711
711
  const safePath = sanitizePath(i.path);
712
712
  const detected = tryDetectFramework(engine, safePath, i);
@@ -728,7 +728,7 @@ var listPersonasDefinition = {
728
728
  inputSchema: { type: "object", properties: {} }
729
729
  };
730
730
  async function handleListPersonas() {
731
- const { listPersonas } = await import("./loader-U2WEC3PZ.js");
731
+ const { listPersonas } = await import("./loader-6QTJC7IN.js");
732
732
  const result = listPersonas(resolvePersonasDir());
733
733
  return resultToMcpResponse(result);
734
734
  }
@@ -752,10 +752,10 @@ async function handleGeneratePersonaArtifacts(input) {
752
752
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
753
753
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
754
754
  }
755
- const { loadPersona } = await import("./loader-U2WEC3PZ.js");
756
- const { generateRuntime } = await import("./runtime-UFXMNN3Q.js");
757
- const { generateAgentsMd } = await import("./agents-md-76IEMV6O.js");
758
- const { generateCIWorkflow } = await import("./ci-workflow-GYQXE5X4.js");
755
+ const { loadPersona } = await import("./loader-6QTJC7IN.js");
756
+ const { generateRuntime } = await import("./runtime-VFZK6BCZ.js");
757
+ const { generateAgentsMd } = await import("./agents-md-6SAMHE7H.js");
758
+ const { generateCIWorkflow } = await import("./ci-workflow-7T2XKB3P.js");
759
759
  const personasDir = resolvePersonasDir();
760
760
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
761
761
  if (!filePath.startsWith(personasDir)) {
@@ -810,7 +810,7 @@ async function handleRunPersona(input) {
810
810
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
811
811
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
812
812
  }
813
- const { loadPersona } = await import("./loader-U2WEC3PZ.js");
813
+ const { loadPersona } = await import("./loader-6QTJC7IN.js");
814
814
  const { runPersona } = await import("./runner-AAEF2TXY.js");
815
815
  const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
816
816
  const personasDir = resolvePersonasDir();
@@ -1255,7 +1255,7 @@ function loadOrGenerateProfile(projectRoot) {
1255
1255
  // src/mcp/tools/event-emitter.ts
1256
1256
  async function emitSkillEvent(projectPath, event) {
1257
1257
  try {
1258
- const { emitEvent } = await import("./dist-46VOJIG4.js");
1258
+ const { emitEvent } = await import("./dist-77VNTHWV.js");
1259
1259
  await emitEvent(projectPath, event);
1260
1260
  } catch {
1261
1261
  }
@@ -1527,7 +1527,7 @@ async function autoSyncRoadmap(projectPath) {
1527
1527
  try {
1528
1528
  const roadmapFile = path10.join(projectPath, "docs", "roadmap.md");
1529
1529
  if (!fs9.existsSync(roadmapFile)) return;
1530
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-46VOJIG4.js");
1530
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-77VNTHWV.js");
1531
1531
  const raw = fs9.readFileSync(roadmapFile, "utf-8");
1532
1532
  const parseResult = parseRoadmap(raw);
1533
1533
  if (!parseResult.ok) return;
@@ -1557,7 +1557,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1557
1557
  console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
1558
1558
  return;
1559
1559
  }
1560
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-46VOJIG4.js");
1560
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-77VNTHWV.js");
1561
1561
  const adapter = new GitHubIssuesSyncAdapter({
1562
1562
  token,
1563
1563
  config: trackerConfig
@@ -1654,12 +1654,12 @@ var manageStateDefinition = {
1654
1654
  }
1655
1655
  };
1656
1656
  async function handleShow(projectPath, input) {
1657
- const { loadState } = await import("./dist-46VOJIG4.js");
1657
+ const { loadState } = await import("./dist-77VNTHWV.js");
1658
1658
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1659
1659
  }
1660
1660
  async function handleLearn(projectPath, input) {
1661
1661
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1662
- const { appendLearning } = await import("./dist-46VOJIG4.js");
1662
+ const { appendLearning } = await import("./dist-77VNTHWV.js");
1663
1663
  const result = await appendLearning(
1664
1664
  projectPath,
1665
1665
  input.learning,
@@ -1674,7 +1674,7 @@ async function handleLearn(projectPath, input) {
1674
1674
  async function handleFailure(projectPath, input) {
1675
1675
  if (!input.description) return mcpError("Error: description is required for failure action");
1676
1676
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1677
- const { appendFailure } = await import("./dist-46VOJIG4.js");
1677
+ const { appendFailure } = await import("./dist-77VNTHWV.js");
1678
1678
  const result = await appendFailure(
1679
1679
  projectPath,
1680
1680
  input.description,
@@ -1693,19 +1693,19 @@ async function handleFailure(projectPath, input) {
1693
1693
  return resultToMcpResponse(Ok({ recorded: true }));
1694
1694
  }
1695
1695
  async function handleArchive(projectPath, input) {
1696
- const { archiveFailures } = await import("./dist-46VOJIG4.js");
1696
+ const { archiveFailures } = await import("./dist-77VNTHWV.js");
1697
1697
  const result = await archiveFailures(projectPath, input.stream, input.session);
1698
1698
  if (!result.ok) return resultToMcpResponse(result);
1699
1699
  return resultToMcpResponse(Ok({ archived: true }));
1700
1700
  }
1701
1701
  async function handleReset(projectPath, input) {
1702
- const { saveState, DEFAULT_STATE } = await import("./dist-46VOJIG4.js");
1702
+ const { saveState, DEFAULT_STATE } = await import("./dist-77VNTHWV.js");
1703
1703
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1704
1704
  if (!result.ok) return resultToMcpResponse(result);
1705
1705
  return resultToMcpResponse(Ok({ reset: true }));
1706
1706
  }
1707
1707
  async function handleGate(projectPath, input) {
1708
- const { runMechanicalGate } = await import("./dist-46VOJIG4.js");
1708
+ const { runMechanicalGate } = await import("./dist-77VNTHWV.js");
1709
1709
  const result = await runMechanicalGate(projectPath);
1710
1710
  if (result.ok) {
1711
1711
  await emitSkillEvent(projectPath, {
@@ -1725,7 +1725,7 @@ async function handleGate(projectPath, input) {
1725
1725
  }
1726
1726
  async function handleSaveHandoff(projectPath, input) {
1727
1727
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1728
- const { saveHandoff } = await import("./dist-46VOJIG4.js");
1728
+ const { saveHandoff } = await import("./dist-77VNTHWV.js");
1729
1729
  const result = await saveHandoff(
1730
1730
  projectPath,
1731
1731
  input.handoff,
@@ -1747,7 +1747,7 @@ async function handleSaveHandoff(projectPath, input) {
1747
1747
  return resultToMcpResponse(Ok({ saved: true }));
1748
1748
  }
1749
1749
  async function handleLoadHandoff(projectPath, input) {
1750
- const { loadHandoff } = await import("./dist-46VOJIG4.js");
1750
+ const { loadHandoff } = await import("./dist-77VNTHWV.js");
1751
1751
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1752
1752
  }
1753
1753
  async function handleAppendEntry(projectPath, input) {
@@ -1755,7 +1755,7 @@ async function handleAppendEntry(projectPath, input) {
1755
1755
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1756
1756
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1757
1757
  if (input.session) {
1758
- const { appendSessionEntry } = await import("./dist-46VOJIG4.js");
1758
+ const { appendSessionEntry } = await import("./dist-77VNTHWV.js");
1759
1759
  const result = await appendSessionEntry(
1760
1760
  projectPath,
1761
1761
  input.session,
@@ -1768,7 +1768,7 @@ async function handleAppendEntry(projectPath, input) {
1768
1768
  if (input.section !== "decisions") {
1769
1769
  return mcpError("Error: session is required for non-decisions sections");
1770
1770
  }
1771
- const { loadState, saveState } = await import("./dist-46VOJIG4.js");
1771
+ const { loadState, saveState } = await import("./dist-77VNTHWV.js");
1772
1772
  const lr = await loadState(projectPath, input.stream);
1773
1773
  if (!lr.ok) return resultToMcpResponse(lr);
1774
1774
  lr.value.decisions.push({
@@ -1786,7 +1786,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1786
1786
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1787
1787
  if (!input.newStatus)
1788
1788
  return mcpError("Error: newStatus is required for update_entry_status action");
1789
- const { updateSessionEntryStatus } = await import("./dist-46VOJIG4.js");
1789
+ const { updateSessionEntryStatus } = await import("./dist-77VNTHWV.js");
1790
1790
  const result = await updateSessionEntryStatus(
1791
1791
  projectPath,
1792
1792
  input.session,
@@ -1799,7 +1799,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1799
1799
  async function handleReadSection(projectPath, input) {
1800
1800
  if (!input.session) return mcpError("Error: session is required for read_section action");
1801
1801
  if (!input.section) return mcpError("Error: section is required for read_section action");
1802
- const { readSessionSection } = await import("./dist-46VOJIG4.js");
1802
+ const { readSessionSection } = await import("./dist-77VNTHWV.js");
1803
1803
  const result = await readSessionSection(
1804
1804
  projectPath,
1805
1805
  input.session,
@@ -1809,13 +1809,13 @@ async function handleReadSection(projectPath, input) {
1809
1809
  }
1810
1810
  async function handleReadSections(projectPath, input) {
1811
1811
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1812
- const { readSessionSections } = await import("./dist-46VOJIG4.js");
1812
+ const { readSessionSections } = await import("./dist-77VNTHWV.js");
1813
1813
  const result = await readSessionSections(projectPath, input.session);
1814
1814
  return resultToMcpResponse(result);
1815
1815
  }
1816
1816
  async function handleArchiveSession(projectPath, input) {
1817
1817
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1818
- const { archiveSession } = await import("./dist-46VOJIG4.js");
1818
+ const { archiveSession } = await import("./dist-77VNTHWV.js");
1819
1819
  const result = await archiveSession(projectPath, input.session);
1820
1820
  if (!result.ok) return resultToMcpResponse(result);
1821
1821
  await autoSyncRoadmap(projectPath);
@@ -1895,7 +1895,7 @@ var listStreamsDefinition = {
1895
1895
  };
1896
1896
  async function handleListStreams(input) {
1897
1897
  try {
1898
- const { listStreams, loadStreamIndex } = await import("./dist-46VOJIG4.js");
1898
+ const { listStreams, loadStreamIndex } = await import("./dist-77VNTHWV.js");
1899
1899
  const projectPath = sanitizePath(input.path);
1900
1900
  const indexResult = await loadStreamIndex(projectPath);
1901
1901
  const streamsResult = await listStreams(projectPath);
@@ -1933,7 +1933,7 @@ var checkPhaseGateDefinition = {
1933
1933
  };
1934
1934
  async function handleCheckPhaseGate(input) {
1935
1935
  try {
1936
- const { runCheckPhaseGate } = await import("./check-phase-gate-QR3ONJYP.js");
1936
+ const { runCheckPhaseGate } = await import("./check-phase-gate-PLV2VDOL.js");
1937
1937
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
1938
1938
  if (result.ok) {
1939
1939
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -1989,7 +1989,7 @@ async function handleValidateCrossCheck(input) {
1989
1989
  };
1990
1990
  }
1991
1991
  try {
1992
- const { runCrossCheck } = await import("./validate-cross-check-LUQYIA46.js");
1992
+ const { runCrossCheck } = await import("./validate-cross-check-DGHTJFVH.js");
1993
1993
  const specsDir = path11.resolve(projectPath, input.specsDir ?? "docs/specs");
1994
1994
  if (!specsDir.startsWith(projectPath)) {
1995
1995
  return {
@@ -2712,7 +2712,7 @@ async function handleGenerateSlashCommands(input) {
2712
2712
  // src/mcp/resources/state.ts
2713
2713
  async function getStateResource(projectRoot) {
2714
2714
  try {
2715
- const { loadState, migrateToStreams } = await import("./dist-46VOJIG4.js");
2715
+ const { loadState, migrateToStreams } = await import("./dist-77VNTHWV.js");
2716
2716
  await migrateToStreams(projectRoot);
2717
2717
  const result = await loadState(projectRoot);
2718
2718
  if (result.ok) {
@@ -2830,7 +2830,7 @@ async function handleQueryGraph(input) {
2830
2830
  const projectPath = sanitizePath(input.path);
2831
2831
  const store = await loadGraphStore(projectPath);
2832
2832
  if (!store) return graphNotFoundError();
2833
- const { ContextQL } = await import("./dist-BP6E6QGG.js");
2833
+ const { ContextQL } = await import("./dist-42AYXCAK.js");
2834
2834
  const cql = new ContextQL(store);
2835
2835
  const result = cql.execute({
2836
2836
  rootNodeIds: input.rootNodeIds,
@@ -2912,7 +2912,7 @@ async function handleSearchSimilar(input) {
2912
2912
  const projectPath = sanitizePath(input.path);
2913
2913
  const store = await loadGraphStore(projectPath);
2914
2914
  if (!store) return graphNotFoundError();
2915
- const { FusionLayer } = await import("./dist-BP6E6QGG.js");
2915
+ const { FusionLayer } = await import("./dist-42AYXCAK.js");
2916
2916
  const fusion = new FusionLayer(store);
2917
2917
  const results = fusion.search(input.query, input.topK ?? 10);
2918
2918
  if (input.mode === "summary") {
@@ -2967,7 +2967,7 @@ async function handleFindContextFor(input) {
2967
2967
  const projectPath = sanitizePath(input.path);
2968
2968
  const store = await loadGraphStore(projectPath);
2969
2969
  if (!store) return graphNotFoundError();
2970
- const { FusionLayer, ContextQL } = await import("./dist-BP6E6QGG.js");
2970
+ const { FusionLayer, ContextQL } = await import("./dist-42AYXCAK.js");
2971
2971
  const fusion = new FusionLayer(store);
2972
2972
  const cql = new ContextQL(store);
2973
2973
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -3072,7 +3072,7 @@ async function handleGetRelationships(input) {
3072
3072
  const projectPath = sanitizePath(input.path);
3073
3073
  const store = await loadGraphStore(projectPath);
3074
3074
  if (!store) return graphNotFoundError();
3075
- const { ContextQL } = await import("./dist-BP6E6QGG.js");
3075
+ const { ContextQL } = await import("./dist-42AYXCAK.js");
3076
3076
  const cql = new ContextQL(store);
3077
3077
  const direction = input.direction ?? "both";
3078
3078
  const bidirectional = direction === "both" || direction === "inbound";
@@ -3190,7 +3190,7 @@ async function handleGetImpact(input) {
3190
3190
  const projectPath = sanitizePath(input.path);
3191
3191
  const store = await loadGraphStore(projectPath);
3192
3192
  if (!store) return graphNotFoundError();
3193
- const { ContextQL } = await import("./dist-BP6E6QGG.js");
3193
+ const { ContextQL } = await import("./dist-42AYXCAK.js");
3194
3194
  let targetNodeId = input.nodeId;
3195
3195
  if (!targetNodeId && input.filePath) {
3196
3196
  const fileNodes = store.findNodes({ type: "file" });
@@ -3322,7 +3322,7 @@ async function handleIngestSource(input) {
3322
3322
  try {
3323
3323
  const projectPath = sanitizePath(input.path);
3324
3324
  const graphDir = path15.join(projectPath, ".harness", "graph");
3325
- const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-BP6E6QGG.js");
3325
+ const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-42AYXCAK.js");
3326
3326
  const fs17 = await import("fs/promises");
3327
3327
  await fs17.mkdir(graphDir, { recursive: true });
3328
3328
  const store = new GraphStore();
@@ -3346,13 +3346,13 @@ async function handleIngestSource(input) {
3346
3346
  results.push(gitResult);
3347
3347
  }
3348
3348
  if (input.source === "business-signals" || input.source === "all") {
3349
- const { createExtractionRunner } = await import("./dist-BP6E6QGG.js");
3349
+ const { createExtractionRunner } = await import("./dist-42AYXCAK.js");
3350
3350
  const extractedDir = path15.join(projectPath, ".harness", "knowledge", "extracted");
3351
3351
  const signalsResult = await createExtractionRunner().run(projectPath, store, extractedDir);
3352
3352
  results.push(signalsResult);
3353
3353
  }
3354
3354
  if (input.source === "diagrams" || input.source === "all") {
3355
- const { DiagramParser } = await import("./dist-BP6E6QGG.js");
3355
+ const { DiagramParser } = await import("./dist-42AYXCAK.js");
3356
3356
  const diagramParser = new DiagramParser(store);
3357
3357
  const diagramResult = await diagramParser.ingest(projectPath);
3358
3358
  results.push(diagramResult);
@@ -3418,7 +3418,7 @@ async function handleDetectAnomalies(input) {
3418
3418
  const projectPath = sanitizePath(input.path);
3419
3419
  const store = await loadGraphStore(projectPath);
3420
3420
  if (!store) return graphNotFoundError();
3421
- const { GraphAnomalyAdapter } = await import("./dist-BP6E6QGG.js");
3421
+ const { GraphAnomalyAdapter } = await import("./dist-42AYXCAK.js");
3422
3422
  const adapter = new GraphAnomalyAdapter(store);
3423
3423
  const report = adapter.detect({
3424
3424
  ...input.threshold !== void 0 && { threshold: input.threshold },
@@ -3467,7 +3467,7 @@ async function handleAskGraph(input) {
3467
3467
  const projectPath = sanitizePath(input.path);
3468
3468
  const store = await loadGraphStore(projectPath);
3469
3469
  if (!store) return graphNotFoundError();
3470
- const { askGraph } = await import("./dist-BP6E6QGG.js");
3470
+ const { askGraph } = await import("./dist-42AYXCAK.js");
3471
3471
  const result = await askGraph(store, input.question);
3472
3472
  return {
3473
3473
  content: [{ type: "text", text: JSON.stringify(result) }]
@@ -3531,7 +3531,7 @@ async function handleComputeBlastRadius(input) {
3531
3531
  const projectPath = sanitizePath(input.path);
3532
3532
  const store = await loadGraphStore(projectPath);
3533
3533
  if (!store) return graphNotFoundError();
3534
- const { CascadeSimulator } = await import("./dist-BP6E6QGG.js");
3534
+ const { CascadeSimulator } = await import("./dist-42AYXCAK.js");
3535
3535
  let targetNodeId = input.nodeId;
3536
3536
  if (!targetNodeId && input.file) {
3537
3537
  const fileNodes = store.findNodes({ type: "file" });
@@ -3732,7 +3732,7 @@ var generateAgentDefinitionsDefinition = {
3732
3732
  }
3733
3733
  };
3734
3734
  async function handleGenerateAgentDefinitions(input) {
3735
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-6RJKL6VW.js");
3735
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-BOUGQIPA.js");
3736
3736
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3737
3737
  const results = generateAgentDefinitions({
3738
3738
  platforms: [...platforms],
@@ -4064,7 +4064,7 @@ function shouldTriggerExternalSync(input, response) {
4064
4064
  }
4065
4065
  async function handleManageRoadmap(input) {
4066
4066
  try {
4067
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-46VOJIG4.js");
4067
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-77VNTHWV.js");
4068
4068
  const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
4069
4069
  const projectPath = sanitizePath(input.path);
4070
4070
  const deps = {
@@ -4503,7 +4503,7 @@ async function handleTransition(validInput, projectPath, id) {
4503
4503
  const transition = transitionResult.data;
4504
4504
  const prompt = renderTransition(transition);
4505
4505
  try {
4506
- const { saveHandoff } = await import("./dist-46VOJIG4.js");
4506
+ const { saveHandoff } = await import("./dist-77VNTHWV.js");
4507
4507
  await saveHandoff(
4508
4508
  projectPath,
4509
4509
  {
@@ -4584,7 +4584,7 @@ async function handleEmitInteraction(input) {
4584
4584
  }
4585
4585
  async function recordInteraction(projectPath, id, type, decision, stream) {
4586
4586
  try {
4587
- const { loadState, saveState } = await import("./dist-46VOJIG4.js");
4587
+ const { loadState, saveState } = await import("./dist-77VNTHWV.js");
4588
4588
  const stateResult = await loadState(projectPath, stream);
4589
4589
  if (stateResult.ok) {
4590
4590
  const state = stateResult.value;
@@ -4745,10 +4745,10 @@ async function handleGatherContext(input) {
4745
4745
  input.include ?? ["state", "learnings", "handoff", "graph", "validation", "businessKnowledge"]
4746
4746
  );
4747
4747
  const errors = [];
4748
- const statePromise = includeSet.has("state") ? import("./dist-46VOJIG4.js").then(
4748
+ const statePromise = includeSet.has("state") ? import("./dist-77VNTHWV.js").then(
4749
4749
  (core) => core.loadState(projectPath, void 0, input.session)
4750
4750
  ) : Promise.resolve(null);
4751
- const learningsPromise = includeSet.has("learnings") ? import("./dist-46VOJIG4.js").then(
4751
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-77VNTHWV.js").then(
4752
4752
  (core) => core.loadBudgetedLearnings(projectPath, {
4753
4753
  intent: input.intent,
4754
4754
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4757,14 +4757,14 @@ async function handleGatherContext(input) {
4757
4757
  ...input.depth !== void 0 && { depth: input.depth }
4758
4758
  })
4759
4759
  ) : Promise.resolve(null);
4760
- const handoffPromise = includeSet.has("handoff") ? import("./dist-46VOJIG4.js").then(
4760
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-77VNTHWV.js").then(
4761
4761
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4762
4762
  ) : Promise.resolve(null);
4763
4763
  const graphPromise = includeSet.has("graph") ? (async () => {
4764
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-BI3OFFFS.js");
4764
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-IAUPGLRV.js");
4765
4765
  const store = await loadGraphStore2(projectPath);
4766
4766
  if (!store) return null;
4767
- const { FusionLayer, ContextQL } = await import("./dist-BP6E6QGG.js");
4767
+ const { FusionLayer, ContextQL } = await import("./dist-42AYXCAK.js");
4768
4768
  const fusion = new FusionLayer(store);
4769
4769
  const cql = new ContextQL(store);
4770
4770
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -4801,11 +4801,11 @@ async function handleGatherContext(input) {
4801
4801
  context: contextBlocks
4802
4802
  };
4803
4803
  })() : Promise.resolve(null);
4804
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-46VOJIG4.js").then(
4804
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-77VNTHWV.js").then(
4805
4805
  (core) => core.readSessionSections(projectPath, input.session)
4806
4806
  ) : Promise.resolve(null);
4807
4807
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
4808
- const eventsPromise = shouldIncludeEvents ? import("./dist-46VOJIG4.js").then(async (core) => {
4808
+ const eventsPromise = shouldIncludeEvents ? import("./dist-77VNTHWV.js").then(async (core) => {
4809
4809
  const result = await core.loadEvents(projectPath, {
4810
4810
  session: input.session
4811
4811
  });
@@ -4813,7 +4813,7 @@ async function handleGatherContext(input) {
4813
4813
  return core.formatEventTimeline(result.value);
4814
4814
  }) : Promise.resolve(null);
4815
4815
  const validationPromise = includeSet.has("validation") ? (async () => {
4816
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-IJHHQHT5.js");
4816
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-YEMAFWJE.js");
4817
4817
  const result = await handleValidateProject2({ path: projectPath });
4818
4818
  const first = result.content[0];
4819
4819
  return first ? JSON.parse(first.text) : null;
@@ -4916,7 +4916,7 @@ async function handleGatherContext(input) {
4916
4916
  };
4917
4917
  if (input.session) {
4918
4918
  try {
4919
- const core = await import("./dist-46VOJIG4.js");
4919
+ const core = await import("./dist-77VNTHWV.js");
4920
4920
  core.updateSessionIndex(
4921
4921
  projectPath,
4922
4922
  input.session,
@@ -5068,7 +5068,7 @@ async function handleReviewChanges(input) {
5068
5068
  }
5069
5069
  }
5070
5070
  async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5071
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-6HP42GTK.js");
5071
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-NST6T4HI.js");
5072
5072
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
5073
5073
  const firstContent = result.content[0];
5074
5074
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -5103,7 +5103,7 @@ function extractFileCount(diffParsed) {
5103
5103
  return files?.length ?? 0;
5104
5104
  }
5105
5105
  async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5106
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-6HP42GTK.js");
5106
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-NST6T4HI.js");
5107
5107
  const [diffResult, reviewResult] = await Promise.all([
5108
5108
  handleAnalyzeDiff2({ diff, path: projectPath }),
5109
5109
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -5138,7 +5138,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
5138
5138
  };
5139
5139
  }
5140
5140
  async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
5141
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-HTC5HA5X.js");
5141
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-6EYMBS6B.js");
5142
5142
  const result = await handleRunCodeReview2({
5143
5143
  path: projectPath,
5144
5144
  diff,
@@ -5217,7 +5217,7 @@ async function handleCheckTaskIndependence(input) {
5217
5217
  try {
5218
5218
  const projectPath = sanitizePath(input.path);
5219
5219
  const store = await loadGraphStore(projectPath);
5220
- const { TaskIndependenceAnalyzer } = await import("./dist-BP6E6QGG.js");
5220
+ const { TaskIndependenceAnalyzer } = await import("./dist-42AYXCAK.js");
5221
5221
  const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
5222
5222
  const result = analyzer.analyze({
5223
5223
  tasks: input.tasks,
@@ -5305,7 +5305,7 @@ async function handlePredictConflicts(input) {
5305
5305
  try {
5306
5306
  const projectPath = sanitizePath(input.path);
5307
5307
  const store = await loadGraphStore(projectPath);
5308
- const { ConflictPredictor } = await import("./dist-BP6E6QGG.js");
5308
+ const { ConflictPredictor } = await import("./dist-42AYXCAK.js");
5309
5309
  const predictor = new ConflictPredictor(store ?? void 0);
5310
5310
  const result = predictor.predict({
5311
5311
  tasks: input.tasks,
@@ -5411,7 +5411,7 @@ async function handleDetectStaleConstraints(input) {
5411
5411
  isError: true
5412
5412
  };
5413
5413
  }
5414
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-BI3OFFFS.js");
5414
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-IAUPGLRV.js");
5415
5415
  const store = await loadGraphStore2(projectPath);
5416
5416
  if (!store) {
5417
5417
  return {
@@ -5432,7 +5432,7 @@ async function handleDetectStaleConstraints(input) {
5432
5432
  ]
5433
5433
  };
5434
5434
  }
5435
- const { detectStaleConstraints } = await import("./dist-46VOJIG4.js");
5435
+ const { detectStaleConstraints } = await import("./dist-77VNTHWV.js");
5436
5436
  const result = detectStaleConstraints(
5437
5437
  store,
5438
5438
  windowDays,
@@ -5552,10 +5552,10 @@ function countCriticalFindings(securityData) {
5552
5552
  return findings.filter((f) => f.severity === "error").length;
5553
5553
  }
5554
5554
  async function runHealthChecks(projectPath) {
5555
- const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-WDUFL7SO.js");
5556
- const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-5GVJRRUD.js");
5557
- const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-K2YTZFCP.js");
5558
- const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-ROK5IFDA.js");
5555
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-5X7TYQFM.js");
5556
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-5YR52NSV.js");
5557
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-GSUTIORR.js");
5558
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-HRNTYHPM.js");
5559
5559
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
5560
5560
  handleAssessProject2({
5561
5561
  path: projectPath,
@@ -5610,10 +5610,10 @@ function avg(values) {
5610
5610
  }
5611
5611
  async function runGraphMetrics(projectPath) {
5612
5612
  try {
5613
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-BI3OFFFS.js");
5613
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-IAUPGLRV.js");
5614
5614
  const store = await loadGraphStore2(projectPath);
5615
5615
  if (!store) return ZERO_METRICS;
5616
- const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-BP6E6QGG.js");
5616
+ const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-42AYXCAK.js");
5617
5617
  const couplingAdapter = new GraphCouplingAdapter(store);
5618
5618
  const couplingData = couplingAdapter.computeCouplingData();
5619
5619
  const files = couplingData.files;
@@ -6396,7 +6396,7 @@ async function handleGetDecayTrends(input) {
6396
6396
  };
6397
6397
  }
6398
6398
  try {
6399
- const core = await import("./dist-46VOJIG4.js");
6399
+ const core = await import("./dist-77VNTHWV.js");
6400
6400
  const { TimelineManager } = core;
6401
6401
  const manager = new TimelineManager(projectPath);
6402
6402
  const timeline = manager.load();
@@ -6531,7 +6531,7 @@ async function handleCodeOutline(input) {
6531
6531
  };
6532
6532
  }
6533
6533
  try {
6534
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-46VOJIG4.js");
6534
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-77VNTHWV.js");
6535
6535
  const { stat } = await import("fs/promises");
6536
6536
  const stats = await stat(targetPath).catch(() => null);
6537
6537
  if (stats?.isFile()) {
@@ -6550,7 +6550,7 @@ async function handleCodeOutline(input) {
6550
6550
  })
6551
6551
  );
6552
6552
  fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
6553
- const { paginate: paginate2 } = await import("./dist-46VOJIG4.js");
6553
+ const { paginate: paginate2 } = await import("./dist-77VNTHWV.js");
6554
6554
  const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
6555
6555
  const results = [];
6556
6556
  for (const entry of paged.items) {
@@ -6623,7 +6623,7 @@ async function handleCodeSearch(input) {
6623
6623
  };
6624
6624
  }
6625
6625
  try {
6626
- const { searchSymbols } = await import("./dist-46VOJIG4.js");
6626
+ const { searchSymbols } = await import("./dist-77VNTHWV.js");
6627
6627
  const result = await searchSymbols(input.query, directory, input.glob);
6628
6628
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
6629
6629
  for (const match of result.matches) {
@@ -6692,7 +6692,7 @@ async function handleCodeUnfold(input) {
6692
6692
  }
6693
6693
  try {
6694
6694
  if (input.symbol) {
6695
- const { unfoldSymbol } = await import("./dist-46VOJIG4.js");
6695
+ const { unfoldSymbol } = await import("./dist-77VNTHWV.js");
6696
6696
  const result = await unfoldSymbol(filePath, input.symbol);
6697
6697
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
6698
6698
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -6700,7 +6700,7 @@ async function handleCodeUnfold(input) {
6700
6700
  return { content: [{ type: "text", text: header + result.content }] };
6701
6701
  }
6702
6702
  if (input.startLine != null && input.endLine != null) {
6703
- const { unfoldRange } = await import("./dist-46VOJIG4.js");
6703
+ const { unfoldRange } = await import("./dist-77VNTHWV.js");
6704
6704
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
6705
6705
  const header = `${result.file}:${result.startLine}-${result.endLine}
6706
6706
  `;
@@ -6762,7 +6762,7 @@ async function handleCheckTraceability(input) {
6762
6762
  isError: true
6763
6763
  };
6764
6764
  }
6765
- const { queryTraceability } = await import("./dist-BP6E6QGG.js");
6765
+ const { queryTraceability } = await import("./dist-42AYXCAK.js");
6766
6766
  const options = {};
6767
6767
  if (input.spec) options.specPath = input.spec;
6768
6768
  if (input.feature) options.featureName = input.feature;
@@ -6885,7 +6885,7 @@ async function handlePredictFailures(input) {
6885
6885
  };
6886
6886
  }
6887
6887
  try {
6888
- const core = await import("./dist-46VOJIG4.js");
6888
+ const core = await import("./dist-77VNTHWV.js");
6889
6889
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
6890
6890
  const manager = new TimelineManager(projectPath);
6891
6891
  const includeRoadmap = input.includeRoadmap !== false;
@@ -7768,7 +7768,7 @@ function handleContentMode(content, pipeline, budget, source) {
7768
7768
  };
7769
7769
  }
7770
7770
  async function handleIntentMode(projectPath, intent, pipeline, budget, filterContent) {
7771
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-BI3OFFFS.js");
7771
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-IAUPGLRV.js");
7772
7772
  const store = await loadGraphStore2(projectPath);
7773
7773
  if (!store) {
7774
7774
  return {
@@ -7781,7 +7781,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
7781
7781
  isError: true
7782
7782
  };
7783
7783
  }
7784
- const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-BP6E6QGG.js");
7784
+ const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-42AYXCAK.js");
7785
7785
  const cache = new PackedSummaryCache(store);
7786
7786
  const cachedEnvelope = cache.get(intent);
7787
7787
  if (cachedEnvelope) {
@@ -7994,7 +7994,7 @@ async function handleDetectConstraintEmergence(input) {
7994
7994
  }
7995
7995
  const nodePath = await import("path");
7996
7996
  const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
7997
- const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-46VOJIG4.js");
7997
+ const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-77VNTHWV.js");
7998
7998
  const manager = new ViolationHistoryManager(historyPath);
7999
7999
  const history = manager.load();
8000
8000
  const options = { windowWeeks, minOccurrences };
@@ -8082,7 +8082,7 @@ async function handleRunCIChecks(input) {
8082
8082
  };
8083
8083
  }
8084
8084
  try {
8085
- const { runCIChecks } = await import("./dist-46VOJIG4.js");
8085
+ const { runCIChecks } = await import("./dist-77VNTHWV.js");
8086
8086
  const skip = input.checks ? VALID_CHECKS.filter((c) => !input.checks.includes(c)) : [];
8087
8087
  const result = await runCIChecks({
8088
8088
  projectRoot: projectPath,
@@ -8144,7 +8144,7 @@ async function handleGenerateBlueprint(input) {
8144
8144
  };
8145
8145
  }
8146
8146
  try {
8147
- const { ProjectScanner } = await import("./dist-46VOJIG4.js");
8147
+ const { ProjectScanner } = await import("./dist-77VNTHWV.js");
8148
8148
  const scanner = new ProjectScanner(projectPath);
8149
8149
  const data = await scanner.scan();
8150
8150
  return {
@@ -8390,7 +8390,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
8390
8390
  shouldRunCheck,
8391
8391
  readCheckState,
8392
8392
  spawnBackgroundCheck
8393
- } = await import("./dist-46VOJIG4.js");
8393
+ } = await import("./dist-77VNTHWV.js");
8394
8394
  const { CLI_VERSION } = await import("./version-CUI434OP.js");
8395
8395
  const configInterval = readConfigInterval(resolvedRoot);
8396
8396
  const DEFAULT_INTERVAL = 864e5;