@harness-engineering/cli 2.4.2 → 2.4.3

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 (46) hide show
  1. package/dist/{agents-md-2M46KG4F.js → agents-md-WN2DOL7N.js} +2 -2
  2. package/dist/{architecture-3ZSN5RDQ.js → architecture-TUJ2FWM7.js} +3 -3
  3. package/dist/{assess-project-KZWFQEJE.js → assess-project-SIG4QAZA.js} +1 -1
  4. package/dist/bin/harness-mcp.js +13 -13
  5. package/dist/bin/harness.js +22 -22
  6. package/dist/{check-phase-gate-EWV5VYTG.js → check-phase-gate-JX522QQH.js} +3 -3
  7. package/dist/{chunk-RRTTJ3VB.js → chunk-52ATJ5JD.js} +1 -1
  8. package/dist/{chunk-OUXYITL5.js → chunk-54S2MJZI.js} +1 -1
  9. package/dist/{chunk-2TGCYJMT.js → chunk-5O3PNHUQ.js} +17 -7
  10. package/dist/{chunk-GOSUZC5H.js → chunk-AK7T7NG7.js} +25 -25
  11. package/dist/{chunk-GLKASJZE.js → chunk-AP73KZP6.js} +3 -3
  12. package/dist/{chunk-LHHO7AH4.js → chunk-GDGEFHXV.js} +2 -2
  13. package/dist/{chunk-MXOQEI72.js → chunk-GNZABDPB.js} +1 -1
  14. package/dist/{chunk-PPQ3TY2R.js → chunk-IPFGVYNC.js} +1 -1
  15. package/dist/{chunk-B2ZYMQGT.js → chunk-IWUKWHXV.js} +6 -6
  16. package/dist/{chunk-I2KULMPD.js → chunk-JAS63FFQ.js} +5 -5
  17. package/dist/{chunk-KOK7BFP2.js → chunk-JDOL6YP7.js} +2 -2
  18. package/dist/{chunk-NTOKQJOX.js → chunk-LA3VGBU6.js} +1 -1
  19. package/dist/{chunk-73KZ2E47.js → chunk-LZXZQQKP.js} +6 -6
  20. package/dist/{chunk-LJF6UY4R.js → chunk-MTJ2LOXB.js} +1 -1
  21. package/dist/{chunk-TPNA2I4J.js → chunk-NDS6XSHS.js} +70 -70
  22. package/dist/{chunk-7RZZV73V.js → chunk-NDTH6MGG.js} +2 -2
  23. package/dist/{chunk-IEHXZB6J.js → chunk-O7ZZ3FN4.js} +3 -3
  24. package/dist/{chunk-QV5EBDWA.js → chunk-OOXNZABU.js} +1 -1
  25. package/dist/{chunk-NM3ZIWVN.js → chunk-P542RBCL.js} +1 -1
  26. package/dist/{chunk-UPV7VDUB.js → chunk-TW4NGPAW.js} +2 -2
  27. package/dist/{chunk-KRQTN46U.js → chunk-URHLDRYH.js} +3 -3
  28. package/dist/{chunk-UQJV7NNM.js → chunk-Y2ZVBLOR.js} +1 -1
  29. package/dist/{ci-workflow-5TBUHJFC.js → ci-workflow-TIFZJZNY.js} +2 -2
  30. package/dist/{dist-HA6IIPRC.js → dist-RYZFURLL.js} +1 -1
  31. package/dist/{docs-D6WI2LCF.js → docs-VVCOB35D.js} +3 -3
  32. package/dist/{engine-GBEVIZZQ.js → engine-AAJLFT45.js} +2 -2
  33. package/dist/{entropy-V6M4KJDC.js → entropy-TNA7IRJY.js} +2 -2
  34. package/dist/{feedback-22I4HHXM.js → feedback-BAVIWDHH.js} +1 -1
  35. package/dist/{generate-agent-definitions-UM7T3WLA.js → generate-agent-definitions-6UTHCELR.js} +3 -3
  36. package/dist/index.d.ts +8 -8
  37. package/dist/index.js +22 -22
  38. package/dist/{loader-5V72NYMF.js → loader-TMZCNQWN.js} +2 -2
  39. package/dist/{mcp-5KQGFG5U.js → mcp-BMCVFQJG.js} +13 -13
  40. package/dist/{performance-MVORVVMG.js → performance-HH7SQOTB.js} +3 -3
  41. package/dist/{review-pipeline-JYSVCNGJ.js → review-pipeline-QB3AND3K.js} +2 -2
  42. package/dist/{runtime-KZC2OQI7.js → runtime-RITOSII6.js} +2 -2
  43. package/dist/{security-WOVOBLCI.js → security-UISVYDES.js} +1 -1
  44. package/dist/{validate-55HGQKWR.js → validate-QWQMHJFD.js} +3 -3
  45. package/dist/{validate-cross-check-H3PSV4VY.js → validate-cross-check-3QIA7O4F.js} +2 -2
  46. package/package.json +4 -4
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-MXOQEI72.js";
10
+ } from "./chunk-GNZABDPB.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-2TGCYJMT.js";
13
+ } from "./chunk-5O3PNHUQ.js";
14
14
  import {
15
15
  Ok
16
16
  } from "./chunk-O63AAPIZ.js";
