@provartesting/provardx-cli 1.4.6 → 1.5.0-beta
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 +291 -8
- package/lib/commands/provar/automation/config/validate.js.map +1 -1
- package/lib/commands/provar/automation/project/validate.d.ts +14 -0
- package/lib/commands/provar/automation/project/validate.js +69 -0
- package/lib/commands/provar/automation/project/validate.js.map +1 -0
- package/lib/commands/provar/mcp/start.d.ts +16 -0
- package/lib/commands/provar/mcp/start.js +62 -0
- package/lib/commands/provar/mcp/start.js.map +1 -0
- package/lib/commands/provar/quality-hub/connect.d.ts +5 -0
- package/lib/commands/provar/quality-hub/connect.js +12 -0
- package/lib/commands/provar/quality-hub/connect.js.map +1 -0
- package/lib/commands/provar/quality-hub/display.d.ts +5 -0
- package/lib/commands/provar/quality-hub/display.js +12 -0
- package/lib/commands/provar/quality-hub/display.js.map +1 -0
- package/lib/commands/provar/quality-hub/open.d.ts +5 -0
- package/lib/commands/provar/quality-hub/open.js +12 -0
- package/lib/commands/provar/quality-hub/open.js.map +1 -0
- package/lib/commands/provar/quality-hub/test/run/abort.d.ts +5 -0
- package/lib/commands/provar/quality-hub/test/run/abort.js +12 -0
- package/lib/commands/provar/quality-hub/test/run/abort.js.map +1 -0
- package/lib/commands/provar/quality-hub/test/run/report.d.ts +5 -0
- package/lib/commands/provar/quality-hub/test/run/report.js +12 -0
- package/lib/commands/provar/quality-hub/test/run/report.js.map +1 -0
- package/lib/commands/provar/quality-hub/test/run.d.ts +5 -0
- package/lib/commands/provar/quality-hub/test/run.js +12 -0
- package/lib/commands/provar/quality-hub/test/run.js.map +1 -0
- package/lib/commands/provar/quality-hub/testcase/retrieve.d.ts +5 -0
- package/lib/commands/provar/quality-hub/testcase/retrieve.js +12 -0
- package/lib/commands/provar/quality-hub/testcase/retrieve.js.map +1 -0
- package/lib/mcp/licensing/algasClient.d.ts +19 -0
- package/lib/mcp/licensing/algasClient.js +144 -0
- package/lib/mcp/licensing/algasClient.js.map +1 -0
- package/lib/mcp/licensing/ideDetection.d.ts +34 -0
- package/lib/mcp/licensing/ideDetection.js +179 -0
- package/lib/mcp/licensing/ideDetection.js.map +1 -0
- package/lib/mcp/licensing/index.d.ts +5 -0
- package/lib/mcp/licensing/index.js +10 -0
- package/lib/mcp/licensing/index.js.map +1 -0
- package/lib/mcp/licensing/licenseCache.d.ts +20 -0
- package/lib/mcp/licensing/licenseCache.js +79 -0
- package/lib/mcp/licensing/licenseCache.js.map +1 -0
- package/lib/mcp/licensing/licenseError.d.ts +4 -0
- package/lib/mcp/licensing/licenseError.js +15 -0
- package/lib/mcp/licensing/licenseError.js.map +1 -0
- package/lib/mcp/licensing/licenseValidator.d.ts +33 -0
- package/lib/mcp/licensing/licenseValidator.js +103 -0
- package/lib/mcp/licensing/licenseValidator.js.map +1 -0
- package/lib/mcp/logging/logger.d.ts +7 -0
- package/lib/mcp/logging/logger.js +22 -0
- package/lib/mcp/logging/logger.js.map +1 -0
- package/lib/mcp/rules/page_object_validation_rules.json +344 -0
- package/lib/mcp/rules/provar_best_practices_rules.json +3192 -0
- package/lib/mcp/schemas/common.d.ts +20 -0
- package/lib/mcp/schemas/common.js +16 -0
- package/lib/mcp/schemas/common.js.map +1 -0
- package/lib/mcp/security/pathPolicy.d.ts +14 -0
- package/lib/mcp/security/pathPolicy.js +38 -0
- package/lib/mcp/security/pathPolicy.js.map +1 -0
- package/lib/mcp/server.d.ts +5 -0
- package/lib/mcp/server.js +59 -0
- package/lib/mcp/server.js.map +1 -0
- package/lib/mcp/tools/antTools.d.ts +21 -0
- package/lib/mcp/tools/antTools.js +602 -0
- package/lib/mcp/tools/antTools.js.map +1 -0
- package/lib/mcp/tools/automationTools.d.ts +14 -0
- package/lib/mcp/tools/automationTools.js +386 -0
- package/lib/mcp/tools/automationTools.js.map +1 -0
- package/lib/mcp/tools/bestPracticesEngine.d.ts +30 -0
- package/lib/mcp/tools/bestPracticesEngine.js +632 -0
- package/lib/mcp/tools/bestPracticesEngine.js.map +1 -0
- package/lib/mcp/tools/defectTools.d.ts +15 -0
- package/lib/mcp/tools/defectTools.js +211 -0
- package/lib/mcp/tools/defectTools.js.map +1 -0
- package/lib/mcp/tools/hierarchyValidate.d.ts +139 -0
- package/lib/mcp/tools/hierarchyValidate.js +540 -0
- package/lib/mcp/tools/hierarchyValidate.js.map +1 -0
- package/lib/mcp/tools/pageObjectGenerate.d.ts +3 -0
- package/lib/mcp/tools/pageObjectGenerate.js +153 -0
- package/lib/mcp/tools/pageObjectGenerate.js.map +1 -0
- package/lib/mcp/tools/pageObjectValidate.d.ts +18 -0
- package/lib/mcp/tools/pageObjectValidate.js +420 -0
- package/lib/mcp/tools/pageObjectValidate.js.map +1 -0
- package/lib/mcp/tools/projectInspect.d.ts +3 -0
- package/lib/mcp/tools/projectInspect.js +694 -0
- package/lib/mcp/tools/projectInspect.js.map +1 -0
- package/lib/mcp/tools/projectValidateFromPath.d.ts +3 -0
- package/lib/mcp/tools/projectValidateFromPath.js +153 -0
- package/lib/mcp/tools/projectValidateFromPath.js.map +1 -0
- package/lib/mcp/tools/propertiesTools.d.ts +7 -0
- package/lib/mcp/tools/propertiesTools.js +314 -0
- package/lib/mcp/tools/propertiesTools.js.map +1 -0
- package/lib/mcp/tools/qualityHubTools.d.ts +8 -0
- package/lib/mcp/tools/qualityHubTools.js +178 -0
- package/lib/mcp/tools/qualityHubTools.js.map +1 -0
- package/lib/mcp/tools/rcaTools.d.ts +4 -0
- package/lib/mcp/tools/rcaTools.js +620 -0
- package/lib/mcp/tools/rcaTools.js.map +1 -0
- package/lib/mcp/tools/sfSpawn.d.ts +28 -0
- package/lib/mcp/tools/sfSpawn.js +50 -0
- package/lib/mcp/tools/sfSpawn.js.map +1 -0
- package/lib/mcp/tools/testCaseGenerate.d.ts +3 -0
- package/lib/mcp/tools/testCaseGenerate.js +221 -0
- package/lib/mcp/tools/testCaseGenerate.js.map +1 -0
- package/lib/mcp/tools/testCaseValidate.d.ts +20 -0
- package/lib/mcp/tools/testCaseValidate.js +232 -0
- package/lib/mcp/tools/testCaseValidate.js.map +1 -0
- package/lib/mcp/tools/testPlanTools.d.ts +6 -0
- package/lib/mcp/tools/testPlanTools.js +311 -0
- package/lib/mcp/tools/testPlanTools.js.map +1 -0
- package/lib/mcp/tools/testPlanValidate.d.ts +2 -0
- package/lib/mcp/tools/testPlanValidate.js +75 -0
- package/lib/mcp/tools/testPlanValidate.js.map +1 -0
- package/lib/mcp/tools/testSuiteValidate.d.ts +2 -0
- package/lib/mcp/tools/testSuiteValidate.js +63 -0
- package/lib/mcp/tools/testSuiteValidate.js.map +1 -0
- package/lib/services/projectValidation.d.ts +119 -0
- package/lib/services/projectValidation.js +678 -0
- package/lib/services/projectValidation.js.map +1 -0
- package/messages/sf.provar.automation.project.validate.md +52 -0
- package/messages/sf.provar.mcp.start.md +74 -0
- package/oclif.manifest.json +1370 -1
- package/package.json +49 -26
package/README.md
CHANGED
|
@@ -6,27 +6,58 @@
|
|
|
6
6
|
|
|
7
7
|
# What is the ProvarDX CLI?
|
|
8
8
|
|
|
9
|
-
The Provar DX CLI is a Salesforce CLI plugin for Provar customers who want to automate the execution of tests using Provar Automation, and the reporting of test results and other quality-related metrics to Provar
|
|
9
|
+
The Provar DX CLI is a Salesforce CLI plugin for Provar customers who want to automate the execution of tests using Provar Automation, and the reporting of test results and other quality-related metrics to Provar Quality Hub.
|
|
10
10
|
|
|
11
11
|
# Installation, Update, and Uninstall
|
|
12
12
|
|
|
13
13
|
Install the plugin
|
|
14
|
+
|
|
14
15
|
```sh-session
|
|
15
16
|
$ sf plugins install @provartesting/provardx-cli
|
|
16
17
|
```
|
|
17
18
|
|
|
18
19
|
Update plugins
|
|
20
|
+
|
|
19
21
|
```sh-session
|
|
20
22
|
$ sf plugins update
|
|
21
23
|
```
|
|
22
24
|
|
|
23
25
|
Uninstall the plugin
|
|
26
|
+
|
|
24
27
|
```sh-session
|
|
25
28
|
$ sf plugins uninstall @provartesting/provardx-cli
|
|
26
29
|
```
|
|
27
30
|
|
|
31
|
+
# MCP Server (AI-Assisted Quality)
|
|
32
|
+
|
|
33
|
+
The Provar DX CLI includes a built-in **Model Context Protocol (MCP) server** that connects AI assistants (Claude Desktop, Claude Code, Cursor) directly to your Provar project. Once connected, an AI agent can inspect your project structure, generate Page Objects and test cases, and validate every level of the test hierarchy with quality scores that match the Provar Quality Hub API.
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
sf provar mcp start --allowed-paths /path/to/your/provar/project
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
📖 **See [docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md) for full setup and tool documentation.**
|
|
40
|
+
|
|
41
|
+
## License Validation
|
|
42
|
+
|
|
43
|
+
The MCP server verifies your Provar license before accepting any connections. Validation is automatic — no extra flags are required for standard usage.
|
|
44
|
+
|
|
45
|
+
**How it works:**
|
|
46
|
+
|
|
47
|
+
1. **Auto-detection** — the server reads `~/Provar/.licenses/*.properties` (the same files written by Provar's IDE plugins). If a valid, activated license is found the server starts immediately.
|
|
48
|
+
2. **Cache** — successful validations are cached at `~/Provar/.licenses/.mcp-license-cache.json` (2 h TTL). Subsequent starts within the TTL window skip the disk scan.
|
|
49
|
+
3. **Grace fallback** — if the IDE license files cannot be found or read and the cache is stale (but ≤ 48 h old), the server starts with a warning on stderr using the cached result so CI pipelines are not broken by transient local file-access issues.
|
|
50
|
+
4. **Fail closed** — if no valid license is detected the command exits with a non-zero exit code and a clear error message.
|
|
51
|
+
|
|
52
|
+
**`NODE_ENV=test` fast-path:**
|
|
53
|
+
|
|
54
|
+
When `NODE_ENV=test` the validation step is skipped entirely. This is intended only for the plugin's own unit-test suite.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
28
58
|
# Commands
|
|
29
59
|
|
|
60
|
+
- [`sf provar mcp start`](#sf-provar-mcp-start)
|
|
30
61
|
- [`sf provar config get`](#sf-provar-config-get)
|
|
31
62
|
- [`sf provar config set`](#sf-provar-config-set)
|
|
32
63
|
- [`sf provar automation config generate`](#sf-provar-automation-config-generate)
|
|
@@ -38,12 +69,89 @@ $ sf plugins uninstall @provartesting/provardx-cli
|
|
|
38
69
|
- [`sf provar automation project compile`](#sf-provar-automation-project-compile)
|
|
39
70
|
- [`sf provar automation metadata download`](#sf-provar-automation-metadata-download)
|
|
40
71
|
- [`sf provar automation test run`](#sf-provar-automation-test-run)
|
|
41
|
-
- [`sf provar
|
|
42
|
-
- [`sf provar
|
|
43
|
-
- [`sf provar
|
|
44
|
-
- [`sf provar
|
|
45
|
-
- [`sf provar
|
|
46
|
-
- [`sf provar
|
|
72
|
+
- [`sf provar quality-hub connect`](#sf-provar-quality-hub-connect)
|
|
73
|
+
- [`sf provar quality-hub display`](#sf-provar-quality-hub-display)
|
|
74
|
+
- [`sf provar quality-hub open`](#sf-provar-quality-hub-open)
|
|
75
|
+
- [`sf provar quality-hub testcase retrieve`](#sf-provar-quality-hub-testcase-retrieve)
|
|
76
|
+
- [`sf provar quality-hub test run`](#sf-provar-quality-hub-test-run)
|
|
77
|
+
- [`sf provar quality-hub test run report`](#sf-provar-quality-hub-test-run-report)
|
|
78
|
+
- [`sf provar quality-hub test run abort`](#sf-provar-quality-hub-test-run-abort)
|
|
79
|
+
- [`sf provar manager connect`](#sf-provar-manager-connect) _(deprecated — use `sf provar quality-hub connect`)_
|
|
80
|
+
- [`sf provar manager display`](#sf-provar-manager-display) _(deprecated — use `sf provar quality-hub display`)_
|
|
81
|
+
- [`sf provar manager open`](#sf-provar-manager-open) _(deprecated — use `sf provar quality-hub open`)_
|
|
82
|
+
- [`sf provar manager testcase retrieve`](#sf-provar-manager-testcase-retrieve) _(deprecated — use `sf provar quality-hub testcase retrieve`)_
|
|
83
|
+
- [`sf provar manager test run`](#sf-provar-manager-test-run) _(deprecated — use `sf provar quality-hub test run`)_
|
|
84
|
+
- [`sf provar manager test run report`](#sf-provar-manager-test-run-report) _(deprecated — use `sf provar quality-hub test run report`)_
|
|
85
|
+
- [`sf provar manager test run abort`](#sf-provar-manager-test-run-abort) _(deprecated — use `sf provar quality-hub test run abort`)_
|
|
86
|
+
|
|
87
|
+
## `sf provar mcp start`
|
|
88
|
+
|
|
89
|
+
Start a local MCP server for Provar tools over stdio transport.
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
USAGE
|
|
93
|
+
$ sf provar mcp start [-a <value>...]
|
|
94
|
+
|
|
95
|
+
FLAGS
|
|
96
|
+
-a, --allowed-paths=<value>... Allowed base directory paths for file operations.
|
|
97
|
+
Defaults to the current working directory.
|
|
98
|
+
Repeat the flag to allow multiple paths.
|
|
99
|
+
|
|
100
|
+
DESCRIPTION
|
|
101
|
+
Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools
|
|
102
|
+
to AI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP
|
|
103
|
+
JSON-RPC communication happens over stdout; all internal logging goes to stderr.
|
|
104
|
+
|
|
105
|
+
Note: --json is not available on this command — stdout is reserved for MCP traffic.
|
|
106
|
+
|
|
107
|
+
TOOLS EXPOSED
|
|
108
|
+
provar.project.inspect — inspect project folder inventory
|
|
109
|
+
provar.pageobject.generate — generate Java Page Object skeleton
|
|
110
|
+
provar.pageobject.validate — validate Page Object quality (30+ rules)
|
|
111
|
+
provar.testcase.generate — generate XML test case skeleton
|
|
112
|
+
provar.testcase.validate — validate test case XML (validity + best-practices scores)
|
|
113
|
+
provar.testsuite.validate — validate test suite hierarchy
|
|
114
|
+
provar.testplan.validate — validate test plan with metadata completeness checks
|
|
115
|
+
provar.project.validate — validate full project: cross-cutting rules, connections, environments
|
|
116
|
+
provar.properties.generate — generate provardx-properties.json from the standard template
|
|
117
|
+
provar.properties.read — read and parse a provardx-properties.json file
|
|
118
|
+
provar.properties.set — update fields in a provardx-properties.json file
|
|
119
|
+
provar.properties.validate — validate a provardx-properties.json file against the schema
|
|
120
|
+
provar.ant.generate — generate an ANT build.xml for CI/CD pipeline execution
|
|
121
|
+
provar.ant.validate — validate an ANT build.xml for structural correctness
|
|
122
|
+
provar.qualityhub.connect — connect to a Quality Hub org
|
|
123
|
+
provar.qualityhub.display — display connected Quality Hub org info
|
|
124
|
+
provar.qualityhub.testrun — trigger a Quality Hub test run
|
|
125
|
+
provar.qualityhub.testrun.report — poll test run status
|
|
126
|
+
provar.qualityhub.testrun.abort — abort an in-progress test run
|
|
127
|
+
provar.qualityhub.testcase.retrieve — retrieve test cases by user story / component
|
|
128
|
+
provar.automation.setup — detect or download/install Provar Automation binaries
|
|
129
|
+
provar.automation.testrun — trigger a Provar Automation test run (LOCAL)
|
|
130
|
+
provar.automation.compile — compile Page Objects after changes
|
|
131
|
+
provar.automation.config.load — register a provardx-properties.json as the active config (required before compile/testrun)
|
|
132
|
+
provar.automation.metadata.download — download Salesforce metadata into the project
|
|
133
|
+
provar.qualityhub.defect.create — create Quality Hub defects from failed test executions
|
|
134
|
+
provar.testrun.report.locate — resolve artifact paths (JUnit.xml, HTML reports) for a completed test run
|
|
135
|
+
provar.testrun.rca — analyse a completed test run: classify failures, extract page objects, detect pre-existing issues
|
|
136
|
+
provar.testplan.add-instance — wire a test case into a plan suite by writing a .testinstance file
|
|
137
|
+
provar.testplan.create-suite — create a new test suite directory with .planitem inside a plan
|
|
138
|
+
provar.testplan.remove-instance — remove a .testinstance file from a plan suite
|
|
139
|
+
|
|
140
|
+
EXAMPLES
|
|
141
|
+
Start MCP server (accepts stdio connections from Claude Desktop / Cursor):
|
|
142
|
+
|
|
143
|
+
$ sf provar mcp start
|
|
144
|
+
|
|
145
|
+
Start with an explicit allowed path:
|
|
146
|
+
|
|
147
|
+
$ sf provar mcp start --allowed-paths /workspace/provar
|
|
148
|
+
|
|
149
|
+
Allow multiple directories:
|
|
150
|
+
|
|
151
|
+
$ sf provar mcp start -a /workspace/project-a -a /workspace/project-b
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
📖 **Full tool documentation and client configuration: [docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md)**
|
|
47
155
|
|
|
48
156
|
## `sf provar config get`
|
|
49
157
|
|
|
@@ -162,7 +270,7 @@ DESCRIPTION
|
|
|
162
270
|
|
|
163
271
|
EXAMPLES
|
|
164
272
|
Check if the loaded properties file has all the required properties set:
|
|
165
|
-
|
|
273
|
+
|
|
166
274
|
$ sf provar automation config validate
|
|
167
275
|
```
|
|
168
276
|
|
|
@@ -300,6 +408,153 @@ EXAMPLES
|
|
|
300
408
|
$ sf provar automation test run
|
|
301
409
|
```
|
|
302
410
|
|
|
411
|
+
## `sf provar quality-hub connect`
|
|
412
|
+
|
|
413
|
+
Connect to a Provar Quality Hub org.
|
|
414
|
+
|
|
415
|
+
```
|
|
416
|
+
USAGE
|
|
417
|
+
$ sf provar quality-hub connect -o <value> [--json]
|
|
418
|
+
|
|
419
|
+
FLAGS
|
|
420
|
+
-o, --target-org=<value> (required) Username or alias set in the SF CLI which corresponds to the Provar Quality Hub org.
|
|
421
|
+
|
|
422
|
+
GLOBAL FLAGS
|
|
423
|
+
--json Format output as json.
|
|
424
|
+
|
|
425
|
+
DESCRIPTION
|
|
426
|
+
Load the alias or username to be used in subsequent Quality Hub commands.
|
|
427
|
+
|
|
428
|
+
EXAMPLES
|
|
429
|
+
Connect to the Quality Hub org stored with alias "ProvarQualityHub":
|
|
430
|
+
|
|
431
|
+
$ sf provar quality-hub connect -o ProvarQualityHub
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
## `sf provar quality-hub display`
|
|
435
|
+
|
|
436
|
+
Display information about the connected Provar Quality Hub org.
|
|
437
|
+
|
|
438
|
+
```
|
|
439
|
+
USAGE
|
|
440
|
+
$ sf provar quality-hub display [--json]
|
|
441
|
+
|
|
442
|
+
GLOBAL FLAGS
|
|
443
|
+
--json Format output as json.
|
|
444
|
+
|
|
445
|
+
EXAMPLES
|
|
446
|
+
Display information about the connected Quality Hub org:
|
|
447
|
+
|
|
448
|
+
$ sf provar quality-hub display
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## `sf provar quality-hub open`
|
|
452
|
+
|
|
453
|
+
Open Provar Quality Hub in a browser.
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
USAGE
|
|
457
|
+
$ sf provar quality-hub open [--json]
|
|
458
|
+
|
|
459
|
+
GLOBAL FLAGS
|
|
460
|
+
--json Format output as json.
|
|
461
|
+
|
|
462
|
+
EXAMPLES
|
|
463
|
+
Open Quality Hub in a browser:
|
|
464
|
+
|
|
465
|
+
$ sf provar quality-hub open
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
## `sf provar quality-hub testcase retrieve`
|
|
469
|
+
|
|
470
|
+
Retrieve test cases related to the provided user stories or metadata components.
|
|
471
|
+
|
|
472
|
+
```
|
|
473
|
+
USAGE
|
|
474
|
+
$ sf provar quality-hub testcase retrieve -p <value> -t Apex|ProvarAutomation [--json] [-m <value>] [-f <value>] [-i <value>] [-o <value>] [-n <value>] [-l <value>]
|
|
475
|
+
|
|
476
|
+
FLAGS
|
|
477
|
+
-f, --metadata-file=<value> Path to a text file containing the list of metadata components.
|
|
478
|
+
-i, --issues=<value> Comma-separated list of issue IDs or keys.
|
|
479
|
+
-l, --test-plan=<value> Test Plan name. Use to retrieve test instance file paths.
|
|
480
|
+
-m, --metadata-components=<value> Semicolon-separated list of metadata components.
|
|
481
|
+
-n, --ignore-metadata=<value> Semicolon-separated list of metadata types to ignore.
|
|
482
|
+
-o, --output=<value> Output to a specific file instead of stdout.
|
|
483
|
+
-p, --test-project=<value> (required) Test Project key to filter by.
|
|
484
|
+
-t, --test-automation-tool=<option> (required) <options: Apex|ProvarAutomation>
|
|
485
|
+
|
|
486
|
+
EXAMPLES
|
|
487
|
+
Retrieve Provar Automation test cases for user story "TM-766":
|
|
488
|
+
|
|
489
|
+
$ sf provar quality-hub testcase retrieve -p PAT -t ProvarAutomation -i "TM-766" --json
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
## `sf provar quality-hub test run`
|
|
493
|
+
|
|
494
|
+
Run tests via Provar Quality Hub.
|
|
495
|
+
|
|
496
|
+
```
|
|
497
|
+
USAGE
|
|
498
|
+
$ sf provar quality-hub test run -f <value> [--json] [-y] [-w <value>] [-p <value>] [-o <value>] [-r <value>]
|
|
499
|
+
|
|
500
|
+
FLAGS
|
|
501
|
+
-f, --configuration-file=<value> (required) Path to the configuration file.
|
|
502
|
+
-o, --output=<value> Output to a specific file instead of stdout.
|
|
503
|
+
-p, --polling-interval=<value> [default: 60] Polling interval in seconds.
|
|
504
|
+
-r, --result-format=<value> [default: human] Format of the test results.
|
|
505
|
+
-w, --wait=<value> Polling timeout in minutes.
|
|
506
|
+
-y, --synchronous Run synchronously.
|
|
507
|
+
|
|
508
|
+
EXAMPLES
|
|
509
|
+
Run tests and store results as JSON:
|
|
510
|
+
|
|
511
|
+
$ sf provar quality-hub test run -f config/run-grid-tests.json -w 10 -p 30 -r json -o results.json
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
## `sf provar quality-hub test run report`
|
|
515
|
+
|
|
516
|
+
Check or poll for the status of a Quality Hub test run.
|
|
517
|
+
|
|
518
|
+
```
|
|
519
|
+
USAGE
|
|
520
|
+
$ sf provar quality-hub test run report -i <value> [--json] [-r <value>] [-o <value>]
|
|
521
|
+
|
|
522
|
+
FLAGS
|
|
523
|
+
-i, --test-run=<value> (required) Test run ID.
|
|
524
|
+
-o, --output=<value> Output to a specific file instead of stdout.
|
|
525
|
+
-r, --result-format=<value> [default: human] Format of the test results.
|
|
526
|
+
|
|
527
|
+
EXAMPLES
|
|
528
|
+
Retrieve results for a test run:
|
|
529
|
+
|
|
530
|
+
$ sf provar quality-hub test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r json -o results.json
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
## `sf provar quality-hub test run abort`
|
|
534
|
+
|
|
535
|
+
Abort an in-progress test run triggered via Provar Quality Hub.
|
|
536
|
+
|
|
537
|
+
```
|
|
538
|
+
USAGE
|
|
539
|
+
$ sf provar quality-hub test run abort -i <value> [--json] [-p <value>] [-w <value>]
|
|
540
|
+
|
|
541
|
+
FLAGS
|
|
542
|
+
-i, --test-run=<value> (required) Test run ID.
|
|
543
|
+
-p, --polling-interval=<value> [default: 30] Polling interval in seconds.
|
|
544
|
+
-w, --wait=<value> [default: 2] Polling timeout in minutes.
|
|
545
|
+
|
|
546
|
+
EXAMPLES
|
|
547
|
+
Abort a test run:
|
|
548
|
+
|
|
549
|
+
$ sf provar quality-hub test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
> **Deprecated commands:** The `sf provar manager *` commands below are retained for backwards compatibility and will print a deprecation warning when used. Use the equivalent `sf provar quality-hub *` commands above for all new pipelines.
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
303
558
|
## `sf provar manager connect`
|
|
304
559
|
|
|
305
560
|
Load the alias or username to be used in subsequent commands to connect to Provar Manager.
|
|
@@ -467,3 +722,31 @@ EXAMPLES
|
|
|
467
722
|
$ sf provar manager test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r junit -o junit-results.xml
|
|
468
723
|
|
|
469
724
|
```
|
|
725
|
+
|
|
726
|
+
## `sf provar manager test run abort`
|
|
727
|
+
|
|
728
|
+
Abort an in-progress test run triggered via Provar Manager.
|
|
729
|
+
|
|
730
|
+
```
|
|
731
|
+
USAGE
|
|
732
|
+
$ sf provar manager test run abort -i <value> [--json] [-p <value>] [-w <value>]
|
|
733
|
+
|
|
734
|
+
FLAGS
|
|
735
|
+
-i, --test-run=<value> (required) Test run ID.
|
|
736
|
+
-p, --polling-interval=<value> [default: 30] Sets the polling interval in
|
|
737
|
+
seconds. Default is 30 seconds.
|
|
738
|
+
-w, --wait=<value> [default: 2] Sets the polling timeout in
|
|
739
|
+
minutes. Default is 2 minutes.
|
|
740
|
+
|
|
741
|
+
GLOBAL FLAGS
|
|
742
|
+
--json Format output as json.
|
|
743
|
+
|
|
744
|
+
DESCRIPTION
|
|
745
|
+
Abort an in-progress test run triggered via Provar Manager.
|
|
746
|
+
|
|
747
|
+
EXAMPLES
|
|
748
|
+
Abort test run with ID 45f70417-df21-4917-a667-abc2ee46dc63
|
|
749
|
+
|
|
750
|
+
$ sf provar manager test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63
|
|
751
|
+
|
|
752
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAyB,cAAc,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAE7I;;;;GAIG;AAEH,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;AAEnG,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAgC;IAC3E,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3D,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAEjD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAEvC,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { type ProjectValidationResult } from '../../../../services/projectValidation.js';
|
|
3
|
+
export default class SfProvarAutomationProjectValidate extends SfCommand<ProjectValidationResult> {
|
|
4
|
+
static readonly summary: string;
|
|
5
|
+
static readonly description: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly flags: {
|
|
8
|
+
'project-path': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
|
+
'quality-threshold': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
'save-results': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
11
|
+
'results-dir': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<ProjectValidationResult>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
/* eslint-disable camelcase */
|
|
8
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
9
|
+
import { Messages } from '@salesforce/core';
|
|
10
|
+
import { validateProjectFromPath, ProjectValidationError } from '../../../../services/projectValidation.js';
|
|
11
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
|
+
const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.automation.project.validate');
|
|
13
|
+
export default class SfProvarAutomationProjectValidate extends SfCommand {
|
|
14
|
+
static summary = messages.getMessage('summary');
|
|
15
|
+
static description = messages.getMessage('description');
|
|
16
|
+
static examples = messages.getMessages('examples');
|
|
17
|
+
static flags = {
|
|
18
|
+
'project-path': Flags.string({
|
|
19
|
+
char: 'p',
|
|
20
|
+
summary: messages.getMessage('flags.project-path.summary'),
|
|
21
|
+
default: process.cwd(),
|
|
22
|
+
}),
|
|
23
|
+
'quality-threshold': Flags.integer({
|
|
24
|
+
char: 'q',
|
|
25
|
+
summary: messages.getMessage('flags.quality-threshold.summary'),
|
|
26
|
+
default: 80,
|
|
27
|
+
min: 0,
|
|
28
|
+
max: 100,
|
|
29
|
+
}),
|
|
30
|
+
'save-results': Flags.boolean({
|
|
31
|
+
summary: messages.getMessage('flags.save-results.summary'),
|
|
32
|
+
default: true,
|
|
33
|
+
allowNo: true,
|
|
34
|
+
}),
|
|
35
|
+
'results-dir': Flags.string({
|
|
36
|
+
char: 'd',
|
|
37
|
+
summary: messages.getMessage('flags.results-dir.summary'),
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
async run() {
|
|
41
|
+
const { flags } = await this.parse(SfProvarAutomationProjectValidate);
|
|
42
|
+
try {
|
|
43
|
+
const result = validateProjectFromPath({
|
|
44
|
+
project_path: flags['project-path'],
|
|
45
|
+
quality_threshold: flags['quality-threshold'],
|
|
46
|
+
save_results: flags['save-results'],
|
|
47
|
+
results_dir: flags['results-dir'],
|
|
48
|
+
});
|
|
49
|
+
if (!this.jsonEnabled()) {
|
|
50
|
+
this.log(messages.getMessage('success_message', [result.project_name, result.quality_score, result.quality_grade]));
|
|
51
|
+
if (result.saved_to) {
|
|
52
|
+
this.log(messages.getMessage('saved_to_message', [result.saved_to]));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const threshold = flags['quality-threshold'];
|
|
56
|
+
if (result.quality_score < threshold) {
|
|
57
|
+
this.error(`Quality score ${result.quality_score}/100 is below the required threshold of ${threshold}/100`, { exit: 1 });
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
if (err instanceof ProjectValidationError) {
|
|
63
|
+
this.error(err.message, { exit: 1 });
|
|
64
|
+
}
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/project/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export default class SfProvarMcpStart extends SfCommand<void> {
|
|
3
|
+
static readonly summary: string;
|
|
4
|
+
static readonly description: string;
|
|
5
|
+
static readonly examples: string[];
|
|
6
|
+
/**
|
|
7
|
+
* Disable --json flag entirely: stdout is reserved for MCP JSON-RPC messages
|
|
8
|
+
* and must not be contaminated by oclif JSON output.
|
|
9
|
+
*/
|
|
10
|
+
static enableJsonFlag: boolean;
|
|
11
|
+
static readonly flags: {
|
|
12
|
+
'allowed-paths': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
'auto-defects': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
|
|
8
|
+
import { Messages } from '@provartesting/provardx-plugins-utils';
|
|
9
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
|
+
import { createProvarMcpServer } from '../../../mcp/server.js';
|
|
11
|
+
import { validateLicense, LicenseError } from '../../../mcp/licensing/index.js';
|
|
12
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
|
+
const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.mcp.start');
|
|
14
|
+
export default class SfProvarMcpStart extends SfCommand {
|
|
15
|
+
static summary = messages.getMessage('summary');
|
|
16
|
+
static description = messages.getMessage('description');
|
|
17
|
+
static examples = messages.getMessages('examples');
|
|
18
|
+
/**
|
|
19
|
+
* Disable --json flag entirely: stdout is reserved for MCP JSON-RPC messages
|
|
20
|
+
* and must not be contaminated by oclif JSON output.
|
|
21
|
+
*/
|
|
22
|
+
static enableJsonFlag = false;
|
|
23
|
+
static flags = {
|
|
24
|
+
'allowed-paths': Flags.string({
|
|
25
|
+
summary: messages.getMessage('flags.allowed-paths.summary'),
|
|
26
|
+
char: 'a',
|
|
27
|
+
multiple: true,
|
|
28
|
+
default: [process.cwd()],
|
|
29
|
+
}),
|
|
30
|
+
'auto-defects': Flags.boolean({
|
|
31
|
+
summary: messages.getMessage('flags.auto-defects.summary'),
|
|
32
|
+
default: false,
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
async run() {
|
|
36
|
+
const { flags } = await this.parse(SfProvarMcpStart);
|
|
37
|
+
const allowedPaths = flags['allowed-paths'];
|
|
38
|
+
if (flags['auto-defects']) {
|
|
39
|
+
process.env['PROVAR_AUTO_DEFECTS'] = '1';
|
|
40
|
+
}
|
|
41
|
+
// Validate that a Provar Automation IDE license is activated on this machine
|
|
42
|
+
// before handing stdin/stdout to the MCP transport.
|
|
43
|
+
try {
|
|
44
|
+
const result = await validateLicense();
|
|
45
|
+
if (result.offlineGrace) {
|
|
46
|
+
process.stderr.write('[provar-mcp] Warning: license validated from offline cache (last checked > 2h ago).\n');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
if (err instanceof LicenseError) {
|
|
51
|
+
this.error(err.message, { exit: 1 });
|
|
52
|
+
}
|
|
53
|
+
throw err;
|
|
54
|
+
}
|
|
55
|
+
const server = createProvarMcpServer({ allowedPaths });
|
|
56
|
+
const transport = new StdioServerTransport();
|
|
57
|
+
// Connect hands stdin/stdout ownership to the SDK.
|
|
58
|
+
// The process stays alive until stdin closes (client disconnect).
|
|
59
|
+
await server.connect(transport);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../src/commands/provar/mcp/start.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEhF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAe;IACpD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEnE;;;OAGG;IACI,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IAE9B,MAAM,CAAU,KAAK,GAAG;QAC7B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAC3D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACzB,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;YAC1D,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAE5C,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC3C,CAAC;QAED,6EAA6E;QAC7E,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uFAAuF,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,mDAAmD;QACnD,kEAAkE;QAClE,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import ManagerConnect from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/connect.js';
|
|
8
|
+
export default class SfProvarQualityHubConnect extends ManagerConnect {
|
|
9
|
+
static aliases = ['provar:manager:connect'];
|
|
10
|
+
static deprecateAliases = true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/commands/provar/quality-hub/connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,cAAc,MAAM,gFAAgF,CAAC;AAE5G,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,cAAc;IAC5D,MAAM,CAAU,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import ManagerDisplay from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/display.js';
|
|
8
|
+
export default class SfProvarQualityHubDisplay extends ManagerDisplay {
|
|
9
|
+
static aliases = ['provar:manager:display'];
|
|
10
|
+
static deprecateAliases = true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/commands/provar/quality-hub/display.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,cAAc,MAAM,gFAAgF,CAAC;AAE5G,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,cAAc;IAC5D,MAAM,CAAU,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import ManagerOpen from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/open.js';
|
|
8
|
+
export default class SfProvarQualityHubOpen extends ManagerOpen {
|
|
9
|
+
static aliases = ['provar:manager:open'];
|
|
10
|
+
static deprecateAliases = true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../../src/commands/provar/quality-hub/open.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,WAAW,MAAM,6EAA6E,CAAC;AAEtG,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IACtD,MAAM,CAAU,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ManagerTestRunAbort from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/test/run/abort.js';
|
|
2
|
+
export default class SfProvarQualityHubTestRunAbort extends ManagerTestRunAbort {
|
|
3
|
+
static readonly aliases: string[];
|
|
4
|
+
static readonly deprecateAliases = true;
|
|
5
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import ManagerTestRunAbort from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/test/run/abort.js';
|
|
8
|
+
export default class SfProvarQualityHubTestRunAbort extends ManagerTestRunAbort {
|
|
9
|
+
static aliases = ['provar:manager:test:run:abort'];
|
|
10
|
+
static deprecateAliases = true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=abort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../../../../src/commands/provar/quality-hub/test/run/abort.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,mBAAmB,MAAM,uFAAuF,CAAC;AAExH,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,mBAAmB;IACtE,MAAM,CAAU,OAAO,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC5D,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ManagerTestRunReport from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/test/run/report.js';
|
|
2
|
+
export default class SfProvarQualityHubTestRunReport extends ManagerTestRunReport {
|
|
3
|
+
static readonly aliases: string[];
|
|
4
|
+
static readonly deprecateAliases = true;
|
|
5
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Provar Limited.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import ManagerTestRunReport from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/test/run/report.js';
|
|
8
|
+
export default class SfProvarQualityHubTestRunReport extends ManagerTestRunReport {
|
|
9
|
+
static aliases = ['provar:manager:test:run:report'];
|
|
10
|
+
static deprecateAliases = true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=report.js.map
|