@harness-engineering/cli 1.24.1 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +10 -6
  2. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +40 -5
  3. package/dist/agents/skills/claude-code/harness-git-workflow/SKILL.md +32 -11
  4. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +19 -0
  5. package/dist/agents/skills/claude-code/harness-skill-authoring/SKILL.md +42 -7
  6. package/dist/agents/skills/claude-code/harness-verification/SKILL.md +25 -0
  7. package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +10 -6
  8. package/dist/agents/skills/codex/harness-code-review/SKILL.md +40 -5
  9. package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +32 -11
  10. package/dist/agents/skills/codex/harness-planning/SKILL.md +19 -0
  11. package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +42 -7
  12. package/dist/agents/skills/codex/harness-verification/SKILL.md +25 -0
  13. package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +10 -6
  14. package/dist/agents/skills/cursor/harness-code-review/SKILL.md +40 -5
  15. package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +32 -11
  16. package/dist/agents/skills/cursor/harness-planning/SKILL.md +19 -0
  17. package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +42 -7
  18. package/dist/agents/skills/cursor/harness-verification/SKILL.md +25 -0
  19. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +10 -6
  20. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +40 -5
  21. package/dist/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +32 -11
  22. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +19 -0
  23. package/dist/agents/skills/gemini-cli/harness-skill-authoring/SKILL.md +42 -7
  24. package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +25 -0
  25. package/dist/agents-md-MCUM4SIZ.js +10 -0
  26. package/dist/architecture-HNIO6AUX.js +15 -0
  27. package/dist/{assess-project-7JZCVM7D.js → assess-project-6MV5TNY3.js} +2 -1
  28. package/dist/bin/harness-mcp.js +19 -18
  29. package/dist/bin/harness.js +48 -31
  30. package/dist/{check-phase-gate-YQHAH4LL.js → check-phase-gate-VCBQHQAC.js} +6 -5
  31. package/dist/{chunk-Q3XYV5UC.js → chunk-47N6R2F4.js} +5 -1
  32. package/dist/chunk-4NK7Z3BP.js +43 -0
  33. package/dist/{chunk-I4QR3HNH.js → chunk-5BQ5BOJL.js} +5 -1
  34. package/dist/{chunk-LM5Z2WCA.js → chunk-6VZQJ5CX.js} +5 -1
  35. package/dist/{chunk-NV4FPO7J.js → chunk-AT74HEQM.js} +1 -1
  36. package/dist/{chunk-ZKVLBOYA.js → chunk-AZT567I6.js} +1495 -662
  37. package/dist/{chunk-TDLOFNNQ.js → chunk-BOQRTARD.js} +1 -1
  38. package/dist/{chunk-NU3BPEDR.js → chunk-CXJTVICF.js} +5 -5
  39. package/dist/{chunk-LOUH2LIC.js → chunk-EHRZMOQ2.js} +5 -1
  40. package/dist/{chunk-IDZNPTYD.js → chunk-EPUKTTJZ.js} +6 -1
  41. package/dist/{chunk-C5FTJ3EU.js → chunk-F23H3U5U.js} +62 -1
  42. package/dist/{chunk-BWWNQPPO.js → chunk-FES2YEQU.js} +10 -10
  43. package/dist/{chunk-W2OZK3KC.js → chunk-FIQL2HND.js} +6 -2
  44. package/dist/{chunk-FP53DDB5.js → chunk-FSNPBT74.js} +5 -1
  45. package/dist/{chunk-TUJAHI22.js → chunk-GEEYCQDS.js} +14 -10
  46. package/dist/{chunk-ZOVATVQC.js → chunk-HIK6OEUF.js} +6 -1
  47. package/dist/chunk-K2SON7TI.js +5382 -0
  48. package/dist/chunk-KFQGP6VL.js +33 -0
  49. package/dist/{chunk-JGMCHJ6B.js → chunk-M55DGGF3.js} +10 -6
  50. package/dist/{chunk-PCWYYFBP.js → chunk-MI6MA6OP.js} +16906 -13135
  51. package/dist/{chunk-YDRB55Q4.js → chunk-P7PANON5.js} +5 -1
  52. package/dist/chunk-RL4VMEXL.js +53 -0
  53. package/dist/{chunk-XNEMDKV5.js → chunk-RRHUCDRD.js} +1 -1
  54. package/dist/{chunk-LY3YVKXL.js → chunk-RX7TUMBR.js} +606 -175
  55. package/dist/{chunk-MS6KDQW7.js → chunk-TYV4EUAD.js} +13 -9
  56. package/dist/{chunk-2DAMN7ED.js → chunk-UQZBZINS.js} +6 -6
  57. package/dist/{chunk-HVFCCARH.js → chunk-UV3BZMGT.js} +64 -3
  58. package/dist/{chunk-AVVJ5EUU.js → chunk-WIQA4BSH.js} +12 -5
  59. package/dist/{chunk-UQEUYRBP.js → chunk-WWACIIBA.js} +1 -1
  60. package/dist/{chunk-LVYPPKZI.js → chunk-XTITAVUR.js} +5 -1
  61. package/dist/{chunk-JT732X6S.js → chunk-YTP2UDPV.js} +3 -3
  62. package/dist/ci-workflow-RTM7VVTD.js +10 -0
  63. package/dist/{constants-5JGUXPEK.js → constants-P4M3C2T3.js} +1 -0
  64. package/dist/{create-skill-QCXINA5Q.js → create-skill-6QWJHQYS.js} +3 -2
  65. package/dist/{dist-666AAZQ6.js → dist-3EWNRFFQ.js} +6 -1
  66. package/dist/{dist-RRMRZRV7.js → dist-ABTKRYZH.js} +1 -0
  67. package/dist/{dist-QW5G3GX3.js → dist-RADHOOXG.js} +4 -1
  68. package/dist/{dist-TZQUURSP.js → dist-WCSJHQPK.js} +108 -3
  69. package/dist/docs-UBOGGHTY.js +16 -0
  70. package/dist/engine-MJJAP5CH.js +10 -0
  71. package/dist/entropy-EMSXF2PX.js +14 -0
  72. package/dist/{feedback-RSPUJCJJ.js → feedback-ZLUX72HD.js} +3 -2
  73. package/dist/{generate-agent-definitions-OLYWXTYH.js → generate-agent-definitions-AWLPJ27C.js} +6 -5
  74. package/dist/{glob-helper-SRXMZPKM.js → glob-helper-VCQXK5XY.js} +2 -0
  75. package/dist/{graph-loader-M6FXJAKK.js → graph-loader-JHQVQRUS.js} +2 -1
  76. package/dist/index.d.ts +21 -15
  77. package/dist/index.js +36 -33
  78. package/dist/loader-JVSJZSWZ.js +12 -0
  79. package/dist/mcp-2553PNUC.js +38 -0
  80. package/dist/{performance-VVWOIJTE.js → performance-7AGWJUY4.js} +7 -6
  81. package/dist/review-pipeline-ZWVQJTJX.js +13 -0
  82. package/dist/{runner-TY7DJGQV.js → runner-AAEF2TXY.js} +1 -0
  83. package/dist/runtime-D6YUQPP2.js +11 -0
  84. package/dist/scan-MPJ6JHUY.js +9 -0
  85. package/dist/security-JLZUAQYT.js +14 -0
  86. package/dist/skill-executor-MOCUIAYS.js +9 -0
  87. package/dist/templates/base/.agnix.toml +16 -0
  88. package/dist/templates/orchestrator/WORKFLOW.md +55 -7
  89. package/dist/templates/orchestrator/template.json +1 -0
  90. package/dist/tool-tiers-7QGZ3FKY.js +98 -0
  91. package/dist/validate-TIIHRPMA.js +14 -0
  92. package/dist/validate-cross-check-ZOWFA3DB.js +10 -0
  93. package/dist/{version-KFFPOQAX.js → version-CUI434OP.js} +1 -0
  94. package/package.json +5 -5
  95. package/dist/agents-md-MMVRF77L.js +0 -9
  96. package/dist/architecture-JAEDPYQZ.js +0 -14
  97. package/dist/chunk-5LMZA5LZ.js +0 -38
  98. package/dist/chunk-OZIHPMA7.js +0 -5171
  99. package/dist/ci-workflow-HDH4LCOF.js +0 -9
  100. package/dist/docs-6SPJYTRR.js +0 -15
  101. package/dist/engine-CSITRE3J.js +0 -9
  102. package/dist/entropy-FZP643BK.js +0 -13
  103. package/dist/loader-P2P7CV2A.js +0 -11
  104. package/dist/mcp-JZG22CYT.js +0 -37
  105. package/dist/review-pipeline-XSRO7HYZ.js +0 -9
  106. package/dist/runtime-VMOIIP6B.js +0 -10
  107. package/dist/security-4AQ46P3H.js +0 -9
  108. package/dist/skill-executor-GA7BDX3F.js +0 -8
  109. package/dist/validate-T7UTXLEQ.js +0 -13
  110. package/dist/validate-cross-check-M4NP2UF5.js +0 -9
