@harness-engineering/cli 1.23.0 → 1.23.1

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 (42) hide show
  1. package/dist/{agents-md-GLKJSGKT.js → agents-md-FJXDMZPJ.js} +2 -2
  2. package/dist/{architecture-EDSBAGR4.js → architecture-FVERI7BQ.js} +3 -3
  3. package/dist/{assess-project-CEDY4JU3.js → assess-project-UGL5KLBV.js} +1 -1
  4. package/dist/bin/harness-mcp.js +14 -14
  5. package/dist/bin/harness.js +16 -16
  6. package/dist/{check-phase-gate-N3DTKFCZ.js → check-phase-gate-C7JPPKMX.js} +4 -4
  7. package/dist/{chunk-LIWGCYON.js → chunk-7DMF3VT5.js} +1 -1
  8. package/dist/{chunk-TLDCCPUZ.js → chunk-7V5Y2L67.js} +1 -1
  9. package/dist/{chunk-ENA4O4WD.js → chunk-7XZSHTYZ.js} +2 -2
  10. package/dist/{chunk-GJRUIXUK.js → chunk-AQN7GFKU.js} +1 -1
  11. package/dist/{chunk-2LAEDVOC.js → chunk-CZEPCYVX.js} +6 -6
  12. package/dist/{chunk-5SWE24IG.js → chunk-EUCASOD7.js} +1 -1
  13. package/dist/{chunk-QUKH6QCJ.js → chunk-FNVAW5NG.js} +7 -7
  14. package/dist/{chunk-HT4VPPB4.js → chunk-HRUCT5YX.js} +8 -8
  15. package/dist/{chunk-TD6MQUV2.js → chunk-KIR5PQX5.js} +1 -1
  16. package/dist/{chunk-SM22U22L.js → chunk-L57RL7MC.js} +80 -80
  17. package/dist/{chunk-AKVG4MMZ.js → chunk-LAKMOIU6.js} +9 -9
  18. package/dist/{chunk-XDAIFVGC.js → chunk-QBATHQXU.js} +64 -36
  19. package/dist/{chunk-AIBAYANF.js → chunk-RQ3AKUJB.js} +3 -3
  20. package/dist/{chunk-26AUZBV4.js → chunk-UJHNGRS6.js} +19 -19
  21. package/dist/{chunk-A4AI3H3R.js → chunk-WKLLNUAT.js} +1 -1
  22. package/dist/{chunk-TJ6NLLAY.js → chunk-ZLTFDTK7.js} +4 -4
  23. package/dist/{ci-workflow-LE3QF4FP.js → ci-workflow-S7VY625R.js} +2 -2
  24. package/dist/{dist-OEXTQQZC.js → dist-K56VJ4UJ.js} +1 -1
  25. package/dist/{dist-YIKUBJLQ.js → dist-LPGVPYOZ.js} +2 -2
  26. package/dist/{docs-F5G7NAFF.js → docs-CGUBALYL.js} +4 -4
  27. package/dist/{engine-LX5RVGXN.js → engine-PEHFAFOT.js} +2 -2
  28. package/dist/{entropy-A5Q2USYX.js → entropy-H5OOCI57.js} +3 -3
  29. package/dist/{feedback-2EU25RIW.js → feedback-XTDR7E3R.js} +1 -1
  30. package/dist/{generate-agent-definitions-HNJHO5YQ.js → generate-agent-definitions-RBI7Z4RY.js} +2 -2
  31. package/dist/{graph-loader-XULF5QF7.js → graph-loader-GRXDUWXO.js} +1 -1
  32. package/dist/index.d.ts +8 -8
  33. package/dist/index.js +16 -16
  34. package/dist/{loader-GWIEW4HM.js → loader-IOC5L7NL.js} +2 -2
  35. package/dist/{mcp-ID3LR6JB.js → mcp-7RPKBGIR.js} +14 -14
  36. package/dist/{performance-YAY2A6A6.js → performance-FSXEQJYB.js} +4 -4
  37. package/dist/{review-pipeline-YD4WI3JM.js → review-pipeline-VLKL7NV2.js} +1 -1
  38. package/dist/{runtime-UJ4YO4CA.js → runtime-3X2MV6R4.js} +2 -2
  39. package/dist/{security-IBSUKMVD.js → security-B76X5RL7.js} +1 -1
  40. package/dist/{validate-NHXWKMCR.js → validate-KN6A2GN3.js} +3 -3
  41. package/dist/{validate-cross-check-R3GV2MLM.js → validate-cross-check-LITTM24O.js} +2 -2
  42. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  detectEntropyDefinition,
3
3
  handleDetectEntropy
