@provartesting/provardx-cli 1.5.0-beta.1 → 1.5.0-beta.10
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 +137 -13
- 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/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +1430 -0
- package/lib/mcp/licensing/licenseValidator.d.ts +3 -3
- package/lib/mcp/licensing/licenseValidator.js +4 -4
- package/lib/mcp/prompts/index.d.ts +2 -0
- package/lib/mcp/prompts/index.js +19 -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/server.js +45 -1
- package/lib/mcp/server.js.map +1 -1
- package/lib/mcp/tools/antTools.d.ts +15 -0
- package/lib/mcp/tools/antTools.js +204 -50
- package/lib/mcp/tools/antTools.js.map +1 -1
- package/lib/mcp/tools/automationTools.d.ts +36 -3
- package/lib/mcp/tools/automationTools.js +335 -42
- 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 +168 -0
- package/lib/mcp/tools/connectionTools.js.map +1 -0
- package/lib/mcp/tools/nitroXTools.d.ts +22 -0
- package/lib/mcp/tools/nitroXTools.js +750 -0
- package/lib/mcp/tools/nitroXTools.js.map +1 -0
- package/lib/mcp/tools/pageObjectGenerate.js +103 -35
- package/lib/mcp/tools/pageObjectGenerate.js.map +1 -1
- package/lib/mcp/tools/propertiesTools.d.ts +2 -0
- package/lib/mcp/tools/propertiesTools.js +277 -39
- package/lib/mcp/tools/propertiesTools.js.map +1 -1
- package/lib/mcp/tools/qualityHubApiTools.d.ts +3 -0
- package/lib/mcp/tools/qualityHubApiTools.js +134 -0
- package/lib/mcp/tools/qualityHubApiTools.js.map +1 -0
- package/lib/mcp/tools/qualityHubTools.js +127 -19
- package/lib/mcp/tools/qualityHubTools.js.map +1 -1
- package/lib/mcp/tools/rcaTools.d.ts +3 -2
- package/lib/mcp/tools/rcaTools.js +145 -20
- package/lib/mcp/tools/rcaTools.js.map +1 -1
- package/lib/mcp/tools/testCaseGenerate.js +88 -59
- package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
- package/lib/mcp/tools/testCaseStepTools.d.ts +4 -0
- package/lib/mcp/tools/testCaseStepTools.js +221 -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 +146 -19
- package/lib/mcp/tools/testCaseValidate.js.map +1 -1
- 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/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/oclif.manifest.json +214 -1
- package/package.json +8 -4
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/* eslint-disable camelcase */
|
|
8
8
|
import fs from 'node:fs';
|
|
9
|
+
import os from 'node:os';
|
|
9
10
|
import path from 'node:path';
|
|
10
11
|
import { z } from 'zod';
|
|
11
12
|
import { propertyFileContent } from '@provartesting/provardx-plugins-utils';
|
|
@@ -38,10 +39,18 @@ function validateProperties(props) {
|
|
|
38
39
|
if (meta && typeof meta === 'object') {
|
|
39
40
|
for (const f of METADATA_REQUIRED) {
|
|
40
41
|
if (!meta[f])
|
|
41
|
-
errors.push({
|
|
42
|
+
errors.push({
|
|
43
|
+
field: `metadata.${f}`,
|
|
44
|
+
message: `Required field "metadata.${f}" is missing`,
|
|
45
|
+
severity: 'error',
|
|
46
|
+
});
|
|
42
47
|
}
|
|
43
48
|
if (meta['metadataLevel'] && !VALID_METADATA_LEVELS.includes(meta['metadataLevel'])) {
|
|
44
|
-
errors.push({
|
|
49
|
+
errors.push({
|
|
50
|
+
field: 'metadata.metadataLevel',
|
|
51
|
+
message: `metadata.metadataLevel must be one of: ${VALID_METADATA_LEVELS.join(', ')}`,
|
|
52
|
+
severity: 'error',
|
|
53
|
+
});
|
|
45
54
|
}
|
|
46
55
|
}
|
|
47
56
|
// environment object
|
|
@@ -49,27 +58,58 @@ function validateProperties(props) {
|
|
|
49
58
|
if (env && typeof env === 'object') {
|
|
50
59
|
for (const f of ENV_REQUIRED) {
|
|
51
60
|
if (!env[f])
|
|
52
|
-
errors.push({
|
|
61
|
+
errors.push({
|
|
62
|
+
field: `environment.${f}`,
|
|
63
|
+
message: `Required field "environment.${f}" is missing`,
|
|
64
|
+
severity: 'error',
|
|
65
|
+
});
|
|
53
66
|
}
|
|
54
67
|
if (env['webBrowser'] && !VALID_BROWSERS.includes(env['webBrowser'])) {
|
|
55
|
-
errors.push({
|
|
68
|
+
errors.push({
|
|
69
|
+
field: 'environment.webBrowser',
|
|
70
|
+
message: `webBrowser must be one of: ${VALID_BROWSERS.join(', ')}`,
|
|
71
|
+
severity: 'error',
|
|
72
|
+
});
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
75
|
// Optional enum fields
|
|
59
|
-
if (props['resultsPathDisposition'] &&
|
|
60
|
-
|
|
76
|
+
if (props['resultsPathDisposition'] &&
|
|
77
|
+
!VALID_RESULTS_DISPOSITION.includes(props['resultsPathDisposition'])) {
|
|
78
|
+
errors.push({
|
|
79
|
+
field: 'resultsPathDisposition',
|
|
80
|
+
message: `Must be one of: ${VALID_RESULTS_DISPOSITION.join(', ')}`,
|
|
81
|
+
severity: 'error',
|
|
82
|
+
});
|
|
61
83
|
}
|
|
62
84
|
if (props['testOutputLevel'] && !VALID_OUTPUT_LEVELS.includes(props['testOutputLevel'])) {
|
|
63
|
-
errors.push({
|
|
85
|
+
errors.push({
|
|
86
|
+
field: 'testOutputLevel',
|
|
87
|
+
message: `Must be one of: ${VALID_OUTPUT_LEVELS.join(', ')}`,
|
|
88
|
+
severity: 'error',
|
|
89
|
+
});
|
|
64
90
|
}
|
|
65
91
|
if (props['pluginOutputlevel'] && !VALID_PLUGIN_LEVELS.includes(props['pluginOutputlevel'])) {
|
|
66
|
-
errors.push({
|
|
92
|
+
errors.push({
|
|
93
|
+
field: 'pluginOutputlevel',
|
|
94
|
+
message: `Must be one of: ${VALID_PLUGIN_LEVELS.join(', ')}`,
|
|
95
|
+
severity: 'error',
|
|
96
|
+
});
|
|
67
97
|
}
|
|
68
98
|
// Warn about placeholder values still in file
|
|
69
|
-
const placeholders = [
|
|
99
|
+
const placeholders = [
|
|
100
|
+
'${PROVAR_HOME}',
|
|
101
|
+
'${PROVAR_PROJECT_PATH}',
|
|
102
|
+
'${PROVAR_RESULTS_PATH}',
|
|
103
|
+
'${PROVAR_TEST_ENVIRONMENT}',
|
|
104
|
+
'${PROVAR_TEST_PROJECT_SECRETS}',
|
|
105
|
+
];
|
|
70
106
|
for (const [key, value] of Object.entries(props)) {
|
|
71
107
|
if (typeof value === 'string' && placeholders.includes(value)) {
|
|
72
|
-
errors.push({
|
|
108
|
+
errors.push({
|
|
109
|
+
field: key,
|
|
110
|
+
message: `Field "${key}" still contains placeholder value "${value}" — replace with actual path or use an environment variable`,
|
|
111
|
+
severity: 'warning',
|
|
112
|
+
});
|
|
73
113
|
}
|
|
74
114
|
}
|
|
75
115
|
return errors;
|
|
@@ -78,8 +118,12 @@ function validateProperties(props) {
|
|
|
78
118
|
function deepMerge(target, source) {
|
|
79
119
|
const result = { ...target };
|
|
80
120
|
for (const [key, val] of Object.entries(source)) {
|
|
81
|
-
if (val !== null &&
|
|
82
|
-
|
|
121
|
+
if (val !== null &&
|
|
122
|
+
typeof val === 'object' &&
|
|
123
|
+
!Array.isArray(val) &&
|
|
124
|
+
result[key] !== null &&
|
|
125
|
+
typeof result[key] === 'object' &&
|
|
126
|
+
!Array.isArray(result[key])) {
|
|
83
127
|
result[key] = deepMerge(result[key], val);
|
|
84
128
|
}
|
|
85
129
|
else {
|
|
@@ -100,7 +144,11 @@ export function registerPropertiesGenerate(server, config) {
|
|
|
100
144
|
project_path: z.string().optional().describe('Pre-fill the projectPath field with this value'),
|
|
101
145
|
provar_home: z.string().optional().describe('Pre-fill the provarHome field with this value'),
|
|
102
146
|
results_path: z.string().optional().describe('Pre-fill the resultsPath field with this value'),
|
|
103
|
-
overwrite: z
|
|
147
|
+
overwrite: z
|
|
148
|
+
.boolean()
|
|
149
|
+
.optional()
|
|
150
|
+
.default(false)
|
|
151
|
+
.describe('Overwrite the file if it already exists (default: false)'),
|
|
104
152
|
dry_run: z.boolean().optional().default(false).describe('Return the content without writing (default: false)'),
|
|
105
153
|
}, ({ output_path, project_path, provar_home, results_path, overwrite, dry_run }) => {
|
|
106
154
|
const requestId = makeRequestId();
|
|
@@ -109,10 +157,26 @@ export function registerPropertiesGenerate(server, config) {
|
|
|
109
157
|
assertPathAllowed(output_path, config.allowedPaths);
|
|
110
158
|
const resolved = path.resolve(output_path);
|
|
111
159
|
if (!overwrite && fs.existsSync(resolved)) {
|
|
112
|
-
return {
|
|
160
|
+
return {
|
|
161
|
+
isError: true,
|
|
162
|
+
content: [
|
|
163
|
+
{
|
|
164
|
+
type: 'text',
|
|
165
|
+
text: JSON.stringify(makeError('FILE_EXISTS', `File already exists: ${resolved}. Set overwrite: true to replace it.`, requestId)),
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
};
|
|
113
169
|
}
|
|
114
170
|
if (!resolved.endsWith('.json')) {
|
|
115
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
isError: true,
|
|
173
|
+
content: [
|
|
174
|
+
{
|
|
175
|
+
type: 'text',
|
|
176
|
+
text: JSON.stringify(makeError('INVALID_PATH', 'output_path must end with .json', requestId)),
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
};
|
|
116
180
|
}
|
|
117
181
|
// Start from the template and apply any provided overrides
|
|
118
182
|
const content = { ...propertyFileContent };
|
|
@@ -130,7 +194,14 @@ export function registerPropertiesGenerate(server, config) {
|
|
|
130
194
|
const nextSteps = dry_run
|
|
131
195
|
? 'Review the content, write to disk, then run provar.automation.config.load to register this file before compiling or running tests.'
|
|
132
196
|
: `Run provar.automation.config.load with properties_path "${resolved}" to register this configuration. Required before provar.automation.compile or provar.automation.testrun will work.`;
|
|
133
|
-
const response = {
|
|
197
|
+
const response = {
|
|
198
|
+
requestId,
|
|
199
|
+
file_path: resolved,
|
|
200
|
+
written: !dry_run,
|
|
201
|
+
dry_run: dry_run ?? false,
|
|
202
|
+
content,
|
|
203
|
+
next_steps: nextSteps,
|
|
204
|
+
};
|
|
134
205
|
return {
|
|
135
206
|
content: [{ type: 'text', text: JSON.stringify(response) }],
|
|
136
207
|
structuredContent: response,
|
|
@@ -138,10 +209,57 @@ export function registerPropertiesGenerate(server, config) {
|
|
|
138
209
|
}
|
|
139
210
|
catch (err) {
|
|
140
211
|
const error = err;
|
|
141
|
-
return {
|
|
212
|
+
return {
|
|
213
|
+
isError: true,
|
|
214
|
+
content: [
|
|
215
|
+
{
|
|
216
|
+
type: 'text',
|
|
217
|
+
text: JSON.stringify(makeError(error instanceof PathPolicyError ? error.code : error.code ?? 'GENERATE_ERROR', error.message, requestId)),
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
};
|
|
142
221
|
}
|
|
143
222
|
});
|
|
144
223
|
}
|
|
224
|
+
// ── Runtime divergence detection ──────────────────────────────────────────────
|
|
225
|
+
// Overrideable in tests so we don't touch the real ~/.sf directory
|
|
226
|
+
let sfConfigDirOverride = null;
|
|
227
|
+
/** Exposed for testing only — override the directory that contains config.json. Pass null to reset. */
|
|
228
|
+
export function setSfConfigDirForTesting(dir) {
|
|
229
|
+
sfConfigDirOverride = dir;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Returns the properties file path registered via `sf provar automation config load`,
|
|
233
|
+
* or null if the sf config cannot be read.
|
|
234
|
+
*/
|
|
235
|
+
function readActivePropertiesPath() {
|
|
236
|
+
try {
|
|
237
|
+
const sfDir = sfConfigDirOverride ?? path.join(os.homedir(), '.sf');
|
|
238
|
+
const sfConfigPath = path.join(sfDir, 'config.json');
|
|
239
|
+
if (!fs.existsSync(sfConfigPath))
|
|
240
|
+
return null;
|
|
241
|
+
const sfConfig = JSON.parse(fs.readFileSync(sfConfigPath, 'utf-8'));
|
|
242
|
+
return sfConfig['PROVARDX_PROPERTIES_FILE_PATH'] ?? null;
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Compare two properties objects on the keys most likely to cause silent bugs.
|
|
250
|
+
* Returns a human-readable description of any divergent keys, or null if all match.
|
|
251
|
+
*/
|
|
252
|
+
function buildDivergenceWarning(diskPath, diskContent, activePath, activeContent) {
|
|
253
|
+
const KEY_FIELDS = ['provarHome', 'projectPath', 'resultsPath'];
|
|
254
|
+
const divergent = KEY_FIELDS.filter((k) => JSON.stringify(diskContent[k]) !== JSON.stringify(activeContent[k]));
|
|
255
|
+
if (divergent.length === 0)
|
|
256
|
+
return null;
|
|
257
|
+
const details = divergent
|
|
258
|
+
.map((k) => `${k}: disk="${String(diskContent[k])}" vs active="${String(activeContent[k])}"`)
|
|
259
|
+
.join(', ');
|
|
260
|
+
return (`The file you read (${diskPath}) differs from the active sf config (${activePath}) on: ${details}. ` +
|
|
261
|
+
'Test runs use the active config values — run provar.automation.config.load with the correct file to sync.');
|
|
262
|
+
}
|
|
145
263
|
// ── provar.properties.read ────────────────────────────────────────────────────
|
|
146
264
|
export function registerPropertiesRead(server, config) {
|
|
147
265
|
server.tool('provar.properties.read', '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.', {
|
|
@@ -153,7 +271,15 @@ export function registerPropertiesRead(server, config) {
|
|
|
153
271
|
assertPathAllowed(file_path, config.allowedPaths);
|
|
154
272
|
const resolved = path.resolve(file_path);
|
|
155
273
|
if (!fs.existsSync(resolved)) {
|
|
156
|
-
return {
|
|
274
|
+
return {
|
|
275
|
+
isError: true,
|
|
276
|
+
content: [
|
|
277
|
+
{
|
|
278
|
+
type: 'text',
|
|
279
|
+
text: JSON.stringify(makeError('PROPERTIES_FILE_NOT_FOUND', `Properties file not found: ${resolved}. Use provar.properties.generate to create it.`, requestId)),
|
|
280
|
+
},
|
|
281
|
+
],
|
|
282
|
+
};
|
|
157
283
|
}
|
|
158
284
|
const raw = fs.readFileSync(resolved, 'utf-8');
|
|
159
285
|
let parsed;
|
|
@@ -161,9 +287,34 @@ export function registerPropertiesRead(server, config) {
|
|
|
161
287
|
parsed = JSON.parse(raw);
|
|
162
288
|
}
|
|
163
289
|
catch {
|
|
164
|
-
return {
|
|
290
|
+
return {
|
|
291
|
+
isError: true,
|
|
292
|
+
content: [
|
|
293
|
+
{
|
|
294
|
+
type: 'text',
|
|
295
|
+
text: JSON.stringify(makeError('MALFORMED_JSON', 'File is not valid JSON', requestId)),
|
|
296
|
+
},
|
|
297
|
+
],
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
// Check whether the file being read matches what's registered as active in the sf config.
|
|
301
|
+
// If they differ on critical fields, surface a warning so the agent doesn't silently use stale values.
|
|
302
|
+
let divergenceWarning;
|
|
303
|
+
const activePath = readActivePropertiesPath();
|
|
304
|
+
if (activePath && path.resolve(activePath) !== resolved) {
|
|
305
|
+
try {
|
|
306
|
+
// Guard: only read the active file if it is within the session's allowed paths.
|
|
307
|
+
assertPathAllowed(activePath, config.allowedPaths);
|
|
308
|
+
const activeContent = JSON.parse(fs.readFileSync(activePath, 'utf-8'));
|
|
309
|
+
divergenceWarning = buildDivergenceWarning(resolved, parsed, activePath, activeContent) ?? undefined;
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
// Ignore — active path may be outside allowed paths or unreadable
|
|
313
|
+
}
|
|
165
314
|
}
|
|
166
315
|
const response = { requestId, file_path: resolved, content: parsed };
|
|
316
|
+
if (divergenceWarning)
|
|
317
|
+
response['details'] = { warning: divergenceWarning };
|
|
167
318
|
return {
|
|
168
319
|
content: [{ type: 'text', text: JSON.stringify(response) }],
|
|
169
320
|
structuredContent: response,
|
|
@@ -171,39 +322,71 @@ export function registerPropertiesRead(server, config) {
|
|
|
171
322
|
}
|
|
172
323
|
catch (err) {
|
|
173
324
|
const error = err;
|
|
174
|
-
return {
|
|
325
|
+
return {
|
|
326
|
+
isError: true,
|
|
327
|
+
content: [
|
|
328
|
+
{
|
|
329
|
+
type: 'text',
|
|
330
|
+
text: JSON.stringify(makeError(error instanceof PathPolicyError ? error.code : error.code ?? 'READ_ERROR', error.message, requestId)),
|
|
331
|
+
},
|
|
332
|
+
],
|
|
333
|
+
};
|
|
175
334
|
}
|
|
176
335
|
});
|
|
177
336
|
}
|
|
178
337
|
// ── provar.properties.set ─────────────────────────────────────────────────────
|
|
179
|
-
const updatesSchema = z
|
|
338
|
+
const updatesSchema = z
|
|
339
|
+
.object({
|
|
180
340
|
provarHome: z.string().optional().describe('Path to Provar installation directory'),
|
|
181
341
|
projectPath: z.string().optional().describe('Path to the Provar test project root'),
|
|
182
342
|
resultsPath: z.string().optional().describe('Path where test results will be written'),
|
|
183
|
-
resultsPathDisposition: z
|
|
343
|
+
resultsPathDisposition: z
|
|
344
|
+
.enum(['Increment', 'Replace', 'Fail'])
|
|
345
|
+
.optional()
|
|
346
|
+
.describe('What to do if results path already exists'),
|
|
184
347
|
testOutputLevel: z.enum(['BASIC', 'DETAILED', 'DIAGNOSTIC']).optional().describe('Amount of test output logged'),
|
|
185
|
-
pluginOutputlevel: z
|
|
348
|
+
pluginOutputlevel: z
|
|
349
|
+
.enum(['SEVERE', 'WARNING', 'INFO', 'FINE', 'FINER', 'FINEST'])
|
|
350
|
+
.optional()
|
|
351
|
+
.describe('Amount of plugin output logged'),
|
|
186
352
|
stopOnError: z.boolean().optional().describe('Abort test run on first failure'),
|
|
187
353
|
excludeCallable: z.boolean().optional().describe('Omit callable test cases from execution'),
|
|
188
|
-
testprojectSecrets: z
|
|
189
|
-
|
|
354
|
+
testprojectSecrets: z
|
|
355
|
+
.string()
|
|
356
|
+
.optional()
|
|
357
|
+
.describe('Encryption key (password string) used to decrypt the .secrets file in the Provar project root. ' +
|
|
358
|
+
'This is the key itself — NOT a file path. Omit this field unless your project uses secrets encryption.'),
|
|
359
|
+
environment: z
|
|
360
|
+
.object({
|
|
190
361
|
testEnvironment: z.string().optional().describe('Name of the test environment to run against'),
|
|
191
362
|
webBrowser: z.enum(['Chrome', 'Safari', 'Edge', 'Edge_Legacy', 'Firefox', 'IE', 'Chrome_Headless']).optional(),
|
|
192
363
|
webBrowserConfig: z.string().optional(),
|
|
193
364
|
webBrowserProviderName: z.string().optional(),
|
|
194
365
|
webBrowserDeviceName: z.string().optional(),
|
|
195
|
-
})
|
|
196
|
-
|
|
366
|
+
})
|
|
367
|
+
.optional()
|
|
368
|
+
.describe('Test execution environment settings'),
|
|
369
|
+
metadata: z
|
|
370
|
+
.object({
|
|
197
371
|
metadataLevel: z.enum(['Reuse', 'Reload', 'Refresh']).optional().describe('Salesforce metadata cache strategy'),
|
|
198
372
|
cachePath: z.string().optional().describe('Path for the metadata cache'),
|
|
199
|
-
})
|
|
200
|
-
|
|
373
|
+
})
|
|
374
|
+
.optional()
|
|
375
|
+
.describe('Salesforce metadata settings'),
|
|
376
|
+
testCase: z
|
|
377
|
+
.array(z.string())
|
|
378
|
+
.optional()
|
|
379
|
+
.describe('Specific test case file paths to run (relative to projectPath/tests/). NOTE: <dataTable> data-driven iteration does NOT work in this mode — data table variables resolve as null. To run data-driven tests, add the test case to a plan with provar.testplan.add-instance and run via testPlan instead.'),
|
|
201
380
|
testPlan: z.array(z.string()).optional().describe('Test plan names to run (wildcards permitted)'),
|
|
202
|
-
connectionOverride: z
|
|
381
|
+
connectionOverride: z
|
|
382
|
+
.array(z.object({
|
|
203
383
|
connection: z.string().describe('Provar connection name'),
|
|
204
384
|
username: z.string().describe('SFDX username or alias to substitute'),
|
|
205
|
-
}))
|
|
206
|
-
|
|
385
|
+
}))
|
|
386
|
+
.optional()
|
|
387
|
+
.describe('Override Provar connections with SFDX usernames'),
|
|
388
|
+
})
|
|
389
|
+
.describe('Fields to update in the properties file — only provided fields are changed');
|
|
207
390
|
export function registerPropertiesSet(server, config) {
|
|
208
391
|
server.tool('provar.properties.set', [
|
|
209
392
|
'Update one or more fields in a provardx-properties.json file.',
|
|
@@ -221,14 +404,30 @@ export function registerPropertiesSet(server, config) {
|
|
|
221
404
|
assertPathAllowed(file_path, config.allowedPaths);
|
|
222
405
|
const resolved = path.resolve(file_path);
|
|
223
406
|
if (!fs.existsSync(resolved)) {
|
|
224
|
-
return {
|
|
407
|
+
return {
|
|
408
|
+
isError: true,
|
|
409
|
+
content: [
|
|
410
|
+
{
|
|
411
|
+
type: 'text',
|
|
412
|
+
text: JSON.stringify(makeError('PROPERTIES_FILE_NOT_FOUND', `File not found: ${resolved}. Use provar.properties.generate to create it first.`, requestId)),
|
|
413
|
+
},
|
|
414
|
+
],
|
|
415
|
+
};
|
|
225
416
|
}
|
|
226
417
|
let current;
|
|
227
418
|
try {
|
|
228
419
|
current = JSON.parse(fs.readFileSync(resolved, 'utf-8'));
|
|
229
420
|
}
|
|
230
421
|
catch {
|
|
231
|
-
return {
|
|
422
|
+
return {
|
|
423
|
+
isError: true,
|
|
424
|
+
content: [
|
|
425
|
+
{
|
|
426
|
+
type: 'text',
|
|
427
|
+
text: JSON.stringify(makeError('MALFORMED_JSON', 'Existing file is not valid JSON', requestId)),
|
|
428
|
+
},
|
|
429
|
+
],
|
|
430
|
+
};
|
|
232
431
|
}
|
|
233
432
|
const updatesRecord = updates;
|
|
234
433
|
const merged = deepMerge(current, updatesRecord);
|
|
@@ -242,7 +441,15 @@ export function registerPropertiesSet(server, config) {
|
|
|
242
441
|
}
|
|
243
442
|
catch (err) {
|
|
244
443
|
const error = err;
|
|
245
|
-
return {
|
|
444
|
+
return {
|
|
445
|
+
isError: true,
|
|
446
|
+
content: [
|
|
447
|
+
{
|
|
448
|
+
type: 'text',
|
|
449
|
+
text: JSON.stringify(makeError(error instanceof PathPolicyError ? error.code : error.code ?? 'SET_ERROR', error.message, requestId)),
|
|
450
|
+
},
|
|
451
|
+
],
|
|
452
|
+
};
|
|
246
453
|
}
|
|
247
454
|
});
|
|
248
455
|
}
|
|
@@ -259,7 +466,15 @@ export function registerPropertiesValidate(server, config) {
|
|
|
259
466
|
const requestId = makeRequestId();
|
|
260
467
|
log('info', 'provar.properties.validate', { requestId, file_path });
|
|
261
468
|
if (!file_path && !content) {
|
|
262
|
-
return {
|
|
469
|
+
return {
|
|
470
|
+
isError: true,
|
|
471
|
+
content: [
|
|
472
|
+
{
|
|
473
|
+
type: 'text',
|
|
474
|
+
text: JSON.stringify(makeError('MISSING_INPUT', 'Provide either file_path or content', requestId)),
|
|
475
|
+
},
|
|
476
|
+
],
|
|
477
|
+
};
|
|
263
478
|
}
|
|
264
479
|
try {
|
|
265
480
|
let rawJson;
|
|
@@ -267,7 +482,15 @@ export function registerPropertiesValidate(server, config) {
|
|
|
267
482
|
assertPathAllowed(file_path, config.allowedPaths);
|
|
268
483
|
const resolved = path.resolve(file_path);
|
|
269
484
|
if (!fs.existsSync(resolved)) {
|
|
270
|
-
return {
|
|
485
|
+
return {
|
|
486
|
+
isError: true,
|
|
487
|
+
content: [
|
|
488
|
+
{
|
|
489
|
+
type: 'text',
|
|
490
|
+
text: JSON.stringify(makeError('PROPERTIES_FILE_NOT_FOUND', `File not found: ${resolved}`, requestId)),
|
|
491
|
+
},
|
|
492
|
+
],
|
|
493
|
+
};
|
|
271
494
|
}
|
|
272
495
|
rawJson = fs.readFileSync(resolved, 'utf-8');
|
|
273
496
|
}
|
|
@@ -279,7 +502,14 @@ export function registerPropertiesValidate(server, config) {
|
|
|
279
502
|
parsed = JSON.parse(rawJson);
|
|
280
503
|
}
|
|
281
504
|
catch {
|
|
282
|
-
const response = {
|
|
505
|
+
const response = {
|
|
506
|
+
requestId,
|
|
507
|
+
is_valid: false,
|
|
508
|
+
error_count: 1,
|
|
509
|
+
warning_count: 0,
|
|
510
|
+
errors: [{ field: '(root)', message: 'File is not valid JSON', severity: 'error' }],
|
|
511
|
+
warnings: [],
|
|
512
|
+
};
|
|
283
513
|
return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
|
|
284
514
|
}
|
|
285
515
|
const allIssues = validateProperties(parsed);
|
|
@@ -300,7 +530,15 @@ export function registerPropertiesValidate(server, config) {
|
|
|
300
530
|
}
|
|
301
531
|
catch (err) {
|
|
302
532
|
const error = err;
|
|
303
|
-
return {
|
|
533
|
+
return {
|
|
534
|
+
isError: true,
|
|
535
|
+
content: [
|
|
536
|
+
{
|
|
537
|
+
type: 'text',
|
|
538
|
+
text: JSON.stringify(makeError(error instanceof PathPolicyError ? error.code : error.code ?? 'VALIDATE_ERROR', error.message, requestId)),
|
|
539
|
+
},
|
|
540
|
+
],
|
|
541
|
+
};
|
|
304
542
|
}
|
|
305
543
|
});
|
|
306
544
|
}
|
|
@@ -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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"}
|