@provartesting/provardx-cli 1.5.3 → 1.6.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 (47) hide show
  1. package/README.md +5 -37
  2. package/lib/commands/provar/automation/project/validate.js +5 -3
  3. package/lib/commands/provar/automation/project/validate.js.map +1 -1
  4. package/lib/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +13 -1
  5. package/lib/mcp/docs/VALIDATION_RULE_REGISTRY.md +225 -0
  6. package/lib/mcp/rules/comparisonTypeSets.d.ts +21 -0
  7. package/lib/mcp/rules/comparisonTypeSets.js +45 -0
  8. package/lib/mcp/rules/comparisonTypeSets.js.map +1 -0
  9. package/lib/mcp/rules/provar_best_practices_rules.json +119 -8
  10. package/lib/mcp/rules/provar_layer1_rules.json +151 -0
  11. package/lib/mcp/rules/provar_test_step_schema.json +3005 -0
  12. package/lib/mcp/server.d.ts +15 -0
  13. package/lib/mcp/server.js +64 -1
  14. package/lib/mcp/server.js.map +1 -1
  15. package/lib/mcp/tools/automationTools.js +38 -1
  16. package/lib/mcp/tools/automationTools.js.map +1 -1
  17. package/lib/mcp/tools/bestPracticesEngine.js +1068 -6
  18. package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
  19. package/lib/mcp/tools/hierarchyValidate.d.ts +2 -1
  20. package/lib/mcp/tools/hierarchyValidate.js +7 -1
  21. package/lib/mcp/tools/hierarchyValidate.js.map +1 -1
  22. package/lib/mcp/tools/projectValidateFromPath.js +1 -2
  23. package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
  24. package/lib/mcp/tools/sfSpawn.d.ts +23 -0
  25. package/lib/mcp/tools/sfSpawn.js +72 -1
  26. package/lib/mcp/tools/sfSpawn.js.map +1 -1
  27. package/lib/mcp/tools/testCaseGenerate.js +146 -12
  28. package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
  29. package/lib/mcp/tools/testCaseValidate.d.ts +46 -0
  30. package/lib/mcp/tools/testCaseValidate.js +307 -41
  31. package/lib/mcp/tools/testCaseValidate.js.map +1 -1
  32. package/lib/mcp/tools/testPlanValidate.js +3 -2
  33. package/lib/mcp/tools/testPlanValidate.js.map +1 -1
  34. package/lib/mcp/tools/testSuiteValidate.js +3 -2
  35. package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
  36. package/lib/mcp/utils/qualityThreshold.d.ts +8 -0
  37. package/lib/mcp/utils/qualityThreshold.js +42 -0
  38. package/lib/mcp/utils/qualityThreshold.js.map +1 -0
  39. package/lib/mcp/utils/testCaseId.d.ts +23 -0
  40. package/lib/mcp/utils/testCaseId.js +156 -0
  41. package/lib/mcp/utils/testCaseId.js.map +1 -0
  42. package/lib/services/projectValidation.js +2 -1
  43. package/lib/services/projectValidation.js.map +1 -1
  44. package/messages/sf.provar.automation.project.validate.md +1 -1
  45. package/messages/sf.provar.mcp.start.md +1 -0
  46. package/oclif.manifest.json +4 -4
  47. package/package.json +3 -2
@@ -10,6 +10,7 @@ import { makeError, makeRequestId } from '../schemas/common.js';
10
10
  import { log } from '../logging/logger.js';
11
11
  import { applyDetailLevel } from '../utils/detailLevel.js';
12
12
  import { calcCompletenessScore, calcNextAction } from '../utils/validationScore.js';
13
+ import { resolveQualityThreshold } from '../utils/qualityThreshold.js';
13
14
  import { generateRunId, saveRun, hasAnyRun, loadBaselineViolations, computeDiff, computeContextHash, resolveValidationDir, } from '../utils/validationDiff.js';
14
15
  import { validateSuite, buildHierarchySummary } from './hierarchyValidate.js';