@@ -35,7 +35,7 @@ var checkPerformanceDefinition = {
35
35
  };
36
36
  async function handleCheckPerformance(input) {
37
37
  try {
38
- const { EntropyAnalyzer } = await import("./dist-HA6IIPRC.js");
38
+ const { EntropyAnalyzer } = await import("./dist-RYZFURLL.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-HA6IIPRC.js");
101
+ const { BaselineManager } = await import("./dist-RYZFURLL.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-HA6IIPRC.js");
149
+ const { BaselineManager } = await import("./dist-RYZFURLL.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-HA6IIPRC.js");
179
+ const { CriticalPathResolver } = await import("./dist-RYZFURLL.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-2TGCYJMT.js";
3
+ } from "./chunk-5O3PNHUQ.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -2,11 +2,11 @@ import {
2
2
  handleRunCodeReview,
3
3
  runCodeReviewDefinition,
4
4
  sortFindingsBySeverity
5
- } from "./chunk-UPV7VDUB.js";
5
+ } from "./chunk-TW4NGPAW.js";
6
6
  import {
7
7
  assessProjectDefinition,
8
8
  handleAssessProject
9
- } from "./chunk-B2ZYMQGT.js";
9
+ } from "./chunk-IWUKWHXV.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-IEHXZB6J.js";
20
+ } from "./chunk-O7ZZ3FN4.js";
21
21
  import {
22
22
  getSecurityTrendsDefinition,
23
23
  handleGetSecurityTrends,
24
24
  handleRunSecurityScan,
25
25
  runSecurityScanDefinition
26
- } from "./chunk-LHHO7AH4.js";
26
+ } from "./chunk-GDGEFHXV.js";
27
27
  import {
28
28
  loadGraphStore
29
29
  } from "./chunk-5FDBXUFW.js";
