@provartesting/provardx-cli 1.5.0 → 1.5.2-beta.2

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 (81) hide show
  1. package/lib/mcp/docs/PROVAR_TOOL_GUIDE.md +18 -6
  2. package/lib/mcp/prompts/guidePrompts.js +21 -11
  3. package/lib/mcp/prompts/guidePrompts.js.map +1 -1
  4. package/lib/mcp/rules/provar_best_practices_rules.json +29 -0
  5. package/lib/mcp/server.d.ts +1 -0
  6. package/lib/mcp/server.js +90 -21
  7. package/lib/mcp/server.js.map +1 -1
  8. package/lib/mcp/tools/antTools.d.ts +20 -0
  9. package/lib/mcp/tools/antTools.js +105 -41
  10. package/lib/mcp/tools/antTools.js.map +1 -1
  11. package/lib/mcp/tools/automationTools.js +65 -35
  12. package/lib/mcp/tools/automationTools.js.map +1 -1
  13. package/lib/mcp/tools/bestPracticesEngine.js +148 -9
  14. package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
  15. package/lib/mcp/tools/connectionTools.js +100 -30
  16. package/lib/mcp/tools/connectionTools.js.map +1 -1
  17. package/lib/mcp/tools/defectTools.js +12 -7
  18. package/lib/mcp/tools/defectTools.js.map +1 -1
  19. package/lib/mcp/tools/descHelper.d.ts +5 -0
  20. package/lib/mcp/tools/descHelper.js +14 -0
  21. package/lib/mcp/tools/descHelper.js.map +1 -0
  22. package/lib/mcp/tools/nitroXTools.js +72 -32
  23. package/lib/mcp/tools/nitroXTools.js.map +1 -1
  24. package/lib/mcp/tools/orgDescribeTools.d.ts +57 -0
  25. package/lib/mcp/tools/orgDescribeTools.js +329 -0
  26. package/lib/mcp/tools/orgDescribeTools.js.map +1 -0
  27. package/lib/mcp/tools/pageObjectGenerate.js +33 -15
  28. package/lib/mcp/tools/pageObjectGenerate.js.map +1 -1
  29. package/lib/mcp/tools/pageObjectValidate.js +11 -4
  30. package/lib/mcp/tools/pageObjectValidate.js.map +1 -1
  31. package/lib/mcp/tools/projectInspect.js +31 -5
  32. package/lib/mcp/tools/projectInspect.js.map +1 -1
  33. package/lib/mcp/tools/projectValidateFromPath.js +128 -22
  34. package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
  35. package/lib/mcp/tools/propertiesTools.d.ts +12 -0
  36. package/lib/mcp/tools/propertiesTools.js +155 -17
  37. package/lib/mcp/tools/propertiesTools.js.map +1 -1
  38. package/lib/mcp/tools/qualityHubApiTools.js +8 -7
  39. package/lib/mcp/tools/qualityHubApiTools.js.map +1 -1
  40. package/lib/mcp/tools/qualityHubTools.js +108 -37
  41. package/lib/mcp/tools/qualityHubTools.js.map +1 -1
  42. package/lib/mcp/tools/rcaTools.d.ts +17 -0
  43. package/lib/mcp/tools/rcaTools.js +69 -15
  44. package/lib/mcp/tools/rcaTools.js.map +1 -1
  45. package/lib/mcp/tools/testCaseGenerate.d.ts +1 -0
  46. package/lib/mcp/tools/testCaseGenerate.js +254 -17
  47. package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
  48. package/lib/mcp/tools/testCaseStepTools.js +27 -9
  49. package/lib/mcp/tools/testCaseStepTools.js.map +1 -1
  50. package/lib/mcp/tools/testCaseValidate.d.ts +14 -1
  51. package/lib/mcp/tools/testCaseValidate.js +190 -69
  52. package/lib/mcp/tools/testCaseValidate.js.map +1 -1
  53. package/lib/mcp/tools/testPlanTools.js +43 -26
  54. package/lib/mcp/tools/testPlanTools.js.map +1 -1
  55. package/lib/mcp/tools/testPlanValidate.js +64 -11
  56. package/lib/mcp/tools/testPlanValidate.js.map +1 -1
  57. package/lib/mcp/tools/testSuiteValidate.js +99 -10
  58. package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
  59. package/lib/mcp/utils/detailLevel.d.ts +9 -0
  60. package/lib/mcp/utils/detailLevel.js +20 -0
  61. package/lib/mcp/utils/detailLevel.js.map +1 -0
  62. package/lib/mcp/utils/fieldMask.d.ts +17 -0
  63. package/lib/mcp/utils/fieldMask.js +75 -0
  64. package/lib/mcp/utils/fieldMask.js.map +1 -0
  65. package/lib/mcp/utils/testCasePlanMode.d.ts +41 -0
  66. package/lib/mcp/utils/testCasePlanMode.js +208 -0
  67. package/lib/mcp/utils/testCasePlanMode.js.map +1 -0
  68. package/lib/mcp/utils/tokenMeta.d.ts +40 -0
  69. package/lib/mcp/utils/tokenMeta.js +90 -0
  70. package/lib/mcp/utils/tokenMeta.js.map +1 -0
  71. package/lib/mcp/utils/validationDiff.d.ts +57 -0
  72. package/lib/mcp/utils/validationDiff.js +191 -0
  73. package/lib/mcp/utils/validationDiff.js.map +1 -0
  74. package/lib/mcp/utils/validationScore.d.ts +15 -0
  75. package/lib/mcp/utils/validationScore.js +31 -0
  76. package/lib/mcp/utils/validationScore.js.map +1 -0
  77. package/lib/mcp/utils/warningCodes.d.ts +10 -0
  78. package/lib/mcp/utils/warningCodes.js +19 -0
  79. package/lib/mcp/utils/warningCodes.js.map +1 -0
  80. package/oclif.manifest.json +1 -1
  81. package/package.json +13 -1