@@ -15,7 +15,7 @@ function evictIfNeeded() {
15
15
  }
16
16
  }
17
17
  async function doLoadGraphStore(projectRoot) {
18
- const { GraphStore } = await import("./dist-QW5G3GX3.js");
18
+ const { GraphStore } = await import("./dist-RADHOOXG.js");
19
19
  const graphDir = path.join(projectRoot, ".harness", "graph");
20
20
  const store = new GraphStore();
21
21
  const loaded = await store.load(graphDir);
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-Q3XYV5UC.js";
3
+ } from "./chunk-47N6R2F4.js";
4
4
  import {
5
5
  resultToMcpResponse
6
- } from "./chunk-IDZNPTYD.js";
6
+ } from "./chunk-EPUKTTJZ.js";
7
7
  import {
8
8
  sanitizePath
9
9
  } from "./chunk-W6Y7ZW3Y.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-TZQUURSP.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-WCSJHQPK.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-M6FXJAKK.js");
50
+ const { loadGraphStore } = await import("./graph-loader-JHQVQRUS.js");
51
51
  const store = await loadGraphStore(projectPath);
52
52
  let graphDependencyData;
53
53
  if (store) {
54
- const { GraphConstraintAdapter } = await import("./dist-QW5G3GX3.js");
54
+ const { GraphConstraintAdapter } = await import("./dist-RADHOOXG.js");
55
55
  const adapter = new GraphConstraintAdapter(store);
56
56
  const graphData = adapter.computeDependencyGraph();
57
57
  graphDependencyData = {
@@ -1,9 +1,13 @@
1
+ import {
2
+ init_dist
3
+ } from "./chunk-MI6MA6OP.js";
1
4
  import {
2
5
  Err,
3
6
  Ok
4
- } from "./chunk-5LMZA5LZ.js";
7
+ } from "./chunk-RL4VMEXL.js";
5
8
 
6
9
  // src/persona/generators/ci-workflow.ts
10
+ init_dist();
7
11
  import YAML from "yaml";
8
12
  function buildGitHubTriggers(triggers) {
9
13
  const on = {};
@@ -2,7 +2,12 @@
2
2
  function resultToMcpResponse(result) {
3
3
  if (result.ok) {
4
4
  return {
5
- content: [{ type: "text", text: JSON.stringify(result.value) }]
5
+ content: [
6
+ {
7
+ type: "text",
8
+ text: typeof result.value === "string" ? result.value : JSON.stringify(result.value)
9
+ }
10
+ ]
6
11
  };
7
12
  }
8
13
  return {
@@ -1,6 +1,32 @@
1
1
  import {
2
2
  sanitizePath
3
3
  } from "./chunk-W6Y7ZW3Y.js";
4
+ import {
5
+ init_dist,
6
+ paginate
7
+ } from "./chunk-MI6MA6OP.js";
8
+
9
+ // src/mcp/tools/review-pipeline.ts
10
+ init_dist();
11
+
12
+ // src/mcp/utils/severity.ts
13
+ var SEVERITY_ORDER = {
14
+ error: 0,
15
+ critical: 0,
16
+ warning: 1,
17
+ important: 1,
18
+ info: 2,
19
+ suggestion: 2
20
+ };
21
+ function sortFindingsBySeverity(findings) {
22
+ return [...findings].sort((a, b) => {
23
+ const aObj = a;
24
+ const bObj = b;
25
+ const aSev = SEVERITY_ORDER[typeof aObj.severity === "string" ? aObj.severity : ""] ?? 99;
26
+ const bSev = SEVERITY_ORDER[typeof bObj.severity === "string" ? bObj.severity : ""] ?? 99;
27
+ return aSev - bSev;
28
+ });
29
+ }
4
30
 
5
31
  // src/mcp/tools/review-pipeline.ts
6
32
  var runCodeReviewDefinition = {
@@ -38,6 +64,14 @@ var runCodeReviewDefinition = {
38
64
  repo: {
39
65
  type: "string",
40
66
  description: "Repository in owner/repo format (required for --comment)"
67
+ },
68
+ offset: {
69
+ type: "number",
70
+ description: "Number of findings to skip (pagination). Default: 0. Findings are sorted by severity desc (critical > important > suggestion)."
71
+ },
72
+ limit: {
73
+ type: "number",
74
+ description: "Max findings to return (pagination). Default: 20."
41
75
  }
42
76
  },
43
77
  required: ["path", "diff"]
@@ -45,7 +79,7 @@ var runCodeReviewDefinition = {
45
79
  };
46
80
  async function handleRunCodeReview(input) {
47
81
  try {
48
- const { parseDiff, runReviewPipeline } = await import("./dist-TZQUURSP.js");
82
+ const { parseDiff, runReviewPipeline } = await import("./dist-WCSJHQPK.js");
49
83
  const parseResult = parseDiff(input.diff);
50
84
  if (!parseResult.ok) {
51
85
  return {
@@ -81,6 +115,30 @@ async function handleRunCodeReview(input) {
81
115
  },
82
116
  ...input.repo != null ? { repo: input.repo } : {}
83
117
  });
118
+ const sortedFindings = sortFindingsBySeverity(
119
+ result.findings
120
+ );
121
+ if (input._skipPagination) {
122
+ return {
123
+ content: [
124
+ {
125
+ type: "text",
126
+ text: JSON.stringify({
127
+ skipped: result.skipped,
128
+ skipReason: result.skipReason,
129
+ stoppedByMechanical: result.stoppedByMechanical,
130
+ assessment: result.assessment,
131
+ findings: sortedFindings,
132
+ findingCount: sortedFindings.length,
133
+ terminalOutput: result.terminalOutput,
134
+ githubCommentCount: result.githubComments.length,
135
+ exitCode: result.exitCode
136
+ })
137
+ }
138
+ ]
139
+ };
140
+ }
141
+ const paged = paginate(sortedFindings, input.offset ?? 0, input.limit ?? 20);
84
142
  return {
85
143
  content: [
86
144
  {
@@ -91,7 +149,9 @@ async function handleRunCodeReview(input) {
91
149
  skipReason: result.skipReason,
92
150
  stoppedByMechanical: result.stoppedByMechanical,
93
151
  assessment: result.assessment,
152
+ findings: paged.items,
94
153
  findingCount: result.findings.length,
154
+ pagination: paged.pagination,
95
155
  terminalOutput: result.terminalOutput,
96
156
  githubCommentCount: result.githubComments.length,
97
157
  exitCode: result.exitCode
@@ -117,6 +177,7 @@ async function handleRunCodeReview(input) {
117
177
  }
118
178
 
119
179
  export {
180
+ sortFindingsBySeverity,
120
181
  runCodeReviewDefinition,
121
182
  handleRunCodeReview
122
183
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resultToMcpResponse
3
- } from "./chunk-IDZNPTYD.js";
3
+ } from "./chunk-EPUKTTJZ.js";
4
4
  import {
5
5
  sanitizePath
6
6
  } from "./chunk-W6Y7ZW3Y.js";
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
33
33
  };
34
34
  async function handleCreateSelfReview(input) {
35
35
  try {
36
- const { parseDiff, createSelfReview } = await import("./dist-TZQUURSP.js");
36
+ const { parseDiff, createSelfReview } = await import("./dist-WCSJHQPK.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-M6FXJAKK.js");
56
+ const { loadGraphStore } = await import("./graph-loader-JHQVQRUS.js");
57
57
  const store = await loadGraphStore(projectPath);
58
58
  let graphData;
59
59
  if (store) {
60
- const { GraphFeedbackAdapter } = await import("./dist-QW5G3GX3.js");
60
+ const { GraphFeedbackAdapter } = await import("./dist-RADHOOXG.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-TZQUURSP.js");
122
+ const { parseDiff, analyzeDiff } = await import("./dist-WCSJHQPK.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-M6FXJAKK.js");
142
+ const { loadGraphStore } = await import("./graph-loader-JHQVQRUS.js");
143
143
  const store = await loadGraphStore(sanitizePath(input.path));
144
144
  if (store) {
145
- const { GraphFeedbackAdapter } = await import("./dist-QW5G3GX3.js");
145
+ const { GraphFeedbackAdapter } = await import("./dist-RADHOOXG.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-TZQUURSP.js");
198
+ const { parseDiff, requestPeerReview } = await import("./dist-WCSJHQPK.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-M6FXJAKK.js");
209
+ const { loadGraphStore } = await import("./graph-loader-JHQVQRUS.js");
210
210
  const store = await loadGraphStore(sanitizePath(input.path));
211
211
  if (store) {
212
- const { GraphFeedbackAdapter } = await import("./dist-QW5G3GX3.js");
212
+ const { GraphFeedbackAdapter } = await import("./dist-RADHOOXG.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);
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  resolveConfig
3
- } from "./chunk-AVVJ5EUU.js";
3
+ } from "./chunk-WIQA4BSH.js";
4
+ import {
5
+ init_dist
6
+ } from "./chunk-MI6MA6OP.js";
4
7
  import {
5
8
  Ok
6
- } from "./chunk-5LMZA5LZ.js";
9
+ } from "./chunk-RL4VMEXL.js";
7
10
  import {
8
11
  logger
9
12
  } from "./chunk-EBJQ6N4M.js";
@@ -12,6 +15,7 @@ import {
12
15
  } from "./chunk-3WGJMBKH.js";
13
16
 
14
17
  // src/commands/check-phase-gate.ts
18
+ init_dist();
15
19
  import { Command } from "commander";
16
20
  import * as path from "path";
17
21
  import * as fs from "fs";
@@ -1,9 +1,13 @@
1
+ import {
2
+ init_dist
3
+ } from "./chunk-MI6MA6OP.js";
1
4
  import {
2
5
  Err,
3
6
  Ok
4
- } from "./chunk-5LMZA5LZ.js";
7
+ } from "./chunk-RL4VMEXL.js";
5
8
 
6
9
  // src/templates/engine.ts
10
+ init_dist();
7
11
  import * as fs from "fs";
8
12
  import * as path from "path";
9
13
  import Handlebars from "handlebars";
@@ -1,18 +1,22 @@
1
1
  import {
2
2
  resultToMcpResponse
3
- } from "./chunk-IDZNPTYD.js";
3
+ } from "./chunk-EPUKTTJZ.js";
4
4
  import {
5
5
  sanitizePath
6
6
  } from "./chunk-W6Y7ZW3Y.js";
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-AVVJ5EUU.js";
10
+ } from "./chunk-WIQA4BSH.js";
11
+ import {
12
+ init_dist
13
+ } from "./chunk-MI6MA6OP.js";
11
14
  import {
12
15
  Ok
13
- } from "./chunk-5LMZA5LZ.js";
16
+ } from "./chunk-RL4VMEXL.js";
14
17
 
15
18
  // src/mcp/tools/docs.ts
19
+ init_dist();
16
20
  import * as path from "path";
17
21
  function resolveDocsDir(projectPath) {
18
22
  const configResult = findConfigFile(projectPath);
@@ -46,18 +50,18 @@ async function handleCheckDocs(input) {
46
50
  const projectPath = sanitizePath(input.path);
47
51
  const scope = input.scope ?? "coverage";
48
52
  if (scope === "integrity") {
49
- const { validateKnowledgeMap } = await import("./dist-TZQUURSP.js");
53
+ const { validateKnowledgeMap } = await import("./dist-WCSJHQPK.js");
50
54
  const result2 = await validateKnowledgeMap(projectPath);
51
55
  return resultToMcpResponse(result2);
52
56
  }
53
57
  if (scope === "all") {
54
- const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-TZQUURSP.js");
58
+ const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-WCSJHQPK.js");
55
59
  const domain2 = input.domain ?? "src";
56
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-M6FXJAKK.js");
60
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-JHQVQRUS.js");
57
61
  const store2 = await loadGraphStore2(projectPath);
58
62
  let graphCoverage2;
59
63
  if (store2) {
60
- const { Assembler } = await import("./dist-QW5G3GX3.js");
64
+ const { Assembler } = await import("./dist-RADHOOXG.js");
61
65
  const assembler = new Assembler(store2);
62
66
  const report = assembler.checkCoverage();
63
67
  graphCoverage2 = {
@@ -90,13 +94,13 @@ async function handleCheckDocs(input) {
90
94
  }
91
95
  return resultToMcpResponse(Ok({ coverage, integrity }));
92
96
  }
93
- const { checkDocCoverage } = await import("./dist-TZQUURSP.js");
97
+ const { checkDocCoverage } = await import("./dist-WCSJHQPK.js");
94
98
  const domain = input.domain ?? "src";
95
- const { loadGraphStore } = await import("./graph-loader-M6FXJAKK.js");
99
+ const { loadGraphStore } = await import("./graph-loader-JHQVQRUS.js");
96
100
  const store = await loadGraphStore(projectPath);
97
101
  let graphCoverage;
98
102
  if (store) {
99
- const { Assembler } = await import("./dist-QW5G3GX3.js");
103
+ const { Assembler } = await import("./dist-RADHOOXG.js");
100
104
  const assembler = new Assembler(store);
101
105
  const report = assembler.checkCoverage();
102
106
  graphCoverage = {
@@ -52,6 +52,10 @@ var SkillCursorSchema = z.object({
52
52
  var SkillCodexSchema = z.object({
53
53
  instructions_override: z.string().optional()
54
54
  });
55
+ var SkillContextBudgetSchema = z.object({
56
+ max_tokens: z.number().int().min(100).max(5e4).default(4e3),
57
+ priority: z.number().int().min(1).max(5).default(3)
58
+ });
55
59
  var SkillAddressSchema = z.object({
56
60
  signal: z.string(),
57
61
  hard: z.boolean().optional(),
@@ -89,7 +93,8 @@ var SkillMetadataSchema = z.object({
89
93
  codex: SkillCodexSchema.optional(),
90
94
  command_name: z.string().regex(/^[a-z][a-z0-9-]*$/, "Command name must be lowercase with hyphens").optional(),
91
95
  command_namespace: z.string().regex(/^[a-z][a-z0-9-]*$/, "Command namespace must be lowercase with hyphens").optional(),
92
- addresses: z.array(SkillAddressSchema).default([])
96
+ addresses: z.array(SkillAddressSchema).default([]),
97
+ context_budget: SkillContextBudgetSchema.optional()
93
98
  }).superRefine((data, ctx) => {
94
99
  if (data.type === "knowledge") {
95
100
  if (data.tools && data.tools.length > 0) {