4
- } from "./chunk-TJ6NLLAY.js";
4
+ } from "./chunk-ZLTFDTK7.js";
5
5
  import {
6
6
  checkPerformanceDefinition,
7
7
  getCriticalPathsDefinition,
@@ -11,7 +11,7 @@ import {
11
11
  handleGetPerfBaselines,
12
12
  handleUpdatePerfBaselines,
13
13
  updatePerfBaselinesDefinition
14
- } from "./chunk-QUKH6QCJ.js";
14
+ } from "./chunk-FNVAW5NG.js";
15
15
  import {
16
16
  analyzeDiffDefinition,
17
17
  createSelfReviewDefinition,
@@ -19,19 +19,19 @@ import {
19
19
  handleCreateSelfReview,
20
20
  handleRequestPeerReview,
21
21
  requestPeerReviewDefinition
22
- } from "./chunk-AKVG4MMZ.js";
22
+ } from "./chunk-LAKMOIU6.js";
23
23
  import {
24
24
  handleRunSecurityScan,
25
25
  runSecurityScanDefinition
26
- } from "./chunk-TD6MQUV2.js";
26
+ } from "./chunk-KIR5PQX5.js";
27
27
  import {
28
28
  handleRunCodeReview,
29
29
  runCodeReviewDefinition
30
- } from "./chunk-LIWGCYON.js";
30
+ } from "./chunk-7DMF3VT5.js";
31
31
  import {
32
32
  assessProjectDefinition,
33
33
  handleAssessProject
34
- } from "./chunk-2LAEDVOC.js";
34
+ } from "./chunk-CZEPCYVX.js";
35
35
  import {
36
36
  GENERATED_HEADER_CLAUDE,
37
37
  GENERATED_HEADER_CODEX,
@@ -44,25 +44,25 @@ import {
44
44
  import {
45
45
  handleValidateProject,
46
46
  validateToolDefinition
47
- } from "./chunk-ENA4O4WD.js";
47
+ } from "./chunk-7XZSHTYZ.js";
48
48
  import {
49
49
  loadGraphStore
50
- } from "./chunk-TLDCCPUZ.js";
50
+ } from "./chunk-7V5Y2L67.js";
51
51
  import {
52
52
  checkDependenciesDefinition,
53
53
  handleCheckDependencies
54
- } from "./chunk-AIBAYANF.js";
54
+ } from "./chunk-RQ3AKUJB.js";
55
55
  import {
56
56
  resolveProjectConfig
57
57
  } from "./chunk-H7Y5CKTM.js";
58
58
  import {
59
59
  checkDocsDefinition,
60
60
  handleCheckDocs
61
- } from "./chunk-HT4VPPB4.js";
61
+ } from "./chunk-HRUCT5YX.js";
62
62
  import {
63
63
  TrackerConfigSchema,
64
64
  resolveConfig
65
- } from "./chunk-GJRUIXUK.js";
65
+ } from "./chunk-AQN7GFKU.js";
66
66
  import {
67
67
  resultToMcpResponse
68
68
  } from "./chunk-IDZNPTYD.js";
