@harness-engineering/cli 1.19.0 → 1.20.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.
- package/dist/{agents-md-DFY5W2DJ.js → agents-md-WHXVPOK2.js} +1 -1
- package/dist/{architecture-E6PIU27A.js → architecture-45YCLD26.js} +2 -2
- package/dist/bin/harness-mcp.js +11 -11
- package/dist/bin/harness.js +13 -13
- package/dist/{check-phase-gate-PRCIABVA.js → check-phase-gate-2VXVOUJ5.js} +3 -3
- package/dist/{chunk-WWXD6MAR.js → chunk-45ZJPG24.js} +1 -1
- package/dist/{chunk-ZR2C5FG2.js → chunk-4U4V7A6U.js} +2 -2
- package/dist/{chunk-7WS7GIOW.js → chunk-A33LHIRD.js} +1 -1
- package/dist/{chunk-7KGLJ74A.js → chunk-H6KZAGHZ.js} +4 -4
- package/dist/{chunk-OIPVOH5E.js → chunk-HAJD5LTI.js} +14 -14
- package/dist/{chunk-XULGZC2A.js → chunk-IC5CZSHF.js} +42 -0
- package/dist/{chunk-I2NEJO3P.js → chunk-LEWXD6PR.js} +1 -1
- package/dist/{chunk-DEMZ3JKK.js → chunk-LVJ7SCD7.js} +2 -2
- package/dist/{chunk-TCTYRFWX.js → chunk-PDEEQJHH.js} +5 -5
- package/dist/{chunk-E7N77TZW.js → chunk-PDOSLTWP.js} +1 -1
- package/dist/{chunk-4KE55XRN.js → chunk-SQY4AAKP.js} +98 -84
- package/dist/{chunk-DYY3YKA6.js → chunk-V73TEHIF.js} +3 -3
- package/dist/{chunk-FUQDDES3.js → chunk-YDOGGQSF.js} +1 -1
- package/dist/{ci-workflow-N2TJ7B7G.js → ci-workflow-HWX5OVLI.js} +1 -1
- package/dist/{dist-WABFDP2V.js → dist-WHL3NN5S.js} +1 -1
- package/dist/{docs-UOCKFYBH.js → docs-FJFY7GF2.js} +3 -3
- package/dist/{engine-R24ZLV44.js → engine-R5BZHIZB.js} +1 -1
- package/dist/{entropy-5Y32Q6UO.js → entropy-Y2GE4MYS.js} +2 -2
- package/dist/{feedback-NANNPO22.js → feedback-FKZ7GMPO.js} +1 -1
- package/dist/{generate-agent-definitions-BDHDLUZK.js → generate-agent-definitions-LN3A45OL.js} +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +13 -13
- package/dist/{loader-NOLQCQGX.js → loader-2TBQUFWX.js} +1 -1
- package/dist/{mcp-SDUVCYMR.js → mcp-KEY575NJ.js} +11 -11
- package/dist/{performance-AN4AJVEF.js → performance-BSOMMWK5.js} +3 -3
- package/dist/{review-pipeline-UBXJ4IAH.js → review-pipeline-KUBHP3RV.js} +1 -1
- package/dist/{runtime-23OFHLCZ.js → runtime-BN7KGJAO.js} +1 -1
- package/dist/{security-NNEE7IQT.js → security-3T4JGDZP.js} +1 -1
- package/dist/{validate-YLMMPRUI.js → validate-R5WGB2AV.js} +2 -2
- package/dist/{validate-cross-check-MM23HXVY.js → validate-cross-check-76Z5P6EX.js} +1 -1
- package/package.json +4 -4
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
checkDependenciesDefinition,
|
|
3
3
|
handleCheckDependencies
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-A33LHIRD.js";
|
|
5
5
|
import "./chunk-H7Y5CKTM.js";
|
|
6
6
|
import "./chunk-IDZNPTYD.js";
|
|
7
7
|
import "./chunk-W6Y7ZW3Y.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-IC5CZSHF.js";
|
|
9
9
|
import "./chunk-ERS5EVUZ.js";
|
|
10
10
|
export {
|
|
11
11
|
checkDependenciesDefinition,
|
package/dist/bin/harness-mcp.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
startServer
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-SQY4AAKP.js";
|
|
5
|
+
import "../chunk-4U4V7A6U.js";
|
|
6
|
+
import "../chunk-PDEEQJHH.js";
|
|
7
|
+
import "../chunk-V73TEHIF.js";
|
|
8
|
+
import "../chunk-LEWXD6PR.js";
|
|
9
|
+
import "../chunk-45ZJPG24.js";
|
|
10
10
|
import "../chunk-CJDVBBPB.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-LVJ7SCD7.js";
|
|
12
12
|
import "../chunk-CZZXE6BL.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-A33LHIRD.js";
|
|
14
14
|
import "../chunk-H7Y5CKTM.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-H6KZAGHZ.js";
|
|
16
|
+
import "../chunk-YDOGGQSF.js";
|
|
17
17
|
import "../chunk-IDZNPTYD.js";
|
|
18
18
|
import "../chunk-W6Y7ZW3Y.js";
|
|
19
19
|
import "../chunk-N5G5QMS3.js";
|
|
20
20
|
import "../chunk-3WGJMBKH.js";
|
|
21
21
|
import "../chunk-HKUX2X7O.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-IC5CZSHF.js";
|
|
23
23
|
import "../chunk-ERS5EVUZ.js";
|
|
24
24
|
|
|
25
25
|
// src/bin/harness-mcp.ts
|
package/dist/bin/harness.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createProgram,
|
|
4
4
|
printFirstRunWelcome
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-HAJD5LTI.js";
|
|
6
6
|
import "../chunk-SD3SQOZ2.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-PDOSLTWP.js";
|
|
8
8
|
import "../chunk-6KWBH4EO.js";
|
|
9
9
|
import "../chunk-YQ6KC6TE.js";
|
|
10
10
|
import "../chunk-TRAPF4IX.js";
|
|
@@ -16,22 +16,22 @@ import "../chunk-DBSOCI3G.js";
|
|
|
16
16
|
import "../chunk-FIAPHX37.js";
|
|
17
17
|
import "../chunk-KET4QQZB.js";
|
|
18
18
|
import "../chunk-OD3S2NHN.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-SQY4AAKP.js";
|
|
20
|
+
import "../chunk-4U4V7A6U.js";
|
|
21
|
+
import "../chunk-PDEEQJHH.js";
|
|
22
|
+
import "../chunk-V73TEHIF.js";
|
|
23
|
+
import "../chunk-LEWXD6PR.js";
|
|
24
|
+
import "../chunk-45ZJPG24.js";
|
|
25
25
|
import "../chunk-CJDVBBPB.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-LVJ7SCD7.js";
|
|
27
27
|
import "../chunk-CZZXE6BL.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-A33LHIRD.js";
|
|
29
29
|
import "../chunk-H7Y5CKTM.js";
|
|
30
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-H6KZAGHZ.js";
|
|
31
31
|
import {
|
|
32
32
|
findConfigFile,
|
|
33
33
|
loadConfig
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-YDOGGQSF.js";
|
|
35
35
|
import "../chunk-IDZNPTYD.js";
|
|
36
36
|
import "../chunk-W6Y7ZW3Y.js";
|
|
37
37
|
import "../chunk-N5G5QMS3.js";
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
readCheckState,
|
|
51
51
|
shouldRunCheck,
|
|
52
52
|
spawnBackgroundCheck
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-IC5CZSHF.js";
|
|
54
54
|
import "../chunk-ERS5EVUZ.js";
|
|
55
55
|
|
|
56
56
|
// src/bin/harness.ts
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCheckPhaseGateCommand,
|
|
3
3
|
runCheckPhaseGate
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PDOSLTWP.js";
|
|
5
5
|
import "./chunk-EBJQ6N4M.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-YDOGGQSF.js";
|
|
7
7
|
import "./chunk-3WGJMBKH.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-IC5CZSHF.js";
|
|
9
9
|
import "./chunk-ERS5EVUZ.js";
|
|
10
10
|
export {
|
|
11
11
|
createCheckPhaseGateCommand,
|
|
@@ -45,7 +45,7 @@ var runCodeReviewDefinition = {
|
|
|
45
45
|
};
|
|
46
46
|
async function handleRunCodeReview(input) {
|
|
47
47
|
try {
|
|
48
|
-
const { parseDiff, runReviewPipeline } = await import("./dist-
|
|
48
|
+
const { parseDiff, runReviewPipeline } = await import("./dist-WHL3NN5S.js");
|
|
49
49
|
const parseResult = parseDiff(input.diff);
|
|
50
50
|
if (!parseResult.ok) {
|
|
51
51
|
return {
|
|
@@ -123,7 +123,7 @@ function buildSummaryResponse(report) {
|
|
|
123
123
|
}
|
|
124
124
|
async function handleDetectEntropy(input) {
|
|
125
125
|
try {
|
|
126
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
126
|
+
const { EntropyAnalyzer } = await import("./dist-WHL3NN5S.js");
|
|
127
127
|
const typeFilter = input.type ?? "all";
|
|
128
128
|
const analyzer = new EntropyAnalyzer({
|
|
129
129
|
rootDir: sanitizePath(input.path),
|
|
@@ -142,7 +142,7 @@ async function handleDetectEntropy(input) {
|
|
|
142
142
|
return resultToMcpResponse(result);
|
|
143
143
|
}
|
|
144
144
|
if (!result.ok) return resultToMcpResponse(result);
|
|
145
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
145
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-WHL3NN5S.js");
|
|
146
146
|
const report = result.value;
|
|
147
147
|
const deadCode = report.deadCode;
|
|
148
148
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|
|
@@ -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-
|
|
41
|
+
const { validateDependencies, TypeScriptParser } = await import("./dist-WHL3NN5S.js");
|
|
42
42
|
const config = configResult.value;
|
|
43
43
|
const rawLayers = Array.isArray(config.layers) ? config.layers : [];
|
|
44
44
|
const layers = rawLayers.map((l) => ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findConfigFile,
|
|
3
3
|
loadConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YDOGGQSF.js";
|
|
5
5
|
import {
|
|
6
6
|
resultToMcpResponse
|
|
7
7
|
} from "./chunk-IDZNPTYD.js";
|
|
@@ -46,12 +46,12 @@ async function handleCheckDocs(input) {
|
|
|
46
46
|
const projectPath = sanitizePath(input.path);
|
|
47
47
|
const scope = input.scope ?? "coverage";
|
|
48
48
|
if (scope === "integrity") {
|
|
49
|
-
const { validateKnowledgeMap } = await import("./dist-
|
|
49
|
+
const { validateKnowledgeMap } = await import("./dist-WHL3NN5S.js");
|
|
50
50
|
const result2 = await validateKnowledgeMap(projectPath);
|
|
51
51
|
return resultToMcpResponse(result2);
|
|
52
52
|
}
|
|
53
53
|
if (scope === "all") {
|
|
54
|
-
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-
|
|
54
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-WHL3NN5S.js");
|
|
55
55
|
const domain2 = input.domain ?? "src";
|
|
56
56
|
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KMHDQYDT.js");
|
|
57
57
|
const store2 = await loadGraphStore2(projectPath);
|
|
@@ -90,7 +90,7 @@ async function handleCheckDocs(input) {
|
|
|
90
90
|
}
|
|
91
91
|
return resultToMcpResponse(Ok({ coverage, integrity }));
|
|
92
92
|
}
|
|
93
|
-
const { checkDocCoverage } = await import("./dist-
|
|
93
|
+
const { checkDocCoverage } = await import("./dist-WHL3NN5S.js");
|
|
94
94
|
const domain = input.domain ?? "src";
|
|
95
95
|
const { loadGraphStore } = await import("./graph-loader-KMHDQYDT.js");
|
|
96
96
|
const store = await loadGraphStore(projectPath);
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
OutputMode,
|
|
7
7
|
createCheckPhaseGateCommand,
|
|
8
8
|
findFiles
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PDOSLTWP.js";
|
|
10
10
|
import {
|
|
11
11
|
createGenerateAgentDefinitionsCommand,
|
|
12
12
|
generateAgentDefinitions
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
handleGetImpact,
|
|
51
51
|
handleOrphanDeletion,
|
|
52
52
|
persistToolingConfig
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-SQY4AAKP.js";
|
|
54
54
|
import {
|
|
55
55
|
VALID_PLATFORMS
|
|
56
56
|
} from "./chunk-CJDVBBPB.js";
|
|
57
57
|
import {
|
|
58
58
|
findConfigFile,
|
|
59
59
|
resolveConfig
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-YDOGGQSF.js";
|
|
61
61
|
import {
|
|
62
62
|
resolveGlobalSkillsDir,
|
|
63
63
|
resolvePersonasDir,
|
|
@@ -135,7 +135,7 @@ import {
|
|
|
135
135
|
validateKnowledgeMap,
|
|
136
136
|
writeConfig,
|
|
137
137
|
writeLockfile
|
|
138
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-IC5CZSHF.js";
|
|
139
139
|
import {
|
|
140
140
|
Err,
|
|
141
141
|
Ok
|
|
@@ -221,7 +221,7 @@ function createValidateCommand() {
|
|
|
221
221
|
process.exit(result.error.exitCode);
|
|
222
222
|
}
|
|
223
223
|
if (opts.crossCheck) {
|
|
224
|
-
const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-
|
|
224
|
+
const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-76Z5P6EX.js");
|
|
225
225
|
const cwd = process.cwd();
|
|
226
226
|
const specsDir = path.join(cwd, "docs", "specs");
|
|
227
227
|
const plansDir = path.join(cwd, "docs", "plans");
|
|
@@ -578,7 +578,7 @@ function registerBenchCommand(perf) {
|
|
|
578
578
|
perf.command("bench [glob]").description("Run benchmarks via vitest bench").action(async (glob, _opts, cmd) => {
|
|
579
579
|
const globalOpts = cmd.optsWithGlobals();
|
|
580
580
|
const cwd = process.cwd();
|
|
581
|
-
const { BenchmarkRunner } = await import("./dist-
|
|
581
|
+
const { BenchmarkRunner } = await import("./dist-WHL3NN5S.js");
|
|
582
582
|
const runner = new BenchmarkRunner();
|
|
583
583
|
const benchFiles = runner.discover(cwd, glob);
|
|
584
584
|
if (benchFiles.length === 0) {
|
|
@@ -646,7 +646,7 @@ function registerBaselinesCommands(perf) {
|
|
|
646
646
|
baselines.command("update").description("Update baselines from latest benchmark run").action(async (_opts, cmd) => {
|
|
647
647
|
const globalOpts = cmd.optsWithGlobals();
|
|
648
648
|
const cwd = process.cwd();
|
|
649
|
-
const { BenchmarkRunner } = await import("./dist-
|
|
649
|
+
const { BenchmarkRunner } = await import("./dist-WHL3NN5S.js");
|
|
650
650
|
const runner = new BenchmarkRunner();
|
|
651
651
|
const manager = new BaselineManager(cwd);
|
|
652
652
|
logger.info("Running benchmarks to update baselines...");
|
|
@@ -679,7 +679,7 @@ function registerReportCommand(perf) {
|
|
|
679
679
|
perf.command("report").description("Full performance report with metrics, trends, and hotspots").action(async (_opts, cmd) => {
|
|
680
680
|
const globalOpts = cmd.optsWithGlobals();
|
|
681
681
|
const cwd = process.cwd();
|
|
682
|
-
const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-
|
|
682
|
+
const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-WHL3NN5S.js");
|
|
683
683
|
const analyzer = new EntropyAnalyzer2({
|
|
684
684
|
rootDir: path5.resolve(cwd),
|
|
685
685
|
analyze: { complexity: true, coupling: true }
|
|
@@ -5095,7 +5095,7 @@ function createGraphCommand() {
|
|
|
5095
5095
|
import { Command as Command50 } from "commander";
|
|
5096
5096
|
function createMcpCommand() {
|
|
5097
5097
|
return new Command50("mcp").description("Start the MCP (Model Context Protocol) server on stdio").option("--tools <tools...>", "Only register the specified tools (used by Cursor integration)").action(async (opts) => {
|
|
5098
|
-
const { startServer: startServer2 } = await import("./mcp-
|
|
5098
|
+
const { startServer: startServer2 } = await import("./mcp-KEY575NJ.js");
|
|
5099
5099
|
await startServer2(opts.tools);
|
|
5100
5100
|
});
|
|
5101
5101
|
}
|
|
@@ -6594,7 +6594,7 @@ function createIntegrationsCommand() {
|
|
|
6594
6594
|
// src/commands/usage.ts
|
|
6595
6595
|
import { Command as Command67 } from "commander";
|
|
6596
6596
|
async function loadAndPriceRecords(cwd, includeClaudeSessions = false) {
|
|
6597
|
-
const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-
|
|
6597
|
+
const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-WHL3NN5S.js");
|
|
6598
6598
|
const records = readCostRecords(cwd);
|
|
6599
6599
|
if (includeClaudeSessions) {
|
|
6600
6600
|
const ccRecords = parseCCRecords();
|
|
@@ -6638,7 +6638,7 @@ function registerDailyCommand(usage) {
|
|
|
6638
6638
|
}
|
|
6639
6639
|
return;
|
|
6640
6640
|
}
|
|
6641
|
-
const { aggregateByDay } = await import("./dist-
|
|
6641
|
+
const { aggregateByDay } = await import("./dist-WHL3NN5S.js");
|
|
6642
6642
|
const dailyData = aggregateByDay(records);
|
|
6643
6643
|
const limited = dailyData.slice(0, days);
|
|
6644
6644
|
if (globalOpts.json) {
|
|
@@ -6674,7 +6674,7 @@ function registerSessionsCommand(usage) {
|
|
|
6674
6674
|
}
|
|
6675
6675
|
return;
|
|
6676
6676
|
}
|
|
6677
|
-
const { aggregateBySession } = await import("./dist-
|
|
6677
|
+
const { aggregateBySession } = await import("./dist-WHL3NN5S.js");
|
|
6678
6678
|
const sessionData = aggregateBySession(records);
|
|
6679
6679
|
const limited = sessionData.slice(0, limit);
|
|
6680
6680
|
if (globalOpts.json) {
|
|
@@ -6703,7 +6703,7 @@ function registerSessionCommand(usage) {
|
|
|
6703
6703
|
const globalOpts = cmd.optsWithGlobals();
|
|
6704
6704
|
const cwd = process.cwd();
|
|
6705
6705
|
const records = await loadAndPriceRecords(cwd, globalOpts.includeClaudeSessions);
|
|
6706
|
-
const { aggregateBySession } = await import("./dist-
|
|
6706
|
+
const { aggregateBySession } = await import("./dist-WHL3NN5S.js");
|
|
6707
6707
|
const sessionData = aggregateBySession(records);
|
|
6708
6708
|
const match = sessionData.find((s) => s.sessionId === id);
|
|
6709
6709
|
if (!match) {
|
|
@@ -6769,7 +6769,7 @@ function registerLatestCommand(usage) {
|
|
|
6769
6769
|
}
|
|
6770
6770
|
return;
|
|
6771
6771
|
}
|
|
6772
|
-
const { aggregateBySession } = await import("./dist-
|
|
6772
|
+
const { aggregateBySession } = await import("./dist-WHL3NN5S.js");
|
|
6773
6773
|
const sessionData = aggregateBySession(records);
|
|
6774
6774
|
const latest = sessionData[0];
|
|
6775
6775
|
if (!latest) {
|
|
@@ -12012,6 +12012,8 @@ var GitHubIssuesSyncAdapter = class {
|
|
|
12012
12012
|
retryOpts;
|
|
12013
12013
|
/** Cached GitHub milestone name -> ID mapping */
|
|
12014
12014
|
milestoneCache = null;
|
|
12015
|
+
/** Cached authenticated user login (e.g., "@octocat") */
|
|
12016
|
+
authenticatedUserCache = null;
|
|
12015
12017
|
constructor(options) {
|
|
12016
12018
|
this.token = options.token;
|
|
12017
12019
|
this.config = options.config;
|
|
@@ -12065,6 +12067,26 @@ var GitHubIssuesSyncAdapter = class {
|
|
|
12065
12067
|
cache.set(name, data.number);
|
|
12066
12068
|
return data.number;
|
|
12067
12069
|
}
|
|
12070
|
+
async getAuthenticatedUser() {
|
|
12071
|
+
if (this.authenticatedUserCache) return Ok(this.authenticatedUserCache);
|
|
12072
|
+
try {
|
|
12073
|
+
const response = await fetchWithRetry(
|
|
12074
|
+
this.fetchFn,
|
|
12075
|
+
`${this.apiBase}/user`,
|
|
12076
|
+
{ method: "GET", headers: this.headers() },
|
|
12077
|
+
this.retryOpts
|
|
12078
|
+
);
|
|
12079
|
+
if (!response.ok) {
|
|
12080
|
+
const text = await response.text();
|
|
12081
|
+
return Err(new Error(`GitHub API error ${response.status}: ${text}`));
|
|
12082
|
+
}
|
|
12083
|
+
const data = await response.json();
|
|
12084
|
+
this.authenticatedUserCache = `@${data.login}`;
|
|
12085
|
+
return Ok(this.authenticatedUserCache);
|
|
12086
|
+
} catch (error) {
|
|
12087
|
+
return Err(error instanceof Error ? error : new Error(String(error)));
|
|
12088
|
+
}
|
|
12089
|
+
}
|
|
12068
12090
|
headers() {
|
|
12069
12091
|
return {
|
|
12070
12092
|
Authorization: `Bearer ${this.token}`,
|
|
@@ -12094,6 +12116,10 @@ var GitHubIssuesSyncAdapter = class {
|
|
|
12094
12116
|
const milestoneId = await this.ensureMilestone(milestone);
|
|
12095
12117
|
const issuePayload = { title: feature.name, body, labels };
|
|
12096
12118
|
if (milestoneId) issuePayload.milestone = milestoneId;
|
|
12119
|
+
if (feature.assignee) {
|
|
12120
|
+
const login = feature.assignee.startsWith("@") ? feature.assignee.slice(1) : feature.assignee;
|
|
12121
|
+
issuePayload.assignees = [login];
|
|
12122
|
+
}
|
|
12097
12123
|
const response = await fetchWithRetry(
|
|
12098
12124
|
this.fetchFn,
|
|
12099
12125
|
`${this.apiBase}/repos/${this.owner}/${this.repo}/issues`,
|
|
@@ -12127,6 +12153,14 @@ var GitHubIssuesSyncAdapter = class {
|
|
|
12127
12153
|
patch.state = externalStatus;
|
|
12128
12154
|
patch.labels = [...labelsForStatus(changes.status, this.config), "feature"];
|
|
12129
12155
|
}
|
|
12156
|
+
if (changes.assignee !== void 0) {
|
|
12157
|
+
if (changes.assignee) {
|
|
12158
|
+
const login = changes.assignee.startsWith("@") ? changes.assignee.slice(1) : changes.assignee;
|
|
12159
|
+
patch.assignees = [login];
|
|
12160
|
+
} else {
|
|
12161
|
+
patch.assignees = [];
|
|
12162
|
+
}
|
|
12163
|
+
}
|
|
12130
12164
|
if (milestone) {
|
|
12131
12165
|
const milestoneId = await this.ensureMilestone(milestone);
|
|
12132
12166
|
if (milestoneId) patch.milestone = milestoneId;
|
|
@@ -12248,8 +12282,16 @@ function emptySyncResult() {
|
|
|
12248
12282
|
}
|
|
12249
12283
|
async function syncToExternal(roadmap, adapter, _config) {
|
|
12250
12284
|
const result = emptySyncResult();
|
|
12285
|
+
let defaultAssignee = null;
|
|
12286
|
+
const userResult = await adapter.getAuthenticatedUser();
|
|
12287
|
+
if (userResult.ok) {
|
|
12288
|
+
defaultAssignee = userResult.value;
|
|
12289
|
+
}
|
|
12251
12290
|
for (const milestone of roadmap.milestones) {
|
|
12252
12291
|
for (const feature of milestone.features) {
|
|
12292
|
+
if (!feature.assignee && defaultAssignee) {
|
|
12293
|
+
feature.assignee = defaultAssignee;
|
|
12294
|
+
}
|
|
12253
12295
|
if (!feature.externalId) {
|
|
12254
12296
|
const createResult = await adapter.createTicket(feature, milestone.name);
|
|
12255
12297
|
if (createResult.ok) {
|
|
@@ -26,7 +26,7 @@ var runSecurityScanDefinition = {
|
|
|
26
26
|
};
|
|
27
27
|
async function handleRunSecurityScan(input) {
|
|
28
28
|
try {
|
|
29
|
-
const core = await import("./dist-
|
|
29
|
+
const core = await import("./dist-WHL3NN5S.js");
|
|
30
30
|
const projectRoot = sanitizePath(input.path);
|
|
31
31
|
let configData = {};
|
|
32
32
|
try {
|
|
@@ -49,7 +49,7 @@ async function handleValidateProject(input) {
|
|
|
49
49
|
checks.config = "pass";
|
|
50
50
|
const config = configResult.value;
|
|
51
51
|
try {
|
|
52
|
-
const core = await import("./dist-
|
|
52
|
+
const core = await import("./dist-WHL3NN5S.js");
|
|
53
53
|
if (typeof core.validateFileStructure === "function" && Array.isArray(config.conventions)) {
|
|
54
54
|
const conventions = config.conventions;
|
|
55
55
|
const structureResult = await core.validateFileStructure(projectPath, conventions);
|
|
@@ -68,7 +68,7 @@ async function handleValidateProject(input) {
|
|
|
68
68
|
} catch {
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
-
const core = await import("./dist-
|
|
71
|
+
const core = await import("./dist-WHL3NN5S.js");
|
|
72
72
|
if (typeof core.validateAgentsMap === "function") {
|
|
73
73
|
const agentsMapPath = path.join(projectPath, "AGENTS.md");
|
|
74
74
|
const agentsResult = await core.validateAgentsMap(agentsMapPath);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findConfigFile,
|
|
3
3
|
loadConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YDOGGQSF.js";
|
|
5
5
|
import {
|
|
6
6
|
resultToMcpResponse
|
|
7
7
|
} from "./chunk-IDZNPTYD.js";
|
|
@@ -31,7 +31,7 @@ var checkPerformanceDefinition = {
|
|
|
31
31
|
};
|
|
32
32
|
async function handleCheckPerformance(input) {
|
|
33
33
|
try {
|
|
34
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
34
|
+
const { EntropyAnalyzer } = await import("./dist-WHL3NN5S.js");
|
|
35
35
|
const typeFilter = input.type ?? "all";
|
|
36
36
|
const projectPath = sanitizePath(input.path);
|
|
37
37
|
let entryPoints;
|
|
@@ -94,7 +94,7 @@ var getPerfBaselinesDefinition = {
|
|
|
94
94
|
};
|
|
95
95
|
async function handleGetPerfBaselines(input) {
|
|
96
96
|
try {
|
|
97
|
-
const { BaselineManager } = await import("./dist-
|
|
97
|
+
const { BaselineManager } = await import("./dist-WHL3NN5S.js");
|
|
98
98
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
99
99
|
const baselines = manager.load();
|
|
100
100
|
return resultToMcpResponse(
|
|
@@ -142,7 +142,7 @@ var updatePerfBaselinesDefinition = {
|
|
|
142
142
|
};
|
|
143
143
|
async function handleUpdatePerfBaselines(input) {
|
|
144
144
|
try {
|
|
145
|
-
const { BaselineManager } = await import("./dist-
|
|
145
|
+
const { BaselineManager } = await import("./dist-WHL3NN5S.js");
|
|
146
146
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
147
147
|
manager.save(input.results, input.commitHash);
|
|
148
148
|
const updated = manager.load();
|
|
@@ -172,7 +172,7 @@ var getCriticalPathsDefinition = {
|
|
|
172
172
|
};
|
|
173
173
|
async function handleGetCriticalPaths(input) {
|
|
174
174
|
try {
|
|
175
|
-
const { CriticalPathResolver } = await import("./dist-
|
|
175
|
+
const { CriticalPathResolver } = await import("./dist-WHL3NN5S.js");
|
|
176
176
|
const resolver = new CriticalPathResolver(sanitizePath(input.path));
|
|
177
177
|
const result = await resolver.resolve();
|
|
178
178
|
return resultToMcpResponse(Ok(result));
|