@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
@@ -8,104 +8,261 @@
8
8
  import { z } from 'zod';
9
9
  import { makeError, makeRequestId } from '../schemas/common.js';
10
10
  import { log } from '../logging/logger.js';
11
+ import { applyDetailLevel } from '../utils/detailLevel.js';
12
+ import { maskFields, parseFieldsParam } from '../utils/fieldMask.js';
11
13
  import { runSfCommand } from './sfSpawn.js';
14
+ import { desc } from './descHelper.js';
12
15
  function handleSpawnError(err, requestId, toolName) {
13
16
  const error = err;
14
17
  log('error', `${toolName} failed`, { requestId, error: error.message });
15
18
  return {
16
19
  isError: true,
17
- content: [{ type: 'text', text: JSON.stringify(makeError(error.code ?? 'SF_ERROR', error.message, requestId, false)) }],
20
+ content: [
21
+ {
22
+ type: 'text',
23
+ text: JSON.stringify(makeError(error.code ?? 'SF_ERROR', error.message, requestId, false)),
24
+ },
25
+ ],
18
26
  };
19
27
  }
20
- // ── Tool: provar.qualityhub.connect ───────────────────────────────────────────
28
+ const QH_SUMMARY_FIELDS = ['requestId', 'exitCode'];
29
+ // ── Tool: provar_qualityhub_connect ───────────────────────────────────────────
21
30
  export function registerQualityHubConnect(server) {
22
- server.tool('provar.qualityhub.connect', 'Connect to a Provar Quality Hub org. Invokes `sf provar quality-hub connect` with the supplied flags.', {
23
- target_org: z.string().describe('SF org alias or username to connect as'),
24
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags to forward (e.g. ["--json"])'),
25
- }, ({ target_org, flags }) => {
31
+ server.registerTool('provar_qualityhub_connect', {
32
+ title: 'Connect to Quality Hub',
33
+ description: desc('Connect to a Provar Quality Hub org. Invokes `sf provar quality-hub connect` with the supplied flags.', 'Connect to a Provar Quality Hub org via sf CLI.'),
34
+ inputSchema: {
35
+ target_org: z
36
+ .string()
37
+ .describe(desc('SF org alias or username to connect as', 'string, SF org alias or username')),
38
+ flags: z
39
+ .array(z.string())
40
+ .optional()
41
+ .default([])
42
+ .describe(desc('Additional raw CLI flags to forward (e.g. ["--json"])', 'array of strings, optional; extra CLI flags')),
43
+ sf_path: z
44
+ .string()
45
+ .optional()
46
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
47
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
48
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
49
+ },
50
+ }, ({ target_org, flags, sf_path }) => {
26
51
  const requestId = makeRequestId();
27
- log('info', 'provar.qualityhub.connect', { requestId, target_org });
52
+ log('info', 'provar_qualityhub_connect', { requestId, target_org });
28
53
  try {
29
- const result = runSfCommand(['provar', 'quality-hub', 'connect', '--target-org', target_org, ...flags]);
54
+ const result = runSfCommand(['provar', 'quality-hub', 'connect', '--target-org', target_org, ...flags], sf_path);
30
55
  const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
31
56
  if (result.exitCode !== 0) {
32
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_CONNECT_FAILED', result.stderr || result.stdout, requestId)) }] };
57
+ return {
58
+ isError: true,
59
+ content: [
60
+ {
61
+ type: 'text',
62
+ text: JSON.stringify(makeError('QH_CONNECT_FAILED', result.stderr || result.stdout, requestId)),
63
+ },
64
+ ],
65
+ };
33
66
  }
34
67
  return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
35
68
  }
36
69
  catch (err) {
37
- return handleSpawnError(err, requestId, 'provar.qualityhub.connect');
70
+ return handleSpawnError(err, requestId, 'provar_qualityhub_connect');
38
71
  }
39
72
  });
40
73
  }
41
- // ── Tool: provar.qualityhub.display ──────────────────────────────────────────
74
+ // ── Tool: provar_qualityhub_display ──────────────────────────────────────────
42
75
  export function registerQualityHubDisplay(server) {
43
- server.tool('provar.qualityhub.display', 'Display connected Quality Hub org info. Invokes `sf provar quality-hub display`.', {
44
- target_org: z.string().optional().describe('SF org alias or username (uses default if omitted)'),
45
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags to forward'),
46
- }, ({ target_org, flags }) => {
76
+ server.registerTool('provar_qualityhub_display', {
77
+ title: 'Display Quality Hub Info',
78
+ description: desc('Display connected Quality Hub org info. Invokes `sf provar quality-hub display`.', 'Display connected Quality Hub org info via sf CLI.'),
79
+ inputSchema: {
80
+ target_org: z
81
+ .string()
82
+ .optional()
83
+ .describe(desc('SF org alias or username (uses default if omitted)', 'string, optional; SF org alias or username')),
84
+ flags: z
85
+ .array(z.string())
86
+ .optional()
87
+ .default([])
88
+ .describe(desc('Additional raw CLI flags to forward', 'array of strings, optional; extra CLI flags')),
89
+ sf_path: z
90
+ .string()
91
+ .optional()
92
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
93
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
94
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
95
+ detail: z
96
+ .enum(['summary', 'standard', 'full'])
97
+ .optional()
98
+ .default('standard')
99
+ .describe('Response verbosity: "summary" returns only requestId and exitCode; ' +
100
+ '"standard" (default) returns requestId, exitCode, stdout, and stderr.'),
101
+ fields: z
102
+ .string()
103
+ .optional()
104
+ .describe('Comma-separated list of response keys to retain (e.g. "exitCode,stdout"). ' +
105
+ 'Unknown field names are silently ignored. Applied after the detail filter.'),
106
+ },
107
+ }, ({ target_org, flags, sf_path, detail, fields }) => {
47
108
  const requestId = makeRequestId();
48
- log('info', 'provar.qualityhub.display', { requestId, target_org });
109
+ log('info', 'provar_qualityhub_display', { requestId, target_org });
49
110
  try {
50
111
  const args = ['provar', 'quality-hub', 'display', ...flags];
51
112
  if (target_org)
52
113
  args.splice(3, 0, '--target-org', target_org);
53
- const result = runSfCommand(args);
54
- const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
114
+ const result = runSfCommand(args, sf_path);
115
+ let response = {
116
+ requestId,
117
+ exitCode: result.exitCode,
118
+ stdout: result.stdout,
119
+ stderr: result.stderr,
120
+ };
55
121
  if (result.exitCode !== 0) {
56
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_DISPLAY_FAILED', result.stderr || result.stdout, requestId)) }] };
122
+ return {
123
+ isError: true,
124
+ content: [
125
+ {
126
+ type: 'text',
127
+ text: JSON.stringify(makeError('QH_DISPLAY_FAILED', result.stderr || result.stdout, requestId)),
128
+ },
129
+ ],
130
+ };
131
+ }
132
+ const detailLevel = (detail ?? 'standard');
133
+ if (detailLevel !== 'standard') {
134
+ response = applyDetailLevel(response, detailLevel, QH_SUMMARY_FIELDS);
135
+ }
136
+ const fieldList = parseFieldsParam(fields);
137
+ if (fieldList) {
138
+ response = maskFields(response, fieldList);
57
139
  }
58
140
  return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
59
141
  }
60
142
  catch (err) {
61
- return handleSpawnError(err, requestId, 'provar.qualityhub.display');
143
+ return handleSpawnError(err, requestId, 'provar_qualityhub_display');
62
144
  }
63
145
  });
64
146
  }
65
- // ── Tool: provar.qualityhub.testrun ──────────────────────────────────────────
147
+ // ── Tool: provar_qualityhub_testrun ──────────────────────────────────────────
148
+ function detectWildcardFlags(flags) {
149
+ for (let i = 0; i < flags.length - 1; i++) {
150
+ if (flags[i] === '--plan-name') {
151
+ const value = flags[i + 1];
152
+ if (value.includes('*') || value.includes('?')) {
153
+ return (`Wildcard testPlan scope detected ("${value}"). ` +
154
+ 'QH plan-level reporting will be skipped. ' +
155
+ 'Use exact plan names for QH plan reporting.');
156
+ }
157
+ }
158
+ }
159
+ return undefined;
160
+ }
66
161
  export function registerQualityHubTestRun(server) {
67
- server.tool('provar.qualityhub.testrun', 'Trigger a Quality Hub test run. Invokes `sf provar quality-hub test run`.', {
68
- target_org: z.string().describe('SF org alias or username'),
69
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags (e.g. ["--plan-name", "SmokeTests"])'),
70
- }, ({ target_org, flags }) => {
162
+ server.registerTool('provar_qualityhub_testrun', {
163
+ title: 'Trigger Quality Hub Test Run',
164
+ description: desc('Trigger a Quality Hub test run. Invokes `sf provar quality-hub test run`. ' +
165
+ 'Warning: wildcard characters (* or ?) in flag values will cause QH plan-level reporting to be skipped — use exact plan names.', 'Trigger a Quality Hub test run via sf CLI; use exact plan names.'),
166
+ inputSchema: {
167
+ target_org: z.string().describe(desc('SF org alias or username', 'string, SF org alias or username')),
168
+ flags: z
169
+ .array(z.string())
170
+ .optional()
171
+ .default([])
172
+ .describe(desc('Additional raw CLI flags (e.g. ["--plan-name", "SmokeTests"]). Avoid wildcards in --plan-name values — they skip QH plan-level reporting.', 'array of strings, optional; extra CLI flags; avoid wildcards in --plan-name')),
173
+ sf_path: z
174
+ .string()
175
+ .optional()
176
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
177
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
178
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
179
+ },
180
+ }, ({ target_org, flags, sf_path }) => {
71
181
  const requestId = makeRequestId();
72
- log('info', 'provar.qualityhub.testrun', { requestId, target_org });
182
+ log('info', 'provar_qualityhub_testrun', { requestId, target_org });
73
183
  try {
74
- const result = runSfCommand(['provar', 'quality-hub', 'test', 'run', '--target-org', target_org, ...flags]);
75
- const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
184
+ const wildcardWarning = detectWildcardFlags(flags);
185
+ const result = runSfCommand(['provar', 'quality-hub', 'test', 'run', '--target-org', target_org, ...flags], sf_path);
186
+ const response = {
187
+ requestId,
188
+ exitCode: result.exitCode,
189
+ stdout: result.stdout,
190
+ stderr: result.stderr,
191
+ };
192
+ if (wildcardWarning) {
193
+ response['details'] = { warning: wildcardWarning };
194
+ }
76
195
  if (result.exitCode !== 0) {
77
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_TESTRUN_FAILED', result.stderr || result.stdout, requestId)) }] };
196
+ return {
197
+ isError: true,
198
+ content: [
199
+ {
200
+ type: 'text',
201
+ text: JSON.stringify(makeError('QH_TESTRUN_FAILED', result.stderr || result.stdout, requestId)),
202
+ },
203
+ ],
204
+ };
78
205
  }
79
206
  return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
80
207
  }
81
208
  catch (err) {
82
- return handleSpawnError(err, requestId, 'provar.qualityhub.testrun');
209
+ return handleSpawnError(err, requestId, 'provar_qualityhub_testrun');
83
210
  }
84
211
  });
85
212
  }
86
- // ── Tool: provar.qualityhub.testrun.report ────────────────────────────────────
213
+ // ── Tool: provar_qualityhub_testrun_report ────────────────────────────────────
87
214
  export function registerQualityHubTestRunReport(server) {
88
- server.tool('provar.qualityhub.testrun.report', 'Poll the status of a Quality Hub test run. Invokes `sf provar quality-hub test run report`.', {
89
- target_org: z.string().describe('SF org alias or username'),
90
- run_id: z.string().describe('Test run ID returned by provar.qualityhub.testrun'),
91
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags'),
92
- }, ({ target_org, run_id, flags }) => {
215
+ server.registerTool('provar_qualityhub_testrun_report', {
216
+ title: 'Poll Quality Hub Test Run',
217
+ description: desc('Poll the status of a Quality Hub test run. Invokes `sf provar quality-hub test run report`.', 'Poll a Quality Hub test run status via sf CLI.'),
218
+ inputSchema: {
219
+ target_org: z.string().describe(desc('SF org alias or username', 'string, SF org alias or username')),
220
+ run_id: z
221
+ .string()
222
+ .describe(desc('Test run ID returned by provar_qualityhub_testrun', 'string, run ID from qualityhub_testrun')),
223
+ flags: z
224
+ .array(z.string())
225
+ .optional()
226
+ .default([])
227
+ .describe(desc('Additional raw CLI flags', 'array of strings, optional; extra CLI flags')),
228
+ sf_path: z
229
+ .string()
230
+ .optional()
231
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
232
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
233
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
234
+ },
235
+ }, ({ target_org, run_id, flags, sf_path }) => {
93
236
  const requestId = makeRequestId();
94
- log('info', 'provar.qualityhub.testrun.report', { requestId, target_org, run_id });
237
+ log('info', 'provar_qualityhub_testrun_report', { requestId, target_org, run_id });
95
238
  try {
96
- const result = runSfCommand([
97
- 'provar', 'quality-hub', 'test', 'run', 'report',
98
- '--target-org', target_org,
99
- '--run-id', run_id,
100
- ...flags,
101
- ]);
239
+ const result = runSfCommand(['provar', 'quality-hub', 'test', 'run', 'report', '--target-org', target_org, '--run-id', run_id, ...flags], sf_path);
102
240
  const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
103
241
  if (result.exitCode !== 0) {
104
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_REPORT_FAILED', result.stderr || result.stdout, requestId)) }] };
242
+ return {
243
+ isError: true,
244
+ content: [
245
+ {
246
+ type: 'text',
247
+ text: JSON.stringify(makeError('QH_REPORT_FAILED', result.stderr || result.stdout, requestId)),
248
+ },
249
+ ],
250
+ };
251
+ }
252
+ const failureStatuses = new Set(['FAIL', 'FAILED']);
253
+ let hasFailures = false;
254
+ try {
255
+ const parsed = JSON.parse(result.stdout);
256
+ const normalizedStatus = parsed.result?.status?.trim().toUpperCase();
257
+ hasFailures = normalizedStatus !== undefined && failureStatuses.has(normalizedStatus);
258
+ }
259
+ catch {
260
+ const statusMatch = result.stdout.match(/"status"\s*:\s*"([^"]+)"/i);
261
+ const normalizedStatus = statusMatch?.[1]?.trim().toUpperCase();
262
+ hasFailures = normalizedStatus !== undefined && failureStatuses.has(normalizedStatus);
105
263
  }
106
- const hasFailures = /fail/i.test(result.stdout);
107
264
  const suggestion = hasFailures
108
- ? 'Failures detected. Use provar.qualityhub.defect.create with run_id and target_org to automatically create Defect__c records for each failure (syncs to Jira/ADO if configured).'
265
+ ? 'Failures detected. Use provar_qualityhub_defect_create with run_id and target_org to automatically create Defect__c records for each failure (syncs to Jira/ADO if configured).'
109
266
  : '';
110
267
  const responseWithSuggestion = { ...response, suggestion: suggestion || undefined };
111
268
  return {
@@ -114,55 +271,118 @@ export function registerQualityHubTestRunReport(server) {
114
271
  };
115
272
  }
116
273
  catch (err) {
117
- return handleSpawnError(err, requestId, 'provar.qualityhub.testrun.report');
274
+ return handleSpawnError(err, requestId, 'provar_qualityhub_testrun_report');
118
275
  }
119
276
  });
120
277
  }
121
- // ── Tool: provar.qualityhub.testrun.abort ─────────────────────────────────────
278
+ // ── Tool: provar_qualityhub_testrun_abort ─────────────────────────────────────
122
279
  export function registerQualityHubTestRunAbort(server) {
123
- server.tool('provar.qualityhub.testrun.abort', 'Abort an in-progress Quality Hub test run. Invokes `sf provar quality-hub test run abort`.', {
124
- target_org: z.string().describe('SF org alias or username'),
125
- run_id: z.string().describe('Test run ID to abort'),
126
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags'),
127
- }, ({ target_org, run_id, flags }) => {
280
+ server.registerTool('provar_qualityhub_testrun_abort', {
281
+ title: 'Abort Quality Hub Test Run',
282
+ description: desc('Abort an in-progress Quality Hub test run. Invokes `sf provar quality-hub test run abort`.', 'Abort an in-progress Quality Hub test run via sf CLI.'),
283
+ inputSchema: {
284
+ target_org: z.string().describe(desc('SF org alias or username', 'string, SF org alias or username')),
285
+ run_id: z.string().describe(desc('Test run ID to abort', 'string, run ID to abort')),
286
+ flags: z
287
+ .array(z.string())
288
+ .optional()
289
+ .default([])
290
+ .describe(desc('Additional raw CLI flags', 'array of strings, optional; extra CLI flags')),
291
+ sf_path: z
292
+ .string()
293
+ .optional()
294
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
295
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
296
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
297
+ },
298
+ }, ({ target_org, run_id, flags, sf_path }) => {
128
299
  const requestId = makeRequestId();
129
- log('info', 'provar.qualityhub.testrun.abort', { requestId, target_org, run_id });
300
+ log('info', 'provar_qualityhub_testrun_abort', { requestId, target_org, run_id });
130
301
  try {
131
- const result = runSfCommand([
132
- 'provar', 'quality-hub', 'test', 'run', 'abort',
133
- '--target-org', target_org,
134
- '--run-id', run_id,
135
- ...flags,
136
- ]);
302
+ const result = runSfCommand(['provar', 'quality-hub', 'test', 'run', 'abort', '--target-org', target_org, '--run-id', run_id, ...flags], sf_path);
137
303
  const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
138
304
  if (result.exitCode !== 0) {
139
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_ABORT_FAILED', result.stderr || result.stdout, requestId)) }] };
305
+ return {
306
+ isError: true,
307
+ content: [
308
+ {
309
+ type: 'text',
310
+ text: JSON.stringify(makeError('QH_ABORT_FAILED', result.stderr || result.stdout, requestId)),
311
+ },
312
+ ],
313
+ };
140
314
  }
141
315
  return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
142
316
  }
143
317
  catch (err) {
144
- return handleSpawnError(err, requestId, 'provar.qualityhub.testrun.abort');
318
+ return handleSpawnError(err, requestId, 'provar_qualityhub_testrun_abort');
145
319
  }
146
320
  });
147
321
  }
148
- // ── Tool: provar.qualityhub.testcase.retrieve ─────────────────────────────────
322
+ // ── Tool: provar_qualityhub_testcase_retrieve ─────────────────────────────────
149
323
  export function registerQualityHubTestcaseRetrieve(server) {
150
- server.tool('provar.qualityhub.testcase.retrieve', 'Retrieve Quality Hub test cases by user story or component. Invokes `sf provar quality-hub testcase retrieve`.', {
151
- target_org: z.string().describe('SF org alias or username'),
152
- flags: z.array(z.string()).optional().default([]).describe('Additional raw CLI flags (e.g. ["--user-story", "US-123"])'),
153
- }, ({ target_org, flags }) => {
324
+ server.registerTool('provar_qualityhub_testcase_retrieve', {
325
+ title: 'Retrieve Quality Hub Test Cases',
326
+ description: desc('Retrieve Quality Hub test cases by user story or component. Invokes `sf provar quality-hub testcase retrieve`.', 'Retrieve Quality Hub test cases by user story or component via sf CLI.'),
327
+ inputSchema: {
328
+ target_org: z.string().describe(desc('SF org alias or username', 'string, SF org alias or username')),
329
+ flags: z
330
+ .array(z.string())
331
+ .optional()
332
+ .default([])
333
+ .describe(desc('Additional raw CLI flags (e.g. ["--user-story", "US-123"])', 'array of strings, optional; extra CLI flags e.g. --user-story')),
334
+ sf_path: z
335
+ .string()
336
+ .optional()
337
+ .describe(desc('Path to the sf CLI executable when not in PATH ' +
338
+ '(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
339
+ 'Leave unset to use auto-discovery.', 'string, optional; path to sf CLI executable')),
340
+ detail: z
341
+ .enum(['summary', 'standard', 'full'])
342
+ .optional()
343
+ .default('standard')
344
+ .describe('Response verbosity: "summary" returns only requestId and exitCode; ' +
345
+ '"standard" (default) returns requestId, exitCode, stdout, and stderr.'),
346
+ fields: z
347
+ .string()
348
+ .optional()
349
+ .describe('Comma-separated list of response keys to retain (e.g. "exitCode,stdout"). ' +
350
+ 'Unknown field names are silently ignored. Applied after the detail filter.'),
351
+ },
352
+ }, ({ target_org, flags, sf_path, detail, fields }) => {
154
353
  const requestId = makeRequestId();
155
- log('info', 'provar.qualityhub.testcase.retrieve', { requestId, target_org });
354
+ log('info', 'provar_qualityhub_testcase_retrieve', { requestId, target_org });
156
355
  try {
157
- const result = runSfCommand(['provar', 'quality-hub', 'testcase', 'retrieve', '--target-org', target_org, ...flags]);
158
- const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
356
+ const result = runSfCommand(['provar', 'quality-hub', 'testcase', 'retrieve', '--target-org', target_org, ...flags], sf_path);
357
+ let response = {
358
+ requestId,
359
+ exitCode: result.exitCode,
360
+ stdout: result.stdout,
361
+ stderr: result.stderr,
362
+ };
159
363
  if (result.exitCode !== 0) {
160
- return { isError: true, content: [{ type: 'text', text: JSON.stringify(makeError('QH_RETRIEVE_FAILED', result.stderr || result.stdout, requestId)) }] };
364
+ return {
365
+ isError: true,
366
+ content: [
367
+ {
368
+ type: 'text',
369
+ text: JSON.stringify(makeError('QH_RETRIEVE_FAILED', result.stderr || result.stdout, requestId)),
370
+ },
371
+ ],
372
+ };
373
+ }
374
+ const detailLevel = (detail ?? 'standard');
375
+ if (detailLevel !== 'standard') {
376
+ response = applyDetailLevel(response, detailLevel, QH_SUMMARY_FIELDS);
377
+ }
378
+ const fieldList = parseFieldsParam(fields);
379
+ if (fieldList) {
380
+ response = maskFields(response, fieldList);
161
381
  }
162
382
  return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
163
383
  }
164
384
  catch (err) {
165
- return handleSpawnError(err, requestId, 'provar.qualityhub.testcase.retrieve');
385
+ return handleSpawnError(err, requestId, 'provar_qualityhub_testcase_retrieve');
166
386
  }
167
387
  });
168
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qualityHubTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/qualityHubTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qualityHubTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/qualityHubTools.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ServerConfig } from '../server.js';
2
3
  export declare function registerTestRunLocate(server: McpServer): void;
3
- export declare function registerTestRunRca(server: McpServer): void;
4
- export declare function registerAllRcaTools(server: McpServer): void;
4
+ export declare function registerTestRunRca(server: McpServer, config: ServerConfig): void;
5
+ export declare function registerAllRcaTools(server: McpServer, config: ServerConfig): void;