@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.
Files changed (147) hide show
  1. package/README.md +163 -12
  2. package/bin/mcp-start.js +74 -0
  3. package/lib/commands/provar/auth/clear.d.ts +7 -0
  4. package/lib/commands/provar/auth/clear.js +36 -0
  5. package/lib/commands/provar/auth/clear.js.map +1 -0
  6. package/lib/commands/provar/auth/login.d.ts +10 -0
  7. package/lib/commands/provar/auth/login.js +90 -0
  8. package/lib/commands/provar/auth/login.js.map +1 -0
  9. package/lib/commands/provar/auth/rotate.d.ts +7 -0
  10. package/lib/commands/provar/auth/rotate.js +42 -0
  11. package/lib/commands/provar/auth/rotate.js.map +1 -0
  12. package/lib/commands/provar/auth/status.d.ts +7 -0
  13. package/lib/commands/provar/auth/status.js +107 -0
  14. package/lib/commands/provar/auth/status.js.map +1 -0
  15. package/lib/commands/provar/mcp/start.d.ts +2 -0
  16. package/lib/commands/provar/mcp/start.js +14 -1
  17. package/lib/commands/provar/mcp/start.js.map +1 -1
  18. package/lib/mcp/docs/NITROX_CATALOG_SOURCE.json +6 -0
  19. package/lib/mcp/docs/NITROX_COMPONENT_CATALOG.md +2001 -0
  20. package/lib/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +1430 -0
  21. package/lib/mcp/docs/PROVAR_TOOL_GUIDE.md +187 -0
  22. package/lib/mcp/licensing/algasClient.js +14 -5
  23. package/lib/mcp/licensing/algasClient.js.map +1 -1
  24. package/lib/mcp/licensing/ideDetection.d.ts +0 -12
  25. package/lib/mcp/licensing/ideDetection.js +1 -73
  26. package/lib/mcp/licensing/ideDetection.js.map +1 -1
  27. package/lib/mcp/licensing/licenseCache.js +7 -1
  28. package/lib/mcp/licensing/licenseCache.js.map +1 -1
  29. package/lib/mcp/licensing/licenseValidator.d.ts +3 -3
  30. package/lib/mcp/licensing/licenseValidator.js +11 -4
  31. package/lib/mcp/licensing/licenseValidator.js.map +1 -1
  32. package/lib/mcp/prompts/guidePrompts.d.ts +4 -0
  33. package/lib/mcp/prompts/guidePrompts.js +334 -0
  34. package/lib/mcp/prompts/guidePrompts.js.map +1 -0
  35. package/lib/mcp/prompts/index.d.ts +2 -0
  36. package/lib/mcp/prompts/index.js +23 -0
  37. package/lib/mcp/prompts/index.js.map +1 -0
  38. package/lib/mcp/prompts/loopPrompts.d.ts +6 -0
  39. package/lib/mcp/prompts/loopPrompts.js +435 -0
  40. package/lib/mcp/prompts/loopPrompts.js.map +1 -0
  41. package/lib/mcp/prompts/migrationPrompts.d.ts +4 -0
  42. package/lib/mcp/prompts/migrationPrompts.js +207 -0
  43. package/lib/mcp/prompts/migrationPrompts.js.map +1 -0
  44. package/lib/mcp/rules/provar_best_practices_rules.json +256 -544
  45. package/lib/mcp/security/pathPolicy.d.ts +5 -0
  46. package/lib/mcp/security/pathPolicy.js +58 -3
  47. package/lib/mcp/security/pathPolicy.js.map +1 -1
  48. package/lib/mcp/server.d.ts +18 -0
  49. package/lib/mcp/server.js +232 -19
  50. package/lib/mcp/server.js.map +1 -1
  51. package/lib/mcp/tools/antTools.d.ts +15 -0
  52. package/lib/mcp/tools/antTools.js +369 -170
  53. package/lib/mcp/tools/antTools.js.map +1 -1
  54. package/lib/mcp/tools/automationTools.d.ts +18 -8
  55. package/lib/mcp/tools/automationTools.js +333 -176
  56. package/lib/mcp/tools/automationTools.js.map +1 -1
  57. package/lib/mcp/tools/bestPracticesEngine.js +161 -23
  58. package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
  59. package/lib/mcp/tools/connectionTools.d.ts +4 -0
  60. package/lib/mcp/tools/connectionTools.js +242 -0
  61. package/lib/mcp/tools/connectionTools.js.map +1 -0
  62. package/lib/mcp/tools/defectTools.d.ts +1 -1
  63. package/lib/mcp/tools/defectTools.js +61 -50
  64. package/lib/mcp/tools/defectTools.js.map +1 -1
  65. package/lib/mcp/tools/descHelper.d.ts +5 -0
  66. package/lib/mcp/tools/descHelper.js +14 -0
  67. package/lib/mcp/tools/descHelper.js.map +1 -0
  68. package/lib/mcp/tools/hierarchyValidate.d.ts +1 -1
  69. package/lib/mcp/tools/hierarchyValidate.js +127 -42
  70. package/lib/mcp/tools/hierarchyValidate.js.map +1 -1
  71. package/lib/mcp/tools/nitroXTools.d.ts +23 -0
  72. package/lib/mcp/tools/nitroXTools.js +863 -0
  73. package/lib/mcp/tools/nitroXTools.js.map +1 -0
  74. package/lib/mcp/tools/pageObjectGenerate.js +150 -57
  75. package/lib/mcp/tools/pageObjectGenerate.js.map +1 -1
  76. package/lib/mcp/tools/pageObjectValidate.js +143 -46
  77. package/lib/mcp/tools/pageObjectValidate.js.map +1 -1
  78. package/lib/mcp/tools/projectInspect.js +79 -32
  79. package/lib/mcp/tools/projectInspect.js.map +1 -1
  80. package/lib/mcp/tools/projectValidateFromPath.js +185 -58
  81. package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
  82. package/lib/mcp/tools/propertiesTools.d.ts +2 -0
  83. package/lib/mcp/tools/propertiesTools.js +358 -78
  84. package/lib/mcp/tools/propertiesTools.js.map +1 -1
  85. package/lib/mcp/tools/qualityHubApiTools.d.ts +3 -0
  86. package/lib/mcp/tools/qualityHubApiTools.js +139 -0
  87. package/lib/mcp/tools/qualityHubApiTools.js.map +1 -0
  88. package/lib/mcp/tools/qualityHubTools.js +292 -72
  89. package/lib/mcp/tools/qualityHubTools.js.map +1 -1
  90. package/lib/mcp/tools/rcaTools.d.ts +3 -2
  91. package/lib/mcp/tools/rcaTools.js +194 -56
  92. package/lib/mcp/tools/rcaTools.js.map +1 -1
  93. package/lib/mcp/tools/sfSpawn.d.ts +25 -3
  94. package/lib/mcp/tools/sfSpawn.js +154 -6
  95. package/lib/mcp/tools/sfSpawn.js.map +1 -1
  96. package/lib/mcp/tools/testCaseGenerate.js +285 -78
  97. package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
  98. package/lib/mcp/tools/testCaseStepTools.d.ts +4 -0
  99. package/lib/mcp/tools/testCaseStepTools.js +244 -0
  100. package/lib/mcp/tools/testCaseStepTools.js.map +1 -0
  101. package/lib/mcp/tools/testCaseValidate.d.ts +11 -0
  102. package/lib/mcp/tools/testCaseValidate.js +381 -46
  103. package/lib/mcp/tools/testCaseValidate.js.map +1 -1
  104. package/lib/mcp/tools/testPlanTools.d.ts +1 -0
  105. package/lib/mcp/tools/testPlanTools.js +316 -59
  106. package/lib/mcp/tools/testPlanTools.js.map +1 -1
  107. package/lib/mcp/tools/testPlanValidate.js +114 -23
  108. package/lib/mcp/tools/testPlanValidate.js.map +1 -1
  109. package/lib/mcp/tools/testSuiteValidate.js +130 -15
  110. package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
  111. package/lib/mcp/update/updateChecker.d.ts +14 -0
  112. package/lib/mcp/update/updateChecker.js +228 -0
  113. package/lib/mcp/update/updateChecker.js.map +1 -0
  114. package/lib/mcp/utils/detailLevel.d.ts +9 -0
  115. package/lib/mcp/utils/detailLevel.js +20 -0
  116. package/lib/mcp/utils/detailLevel.js.map +1 -0
  117. package/lib/mcp/utils/fieldMask.d.ts +17 -0
  118. package/lib/mcp/utils/fieldMask.js +75 -0
  119. package/lib/mcp/utils/fieldMask.js.map +1 -0
  120. package/lib/mcp/utils/tokenMeta.d.ts +40 -0
  121. package/lib/mcp/utils/tokenMeta.js +90 -0
  122. package/lib/mcp/utils/tokenMeta.js.map +1 -0
  123. package/lib/mcp/utils/validationDiff.d.ts +57 -0
  124. package/lib/mcp/utils/validationDiff.js +191 -0
  125. package/lib/mcp/utils/validationDiff.js.map +1 -0
  126. package/lib/mcp/utils/validationScore.d.ts +15 -0
  127. package/lib/mcp/utils/validationScore.js +31 -0
  128. package/lib/mcp/utils/validationScore.js.map +1 -0
  129. package/lib/services/auth/credentials.d.ts +21 -0
  130. package/lib/services/auth/credentials.js +75 -0
  131. package/lib/services/auth/credentials.js.map +1 -0
  132. package/lib/services/auth/loginFlow.d.ts +68 -0
  133. package/lib/services/auth/loginFlow.js +216 -0
  134. package/lib/services/auth/loginFlow.js.map +1 -0
  135. package/lib/services/projectValidation.d.ts +5 -2
  136. package/lib/services/projectValidation.js +83 -31
  137. package/lib/services/projectValidation.js.map +1 -1
  138. package/lib/services/qualityHub/client.d.ts +161 -0
  139. package/lib/services/qualityHub/client.js +226 -0
  140. package/lib/services/qualityHub/client.js.map +1 -0
  141. package/messages/sf.provar.auth.clear.md +16 -0
  142. package/messages/sf.provar.auth.login.md +31 -0
  143. package/messages/sf.provar.auth.rotate.md +23 -0
  144. package/messages/sf.provar.auth.status.md +16 -0
  145. package/messages/sf.provar.mcp.start.md +83 -48
  146. package/oclif.manifest.json +325 -28
  147. package/package.json +35 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nitroXTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/nitroXTools.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,29 @@ import { z } from 'zod';
