@provartesting/provardx-cli 1.5.0-dev.2 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +163 -12
- package/bin/mcp-start.js +74 -0
- package/lib/commands/provar/auth/clear.d.ts +7 -0
- package/lib/commands/provar/auth/clear.js +36 -0
- package/lib/commands/provar/auth/clear.js.map +1 -0
- package/lib/commands/provar/auth/login.d.ts +10 -0
- package/lib/commands/provar/auth/login.js +90 -0
- package/lib/commands/provar/auth/login.js.map +1 -0
- package/lib/commands/provar/auth/rotate.d.ts +7 -0
- package/lib/commands/provar/auth/rotate.js +42 -0
- package/lib/commands/provar/auth/rotate.js.map +1 -0
- package/lib/commands/provar/auth/status.d.ts +7 -0
- package/lib/commands/provar/auth/status.js +107 -0
- package/lib/commands/provar/auth/status.js.map +1 -0
- package/lib/commands/provar/mcp/start.d.ts +2 -0
- package/lib/commands/provar/mcp/start.js +14 -1
- package/lib/commands/provar/mcp/start.js.map +1 -1
- package/lib/mcp/docs/NITROX_CATALOG_SOURCE.json +6 -0
- package/lib/mcp/docs/NITROX_COMPONENT_CATALOG.md +2001 -0
- package/lib/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +1430 -0
- package/lib/mcp/docs/PROVAR_TOOL_GUIDE.md +187 -0
- package/lib/mcp/licensing/algasClient.js +14 -5
- package/lib/mcp/licensing/algasClient.js.map +1 -1
- package/lib/mcp/licensing/ideDetection.d.ts +0 -12
- package/lib/mcp/licensing/ideDetection.js +1 -73
- package/lib/mcp/licensing/ideDetection.js.map +1 -1
- package/lib/mcp/licensing/licenseCache.js +7 -1
- package/lib/mcp/licensing/licenseCache.js.map +1 -1
- package/lib/mcp/licensing/licenseValidator.d.ts +3 -3
- package/lib/mcp/licensing/licenseValidator.js +11 -4
- package/lib/mcp/licensing/licenseValidator.js.map +1 -1
- package/lib/mcp/prompts/guidePrompts.d.ts +4 -0
- package/lib/mcp/prompts/guidePrompts.js +334 -0
- package/lib/mcp/prompts/guidePrompts.js.map +1 -0
- package/lib/mcp/prompts/index.d.ts +2 -0
- package/lib/mcp/prompts/index.js +23 -0
- package/lib/mcp/prompts/index.js.map +1 -0
- package/lib/mcp/prompts/loopPrompts.d.ts +6 -0
- package/lib/mcp/prompts/loopPrompts.js +435 -0
- package/lib/mcp/prompts/loopPrompts.js.map +1 -0
- package/lib/mcp/prompts/migrationPrompts.d.ts +4 -0
- package/lib/mcp/prompts/migrationPrompts.js +207 -0
- package/lib/mcp/prompts/migrationPrompts.js.map +1 -0
- package/lib/mcp/rules/provar_best_practices_rules.json +256 -544
- package/lib/mcp/security/pathPolicy.d.ts +5 -0
- package/lib/mcp/security/pathPolicy.js +58 -3
- package/lib/mcp/security/pathPolicy.js.map +1 -1
- package/lib/mcp/server.d.ts +18 -0
- package/lib/mcp/server.js +232 -19
- package/lib/mcp/server.js.map +1 -1
- package/lib/mcp/tools/antTools.d.ts +15 -0
- package/lib/mcp/tools/antTools.js +369 -170
- package/lib/mcp/tools/antTools.js.map +1 -1
- package/lib/mcp/tools/automationTools.d.ts +18 -8
- package/lib/mcp/tools/automationTools.js +333 -176
- package/lib/mcp/tools/automationTools.js.map +1 -1
- package/lib/mcp/tools/bestPracticesEngine.js +161 -23
- package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
- package/lib/mcp/tools/connectionTools.d.ts +4 -0
- package/lib/mcp/tools/connectionTools.js +242 -0
- package/lib/mcp/tools/connectionTools.js.map +1 -0
- package/lib/mcp/tools/defectTools.d.ts +1 -1
- package/lib/mcp/tools/defectTools.js +61 -50
- package/lib/mcp/tools/defectTools.js.map +1 -1
- package/lib/mcp/tools/descHelper.d.ts +5 -0
- package/lib/mcp/tools/descHelper.js +14 -0
- package/lib/mcp/tools/descHelper.js.map +1 -0
- package/lib/mcp/tools/hierarchyValidate.d.ts +1 -1
- package/lib/mcp/tools/hierarchyValidate.js +127 -42
- package/lib/mcp/tools/hierarchyValidate.js.map +1 -1
- package/lib/mcp/tools/nitroXTools.d.ts +23 -0
- package/lib/mcp/tools/nitroXTools.js +863 -0
- package/lib/mcp/tools/nitroXTools.js.map +1 -0
- package/lib/mcp/tools/pageObjectGenerate.js +150 -57
- package/lib/mcp/tools/pageObjectGenerate.js.map +1 -1
- package/lib/mcp/tools/pageObjectValidate.js +143 -46
- package/lib/mcp/tools/pageObjectValidate.js.map +1 -1
- package/lib/mcp/tools/projectInspect.js +79 -32
- package/lib/mcp/tools/projectInspect.js.map +1 -1
- package/lib/mcp/tools/projectValidateFromPath.js +185 -58
- package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
- package/lib/mcp/tools/propertiesTools.d.ts +2 -0
- package/lib/mcp/tools/propertiesTools.js +358 -78
- package/lib/mcp/tools/propertiesTools.js.map +1 -1
- package/lib/mcp/tools/qualityHubApiTools.d.ts +3 -0
- package/lib/mcp/tools/qualityHubApiTools.js +139 -0
- package/lib/mcp/tools/qualityHubApiTools.js.map +1 -0
- package/lib/mcp/tools/qualityHubTools.js +292 -72
- package/lib/mcp/tools/qualityHubTools.js.map +1 -1
- package/lib/mcp/tools/rcaTools.d.ts +3 -2
- package/lib/mcp/tools/rcaTools.js +194 -56
- package/lib/mcp/tools/rcaTools.js.map +1 -1
- package/lib/mcp/tools/sfSpawn.d.ts +25 -3
- package/lib/mcp/tools/sfSpawn.js +154 -6
- package/lib/mcp/tools/sfSpawn.js.map +1 -1
- package/lib/mcp/tools/testCaseGenerate.js +285 -78
- package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
- package/lib/mcp/tools/testCaseStepTools.d.ts +4 -0
- package/lib/mcp/tools/testCaseStepTools.js +244 -0
- package/lib/mcp/tools/testCaseStepTools.js.map +1 -0
- package/lib/mcp/tools/testCaseValidate.d.ts +11 -0
- package/lib/mcp/tools/testCaseValidate.js +381 -46
- package/lib/mcp/tools/testCaseValidate.js.map +1 -1
- package/lib/mcp/tools/testPlanTools.d.ts +1 -0
- package/lib/mcp/tools/testPlanTools.js +316 -59
- package/lib/mcp/tools/testPlanTools.js.map +1 -1
- package/lib/mcp/tools/testPlanValidate.js +114 -23
- package/lib/mcp/tools/testPlanValidate.js.map +1 -1
- package/lib/mcp/tools/testSuiteValidate.js +130 -15
- package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
- package/lib/mcp/update/updateChecker.d.ts +14 -0
- package/lib/mcp/update/updateChecker.js +228 -0
- package/lib/mcp/update/updateChecker.js.map +1 -0
- package/lib/mcp/utils/detailLevel.d.ts +9 -0
- package/lib/mcp/utils/detailLevel.js +20 -0
- package/lib/mcp/utils/detailLevel.js.map +1 -0
- package/lib/mcp/utils/fieldMask.d.ts +17 -0
- package/lib/mcp/utils/fieldMask.js +75 -0
- package/lib/mcp/utils/fieldMask.js.map +1 -0
- package/lib/mcp/utils/tokenMeta.d.ts +40 -0
- package/lib/mcp/utils/tokenMeta.js +90 -0
- package/lib/mcp/utils/tokenMeta.js.map +1 -0
- package/lib/mcp/utils/validationDiff.d.ts +57 -0
- package/lib/mcp/utils/validationDiff.js +191 -0
- package/lib/mcp/utils/validationDiff.js.map +1 -0
- package/lib/mcp/utils/validationScore.d.ts +15 -0
- package/lib/mcp/utils/validationScore.js +31 -0
- package/lib/mcp/utils/validationScore.js.map +1 -0
- package/lib/services/auth/credentials.d.ts +21 -0
- package/lib/services/auth/credentials.js +75 -0
- package/lib/services/auth/credentials.js.map +1 -0
- package/lib/services/auth/loginFlow.d.ts +68 -0
- package/lib/services/auth/loginFlow.js +216 -0
- package/lib/services/auth/loginFlow.js.map +1 -0
- package/lib/services/projectValidation.d.ts +5 -2
- package/lib/services/projectValidation.js +83 -31
- package/lib/services/projectValidation.js.map +1 -1
- package/lib/services/qualityHub/client.d.ts +161 -0
- package/lib/services/qualityHub/client.js +226 -0
- package/lib/services/qualityHub/client.js.map +1 -0
- package/messages/sf.provar.auth.clear.md +16 -0
- package/messages/sf.provar.auth.login.md +31 -0
- package/messages/sf.provar.auth.rotate.md +23 -0
- package/messages/sf.provar.auth.status.md +16 -0
- package/messages/sf.provar.mcp.start.md +83 -48
- package/oclif.manifest.json +325 -28
- package/package.json +35 -12
|
@@ -12,17 +12,28 @@ import { z } from 'zod';
|
|
|
12
12
|
import { assertPathAllowed, PathPolicyError } from '../security/pathPolicy.js';
|
|
13
13
|
import { makeError, makeRequestId } from '../schemas/common.js';
|
|
14
14
|
import { log } from '../logging/logger.js';
|
|
15
|
+
import { desc } from './descHelper.js';
|
|
15
16
|
export function registerPageObjectValidate(server, config) {
|
|
16
|
-
server.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
server.registerTool('provar_pageobject_validate', {
|
|
18
|
+
title: 'Validate Page Object',
|
|
19
|
+
description: desc('Validate a Provar Java Page Object against naming conventions, locator best practices, and structural requirements. Returns quality score (0–100) and list of issues.', 'Validate a Provar Java Page Object for naming, locators, and structure.'),
|
|
20
|
+
inputSchema: {
|
|
21
|
+
content: z
|
|
22
|
+
.string()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe(desc('Java source code to validate directly', 'string, optional; Java source to validate')),
|
|
25
|
+
file_path: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe(desc('Path to .java Page Object file', 'string, optional; path to .java file')),
|
|
29
|
+
expected_class_name: z
|
|
30
|
+
.string()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe(desc('Expected class name for PO_006 check; inferred from file_path when omitted', 'string, optional; expected class name for PO_006 check')),
|
|
33
|
+
},
|
|
23
34
|
}, ({ content, file_path, expected_class_name }) => {
|
|
24
35
|
const requestId = makeRequestId();
|
|
25
|
-
log('info', '
|
|
36
|
+
log('info', 'provar_pageobject_validate', { requestId, has_content: !!content, file_path });
|
|
26
37
|
try {
|
|
27
38
|
let source = content;
|
|
28
39
|
let inferredClassName = expected_class_name;
|
|
@@ -52,29 +63,88 @@ export function registerPageObjectValidate(server, config) {
|
|
|
52
63
|
catch (err) {
|
|
53
64
|
const error = err;
|
|
54
65
|
const errResult = makeError(error instanceof PathPolicyError ? error.code : 'VALIDATE_ERROR', error.message, requestId, false);
|
|
55
|
-
log('error', '
|
|
66
|
+
log('error', 'provar_pageobject_validate failed', { requestId, error: error.message });
|
|
56
67
|
return { isError: true, content: [{ type: 'text', text: JSON.stringify(errResult) }] };
|
|
57
68
|
}
|
|
58
69
|
});
|
|
59
70
|
}
|
|
60
71
|
// ── Validator (ported from quality-hub-agents/lambda/src/validator/page_object_validator.py) ──
|
|
61
72
|
const VALID_LOCATOR_STRATEGIES = new Set([
|
|
62
|
-
'xpath',
|
|
63
|
-
'
|
|
73
|
+
'xpath',
|
|
74
|
+
'id',
|
|
75
|
+
'css',
|
|
76
|
+
'name',
|
|
77
|
+
'className',
|
|
78
|
+
'tagName',
|
|
79
|
+
'linkText',
|
|
80
|
+
'partialLinkText',
|
|
81
|
+
'visualforce',
|
|
82
|
+
'label',
|
|
64
83
|
]);
|
|
65
84
|
const VALID_ELEMENT_TYPES = new Set([
|
|
66
|
-
'TextType',
|
|
67
|
-
'
|
|
85
|
+
'TextType',
|
|
86
|
+
'ButtonType',
|
|
87
|
+
'LinkType',
|
|
88
|
+
'ChoiceListType',
|
|
89
|
+
'RadioType',
|
|
90
|
+
'FileType',
|
|
91
|
+
'DateType',
|
|
92
|
+
'RichTextType',
|
|
93
|
+
'BooleanType',
|
|
68
94
|
]);
|
|
69
95
|
const PASCAL_CASE_RE = /^[A-Z][A-Za-z0-9]*$/;
|
|
70
96
|
const VALID_JAVA_IDENT_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
71
97
|
const JAVA_RESERVED = new Set([
|
|
72
|
-
'abstract',
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'
|
|
77
|
-
'
|
|
98
|
+
'abstract',
|
|
99
|
+
'assert',
|
|
100
|
+
'boolean',
|
|
101
|
+
'break',
|
|
102
|
+
'byte',
|
|
103
|
+
'case',
|
|
104
|
+
'catch',
|
|
105
|
+
'char',
|
|
106
|
+
'class',
|
|
107
|
+
'const',
|
|
108
|
+
'continue',
|
|
109
|
+
'default',
|
|
110
|
+
'do',
|
|
111
|
+
'double',
|
|
112
|
+
'else',
|
|
113
|
+
'enum',
|
|
114
|
+
'extends',
|
|
115
|
+
'final',
|
|
116
|
+
'finally',
|
|
117
|
+
'float',
|
|
118
|
+
'for',
|
|
119
|
+
'goto',
|
|
120
|
+
'if',
|
|
121
|
+
'implements',
|
|
122
|
+
'import',
|
|
123
|
+
'instanceof',
|
|
124
|
+
'int',
|
|
125
|
+
'interface',
|
|
126
|
+
'long',
|
|
127
|
+
'native',
|
|
128
|
+
'new',
|
|
129
|
+
'package',
|
|
130
|
+
'private',
|
|
131
|
+
'protected',
|
|
132
|
+
'public',
|
|
133
|
+
'return',
|
|
134
|
+
'short',
|
|
135
|
+
'static',
|
|
136
|
+
'strictfp',
|
|
137
|
+
'super',
|
|
138
|
+
'switch',
|
|
139
|
+
'synchronized',
|
|
140
|
+
'this',
|
|
141
|
+
'throw',
|
|
142
|
+
'throws',
|
|
143
|
+
'transient',
|
|
144
|
+
'try',
|
|
145
|
+
'void',
|
|
146
|
+
'volatile',
|
|
147
|
+
'while',
|
|
78
148
|
]);
|
|
79
149
|
const SF_DYNAMIC_ATTRS_RE = /data-aura-rendered-by|data-aura-class|aura-id|data-component-id/i;
|
|
80
150
|
const INDEXED_XPATH_RE = /\[\d+\]/;
|
|
@@ -103,7 +173,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
103
173
|
const packageName = packageMatch ? packageMatch[1] : null;
|
|
104
174
|
if (!packageMatch) {
|
|
105
175
|
issues.push({
|
|
106
|
-
rule_id: 'PO_001',
|
|
176
|
+
rule_id: 'PO_001',
|
|
177
|
+
severity: 'ERROR',
|
|
107
178
|
message: 'Missing package declaration.',
|
|
108
179
|
applies_to: 'class',
|
|
109
180
|
suggestion: "Add 'package pageobjects;' at the top of the file.",
|
|
@@ -111,7 +182,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
111
182
|
}
|
|
112
183
|
else if (!/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$/.test(packageName)) {
|
|
113
184
|
issues.push({
|
|
114
|
-
rule_id: 'PO_002',
|
|
185
|
+
rule_id: 'PO_002',
|
|
186
|
+
severity: 'ERROR',
|
|
115
187
|
message: `Invalid package name: "${packageName}".`,
|
|
116
188
|
applies_to: 'class',
|
|
117
189
|
suggestion: 'Package names should be valid lower-case Java identifiers separated by dots.',
|
|
@@ -124,7 +196,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
124
196
|
const closeBraces = (stripped.match(/\}/g) ?? []).length;
|
|
125
197
|
if (openBraces !== closeBraces) {
|
|
126
198
|
issues.push({
|
|
127
|
-
rule_id: 'PO_060',
|
|
199
|
+
rule_id: 'PO_060',
|
|
200
|
+
severity: 'ERROR',
|
|
128
201
|
message: `Mismatched braces: ${openBraces} opening vs ${closeBraces} closing.`,
|
|
129
202
|
applies_to: 'class',
|
|
130
203
|
suggestion: 'Check for missing or extra curly braces.',
|
|
@@ -133,7 +206,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
133
206
|
// ── Imports ──────────────────────────────────────────────────────────────────
|
|
134
207
|
if (!stripped.includes('import com.provar.core.testapi.annotations')) {
|
|
135
208
|
issues.push({
|
|
136
|
-
rule_id: 'PO_012',
|
|
209
|
+
rule_id: 'PO_012',
|
|
210
|
+
severity: 'WARNING',
|
|
137
211
|
message: 'Missing import for Provar annotations.',
|
|
138
212
|
applies_to: 'class',
|
|
139
213
|
suggestion: "Add 'import com.provar.core.testapi.annotations.*;'",
|
|
@@ -147,7 +221,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
147
221
|
const fields = extractFields(source);
|
|
148
222
|
if (fields.length === 0 && !issues.some((i) => i.rule_id === 'PO_003')) {
|
|
149
223
|
issues.push({
|
|
150
|
-
rule_id: 'PO_030',
|
|
224
|
+
rule_id: 'PO_030',
|
|
225
|
+
severity: 'WARNING',
|
|
151
226
|
message: 'No WebElement or WebComponent fields found.',
|
|
152
227
|
applies_to: 'class',
|
|
153
228
|
suggestion: 'Add at least one WebElement field with @FindBy locator and type annotation.',
|
|
@@ -159,7 +234,8 @@ export function validatePageObject(source, expectedClassName) {
|
|
|
159
234
|
// ── Commented code ───────────────────────────────────────────────────────────
|
|
160
235
|
if (/\/\/\s*(public|private|protected|@FindBy|WebElement|@\w+Type)/.test(source)) {
|
|
161
236
|
issues.push({
|
|
162
|
-
rule_id: 'PO_080',
|
|
237
|
+
rule_id: 'PO_080',
|
|
238
|
+
severity: 'INFO',
|
|
163
239
|
message: 'Commented-out code detected.',
|
|
164
240
|
applies_to: 'class',
|
|
165
241
|
suggestion: 'Remove commented code. Use version control to track history.',
|
|
@@ -189,7 +265,8 @@ function checkClassDeclaration(stripped, expectedClassName, issues) {
|
|
|
189
265
|
const className = classMatch ? classMatch[1] : null;
|
|
190
266
|
if (!classMatch) {
|
|
191
267
|
issues.push({
|
|
192
|
-
rule_id: 'PO_003',
|
|
268
|
+
rule_id: 'PO_003',
|
|
269
|
+
severity: 'ERROR',
|
|
193
270
|
message: 'Missing public class declaration.',
|
|
194
271
|
applies_to: 'class',
|
|
195
272
|
suggestion: "Ensure the file has a 'public class ClassName' declaration.",
|
|
@@ -198,7 +275,8 @@ function checkClassDeclaration(stripped, expectedClassName, issues) {
|
|
|
198
275
|
else {
|
|
199
276
|
if (!PASCAL_CASE_RE.test(className)) {
|
|
200
277
|
issues.push({
|
|
201
|
-
rule_id: 'PO_004',
|
|
278
|
+
rule_id: 'PO_004',
|
|
279
|
+
severity: 'WARNING',
|
|
202
280
|
message: `Class name "${className}" is not PascalCase.`,
|
|
203
281
|
applies_to: 'class',
|
|
204
282
|
suggestion: "Rename to PascalCase (e.g., 'MyPageObject').",
|
|
@@ -206,7 +284,8 @@ function checkClassDeclaration(stripped, expectedClassName, issues) {
|
|
|
206
284
|
}
|
|
207
285
|
if (!VALID_JAVA_IDENT_RE.test(className)) {
|
|
208
286
|
issues.push({
|
|
209
|
-
rule_id: 'PO_005',
|
|
287
|
+
rule_id: 'PO_005',
|
|
288
|
+
severity: 'ERROR',
|
|
210
289
|
message: `Class name "${className}" is not a valid Java identifier.`,
|
|
211
290
|
applies_to: 'class',
|
|
212
291
|
suggestion: 'Class names must start with a letter, $, or _ and contain only letters, digits, $, or _.',
|
|
@@ -214,7 +293,8 @@ function checkClassDeclaration(stripped, expectedClassName, issues) {
|
|
|
214
293
|
}
|
|
215
294
|
if (expectedClassName && className !== expectedClassName) {
|
|
216
295
|
issues.push({
|
|
217
|
-
rule_id: 'PO_006',
|
|
296
|
+
rule_id: 'PO_006',
|
|
297
|
+
severity: 'ERROR',
|
|
218
298
|
message: `Class name "${className}" does not match expected "${expectedClassName}".`,
|
|
219
299
|
applies_to: 'class',
|
|
220
300
|
suggestion: 'Class name must match the filename.',
|
|
@@ -228,7 +308,8 @@ function checkAnnotations(stripped, issues) {
|
|
|
228
308
|
const hasSalesforceAnnotation = /@SalesforcePage\s*\(/.test(stripped);
|
|
229
309
|
if (!hasPageAnnotation && !hasSalesforceAnnotation) {
|
|
230
310
|
issues.push({
|
|
231
|
-
rule_id: 'PO_020',
|
|
311
|
+
rule_id: 'PO_020',
|
|
312
|
+
severity: 'WARNING',
|
|
232
313
|
message: 'Missing @Page or @SalesforcePage annotation.',
|
|
233
314
|
applies_to: 'annotation',
|
|
234
315
|
suggestion: 'Add @Page annotation before the class declaration.',
|
|
@@ -238,7 +319,8 @@ function checkAnnotations(stripped, issues) {
|
|
|
238
319
|
const m = /@Page\s*\(([^)]*)\)/.exec(stripped);
|
|
239
320
|
if (m && !m[1].includes('title')) {
|
|
240
321
|
issues.push({
|
|
241
|
-
rule_id: 'PO_021',
|
|
322
|
+
rule_id: 'PO_021',
|
|
323
|
+
severity: 'WARNING',
|
|
242
324
|
message: '@Page annotation missing title attribute.',
|
|
243
325
|
applies_to: 'annotation',
|
|
244
326
|
suggestion: 'Add title attribute to @Page annotation.',
|
|
@@ -250,7 +332,8 @@ function checkAnnotations(stripped, issues) {
|
|
|
250
332
|
if (m) {
|
|
251
333
|
if (!m[1].includes('title') || !m[1].includes('connection')) {
|
|
252
334
|
issues.push({
|
|
253
|
-
rule_id: 'PO_022',
|
|
335
|
+
rule_id: 'PO_022',
|
|
336
|
+
severity: 'ERROR',
|
|
254
337
|
message: '@SalesforcePage missing required title or connection attribute.',
|
|
255
338
|
applies_to: 'annotation',
|
|
256
339
|
suggestion: 'Add required attributes to @SalesforcePage annotation.',
|
|
@@ -259,7 +342,8 @@ function checkAnnotations(stripped, issues) {
|
|
|
259
342
|
const pageTypes = ['page', 'auraComponent', 'object', 'lightningWebComponent'];
|
|
260
343
|
if (!pageTypes.some((t) => m[1].includes(t))) {
|
|
261
344
|
issues.push({
|
|
262
|
-
rule_id: 'PO_023',
|
|
345
|
+
rule_id: 'PO_023',
|
|
346
|
+
severity: 'WARNING',
|
|
263
347
|
message: '@SalesforcePage should specify page type attribute.',
|
|
264
348
|
applies_to: 'annotation',
|
|
265
349
|
suggestion: 'Add one of: page, auraComponent, object, or lightningWebComponent.',
|
|
@@ -274,7 +358,8 @@ function validateFields(fields, hasSalesforceAnnotation, issues) {
|
|
|
274
358
|
for (const field of fields) {
|
|
275
359
|
if (fieldNames.has(field.name)) {
|
|
276
360
|
issues.push({
|
|
277
|
-
rule_id: 'PO_031',
|
|
361
|
+
rule_id: 'PO_031',
|
|
362
|
+
severity: 'ERROR',
|
|
278
363
|
message: `Duplicate field name: "${field.name}".`,
|
|
279
364
|
applies_to: 'field',
|
|
280
365
|
suggestion: 'Rename one of the duplicate fields.',
|
|
@@ -285,7 +370,8 @@ function validateFields(fields, hasSalesforceAnnotation, issues) {
|
|
|
285
370
|
}
|
|
286
371
|
if (!VALID_JAVA_IDENT_RE.test(field.name)) {
|
|
287
372
|
issues.push({
|
|
288
|
-
rule_id: 'PO_032',
|
|
373
|
+
rule_id: 'PO_032',
|
|
374
|
+
severity: 'ERROR',
|
|
289
375
|
message: `Invalid field name: "${field.name}".`,
|
|
290
376
|
applies_to: 'field',
|
|
291
377
|
suggestion: 'Field names must be valid Java identifiers.',
|
|
@@ -293,7 +379,8 @@ function validateFields(fields, hasSalesforceAnnotation, issues) {
|
|
|
293
379
|
}
|
|
294
380
|
if (JAVA_RESERVED.has(field.name)) {
|
|
295
381
|
issues.push({
|
|
296
|
-
rule_id: 'PO_033',
|
|
382
|
+
rule_id: 'PO_033',
|
|
383
|
+
severity: 'ERROR',
|
|
297
384
|
message: `Field name "${field.name}" is a Java reserved word.`,
|
|
298
385
|
applies_to: 'field',
|
|
299
386
|
suggestion: 'Rename field to avoid Java reserved words.',
|
|
@@ -301,7 +388,8 @@ function validateFields(fields, hasSalesforceAnnotation, issues) {
|
|
|
301
388
|
}
|
|
302
389
|
if (field.locatorStrategy && !VALID_LOCATOR_STRATEGIES.has(field.locatorStrategy)) {
|
|
303
390
|
issues.push({
|
|
304
|
-
rule_id: 'PO_034',
|
|
391
|
+
rule_id: 'PO_034',
|
|
392
|
+
severity: 'ERROR',
|
|
305
393
|
message: `Invalid locator strategy: "${field.locatorStrategy}".`,
|
|
306
394
|
applies_to: 'field',
|
|
307
395
|
suggestion: 'Use one of: xpath, id, css, name, className, tagName, linkText, partialLinkText, visualforce, label.',
|
|
@@ -309,7 +397,8 @@ function validateFields(fields, hasSalesforceAnnotation, issues) {
|
|
|
309
397
|
}
|
|
310
398
|
if (field.elementType && !VALID_ELEMENT_TYPES.has(field.elementType)) {
|
|
311
399
|
issues.push({
|
|
312
|
-
rule_id: 'PO_036',
|
|
400
|
+
rule_id: 'PO_036',
|
|
401
|
+
severity: 'WARNING',
|
|
313
402
|
message: `Invalid element type: "@${field.elementType}". (CheckboxType is not valid — use BooleanType.)`,
|
|
314
403
|
applies_to: 'field',
|
|
315
404
|
suggestion: 'Use a valid Provar element type: TextType, ButtonType, LinkType, ChoiceListType, RadioType, FileType, DateType, RichTextType, BooleanType.',
|
|
@@ -325,7 +414,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
325
414
|
return;
|
|
326
415
|
if ((strat === 'xpath' || strat === '') && /^\/html|^\/body/i.test(lv)) {
|
|
327
416
|
issues.push({
|
|
328
|
-
rule_id: 'PO_071',
|
|
417
|
+
rule_id: 'PO_071',
|
|
418
|
+
severity: 'ERROR',
|
|
329
419
|
message: `Absolute XPath for field "${field.name}".`,
|
|
330
420
|
applies_to: 'field',
|
|
331
421
|
suggestion: 'Use relative XPath starting with // or .//',
|
|
@@ -333,7 +423,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
333
423
|
}
|
|
334
424
|
if (SF_DYNAMIC_ATTRS_RE.test(lv)) {
|
|
335
425
|
issues.push({
|
|
336
|
-
rule_id: 'PO_073',
|
|
426
|
+
rule_id: 'PO_073',
|
|
427
|
+
severity: 'ERROR',
|
|
337
428
|
message: `Salesforce dynamic attribute in locator for "${field.name}".`,
|
|
338
429
|
applies_to: 'field',
|
|
339
430
|
suggestion: 'Use stable identifiers like labels, data-testid, or semantic selectors.',
|
|
@@ -341,7 +432,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
341
432
|
}
|
|
342
433
|
if (strat === 'id' && hasSalesforceAnnotation) {
|
|
343
434
|
issues.push({
|
|
344
|
-
rule_id: 'PO_070',
|
|
435
|
+
rule_id: 'PO_070',
|
|
436
|
+
severity: 'WARNING',
|
|
345
437
|
message: `ID-based locator on Salesforce page for "${field.name}". IDs may be dynamic.`,
|
|
346
438
|
applies_to: 'field',
|
|
347
439
|
suggestion: 'Prefer xpath/css with stable attributes like data-testid, aria-label, name.',
|
|
@@ -349,7 +441,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
349
441
|
}
|
|
350
442
|
if (INDEXED_XPATH_RE.test(lv)) {
|
|
351
443
|
issues.push({
|
|
352
|
-
rule_id: 'PO_072',
|
|
444
|
+
rule_id: 'PO_072',
|
|
445
|
+
severity: 'WARNING',
|
|
353
446
|
message: `Indexed XPath [n] for field "${field.name}".`,
|
|
354
447
|
applies_to: 'field',
|
|
355
448
|
suggestion: 'Prefer attribute-based selection over positional indexes.',
|
|
@@ -359,7 +452,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
359
452
|
const segments = (lv.match(/\/{2}/g) ?? []).length;
|
|
360
453
|
if (segments > 4) {
|
|
361
454
|
issues.push({
|
|
362
|
-
rule_id: 'PO_076',
|
|
455
|
+
rule_id: 'PO_076',
|
|
456
|
+
severity: 'WARNING',
|
|
363
457
|
message: `Complex XPath (${segments} descent operators) for "${field.name}".`,
|
|
364
458
|
applies_to: 'field',
|
|
365
459
|
suggestion: 'Simplify with a more direct path or data-testid attributes.',
|
|
@@ -368,7 +462,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
368
462
|
}
|
|
369
463
|
if (POSITION_FN_RE.test(lv)) {
|
|
370
464
|
issues.push({
|
|
371
|
-
rule_id: 'PO_079',
|
|
465
|
+
rule_id: 'PO_079',
|
|
466
|
+
severity: 'WARNING',
|
|
372
467
|
message: `Position function (last/first/position) in XPath for "${field.name}".`,
|
|
373
468
|
applies_to: 'field',
|
|
374
469
|
suggestion: 'Use unique identifiers instead of position-based selection.',
|
|
@@ -376,7 +471,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
376
471
|
}
|
|
377
472
|
if (strat === 'css' && /[a-z0-9]+-[a-z0-9]+-[a-z0-9]+/.test(lv)) {
|
|
378
473
|
issues.push({
|
|
379
|
-
rule_id: 'PO_075',
|
|
474
|
+
rule_id: 'PO_075',
|
|
475
|
+
severity: 'INFO',
|
|
380
476
|
message: `Possibly autogenerated CSS class pattern for "${field.name}".`,
|
|
381
477
|
applies_to: 'field',
|
|
382
478
|
suggestion: 'Prefer stable attributes over autogenerated CSS classes.',
|
|
@@ -384,7 +480,8 @@ function checkLocatorQuality(field, hasSalesforceAnnotation, issues) {
|
|
|
384
480
|
}
|
|
385
481
|
if (lv.length > 200) {
|
|
386
482
|
issues.push({
|
|
387
|
-
rule_id: 'PO_078',
|
|
483
|
+
rule_id: 'PO_078',
|
|
484
|
+
severity: 'INFO',
|
|
388
485
|
message: `Very long locator (${lv.length} chars) for "${field.name}".`,
|
|
389
486
|
applies_to: 'field',
|
|
390
487
|
suggestion: 'Consider a shorter, more maintainable locator.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageObjectValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/pageObjectValidate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pageObjectValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/pageObjectValidate.ts"],"names":[],"mappings":"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"}
|