@provartesting/provardx-cli 1.4.6 → 1.5.0-dev

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 (122) hide show
  1. package/README.md +292 -8
  2. package/lib/commands/provar/automation/config/validate.js.map +1 -1
  3. package/lib/commands/provar/automation/project/validate.d.ts +14 -0
  4. package/lib/commands/provar/automation/project/validate.js +69 -0
  5. package/lib/commands/provar/automation/project/validate.js.map +1 -0
  6. package/lib/commands/provar/mcp/start.d.ts +16 -0
  7. package/lib/commands/provar/mcp/start.js +62 -0
  8. package/lib/commands/provar/mcp/start.js.map +1 -0
  9. package/lib/commands/provar/quality-hub/connect.d.ts +5 -0
  10. package/lib/commands/provar/quality-hub/connect.js +12 -0
  11. package/lib/commands/provar/quality-hub/connect.js.map +1 -0
  12. package/lib/commands/provar/quality-hub/display.d.ts +5 -0
  13. package/lib/commands/provar/quality-hub/display.js +12 -0
  14. package/lib/commands/provar/quality-hub/display.js.map +1 -0
  15. package/lib/commands/provar/quality-hub/open.d.ts +5 -0
  16. package/lib/commands/provar/quality-hub/open.js +12 -0
  17. package/lib/commands/provar/quality-hub/open.js.map +1 -0
  18. package/lib/commands/provar/quality-hub/test/run/abort.d.ts +5 -0
  19. package/lib/commands/provar/quality-hub/test/run/abort.js +12 -0
  20. package/lib/commands/provar/quality-hub/test/run/abort.js.map +1 -0
  21. package/lib/commands/provar/quality-hub/test/run/report.d.ts +5 -0
  22. package/lib/commands/provar/quality-hub/test/run/report.js +12 -0
  23. package/lib/commands/provar/quality-hub/test/run/report.js.map +1 -0
  24. package/lib/commands/provar/quality-hub/test/run.d.ts +5 -0
  25. package/lib/commands/provar/quality-hub/test/run.js +12 -0
  26. package/lib/commands/provar/quality-hub/test/run.js.map +1 -0
  27. package/lib/commands/provar/quality-hub/testcase/retrieve.d.ts +5 -0
  28. package/lib/commands/provar/quality-hub/testcase/retrieve.js +12 -0
  29. package/lib/commands/provar/quality-hub/testcase/retrieve.js.map +1 -0
  30. package/lib/mcp/licensing/algasClient.d.ts +19 -0
  31. package/lib/mcp/licensing/algasClient.js +144 -0
  32. package/lib/mcp/licensing/algasClient.js.map +1 -0
  33. package/lib/mcp/licensing/ideDetection.d.ts +34 -0
  34. package/lib/mcp/licensing/ideDetection.js +179 -0
  35. package/lib/mcp/licensing/ideDetection.js.map +1 -0
  36. package/lib/mcp/licensing/index.d.ts +5 -0
  37. package/lib/mcp/licensing/index.js +10 -0
  38. package/lib/mcp/licensing/index.js.map +1 -0
  39. package/lib/mcp/licensing/licenseCache.d.ts +20 -0
  40. package/lib/mcp/licensing/licenseCache.js +79 -0
  41. package/lib/mcp/licensing/licenseCache.js.map +1 -0
  42. package/lib/mcp/licensing/licenseError.d.ts +4 -0
  43. package/lib/mcp/licensing/licenseError.js +15 -0
  44. package/lib/mcp/licensing/licenseError.js.map +1 -0
  45. package/lib/mcp/licensing/licenseValidator.d.ts +33 -0
  46. package/lib/mcp/licensing/licenseValidator.js +103 -0
  47. package/lib/mcp/licensing/licenseValidator.js.map +1 -0
  48. package/lib/mcp/logging/logger.d.ts +7 -0
  49. package/lib/mcp/logging/logger.js +22 -0
  50. package/lib/mcp/logging/logger.js.map +1 -0
  51. package/lib/mcp/rules/page_object_validation_rules.json +344 -0
  52. package/lib/mcp/rules/provar_best_practices_rules.json +3192 -0
  53. package/lib/mcp/schemas/common.d.ts +20 -0
  54. package/lib/mcp/schemas/common.js +16 -0
  55. package/lib/mcp/schemas/common.js.map +1 -0
  56. package/lib/mcp/security/pathPolicy.d.ts +14 -0
  57. package/lib/mcp/security/pathPolicy.js +38 -0
  58. package/lib/mcp/security/pathPolicy.js.map +1 -0
  59. package/lib/mcp/server.d.ts +5 -0
  60. package/lib/mcp/server.js +59 -0
  61. package/lib/mcp/server.js.map +1 -0
  62. package/lib/mcp/tools/antTools.d.ts +21 -0
  63. package/lib/mcp/tools/antTools.js +602 -0
  64. package/lib/mcp/tools/antTools.js.map +1 -0
  65. package/lib/mcp/tools/automationTools.d.ts +14 -0
  66. package/lib/mcp/tools/automationTools.js +386 -0
  67. package/lib/mcp/tools/automationTools.js.map +1 -0
  68. package/lib/mcp/tools/bestPracticesEngine.d.ts +30 -0
  69. package/lib/mcp/tools/bestPracticesEngine.js +632 -0
  70. package/lib/mcp/tools/bestPracticesEngine.js.map +1 -0
  71. package/lib/mcp/tools/defectTools.d.ts +15 -0
  72. package/lib/mcp/tools/defectTools.js +199 -0
  73. package/lib/mcp/tools/defectTools.js.map +1 -0
  74. package/lib/mcp/tools/hierarchyValidate.d.ts +139 -0
  75. package/lib/mcp/tools/hierarchyValidate.js +540 -0
  76. package/lib/mcp/tools/hierarchyValidate.js.map +1 -0
  77. package/lib/mcp/tools/pageObjectGenerate.d.ts +3 -0
  78. package/lib/mcp/tools/pageObjectGenerate.js +153 -0
  79. package/lib/mcp/tools/pageObjectGenerate.js.map +1 -0
  80. package/lib/mcp/tools/pageObjectValidate.d.ts +18 -0
  81. package/lib/mcp/tools/pageObjectValidate.js +420 -0
  82. package/lib/mcp/tools/pageObjectValidate.js.map +1 -0
  83. package/lib/mcp/tools/projectInspect.d.ts +3 -0
  84. package/lib/mcp/tools/projectInspect.js +694 -0
  85. package/lib/mcp/tools/projectInspect.js.map +1 -0
  86. package/lib/mcp/tools/projectValidateFromPath.d.ts +3 -0
  87. package/lib/mcp/tools/projectValidateFromPath.js +153 -0
  88. package/lib/mcp/tools/projectValidateFromPath.js.map +1 -0
  89. package/lib/mcp/tools/propertiesTools.d.ts +7 -0
  90. package/lib/mcp/tools/propertiesTools.js +314 -0
  91. package/lib/mcp/tools/propertiesTools.js.map +1 -0
  92. package/lib/mcp/tools/qualityHubTools.d.ts +8 -0
  93. package/lib/mcp/tools/qualityHubTools.js +178 -0
  94. package/lib/mcp/tools/qualityHubTools.js.map +1 -0
  95. package/lib/mcp/tools/rcaTools.d.ts +4 -0
  96. package/lib/mcp/tools/rcaTools.js +620 -0
  97. package/lib/mcp/tools/rcaTools.js.map +1 -0
  98. package/lib/mcp/tools/sfSpawn.d.ts +28 -0
  99. package/lib/mcp/tools/sfSpawn.js +50 -0
  100. package/lib/mcp/tools/sfSpawn.js.map +1 -0
  101. package/lib/mcp/tools/testCaseGenerate.d.ts +3 -0
  102. package/lib/mcp/tools/testCaseGenerate.js +221 -0
  103. package/lib/mcp/tools/testCaseGenerate.js.map +1 -0
  104. package/lib/mcp/tools/testCaseValidate.d.ts +20 -0
  105. package/lib/mcp/tools/testCaseValidate.js +227 -0
  106. package/lib/mcp/tools/testCaseValidate.js.map +1 -0
  107. package/lib/mcp/tools/testPlanTools.d.ts +6 -0
  108. package/lib/mcp/tools/testPlanTools.js +311 -0
  109. package/lib/mcp/tools/testPlanTools.js.map +1 -0
  110. package/lib/mcp/tools/testPlanValidate.d.ts +2 -0
  111. package/lib/mcp/tools/testPlanValidate.js +75 -0
  112. package/lib/mcp/tools/testPlanValidate.js.map +1 -0
  113. package/lib/mcp/tools/testSuiteValidate.d.ts +2 -0
  114. package/lib/mcp/tools/testSuiteValidate.js +63 -0
  115. package/lib/mcp/tools/testSuiteValidate.js.map +1 -0
  116. package/lib/services/projectValidation.d.ts +119 -0
  117. package/lib/services/projectValidation.js +678 -0
  118. package/lib/services/projectValidation.js.map +1 -0
  119. package/messages/sf.provar.automation.project.validate.md +52 -0
  120. package/messages/sf.provar.mcp.start.md +74 -0
  121. package/oclif.manifest.json +1298 -1
  122. package/package.json +29 -15
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 Manager.
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,90 @@ $ 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 manager connect`](#sf-provar-manager-connect)
42
- - [`sf provar manager display`](#sf-provar-manager-display)
43
- - [`sf provar manager open`](#sf-provar-manager-open)
44
- - [`sf provar manager testcase retrieve`](#sf-provar-manager-testcase-retrieve)
45
- - [`sf provar manager test run`](#sf-provar-manager-test-run)
46
- - [`sf provar manager test run report`](#sf-provar-manager-test-run-report)
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
+ provardx.ping — sanity-check: echo back a message
109
+ provar.project.inspect — inspect project folder inventory
110
+ provar.pageobject.generate — generate Java Page Object skeleton
111
+ provar.pageobject.validate — validate Page Object quality (30+ rules)
112
+ provar.testcase.generate — generate XML test case skeleton
113
+ provar.testcase.validate — validate test case XML (validity + best-practices scores)
114
+ provar.testsuite.validate — validate test suite hierarchy
115
+ provar.testplan.validate — validate test plan with metadata completeness checks
116
+ provar.project.validate — validate full project: cross-cutting rules, connections, environments
117
+ provar.properties.generate — generate provardx-properties.json from the standard template
118
+ provar.properties.read — read and parse a provardx-properties.json file
119
+ provar.properties.set — update fields in a provardx-properties.json file
120
+ provar.properties.validate — validate a provardx-properties.json file against the schema
121
+ provar.ant.generate — generate an ANT build.xml for CI/CD pipeline execution
122
+ provar.ant.validate — validate an ANT build.xml for structural correctness
123
+ provar.qualityhub.connect — connect to a Quality Hub org
124
+ provar.qualityhub.display — display connected Quality Hub org info
125
+ provar.qualityhub.testrun — trigger a Quality Hub test run
126
+ provar.qualityhub.testrun.report — poll test run status
127
+ provar.qualityhub.testrun.abort — abort an in-progress test run
128
+ provar.qualityhub.testcase.retrieve — retrieve test cases by user story / component
129
+ provar.automation.setup — detect or download/install Provar Automation binaries
130
+ provar.automation.testrun — trigger a Provar Automation test run (LOCAL)
131
+ provar.automation.compile — compile Page Objects after changes
132
+ provar.automation.config.load — register a provardx-properties.json as the active config (required before compile/testrun)
133
+ provar.automation.metadata.download — download Salesforce metadata into the project
134
+ provar.qualityhub.defect.create — create Quality Hub defects from failed test executions
135
+ provar.testrun.report.locate — resolve artifact paths (JUnit.xml, HTML reports) for a completed test run
136
+ provar.testrun.rca — analyse a completed test run: classify failures, extract page objects, detect pre-existing issues
137
+ provar.testplan.add-instance — wire a test case into a plan suite by writing a .testinstance file
138
+ provar.testplan.create-suite — create a new test suite directory with .planitem inside a plan
139
+ provar.testplan.remove-instance — remove a .testinstance file from a plan suite
140
+
141
+ EXAMPLES
142
+ Start MCP server (accepts stdio connections from Claude Desktop / Cursor):
143
+
144
+ $ sf provar mcp start
145
+
146
+ Start with an explicit allowed path:
147
+
148
+ $ sf provar mcp start --allowed-paths /workspace/provar
149
+
150
+ Allow multiple directories:
151
+
152
+ $ sf provar mcp start -a /workspace/project-a -a /workspace/project-b
153
+ ```
154
+
155
+ 📖 **Full tool documentation and client configuration: [docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md)**
47
156
 