11
11
  import { assertPathAllowed, PathPolicyError } from '../security/pathPolicy.js';
12
12
  import { makeError, makeRequestId } from '../schemas/common.js';
13
13
  import { log } from '../logging/logger.js';
14
+ import { desc } from './descHelper.js';
14
15
  const VALID_LOCATOR_STRATEGIES = [
15
- 'xpath', 'id', 'css', 'name', 'className', 'tagName',
16
- 'linkText', 'partialLinkText', 'visualforce', 'label',
16
+ 'xpath',
17
+ 'id',
18
+ 'css',
19
+ 'name',
20
+ 'className',
21
+ 'tagName',
22
+ 'linkText',
23
+ 'partialLinkText',
24
+ 'visualforce',
25
+ 'label',
17
26
  ];
18
27
  const VALID_ELEMENT_TYPES = [
19
- 'TextType', 'ButtonType', 'LinkType', 'ChoiceListType',
20
- 'RadioType', 'FileType', 'DateType', 'RichTextType', 'BooleanType',
28
+ 'TextType',
29
+ 'ButtonType',
30
+ 'LinkType',
31
+ 'ChoiceListType',
32
+ 'RadioType',
33
+ 'FileType',
34
+ 'DateType',
35
+ 'RichTextType',
36
+ 'BooleanType',
21
37
  ];
