@harness-engineering/cli 1.28.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/skills/claude-code/harness-compound/SKILL.md +153 -0
- package/dist/agents/skills/claude-code/harness-compound/skill.yaml +60 -0
- package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +12 -1
- package/dist/agents/skills/claude-code/harness-observability/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-pulse/SKILL.md +138 -0
- package/dist/agents/skills/claude-code/harness-pulse/references/interview.md +77 -0
- package/dist/agents/skills/claude-code/harness-pulse/skill.yaml +61 -0
- package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +25 -1
- package/dist/agents/skills/codex/harness-compound/SKILL.md +153 -0
- package/dist/agents/skills/codex/harness-compound/skill.yaml +60 -0
- package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +12 -1
- package/dist/agents/skills/codex/harness-observability/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-pulse/SKILL.md +138 -0
- package/dist/agents/skills/codex/harness-pulse/references/interview.md +77 -0
- package/dist/agents/skills/codex/harness-pulse/skill.yaml +61 -0
- package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +25 -1
- package/dist/agents/skills/cursor/harness-compound/SKILL.md +153 -0
- package/dist/agents/skills/cursor/harness-compound/skill.yaml +60 -0
- package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +12 -1
- package/dist/agents/skills/cursor/harness-observability/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-pulse/SKILL.md +138 -0
- package/dist/agents/skills/cursor/harness-pulse/references/interview.md +77 -0
- package/dist/agents/skills/cursor/harness-pulse/skill.yaml +61 -0
- package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +25 -1
- package/dist/agents/skills/gemini-cli/harness-compound/SKILL.md +153 -0
- package/dist/agents/skills/gemini-cli/harness-compound/skill.yaml +60 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +12 -1
- package/dist/agents/skills/gemini-cli/harness-observability/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-pulse/SKILL.md +138 -0
- package/dist/agents/skills/gemini-cli/harness-pulse/references/interview.md +77 -0
- package/dist/agents/skills/gemini-cli/harness-pulse/skill.yaml +61 -0
- package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +25 -1
- package/dist/agents/skills/package.json +1 -0
- package/dist/agents/skills/tests/fixtures/harness-compound/bug-track-fixture/input.json +10 -0
- package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/docs/solutions/bug-track/integration-issues/stalled-lease-cleanup.md +28 -0
- package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/expected.json +4 -0
- package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/input.json +10 -0
- package/dist/agents/skills/tests/fixtures/harness-compound/knowledge-track-fixture/input.json +10 -0
- package/dist/agents/skills/tests/harness-compound.test.ts +86 -0
- package/dist/{agents-md-6SAMHE7H.js → agents-md-XCAWON2D.js} +3 -3
- package/dist/{architecture-5YR52NSV.js → architecture-KERHEEQZ.js} +4 -4
- package/dist/{assess-project-5X7TYQFM.js → assess-project-NPYA3UVI.js} +1 -1
- package/dist/bin/harness-mcp.js +16 -15
- package/dist/bin/harness.js +26 -25
- package/dist/{check-phase-gate-PLV2VDOL.js → check-phase-gate-GE5ALEEU.js} +5 -4
- package/dist/{chunk-KJD4J54I.js → chunk-4FVHBBPY.js} +6 -1
- package/dist/{chunk-PFM3BVVU.js → chunk-AEFZJ543.js} +1 -1
- package/dist/{chunk-S2WB4LE7.js → chunk-BMM3GXV6.js} +384 -28
- package/dist/{chunk-RYDPFIJY.js → chunk-D5FE4L2O.js} +1 -1
- package/dist/{chunk-HT7HYYGT.js → chunk-DRD7LLFC.js} +1 -1
- package/dist/{chunk-2IBXUG6J.js → chunk-EFA4OEEN.js} +2 -2
- package/dist/{chunk-JZST2WZS.js → chunk-FBQYKH7R.js} +3 -3
- package/dist/{chunk-MTPHNOJW.js → chunk-FQAJAM54.js} +506 -242
- package/dist/{chunk-R2CBBZA6.js → chunk-GCYGGQFM.js} +1 -1
- package/dist/{chunk-7JQ7HLM4.js → chunk-GHPWBWUW.js} +8 -8
- package/dist/{chunk-6L2BU4BP.js → chunk-HBQ3BK2E.js} +1 -1
- package/dist/{chunk-ZYLBIDLE.js → chunk-IIX5OJES.js} +1 -1
- package/dist/{chunk-DXGI7DL3.js → chunk-KTWKW6KJ.js} +1 -1
- package/dist/{chunk-6GXSJGSW.js → chunk-LY2TY6NE.js} +3 -3
- package/dist/{chunk-JNKALGRM.js → chunk-M4C3ZIGL.js} +5 -5
- package/dist/{chunk-RFYF7TJS.js → chunk-MAFI6UWT.js} +1701 -769
- package/dist/{chunk-BYS3TQOO.js → chunk-OXFFN3FD.js} +1 -1
- package/dist/{chunk-XHOGGZS7.js → chunk-PCX4GPNT.js} +1 -1
- package/dist/{chunk-BFBZK6BC.js → chunk-RCHXBL2M.js} +6 -6
- package/dist/{chunk-74YADB7T.js → chunk-T7MNLCUD.js} +92 -92
- package/dist/{chunk-SITVRO7K.js → chunk-URLDPALI.js} +9 -9
- package/dist/{chunk-ELJ2MXMO.js → chunk-UWIOBHZL.js} +9 -9
- package/dist/{chunk-QDRBWVVY.js → chunk-WW6AUOA3.js} +2 -2
- package/dist/{chunk-5ME3WG3G.js → chunk-YBGVZQQE.js} +5 -5
- package/dist/{chunk-YJE23GRZ.js → chunk-YG4ZBGEH.js} +39 -5
- package/dist/chunk-ZCZD7FHU.js +16 -0
- package/dist/{ci-workflow-7T2XKB3P.js → ci-workflow-A2E2RTOP.js} +3 -3
- package/dist/{dist-42AYXCAK.js → dist-D27LJR2T.js} +7 -1
- package/dist/{dist-77VNTHWV.js → dist-K22DQUYY.js} +78 -2
- package/dist/{docs-MSIJ6SDO.js → docs-GXJOFVCF.js} +5 -4
- package/dist/{engine-F4P5RBE4.js → engine-JBUIA2XO.js} +3 -3
- package/dist/{entropy-GSUTIORR.js → entropy-Y7LUT4BZ.js} +3 -3
- package/dist/{feedback-NST6T4HI.js → feedback-BHOBVKI3.js} +1 -1
- package/dist/{generate-agent-definitions-BOUGQIPA.js → generate-agent-definitions-VL3ZVR32.js} +4 -4
- package/dist/glob-helper-FZPPTGJN.js +62 -0
- package/dist/{graph-loader-IAUPGLRV.js → graph-loader-5MKHAJJF.js} +1 -1
- package/dist/index.d.ts +44 -6
- package/dist/index.js +26 -25
- package/dist/{loader-6QTJC7IN.js → loader-WCKVMDYR.js} +3 -3
- package/dist/{mcp-QFBGTUX6.js → mcp-FA2CKHFY.js} +16 -15
- package/dist/{performance-B2NAAIE5.js → performance-NISUL5AA.js} +5 -4
- package/dist/{review-pipeline-6EYMBS6B.js → review-pipeline-CHE5LJ5D.js} +3 -3
- package/dist/{runtime-VFZK6BCZ.js → runtime-3SKKEVPF.js} +3 -3
- package/dist/{scan-DB6FNYGG.js → scan-BIJYHOE7.js} +2 -1
- package/dist/{security-HRNTYHPM.js → security-MF54MY3P.js} +1 -1
- package/dist/templates/orchestrator/harness.orchestrator.md +31 -8
- package/dist/{validate-YEMAFWJE.js → validate-SIWFNTXI.js} +4 -4
- package/dist/{validate-cross-check-DGHTJFVH.js → validate-cross-check-GBX7B7CQ.js} +3 -3
- package/package.json +8 -7
- package/dist/glob-helper-VCQXK5XY.js +0 -54
|
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
|
|
|
33
33
|
};
|
|
34
34
|
async function handleCreateSelfReview(input) {
|
|
35
35
|
try {
|
|
36
|
-
const { parseDiff, createSelfReview } = await import("./dist-
|
|
36
|
+
const { parseDiff, createSelfReview } = await import("./dist-K22DQUYY.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-
|
|
56
|
+
const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
|
|
57
57
|
const store = await loadGraphStore(projectPath);
|
|
58
58
|
let graphData;
|
|
59
59
|
if (store) {
|
|
60
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
60
|
+
const { GraphFeedbackAdapter } = await import("./dist-D27LJR2T.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-
|
|
122
|
+
const { parseDiff, analyzeDiff } = await import("./dist-K22DQUYY.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-
|
|
142
|
+
const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
|
|
143
143
|
const store = await loadGraphStore(sanitizePath(input.path));
|
|
144
144
|
if (store) {
|
|
145
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
145
|
+
const { GraphFeedbackAdapter } = await import("./dist-D27LJR2T.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-
|
|
198
|
+
const { parseDiff, requestPeerReview } = await import("./dist-K22DQUYY.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-
|
|
209
|
+
const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
|
|
210
210
|
const store = await loadGraphStore(sanitizePath(input.path));
|
|
211
211
|
if (store) {
|
|
212
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
212
|
+
const { GraphFeedbackAdapter } = await import("./dist-D27LJR2T.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);
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4FVHBBPY.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MAFI6UWT.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
16
|
} from "./chunk-RL4VMEXL.js";
|
|
@@ -50,18 +50,18 @@ async function handleCheckDocs(input) {
|
|
|
50
50
|
const projectPath = sanitizePath(input.path);
|
|
51
51
|
const scope = input.scope ?? "coverage";
|
|
52
52
|
if (scope === "integrity") {
|
|
53
|
-
const { validateKnowledgeMap } = await import("./dist-
|
|
53
|
+
const { validateKnowledgeMap } = await import("./dist-K22DQUYY.js");
|
|
54
54
|
const result2 = await validateKnowledgeMap(projectPath);
|
|
55
55
|
return resultToMcpResponse(result2);
|
|
56
56
|
}
|
|
57
57
|
if (scope === "all") {
|
|
58
|
-
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-
|
|
58
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-K22DQUYY.js");
|
|
59
59
|
const domain2 = input.domain ?? "src";
|
|
60
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
60
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-5MKHAJJF.js");
|
|
61
61
|
const store2 = await loadGraphStore2(projectPath);
|
|
62
62
|
let graphCoverage2;
|
|
63
63
|
if (store2) {
|
|
64
|
-
const { Assembler } = await import("./dist-
|
|
64
|
+
const { Assembler } = await import("./dist-D27LJR2T.js");
|
|
65
65
|
const assembler = new Assembler(store2);
|
|
66
66
|
const report = assembler.checkCoverage();
|
|
67
67
|
graphCoverage2 = {
|
|
@@ -94,13 +94,13 @@ async function handleCheckDocs(input) {
|
|
|
94
94
|
}
|
|
95
95
|
return resultToMcpResponse(Ok({ coverage, integrity }));
|
|
96
96
|
}
|
|
97
|
-
const { checkDocCoverage } = await import("./dist-
|
|
97
|
+
const { checkDocCoverage } = await import("./dist-K22DQUYY.js");
|
|
98
98
|
const domain = input.domain ?? "src";
|
|
99
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
99
|
+
const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
|
|
100
100
|
const store = await loadGraphStore(projectPath);
|
|
101
101
|
let graphCoverage;
|
|
102
102
|
if (store) {
|
|
103
|
-
const { Assembler } = await import("./dist-
|
|
103
|
+
const { Assembler } = await import("./dist-D27LJR2T.js");
|
|
104
104
|
const assembler = new Assembler(store);
|
|
105
105
|
const report = assembler.checkCoverage();
|
|
106
106
|
graphCoverage = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OXFFN3FD.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-
|
|
41
|
+
const { validateDependencies, TypeScriptParser } = await import("./dist-K22DQUYY.js");
|
|
42
42
|
const config = configResult.value;
|
|
43
43
|
const rawLayers = Array.isArray(config.layers) ? config.layers : [];
|
|
44
44
|
const layers = rawLayers.map((l) => ({
|
|
@@ -47,11 +47,11 @@ async function handleCheckDependencies(input) {
|
|
|
47
47
|
allowedDependencies: l.allowedDependencies
|
|
48
48
|
}));
|
|
49
49
|
const parser = new TypeScriptParser();
|
|
50
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
50
|
+
const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
|
|
51
51
|
const store = await loadGraphStore(projectPath);
|
|
52
52
|
let graphDependencyData;
|
|
53
53
|
if (store) {
|
|
54
|
-
const { GraphConstraintAdapter } = await import("./dist-
|
|
54
|
+
const { GraphConstraintAdapter } = await import("./dist-D27LJR2T.js");
|
|
55
55
|
const adapter = new GraphConstraintAdapter(store);
|
|
56
56
|
const graphData = adapter.computeDependencyGraph();
|
|
57
57
|
graphDependencyData = {
|
|
@@ -69,7 +69,7 @@ async function handleCheckDependencies(input) {
|
|
|
69
69
|
if (store) {
|
|
70
70
|
const designTokenNodes = store.findNodes({ type: "design_token" });
|
|
71
71
|
if (designTokenNodes.length > 0) {
|
|
72
|
-
const { DesignConstraintAdapter } = await import("./dist-
|
|
72
|
+
const { DesignConstraintAdapter } = await import("./dist-D27LJR2T.js");
|
|
73
73
|
const designAdapter = new DesignConstraintAdapter(store);
|
|
74
74
|
const fileNodes = store.findNodes({ type: "file" });
|
|
75
75
|
for (const fileNode of fileNodes) {
|
|
@@ -1,6 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IngestConfigSchema
|
|
3
|
+
} from "./chunk-ZCZD7FHU.js";
|
|
4
|
+
|
|
1
5
|
// src/commands/graph/scan.ts
|
|
2
6
|
import { Command } from "commander";
|
|
7
|
+
import * as path2 from "path";
|
|
8
|
+
|
|
9
|
+
// src/commands/graph/ingest-options.ts
|
|
10
|
+
import * as fs from "fs";
|
|
3
11
|
import * as path from "path";
|
|
12
|
+
function loadIngestOptions(projectPath) {
|
|
13
|
+
const configPath = path.join(projectPath, "harness.config.json");
|
|
14
|
+
if (!fs.existsSync(configPath)) return {};
|
|
15
|
+
let raw;
|
|
16
|
+
try {
|
|
17
|
+
raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
18
|
+
} catch {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
const ingestRaw = raw?.ingest;
|
|
22
|
+
if (ingestRaw === void 0) return {};
|
|
23
|
+
const parsed = IngestConfigSchema.safeParse(ingestRaw);
|
|
24
|
+
if (!parsed.success) return {};
|
|
25
|
+
const out = {};
|
|
26
|
+
if (parsed.data.skipDirs !== void 0) out.skipDirs = parsed.data.skipDirs;
|
|
27
|
+
if (parsed.data.additionalSkipDirs !== void 0)
|
|
28
|
+
out.additionalSkipDirs = parsed.data.additionalSkipDirs;
|
|
29
|
+
if (parsed.data.excludePatterns !== void 0) out.excludePatterns = parsed.data.excludePatterns;
|
|
30
|
+
if (parsed.data.respectGitignore !== void 0)
|
|
31
|
+
out.respectGitignore = parsed.data.respectGitignore;
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// src/commands/graph/scan.ts
|
|
4
36
|
async function runScan(projectPath) {
|
|
5
37
|
const {
|
|
6
38
|
GraphStore,
|
|
@@ -9,26 +41,27 @@ async function runScan(projectPath) {
|
|
|
9
41
|
KnowledgeIngestor,
|
|
10
42
|
GitIngestor,
|
|
11
43
|
RequirementIngestor
|
|
12
|
-
} = await import("./dist-
|
|
44
|
+
} = await import("./dist-D27LJR2T.js");
|
|
13
45
|
const store = new GraphStore();
|
|
14
46
|
const start = Date.now();
|
|
15
|
-
|
|
47
|
+
const ingestOptions = loadIngestOptions(projectPath);
|
|
48
|
+
await new CodeIngestor(store, ingestOptions).ingest(projectPath);
|
|
16
49
|
new TopologicalLinker(store).link();
|
|
17
50
|
const knowledgeIngestor = new KnowledgeIngestor(store);
|
|
18
51
|
await knowledgeIngestor.ingestAll(projectPath);
|
|
19
|
-
const specsDir =
|
|
52
|
+
const specsDir = path2.join(projectPath, "docs", "changes");
|
|
20
53
|
await new RequirementIngestor(store).ingestSpecs(specsDir);
|
|
21
54
|
try {
|
|
22
55
|
await new GitIngestor(store).ingest(projectPath);
|
|
23
56
|
} catch {
|
|
24
57
|
}
|
|
25
|
-
const graphDir =
|
|
58
|
+
const graphDir = path2.join(projectPath, ".harness", "graph");
|
|
26
59
|
await store.save(graphDir);
|
|
27
60
|
return { nodeCount: store.nodeCount, edgeCount: store.edgeCount, durationMs: Date.now() - start };
|
|
28
61
|
}
|
|
29
62
|
function createScanCommand() {
|
|
30
63
|
return new Command("scan").description("Scan project and build knowledge graph").argument("[path]", "Project root path", ".").action(async (inputPath, _opts, cmd) => {
|
|
31
|
-
const projectPath =
|
|
64
|
+
const projectPath = path2.resolve(inputPath);
|
|
32
65
|
const globalOpts = cmd.optsWithGlobals();
|
|
33
66
|
try {
|
|
34
67
|
const result = await runScan(projectPath);
|
|
@@ -47,6 +80,7 @@ function createScanCommand() {
|
|
|
47
80
|
}
|
|
48
81
|
|
|
49
82
|
export {
|
|
83
|
+
loadIngestOptions,
|
|
50
84
|
runScan,
|
|
51
85
|
createScanCommand
|
|
52
86
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/config/ingest-schema.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var IngestConfigSchema = z.object({
|
|
4
|
+
/** Replace the default skip-dirs set entirely. Single path segments matched as directory names (NOT globs). */
|
|
5
|
+
skipDirs: z.array(z.string().min(1)).optional(),
|
|
6
|
+
/** Extend the default skip-dirs set. Recommended extension point. */
|
|
7
|
+
additionalSkipDirs: z.array(z.string().min(1)).optional(),
|
|
8
|
+
/** Glob patterns (minimatch syntax) excluded from ingestion. Matched against the project-relative POSIX-style path. */
|
|
9
|
+
excludePatterns: z.array(z.string().min(1)).optional(),
|
|
10
|
+
/** When true, parse `<rootDir>/.gitignore` and treat each line as an additional exclude pattern. Default: true. */
|
|
11
|
+
respectGitignore: z.boolean().optional().default(true)
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
IngestConfigSchema
|
|
16
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generateCIWorkflow
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-D5FE4L2O.js";
|
|
4
|
+
import "./chunk-MAFI6UWT.js";
|
|
5
5
|
import "./chunk-RL4VMEXL.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-BMM3GXV6.js";
|
|
7
7
|
import "./chunk-KFQGP6VL.js";
|
|
8
8
|
export {
|
|
9
9
|
generateCIWorkflow
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
D2Parser,
|
|
17
17
|
DEFAULT_BLOCKLIST,
|
|
18
18
|
DEFAULT_PATTERNS,
|
|
19
|
+
DEFAULT_SKIP_DIRS,
|
|
19
20
|
DecisionIngestor,
|
|
20
21
|
DesignConstraintAdapter,
|
|
21
22
|
DesignIngestor,
|
|
@@ -72,11 +73,13 @@ import {
|
|
|
72
73
|
init_dist,
|
|
73
74
|
linkToCode,
|
|
74
75
|
loadGraph,
|
|
76
|
+
loadGraphMetadata,
|
|
75
77
|
normalizeIntent,
|
|
76
78
|
project,
|
|
77
79
|
queryTraceability,
|
|
80
|
+
resolveSkipDirs,
|
|
78
81
|
saveGraph
|
|
79
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-BMM3GXV6.js";
|
|
80
83
|
import "./chunk-KFQGP6VL.js";
|
|
81
84
|
init_dist();
|
|
82
85
|
export {
|
|
@@ -97,6 +100,7 @@ export {
|
|
|
97
100
|
D2Parser,
|
|
98
101
|
DEFAULT_BLOCKLIST,
|
|
99
102
|
DEFAULT_PATTERNS,
|
|
103
|
+
DEFAULT_SKIP_DIRS,
|
|
100
104
|
DecisionIngestor,
|
|
101
105
|
DesignConstraintAdapter,
|
|
102
106
|
DesignIngestor,
|
|
@@ -152,8 +156,10 @@ export {
|
|
|
152
156
|
inferDomain,
|
|
153
157
|
linkToCode,
|
|
154
158
|
loadGraph,
|
|
159
|
+
loadGraphMetadata,
|
|
155
160
|
normalizeIntent,
|
|
156
161
|
project,
|
|
157
162
|
queryTraceability,
|
|
163
|
+
resolveSkipDirs,
|
|
158
164
|
saveGraph
|
|
159
165
|
};
|