@salesforce/plugin-agent 1.36.0 → 1.37.0
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 +129 -24
- package/lib/agentTestCache.d.ts +4 -1
- package/lib/agentTestCache.js +2 -2
- package/lib/agentTestCache.js.map +1 -1
- package/lib/commands/agent/test/list.js +6 -1
- package/lib/commands/agent/test/list.js.map +1 -1
- package/lib/commands/agent/test/results.d.ts +3 -2
- package/lib/commands/agent/test/results.js +5 -3
- package/lib/commands/agent/test/results.js.map +1 -1
- package/lib/commands/agent/test/resume.d.ts +1 -0
- package/lib/commands/agent/test/resume.js +12 -4
- package/lib/commands/agent/test/resume.js.map +1 -1
- package/lib/commands/agent/test/run-eval.d.ts +1 -5
- package/lib/commands/agent/test/run-eval.js +54 -149
- package/lib/commands/agent/test/run-eval.js.map +1 -1
- package/lib/commands/agent/test/run.d.ts +1 -0
- package/lib/commands/agent/test/run.js +21 -8
- package/lib/commands/agent/test/run.js.map +1 -1
- package/lib/flags.d.ts +6 -1
- package/lib/flags.js +21 -4
- package/lib/flags.js.map +1 -1
- package/lib/handleTestResults.d.ts +4 -2
- package/lib/handleTestResults.js +137 -5
- package/lib/handleTestResults.js.map +1 -1
- package/lib/testRunnerFactory.d.ts +7 -0
- package/lib/testRunnerFactory.js +30 -0
- package/lib/testRunnerFactory.js.map +1 -0
- package/lib/testStages.d.ts +4 -3
- package/lib/testStages.js.map +1 -1
- package/messages/agent.test.list.md +1 -1
- package/messages/agent.test.run-eval.md +0 -4
- package/messages/shared.md +8 -0
- package/oclif.manifest.json +506 -481
- package/package.json +5 -5
- package/schemas/agent-activate.json +5 -2
- package/schemas/agent-create.json +39 -8
- package/schemas/agent-deactivate.json +5 -2
- package/schemas/agent-generate-agent__spec.json +18 -4
- package/schemas/agent-generate-authoring__bundle.json +6 -2
- package/schemas/agent-generate-template.json +5 -2
- package/schemas/agent-preview-end.json +5 -2
- package/schemas/agent-preview-send.json +6 -2
- package/schemas/agent-preview-sessions.json +10 -3
- package/schemas/agent-preview-start.json +5 -2
- package/schemas/agent-preview.json +1 -1
- package/schemas/agent-test-create.json +5 -2
- package/schemas/agent-test-list.json +1 -1
- package/schemas/agent-test-results.json +111 -10
- package/schemas/agent-test-resume.json +113 -10
- package/schemas/agent-test-run.json +113 -10
- package/schemas/agent-test-run__eval.json +17 -4
- package/schemas/agent-validate-authoring__bundle.json +4 -2
- package/lib/evalFormatter.d.ts +0 -30
- package/lib/evalFormatter.js +0 -263
- package/lib/evalFormatter.js.map +0 -1
- package/lib/evalNormalizer.d.ts +0 -57
- package/lib/evalNormalizer.js +0 -431
- package/lib/evalNormalizer.js.map +0 -1
- package/lib/yamlSpecTranslator.d.ts +0 -20
- package/lib/yamlSpecTranslator.js +0 -227
- package/lib/yamlSpecTranslator.js.map +0 -1
package/README.md
CHANGED
|
@@ -77,6 +77,7 @@ sf plugins
|
|
|
77
77
|
- [`sf agent test results`](#sf-agent-test-results)
|
|
78
78
|
- [`sf agent test resume`](#sf-agent-test-resume)
|
|
79
79
|
- [`sf agent test run`](#sf-agent-test-run)
|
|
80
|
+
- [`sf agent test run-eval`](#sf-agent-test-run-eval)
|
|
80
81
|
- [`sf agent validate authoring-bundle`](#sf-agent-validate-authoring-bundle)
|
|
81
82
|
|
|
82
83
|
## `sf agent activate`
|
|
@@ -126,7 +127,7 @@ EXAMPLES
|
|
|
126
127
|
$ sf agent activate --api-name Resort_Manager --version 2 --target-org my-org
|
|
127
128
|
```
|
|
128
129
|
|
|
129
|
-
_See code: [src/commands/agent/activate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
130
|
+
_See code: [src/commands/agent/activate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/activate.ts)_
|
|
130
131
|
|
|
131
132
|
## `sf agent create`
|
|
132
133
|
|
|
@@ -193,7 +194,7 @@ EXAMPLES
|
|
|
193
194
|
$ sf agent create --name "Resort Manager" --spec specs/resortManagerAgent.yaml --preview
|
|
194
195
|
```
|
|
195
196
|
|
|
196
|
-
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
197
|
+
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/create.ts)_
|
|
197
198
|
|
|
198
199
|
## `sf agent deactivate`
|
|
199
200
|
|
|
@@ -234,7 +235,7 @@ EXAMPLES
|
|
|
234
235
|
$ sf agent deactivate --api-name Resort_Manager --target-org my-org
|
|
235
236
|
```
|
|
236
237
|
|
|
237
|
-
_See code: [src/commands/agent/deactivate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
238
|
+
_See code: [src/commands/agent/deactivate.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/deactivate.ts)_
|
|
238
239
|
|
|
239
240
|
## `sf agent generate agent-spec`
|
|
240
241
|
|
|
@@ -341,7 +342,7 @@ EXAMPLES
|
|
|
341
342
|
$ sf agent generate agent-spec --tone formal --agent-user resortmanager@myorg.com
|
|
342
343
|
```
|
|
343
344
|
|
|
344
|
-
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
345
|
+
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/generate/agent-spec.ts)_
|
|
345
346
|
|
|
346
347
|
## `sf agent generate authoring-bundle`
|
|
347
348
|
|
|
@@ -418,7 +419,7 @@ EXAMPLES
|
|
|
418
419
|
other-package-dir/main/default --target-org my-dev-org
|
|
419
420
|
```
|
|
420
421
|
|
|
421
|
-
_See code: [src/commands/agent/generate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
422
|
+
_See code: [src/commands/agent/generate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/generate/authoring-bundle.ts)_
|
|
422
423
|
|
|
423
424
|
## `sf agent generate template`
|
|
424
425
|
|
|
@@ -480,7 +481,7 @@ EXAMPLES
|
|
|
480
481
|
my-package --source-org my-scratch-org
|
|
481
482
|
```
|
|
482
483
|
|
|
483
|
-
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
484
|
+
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/generate/template.ts)_
|
|
484
485
|
|
|
485
486
|
## `sf agent generate test-spec`
|
|
486
487
|
|
|
@@ -545,7 +546,7 @@ EXAMPLES
|
|
|
545
546
|
force-app//main/default/aiEvaluationDefinitions/Resort_Manager_Tests.aiEvaluationDefinition-meta.xml
|
|
546
547
|
```
|
|
547
548
|
|
|
548
|
-
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
549
|
+
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/generate/test-spec.ts)_
|
|
549
550
|
|
|
550
551
|
## `sf agent preview`
|
|
551
552
|
|
|
@@ -618,7 +619,7 @@ EXAMPLES
|
|
|
618
619
|
$ sf agent preview --use-live-actions --apex-debug --output-dir transcripts/my-preview
|
|
619
620
|
```
|
|
620
621
|
|
|
621
|
-
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
622
|
+
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/preview.ts)_
|
|
622
623
|
|
|
623
624
|
## `sf agent preview end`
|
|
624
625
|
|
|
@@ -673,7 +674,7 @@ EXAMPLES
|
|
|
673
674
|
$ sf agent preview end --authoring-bundle My_Local_Agent
|
|
674
675
|
```
|
|
675
676
|
|
|
676
|
-
_See code: [src/commands/agent/preview/end.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
677
|
+
_See code: [src/commands/agent/preview/end.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/preview/end.ts)_
|
|
677
678
|
|
|
678
679
|
## `sf agent preview send`
|
|
679
680
|
|
|
@@ -731,7 +732,7 @@ EXAMPLES
|
|
|
731
732
|
$ sf agent preview send --utterance "what can you help me with?" --authoring-bundle My_Local_Agent
|
|
732
733
|
```
|
|
733
734
|
|
|
734
|
-
_See code: [src/commands/agent/preview/send.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
735
|
+
_See code: [src/commands/agent/preview/send.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/preview/send.ts)_
|
|
735
736
|
|
|
736
737
|
## `sf agent preview sessions`
|
|
737
738
|
|
|
@@ -764,7 +765,7 @@ EXAMPLES
|
|
|
764
765
|
$ sf agent preview sessions
|
|
765
766
|
```
|
|
766
767
|
|
|
767
|
-
_See code: [src/commands/agent/preview/sessions.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
768
|
+
_See code: [src/commands/agent/preview/sessions.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/preview/sessions.ts)_
|
|
768
769
|
|
|
769
770
|
## `sf agent preview start`
|
|
770
771
|
|
|
@@ -829,7 +830,7 @@ EXAMPLES
|
|
|
829
830
|
$ sf agent preview start --api-name My_Published_Agent
|
|
830
831
|
```
|
|
831
832
|
|
|
832
|
-
_See code: [src/commands/agent/preview/start.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
833
|
+
_See code: [src/commands/agent/preview/start.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/preview/start.ts)_
|
|
833
834
|
|
|
834
835
|
## `sf agent publish authoring-bundle`
|
|
835
836
|
|
|
@@ -889,7 +890,7 @@ EXAMPLES
|
|
|
889
890
|
$ sf agent publish authoring-bundle --api-name MyAuthoringbundle --concise
|
|
890
891
|
```
|
|
891
892
|
|
|
892
|
-
_See code: [src/commands/agent/publish/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
893
|
+
_See code: [src/commands/agent/publish/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/publish/authoring-bundle.ts)_
|
|
893
894
|
|
|
894
895
|
## `sf agent test create`
|
|
895
896
|
|
|
@@ -944,7 +945,7 @@ EXAMPLES
|
|
|
944
945
|
$ sf agent test create --spec specs/Resort_Manager-testSpec.yaml --api-name Resort_Manager_Test --preview
|
|
945
946
|
```
|
|
946
947
|
|
|
947
|
-
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
948
|
+
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/create.ts)_
|
|
948
949
|
|
|
949
950
|
## `sf agent test list`
|
|
950
951
|
|
|
@@ -966,8 +967,8 @@ GLOBAL FLAGS
|
|
|
966
967
|
DESCRIPTION
|
|
967
968
|
List the available agent tests in your org.
|
|
968
969
|
|
|
969
|
-
The command outputs a table with the name (API name) of each test along with its unique ID
|
|
970
|
-
in the org.
|
|
970
|
+
The command outputs a table with the name (API name) of each test along with its unique ID, type ('agentforce-studio'
|
|
971
|
+
or 'testing-center'), and the date it was created in the org.
|
|
971
972
|
|
|
972
973
|
EXAMPLES
|
|
973
974
|
List the agent tests in your default org:
|
|
@@ -979,7 +980,7 @@ EXAMPLES
|
|
|
979
980
|
$ sf agent test list --target-org my-org
|
|
980
981
|
```
|
|
981
982
|
|
|
982
|
-
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
983
|
+
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/list.ts)_
|
|
983
984
|
|
|
984
985
|
## `sf agent test results`
|
|
985
986
|
|
|
@@ -988,7 +989,7 @@ Get the results of a completed agent test run.
|
|
|
988
989
|
```
|
|
989
990
|
USAGE
|
|
990
991
|
$ sf agent test results -o <value> -i <value> [--json] [--flags-dir <value>] [--api-version <value>] [--result-format
|
|
991
|
-
json|human|junit|tap] [-d <value>] [--verbose]
|
|
992
|
+
json|human|junit|tap] [-d <value>] [--test-runner agentforce-studio|testing-center] [--verbose]
|
|
992
993
|
|
|
993
994
|
FLAGS
|
|
994
995
|
-d, --output-dir=<value> Directory to write the agent test results into.
|
|
@@ -998,6 +999,8 @@ FLAGS
|
|
|
998
999
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
999
1000
|
--result-format=<option> [default: human] Format of the agent test run results.
|
|
1000
1001
|
<options: json|human|junit|tap>
|
|
1002
|
+
--test-runner=<option> Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1003
|
+
<options: agentforce-studio|testing-center>
|
|
1001
1004
|
--verbose Show generated data in the test results output.
|
|
1002
1005
|
|
|
1003
1006
|
GLOBAL FLAGS
|
|
@@ -1035,6 +1038,14 @@ FLAG DESCRIPTIONS
|
|
|
1035
1038
|
If the agent test run completes, write the results to the specified directory. If the test is still running, the
|
|
1036
1039
|
test results aren't written.
|
|
1037
1040
|
|
|
1041
|
+
--test-runner=agentforce-studio|testing-center
|
|
1042
|
+
|
|
1043
|
+
Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1044
|
+
|
|
1045
|
+
By default, the command automatically detects which test runner to use based on the test definition metadata type in
|
|
1046
|
+
your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition
|
|
1047
|
+
metadata. 'testing-center' uses AiEvaluationDefinition metadata.
|
|
1048
|
+
|
|
1038
1049
|
--verbose Show generated data in the test results output.
|
|
1039
1050
|
|
|
1040
1051
|
When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output.
|
|
@@ -1045,7 +1056,7 @@ FLAG DESCRIPTIONS
|
|
|
1045
1056
|
expression when using custom evaluations.
|
|
1046
1057
|
```
|
|
1047
1058
|
|
|
1048
|
-
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
1059
|
+
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/results.ts)_
|
|
1049
1060
|
|
|
1050
1061
|
## `sf agent test resume`
|
|
1051
1062
|
|
|
@@ -1054,7 +1065,8 @@ Resume an agent test that you previously started in your org so you can view the
|
|
|
1054
1065
|
```
|
|
1055
1066
|
USAGE
|
|
1056
1067
|
$ sf agent test resume -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-i <value>] [-r] [-w
|
|
1057
|
-
<value>] [--result-format json|human|junit|tap] [-d <value>] [--
|
|
1068
|
+
<value>] [--result-format json|human|junit|tap] [-d <value>] [--test-runner agentforce-studio|testing-center]
|
|
1069
|
+
[--verbose]
|
|
1058
1070
|
|
|
1059
1071
|
FLAGS
|
|
1060
1072
|
-d, --output-dir=<value> Directory to write the agent test results into.
|
|
@@ -1067,6 +1079,8 @@ FLAGS
|
|
|
1067
1079
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
1068
1080
|
--result-format=<option> [default: human] Format of the agent test run results.
|
|
1069
1081
|
<options: json|human|junit|tap>
|
|
1082
|
+
--test-runner=<option> Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1083
|
+
<options: agentforce-studio|testing-center>
|
|
1070
1084
|
--verbose Show generated data in the test results output.
|
|
1071
1085
|
|
|
1072
1086
|
GLOBAL FLAGS
|
|
@@ -1108,6 +1122,14 @@ FLAG DESCRIPTIONS
|
|
|
1108
1122
|
If the agent test run completes, write the results to the specified directory. If the test is still running, the
|
|
1109
1123
|
test results aren't written.
|
|
1110
1124
|
|
|
1125
|
+
--test-runner=agentforce-studio|testing-center
|
|
1126
|
+
|
|
1127
|
+
Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1128
|
+
|
|
1129
|
+
By default, the command automatically detects which test runner to use based on the test definition metadata type in
|
|
1130
|
+
your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition
|
|
1131
|
+
metadata. 'testing-center' uses AiEvaluationDefinition metadata.
|
|
1132
|
+
|
|
1111
1133
|
--verbose Show generated data in the test results output.
|
|
1112
1134
|
|
|
1113
1135
|
When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output.
|
|
@@ -1118,7 +1140,7 @@ FLAG DESCRIPTIONS
|
|
|
1118
1140
|
expression when using custom evaluations.
|
|
1119
1141
|
```
|
|
1120
1142
|
|
|
1121
|
-
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
1143
|
+
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/resume.ts)_
|
|
1122
1144
|
|
|
1123
1145
|
## `sf agent test run`
|
|
1124
1146
|
|
|
@@ -1127,7 +1149,7 @@ Start an agent test in your org.
|
|
|
1127
1149
|
```
|
|
1128
1150
|
USAGE
|
|
1129
1151
|
$ sf agent test run -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-n <value>] [-w <value>]
|
|
1130
|
-
[--result-format json|human|junit|tap] [-d <value>] [--verbose]
|
|
1152
|
+
[--result-format json|human|junit|tap] [-d <value>] [--test-runner agentforce-studio|testing-center] [--verbose]
|
|
1131
1153
|
|
|
1132
1154
|
FLAGS
|
|
1133
1155
|
-d, --output-dir=<value> Directory to write the agent test results into.
|
|
@@ -1140,6 +1162,8 @@ FLAGS
|
|
|
1140
1162
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
1141
1163
|
--result-format=<option> [default: human] Format of the agent test run results.
|
|
1142
1164
|
<options: json|human|junit|tap>
|
|
1165
|
+
--test-runner=<option> Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1166
|
+
<options: agentforce-studio|testing-center>
|
|
1143
1167
|
--verbose Show generated data in the test results output.
|
|
1144
1168
|
|
|
1145
1169
|
GLOBAL FLAGS
|
|
@@ -1182,6 +1206,14 @@ FLAG DESCRIPTIONS
|
|
|
1182
1206
|
If the agent test run completes, write the results to the specified directory. If the test is still running, the
|
|
1183
1207
|
test results aren't written.
|
|
1184
1208
|
|
|
1209
|
+
--test-runner=agentforce-studio|testing-center
|
|
1210
|
+
|
|
1211
|
+
Explicitly specify which test runner to use (agentforce-studio or testing-center).
|
|
1212
|
+
|
|
1213
|
+
By default, the command automatically detects which test runner to use based on the test definition metadata type in
|
|
1214
|
+
your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition
|
|
1215
|
+
metadata. 'testing-center' uses AiEvaluationDefinition metadata.
|
|
1216
|
+
|
|
1185
1217
|
--verbose Show generated data in the test results output.
|
|
1186
1218
|
|
|
1187
1219
|
When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output.
|
|
@@ -1192,7 +1224,80 @@ FLAG DESCRIPTIONS
|
|
|
1192
1224
|
expression when using custom evaluations.
|
|
1193
1225
|
```
|
|
1194
1226
|
|
|
1195
|
-
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
1227
|
+
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/run.ts)_
|
|
1228
|
+
|
|
1229
|
+
## `sf agent test run-eval`
|
|
1230
|
+
|
|
1231
|
+
Run evaluation tests against an Agentforce agent.
|
|
1232
|
+
|
|
1233
|
+
```
|
|
1234
|
+
USAGE
|
|
1235
|
+
$ sf agent test run-eval -o <value> -s <value> [--json] [--flags-dir <value>] [--api-version <value>] [-n <value>]
|
|
1236
|
+
[--result-format json|human|junit|tap] [--batch-size <value>] [--no-normalize]
|
|
1237
|
+
|
|
1238
|
+
FLAGS
|
|
1239
|
+
-n, --api-name=<value> Agent DeveloperName (also called API name) to resolve agent_id and agent_version_id.
|
|
1240
|
+
Auto-inferred from the YAML spec's subjectName.
|
|
1241
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1242
|
+
configuration variable is already set.
|
|
1243
|
+
-s, --spec=<value> (required) Path to test spec file (YAML or JSON). Supports reading from stdin when
|
|
1244
|
+
piping content.
|
|
1245
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1246
|
+
--batch-size=<value> [default: 5] Number of tests per API request (max 5).
|
|
1247
|
+
--no-normalize Disable auto-normalization of field names and shorthand references.
|
|
1248
|
+
--result-format=<option> [default: human] Format of the agent test run results.
|
|
1249
|
+
<options: json|human|junit|tap>
|
|
1250
|
+
|
|
1251
|
+
GLOBAL FLAGS
|
|
1252
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1253
|
+
--json Format output as json.
|
|
1254
|
+
|
|
1255
|
+
DESCRIPTION
|
|
1256
|
+
Run evaluation tests against an Agentforce agent.
|
|
1257
|
+
|
|
1258
|
+
Execute rich evaluation tests against an Agentforce agent using the Einstein Evaluation API. Supports both YAML test
|
|
1259
|
+
specs (same format as `sf agent generate test-spec`) and JSON payloads.
|
|
1260
|
+
|
|
1261
|
+
When you provide a YAML test spec, the command automatically translates test cases into Evaluation API calls and
|
|
1262
|
+
infers the agent name from the spec's `subjectName` field. This means you can use the same test spec with both `sf
|
|
1263
|
+
agent test run` and `sf agent test run-eval`. YAML test specs also support contextVariables, which allow you to inject
|
|
1264
|
+
contextual data (such as CaseId or RoutableId) into agent sessions for testing with different contexts.
|
|
1265
|
+
|
|
1266
|
+
When you provide a JSON payload, it's sent directly to the API with optional normalization. The normalizer
|
|
1267
|
+
auto-corrects common field name mistakes, converts shorthand references to JSONPath, and injects defaults. Use
|
|
1268
|
+
`--no-normalize` to disable this auto-normalization. JSON payloads can also include context_variables on
|
|
1269
|
+
agent.create_session steps for the same contextual testing capabilities.
|
|
1270
|
+
|
|
1271
|
+
Supports 8+ evaluator types, including topic routing assertions, action invocation checks, string/numeric assertions,
|
|
1272
|
+
semantic similarity scoring, and LLM-based quality ratings.
|
|
1273
|
+
|
|
1274
|
+
EXAMPLES
|
|
1275
|
+
Run tests using a YAML test spec on the org with alias "my-org":
|
|
1276
|
+
|
|
1277
|
+
$ sf agent test run-eval --spec tests/my-agent-testSpec.yaml --target-org my-org
|
|
1278
|
+
|
|
1279
|
+
Run tests using a YAML spec with explicit agent name override; use your default org:
|
|
1280
|
+
|
|
1281
|
+
$ sf agent test run-eval --spec tests/my-agent-testSpec.yaml --api-name My_Agent --target-org my-org
|
|
1282
|
+
|
|
1283
|
+
Run tests using a JSON payload:
|
|
1284
|
+
|
|
1285
|
+
$ sf agent test run-eval --spec tests/eval-payload.json --target-org my-org
|
|
1286
|
+
|
|
1287
|
+
Run tests and output results in JUnit format; useful for continuous integration and deployment (CI/CD):
|
|
1288
|
+
|
|
1289
|
+
$ sf agent test run-eval --spec tests/my-agent-testSpec.yaml --target-org my-org --result-format junit
|
|
1290
|
+
|
|
1291
|
+
Run tests with contextVariables to inject contextual data into agent sessions (add contextVariables to test cases in
|
|
1292
|
+
your YAML spec):
|
|
1293
|
+
|
|
1294
|
+
$ sf agent test run-eval --spec tests/agent-with-context.yaml --target-org my-org
|
|
1295
|
+
|
|
1296
|
+
Pipe JSON payload from stdin (--spec flag is automatically populated from stdin):
|
|
1297
|
+
$ echo '{"tests":[...]}' | sf agent test run-eval --spec --target-org my-org
|
|
1298
|
+
```
|
|
1299
|
+
|
|
1300
|
+
_See code: [src/commands/agent/test/run-eval.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/test/run-eval.ts)_
|
|
1196
1301
|
|
|
1197
1302
|
## `sf agent validate authoring-bundle`
|
|
1198
1303
|
|
|
@@ -1239,6 +1344,6 @@ EXAMPLES
|
|
|
1239
1344
|
$ sf agent validate authoring-bundle --api-name MyAuthoringBundle --target-org my-dev-org
|
|
1240
1345
|
```
|
|
1241
1346
|
|
|
1242
|
-
_See code: [src/commands/agent/validate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
1347
|
+
_See code: [src/commands/agent/validate/authoring-bundle.ts](https://github.com/salesforcecli/plugin-agent/blob/1.37.0/src/commands/agent/validate/authoring-bundle.ts)_
|
|
1243
1348
|
|
|
1244
1349
|
<!-- commandsstop -->
|
package/lib/agentTestCache.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { TTLConfig } from '@salesforce/core';
|
|
2
|
+
import type { TestRunnerType } from '@salesforce/agents';
|
|
2
3
|
type ResultFormat = 'json' | 'human' | 'junit' | 'tap';
|
|
3
4
|
type CacheContents = {
|
|
4
5
|
runId: string;
|
|
5
6
|
name: string;
|
|
6
7
|
outputDir?: string;
|
|
7
8
|
resultFormat?: ResultFormat;
|
|
9
|
+
runnerType?: TestRunnerType;
|
|
8
10
|
};
|
|
9
11
|
export declare class AgentTestCache extends TTLConfig<TTLConfig.Options, CacheContents> {
|
|
10
12
|
static getFileName(): string;
|
|
11
13
|
static getDefaultOptions(): TTLConfig.Options;
|
|
12
|
-
createCacheEntry(runId: string, name: string, outputDir?: string, resultFormat?: ResultFormat): Promise<void>;
|
|
14
|
+
createCacheEntry(runId: string, name: string, outputDir?: string, resultFormat?: ResultFormat, runnerType?: TestRunnerType): Promise<void>;
|
|
13
15
|
removeCacheEntry(runId: string): Promise<void>;
|
|
14
16
|
resolveFromCache(): CacheContents;
|
|
15
17
|
useIdOrMostRecent(runId: string | undefined, useMostRecent: boolean): {
|
|
@@ -17,6 +19,7 @@ export declare class AgentTestCache extends TTLConfig<TTLConfig.Options, CacheCo
|
|
|
17
19
|
name?: string;
|
|
18
20
|
outputDir?: string;
|
|
19
21
|
resultFormat?: ResultFormat;
|
|
22
|
+
runnerType?: TestRunnerType;
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
25
|
export {};
|
package/lib/agentTestCache.js
CHANGED
|
@@ -28,10 +28,10 @@ export class AgentTestCache extends TTLConfig {
|
|
|
28
28
|
ttl: Duration.days(7),
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
async createCacheEntry(runId, name, outputDir, resultFormat) {
|
|
31
|
+
async createCacheEntry(runId, name, outputDir, resultFormat, runnerType) {
|
|
32
32
|
if (!runId)
|
|
33
33
|
throw new SfError('runId is required to create a cache entry');
|
|
34
|
-
this.set(runId, { runId, name, outputDir, resultFormat });
|
|
34
|
+
this.set(runId, { runId, name, outputDir, resultFormat, runnerType });
|
|
35
35
|
await this.write();
|
|
36
36
|
}
|
|
37
37
|
async removeCacheEntry(runId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentTestCache.js","sourceRoot":"","sources":["../src/agentTestCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentTestCache.js","sourceRoot":"","sources":["../src/agentTestCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAa3C,MAAM,OAAO,cAAe,SAAQ,SAA2C;IACtE,MAAM,CAAC,WAAW;QACvB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAC7B,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,cAAc,CAAC,WAAW,EAAE;YACtC,WAAW,EAAE,MAAM,CAAC,eAAe;YACnC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,KAAa,EACb,IAAY,EACZ,SAAkB,EAClB,YAA2B,EAC3B,UAA2B;QAE3B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAE3E,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,KAAa;QACzC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAE3E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,gBAAgB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,iBAAiB,CACtB,KAAyB,EACzB,aAAsB;QAEtB,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,OAAO,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -41,11 +41,16 @@ export default class AgentTestList extends SfCommand {
|
|
|
41
41
|
const wrapped = SfError.wrap(error);
|
|
42
42
|
throw new SfError(`Failed to retrieve agent tests: ${wrapped.message}`, 'ListRetrievalFailed', [wrapped.message], 4, wrapped);
|
|
43
43
|
}
|
|
44
|
+
const rows = results.map((r) => ({
|
|
45
|
+
...r,
|
|
46
|
+
type: r.type === 'AiEvaluationDefinition' ? 'testing-center' : 'agentforce-studio',
|
|
47
|
+
}));
|
|
44
48
|
this.table({
|
|
45
|
-
data:
|
|
49
|
+
data: rows,
|
|
46
50
|
columns: [
|
|
47
51
|
{ key: 'fullName', name: 'API Name' },
|
|
48
52
|
{ key: 'id', name: 'Id' },
|
|
53
|
+
{ key: 'type', name: 'Type' },
|
|
49
54
|
{ key: 'createdDate', name: 'Created Date' },
|
|
50
55
|
],
|
|
51
56
|
sort: { fullName: 'asc' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE1E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;AAItF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAA8B;IAChE,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;IAE5D,MAAM,CAAU,mBAAmB,GAAG,aAAa,CACxD,uBAAuB,EACvB,mBAAmB,CAAC,aAAa,CAClC,CAAC;IAEK,MAAM,CAAU,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE;QAC/D,eAAe,EAAE,kCAAkC;QACnD,YAAY,EAAE,8DAA8D;KAC7E,CAAC,CAAC;IAEI,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;KACrC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,IAAI,OAAO,CACf,mCAAmC,OAAO,CAAC,OAAO,EAAE,EACpD,qBAAqB,EACrB,CAAC,OAAO,CAAC,OAAO,CAAC,EACjB,CAAC,EACD,OAAO,CACR,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE1E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;AAItF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAA8B;IAChE,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;IAE5D,MAAM,CAAU,mBAAmB,GAAG,aAAa,CACxD,uBAAuB,EACvB,mBAAmB,CAAC,aAAa,CAClC,CAAC;IAEK,MAAM,CAAU,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE;QAC/D,eAAe,EAAE,kCAAkC;QACnD,YAAY,EAAE,8DAA8D;KAC7E,CAAC,CAAC;IAEI,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;KACrC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,IAAI,OAAO,CACf,mCAAmC,OAAO,CAAC,OAAO,EAAE,EACpD,qBAAqB,EACrB,CAAC,OAAO,CAAC,OAAO,CAAC,EACjB,CAAC,EACD,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;SACnF,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;gBACrC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE;aAC7C;YACD,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC1B,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
-
import { AgentTestResultsResponse } from '@salesforce/agents';
|
|
3
|
-
export type AgentTestResultsResult = AgentTestResultsResponse;
|
|
2
|
+
import { AgentTestResultsResponse, AgentforceStudioTestResultsResponse } from '@salesforce/agents';
|
|
3
|
+
export type AgentTestResultsResult = AgentTestResultsResponse | AgentforceStudioTestResultsResponse;
|
|
4
4
|
export default class AgentTestResults extends SfCommand<AgentTestResultsResult> {
|
|
5
5
|
static readonly summary: string;
|
|
6
6
|
static readonly description: string;
|
|
@@ -13,6 +13,7 @@ export default class AgentTestResults extends SfCommand<AgentTestResultsResult>
|
|
|
13
13
|
'job-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
14
|
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit" | "tap", import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'test-runner': import("@oclif/core/interfaces").OptionFlag<"agentforce-studio" | "testing-center" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
17
|
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
18
|
};
|
|
18
19
|
run(): Promise<AgentTestResultsResult>;
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { SfCommand, Flags, toHelpSection } from '@salesforce/sf-plugins-core';
|
|
17
17
|
import { EnvironmentVariable, Messages, SfError } from '@salesforce/core';
|
|
18
|
-
import {
|
|
19
|
-
import { resultFormatFlag, testOutputDirFlag, verboseFlag } from '../../../flags.js';
|
|
18
|
+
import { resultFormatFlag, testOutputDirFlag, testRunnerFlag, verboseFlag } from '../../../flags.js';
|
|
20
19
|
import { handleTestResults } from '../../../handleTestResults.js';
|
|
20
|
+
import { createTestRunner } from '../../../testRunnerFactory.js';
|
|
21
21
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
22
22
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.results');
|
|
23
23
|
export default class AgentTestResults extends SfCommand {
|
|
@@ -40,11 +40,13 @@ export default class AgentTestResults extends SfCommand {
|
|
|
40
40
|
}),
|
|
41
41
|
'result-format': resultFormatFlag(),
|
|
42
42
|
'output-dir': testOutputDirFlag(),
|
|
43
|
+
'test-runner': testRunnerFlag,
|
|
43
44
|
verbose: verboseFlag,
|
|
44
45
|
};
|
|
45
46
|
async run() {
|
|
46
47
|
const { flags } = await this.parse(AgentTestResults);
|
|
47
|
-
const
|
|
48
|
+
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
49
|
+
const { runner: agentTester } = await createTestRunner(connection, flags['test-runner'], undefined, flags['job-id']);
|
|
48
50
|
let response;
|
|
49
51
|
try {
|
|
50
52
|
response = await agentTester.results(flags['job-id']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/results.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export default class AgentTestResume extends SfCommand<AgentTestRunResult> {
|
|
|
16
16
|
wait: import("@oclif/core/interfaces").OptionFlag<import("@salesforce/kit").Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
17
|
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit" | "tap", import("@oclif/core/interfaces").CustomOptions>;
|
|
18
18
|
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'test-runner': import("@oclif/core/interfaces").OptionFlag<"agentforce-studio" | "testing-center" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
20
|
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
21
|
};
|
|
21
22
|
private mso;
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { SfCommand, Flags, toHelpSection } from '@salesforce/sf-plugins-core';
|
|
17
17
|
import { EnvironmentVariable, Messages, SfError } from '@salesforce/core';
|
|
18
|
-
import { AgentTester } from '@salesforce/agents';
|
|
19
18
|
import { AgentTestCache } from '../../../agentTestCache.js';
|
|
20
19
|
import { TestStages } from '../../../testStages.js';
|
|
21
|
-
import { resultFormatFlag, testOutputDirFlag, verboseFlag } from '../../../flags.js';
|
|
20
|
+
import { resultFormatFlag, testOutputDirFlag, testRunnerFlag, verboseFlag, } from '../../../flags.js';
|
|
22
21
|
import { handleTestResults } from '../../../handleTestResults.js';
|
|
22
|
+
import { createTestRunner } from '../../../testRunnerFactory.js';
|
|
23
23
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
24
24
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.resume');
|
|
25
25
|
export default class AgentTestResume extends SfCommand {
|
|
@@ -55,6 +55,7 @@ export default class AgentTestResume extends SfCommand {
|
|
|
55
55
|
}),
|
|
56
56
|
'result-format': resultFormatFlag(),
|
|
57
57
|
'output-dir': testOutputDirFlag(),
|
|
58
|
+
'test-runner': testRunnerFlag,
|
|
58
59
|
verbose: verboseFlag,
|
|
59
60
|
};
|
|
60
61
|
mso;
|
|
@@ -65,12 +66,14 @@ export default class AgentTestResume extends SfCommand {
|
|
|
65
66
|
let runId;
|
|
66
67
|
let outputDir;
|
|
67
68
|
let resultFormat;
|
|
69
|
+
let cachedRunnerType;
|
|
68
70
|
try {
|
|
69
71
|
const cacheEntry = agentTestCache.useIdOrMostRecent(flags['job-id'], flags['use-most-recent']);
|
|
70
72
|
name = cacheEntry.name;
|
|
71
73
|
runId = cacheEntry.runId;
|
|
72
74
|
outputDir = cacheEntry.outputDir;
|
|
73
75
|
resultFormat = cacheEntry.resultFormat;
|
|
76
|
+
cachedRunnerType = cacheEntry.runnerType;
|
|
74
77
|
}
|
|
75
78
|
catch (e) {
|
|
76
79
|
const wrapped = SfError.wrap(e);
|
|
@@ -87,7 +90,9 @@ export default class AgentTestResume extends SfCommand {
|
|
|
87
90
|
jsonEnabled: this.jsonEnabled(),
|
|
88
91
|
});
|
|
89
92
|
this.mso.start({ id: runId });
|
|
90
|
-
|
|
93
|
+
// Use explicit flag > cached runner type > ID prefix detection > org metadata query
|
|
94
|
+
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
95
|
+
const { runner: agentTester } = await createTestRunner(connection, flags['test-runner'] ?? cachedRunnerType, name, runId);
|
|
91
96
|
let completed;
|
|
92
97
|
let response;
|
|
93
98
|
try {
|
|
@@ -112,7 +117,10 @@ export default class AgentTestResume extends SfCommand {
|
|
|
112
117
|
});
|
|
113
118
|
// Set exit code to 1 only for execution errors (tests couldn't run properly)
|
|
114
119
|
// Test assertion failures are business logic and should not affect exit code
|
|
115
|
-
|
|
120
|
+
// Only applicable to legacy responses (Agentforce Studio doesn't have test case status)
|
|
121
|
+
if (response &&
|
|
122
|
+
'subjectName' in response &&
|
|
123
|
+
response.testCases.some((tc) => 'status' in tc && tc.status === 'ERROR')) {
|
|
116
124
|
process.exitCode = 1;
|
|
117
125
|
}
|
|
118
126
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
-
import { Org } from '@salesforce/core';
|
|
3
2
|
export type RunEvalResult = {
|
|
4
3
|
tests: Array<{
|
|
5
4
|
id: string;
|
|
@@ -18,16 +17,13 @@ export default class AgentTestRunEval extends SfCommand<RunEvalResult> {
|
|
|
18
17
|
static readonly summary: string;
|
|
19
18
|
static readonly description: string;
|
|
20
19
|
static readonly examples: string[];
|
|
21
|
-
static state: string;
|
|
22
|
-
static readonly hidden = true;
|
|
23
20
|
static readonly envVariablesSection: import("@oclif/core").HelpSection;
|
|
24
21
|
static readonly errorCodes: import("@oclif/core").HelpSection;
|
|
25
22
|
static readonly flags: {
|
|
26
|
-
'target-org': import("@oclif/core/interfaces").OptionFlag<Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
24
|
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
25
|
spec: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
26
|
'api-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
-
wait: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
27
|
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit" | "tap", import("@oclif/core/interfaces").CustomOptions>;
|
|
32
28
|
'batch-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
29
|
'no-normalize': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|