22
38
  const FieldSchema = z.object({
23
39
  name: z.string().describe('camelCase WebElement field name'),
@@ -28,69 +44,121 @@ const FieldSchema = z.object({
28
44
  .describe('Locator value (empty string is valid — AI healing populates at runtime)'),
29
45
  element_type: z.enum(VALID_ELEMENT_TYPES).default('TextType'),
30
46
  });
47
+ function preflightAndWrite(filePath, javaSource, ssoFilePath, ssoSource, overwrite, requestId) {
48
+ if (fs.existsSync(filePath) && !overwrite) {
49
+ return {
50
+ isError: true,
51
+ content: [
52
+ {
53
+ type: 'text',
54
+ text: JSON.stringify(makeError('FILE_EXISTS', `File already exists: ${filePath}. Set overwrite=true to replace.`, requestId)),
55
+ },
56
+ ],
57
+ };
58
+ }
59
+ if (ssoSource && ssoFilePath && fs.existsSync(ssoFilePath) && !overwrite) {
60
+ return {
61
+ isError: true,
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: JSON.stringify(makeError('FILE_EXISTS', `SSO stub file already exists: ${ssoFilePath}. Set overwrite=true to replace.`, requestId)),
66
+ },
67
+ ],
68
+ };
69
+ }
70
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
71
+ fs.writeFileSync(filePath, javaSource, 'utf-8');
72
+ log('info', 'provar_pageobject_generate: wrote file', { requestId, filePath });
73
+ if (ssoSource && ssoFilePath) {
74
+ fs.writeFileSync(ssoFilePath, ssoSource, 'utf-8');
75
+ log('info', 'provar_pageobject_generate: wrote SSO stub', { requestId, ssoFilePath });
76
+ }
77
+ return null;
78
+ }
31
79
  export function registerPageObjectGenerate(server, config) {
32
- server.tool('provar.pageobject.generate', 'Generate a Provar Java Page Object skeleton with @Page/@SalesforcePage annotation, standard imports, and @FindBy WebElement fields. Returns Java source. Writes to disk only when dry_run=false.', {
33
- class_name: z.string().describe('PascalCase class name, e.g. AccountDetailPage'),
34
- package_name: z
35
- .string()
36
- .default('pageobjects')
37
- .describe('Java package, e.g. pageobjects or pageobjects.accounts'),
38
- page_type: z
39
- .enum(['standard', 'salesforce'])
40
- .default('standard')
41
- .describe('@Page (standard) or @SalesforcePage (salesforce)'),
42
- title: z
43
- .string()
44
- .optional()
45
- .describe('Page title attribute; defaults to class_name if omitted'),
46
- connection_name: z
47
- .string()
48
- .optional()
49
- .describe('Salesforce connection name (required when page_type=salesforce)'),
50
- salesforce_page_attribute: z
51
- .enum(['page', 'auraComponent', 'object', 'lightningWebComponent'])
52
- .optional()
53
- .describe('Page type attribute for @SalesforcePage'),
54
- fields: z.array(FieldSchema).default([]).describe('WebElement fields to generate'),
55
- output_path: z
56
- .string()
57
- .optional()
58
- .describe('Suggested file path for the .java file (returned in response)'),
59
- overwrite: z
60
- .boolean()
61
- .default(false)
62
- .describe('Overwrite existing file when dry_run=false'),
63
- dry_run: z
64
- .boolean()
65
- .default(true)
66
- .describe('true = return source only (default); false = write to output_path'),
67
- idempotency_key: z
68
- .string()
69
- .optional()
70
- .describe('Caller-provided key echoed back for deduplication tracking'),
80
+ server.registerTool('provar_pageobject_generate', {
81
+ title: 'Generate Page Object',
82
+ description: desc([
83
+ 'Generate a Provar Java Page Object skeleton with @Page/@SalesforcePage annotation, standard imports, and @FindBy WebElement fields.',
84
+ 'Returns Java source. Writes to disk only when dry_run=false.',
85
+ 'SSO support: set sso_class to also generate an ILoginPage implementation stub for non-SF SSO pages.',
86
+ 'Example: sso_class="LoginPageSso" generates a LoginPageSso.java that implements ILoginPage with loginAs() and logout() stubs.',
87
+ 'The ILoginPage stub is written to the same directory as output_path when dry_run=false.',
88
+ ].join(' '), 'Generate a Provar Java Page Object skeleton with @Page/@FindBy fields.'),
89
+ inputSchema: {
90
+ class_name: z
91
+ .string()
92
+ .describe(desc('PascalCase class name, e.g. AccountDetailPage', 'string, PascalCase class name')),
93
+ package_name: z
94
+ .string()
95
+ .default('pageobjects')
96
+ .describe(desc('Java package, e.g. pageobjects or pageobjects.accounts', 'string, optional; Java package name')),
97
+ page_type: z
98
+ .enum(['standard', 'salesforce'])
99
+ .default('standard')
100
+ .describe(desc('@Page (standard) or @SalesforcePage (salesforce)', 'enum standard|salesforce')),
101
+ title: z
102
+ .string()
103
+ .optional()
104
+ .describe(desc('Page title attribute; defaults to class_name if omitted', 'string, optional; page title attribute')),
105
+ connection_name: z
106
+ .string()
107
+ .optional()
108
+ .describe(desc('Salesforce connection name (required when page_type=salesforce)', 'string, optional; SF connection name')),
109
+ salesforce_page_attribute: z
110
+ .enum(['page', 'auraComponent', 'object', 'lightningWebComponent'])
111
+ .optional()
112
+ .describe(desc('Page type attribute for @SalesforcePage', 'enum page|auraComponent|object|lightningWebComponent')),
113
+ fields: z
114
+ .array(FieldSchema)
115
+ .default([])
116
+ .describe(desc('WebElement fields to generate', 'array, optional; WebElement fields')),
117
+ sso_class: z
118
+ .string()
119
+ .optional()
120
+ .describe(desc('PascalCase class name for an ILoginPage implementation stub (non-SF SSO pages). ' +
121
+ 'When provided, an additional Java class implementing ILoginPage is generated alongside the page object. ' +
122
+ 'Example: "LoginPageSso" → LoginPageSso.java with loginAs() and logout() method stubs.', 'string, optional; PascalCase class name for ILoginPage SSO stub')),
123
+ output_path: z
124
+ .string()
125
+ .optional()
126
+ .describe(desc('Suggested file path for the .java file (returned in response)', 'string, optional; output .java file path')),
127
+ overwrite: z
128
+ .boolean()
129
+ .default(false)
130
+ .describe(desc('Overwrite existing file when dry_run=false', 'bool, optional; overwrite if exists')),
131
+ dry_run: z
132
+ .boolean()
133
+ .default(true)
134
+ .describe(desc('true = return source only (default); false = write to output_path', 'bool, optional; default true, skip write')),
135
+ idempotency_key: z
136
+ .string()
137
+ .optional()
138
+ .describe(desc('Caller-provided key echoed back for deduplication tracking', 'string, optional; deduplication key echoed in response')),
139
+ },
71
140
  }, (input) => {
72
141
  const requestId = makeRequestId();
73
- log('info', 'provar.pageobject.generate', {
142
+ log('info', 'provar_pageobject_generate', {
74
143
  requestId,
75
144
  class_name: input.class_name,
76
145
  dry_run: input.dry_run,
146
+ sso_class: input.sso_class,
77
147
  });
78
148
  try {
79
149
  const javaSource = buildPageObjectSource(input);
80
- const filePath = input.output_path
81
- ? path.resolve(input.output_path)
82
- : undefined;
150
+ const filePath = input.output_path ? path.resolve(input.output_path) : undefined;
83
151
  let written = false;
152
+ const ssoSource = input.sso_class ? buildSsoLoginPageSource(input.sso_class, input.package_name) : undefined;
153
+ const ssoFilePath = ssoSource && filePath ? path.join(path.dirname(filePath), `${input.sso_class}.java`) : undefined;
84
154
  if (filePath && !input.dry_run) {
85
155
  assertPathAllowed(filePath, config.allowedPaths);
86
- if (fs.existsSync(filePath) && !input.overwrite) {
87
- const err = makeError('FILE_EXISTS', `File already exists: ${filePath}. Set overwrite=true to replace.`, requestId);
88
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(err) }] };
89
- }
90
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
91
- fs.writeFileSync(filePath, javaSource, 'utf-8');
156
+ if (ssoFilePath)
157
+ assertPathAllowed(ssoFilePath, config.allowedPaths);
158
+ const preflightErr = preflightAndWrite(filePath, javaSource, ssoFilePath, ssoSource, input.overwrite, requestId);
159
+ if (preflightErr)
160
+ return preflightErr;
92
161
  written = true;
93
- log('info', 'provar.pageobject.generate: wrote file', { requestId, filePath });
94
162
  }
95
163
  const result = {
96
164
  requestId,
@@ -100,6 +168,11 @@ export function registerPageObjectGenerate(server, config) {
100
168
  dry_run: input.dry_run,
101
169
  idempotency_key: input.idempotency_key,
102
170
  };
171
+ if (ssoSource) {
172
+ result['sso_stub_source'] = ssoSource;
173
+ result['sso_stub_file_path'] = ssoFilePath;
174
+ result['sso_stub_written'] = written && !!ssoFilePath;
175
+ }
103
176
  return {
104
177
  content: [{ type: 'text', text: JSON.stringify(result) }],
105
178
  structuredContent: result,
@@ -107,13 +180,13 @@ export function registerPageObjectGenerate(server, config) {
107
180
  }
108
181
  catch (err) {
109
182
  const error = err;
110
- const errResult = makeError(error instanceof PathPolicyError ? error.code : (error.code ?? 'GENERATE_ERROR'), error.message, requestId, false);
111
- log('error', 'provar.pageobject.generate failed', { requestId, error: error.message });
183
+ const errResult = makeError(error instanceof PathPolicyError ? error.code : error.code ?? 'GENERATE_ERROR', error.message, requestId, false);
184
+ log('error', 'provar_pageobject_generate failed', { requestId, error: error.message });
112
185
  return { isError: true, content: [{ type: 'text', text: JSON.stringify(errResult) }] };
113
186
  }
114
187
  });
115
188
  }
116
- // ── Source builder ────────────────────────────────────────────────────────────
189
+ // ── Source builders ───────────────────────────────────────────────────────────
117
190
  function buildPageObjectSource(input) {
118
191
  const { class_name, package_name, page_type, title, connection_name, salesforce_page_attribute, fields } = input;
119
192
  const pageTitle = title ?? class_name;
@@ -147,6 +220,26 @@ public class ${class_name} {
147
220
 
148
221
  ${fieldBlocks}
149
222
 
223
+ }
224
+ `;
225
+ }
226
+ function buildSsoLoginPageSource(ssoClass, packageName) {
227
+ return `package ${packageName};
228
+
229
+ import com.provar.core.testapi.annotations.sso.ILoginPage;
230
+
231
+ public class ${ssoClass} implements ILoginPage {
232
+
233
+ @Override
234
+ public void loginAs(String username, String password) {
235
+ // TODO: implement SSO login
236
+ }
237
+
238
+ @Override
239
+ public void logout() {
240
+ // TODO: implement SSO logout
241
+ }
242
+
150
243
  }
151
244
  `;
152
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pageObjectGenerate.js","sourceRoot":"","sources":["../../../src/mcp/tools/pageObjectGenerate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pageObjectGenerate.js","sourceRoot":"","sources":["../../../src/mcp/tools/pageObjectGenerate.ts"],"names":[],"mappings":"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"}