@@ -5,11 +5,39 @@
5
5
  * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
6
  */
7
7
  /* eslint-disable camelcase */
8
+ import path from 'node:path';
8
9
  import { z } from 'zod';
9
10
  import { assertPathAllowed, PathPolicyError } from '../security/pathPolicy.js';
10
11
  import { makeError, makeRequestId } from '../schemas/common.js';
11
12
  import { log } from '../logging/logger.js';
12
13
  import { validateProjectFromPath, ProjectValidationError } from '../../services/projectValidation.js';
14
+ import { applyDetailLevel } from '../utils/detailLevel.js';
15
+ import { calcCompletenessScore, calcNextAction } from '../utils/validationScore.js';
16
+ import { generateRunId, saveRun, hasAnyRun, loadBaselineViolations, computeDiff, computeContextHash, } from '../utils/validationDiff.js';
17
+ import { desc } from './descHelper.js';
18
+ function countAllProjectViolations(result) {
19
+ // Note: ValidatedTestCase does not carry best_practices_violations at the project
20
+ // layer (intentional — bp surfaces via the testcase tool). The count here covers
21
+ // every violation visible at project/plan/suite/child_suite level plus per-tc
22
+ // structural issues, which is what the stop-decision safety hedge needs.
23
+ let total = result.project_violations.length;
24
+ for (const plan of result.plans) {
25
+ total += plan.violations.length;
26
+ for (const suite of plan.suites) {
27
+ total += suite.violations.length;
28
+ for (const tc of suite.test_cases) {
29
+ total += tc.issues.length;
30
+ }
31
+ for (const cs of suite.child_suites) {
32
+ total += cs.violations.length;
33
+ }
34
+ }
35
+ for (const utc of plan.unplanned_test_cases) {
36
+ total += utc.issues.length;
37
+ }
38
+ }
39
+ return total;
40
+ }
13
41
  function buildPlanSummary(plan) {
14
42
  const test_case_count = plan.suites.reduce((n, s) => n + s.test_cases.length, 0) + plan.unplanned_test_cases.length;
15
43
  return {
@@ -72,11 +100,29 @@ function shapeResponse(result, includePlanDetails, maxUncovered, maxViolations)
72
100
  hint: 'Set include_plan_details:true to get per-suite/test-case violations. project_violations and plan violations are grouped by rule_id in this view.',
73
101
  };
74
102
  }
103
+ // ── Helpers ───────────────────────────────────────────────────────────────────
104
+ function classifyError(err) {
105
+ if (err instanceof PathPolicyError || err instanceof ProjectValidationError) {
106
+ return { code: err.code, isUserError: true };
107
+ }
108
+ return { code: err.code ?? 'VALIDATE_ERROR', isUserError: false };
109
+ }
75
110
  // ── Tool registration ─────────────────────────────────────────────────────────