48
157
  ## `sf provar config get`
49
158
 
@@ -162,7 +271,7 @@ DESCRIPTION
162
271
 
163
272
  EXAMPLES
164
273
  Check if the loaded properties file has all the required properties set:
165
-
274
+
166
275
  $ sf provar automation config validate
167
276
  ```
168
277
 
@@ -300,6 +409,153 @@ EXAMPLES
300
409
  $ sf provar automation test run
301
410
  ```
302
411
 
412
+ ## `sf provar quality-hub connect`
413
+
414
+ Connect to a Provar Quality Hub org.
415
+
416
+ ```
417
+ USAGE
418
+ $ sf provar quality-hub connect -o <value> [--json]
419
+
420
+ FLAGS
421
+ -o, --target-org=<value> (required) Username or alias set in the SF CLI which corresponds to the Provar Quality Hub org.
422
+
423
+ GLOBAL FLAGS
424
+ --json Format output as json.
425
+
426
+ DESCRIPTION
427
+ Load the alias or username to be used in subsequent Quality Hub commands.
428
+
429
+ EXAMPLES
430
+ Connect to the Quality Hub org stored with alias "ProvarQualityHub":
431
+
432
+ $ sf provar quality-hub connect -o ProvarQualityHub
433
+ ```
434
+
435
+ ## `sf provar quality-hub display`
436
+
437
+ Display information about the connected Provar Quality Hub org.
438
+
439
+ ```
440
+ USAGE
441
+ $ sf provar quality-hub display [--json]
442
+
443
+ GLOBAL FLAGS
444
+ --json Format output as json.
445
+
446
+ EXAMPLES
447
+ Display information about the connected Quality Hub org:
448
+
449
+ $ sf provar quality-hub display
450
+ ```
451
+
452
+ ## `sf provar quality-hub open`
453
+
454
+ Open Provar Quality Hub in a browser.
455
+
456
+ ```
457
+ USAGE
458
+ $ sf provar quality-hub open [--json]
459
+
460
+ GLOBAL FLAGS
461
+ --json Format output as json.
462
+
463
+ EXAMPLES
464
+ Open Quality Hub in a browser:
465
+
466
+ $ sf provar quality-hub open
467
+ ```
468
+
469
+ ## `sf provar quality-hub testcase retrieve`
470
+
471
+ Retrieve test cases related to the provided user stories or metadata components.
472
+
473
+ ```
474
+ USAGE
475
+ $ sf provar quality-hub testcase retrieve -p <value> -t Apex|ProvarAutomation [--json] [-m <value>] [-f <value>] [-i <value>] [-o <value>] [-n <value>] [-l <value>]
476
+
477
+ FLAGS
478
+ -f, --metadata-file=<value> Path to a text file containing the list of metadata components.
479
+ -i, --issues=<value> Comma-separated list of issue IDs or keys.
480
+ -l, --test-plan=<value> Test Plan name. Use to retrieve test instance file paths.
481
+ -m, --metadata-components=<value> Semicolon-separated list of metadata components.
482
+ -n, --ignore-metadata=<value> Semicolon-separated list of metadata types to ignore.
483
+ -o, --output=<value> Output to a specific file instead of stdout.
484
+ -p, --test-project=<value> (required) Test Project key to filter by.
485
+ -t, --test-automation-tool=<option> (required) <options: Apex|ProvarAutomation>
486
+
487
+ EXAMPLES
488
+ Retrieve Provar Automation test cases for user story "TM-766":
489
+
490
+ $ sf provar quality-hub testcase retrieve -p PAT -t ProvarAutomation -i "TM-766" --json
491
+ ```
492
+
493
+ ## `sf provar quality-hub test run`
494
+
495
+ Run tests via Provar Quality Hub.
496
+
497
+ ```
498
+ USAGE
499
+ $ sf provar quality-hub test run -f <value> [--json] [-y] [-w <value>] [-p <value>] [-o <value>] [-r <value>]
500
+
501
+ FLAGS
502
+ -f, --configuration-file=<value> (required) Path to the configuration file.
503
+ -o, --output=<value> Output to a specific file instead of stdout.
504
+ -p, --polling-interval=<value> [default: 60] Polling interval in seconds.
505
+ -r, --result-format=<value> [default: human] Format of the test results.
506
+ -w, --wait=<value> Polling timeout in minutes.
507
+ -y, --synchronous Run synchronously.
508
+
509
+ EXAMPLES
510
+ Run tests and store results as JSON:
511
+
512
+ $ sf provar quality-hub test run -f config/run-grid-tests.json -w 10 -p 30 -r json -o results.json
513
+ ```
514
+
515
+ ## `sf provar quality-hub test run report`
516
+
517
+ Check or poll for the status of a Quality Hub test run.
518
+
519
+ ```
520
+ USAGE
521
+ $ sf provar quality-hub test run report -i <value> [--json] [-r <value>] [-o <value>]
522
+
523
+ FLAGS
524
+ -i, --test-run=<value> (required) Test run ID.
525
+ -o, --output=<value> Output to a specific file instead of stdout.
526
+ -r, --result-format=<value> [default: human] Format of the test results.
527
+
528
+ EXAMPLES
529
+ Retrieve results for a test run:
530
+
531
+ $ sf provar quality-hub test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r json -o results.json
532
+ ```
533
+
534
+ ## `sf provar quality-hub test run abort`
535
+
536
+ Abort an in-progress test run triggered via Provar Quality Hub.
537
+
538
+ ```
539
+ USAGE
540
+ $ sf provar quality-hub test run abort -i <value> [--json] [-p <value>] [-w <value>]
541
+
542
+ FLAGS
543
+ -i, --test-run=<value> (required) Test run ID.
544
+ -p, --polling-interval=<value> [default: 30] Polling interval in seconds.
545
+ -w, --wait=<value> [default: 2] Polling timeout in minutes.
546
+
547
+ EXAMPLES
548
+ Abort a test run:
549
+
550
+ $ sf provar quality-hub test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63
551
+ ```
552
+
553
+ ---
554
+
555
+ > **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.
556
+
557
+ ---
558
+
303
559
  ## `sf provar manager connect`