@@ -91,7 +91,7 @@ import {
91
91
  checkTaint,
92
92
  scanForInjection,
93
93
  writeTaint
94
- } from "./chunk-XDAIFVGC.js";
94
+ } from "./chunk-QBATHQXU.js";
95
95
  import {
96
96
  Err,
97
97
  Ok
@@ -561,7 +561,7 @@ ${skippedMsg}`
561
561
  async function handleInitProject(input) {
562
562
  const i = input;
563
563
  try {
564
- const { TemplateEngine } = await import("./engine-LX5RVGXN.js");
564
+ const { TemplateEngine } = await import("./engine-PEHFAFOT.js");
565
565
  const engine = new TemplateEngine(resolveTemplatesDir());
566
566
  const safePath = sanitizePath(i.path);
567
567
  const detected = tryDetectFramework(engine, safePath, i);
@@ -582,7 +582,7 @@ var listPersonasDefinition = {
582
582
  inputSchema: { type: "object", properties: {} }
583
583
  };
584
584
  async function handleListPersonas() {
585
- const { listPersonas } = await import("./loader-GWIEW4HM.js");
585
+ const { listPersonas } = await import("./loader-IOC5L7NL.js");
586
586
  const result = listPersonas(resolvePersonasDir());
587
587
  return resultToMcpResponse(result);
588
588
  }
@@ -606,10 +606,10 @@ async function handleGeneratePersonaArtifacts(input) {
606
606
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
607
607
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
608
608
  }
609
- const { loadPersona } = await import("./loader-GWIEW4HM.js");
610
- const { generateRuntime } = await import("./runtime-UJ4YO4CA.js");
611
- const { generateAgentsMd } = await import("./agents-md-GLKJSGKT.js");
612
- const { generateCIWorkflow } = await import("./ci-workflow-LE3QF4FP.js");
609
+ const { loadPersona } = await import("./loader-IOC5L7NL.js");
610
+ const { generateRuntime } = await import("./runtime-3X2MV6R4.js");
611
+ const { generateAgentsMd } = await import("./agents-md-FJXDMZPJ.js");
612
+ const { generateCIWorkflow } = await import("./ci-workflow-S7VY625R.js");
613
613
  const personasDir = resolvePersonasDir();
614
614
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
615
615
  if (!filePath.startsWith(personasDir)) {
@@ -664,7 +664,7 @@ async function handleRunPersona(input) {
664
664
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
665
665
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
666
666
  }
667
- const { loadPersona } = await import("./loader-GWIEW4HM.js");
667
+ const { loadPersona } = await import("./loader-IOC5L7NL.js");
668
668
  const { runPersona } = await import("./runner-VMYLHWOC.js");
669
669
  const { executeSkill } = await import("./skill-executor-2BZQLHYN.js");
670
670
  const personasDir = resolvePersonasDir();
@@ -1322,7 +1322,7 @@ async function autoSyncRoadmap(projectPath) {
1322
1322
  try {
1323
1323
  const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
1324
1324
  if (!fs10.existsSync(roadmapFile)) return;
1325
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-YIKUBJLQ.js");
1325
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-LPGVPYOZ.js");
1326
1326
  const raw = fs10.readFileSync(roadmapFile, "utf-8");
1327
1327
  const parseResult = parseRoadmap(raw);
1328
1328
  if (!parseResult.ok) return;
@@ -1349,7 +1349,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1349
1349
  }
1350
1350
  const token = process.env.GITHUB_TOKEN;
1351
1351
  if (!token) return;
1352
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-YIKUBJLQ.js");
1352
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-LPGVPYOZ.js");
1353
1353
  const adapter = new GitHubIssuesSyncAdapter({
1354
1354
  token,
1355
1355
  config: trackerConfig
@@ -1461,12 +1461,12 @@ var manageStateDefinition = {
1461
1461
  }
1462
1462
  };
1463
1463
  async function handleShow(projectPath, input) {
1464
- const { loadState } = await import("./dist-YIKUBJLQ.js");
1464
+ const { loadState } = await import("./dist-LPGVPYOZ.js");
1465
1465
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1466
1466
  }
1467
1467
  async function handleLearn(projectPath, input) {
1468
1468
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1469
- const { appendLearning } = await import("./dist-YIKUBJLQ.js");
1469
+ const { appendLearning } = await import("./dist-LPGVPYOZ.js");
1470
1470
  const result = await appendLearning(
1471
1471
  projectPath,
1472
1472
  input.learning,
@@ -1481,7 +1481,7 @@ async function handleLearn(projectPath, input) {
1481
1481
  async function handleFailure(projectPath, input) {
1482
1482
  if (!input.description) return mcpError("Error: description is required for failure action");
1483
1483
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1484
- const { appendFailure } = await import("./dist-YIKUBJLQ.js");
1484
+ const { appendFailure } = await import("./dist-LPGVPYOZ.js");
1485
1485
  const result = await appendFailure(
1486
1486
  projectPath,
1487
1487
  input.description,
@@ -1494,24 +1494,24 @@ async function handleFailure(projectPath, input) {
1494
1494
  return resultToMcpResponse(Ok({ recorded: true }));
1495
1495
  }
1496
1496
  async function handleArchive(projectPath, input) {
1497
- const { archiveFailures } = await import("./dist-YIKUBJLQ.js");
1497
+ const { archiveFailures } = await import("./dist-LPGVPYOZ.js");
1498
1498
  const result = await archiveFailures(projectPath, input.stream, input.session);
1499
1499
  if (!result.ok) return resultToMcpResponse(result);
1500
1500
  return resultToMcpResponse(Ok({ archived: true }));
1501
1501
  }
1502
1502
  async function handleReset(projectPath, input) {
1503
- const { saveState, DEFAULT_STATE } = await import("./dist-YIKUBJLQ.js");
1503
+ const { saveState, DEFAULT_STATE } = await import("./dist-LPGVPYOZ.js");
1504
1504
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1505
1505
  if (!result.ok) return resultToMcpResponse(result);
1506
1506
  return resultToMcpResponse(Ok({ reset: true }));
1507
1507
  }
1508
1508
  async function handleGate(projectPath, _input) {
1509
- const { runMechanicalGate } = await import("./dist-YIKUBJLQ.js");
1509
+ const { runMechanicalGate } = await import("./dist-LPGVPYOZ.js");
1510
1510
  return resultToMcpResponse(await runMechanicalGate(projectPath));
1511
1511
  }
1512
1512
  async function handleSaveHandoff(projectPath, input) {
1513
1513
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1514
- const { saveHandoff } = await import("./dist-YIKUBJLQ.js");
1514
+ const { saveHandoff } = await import("./dist-LPGVPYOZ.js");
1515
1515
  const result = await saveHandoff(
1516
1516
  projectPath,
1517
1517
  input.handoff,
@@ -1523,7 +1523,7 @@ async function handleSaveHandoff(projectPath, input) {
1523
1523
  return resultToMcpResponse(Ok({ saved: true }));
1524
1524
  }
1525
1525
  async function handleLoadHandoff(projectPath, input) {
1526
- const { loadHandoff } = await import("./dist-YIKUBJLQ.js");
1526
+ const { loadHandoff } = await import("./dist-LPGVPYOZ.js");
1527
1527
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1528
1528
  }
1529
1529
  async function handleAppendEntry(projectPath, input) {
@@ -1531,7 +1531,7 @@ async function handleAppendEntry(projectPath, input) {
1531
1531
  if (!input.section) return mcpError("Error: section is required for append_entry action");
1532
1532
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1533
1533
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1534
- const { appendSessionEntry } = await import("./dist-YIKUBJLQ.js");
1534
+ const { appendSessionEntry } = await import("./dist-LPGVPYOZ.js");
1535
1535
  const result = await appendSessionEntry(
1536
1536
  projectPath,
1537
1537
  input.session,
@@ -1547,7 +1547,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1547
1547
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1548
1548
  if (!input.newStatus)
1549
1549
  return mcpError("Error: newStatus is required for update_entry_status action");
1550
- const { updateSessionEntryStatus } = await import("./dist-YIKUBJLQ.js");
1550
+ const { updateSessionEntryStatus } = await import("./dist-LPGVPYOZ.js");
1551
1551
  const result = await updateSessionEntryStatus(
1552
1552
  projectPath,
1553
1553
  input.session,
@@ -1560,7 +1560,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1560
1560
  async function handleReadSection(projectPath, input) {
1561
1561
  if (!input.session) return mcpError("Error: session is required for read_section action");
1562
1562
  if (!input.section) return mcpError("Error: section is required for read_section action");
1563
- const { readSessionSection } = await import("./dist-YIKUBJLQ.js");
1563
+ const { readSessionSection } = await import("./dist-LPGVPYOZ.js");
1564
1564
  const result = await readSessionSection(
1565
1565
  projectPath,
1566
1566
  input.session,
@@ -1570,13 +1570,13 @@ async function handleReadSection(projectPath, input) {
1570
1570
  }
1571
1571
  async function handleReadSections(projectPath, input) {
1572
1572
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1573
- const { readSessionSections } = await import("./dist-YIKUBJLQ.js");
1573
+ const { readSessionSections } = await import("./dist-LPGVPYOZ.js");
1574
1574
  const result = await readSessionSections(projectPath, input.session);
1575
1575
  return resultToMcpResponse(result);
1576
1576
  }
1577
1577
  async function handleArchiveSession(projectPath, input) {
1578
1578
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1579
- const { archiveSession } = await import("./dist-YIKUBJLQ.js");
1579
+ const { archiveSession } = await import("./dist-LPGVPYOZ.js");
1580
1580
  const result = await archiveSession(projectPath, input.session);
1581
1581
  if (!result.ok) return resultToMcpResponse(result);
1582
1582
  await autoSyncRoadmap(projectPath);
@@ -1640,7 +1640,7 @@ var listStreamsDefinition = {
1640
1640
  };
1641
1641
  async function handleListStreams(input) {
1642
1642
  try {
1643
- const { listStreams, loadStreamIndex } = await import("./dist-YIKUBJLQ.js");
1643
+ const { listStreams, loadStreamIndex } = await import("./dist-LPGVPYOZ.js");
1644
1644
  const projectPath = sanitizePath(input.path);
1645
1645
  const indexResult = await loadStreamIndex(projectPath);
1646
1646
  const streamsResult = await listStreams(projectPath);
@@ -1678,7 +1678,7 @@ var checkPhaseGateDefinition = {
1678
1678
  };
1679
1679
  async function handleCheckPhaseGate(input) {
1680
1680
  try {
1681
- const { runCheckPhaseGate } = await import("./check-phase-gate-N3DTKFCZ.js");
1681
+ const { runCheckPhaseGate } = await import("./check-phase-gate-C7JPPKMX.js");
1682
1682
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
1683
1683
  if (result.ok) {
1684
1684
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -1734,7 +1734,7 @@ async function handleValidateCrossCheck(input) {
1734
1734
  };
1735
1735
  }
1736
1736
  try {
1737
- const { runCrossCheck } = await import("./validate-cross-check-R3GV2MLM.js");
1737
+ const { runCrossCheck } = await import("./validate-cross-check-LITTM24O.js");
1738
1738
  const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
1739
1739
  if (!specsDir.startsWith(projectPath)) {
1740
1740
  return {
@@ -2379,7 +2379,7 @@ async function handleGenerateSlashCommands(input) {
2379
2379
  // src/mcp/resources/state.ts
2380
2380
  async function getStateResource(projectRoot) {
2381
2381
  try {
2382
- const { loadState, migrateToStreams } = await import("./dist-YIKUBJLQ.js");
2382
+ const { loadState, migrateToStreams } = await import("./dist-LPGVPYOZ.js");
2383
2383
  await migrateToStreams(projectRoot);
2384
2384
  const result = await loadState(projectRoot);
2385
2385
  if (result.ok) {
@@ -2467,7 +2467,7 @@ async function handleQueryGraph(input) {
2467
2467
  const projectPath = sanitizePath(input.path);
2468
2468
  const store = await loadGraphStore(projectPath);
2469
2469
  if (!store) return graphNotFoundError();
2470
- const { ContextQL } = await import("./dist-OEXTQQZC.js");
2470
+ const { ContextQL } = await import("./dist-K56VJ4UJ.js");
2471
2471
  const cql = new ContextQL(store);
2472
2472
  const result = cql.execute({
2473
2473
  rootNodeIds: input.rootNodeIds,
@@ -2558,7 +2558,7 @@ async function handleSearchSimilar(input) {
2558
2558
  const projectPath = sanitizePath(input.path);
2559
2559
  const store = await loadGraphStore(projectPath);
2560
2560
  if (!store) return graphNotFoundError();
2561
- const { FusionLayer } = await import("./dist-OEXTQQZC.js");
2561
+ const { FusionLayer } = await import("./dist-K56VJ4UJ.js");
2562
2562
  const fusion = new FusionLayer(store);
2563
2563
  const results = fusion.search(input.query, input.topK ?? 10);
2564
2564
  if (input.mode === "summary") {
@@ -2613,7 +2613,7 @@ async function handleFindContextFor(input) {
2613
2613
  const projectPath = sanitizePath(input.path);
2614
2614
  const store = await loadGraphStore(projectPath);
2615
2615
  if (!store) return graphNotFoundError();
2616
- const { FusionLayer, ContextQL } = await import("./dist-OEXTQQZC.js");
2616
+ const { FusionLayer, ContextQL } = await import("./dist-K56VJ4UJ.js");
2617
2617
  const fusion = new FusionLayer(store);
2618
2618
  const cql = new ContextQL(store);
2619
2619
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -2709,7 +2709,7 @@ async function handleGetRelationships(input) {
2709
2709
  const projectPath = sanitizePath(input.path);
2710
2710
  const store = await loadGraphStore(projectPath);
2711
2711
  if (!store) return graphNotFoundError();
2712
- const { ContextQL } = await import("./dist-OEXTQQZC.js");
2712
+ const { ContextQL } = await import("./dist-K56VJ4UJ.js");
2713
2713
  const cql = new ContextQL(store);
2714
2714
  const direction = input.direction ?? "both";
2715
2715
  const bidirectional = direction === "both" || direction === "inbound";
@@ -2815,7 +2815,7 @@ async function handleGetImpact(input) {
2815
2815
  const projectPath = sanitizePath(input.path);
2816
2816
  const store = await loadGraphStore(projectPath);
2817
2817
  if (!store) return graphNotFoundError();
2818
- const { ContextQL } = await import("./dist-OEXTQQZC.js");
2818
+ const { ContextQL } = await import("./dist-K56VJ4UJ.js");
2819
2819
  let targetNodeId = input.nodeId;
2820
2820
  if (!targetNodeId && input.filePath) {
2821
2821
  const fileNodes = store.findNodes({ type: "file" });
@@ -2947,7 +2947,7 @@ async function handleIngestSource(input) {
2947
2947
  try {
2948
2948
  const projectPath = sanitizePath(input.path);
2949
2949
  const graphDir = path16.join(projectPath, ".harness", "graph");
2950
- const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-OEXTQQZC.js");
2950
+ const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-K56VJ4UJ.js");
2951
2951
  const fs17 = await import("fs/promises");
2952
2952
  await fs17.mkdir(graphDir, { recursive: true });
2953
2953
  const store = new GraphStore();
@@ -3022,7 +3022,7 @@ async function handleDetectAnomalies(input) {
3022
3022
  const projectPath = sanitizePath(input.path);
3023
3023
  const store = await loadGraphStore(projectPath);
3024
3024
  if (!store) return graphNotFoundError();
3025
- const { GraphAnomalyAdapter } = await import("./dist-OEXTQQZC.js");
3025
+ const { GraphAnomalyAdapter } = await import("./dist-K56VJ4UJ.js");
3026
3026
  const adapter = new GraphAnomalyAdapter(store);
3027
3027
  const report = adapter.detect({
3028
3028
  ...input.threshold !== void 0 && { threshold: input.threshold },
@@ -3062,7 +3062,7 @@ async function handleAskGraph(input) {
3062
3062
  const projectPath = sanitizePath(input.path);
3063
3063
  const store = await loadGraphStore(projectPath);
3064
3064
  if (!store) return graphNotFoundError();
3065
- const { askGraph } = await import("./dist-OEXTQQZC.js");
3065
+ const { askGraph } = await import("./dist-K56VJ4UJ.js");
3066
3066
  const result = await askGraph(store, input.question);
3067
3067
  return {
3068
3068
  content: [{ type: "text", text: JSON.stringify(result) }]
@@ -3198,7 +3198,7 @@ var generateAgentDefinitionsDefinition = {
3198
3198
  }
3199
3199
  };
3200
3200
  async function handleGenerateAgentDefinitions(input) {
3201
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-HNJHO5YQ.js");
3201
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-RBI7Z4RY.js");
3202
3202
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3203
3203
  const results = generateAgentDefinitions({
3204
3204
  platforms: [...platforms],
@@ -3526,7 +3526,7 @@ function shouldTriggerExternalSync(input, response) {
3526
3526
  }
3527
3527
  async function handleManageRoadmap(input) {
3528
3528
  try {
3529
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-YIKUBJLQ.js");
3529
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-LPGVPYOZ.js");
3530
3530
  const { Ok: Ok2 } = await import("./dist-USY2C5JL.js");
3531
3531
  const projectPath = sanitizePath(input.path);
3532
3532
  const deps = {
@@ -3961,7 +3961,7 @@ async function handleTransition(validInput, projectPath, id) {
3961
3961
  const transition = transitionResult.data;
3962
3962
  const prompt = renderTransition(transition);
3963
3963
  try {
3964
- const { saveHandoff } = await import("./dist-YIKUBJLQ.js");
3964
+ const { saveHandoff } = await import("./dist-LPGVPYOZ.js");
3965
3965
  await saveHandoff(
3966
3966
  projectPath,
3967
3967
  {
@@ -4029,7 +4029,7 @@ async function handleEmitInteraction(input) {
4029
4029
  }
4030
4030
  async function recordInteraction(projectPath, id, type, decision, stream) {
4031
4031
  try {
4032
- const { loadState, saveState } = await import("./dist-YIKUBJLQ.js");
4032
+ const { loadState, saveState } = await import("./dist-LPGVPYOZ.js");
4033
4033
  const stateResult = await loadState(projectPath, stream);
4034
4034
  if (stateResult.ok) {
4035
4035
  const state = stateResult.value;
@@ -4118,10 +4118,10 @@ async function handleGatherContext(input) {
4118
4118
  input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
4119
4119
  );
4120
4120
  const errors = [];
4121
- const statePromise = includeSet.has("state") ? import("./dist-YIKUBJLQ.js").then(
4121
+ const statePromise = includeSet.has("state") ? import("./dist-LPGVPYOZ.js").then(
4122
4122
  (core) => core.loadState(projectPath, void 0, input.session)
4123
4123
  ) : Promise.resolve(null);
4124
- const learningsPromise = includeSet.has("learnings") ? import("./dist-YIKUBJLQ.js").then(
4124
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-LPGVPYOZ.js").then(
4125
4125
  (core) => core.loadBudgetedLearnings(projectPath, {
4126
4126
  intent: input.intent,
4127
4127
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4130,14 +4130,14 @@ async function handleGatherContext(input) {
4130
4130
  ...input.depth !== void 0 && { depth: input.depth }
4131
4131
  })
4132
4132
  ) : Promise.resolve(null);
4133
- const handoffPromise = includeSet.has("handoff") ? import("./dist-YIKUBJLQ.js").then(
4133
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-LPGVPYOZ.js").then(
4134
4134
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4135
4135
  ) : Promise.resolve(null);
4136
4136
  const graphPromise = includeSet.has("graph") ? (async () => {
4137
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-XULF5QF7.js");
4137
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-GRXDUWXO.js");
4138
4138
  const store = await loadGraphStore2(projectPath);
4139
4139
  if (!store) return null;
4140
- const { FusionLayer, ContextQL } = await import("./dist-OEXTQQZC.js");
4140
+ const { FusionLayer, ContextQL } = await import("./dist-K56VJ4UJ.js");
4141
4141
  const fusion = new FusionLayer(store);
4142
4142
  const cql = new ContextQL(store);
4143
4143
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -4174,11 +4174,11 @@ async function handleGatherContext(input) {
4174
4174
  context: contextBlocks
4175
4175
  };
4176
4176
  })() : Promise.resolve(null);
4177
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-YIKUBJLQ.js").then(
4177
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-LPGVPYOZ.js").then(
4178
4178
  (core) => core.readSessionSections(projectPath, input.session)
4179
4179
  ) : Promise.resolve(null);
4180
4180
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
4181
- const eventsPromise = shouldIncludeEvents ? import("./dist-YIKUBJLQ.js").then(async (core) => {
4181
+ const eventsPromise = shouldIncludeEvents ? import("./dist-LPGVPYOZ.js").then(async (core) => {
4182
4182
  const result = await core.loadEvents(projectPath, {
4183
4183
  session: input.session
4184
4184
  });
@@ -4186,7 +4186,7 @@ async function handleGatherContext(input) {
4186
4186
  return core.formatEventTimeline(result.value);
4187
4187
  }) : Promise.resolve(null);
4188
4188
  const validationPromise = includeSet.has("validation") ? (async () => {
4189
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-NHXWKMCR.js");
4189
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-KN6A2GN3.js");
4190
4190
  const result = await handleValidateProject2({ path: projectPath });
4191
4191
  const first = result.content[0];
4192
4192
  return first ? JSON.parse(first.text) : null;
@@ -4280,7 +4280,7 @@ async function handleGatherContext(input) {
4280
4280
  };
4281
4281
  if (input.session) {
4282
4282
  try {
4283
- const core = await import("./dist-YIKUBJLQ.js");
4283
+ const core = await import("./dist-LPGVPYOZ.js");
4284
4284
  core.updateSessionIndex(
4285
4285
  projectPath,
4286
4286
  input.session,
@@ -4406,7 +4406,7 @@ async function handleReviewChanges(input) {
4406
4406
  }
4407
4407
  }
4408
4408
  async function runQuickReview(projectPath, diff, diffLines, downgraded) {
4409
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-2EU25RIW.js");
4409
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-XTDR7E3R.js");
4410
4410
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
4411
4411
  const firstContent = result.content[0];
4412
4412
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -4437,7 +4437,7 @@ function extractFileCount(diffParsed) {
4437
4437
  return files?.length ?? 0;
4438
4438
  }
4439
4439
  async function runStandardReview(projectPath, diff, diffLines, downgraded) {
4440
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-2EU25RIW.js");
4440
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-XTDR7E3R.js");
4441
4441
  const [diffResult, reviewResult] = await Promise.all([
4442
4442
  handleAnalyzeDiff2({ diff, path: projectPath }),
4443
4443
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -4469,7 +4469,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded) {
4469
4469
  };
4470
4470
  }
4471
4471
  async function runDeepReview(projectPath, diff, diffLines, _downgraded) {
4472
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-YD4WI3JM.js");
4472
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-VLKL7NV2.js");
4473
4473
  const result = await handleRunCodeReview2({ path: projectPath, diff });
4474
4474
  const deepContent = result.content[0];
4475
4475
  if (!deepContent) throw new Error("Empty code review response");
@@ -4540,7 +4540,7 @@ async function handleCheckTaskIndependence(input) {
4540
4540
  try {
4541
4541
  const projectPath = sanitizePath(input.path);
4542
4542
  const store = await loadGraphStore(projectPath);
4543
- const { TaskIndependenceAnalyzer } = await import("./dist-OEXTQQZC.js");
4543
+ const { TaskIndependenceAnalyzer } = await import("./dist-K56VJ4UJ.js");
4544
4544
  const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
4545
4545
  const result = analyzer.analyze({
4546
4546
  tasks: input.tasks,
@@ -4628,7 +4628,7 @@ async function handlePredictConflicts(input) {
4628
4628
  try {
4629
4629
  const projectPath = sanitizePath(input.path);
4630
4630
  const store = await loadGraphStore(projectPath);
4631
- const { ConflictPredictor } = await import("./dist-OEXTQQZC.js");
4631
+ const { ConflictPredictor } = await import("./dist-K56VJ4UJ.js");
4632
4632
  const predictor = new ConflictPredictor(store ?? void 0);
4633
4633
  const result = predictor.predict({
4634
4634
  tasks: input.tasks,
@@ -4734,7 +4734,7 @@ async function handleDetectStaleConstraints(input) {
4734
4734
  isError: true
4735
4735
  };
4736
4736
  }
4737
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-XULF5QF7.js");
4737
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-GRXDUWXO.js");
4738
4738
  const store = await loadGraphStore2(projectPath);
4739
4739
  if (!store) {
4740
4740
  return {
@@ -4755,7 +4755,7 @@ async function handleDetectStaleConstraints(input) {
4755
4755
  ]
4756
4756
  };
4757
4757
  }
4758
- const { detectStaleConstraints } = await import("./dist-YIKUBJLQ.js");
4758
+ const { detectStaleConstraints } = await import("./dist-LPGVPYOZ.js");
4759
4759
  const result = detectStaleConstraints(
4760
4760
  store,
4761
4761
  windowDays,
@@ -4872,10 +4872,10 @@ function countCriticalFindings(securityData) {
4872
4872
  return findings.filter((f) => f.severity === "error").length;
4873
4873
  }
4874
4874
  async function runHealthChecks(projectPath) {
4875
- const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-CEDY4JU3.js");
4876
- const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-EDSBAGR4.js");
4877
- const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-A5Q2USYX.js");
4878
- const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-IBSUKMVD.js");
4875
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-UGL5KLBV.js");
4876
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-FVERI7BQ.js");
4877
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-H5OOCI57.js");
4878
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-B76X5RL7.js");
4879
4879
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
4880
4880
  handleAssessProject2({
4881
4881
  path: projectPath,
@@ -4921,10 +4921,10 @@ function avg(values) {
4921
4921
  }
4922
4922
  async function runGraphMetrics(projectPath) {
4923
4923
  try {
4924
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-XULF5QF7.js");
4924
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-GRXDUWXO.js");
4925
4925
  const store = await loadGraphStore2(projectPath);
4926
4926
  if (!store) return ZERO_METRICS;
4927
- const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-OEXTQQZC.js");
4927
+ const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-K56VJ4UJ.js");
4928
4928
  const couplingAdapter = new GraphCouplingAdapter(store);
4929
4929
  const couplingData = couplingAdapter.computeCouplingData();
4930
4930
  const files = couplingData.files;
@@ -5090,7 +5090,7 @@ async function handleGetDecayTrends(input) {
5090
5090
  };
5091
5091
  }
5092
5092
  try {
5093
- const core = await import("./dist-YIKUBJLQ.js");
5093
+ const core = await import("./dist-LPGVPYOZ.js");
5094
5094
  const { TimelineManager } = core;
5095
5095
  const manager = new TimelineManager(projectPath);
5096
5096
  const timeline = manager.load();
@@ -5195,7 +5195,7 @@ async function handleCodeOutline(input) {
5195
5195
  };
5196
5196
  }
5197
5197
  try {
5198
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-YIKUBJLQ.js");
5198
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-LPGVPYOZ.js");
5199
5199
  const { stat } = await import("fs/promises");
5200
5200
  const stats = await stat(targetPath).catch(() => null);
5201
5201
  if (stats?.isFile()) {
@@ -5275,7 +5275,7 @@ async function handleCodeSearch(input) {
5275
5275
  };
5276
5276
  }
5277
5277
  try {
5278
- const { searchSymbols } = await import("./dist-YIKUBJLQ.js");
5278
+ const { searchSymbols } = await import("./dist-LPGVPYOZ.js");
5279
5279
  const result = await searchSymbols(input.query, directory, input.glob);
5280
5280
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
5281
5281
  for (const match of result.matches) {
@@ -5344,7 +5344,7 @@ async function handleCodeUnfold(input) {
5344
5344
  }
5345
5345
  try {
5346
5346
  if (input.symbol) {
5347
- const { unfoldSymbol } = await import("./dist-YIKUBJLQ.js");
5347
+ const { unfoldSymbol } = await import("./dist-LPGVPYOZ.js");
5348
5348
  const result = await unfoldSymbol(filePath, input.symbol);
5349
5349
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
5350
5350
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -5352,7 +5352,7 @@ async function handleCodeUnfold(input) {
5352
5352
  return { content: [{ type: "text", text: header + result.content }] };
5353
5353
  }
5354
5354
  if (input.startLine != null && input.endLine != null) {
5355
- const { unfoldRange } = await import("./dist-YIKUBJLQ.js");
5355
+ const { unfoldRange } = await import("./dist-LPGVPYOZ.js");
5356
5356
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
5357
5357
  const header = `${result.file}:${result.startLine}-${result.endLine}
5358
5358
  `;
@@ -5414,7 +5414,7 @@ async function handleCheckTraceability(input) {
5414
5414
  isError: true
5415
5415
  };
5416
5416
  }
5417
- const { queryTraceability } = await import("./dist-OEXTQQZC.js");
5417
+ const { queryTraceability } = await import("./dist-K56VJ4UJ.js");
5418
5418
  const options = {};
5419
5419
  if (input.spec) options.specPath = input.spec;
5420
5420
  if (input.feature) options.featureName = input.feature;
@@ -5537,7 +5537,7 @@ async function handlePredictFailures(input) {
5537
5537
  };
5538
5538
  }
5539
5539
  try {
5540
- const core = await import("./dist-YIKUBJLQ.js");
5540
+ const core = await import("./dist-LPGVPYOZ.js");
5541
5541
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
5542
5542
  const manager = new TimelineManager(projectPath);
5543
5543
  const includeRoadmap = input.includeRoadmap !== false;
@@ -6070,7 +6070,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
6070
6070
  shouldRunCheck,
6071
6071
  readCheckState,
6072
6072
  spawnBackgroundCheck
6073
- } = await import("./dist-YIKUBJLQ.js");
6073
+ } = await import("./dist-LPGVPYOZ.js");
6074
6074
  const { CLI_VERSION } = await import("./version-KFFPOQAX.js");
6075
6075
  const configInterval = readConfigInterval(resolvedRoot);
6076
6076
  const DEFAULT_INTERVAL = 864e5;
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
33
33
  };
34
34
  async function handleCreateSelfReview(input) {
35
35
  try {
36
- const { parseDiff, createSelfReview } = await import("./dist-YIKUBJLQ.js");
36
+ const { parseDiff, createSelfReview } = await import("./dist-LPGVPYOZ.js");
37
37
  const parseResult = parseDiff(input.diff);
38
38
  if (!parseResult.ok) {
39
39
  return resultToMcpResponse(parseResult);
@@ -53,11 +53,11 @@ async function handleCreateSelfReview(input) {
53
53
  ...input.maxFileCount !== void 0 ? { maxChangedFiles: input.maxFileCount } : {}
54
54
  }
55
55
  };
56
- const { loadGraphStore } = await import("./graph-loader-XULF5QF7.js");
56
+ const { loadGraphStore } = await import("./graph-loader-GRXDUWXO.js");
57
57
  const store = await loadGraphStore(projectPath);
58
58
  let graphData;
59
59
  if (store) {
60
- const { GraphFeedbackAdapter } = await import("./dist-OEXTQQZC.js");
60
+ const { GraphFeedbackAdapter } = await import("./dist-K56VJ4UJ.js");
61
61
  const adapter = new GraphFeedbackAdapter(store);
62
62
  const changedFiles = parseResult.value.files.map((f) => f.path);
63
63
  const impact = adapter.computeImpactData(changedFiles);
@@ -119,7 +119,7 @@ var analyzeDiffDefinition = {
119
119
  };
120
120
  async function handleAnalyzeDiff(input) {
121
121
  try {
122
- const { parseDiff, analyzeDiff } = await import("./dist-YIKUBJLQ.js");
122
+ const { parseDiff, analyzeDiff } = await import("./dist-LPGVPYOZ.js");
123
123
  const parseResult = parseDiff(input.diff);
124
124
  if (!parseResult.ok) {
125
125
  return resultToMcpResponse(parseResult);
@@ -139,10 +139,10 @@ async function handleAnalyzeDiff(input) {
139
139
  let graphImpactData;
140
140
  if (input.path) {
141
141
  try {
142
- const { loadGraphStore } = await import("./graph-loader-XULF5QF7.js");
142
+ const { loadGraphStore } = await import("./graph-loader-GRXDUWXO.js");
143
143
  const store = await loadGraphStore(sanitizePath(input.path));
144
144
  if (store) {
145
- const { GraphFeedbackAdapter } = await import("./dist-OEXTQQZC.js");
145
+ const { GraphFeedbackAdapter } = await import("./dist-K56VJ4UJ.js");
146
146
  const adapter = new GraphFeedbackAdapter(store);
147
147
  const changedFiles = parseResult.value.files.map((f) => f.path);
148
148
  const impact = adapter.computeImpactData(changedFiles);
@@ -195,7 +195,7 @@ var requestPeerReviewDefinition = {
195
195
  };
196
196
  async function handleRequestPeerReview(input) {
197
197
  try {
198
- const { parseDiff, requestPeerReview } = await import("./dist-YIKUBJLQ.js");
198
+ const { parseDiff, requestPeerReview } = await import("./dist-LPGVPYOZ.js");
199
199
  const parseResult = parseDiff(input.diff);
200
200
  if (!parseResult.ok) {
201
201
  return resultToMcpResponse(parseResult);
@@ -206,10 +206,10 @@ async function handleRequestPeerReview(input) {
206
206
  ...input.context ? { metadata: { context: input.context } } : {}
207
207
  };
208
208
  try {
209
- const { loadGraphStore } = await import("./graph-loader-XULF5QF7.js");
209
+ const { loadGraphStore } = await import("./graph-loader-GRXDUWXO.js");
210
210
  const store = await loadGraphStore(sanitizePath(input.path));
211
211
  if (store) {
212
- const { GraphFeedbackAdapter } = await import("./dist-OEXTQQZC.js");
212
+ const { GraphFeedbackAdapter } = await import("./dist-K56VJ4UJ.js");
213
213
  const adapter = new GraphFeedbackAdapter(store);
214
214
  const changedFiles = parseResult.value.files.map((f) => f.path);
215
215
  const impactData = adapter.computeImpactData(changedFiles);