15
16
  import { desc } from './descHelper.js';
@@ -87,7 +88,7 @@ export function registerTestSuiteValidate(server) {
87
88
  .min(0)
88
89
  .max(100)
89
90
  .optional()
90
- .describe(desc('Minimum quality score for a test case to be considered valid (default: 80)', 'number 0–100, optional')),
91
+ .describe(desc('Minimum quality score for a test case to be considered valid. Precedence: this arg → PROVAR_MCP_QUALITY_THRESHOLD env → 90.', 'number 0–100, optional; default 90')),
91
92
  detail: z
92
93
  .enum(['summary', 'standard', 'full'])
93
94
  .optional()
@@ -102,7 +103,7 @@ export function registerTestSuiteValidate(server) {
102
103
  const requestId = makeRequestId();
103
104
  log('info', 'provar_testsuite_validate', { requestId, suite_name });
104
105
  try {
105
- const threshold = quality_threshold ?? 80;
106
+ const threshold = resolveQualityThreshold(quality_threshold);
106
107
  const input = {
107
108
  name: suite_name,
108
109
  test_cases: test_cases ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"testSuiteValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/testSuiteValidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testSuiteValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/testSuiteValidate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const DEFAULT_QUALITY_THRESHOLD = 90;
2
+ /**
3
+ * Resolve the effective quality threshold.
4
+ *
5
+ * @param perCallArg The tool's `quality_threshold` argument, if the caller set one.
6
+ * @returns A number in 0–100; never NaN.
7
+ */
8
+ export declare function resolveQualityThreshold(perCallArg?: number): number;
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ /*
8
+ * Quality-threshold resolution for the validation tools.
9
+ *
10
+ * A test case "meets quality" when its best-practices `quality_score` is at or
11
+ * above this threshold. The bar is resolved with the precedence:
12
+ * per-call `quality_threshold` arg → PROVAR_MCP_QUALITY_THRESHOLD env → default (90).
13
+ *
14
+ * The default was raised from 80 to 90 so that "valid" means genuinely
15
+ * production-ready, not merely "loads". The env var lets a team pin a house
16
+ * standard (e.g. relax to 80 during a migration) without threading an argument
17
+ * through every call. Out-of-range or unparseable values fall through to the
18
+ * next source — mirroring the depth-guard convention in server.ts.
19
+ */
20
+ export const DEFAULT_QUALITY_THRESHOLD = 90;
21
+ /** True when `n` is a finite number inside the inclusive 0–100 score range. */
22
+ function inRange(n) {
23
+ return Number.isFinite(n) && n >= 0 && n <= 100;
24
+ }
25
+ /**
26
+ * Resolve the effective quality threshold.
27
+ *
28
+ * @param perCallArg The tool's `quality_threshold` argument, if the caller set one.
29
+ * @returns A number in 0–100; never NaN.
30
+ */
31
+ export function resolveQualityThreshold(perCallArg) {
32
+ if (typeof perCallArg === 'number' && inRange(perCallArg))
33
+ return perCallArg;
34
+ const raw = process.env['PROVAR_MCP_QUALITY_THRESHOLD'];
35
+ if (raw !== undefined && raw.trim() !== '') {
36
+ const parsed = Number(raw);
37
+ if (inRange(parsed))
38
+ return parsed;
39
+ }
40
+ return DEFAULT_QUALITY_THRESHOLD;
41
+ }
42
+ //# sourceMappingURL=qualityThreshold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qualityThreshold.js","sourceRoot":"","sources":["../../../src/mcp/utils/qualityThreshold.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,+EAA+E;AAC/E,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAmB;IACzD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAE7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IACrC,CAAC;IAED,OAAO,yBAAyB,CAAC;AACnC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export declare const DEFAULT_TESTCASE_ID = 1;
2
+ /** How an id was chosen — surfaced for logging and the tool response. */
3
+ export type TestCaseIdBasis = 'preserved-existing' | 'project-max-plus-1' | 'default';
4
+ export interface TestCaseIdAllocation {
5
+ id: number;
6
+ basis: TestCaseIdBasis;
7
+ /** Project root that was scanned, when basis is project-max-plus-1. */
8
+ projectRoot?: string;
9
+ /** Highest numeric id found in the project, when basis is project-max-plus-1. */
10
+ highestExistingId?: number;
11
+ }
12
+ /**
13
+ * Choose the `id` for a test case the generator is about to write to disk.
14
+ *
15
+ * Precedence:
16
+ * 1. Overwriting an existing file with a numeric id → preserve it (stable regeneration).
17
+ * 2. Output sits inside a reachable Provar project → highest project id + 1.
18
+ * 3. Otherwise → DEFAULT_TESTCASE_ID.
19
+ *
20
+ * @param outputPath The `.testcase` file that will be written (need not exist yet).
21
+ * @param allowedPaths The MCP path-policy roots; the project scan never leaves them.
22
+ */
23
+ export declare function allocateTestCaseId(outputPath: string, allowedPaths: string[]): TestCaseIdAllocation;
@@ -0,0 +1,156 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import fs from 'node:fs';
8
+ import path from 'node:path';
9
+ import { assertPathAllowed } from '../security/pathPolicy.js';
10
+ /*
11
+ * Root-`<testCase>` id allocation for the generator.
12
+ *
13
+ * Important: the `id` attribute is NOT a uniqueness key. A corpus sweep of 651
14
+ * real `.testcase` files shows id values duplicate freely within a single
15
+ * project (id="0" appears 9× in one project), there is no project-level "next
16
+ * id" counter file, and the Quality Hub backend requires only ONE of
17
+ * id/guid/registryId — never checking id uniqueness or integer-ness. The
18
+ * generator already emits a unique `guid`, which is the real identifier.
19
+ *
20
+ * So duplicate ids cause no runtime or validation failure. This allocator is a
21
+ * convention-alignment nicety: when we can see the surrounding project, pick the
22
+ * next integer after the highest in use so a freshly generated case does not
23
+ * carry a confusing duplicate id="1". Where there is no project context (preview
24
+ * runs, or output outside the allowed roots) we keep the historical default.
25
+ */
26
+ export const DEFAULT_TESTCASE_ID = 1;
27
+ /** Non-throwing wrapper around assertPathAllowed. */
28
+ function isAllowed(p, allowedPaths) {
29
+ try {
30
+ assertPathAllowed(p, allowedPaths);
31
+ return true;
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ }
37
+ /** Read the first `bytes` of a file as UTF-8 (the root element lives at the top). */
38
+ function readPrefix(file, bytes = 8192) {
39
+ const fd = fs.openSync(file, 'r');
40
+ try {
41
+ const buf = Buffer.alloc(bytes);
42
+ const read = fs.readSync(fd, buf, 0, bytes, 0);
43
+ return buf.toString('utf-8', 0, read);
44
+ }
45
+ finally {
46
+ fs.closeSync(fd);
47
+ }
48
+ }
49
+ /**
50
+ * The numeric `id` of the root `<testCase>` element, or undefined when the file
51
+ * is unreadable, has no id, or the id is non-numeric (e.g. a UUID). `[^>]*?`
52
+ * keeps the match inside the opening tag, so only the root id is considered.
53
+ */
54
+ function readRootTestCaseId(file) {
55
+ try {
56
+ const match = readPrefix(file).match(/<testCase\b[^>]*?\bid=["'](\d+)["']/);
57
+ if (!match)
58
+ return undefined;
59
+ const id = Number.parseInt(match[1], 10);
60
+ // Ignore ids too large to round-trip as an exact integer: otherwise `max + 1`
61
+ // would render in scientific notation (e.g. id="1e+22"), an invalid id.
62
+ return Number.isSafeInteger(id) ? id : undefined;
63
+ }
64
+ catch {
65
+ return undefined;
66
+ }
67
+ }
68
+ /**
69
+ * Walk up from `startDir` to the nearest ancestor containing a `.testproject`
70
+ * marker, staying within the allowed roots. Returns undefined when no project
71
+ * marker is reachable.
72
+ */
73
+ function findProjectRoot(startDir, allowedPaths) {
74
+ let dir = path.resolve(startDir);
75
+ // Bound the walk: a `.testproject` we cannot read (outside allowed roots) is
76
+ // not ours to scan, and the loop terminates at the filesystem root.
77
+ for (;;) {
78
+ if (!isAllowed(dir, allowedPaths))
79
+ return undefined;
80
+ if (fs.existsSync(path.join(dir, '.testproject')))
81
+ return dir;
82
+ const parent = path.dirname(dir);
83
+ if (parent === dir)
84
+ return undefined;
85
+ dir = parent;
86
+ }
87
+ }
88
+ /**
89
+ * Highest numeric root-`<testCase>` id under `projectRoot` (scanning `tests/`
90
+ * when present, else the root), ignoring `excludeFile`. Undefined when no
91
+ * numeric id is found.
92
+ */
93
+ function maxProjectTestCaseId(projectRoot, excludeFile) {
94
+ const scanRoot = fs.existsSync(path.join(projectRoot, 'tests')) ? path.join(projectRoot, 'tests') : projectRoot;
95
+ let max;
96
+ const walk = (dir) => {
97
+ let entries;
98
+ try {
99
+ entries = fs.readdirSync(dir, { withFileTypes: true });
100
+ }
101
+ catch {
102
+ return;
103
+ }
104
+ for (const entry of entries) {
105
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
106
+ continue;
107
+ const full = path.join(dir, entry.name);
108
+ if (entry.isDirectory()) {
109
+ walk(full);
110
+ }
111
+ else if (
112
+ // Only read real files inside the project. A symlinked `.testcase` could
113
+ // point outside the allowed roots; skip it so the scan honours the
114
+ // path-policy containment promised by findProjectRoot. (Dir symlinks are
115
+ // already skipped — isDirectory() is false for them.)
116
+ entry.isFile() &&
117
+ !entry.isSymbolicLink() &&
118
+ entry.name.endsWith('.testcase') &&
119
+ path.resolve(full) !== excludeFile) {
120
+ const id = readRootTestCaseId(full);
121
+ if (id !== undefined && (max === undefined || id > max))
122
+ max = id;
123
+ }
124
+ }
125
+ };
126
+ walk(scanRoot);
127
+ return max;
128
+ }
129
+ /**
130
+ * Choose the `id` for a test case the generator is about to write to disk.
131
+ *
132
+ * Precedence:
133
+ * 1. Overwriting an existing file with a numeric id → preserve it (stable regeneration).
134
+ * 2. Output sits inside a reachable Provar project → highest project id + 1.
135
+ * 3. Otherwise → DEFAULT_TESTCASE_ID.
136
+ *
137
+ * @param outputPath The `.testcase` file that will be written (need not exist yet).
138
+ * @param allowedPaths The MCP path-policy roots; the project scan never leaves them.
139
+ */
140
+ export function allocateTestCaseId(outputPath, allowedPaths) {
141
+ const resolved = path.resolve(outputPath);
142
+ if (fs.existsSync(resolved)) {
143
+ const selfId = readRootTestCaseId(resolved);
144
+ if (selfId !== undefined)
145
+ return { id: selfId, basis: 'preserved-existing' };
146
+ }
147
+ const projectRoot = findProjectRoot(path.dirname(resolved), allowedPaths);
148
+ if (projectRoot) {
149
+ const max = maxProjectTestCaseId(projectRoot, resolved);
150
+ if (max !== undefined) {
151
+ return { id: max + 1, basis: 'project-max-plus-1', projectRoot, highestExistingId: max };
152
+ }
153
+ }
154
+ return { id: DEFAULT_TESTCASE_ID, basis: 'default' };
155
+ }
156
+ //# sourceMappingURL=testCaseId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testCaseId.js","sourceRoot":"","sources":["../../../src/mcp/utils/testCaseId.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  import fs from 'node:fs';
9
9
  import path from 'node:path';
10
10
  import { validateProject, buildHierarchySummary, } from '../mcp/tools/hierarchyValidate.js';
11
+ import { resolveQualityThreshold } from '../mcp/utils/qualityThreshold.js';
11
12
  // ── Public error type ─────────────────────────────────────────────────────────
12
13
  export class ProjectValidationError extends Error {
13
14
  code;
@@ -638,7 +639,7 @@ export function validateProjectFromPath(options) {
638
639
  if (!fs.existsSync(path.join(projectRoot, '.testproject'))) {
639
640
  throw new ProjectValidationError('NOT_A_PROJECT', `No Provar project found at "${projectRoot}". Ensure the path points to a directory containing a .testproject file.`);
640
641
  }
641
- const threshold = quality_threshold ?? 80;
642
+ const threshold = resolveQualityThreshold(quality_threshold);
642
643
  // 1. Read project context from .testproject
643
644
  const { projectName, context } = readProjectContext(projectRoot);
644
645
  // 2. Read plan hierarchy from plans/ directory; covered paths are computed
@@ -1 +1 @@
1
- {"version":3,"file":"projectValidation.js","sourceRoot":"","sources":["../../src/services/projectValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectValidation.js","sourceRoot":"","sources":["../../src/services/projectValidation.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ Path to the Provar project root (directory containing the .testproject file). De
15
15
 
16
16
  # flags.quality-threshold.summary
17
17
 
18
- Minimum quality score (0-100) for a test case to pass validation (default: 80).
18
+ Minimum quality score (0-100) for a test case to pass validation (default: 90).
19
19
 
20
20
  # flags.save-results.summary
21
21
 
@@ -16,6 +16,7 @@ Project & inspection:
16
16
  - provar_project_inspect — inspect project folder inventory
17
17
  - provar_project_validate — validate full project from disk: coverage, quality scores
18
18
  - provar_connection_list — list connections and named environments from the project
19
+ - provar_org_describe — describe Salesforce objects from the Provar workspace .metadata cache
19
20
 
20
21
  Page Object:
21
22
 
@@ -338,7 +338,7 @@
338
338
  "provar:mcp:start": {
339
339
  "aliases": [],
340
340
  "args": {},
341
- "description": "Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools to\nAI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP\nJSON-RPC communication happens over stdout; all internal logging goes to stderr.\n\nAvailable tools:\n\nProject & inspection:\n\n- provardx_ping — ping the MCP server (health check)\n- provar_project_inspect — inspect project folder inventory\n- provar_project_validate — validate full project from disk: coverage, quality scores\n- provar_connection_list — list connections and named environments from the project\n\nPage Object:\n\n- provar_pageobject_generate — generate a Java Page Object skeleton\n- provar_pageobject_validate — validate Page Object quality and naming\n\nTest Case:\n\n- provar_testcase_generate — generate an XML test case skeleton\n- provar_testcase_validate — validate test case XML (validity + best-practices scores)\n- provar_testcase_step_edit — atomically add or remove a single step in a test case\n\nTest Suite / Plan:\n\n- provar_testsuite_validate — validate test suite hierarchy\n- provar_testplan_validate — validate test plan metadata completeness\n- provar_testplan_create — create a new test plan\n- provar_testplan_create-suite — create a test suite under a plan\n- provar_testplan_add-instance — add a test instance to a plan\n- provar_testplan_remove-instance — remove a test instance from a plan\n\nProperties files:\n\n- provar_properties_read — read a Provar properties file\n- provar_properties_set — set a key in a Provar properties file\n- provar_properties_validate — validate a properties file structure\n- provar_properties_generate — generate a properties file skeleton\n\nQuality Hub (sf provar quality-hub wrappers):\n\n- provar_qualityhub_connect — connect to a Quality Hub org\n- provar_qualityhub_display — display connected org info\n- provar_qualityhub_testrun — trigger a Quality Hub test run\n- provar_qualityhub_testrun_report — poll test run status\n- provar_qualityhub_testrun_abort — abort a running test run\n- provar_qualityhub_testcase_retrieve — retrieve test case results\n- provar_qualityhub_defect_create — create defects for failed test executions\n- provar_qualityhub_examples_retrieve — retrieve corpus examples for test generation grounding\n\nAutomation (sf provar automation wrappers):\n\n- provar_automation_setup — set up the Provar Automation runtime\n- provar_automation_metadata_download — download Salesforce metadata\n- provar_automation_compile — compile Provar test assets\n- provar_automation_testrun — run Provar tests\n- provar_automation_config_load — load a Provar configuration\n\nANT build:\n\n- provar_ant_generate — generate an ANT build.xml\n- provar_ant_validate — validate an ANT build.xml\n\nTest result analysis:\n\n- provar_testrun_rca — root cause analysis on a test result\n- provar_testrun_report_locate — locate a test result report\n\nNitroX (Provar NitroX component tools):\n\n- provar_nitrox_discover — discover NitroX component metadata\n- provar_nitrox_generate — generate a NitroX component\n- provar_nitrox_patch — patch a NitroX component definition\n- provar_nitrox_read — read a NitroX component definition\n- provar_nitrox_validate — validate a NitroX component\n\nFor full tool documentation see docs/mcp.md in this repository.",
341
+ "description": "Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools to\nAI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP\nJSON-RPC communication happens over stdout; all internal logging goes to stderr.\n\nAvailable tools:\n\nProject & inspection:\n\n- provardx_ping — ping the MCP server (health check)\n- provar_project_inspect — inspect project folder inventory\n- provar_project_validate — validate full project from disk: coverage, quality scores\n- provar_connection_list — list connections and named environments from the project\n- provar_org_describe — describe Salesforce objects from the Provar workspace .metadata cache\n\nPage Object:\n\n- provar_pageobject_generate — generate a Java Page Object skeleton\n- provar_pageobject_validate — validate Page Object quality and naming\n\nTest Case:\n\n- provar_testcase_generate — generate an XML test case skeleton\n- provar_testcase_validate — validate test case XML (validity + best-practices scores)\n- provar_testcase_step_edit — atomically add or remove a single step in a test case\n\nTest Suite / Plan:\n\n- provar_testsuite_validate — validate test suite hierarchy\n- provar_testplan_validate — validate test plan metadata completeness\n- provar_testplan_create — create a new test plan\n- provar_testplan_create-suite — create a test suite under a plan\n- provar_testplan_add-instance — add a test instance to a plan\n- provar_testplan_remove-instance — remove a test instance from a plan\n\nProperties files:\n\n- provar_properties_read — read a Provar properties file\n- provar_properties_set — set a key in a Provar properties file\n- provar_properties_validate — validate a properties file structure\n- provar_properties_generate — generate a properties file skeleton\n\nQuality Hub (sf provar quality-hub wrappers):\n\n- provar_qualityhub_connect — connect to a Quality Hub org\n- provar_qualityhub_display — display connected org info\n- provar_qualityhub_testrun — trigger a Quality Hub test run\n- provar_qualityhub_testrun_report — poll test run status\n- provar_qualityhub_testrun_abort — abort a running test run\n- provar_qualityhub_testcase_retrieve — retrieve test case results\n- provar_qualityhub_defect_create — create defects for failed test executions\n- provar_qualityhub_examples_retrieve — retrieve corpus examples for test generation grounding\n\nAutomation (sf provar automation wrappers):\n\n- provar_automation_setup — set up the Provar Automation runtime\n- provar_automation_metadata_download — download Salesforce metadata\n- provar_automation_compile — compile Provar test assets\n- provar_automation_testrun — run Provar tests\n- provar_automation_config_load — load a Provar configuration\n\nANT build:\n\n- provar_ant_generate — generate an ANT build.xml\n- provar_ant_validate — validate an ANT build.xml\n\nTest result analysis:\n\n- provar_testrun_rca — root cause analysis on a test result\n- provar_testrun_report_locate — locate a test result report\n\nNitroX (Provar NitroX component tools):\n\n- provar_nitrox_discover — discover NitroX component metadata\n- provar_nitrox_generate — generate a NitroX component\n- provar_nitrox_patch — patch a NitroX component definition\n- provar_nitrox_read — read a NitroX component definition\n- provar_nitrox_validate — validate a NitroX component\n\nFor full tool documentation see docs/mcp.md in this repository.",
342
342
  "examples": [
343
343
  "Start MCP server (accepts stdio connections from Claude Desktop / Cursor):\n<%= config.bin %> <%= command.id %>",
344
344
  "Start with explicit allowed paths:\n<%= config.bin %> <%= command.id %> --allowed-paths /workspace/provar",
@@ -1015,8 +1015,8 @@
1015
1015
  "quality-threshold": {
1016
1016
  "char": "q",
1017
1017
  "name": "quality-threshold",
1018
- "summary": "Minimum quality score (0-100) for a test case to pass validation (default: 80).",
1019
- "default": 80,
1018
+ "summary": "Minimum quality score (0-100) for a test case to pass validation (default: 90).",
1019
+ "default": 90,
1020
1020
  "hasDynamicHelp": false,
1021
1021
  "multiple": false,
1022
1022
  "type": "option"
@@ -2036,5 +2036,5 @@
2036
2036
  ]
2037
2037
  }
2038
2038
  },
2039
- "version": "1.5.3"
2039
+ "version": "1.6.0"
2040
2040
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@provartesting/provardx-cli",
3
3
  "description": "A plugin for the Salesforce CLI to orchestrate testing activities and report quality metrics to Provar Quality Hub",
4
- "version": "1.5.3",
4
+ "version": "1.6.0",
5
5
  "mcpName": "io.github.ProvarTesting/provar",
6
6
  "license": "BSD-3-Clause",
7
7
  "plugins": [
@@ -152,7 +152,7 @@
152
152
  ]
153
153
  },
154
154
  "compile": {
155
- "command": "tsc -p . --pretty --incremental && shx mkdir -p lib/mcp/rules && shx cp src/mcp/rules/*.json lib/mcp/rules/ && shx mkdir -p lib/mcp/docs && shx cp docs/PROVAR_TEST_STEP_REFERENCE.md lib/mcp/docs/ && shx cp docs/NITROX_COMPONENT_CATALOG.md lib/mcp/docs/ && shx cp docs/NITROX_CATALOG_SOURCE.json lib/mcp/docs/ && shx cp docs/PROVAR_TOOL_GUIDE.md lib/mcp/docs/",
155
+ "command": "tsc -p . --pretty --incremental && shx mkdir -p lib/mcp/rules && shx cp src/mcp/rules/*.json lib/mcp/rules/ && shx mkdir -p lib/mcp/docs && shx cp docs/PROVAR_TEST_STEP_REFERENCE.md lib/mcp/docs/ && shx cp docs/NITROX_COMPONENT_CATALOG.md lib/mcp/docs/ && shx cp docs/NITROX_CATALOG_SOURCE.json lib/mcp/docs/ && shx cp docs/PROVAR_TOOL_GUIDE.md lib/mcp/docs/ && shx cp docs/VALIDATION_RULE_REGISTRY.md lib/mcp/docs/",
156
156
  "files": [
157
157
  "src/**/*.ts",
158
158
  "src/mcp/rules/*.json",
@@ -160,6 +160,7 @@
160
160
  "docs/NITROX_CATALOG_SOURCE.json",
161
161
  "docs/PROVAR_TOOL_GUIDE.md",
162
162
  "docs/PROVAR_TEST_STEP_REFERENCE.md",
163
+ "docs/VALIDATION_RULE_REGISTRY.md",
163
164
  "**/tsconfig.json",
164
165
  "messages/**"
165
166
  ],