111
+ const PROJECT_VALIDATE_SUMMARY_FIELDS = [
112
+ 'requestId',
113
+ 'project_path',
114
+ 'project_name',
115
+ 'quality_score',
116
+ 'quality_tier',
117
+ 'saved_to',
118
+ 'run_id',
119
+ 'completeness_score',
120
+ 'recommended_next_action',
121
+ ];
76
122
  export function registerProjectValidateFromPath(server, config) {
77
123
  server.registerTool('provar_project_validate', {
78
124
  title: 'Validate Project',
79
- description: [
125
+ description: desc([
80
126
  'Validate a Provar project directly from its directory on disk.',
81
127
  'Reads the plan/suite/testinstance hierarchy from the plans/ directory,',
82
128
  'resolves test case XML from the tests/ directory, extracts project context',
@@ -84,63 +130,76 @@ export function registerProjectValidateFromPath(server, config) {
84
130
  'the full validation rule set.',
85
131
  'Returns a compact quality score, violation summary, and per-plan/suite scores.',
86
132
  'By default returns a slim summary response to avoid token explosion.',
87
- 'Pass include_plan_details:true to get full per-suite and per-test-case data.',
133
+ 'Pass include_plan_details:true or detail:full to get full per-suite and per-test-case data.',
88
134
  'By default saves a QH-compatible JSON report to',
89
135
  '{project_path}/provardx/validation/ (created if absent).',
90
136
  'Plan integrity: if any plan or suite directory is missing a .planitem file, the response includes a plan_integrity_warnings array.',
91
137
  'Test instances in those directories are silently ignored by the Provar runner — fix these before running tests.',
138
+ 'Every response includes run_id — pass it as baseline_run_id in the next call to receive only new/resolved violations.',
92
139
  'IMPORTANT: Use this tool for whole-project validation —',
93
140
  'DO NOT read individual test case files and pass XML content inline.',
94
141
  'Pass a project_path and let this tool handle all file reading.',
95
- ].join(' '),
142
+ ].join(' '), 'Validate a Provar project from disk; quality score, violation summary, run_id for diff.'),
96
143
  inputSchema: {
97
144
  project_path: z
98
145
  .string()
99
- .describe('Absolute path to the Provar project root (the directory containing the .testproject file)'),
146
+ .describe(desc('Absolute path to the Provar project root (the directory containing the .testproject file)', 'string, absolute path to project root')),
100
147
  quality_threshold: z
101
148
  .number()
102
149
  .min(0)
103
150
  .max(100)
104
151
  .optional()
105
152
  .default(80)
106
- .describe('Minimum quality score for a test case to be considered valid (default: 80)'),
153
+ .describe(desc('Minimum quality score for a test case to be considered valid (default: 80)', 'number 0–100, optional; minimum quality score threshold')),
107
154
  save_results: z
108
155
  .boolean()
109
156
  .optional()
110
157
  .default(true)
111
- .describe('Write a QH-compatible JSON report to provardx/validation/ (default: true)'),
158
+ .describe(desc('Write a QH-compatible JSON report to provardx/validation/ (default: true)', 'bool, optional; default true, write report to disk')),
112
159
  results_dir: z
113
160
  .string()
114
161
  .optional()
115
- .describe('Override the output directory for the saved report (default: {project_path}/provardx/validation)'),
162
+ .describe(desc('Override the output directory for the saved report (default: {project_path}/provardx/validation)', 'string, optional; override report output dir')),
116
163
  include_plan_details: z
117
164
  .boolean()
118
165
  .optional()
119
166
  .default(false)
120
- .describe('When true, include full per-suite and per-test-case violation data in the response. ' +
121
- 'Default false to keep response small. Use only when you need to inspect specific test case failures.'),
167
+ .describe(desc('@deprecated — use detail="full" instead. When true, include full per-suite and per-test-case violation data in the response. ' +
168
+ 'Default false to keep response small.', 'bool, optional, @deprecated; use detail="full" instead')),
122
169
  max_uncovered: z
123
170
  .number()
124
171
  .int()
125
172
  .min(0)
126
173
  .optional()
127
174
  .default(20)
128
- .describe('Maximum number of uncovered test case paths to include in the response (default: 20). Set to 0 for none, or a large number for all.'),
175
+ .describe(desc('@deprecated — no replacement; response is automatically scoped by detail level. Maximum number of uncovered test case paths to include in the response (default: 20).', 'int 0, optional, @deprecated; auto-scoped by detail')),
129
176
  max_violations: z
130
177
  .number()
131
178
  .int()
132
179
  .min(0)
133
180
  .optional()
134
181
  .default(50)
135
- .describe('When include_plan_details:true, caps project_violations returned (default: 50). Ignored in slim mode where violations are grouped by rule_id instead.'),
182
+ .describe(desc('@deprecated — no replacement; response is automatically scoped by detail level. When include_plan_details:true, caps project_violations returned (default: 50).', 'int ≥0, optional, @deprecated; auto-scoped by detail')),
183
+ detail: z
184
+ .enum(['summary', 'standard', 'full'])
185
+ .optional()
186
+ .default('standard')
187
+ .describe('Response verbosity. "summary": key scores and stop signal only. "standard": slim violation summary (default). "full": full per-suite and per-test-case data (implies include_plan_details:true).'),
188
+ baseline_run_id: z
189
+ .string()
190
+ .optional()
191
+ .describe('run_id from a previous call. When provided, returns only project-level violations that are new or resolved since that run: { added, resolved, unchanged_count, run_id }. If not found, returns error BASELINE_NOT_FOUND.'),
136
192
  },
137
- }, ({ project_path, quality_threshold, save_results, results_dir, include_plan_details, max_uncovered, max_violations, }) => {
193
+ }, ({ project_path, quality_threshold, save_results, results_dir, include_plan_details, max_uncovered, max_violations, detail, baseline_run_id, }) => {
138
194
  const requestId = makeRequestId();
139
195
  log('info', 'provar_project_validate', { requestId, project_path, include_plan_details });
140
196
  try {
141
197
  assertPathAllowed(project_path, config.allowedPaths);
142
198
  if (results_dir)
143
199
  assertPathAllowed(results_dir, config.allowedPaths);
200
+ const storageDir = results_dir ?? path.join(project_path, 'provardx', 'validation');
201
+ const contextHash = computeContextHash('project', project_path);
202
+ const runId = generateRunId(project_path);
144
203
  const result = validateProjectFromPath({
145
204
  project_path,
146
205
  quality_threshold,
@@ -150,21 +209,68 @@ export function registerProjectValidateFromPath(server, config) {
150
209
  if (result.save_error) {
151
210
  log('warn', 'provar_project_validate: could not save results', { requestId, error: result.save_error });
152
211
  }
153
- const shaped = shapeResponse(result, include_plan_details, max_uncovered, max_violations);
154
- const response = { requestId, ...shaped };
212
+ const currentViolations = result.project_violations;
213
+ const allLevelViolationCount = countAllProjectViolations(result);
214
+ // Read baseline and history regardless of save_results — save_results controls
215
+ // whether the CURRENT run is persisted, not whether existing runs can be read.
216
+ // Load baseline BEFORE saving to prevent eviction of the requested baseline.
217
+ const baseline = baseline_run_id !== undefined && baseline_run_id !== ''
218
+ ? loadBaselineViolations(storageDir, baseline_run_id, contextHash)
219
+ : null;
220
+ const hasBaseline = hasAnyRun(storageDir);
221
+ if (save_results !== false) {
222
+ try {
223
+ saveRun(storageDir, runId, currentViolations, contextHash);
224
+ }
225
+ catch (saveErr) {
226
+ log('warn', 'provar_project_validate: could not save run for diff', {
227
+ requestId,
228
+ error: saveErr.message,
229
+ });
230
+ }
231
+ }
232
+ // Diff mode
233
+ if (baseline_run_id !== undefined && baseline_run_id !== '') {
234
+ if (!baseline) {
235
+ const errResult = makeError('BASELINE_NOT_FOUND', 'Baseline run not found. Run validation without baseline_run_id first to establish a baseline.', requestId, false, { suggestion: 'Run provar_project_validate without baseline_run_id first to establish a baseline.' });
236
+ return { isError: true, content: [{ type: 'text', text: JSON.stringify(errResult) }] };
237
+ }
238
+ const diff = computeDiff(baseline, currentViolations);
239
+ const completeness_score = calcCompletenessScore(result.summary.test_cases_valid, result.summary.total_test_cases);
240
+ const recommended_next_action = calcNextAction(completeness_score, true, allLevelViolationCount);
241
+ const diffResponse = {
242
+ requestId,
243
+ ...(save_results !== false ? { run_id: runId } : {}),
244
+ ...diff,
245
+ completeness_score,
246
+ recommended_next_action,
247
+ };
248
+ return {
249
+ content: [{ type: 'text', text: JSON.stringify(diffResponse) }],
250
+ structuredContent: diffResponse,
251
+ };
252
+ }
253
+ const completeness_score = calcCompletenessScore(result.summary.test_cases_valid, result.summary.total_test_cases);
254
+ const recommended_next_action = calcNextAction(completeness_score, hasBaseline, allLevelViolationCount);
255
+ const usePlanDetails = include_plan_details || detail === 'full';
256
+ const shaped = shapeResponse(result, usePlanDetails, max_uncovered, max_violations);
257
+ const response = {
258
+ requestId,
259
+ ...(save_results !== false ? { run_id: runId } : {}),
260
+ completeness_score,
261
+ recommended_next_action,
262
+ ...shaped,
263
+ };
264
+ const detailLevel = (detail ?? 'standard');
265
+ const finalResponse = applyDetailLevel(response, detailLevel, PROJECT_VALIDATE_SUMMARY_FIELDS);
155
266
  return {
156
- content: [{ type: 'text', text: JSON.stringify(response) }],
157
- structuredContent: response,
267
+ content: [{ type: 'text', text: JSON.stringify(finalResponse) }],
268
+ structuredContent: finalResponse,
158
269
  };
159
270
  }
160
271
  catch (err) {
161
272
  const error = err;
162
- const code = error instanceof PathPolicyError
163
- ? error.code
164
- : error instanceof ProjectValidationError
165
- ? error.code
166
- : error.code ?? 'VALIDATE_ERROR';
167
- const isUserError = error instanceof PathPolicyError || error instanceof ProjectValidationError;
273
+ const { code, isUserError } = classifyError(error);
168
274
  const errResult = makeError(code, error.message, requestId, !isUserError);
169
275
  log('error', 'provar_project_validate failed', { requestId, error: error.message });
170
276
  return { isError: true, content: [{ type: 'text', text: JSON.stringify(errResult) }] };
@@ -1 +1 @@
1
- {"version":3,"file":"projectValidateFromPath.js","sourceRoot":"","sources":["../../../src/mcp/tools/projectValidateFromPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectValidateFromPath.js","sourceRoot":"","sources":["../../../src/mcp/tools/projectValidateFromPath.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { ServerConfig } from '../server.js';
3
+ /**
4
+ * Canonical key sets for provardx-properties.json. Sourced from the documented schema in
5
+ * `docs/mcp.md` (provar_properties_set updates schema) and the `propertyFileContent` template
6
+ * from `@provartesting/provardx-plugins-utils`. Sibling PRs (PDX-488, PDX-494) may extend
7
+ * these sets — keep them exported and additive.
8
+ *
9
+ * NOTE: This set is intentionally lenient on "future Provar additions" — unknown keys emit a
10
+ * SCHEMA-001 warning (not a hard error) so older MCP clients keep working when new keys ship.
11
+ */
12
+ export declare const CANONICAL_TOP_LEVEL_KEYS: readonly string[];
13
+ export declare const CANONICAL_METADATA_KEYS: readonly string[];
14
+ export declare const CANONICAL_ENVIRONMENT_KEYS: readonly string[];
3
15
  export declare function registerPropertiesGenerate(server: McpServer, config: ServerConfig): void;
4
16
  /** Exposed for testing only — override the directory that contains config.json. Pass null to reset. */
5
17
  export declare function setSfConfigDirForTesting(dir: string | null): void;
@@ -13,14 +13,116 @@ import { propertyFileContent } from '@provartesting/provardx-plugins-utils';
13
13
  import { assertPathAllowed, PathPolicyError } from '../security/pathPolicy.js';
14
14
  import { makeError, makeRequestId } from '../schemas/common.js';
15
15
  import { log } from '../logging/logger.js';
16
+ import { WARNING_CODES, formatWarning } from '../utils/warningCodes.js';
17
+ import { desc } from './descHelper.js';
16
18
  const TOP_REQUIRED = ['provarHome', 'projectPath', 'resultsPath', 'metadata', 'environment'];
17
19
  const METADATA_REQUIRED = ['metadataLevel', 'cachePath'];
18
20
  const ENV_REQUIRED = ['webBrowser', 'webBrowserConfig', 'webBrowserProviderName', 'webBrowserDeviceName'];
21
+ /**
22
+ * Canonical key sets for provardx-properties.json. Sourced from the documented schema in
23
+ * `docs/mcp.md` (provar_properties_set updates schema) and the `propertyFileContent` template
24
+ * from `@provartesting/provardx-plugins-utils`. Sibling PRs (PDX-488, PDX-494) may extend
25
+ * these sets — keep them exported and additive.
26
+ *
27
+ * NOTE: This set is intentionally lenient on "future Provar additions" — unknown keys emit a
28
+ * SCHEMA-001 warning (not a hard error) so older MCP clients keep working when new keys ship.
29
+ */
30
+ export const CANONICAL_TOP_LEVEL_KEYS = [
31
+ // Required
32
+ 'provarHome',
33
+ 'projectPath',
34
+ 'resultsPath',
35
+ 'metadata',
36
+ 'environment',
37
+ // Optional — documented in docs/mcp.md properties_set schema
38
+ 'resultsPathDisposition',
39
+ 'testOutputLevel',
40
+ 'pluginOutputlevel',
41
+ 'stopOnError',
42
+ 'excludeCallable',
43
+ 'testprojectSecrets',
44
+ 'testCase',
45
+ 'testPlan',
46
+ 'connectionOverride',
47
+ // Optional — present in the standard template (propertyFileContent.js)
48
+ 'smtpPath',
49
+ 'lightningMode',
50
+ 'connectionRefreshType',
51
+ 'testplanFeatures',
52
+ ];
53
+ export const CANONICAL_METADATA_KEYS = ['metadataLevel', 'cachePath'];
54
+ export const CANONICAL_ENVIRONMENT_KEYS = [
55
+ 'testEnvironment',
56
+ 'webBrowser',
57
+ 'webBrowserConfig',
58
+ 'webBrowserProviderName',
59
+ 'webBrowserDeviceName',
60
+ ];
19
61
  const VALID_RESULTS_DISPOSITION = ['Increment', 'Replace', 'Fail'];
20
62
  const VALID_OUTPUT_LEVELS = ['BASIC', 'DETAILED', 'DIAGNOSTIC'];
21
63
  const VALID_PLUGIN_LEVELS = ['SEVERE', 'WARNING', 'INFO', 'FINE', 'FINER', 'FINEST'];
22
64
  const VALID_BROWSERS = ['Chrome', 'Safari', 'Edge', 'Edge_Legacy', 'Firefox', 'IE', 'Chrome_Headless'];
23
65
  const VALID_METADATA_LEVELS = ['Reuse', 'Reload', 'Refresh'];
66
+ /**
67
+ * Iterative Levenshtein distance — small, no-dependency implementation used solely for
68
+ * "did you mean ..." suggestions in SCHEMA-001 warnings. Returns the edit distance between
69
+ * `a` and `b`. Case-sensitive.
70
+ */
71
+ function levenshtein(a, b) {
72
+ if (a === b)
73
+ return 0;
74
+ if (a.length === 0)
75
+ return b.length;
76
+ if (b.length === 0)
77
+ return a.length;
78
+ let prev = Array.from({ length: b.length + 1 }, (_, i) => i);
79
+ for (let i = 1; i <= a.length; i++) {
80
+ const curr = [i];
81
+ for (let j = 1; j <= b.length; j++) {
82
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
83
+ curr.push(Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost));
84
+ }
85
+ prev = curr;
86
+ }
87
+ return prev[b.length];
88
+ }
89
+ /**
90
+ * Returns the canonical key whose Levenshtein distance from `key` is <= 2, or `undefined`
91
+ * if no key is within that threshold. Picks the closest match (smallest distance, then
92
+ * lexicographic) to keep suggestions stable across runs.
93
+ */
94
+ function closestCanonicalKey(key, canonical) {
95
+ let best;
96
+ for (const candidate of canonical) {
97
+ const dist = levenshtein(key, candidate);
98
+ if (dist > 2)
99
+ continue;
100
+ if (!best || dist < best.dist || (dist === best.dist && candidate < best.key)) {
101
+ best = { key: candidate, dist };
102
+ }
103
+ }
104
+ return best?.key;
105
+ }
106
+ /**
107
+ * Emit SCHEMA-001 warnings for any keys in `actual` that are not in `canonical`. The
108
+ * `pathLabel` is the human-readable scope (`top-level`, `metadata`, `environment`).
109
+ */
110
+ function findUnknownKeys(actual, canonical, pathLabel, fieldPrefix) {
111
+ const results = [];
112
+ const canonicalSet = new Set(canonical);
113
+ for (const key of Object.keys(actual)) {
114
+ if (canonicalSet.has(key))
115
+ continue;
116
+ const suggestion = closestCanonicalKey(key, canonical);
117
+ const message = formatWarning(WARNING_CODES.SCHEMA_001, `Unknown field '${key}' at ${pathLabel}.`, suggestion);
118
+ results.push({
119
+ field: fieldPrefix ? `${fieldPrefix}.${key}` : key,
120
+ message,
121
+ severity: 'warning',
122
+ });
123
+ }
124
+ return results;
125
+ }
24
126
  // eslint-disable-next-line complexity
25
127
  function validateProperties(props) {
26
128
  const errors = [];
@@ -112,6 +214,14 @@ function validateProperties(props) {
112
214
  });
113
215
  }
114
216
  }
217
+ // SCHEMA-001: unknown keys at any level — warning only so additive Provar versions don't break old clients
218
+ errors.push(...findUnknownKeys(props, CANONICAL_TOP_LEVEL_KEYS, 'top-level', ''));
219
+ if (meta && typeof meta === 'object') {
220
+ errors.push(...findUnknownKeys(meta, CANONICAL_METADATA_KEYS, 'metadata', 'metadata'));
221
+ }
222
+ if (env && typeof env === 'object') {
223
+ errors.push(...findUnknownKeys(env, CANONICAL_ENVIRONMENT_KEYS, 'environment', 'environment'));
224
+ }
115
225
  return errors;
116
226
  }
117
227
  /** Deep merge: source values overwrite target values recursively for objects. */
@@ -136,23 +246,38 @@ function deepMerge(target, source) {
136
246
  export function registerPropertiesGenerate(server, config) {
137
247
  server.registerTool('provar_properties_generate', {
138
248
  title: 'Generate ProvarDX Properties File',
139
- description: [
249
+ description: desc([
140
250
  'Generate a provardx-properties.json file from the standard template.',
141
251
  'Optionally pre-fills projectPath and provarHome if provided.',
142
252
  'The generated file uses ${PLACEHOLDER} values that must be replaced before running tests.',
143
253
  'Use provar_properties_set afterwards to update specific fields.',
144
- ].join(' '),
254
+ ].join(' '), 'Generate a provardx-properties.json from the standard template.'),
145
255
  inputSchema: {
146
- output_path: z.string().describe('Where to write the file (e.g. /path/to/project/provardx-properties.json)'),
147
- project_path: z.string().optional().describe('Pre-fill the projectPath field with this value'),
148
- provar_home: z.string().optional().describe('Pre-fill the provarHome field with this value'),
149
- results_path: z.string().optional().describe('Pre-fill the resultsPath field with this value'),
256
+ output_path: z
257
+ .string()
258
+ .describe(desc('Where to write the file (e.g. /path/to/project/provardx-properties.json)', 'string, absolute path for output .json file')),
259
+ project_path: z
260
+ .string()
261
+ .optional()
262
+ .describe(desc('Pre-fill the projectPath field with this value', 'string, optional; pre-fill projectPath')),
263
+ provar_home: z
264
+ .string()
265
+ .optional()
266
+ .describe(desc('Pre-fill the provarHome field with this value', 'string, optional; pre-fill provarHome')),
267
+ results_path: z
268
+ .string()
269
+ .optional()
270
+ .describe(desc('Pre-fill the resultsPath field with this value', 'string, optional; pre-fill resultsPath')),
150
271
  overwrite: z
151
272
  .boolean()
152
273
  .optional()
153
274
  .default(false)
154
- .describe('Overwrite the file if it already exists (default: false)'),
155
- dry_run: z.boolean().optional().default(false).describe('Return the content without writing (default: false)'),
275
+ .describe(desc('Overwrite the file if it already exists (default: false)', 'bool, optional; overwrite if exists')),
276
+ dry_run: z
277
+ .boolean()
278
+ .optional()
279
+ .default(false)
280
+ .describe(desc('Return the content without writing (default: false)', 'bool, optional; default false, skip write')),
156
281
  },
157
282
  }, ({ output_path, project_path, provar_home, results_path, overwrite, dry_run }) => {
158
283
  const requestId = makeRequestId();
@@ -268,9 +393,11 @@ function buildDivergenceWarning(diskPath, diskContent, activePath, activeContent
268
393
  export function registerPropertiesRead(server, config) {
269
394
  server.registerTool('provar_properties_read', {
270
395
  title: 'Read Properties File',
271
- description: 'Read and parse a provardx-properties.json file. Returns the parsed content so you can inspect current settings before making changes with provar_properties_set.',
396
+ description: desc('Read and parse a provardx-properties.json file. Returns the parsed content so you can inspect current settings before making changes with provar_properties_set.', 'Read and parse a provardx-properties.json file.'),
272
397
  inputSchema: {
273
- file_path: z.string().describe('Path to the provardx-properties.json file'),
398
+ file_path: z
399
+ .string()
400
+ .describe(desc('Path to the provardx-properties.json file', 'string, absolute path to provardx-properties.json')),
274
401
  },
275
402
  }, ({ file_path }) => {
276
403
  const requestId = makeRequestId();
@@ -398,15 +525,17 @@ const updatesSchema = z
398
525
  export function registerPropertiesSet(server, config) {
399
526
  server.registerTool('provar_properties_set', {
400
527
  title: 'Set Property Value',
401
- description: [
528
+ description: desc([
402
529
  'Update one or more fields in a provardx-properties.json file.',
403
530
  'Only the provided fields are changed — all other fields are preserved.',
404
531
  'Object fields (environment, metadata) are deep-merged.',
405
532
  'Array fields (testCase, testPlan, connectionOverride) replace the existing value entirely.',
406
533
  'Use provar_properties_read first to inspect the current state.',
407
- ].join(' '),
534
+ ].join(' '), 'Update fields in a provardx-properties.json; other fields preserved.'),
408
535
  inputSchema: {
409
- file_path: z.string().describe('Path to the provardx-properties.json file to update'),
536
+ file_path: z
537
+ .string()
538
+ .describe(desc('Path to the provardx-properties.json file to update', 'string, absolute path to provardx-properties.json')),
410
539
  updates: updatesSchema,
411
540
  },
412
541
  }, ({ file_path, updates }) => {
@@ -469,14 +598,23 @@ export function registerPropertiesSet(server, config) {
469
598
  export function registerPropertiesValidate(server, config) {
470
599
  server.registerTool('provar_properties_validate', {
471
600
  title: 'Validate ProvarDX Properties File',
472
- description: [
601
+ description: desc([
473
602
  'Validate a provardx-properties.json file against the ProvarDX schema.',
474
603
  'Checks required fields, valid enum values, and warns about unfilled placeholder values.',
604
+ 'Also emits a SCHEMA-001 warning for any unknown top-level, metadata.*, or environment.* key',
605
+ "(e.g. 'testCases' → did you mean 'testCase'?). Unknown keys are warnings, not errors,",
606
+ 'so additive keys in future Provar versions do not break older MCP clients.',
475
607
  'Accepts either a file path or inline JSON content.',
476
- ].join(' '),
608
+ ].join(' '), 'Validate a provardx-properties.json; warns on unknown keys (SCHEMA-001) like testCases vs testCase.'),
477
609
  inputSchema: {
478
- file_path: z.string().optional().describe('Path to the provardx-properties.json file to validate'),
479
- content: z.string().optional().describe('Inline JSON string to validate (alternative to file_path)'),
610
+ file_path: z
611
+ .string()
612
+ .optional()
613
+ .describe(desc('Path to the provardx-properties.json file to validate', 'string, optional; path to provardx-properties.json')),
614
+ content: z
615
+ .string()
616
+ .optional()
617
+ .describe(desc('Inline JSON string to validate (alternative to file_path)', 'string, optional; inline JSON to validate')),
480
618
  },
481
619
  }, ({ file_path, content }) => {
482
620
  const requestId = makeRequestId();
@@ -1 +1 @@
1
- {"version":3,"file":"propertiesTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/propertiesTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propertiesTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/propertiesTools.ts"],"names":[],"mappings":"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"}