304
560
 
305
561
  Load the alias or username to be used in subsequent commands to connect to Provar Manager.
@@ -467,3 +723,31 @@ EXAMPLES
467
723
  $ sf provar manager test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r junit -o junit-results.xml
468
724
 
469
725
  ```
726
+
727
+ ## `sf provar manager test run abort`
728
+
729
+ Abort an in-progress test run triggered via Provar Manager.
730
+
731
+ ```
732
+ USAGE
733
+ $ sf provar manager test run abort -i <value> [--json] [-p <value>] [-w <value>]
734
+
735
+ FLAGS
736
+ -i, --test-run=<value> (required) Test run ID.
737
+ -p, --polling-interval=<value> [default: 30] Sets the polling interval in
738
+ seconds. Default is 30 seconds.
739
+ -w, --wait=<value> [default: 2] Sets the polling timeout in
740
+ minutes. Default is 2 minutes.
741
+
742
+ GLOBAL FLAGS
743
+ --json Format output as json.
744
+
745
+ DESCRIPTION
746
+ Abort an in-progress test run triggered via Provar Manager.
747
+
748
+ EXAMPLES
749
+ Abort test run with ID 45f70417-df21-4917-a667-abc2ee46dc63
750
+
751
+ $ sf provar manager test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63
752
+
753
+ ```
@@ -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;AAExD,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"}
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,5 @@
1
+ import ManagerConnect from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/connect.js';
2
+ export default class SfProvarQualityHubConnect extends ManagerConnect {
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 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,5 @@
1
+ import ManagerDisplay from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/display.js';
2
+ export default class SfProvarQualityHubDisplay extends ManagerDisplay {
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 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,5 @@
1
+ import ManagerOpen from '@provartesting/provardx-plugins-manager/lib/commands/provar/manager/open.js';
2
+ export default class SfProvarQualityHubOpen extends ManagerOpen {
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 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