30
30
  import {
31
31
  handleValidateProject,
32
32
  validateToolDefinition
33
- } from "./chunk-KRQTN46U.js";
33
+ } from "./chunk-URHLDRYH.js";
34
34
  import {
35
35
  checkDependenciesDefinition,
36
36
  handleCheckDependencies
37
- } from "./chunk-7RZZV73V.js";
37
+ } from "./chunk-NDTH6MGG.js";
38
38
  import {
39
39
  resolveProjectConfig
40
- } from "./chunk-LJF6UY4R.js";
40
+ } from "./chunk-MTJ2LOXB.js";
41
41
  import {
42
42
  checkDocsDefinition,
43
43
  handleCheckDocs
44
- } from "./chunk-I2KULMPD.js";
44
+ } from "./chunk-JAS63FFQ.js";
45
45
  import {
46
46
  detectEntropyDefinition,
47
47
  handleDetectEntropy
48
- } from "./chunk-GLKASJZE.js";
48
+ } from "./chunk-AP73KZP6.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-73KZ2E47.js";
58
+ } from "./chunk-LZXZQQKP.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-MXOQEI72.js";
70
+ } from "./chunk-GNZABDPB.js";
71
71
  import {
72
72
  GENERATED_HEADER_CLAUDE,
73
73
  GENERATED_HEADER_CODEX,
@@ -107,7 +107,7 @@ import {
107
107
  scanForInjection,
108
108
  serializeEnvelope,
109
109
  writeTaint
110
- } from "./chunk-2TGCYJMT.js";
110
+ } from "./chunk-5O3PNHUQ.js";
111
111
  import {
112
112
  Err,
113
113
  Ok
@@ -712,7 +712,7 @@ ${skippedMsg}`
712
712
  async function handleInitProject(input) {
713
713
  const i = input;
714
714
  try {
715
- const { TemplateEngine } = await import("./engine-GBEVIZZQ.js");
715
+ const { TemplateEngine } = await import("./engine-AAJLFT45.js");
716
716
  const engine = new TemplateEngine(resolveTemplatesDir());
717
717
  const safePath = sanitizePath(i.path);
718
718
  const detected = tryDetectFramework(engine, safePath, i);
@@ -734,7 +734,7 @@ var listPersonasDefinition = {
734
734
  inputSchema: { type: "object", properties: {} }
735
735
  };
736
736
  async function handleListPersonas() {
737
- const { listPersonas } = await import("./loader-5V72NYMF.js");
737
+ const { listPersonas } = await import("./loader-TMZCNQWN.js");
738
738
  const result = listPersonas(resolvePersonasDir());
739
739
  return resultToMcpResponse(result);
740
740
  }
@@ -758,10 +758,10 @@ async function handleGeneratePersonaArtifacts(input) {
758
758
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
759
759
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
760
760
  }
761
- const { loadPersona } = await import("./loader-5V72NYMF.js");
762
- const { generateRuntime } = await import("./runtime-KZC2OQI7.js");
763
- const { generateAgentsMd } = await import("./agents-md-2M46KG4F.js");
764
- const { generateCIWorkflow } = await import("./ci-workflow-5TBUHJFC.js");
761
+ const { loadPersona } = await import("./loader-TMZCNQWN.js");
762
+ const { generateRuntime } = await import("./runtime-RITOSII6.js");
763
+ const { generateAgentsMd } = await import("./agents-md-WN2DOL7N.js");
764
+ const { generateCIWorkflow } = await import("./ci-workflow-TIFZJZNY.js");
765
765
  const personasDir = resolvePersonasDir();
766
766
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
767
767
  if (!filePath.startsWith(personasDir)) {
@@ -816,7 +816,7 @@ async function handleRunPersona(input) {
816
816
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
817
817
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
818
818
  }
819
- const { loadPersona } = await import("./loader-5V72NYMF.js");
819
+ const { loadPersona } = await import("./loader-TMZCNQWN.js");
820
820
  const { runPersona } = await import("./runner-AAEF2TXY.js");
821
821
  const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
822
822
  const personasDir = resolvePersonasDir();
@@ -1261,7 +1261,7 @@ function loadOrGenerateProfile(projectRoot) {
1261
1261
  // src/mcp/tools/event-emitter.ts
1262
1262
  async function emitSkillEvent(projectPath, event) {
1263
1263
  try {
1264
- const { emitEvent } = await import("./dist-HA6IIPRC.js");
1264
+ const { emitEvent } = await import("./dist-RYZFURLL.js");
1265
1265
  await emitEvent(projectPath, event);
1266
1266
  } catch {
1267
1267
  }
@@ -1533,7 +1533,7 @@ async function autoSyncRoadmap(projectPath) {
1533
1533
  try {
1534
1534
  const roadmapFile = path10.join(projectPath, "docs", "roadmap.md");
1535
1535
  if (!fs9.existsSync(roadmapFile)) return;
1536
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-HA6IIPRC.js");
1536
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-RYZFURLL.js");
1537
1537
  const raw = fs9.readFileSync(roadmapFile, "utf-8");
1538
1538
  const parseResult = parseRoadmap(raw);
1539
1539
  if (!parseResult.ok) return;
@@ -1563,7 +1563,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1563
1563
  console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
1564
1564
  return;
1565
1565
  }
1566
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-HA6IIPRC.js");
1566
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-RYZFURLL.js");
1567
1567
  const adapter = new GitHubIssuesSyncAdapter({
1568
1568
  token,
1569
1569
  config: trackerConfig
@@ -1660,12 +1660,12 @@ var manageStateDefinition = {
1660
1660
  }
1661
1661
  };
1662
1662
  async function handleShow(projectPath, input) {
1663
- const { loadState } = await import("./dist-HA6IIPRC.js");
1663
+ const { loadState } = await import("./dist-RYZFURLL.js");
1664
1664
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1665
1665
  }
1666
1666
  async function handleLearn(projectPath, input) {
1667
1667
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1668
- const { appendLearning } = await import("./dist-HA6IIPRC.js");
1668
+ const { appendLearning } = await import("./dist-RYZFURLL.js");
1669
1669
  const result = await appendLearning(
1670
1670
  projectPath,
1671
1671
  input.learning,
@@ -1680,7 +1680,7 @@ async function handleLearn(projectPath, input) {
1680
1680
  async function handleFailure(projectPath, input) {
1681
1681
  if (!input.description) return mcpError("Error: description is required for failure action");
1682
1682
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1683
- const { appendFailure } = await import("./dist-HA6IIPRC.js");
1683
+ const { appendFailure } = await import("./dist-RYZFURLL.js");
1684
1684
  const result = await appendFailure(
1685
1685
  projectPath,
1686
1686
  input.description,
@@ -1699,19 +1699,19 @@ async function handleFailure(projectPath, input) {
1699
1699
  return resultToMcpResponse(Ok({ recorded: true }));
1700
1700
  }
1701
1701
  async function handleArchive(projectPath, input) {
1702
- const { archiveFailures } = await import("./dist-HA6IIPRC.js");
1702
+ const { archiveFailures } = await import("./dist-RYZFURLL.js");
1703
1703
  const result = await archiveFailures(projectPath, input.stream, input.session);
1704
1704
  if (!result.ok) return resultToMcpResponse(result);
1705
1705
  return resultToMcpResponse(Ok({ archived: true }));
1706
1706
  }
1707
1707
  async function handleReset(projectPath, input) {
1708
- const { saveState, DEFAULT_STATE } = await import("./dist-HA6IIPRC.js");
1708
+ const { saveState, DEFAULT_STATE } = await import("./dist-RYZFURLL.js");
1709
1709
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1710
1710
  if (!result.ok) return resultToMcpResponse(result);
1711
1711
  return resultToMcpResponse(Ok({ reset: true }));
1712
1712
  }
1713
1713
  async function handleGate(projectPath, input) {
1714
- const { runMechanicalGate } = await import("./dist-HA6IIPRC.js");
1714
+ const { runMechanicalGate } = await import("./dist-RYZFURLL.js");
1715
1715
  const result = await runMechanicalGate(projectPath);
1716
1716
  if (result.ok) {
1717
1717
  await emitSkillEvent(projectPath, {
@@ -1731,7 +1731,7 @@ async function handleGate(projectPath, input) {
1731
1731
  }
1732
1732
  async function handleSaveHandoff(projectPath, input) {
1733
1733
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1734
- const { saveHandoff } = await import("./dist-HA6IIPRC.js");
1734
+ const { saveHandoff } = await import("./dist-RYZFURLL.js");
1735
1735
  const result = await saveHandoff(
1736
1736
  projectPath,
1737
1737
  input.handoff,
@@ -1753,7 +1753,7 @@ async function handleSaveHandoff(projectPath, input) {
1753
1753
  return resultToMcpResponse(Ok({ saved: true }));
1754
1754
  }
1755
1755
  async function handleLoadHandoff(projectPath, input) {
1756
- const { loadHandoff } = await import("./dist-HA6IIPRC.js");
1756
+ const { loadHandoff } = await import("./dist-RYZFURLL.js");
1757
1757
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1758
1758
  }
1759
1759
  async function handleAppendEntry(projectPath, input) {
@@ -1761,7 +1761,7 @@ async function handleAppendEntry(projectPath, input) {
1761
1761
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1762
1762
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1763
1763
  if (input.session) {
1764
- const { appendSessionEntry } = await import("./dist-HA6IIPRC.js");
1764
+ const { appendSessionEntry } = await import("./dist-RYZFURLL.js");
1765
1765
  const result = await appendSessionEntry(
1766
1766
  projectPath,
1767
1767
  input.session,
@@ -1774,7 +1774,7 @@ async function handleAppendEntry(projectPath, input) {
1774
1774
  if (input.section !== "decisions") {
1775
1775
  return mcpError("Error: session is required for non-decisions sections");
1776
1776
  }
1777
- const { loadState, saveState } = await import("./dist-HA6IIPRC.js");
1777
+ const { loadState, saveState } = await import("./dist-RYZFURLL.js");
1778
1778
  const lr = await loadState(projectPath, input.stream);
1779
1779
  if (!lr.ok) return resultToMcpResponse(lr);
1780
1780
  lr.value.decisions.push({
@@ -1792,7 +1792,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1792
1792
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1793
1793
  if (!input.newStatus)
1794
1794
  return mcpError("Error: newStatus is required for update_entry_status action");
1795
- const { updateSessionEntryStatus } = await import("./dist-HA6IIPRC.js");
1795
+ const { updateSessionEntryStatus } = await import("./dist-RYZFURLL.js");
1796
1796
  const result = await updateSessionEntryStatus(
1797
1797
  projectPath,
1798
1798
  input.session,
@@ -1805,7 +1805,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1805
1805
  async function handleReadSection(projectPath, input) {
1806
1806
  if (!input.session) return mcpError("Error: session is required for read_section action");
1807
1807
  if (!input.section) return mcpError("Error: section is required for read_section action");
1808
- const { readSessionSection } = await import("./dist-HA6IIPRC.js");
1808
+ const { readSessionSection } = await import("./dist-RYZFURLL.js");
1809
1809
  const result = await readSessionSection(
1810
1810
  projectPath,
1811
1811
  input.session,
@@ -1815,13 +1815,13 @@ async function handleReadSection(projectPath, input) {
1815
1815
  }
1816
1816
  async function handleReadSections(projectPath, input) {
1817
1817
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1818
- const { readSessionSections } = await import("./dist-HA6IIPRC.js");
1818
+ const { readSessionSections } = await import("./dist-RYZFURLL.js");
1819
1819
  const result = await readSessionSections(projectPath, input.session);
1820
1820
  return resultToMcpResponse(result);
1821
1821
  }
1822
1822
  async function handleArchiveSession(projectPath, input) {
1823
1823
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1824
- const { archiveSession } = await import("./dist-HA6IIPRC.js");
1824
+ const { archiveSession } = await import("./dist-RYZFURLL.js");
1825
1825
  const result = await archiveSession(projectPath, input.session);
1826
1826
  if (!result.ok) return resultToMcpResponse(result);
1827
1827
  await autoSyncRoadmap(projectPath);
@@ -1901,7 +1901,7 @@ var listStreamsDefinition = {
1901
1901
  };
1902
1902
  async function handleListStreams(input) {
1903
1903
  try {
1904
- const { listStreams, loadStreamIndex } = await import("./dist-HA6IIPRC.js");
1904
+ const { listStreams, loadStreamIndex } = await import("./dist-RYZFURLL.js");
1905
1905
  const projectPath = sanitizePath(input.path);
1906
1906
  const indexResult = await loadStreamIndex(projectPath);
1907
1907
  const streamsResult = await listStreams(projectPath);
@@ -1939,7 +1939,7 @@ var checkPhaseGateDefinition = {
1939
1939
  };
1940
1940
  async function handleCheckPhaseGate(input) {
1941
1941
  try {
1942
- const { runCheckPhaseGate } = await import("./check-phase-gate-EWV5VYTG.js");
1942
+ const { runCheckPhaseGate } = await import("./check-phase-gate-JX522QQH.js");
1943
1943
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
1944
1944
  if (result.ok) {
1945
1945
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -1995,7 +1995,7 @@ async function handleValidateCrossCheck(input) {
1995
1995
  };
1996
1996
  }
1997
1997
  try {
1998
- const { runCrossCheck } = await import("./validate-cross-check-H3PSV4VY.js");
1998
+ const { runCrossCheck } = await import("./validate-cross-check-3QIA7O4F.js");
1999
1999
  const specsDir = path11.resolve(projectPath, input.specsDir ?? "docs/specs");
2000
2000
  if (!specsDir.startsWith(projectPath)) {
2001
2001
  return {
@@ -2762,7 +2762,7 @@ async function handleGenerateSlashCommands(input) {
2762
2762
  // src/mcp/resources/state.ts
2763
2763
  async function getStateResource(projectRoot) {
2764
2764
  try {
2765
- const { loadState, migrateToStreams } = await import("./dist-HA6IIPRC.js");
2765
+ const { loadState, migrateToStreams } = await import("./dist-RYZFURLL.js");
2766
2766
  await migrateToStreams(projectRoot);
2767
2767
  const result = await loadState(projectRoot);
2768
2768
  if (result.ok) {
@@ -3782,7 +3782,7 @@ var generateAgentDefinitionsDefinition = {
3782
3782
  }
3783
3783
  };
3784
3784
  async function handleGenerateAgentDefinitions(input) {
3785
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-UM7T3WLA.js");
3785
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-6UTHCELR.js");
3786
3786
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3787
3787
  const results = generateAgentDefinitions({
3788
3788
  platforms: [...platforms],
@@ -4276,7 +4276,7 @@ async function handleManageRoadmap(input) {
4276
4276
  return handleManageRoadmapFileLess(input, clientResult.value);
4277
4277
  }
4278
4278
  try {
4279
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-HA6IIPRC.js");
4279
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-RYZFURLL.js");
4280
4280
  const { Ok: Ok2 } = await import("./dist-O733ZU6I.js");
4281
4281
  const projectPath = projectPathPre;
4282
4282
  const deps = {
@@ -4715,7 +4715,7 @@ async function handleTransition(validInput, projectPath, id) {
4715
4715
  const transition = transitionResult.data;
4716
4716
  const prompt = renderTransition(transition);
4717
4717
  try {
4718
- const { saveHandoff } = await import("./dist-HA6IIPRC.js");
4718
+ const { saveHandoff } = await import("./dist-RYZFURLL.js");
4719
4719
  await saveHandoff(
4720
4720
  projectPath,
4721
4721
  {
@@ -4796,7 +4796,7 @@ async function handleEmitInteraction(input) {
4796
4796
  }
4797
4797
  async function recordInteraction(projectPath, id, type, decision, stream) {
4798
4798
  try {
4799
- const { loadState, saveState } = await import("./dist-HA6IIPRC.js");
4799
+ const { loadState, saveState } = await import("./dist-RYZFURLL.js");
4800
4800
  const stateResult = await loadState(projectPath, stream);
4801
4801
  if (stateResult.ok) {
4802
4802
  const state = stateResult.value;
@@ -4957,10 +4957,10 @@ async function handleGatherContext(input) {
4957
4957
  input.include ?? ["state", "learnings", "handoff", "graph", "validation", "businessKnowledge"]
4958
4958
  );
4959
4959
  const errors = [];
4960
- const statePromise = includeSet.has("state") ? import("./dist-HA6IIPRC.js").then(
4960
+ const statePromise = includeSet.has("state") ? import("./dist-RYZFURLL.js").then(
4961
4961
  (core) => core.loadState(projectPath, void 0, input.session)
4962
4962
  ) : Promise.resolve(null);
4963
- const learningsPromise = includeSet.has("learnings") ? import("./dist-HA6IIPRC.js").then(
4963
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-RYZFURLL.js").then(
4964
4964
  (core) => core.loadBudgetedLearnings(projectPath, {
4965
4965
  intent: input.intent,
4966
4966
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4969,7 +4969,7 @@ async function handleGatherContext(input) {
4969
4969
  ...input.depth !== void 0 && { depth: input.depth }
4970
4970
  })
4971
4971
  ) : Promise.resolve(null);
4972
- const handoffPromise = includeSet.has("handoff") ? import("./dist-HA6IIPRC.js").then(
4972
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-RYZFURLL.js").then(
4973
4973
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4974
4974
  ) : Promise.resolve(null);
4975
4975
  const graphPromise = includeSet.has("graph") ? (async () => {
@@ -5013,11 +5013,11 @@ async function handleGatherContext(input) {
5013
5013
  context: contextBlocks
5014
5014
  };
5015
5015
  })() : Promise.resolve(null);
5016
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-HA6IIPRC.js").then(
5016
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-RYZFURLL.js").then(
5017
5017
  (core) => core.readSessionSections(projectPath, input.session)
5018
5018
  ) : Promise.resolve(null);
5019
5019
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
5020
- const eventsPromise = shouldIncludeEvents ? import("./dist-HA6IIPRC.js").then(async (core) => {
5020
+ const eventsPromise = shouldIncludeEvents ? import("./dist-RYZFURLL.js").then(async (core) => {
5021
5021
  const result = await core.loadEvents(projectPath, {
5022
5022
  session: input.session
5023
5023
  });
@@ -5025,7 +5025,7 @@ async function handleGatherContext(input) {
5025
5025
  return core.formatEventTimeline(result.value);
5026
5026
  }) : Promise.resolve(null);
5027
5027
  const validationPromise = includeSet.has("validation") ? (async () => {
5028
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-55HGQKWR.js");
5028
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-QWQMHJFD.js");
5029
5029
  const result = await handleValidateProject2({ path: projectPath });
5030
5030
  const first = result.content[0];
5031
5031
  return first ? JSON.parse(first.text) : null;
@@ -5128,7 +5128,7 @@ async function handleGatherContext(input) {
5128
5128
  };
5129
5129
  if (input.session) {
5130
5130
  try {
5131
- const core = await import("./dist-HA6IIPRC.js");
5131
+ const core = await import("./dist-RYZFURLL.js");
5132
5132
  core.updateSessionIndex(
5133
5133
  projectPath,
5134
5134
  input.session,
@@ -5280,7 +5280,7 @@ async function handleReviewChanges(input) {
5280
5280
  }
5281
5281
  }
5282
5282
  async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5283
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-22I4HHXM.js");
5283
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-BAVIWDHH.js");
5284
5284
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
5285
5285
  const firstContent = result.content[0];
5286
5286
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -5315,7 +5315,7 @@ function extractFileCount(diffParsed) {
5315
5315
  return files?.length ?? 0;
5316
5316
  }
5317
5317
  async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5318
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-22I4HHXM.js");
5318
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-BAVIWDHH.js");
5319
5319
  const [diffResult, reviewResult] = await Promise.all([
5320
5320
  handleAnalyzeDiff2({ diff, path: projectPath }),
5321
5321
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -5350,7 +5350,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
5350
5350
  };
5351
5351
  }
5352
5352
  async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
5353
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-JYSVCNGJ.js");
5353
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-QB3AND3K.js");
5354
5354
  const result = await handleRunCodeReview2({
5355
5355
  path: projectPath,
5356
5356
  diff,
@@ -5644,7 +5644,7 @@ async function handleDetectStaleConstraints(input) {
5644
5644
  ]
5645
5645
  };
5646
5646
  }
5647
- const { detectStaleConstraints } = await import("./dist-HA6IIPRC.js");
5647
+ const { detectStaleConstraints } = await import("./dist-RYZFURLL.js");
5648
5648
  const result = detectStaleConstraints(
5649
5649
  store,
5650
5650
  windowDays,
@@ -5764,10 +5764,10 @@ function countCriticalFindings(securityData) {
5764
5764
  return findings.filter((f) => f.severity === "error").length;
5765
5765
  }
5766
5766
  async function runHealthChecks(projectPath) {
5767
- const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-KZWFQEJE.js");
5768
- const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-3ZSN5RDQ.js");
5769
- const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-V6M4KJDC.js");
5770
- const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-WOVOBLCI.js");
5767
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-SIG4QAZA.js");
5768
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-TUJ2FWM7.js");
5769
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-TNA7IRJY.js");
5770
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-UISVYDES.js");
5771
5771
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
5772
5772
  handleAssessProject2({
5773
5773
  path: projectPath,
@@ -6608,7 +6608,7 @@ async function handleGetDecayTrends(input) {
6608
6608
  };
6609
6609
  }
6610
6610
  try {
6611
- const core = await import("./dist-HA6IIPRC.js");
6611
+ const core = await import("./dist-RYZFURLL.js");
6612
6612
  const { TimelineManager } = core;
6613
6613
  const manager = new TimelineManager(projectPath);
6614
6614
  const timeline = manager.load();
@@ -6743,7 +6743,7 @@ async function handleCodeOutline(input) {
6743
6743
  };
6744
6744
  }
6745
6745
  try {
6746
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-HA6IIPRC.js");
6746
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-RYZFURLL.js");
6747
6747
  const { stat } = await import("fs/promises");
6748
6748
  const stats = await stat(targetPath).catch(() => null);
6749
6749
  if (stats?.isFile()) {
@@ -6762,7 +6762,7 @@ async function handleCodeOutline(input) {
6762
6762
  })
6763
6763
  );
6764
6764
  fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
6765
- const { paginate: paginate2 } = await import("./dist-HA6IIPRC.js");
6765
+ const { paginate: paginate2 } = await import("./dist-RYZFURLL.js");
6766
6766
  const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
6767
6767
  const results = [];
6768
6768
  for (const entry of paged.items) {
@@ -6835,7 +6835,7 @@ async function handleCodeSearch(input) {
6835
6835
  };
6836
6836
  }
6837
6837
  try {
6838
- const { searchSymbols } = await import("./dist-HA6IIPRC.js");
6838
+ const { searchSymbols } = await import("./dist-RYZFURLL.js");
6839
6839
  const result = await searchSymbols(input.query, directory, input.glob);
6840
6840
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
6841
6841
  for (const match of result.matches) {
@@ -6904,7 +6904,7 @@ async function handleCodeUnfold(input) {
6904
6904
  }
6905
6905
  try {
6906
6906
  if (input.symbol) {
6907
- const { unfoldSymbol } = await import("./dist-HA6IIPRC.js");
6907
+ const { unfoldSymbol } = await import("./dist-RYZFURLL.js");
6908
6908
  const result = await unfoldSymbol(filePath, input.symbol);
6909
6909
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
6910
6910
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -6912,7 +6912,7 @@ async function handleCodeUnfold(input) {
6912
6912
  return { content: [{ type: "text", text: header + result.content }] };
6913
6913
  }
6914
6914
  if (input.startLine != null && input.endLine != null) {
6915
- const { unfoldRange } = await import("./dist-HA6IIPRC.js");
6915
+ const { unfoldRange } = await import("./dist-RYZFURLL.js");
6916
6916
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
6917
6917
  const header = `${result.file}:${result.startLine}-${result.endLine}
6918
6918
  `;
@@ -7097,7 +7097,7 @@ async function handlePredictFailures(input) {
7097
7097
  };
7098
7098
  }
7099
7099
  try {
7100
- const core = await import("./dist-HA6IIPRC.js");
7100
+ const core = await import("./dist-RYZFURLL.js");
7101
7101
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
7102
7102
  const manager = new TimelineManager(projectPath);
7103
7103
  const includeRoadmap = input.includeRoadmap !== false;
@@ -8206,7 +8206,7 @@ async function handleDetectConstraintEmergence(input) {
8206
8206
  }
8207
8207
  const nodePath = await import("path");
8208
8208
  const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
8209
- const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-HA6IIPRC.js");
8209
+ const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-RYZFURLL.js");
8210
8210
  const manager = new ViolationHistoryManager(historyPath);
8211
8211
  const history = manager.load();
8212
8212
  const options = { windowWeeks, minOccurrences };
@@ -8294,7 +8294,7 @@ async function handleRunCIChecks(input) {
8294
8294
  };
8295
8295
  }
8296
8296
  try {
8297
- const { runCIChecks } = await import("./dist-HA6IIPRC.js");
8297
+ const { runCIChecks } = await import("./dist-RYZFURLL.js");
8298
8298
  const skip = input.checks ? VALID_CHECKS.filter((c) => !input.checks.includes(c)) : [];
8299
8299
  const result = await runCIChecks({
8300
8300
  projectRoot: projectPath,
@@ -8356,7 +8356,7 @@ async function handleGenerateBlueprint(input) {
8356
8356
  };
8357
8357
  }
8358
8358
  try {
8359
- const { ProjectScanner } = await import("./dist-HA6IIPRC.js");
8359
+ const { ProjectScanner } = await import("./dist-RYZFURLL.js");
8360
8360
  const scanner = new ProjectScanner(projectPath);
8361
8361
  const data = await scanner.scan();
8362
8362
  return {
@@ -8711,7 +8711,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
8711
8711
  shouldRunCheck,
8712
8712
  readCheckState,
8713
8713
  spawnBackgroundCheck
8714
- } = await import("./dist-HA6IIPRC.js");
8714
+ } = await import("./dist-RYZFURLL.js");
8715
8715
  const { CLI_VERSION } = await import("./version-CUI434OP.js");
8716
8716
  const configInterval = readConfigInterval(resolvedRoot);
8717
8717
  const DEFAULT_INTERVAL = 864e5;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-LJF6UY4R.js";
3
+ } from "./chunk-MTJ2LOXB.js";
4
4
  import {
5
5
  resultToMcpResponse
6
6
  } from "./chunk-EPUKTTJZ.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-HA6IIPRC.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-RYZFURLL.js");
42
42
  const config = configResult.value;
43
43
  const rawLayers = Array.isArray(config.layers) ? config.layers : [];
44
44
  const layers = rawLayers.map((l) => ({
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
33
33
  };
34
34
  async function handleCreateSelfReview(input) {
35
35
  try {
36
- const { parseDiff, createSelfReview } = await import("./dist-HA6IIPRC.js");
36
+ const { parseDiff, createSelfReview } = await import("./dist-RYZFURLL.js");
37
37
  const parseResult = parseDiff(input.diff);
38
38
  if (!parseResult.ok) {
39
39
  return resultToMcpResponse(parseResult);
@@ -119,7 +119,7 @@ var analyzeDiffDefinition = {
119
119
  };
120
120
  async function handleAnalyzeDiff(input) {
121
121
  try {
122
- const { parseDiff, analyzeDiff } = await import("./dist-HA6IIPRC.js");
122
+ const { parseDiff, analyzeDiff } = await import("./dist-RYZFURLL.js");
123
123
  const parseResult = parseDiff(input.diff);
124
124
  if (!parseResult.ok) {
125
125
  return resultToMcpResponse(parseResult);
@@ -195,7 +195,7 @@ var requestPeerReviewDefinition = {
195
195
  };
196
196
  async function handleRequestPeerReview(input) {
197
197
  try {
198
- const { parseDiff, requestPeerReview } = await import("./dist-HA6IIPRC.js");
198
+ const { parseDiff, requestPeerReview } = await import("./dist-RYZFURLL.js");
199
199
  const parseResult = parseDiff(input.diff);
200
200
  if (!parseResult.ok) {
201
201
  return resultToMcpResponse(parseResult);
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-NTOKQJOX.js";
7
+ } from "./chunk-LA3VGBU6.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-2TGCYJMT.js";
3
+ } from "./chunk-5O3PNHUQ.js";
4
4
  import {
5
5
  Err,
6
6
  Ok