@salesforce/plugin-agent 1.42.1 → 1.44.4
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 +513 -68
- package/lib/adlUtils.d.ts +2 -0
- package/lib/adlUtils.js +31 -0
- package/lib/adlUtils.js.map +1 -0
- package/lib/commands/agent/adl/create.d.ts +6 -1
- package/lib/commands/agent/adl/create.js +83 -19
- package/lib/commands/agent/adl/create.js.map +1 -1
- package/lib/commands/agent/adl/delete.d.ts +0 -1
- package/lib/commands/agent/adl/delete.js +3 -2
- package/lib/commands/agent/adl/delete.js.map +1 -1
- package/lib/commands/agent/adl/file/add.d.ts +0 -1
- package/lib/commands/agent/adl/file/add.js +3 -2
- package/lib/commands/agent/adl/file/add.js.map +1 -1
- package/lib/commands/agent/adl/file/delete.d.ts +0 -1
- package/lib/commands/agent/adl/file/delete.js +4 -3
- package/lib/commands/agent/adl/file/delete.js.map +1 -1
- package/lib/commands/agent/adl/file/list.d.ts +5 -5
- package/lib/commands/agent/adl/file/list.js +31 -7
- package/lib/commands/agent/adl/file/list.js.map +1 -1
- package/lib/commands/agent/adl/get.d.ts +0 -1
- package/lib/commands/agent/adl/get.js +15 -3
- package/lib/commands/agent/adl/get.js.map +1 -1
- package/lib/commands/agent/adl/list.d.ts +0 -1
- package/lib/commands/agent/adl/list.js +3 -2
- package/lib/commands/agent/adl/list.js.map +1 -1
- package/lib/commands/agent/adl/status.d.ts +1 -1
- package/lib/commands/agent/adl/status.js +21 -4
- package/lib/commands/agent/adl/status.js.map +1 -1
- package/lib/commands/agent/adl/update.d.ts +1 -1
- package/lib/commands/agent/adl/update.js +18 -5
- package/lib/commands/agent/adl/update.js.map +1 -1
- package/lib/commands/agent/adl/upload.d.ts +0 -1
- package/lib/commands/agent/adl/upload.js +3 -2
- package/lib/commands/agent/adl/upload.js.map +1 -1
- package/lib/commands/agent/generate/test-spec.d.ts +9 -0
- package/lib/commands/agent/generate/test-spec.js +194 -11
- package/lib/commands/agent/generate/test-spec.js.map +1 -1
- package/lib/commands/agent/mcp/asset/list.d.ts +16 -0
- package/lib/commands/agent/mcp/asset/list.js +68 -0
- package/lib/commands/agent/mcp/asset/list.js.map +1 -0
- package/lib/commands/agent/mcp/asset/replace.d.ts +18 -0
- package/lib/commands/agent/mcp/asset/replace.js +95 -0
- package/lib/commands/agent/mcp/asset/replace.js.map +1 -0
- package/lib/commands/agent/mcp/create.d.ts +24 -0
- package/lib/commands/agent/mcp/create.js +112 -0
- package/lib/commands/agent/mcp/create.js.map +1 -0
- package/lib/commands/agent/mcp/delete.d.ts +19 -0
- package/lib/commands/agent/mcp/delete.js +65 -0
- package/lib/commands/agent/mcp/delete.js.map +1 -0
- package/lib/commands/agent/mcp/fetch.d.ts +16 -0
- package/lib/commands/agent/mcp/fetch.js +68 -0
- package/lib/commands/agent/mcp/fetch.js.map +1 -0
- package/lib/commands/agent/mcp/get.d.ts +16 -0
- package/lib/commands/agent/mcp/get.js +58 -0
- package/lib/commands/agent/mcp/get.js.map +1 -0
- package/lib/commands/agent/mcp/list.d.ts +18 -0
- package/lib/commands/agent/mcp/list.js +73 -0
- package/lib/commands/agent/mcp/list.js.map +1 -0
- package/lib/commands/agent/mcp/update.d.ts +24 -0
- package/lib/commands/agent/mcp/update.js +115 -0
- package/lib/commands/agent/mcp/update.js.map +1 -0
- package/lib/commands/agent/preview/start.d.ts +1 -0
- package/lib/commands/agent/preview/start.js +4 -1
- package/lib/commands/agent/preview/start.js.map +1 -1
- package/lib/commands/agent/preview.d.ts +1 -0
- package/lib/commands/agent/preview.js +4 -0
- package/lib/commands/agent/preview.js.map +1 -1
- package/lib/components/agent-preview-react.d.ts +2 -1
- package/lib/components/agent-preview-react.js +3 -3
- package/lib/components/agent-preview-react.js.map +1 -1
- package/lib/flags.d.ts +12 -1
- package/lib/flags.js +31 -0
- package/lib/flags.js.map +1 -1
- package/messages/agent.adl.create.md +22 -0
- package/messages/agent.adl.file.add.md +2 -0
- package/messages/agent.adl.file.delete.md +4 -0
- package/messages/agent.adl.file.list.md +12 -0
- package/messages/agent.adl.status.md +5 -1
- package/messages/agent.adl.update.md +4 -0
- package/messages/agent.adl.upload.md +2 -0
- package/messages/agent.generate.test-spec.md +33 -5
- package/messages/agent.mcp.asset.list.md +25 -0
- package/messages/agent.mcp.asset.replace.md +49 -0
- package/messages/agent.mcp.create.md +61 -0
- package/messages/agent.mcp.delete.md +37 -0
- package/messages/agent.mcp.fetch.md +25 -0
- package/messages/agent.mcp.get.md +25 -0
- package/messages/agent.mcp.list.md +33 -0
- package/messages/agent.mcp.update.md +65 -0
- package/messages/shared.md +16 -0
- package/oclif.manifest.json +1774 -842
- package/package.json +14 -4
- package/schemas/agent-adl-create.json +63 -3
- package/schemas/agent-adl-delete.json +5 -2
- package/schemas/agent-adl-file-add.json +7 -2
- package/schemas/agent-adl-file-delete.json +5 -2
- package/schemas/agent-adl-file-list.json +26 -3
- package/schemas/agent-adl-get.json +63 -3
- package/schemas/agent-adl-list.json +55 -3
- package/schemas/agent-adl-status.json +44 -4
- package/schemas/agent-adl-update.json +63 -3
- package/schemas/agent-adl-upload.json +5 -2
- package/schemas/agent-mcp-asset-list.json +65 -0
- package/schemas/agent-mcp-asset-replace.json +65 -0
- package/schemas/agent-mcp-create.json +144 -0
- package/schemas/agent-mcp-delete.json +22 -0
- package/schemas/agent-mcp-fetch.json +66 -0
- package/schemas/agent-mcp-get.json +86 -0
- package/schemas/agent-mcp-list.json +101 -0
- package/schemas/agent-mcp-update.json +86 -0
- package/schemas/agent-preview-end.json +8 -3
- package/schemas/agent-publish-authoring__bundle.json +8 -3
- package/schemas/agent-trace-delete.json +7 -2
- package/schemas/agent-trace-list.json +9 -2
- package/schemas/agent-trace-read.json +131 -21
package/oclif.manifest.json
CHANGED
|
@@ -374,6 +374,15 @@
|
|
|
374
374
|
"allowNo": false,
|
|
375
375
|
"type": "boolean"
|
|
376
376
|
},
|
|
377
|
+
"context-variables": {
|
|
378
|
+
"description": "Sets variables on the agent preview session, mirroring what the in-org Agentforce Builder UI does when you override variables before sending a message. Specify this flag multiple times or use comma-separated values. Two namespaces are supported, distinguished by the name shape. Names pass through to the runtime verbatim — the CLI doesn't transform them.\n\nLinked context variables use the \"$Context.\" prefix. These map to externally-provided fields that the runtime resolves (declared in the bundle's globalConfiguration.contextVariables) and are read by live actions and topic-routing expressions via $Context.Name. Example: $Context.MyLinkedVar=some-value.\n\nState variables use the bare developerName, no prefix. These seed mutable agent state declared in agentVersion.stateVariables. Example: MyStateVar=some-value.\n\nBoth namespaces can be mixed in one value. Example: --context-variables '$Context.MyLinkedVar=foo,MyStateVar=bar'.\n\nTips: (1) Quote the whole value in single quotes so $Context isn't shell-expanded. (2) Names are sent verbatim — a bare name is treated as a state variable, not a linked context variable, so live actions that bind via $Context.Name will see null. (3) Type defaults to Text.",
|
|
379
|
+
"name": "context-variables",
|
|
380
|
+
"summary": "Session variables for the agent preview session, in the form Name=Value.",
|
|
381
|
+
"delimiter": ",",
|
|
382
|
+
"hasDynamicHelp": false,
|
|
383
|
+
"multiple": true,
|
|
384
|
+
"type": "option"
|
|
385
|
+
},
|
|
377
386
|
"agent-json": {
|
|
378
387
|
"dependsOn": [
|
|
379
388
|
"authoring-bundle"
|
|
@@ -412,7 +421,7 @@
|
|
|
412
421
|
"agent:adl:create": {
|
|
413
422
|
"aliases": [],
|
|
414
423
|
"args": {},
|
|
415
|
-
"description": "Creates a new data library in the target org. The --source-type flag determines the type of library: SFDRIVE (file upload), KNOWLEDGE (Salesforce Knowledge articles), or RETRIEVER (existing active Custom Retriever).",
|
|
424
|
+
"description": "Creates a new data library in the target org. The --source-type flag determines the type of library: SFDRIVE (file upload), KNOWLEDGE (Salesforce Knowledge articles), or RETRIEVER (existing active Custom Retriever).\n\nFor SFDRIVE libraries, creation provisions the full Data Cloud pipeline (DLO → DMO → SearchIndex → Retriever). Upload files with `sf agent adl upload` after creation.",
|
|
416
425
|
"examples": [
|
|
417
426
|
"Create an SFDRIVE library:\n<%= config.bin %> <%= command.id %> --target-org myOrg --name \"My Docs\" --developer-name My_Docs --source-type sfdrive",
|
|
418
427
|
"Create a KNOWLEDGE library with index fields:\n<%= config.bin %> <%= command.id %> --target-org myOrg --name \"KB Library\" --developer-name KB_Library --source-type knowledge --primary-index-field1 Title --primary-index-field2 Summary",
|
|
@@ -519,6 +528,35 @@
|
|
|
519
528
|
"hasDynamicHelp": false,
|
|
520
529
|
"multiple": false,
|
|
521
530
|
"type": "option"
|
|
531
|
+
},
|
|
532
|
+
"content-fields": {
|
|
533
|
+
"name": "content-fields",
|
|
534
|
+
"summary": "Comma-separated list of content fields for KNOWLEDGE libraries (optional, mutable after creation).",
|
|
535
|
+
"hasDynamicHelp": false,
|
|
536
|
+
"multiple": false,
|
|
537
|
+
"type": "option"
|
|
538
|
+
},
|
|
539
|
+
"data-category-ids": {
|
|
540
|
+
"name": "data-category-ids",
|
|
541
|
+
"summary": "Comma-separated list of data category selection IDs for KNOWLEDGE libraries. Mutually exclusive with --data-category-names (provide one or the other, not both).",
|
|
542
|
+
"hasDynamicHelp": false,
|
|
543
|
+
"multiple": false,
|
|
544
|
+
"type": "option"
|
|
545
|
+
},
|
|
546
|
+
"data-category-names": {
|
|
547
|
+
"name": "data-category-names",
|
|
548
|
+
"summary": "Comma-separated list of data category names in qualified format (e.g., \"Group_API_Name.Category\"). Mutually exclusive with --data-category-ids (provide one or the other, not both).",
|
|
549
|
+
"hasDynamicHelp": false,
|
|
550
|
+
"multiple": false,
|
|
551
|
+
"type": "option"
|
|
552
|
+
},
|
|
553
|
+
"wait": {
|
|
554
|
+
"char": "w",
|
|
555
|
+
"name": "wait",
|
|
556
|
+
"summary": "Wait N minutes for indexing to complete (KNOWLEDGE libraries). SFDRIVE libraries require upload before indexing; RETRIEVER libraries are ready immediately.",
|
|
557
|
+
"hasDynamicHelp": true,
|
|
558
|
+
"multiple": false,
|
|
559
|
+
"type": "option"
|
|
522
560
|
}
|
|
523
561
|
},
|
|
524
562
|
"hasDynamicHelp": true,
|
|
@@ -527,7 +565,6 @@
|
|
|
527
565
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
528
566
|
"pluginName": "@salesforce/plugin-agent",
|
|
529
567
|
"pluginType": "core",
|
|
530
|
-
"state": "preview",
|
|
531
568
|
"strict": true,
|
|
532
569
|
"summary": "Create an Agentforce Data Library.",
|
|
533
570
|
"enableJsonFlag": true,
|
|
@@ -605,7 +642,6 @@
|
|
|
605
642
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
606
643
|
"pluginName": "@salesforce/plugin-agent",
|
|
607
644
|
"pluginType": "core",
|
|
608
|
-
"state": "preview",
|
|
609
645
|
"strict": true,
|
|
610
646
|
"summary": "Delete an Agentforce Data Library.",
|
|
611
647
|
"enableJsonFlag": true,
|
|
@@ -683,7 +719,6 @@
|
|
|
683
719
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
684
720
|
"pluginName": "@salesforce/plugin-agent",
|
|
685
721
|
"pluginType": "core",
|
|
686
|
-
"state": "preview",
|
|
687
722
|
"strict": true,
|
|
688
723
|
"summary": "Get details of an Agentforce Data Library.",
|
|
689
724
|
"enableJsonFlag": true,
|
|
@@ -765,7 +800,6 @@
|
|
|
765
800
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
766
801
|
"pluginName": "@salesforce/plugin-agent",
|
|
767
802
|
"pluginType": "core",
|
|
768
|
-
"state": "preview",
|
|
769
803
|
"strict": true,
|
|
770
804
|
"summary": "List Agentforce Data Libraries in an org.",
|
|
771
805
|
"enableJsonFlag": true,
|
|
@@ -790,7 +824,7 @@
|
|
|
790
824
|
"agent:adl:status": {
|
|
791
825
|
"aliases": [],
|
|
792
826
|
"args": {},
|
|
793
|
-
"description": "Returns the current indexing status including stage details (DATA_LAKE_OBJECT, SEARCH_INDEX, RETRIEVER) and any errors.",
|
|
827
|
+
"description": "Returns the current indexing status including stage details (DATA_STREAM, DATA_LAKE_OBJECT, DATA_MODEL_OBJECT, SEARCH_INDEX, RETRIEVER) and any errors.",
|
|
794
828
|
"examples": [
|
|
795
829
|
"Get status of a data library:\n<%= config.bin %> <%= command.id %> --library-id 1JDSG000007IbWX4A0 --target-org myOrg"
|
|
796
830
|
],
|
|
@@ -835,6 +869,12 @@
|
|
|
835
869
|
"hasDynamicHelp": false,
|
|
836
870
|
"multiple": false,
|
|
837
871
|
"type": "option"
|
|
872
|
+
},
|
|
873
|
+
"include-artifacts": {
|
|
874
|
+
"name": "include-artifacts",
|
|
875
|
+
"summary": "Resolve DC asset artifacts (DataStream, DLO, DMO, SearchIndex, Retriever) with entity IDs and names on each stage. Slower — requires additional queries.",
|
|
876
|
+
"allowNo": false,
|
|
877
|
+
"type": "boolean"
|
|
838
878
|
}
|
|
839
879
|
},
|
|
840
880
|
"hasDynamicHelp": true,
|
|
@@ -843,7 +883,6 @@
|
|
|
843
883
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
844
884
|
"pluginName": "@salesforce/plugin-agent",
|
|
845
885
|
"pluginType": "core",
|
|
846
|
-
"state": "preview",
|
|
847
886
|
"strict": true,
|
|
848
887
|
"summary": "Get indexing status of an Agentforce Data Library.",
|
|
849
888
|
"enableJsonFlag": true,
|
|
@@ -945,6 +984,12 @@
|
|
|
945
984
|
"allowNo": true,
|
|
946
985
|
"type": "boolean"
|
|
947
986
|
},
|
|
987
|
+
"data-category-rule": {
|
|
988
|
+
"name": "data-category-rule",
|
|
989
|
+
"summary": "Enable or disable data category filtering for KNOWLEDGE libraries. Use --no-data-category-rule to disable.",
|
|
990
|
+
"allowNo": true,
|
|
991
|
+
"type": "boolean"
|
|
992
|
+
},
|
|
948
993
|
"retriever-id": {
|
|
949
994
|
"name": "retriever-id",
|
|
950
995
|
"summary": "Swap the retriever for a RETRIEVER library (must be an active Custom Retriever ID).",
|
|
@@ -959,7 +1004,6 @@
|
|
|
959
1004
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
960
1005
|
"pluginName": "@salesforce/plugin-agent",
|
|
961
1006
|
"pluginType": "core",
|
|
962
|
-
"state": "preview",
|
|
963
1007
|
"strict": true,
|
|
964
1008
|
"summary": "Update an Agentforce Data Library.",
|
|
965
1009
|
"enableJsonFlag": true,
|
|
@@ -984,7 +1028,7 @@
|
|
|
984
1028
|
"agent:adl:upload": {
|
|
985
1029
|
"aliases": [],
|
|
986
1030
|
"args": {},
|
|
987
|
-
"description": "Performs the multi-step upload workflow: checks upload readiness, obtains a pre-signed S3 URL, uploads the file, triggers indexing, and optionally polls until the library is ready (retrieverId is populated).\n\nThis command only works with SFDRIVE libraries. KNOWLEDGE libraries index automatically after creation, and RETRIEVER libraries require no file upload.",
|
|
1031
|
+
"description": "Performs the multi-step upload workflow: checks upload readiness, obtains a pre-signed S3 URL, uploads the file, triggers indexing, and optionally polls until the library is ready (retrieverId is populated).\n\nUpload triggers the full Data Cloud provisioning pipeline, creating all downstream assets (DLO, DMO, SearchIndex, Retriever). Use `sf agent adl status` to monitor progress. For adding files to an already-provisioned library, use `sf agent adl file add` instead.\n\nThis command only works with SFDRIVE libraries. KNOWLEDGE libraries index automatically after creation, and RETRIEVER libraries require no file upload.",
|
|
988
1032
|
"examples": [
|
|
989
1033
|
"Upload a file and wait for indexing to complete:\n<%= config.bin %> <%= command.id %> --library-id 1JDSG000007IbWX4A0 --file ./docs/guide.pdf --target-org myOrg --wait 10",
|
|
990
1034
|
"Upload a file without waiting:\n<%= config.bin %> <%= command.id %> --library-id 1JDSG000007IbWX4A0 --file ./docs/guide.pdf --target-org myOrg"
|
|
@@ -1055,7 +1099,6 @@
|
|
|
1055
1099
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1056
1100
|
"pluginName": "@salesforce/plugin-agent",
|
|
1057
1101
|
"pluginType": "core",
|
|
1058
|
-
"state": "preview",
|
|
1059
1102
|
"strict": true,
|
|
1060
1103
|
"summary": "Upload a file to an SFDRIVE Agentforce Data Library.",
|
|
1061
1104
|
"enableJsonFlag": true,
|
|
@@ -1077,16 +1120,13 @@
|
|
|
1077
1120
|
"upload:adl:agent"
|
|
1078
1121
|
]
|
|
1079
1122
|
},
|
|
1080
|
-
"agent:
|
|
1123
|
+
"agent:mcp:create": {
|
|
1081
1124
|
"aliases": [],
|
|
1082
1125
|
"args": {},
|
|
1083
|
-
"description": "
|
|
1126
|
+
"description": "Registers an external Model Context Protocol (MCP) server with the API Catalog and discovers its assets (tools, prompts, and resources). Provide the server URL and, when the server requires it, OAuth authorization details. When the authorization type is OAUTH you must supply the identity provider, client ID, client secret, and scope.",
|
|
1084
1127
|
"examples": [
|
|
1085
|
-
"
|
|
1086
|
-
"
|
|
1087
|
-
"Be prompted for all required and optional agent properties; use your default org:\n<%= config.bin %> <%= command.id %> --full-interview",
|
|
1088
|
-
"Specify an existing agent spec file called \"specs/resortManagerAgent.yaml\", and then overwrite it with a new version that contains newly AI-generated topics based on the updated role information passed in with the --role flag:\n<%= config.bin %> <%= command.id %> --spec specs/resortManagerAgent.yaml --output-file specs/resortManagerAgent.yaml --role \"Field customer complaints, manage employee schedules, and ensure all resort operations are running smoothly\"",
|
|
1089
|
-
"Specify that the conversational tone of the agent is formal and to attach the \"resortmanager@myorg.com\" username to it; be prompted for the required properties and use your default org:\n<%= config.bin %> <%= command.id %> --tone formal --agent-user resortmanager@myorg.com"
|
|
1128
|
+
"Create an MCP server with no authentication:\n<%= config.bin %> <%= command.id %> --name myServer --server-url https://mcp.example.com --target-org myOrg",
|
|
1129
|
+
"Create an MCP server that uses OAuth authentication, piping the client secret from stdin to keep it out of shell history:\ncat secret.txt | <%= config.bin %> <%= command.id %> --name myServer --server-url https://mcp.example.com --auth-type OAUTH --identity-provider myIdp --client-id abc123 --client-secret - --scope \"read write\" --target-org myOrg"
|
|
1090
1130
|
],
|
|
1091
1131
|
"flags": {
|
|
1092
1132
|
"json": {
|
|
@@ -1121,164 +1161,113 @@
|
|
|
1121
1161
|
"multiple": false,
|
|
1122
1162
|
"type": "option"
|
|
1123
1163
|
},
|
|
1124
|
-
"
|
|
1125
|
-
"
|
|
1126
|
-
"
|
|
1127
|
-
"
|
|
1128
|
-
"
|
|
1129
|
-
"options": [
|
|
1130
|
-
"customer",
|
|
1131
|
-
"internal"
|
|
1132
|
-
],
|
|
1133
|
-
"type": "option"
|
|
1134
|
-
},
|
|
1135
|
-
"role": {
|
|
1136
|
-
"name": "role",
|
|
1137
|
-
"summary": "Role of the agent.",
|
|
1138
|
-
"hasDynamicHelp": false,
|
|
1139
|
-
"multiple": false,
|
|
1140
|
-
"type": "option"
|
|
1141
|
-
},
|
|
1142
|
-
"company-name": {
|
|
1143
|
-
"name": "company-name",
|
|
1144
|
-
"summary": "Name of your company.",
|
|
1145
|
-
"hasDynamicHelp": false,
|
|
1146
|
-
"multiple": false,
|
|
1147
|
-
"type": "option"
|
|
1148
|
-
},
|
|
1149
|
-
"company-description": {
|
|
1150
|
-
"name": "company-description",
|
|
1151
|
-
"summary": "Description of your company.",
|
|
1152
|
-
"hasDynamicHelp": false,
|
|
1153
|
-
"multiple": false,
|
|
1154
|
-
"type": "option"
|
|
1155
|
-
},
|
|
1156
|
-
"company-website": {
|
|
1157
|
-
"name": "company-website",
|
|
1158
|
-
"summary": "Website URL of your company.",
|
|
1164
|
+
"name": {
|
|
1165
|
+
"char": "n",
|
|
1166
|
+
"name": "name",
|
|
1167
|
+
"required": true,
|
|
1168
|
+
"summary": "Unique name of the MCP server.",
|
|
1159
1169
|
"hasDynamicHelp": false,
|
|
1160
1170
|
"multiple": false,
|
|
1161
1171
|
"type": "option"
|
|
1162
1172
|
},
|
|
1163
|
-
"
|
|
1164
|
-
"name": "
|
|
1165
|
-
"summary": "
|
|
1173
|
+
"label": {
|
|
1174
|
+
"name": "label",
|
|
1175
|
+
"summary": "Human-readable label for the MCP server.",
|
|
1166
1176
|
"hasDynamicHelp": false,
|
|
1167
1177
|
"multiple": false,
|
|
1168
1178
|
"type": "option"
|
|
1169
1179
|
},
|
|
1170
|
-
"
|
|
1171
|
-
"name": "
|
|
1172
|
-
"summary": "
|
|
1180
|
+
"description": {
|
|
1181
|
+
"name": "description",
|
|
1182
|
+
"summary": "Description of the MCP server.",
|
|
1173
1183
|
"hasDynamicHelp": false,
|
|
1174
1184
|
"multiple": false,
|
|
1175
1185
|
"type": "option"
|
|
1176
1186
|
},
|
|
1177
|
-
"
|
|
1178
|
-
"name": "
|
|
1179
|
-
"
|
|
1187
|
+
"server-url": {
|
|
1188
|
+
"name": "server-url",
|
|
1189
|
+
"required": true,
|
|
1190
|
+
"summary": "URL of the external MCP server.",
|
|
1180
1191
|
"hasDynamicHelp": false,
|
|
1181
1192
|
"multiple": false,
|
|
1182
|
-
"options": [
|
|
1183
|
-
"true",
|
|
1184
|
-
"false"
|
|
1185
|
-
],
|
|
1186
1193
|
"type": "option"
|
|
1187
1194
|
},
|
|
1188
|
-
"
|
|
1189
|
-
"name": "
|
|
1190
|
-
"summary": "
|
|
1195
|
+
"auth-type": {
|
|
1196
|
+
"name": "auth-type",
|
|
1197
|
+
"summary": "Authorization type to use when connecting to the MCP server.",
|
|
1198
|
+
"default": "NO_AUTH",
|
|
1191
1199
|
"hasDynamicHelp": false,
|
|
1192
1200
|
"multiple": false,
|
|
1193
1201
|
"options": [
|
|
1194
|
-
"
|
|
1195
|
-
"
|
|
1196
|
-
"neutral"
|
|
1202
|
+
"OAUTH",
|
|
1203
|
+
"NO_AUTH"
|
|
1197
1204
|
],
|
|
1198
1205
|
"type": "option"
|
|
1199
1206
|
},
|
|
1200
|
-
"
|
|
1201
|
-
"name": "
|
|
1202
|
-
"summary": "
|
|
1207
|
+
"identity-provider": {
|
|
1208
|
+
"name": "identity-provider",
|
|
1209
|
+
"summary": "Identity provider to use for OAuth authorization. Required when auth-type is OAUTH.",
|
|
1203
1210
|
"hasDynamicHelp": false,
|
|
1204
1211
|
"multiple": false,
|
|
1205
1212
|
"type": "option"
|
|
1206
1213
|
},
|
|
1207
|
-
"
|
|
1208
|
-
"name": "
|
|
1209
|
-
"summary": "
|
|
1210
|
-
"default": "specs/agentSpec.yaml",
|
|
1214
|
+
"client-id": {
|
|
1215
|
+
"name": "client-id",
|
|
1216
|
+
"summary": "OAuth client ID. Required when auth-type is OAUTH.",
|
|
1211
1217
|
"hasDynamicHelp": false,
|
|
1212
1218
|
"multiple": false,
|
|
1213
1219
|
"type": "option"
|
|
1214
1220
|
},
|
|
1215
|
-
"
|
|
1216
|
-
"name": "
|
|
1217
|
-
"summary": "
|
|
1218
|
-
"allowNo": false,
|
|
1219
|
-
"type": "boolean"
|
|
1220
|
-
},
|
|
1221
|
-
"prompt-template": {
|
|
1222
|
-
"name": "prompt-template",
|
|
1223
|
-
"summary": "API name of a customized prompt template to use instead of the default prompt template.",
|
|
1221
|
+
"client-secret": {
|
|
1222
|
+
"name": "client-secret",
|
|
1223
|
+
"summary": "OAuth client secret. Required when auth-type is OAUTH. Pass \"-\" to read it from stdin (piped) and keep it out of shell history.",
|
|
1224
1224
|
"hasDynamicHelp": false,
|
|
1225
1225
|
"multiple": false,
|
|
1226
1226
|
"type": "option"
|
|
1227
1227
|
},
|
|
1228
|
-
"
|
|
1229
|
-
"
|
|
1230
|
-
|
|
1231
|
-
],
|
|
1232
|
-
"name": "grounding-context",
|
|
1233
|
-
"summary": "Context information and personalization that's added to your prompts when using a custom prompt template.",
|
|
1228
|
+
"scope": {
|
|
1229
|
+
"name": "scope",
|
|
1230
|
+
"summary": "OAuth scope to request. Required when auth-type is OAUTH.",
|
|
1234
1231
|
"hasDynamicHelp": false,
|
|
1235
1232
|
"multiple": false,
|
|
1236
1233
|
"type": "option"
|
|
1237
|
-
},
|
|
1238
|
-
"force-overwrite": {
|
|
1239
|
-
"name": "force-overwrite",
|
|
1240
|
-
"summary": "Don't prompt the user to confirm that an existing spec file will be overwritten.",
|
|
1241
|
-
"allowNo": false,
|
|
1242
|
-
"type": "boolean"
|
|
1243
1234
|
}
|
|
1244
1235
|
},
|
|
1245
1236
|
"hasDynamicHelp": true,
|
|
1246
1237
|
"hiddenAliases": [],
|
|
1247
|
-
"id": "agent:
|
|
1238
|
+
"id": "agent:mcp:create",
|
|
1248
1239
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1249
1240
|
"pluginName": "@salesforce/plugin-agent",
|
|
1250
1241
|
"pluginType": "core",
|
|
1242
|
+
"state": "preview",
|
|
1251
1243
|
"strict": true,
|
|
1252
|
-
"summary": "
|
|
1244
|
+
"summary": "Create an MCP server in the API Catalog.",
|
|
1253
1245
|
"enableJsonFlag": true,
|
|
1254
|
-
"requiresProject": true,
|
|
1255
1246
|
"isESM": true,
|
|
1256
1247
|
"relativePath": [
|
|
1257
1248
|
"lib",
|
|
1258
1249
|
"commands",
|
|
1259
1250
|
"agent",
|
|
1260
|
-
"
|
|
1261
|
-
"
|
|
1251
|
+
"mcp",
|
|
1252
|
+
"create.js"
|
|
1262
1253
|
],
|
|
1263
1254
|
"aliasPermutations": [],
|
|
1264
1255
|
"permutations": [
|
|
1265
|
-
"agent:
|
|
1266
|
-
"
|
|
1267
|
-
"
|
|
1268
|
-
"agent:
|
|
1269
|
-
"
|
|
1270
|
-
"
|
|
1256
|
+
"agent:mcp:create",
|
|
1257
|
+
"mcp:agent:create",
|
|
1258
|
+
"mcp:create:agent",
|
|
1259
|
+
"agent:create:mcp",
|
|
1260
|
+
"create:agent:mcp",
|
|
1261
|
+
"create:mcp:agent"
|
|
1271
1262
|
]
|
|
1272
1263
|
},
|
|
1273
|
-
"agent:
|
|
1264
|
+
"agent:mcp:delete": {
|
|
1274
1265
|
"aliases": [],
|
|
1275
1266
|
"args": {},
|
|
1276
|
-
"description": "
|
|
1267
|
+
"description": "Permanently removes an MCP (Model Context Protocol) server registration from the API Catalog, identified by its ID. By default you are prompted to confirm the deletion; pass --no-prompt to skip the confirmation (for example in scripts and CI).",
|
|
1277
1268
|
"examples": [
|
|
1278
|
-
"
|
|
1279
|
-
"
|
|
1280
|
-
"Generate an authoring bundle from the \"specs/agentSpec.yaml\" agent spec YAML file and give it the label \"My Authoring Bundle\"; use your default org:\n<%= config.bin %> <%= command.id %> --spec specs/agentSpec.yaml --name \"My Authoring Bundle\"",
|
|
1281
|
-
"Similar to previous example, but generate the authoring bundle files in the \"other-package-dir/main/default\" package directory; use the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --spec specs/agentSpec.yaml --name \"My Authoring Bundle\" --output-dir other-package-dir/main/default --target-org my-dev-org"
|
|
1269
|
+
"Delete an MCP server, confirming interactively:\n<%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --target-org myOrg",
|
|
1270
|
+
"Delete an MCP server without a confirmation prompt:\n<%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --target-org myOrg --no-prompt"
|
|
1282
1271
|
],
|
|
1283
1272
|
"flags": {
|
|
1284
1273
|
"json": {
|
|
@@ -1306,13 +1295,6 @@
|
|
|
1306
1295
|
"multiple": false,
|
|
1307
1296
|
"type": "option"
|
|
1308
1297
|
},
|
|
1309
|
-
"api-name": {
|
|
1310
|
-
"name": "api-name",
|
|
1311
|
-
"summary": "API name of the new authoring bundle; if not specified, the API name is derived from the authoring bundle name (label); the API name can't exist in the org.",
|
|
1312
|
-
"hasDynamicHelp": false,
|
|
1313
|
-
"multiple": false,
|
|
1314
|
-
"type": "option"
|
|
1315
|
-
},
|
|
1316
1298
|
"api-version": {
|
|
1317
1299
|
"description": "Override the api version used for api requests made by this command",
|
|
1318
1300
|
"name": "api-version",
|
|
@@ -1320,77 +1302,57 @@
|
|
|
1320
1302
|
"multiple": false,
|
|
1321
1303
|
"type": "option"
|
|
1322
1304
|
},
|
|
1323
|
-
"
|
|
1324
|
-
"char": "
|
|
1325
|
-
"name": "
|
|
1326
|
-
"
|
|
1327
|
-
"
|
|
1328
|
-
"multiple": false,
|
|
1329
|
-
"type": "option"
|
|
1330
|
-
},
|
|
1331
|
-
"no-spec": {
|
|
1332
|
-
"name": "no-spec",
|
|
1333
|
-
"summary": "Skip prompting for an agent spec and use the default Agent Script boilerplate in the generated authoring bundle.",
|
|
1334
|
-
"allowNo": false,
|
|
1335
|
-
"type": "boolean"
|
|
1336
|
-
},
|
|
1337
|
-
"output-dir": {
|
|
1338
|
-
"char": "d",
|
|
1339
|
-
"name": "output-dir",
|
|
1340
|
-
"summary": "Directory where the authoring bundle files are generated.",
|
|
1341
|
-
"hasDynamicHelp": false,
|
|
1342
|
-
"multiple": false,
|
|
1343
|
-
"type": "option"
|
|
1344
|
-
},
|
|
1345
|
-
"name": {
|
|
1346
|
-
"char": "n",
|
|
1347
|
-
"name": "name",
|
|
1348
|
-
"summary": "Name (label) of the authoring bundle; if not specified, you're prompted for the name.",
|
|
1305
|
+
"mcp-server-id": {
|
|
1306
|
+
"char": "i",
|
|
1307
|
+
"name": "mcp-server-id",
|
|
1308
|
+
"required": true,
|
|
1309
|
+
"summary": "ID of the MCP server to delete.",
|
|
1349
1310
|
"hasDynamicHelp": false,
|
|
1350
1311
|
"multiple": false,
|
|
1351
1312
|
"type": "option"
|
|
1352
1313
|
},
|
|
1353
|
-
"
|
|
1354
|
-
"name": "
|
|
1355
|
-
"summary": "
|
|
1314
|
+
"no-prompt": {
|
|
1315
|
+
"name": "no-prompt",
|
|
1316
|
+
"summary": "Skip the confirmation prompt and delete the MCP server immediately.",
|
|
1356
1317
|
"allowNo": false,
|
|
1357
1318
|
"type": "boolean"
|
|
1358
1319
|
}
|
|
1359
1320
|
},
|
|
1360
1321
|
"hasDynamicHelp": true,
|
|
1361
1322
|
"hiddenAliases": [],
|
|
1362
|
-
"id": "agent:
|
|
1323
|
+
"id": "agent:mcp:delete",
|
|
1363
1324
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1364
1325
|
"pluginName": "@salesforce/plugin-agent",
|
|
1365
1326
|
"pluginType": "core",
|
|
1327
|
+
"state": "preview",
|
|
1366
1328
|
"strict": true,
|
|
1367
|
-
"summary": "
|
|
1329
|
+
"summary": "Delete an MCP server from the API Catalog.",
|
|
1368
1330
|
"enableJsonFlag": true,
|
|
1369
|
-
"requiresProject": true,
|
|
1370
1331
|
"isESM": true,
|
|
1371
1332
|
"relativePath": [
|
|
1372
1333
|
"lib",
|
|
1373
1334
|
"commands",
|
|
1374
1335
|
"agent",
|
|
1375
|
-
"
|
|
1376
|
-
"
|
|
1336
|
+
"mcp",
|
|
1337
|
+
"delete.js"
|
|
1377
1338
|
],
|
|
1378
1339
|
"aliasPermutations": [],
|
|
1379
1340
|
"permutations": [
|
|
1380
|
-
"agent:
|
|
1381
|
-
"
|
|
1382
|
-
"
|
|
1383
|
-
"agent:
|
|
1384
|
-
"
|
|
1385
|
-
"
|
|
1341
|
+
"agent:mcp:delete",
|
|
1342
|
+
"mcp:agent:delete",
|
|
1343
|
+
"mcp:delete:agent",
|
|
1344
|
+
"agent:delete:mcp",
|
|
1345
|
+
"delete:agent:mcp",
|
|
1346
|
+
"delete:mcp:agent"
|
|
1386
1347
|
]
|
|
1387
1348
|
},
|
|
1388
|
-
"agent:
|
|
1349
|
+
"agent:mcp:fetch": {
|
|
1389
1350
|
"aliases": [],
|
|
1390
1351
|
"args": {},
|
|
1391
|
-
"description": "
|
|
1352
|
+
"description": "Performs a live fetch against the configured MCP server identified by its ID, returning the assets (MCP tools, prompts, and resources) it currently advertises along with their status and activation state. Use this to refresh the view of what an MCP server exposes before activating its assets as agent actions.",
|
|
1392
1353
|
"examples": [
|
|
1393
|
-
"
|
|
1354
|
+
"Fetch the assets advertised by an MCP server in the default target org:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0XSxx0000000001",
|
|
1355
|
+
"Fetch MCP server assets and output as JSON:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0XSxx0000000001 --json"
|
|
1394
1356
|
],
|
|
1395
1357
|
"flags": {
|
|
1396
1358
|
"json": {
|
|
@@ -1408,44 +1370,28 @@
|
|
|
1408
1370
|
"multiple": false,
|
|
1409
1371
|
"type": "option"
|
|
1410
1372
|
},
|
|
1411
|
-
"
|
|
1412
|
-
"
|
|
1413
|
-
"name": "
|
|
1414
|
-
"hasDynamicHelp": false,
|
|
1415
|
-
"multiple": false,
|
|
1416
|
-
"type": "option"
|
|
1417
|
-
},
|
|
1418
|
-
"source-org": {
|
|
1419
|
-
"char": "s",
|
|
1420
|
-
"name": "source-org",
|
|
1373
|
+
"target-org": {
|
|
1374
|
+
"char": "o",
|
|
1375
|
+
"name": "target-org",
|
|
1421
1376
|
"noCacheDefault": true,
|
|
1422
1377
|
"required": true,
|
|
1423
|
-
"summary": "Username or alias of the
|
|
1378
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
1424
1379
|
"hasDynamicHelp": true,
|
|
1425
1380
|
"multiple": false,
|
|
1426
1381
|
"type": "option"
|
|
1427
1382
|
},
|
|
1428
|
-
"
|
|
1429
|
-
"
|
|
1430
|
-
"
|
|
1431
|
-
"summary": "Version of the agent (BotVersion).",
|
|
1383
|
+
"api-version": {
|
|
1384
|
+
"description": "Override the api version used for api requests made by this command",
|
|
1385
|
+
"name": "api-version",
|
|
1432
1386
|
"hasDynamicHelp": false,
|
|
1433
1387
|
"multiple": false,
|
|
1434
1388
|
"type": "option"
|
|
1435
1389
|
},
|
|
1436
|
-
"
|
|
1437
|
-
"char": "
|
|
1438
|
-
"name": "
|
|
1390
|
+
"mcp-server-id": {
|
|
1391
|
+
"char": "i",
|
|
1392
|
+
"name": "mcp-server-id",
|
|
1439
1393
|
"required": true,
|
|
1440
|
-
"summary": "
|
|
1441
|
-
"hasDynamicHelp": false,
|
|
1442
|
-
"multiple": false,
|
|
1443
|
-
"type": "option"
|
|
1444
|
-
},
|
|
1445
|
-
"output-dir": {
|
|
1446
|
-
"char": "r",
|
|
1447
|
-
"name": "output-dir",
|
|
1448
|
-
"summary": "Directory where the generated BotTemplate and GenAiPlannerBundle files are saved.",
|
|
1394
|
+
"summary": "ID of the MCP server to fetch assets from.",
|
|
1449
1395
|
"hasDynamicHelp": false,
|
|
1450
1396
|
"multiple": false,
|
|
1451
1397
|
"type": "option"
|
|
@@ -1453,42 +1399,48 @@
|
|
|
1453
1399
|
},
|
|
1454
1400
|
"hasDynamicHelp": true,
|
|
1455
1401
|
"hiddenAliases": [],
|
|
1456
|
-
"id": "agent:
|
|
1402
|
+
"id": "agent:mcp:fetch",
|
|
1457
1403
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1458
1404
|
"pluginName": "@salesforce/plugin-agent",
|
|
1459
1405
|
"pluginType": "core",
|
|
1406
|
+
"state": "preview",
|
|
1460
1407
|
"strict": true,
|
|
1461
|
-
"summary": "
|
|
1408
|
+
"summary": "Fetch the live assets (tools, prompts, resources) advertised by an MCP server.",
|
|
1462
1409
|
"enableJsonFlag": true,
|
|
1463
|
-
"requiresProject": true,
|
|
1464
1410
|
"isESM": true,
|
|
1465
1411
|
"relativePath": [
|
|
1466
1412
|
"lib",
|
|
1467
1413
|
"commands",
|
|
1468
1414
|
"agent",
|
|
1469
|
-
"
|
|
1470
|
-
"
|
|
1415
|
+
"mcp",
|
|
1416
|
+
"fetch.js"
|
|
1471
1417
|
],
|
|
1472
1418
|
"aliasPermutations": [],
|
|
1473
1419
|
"permutations": [
|
|
1474
|
-
"agent:
|
|
1475
|
-
"
|
|
1476
|
-
"
|
|
1477
|
-
"agent:
|
|
1478
|
-
"
|
|
1479
|
-
"
|
|
1420
|
+
"agent:mcp:fetch",
|
|
1421
|
+
"mcp:agent:fetch",
|
|
1422
|
+
"mcp:fetch:agent",
|
|
1423
|
+
"agent:fetch:mcp",
|
|
1424
|
+
"fetch:agent:mcp",
|
|
1425
|
+
"fetch:mcp:agent"
|
|
1480
1426
|
]
|
|
1481
1427
|
},
|
|
1482
|
-
"agent:
|
|
1428
|
+
"agent:mcp:get": {
|
|
1483
1429
|
"aliases": [],
|
|
1484
1430
|
"args": {},
|
|
1485
|
-
"description": "
|
|
1431
|
+
"description": "Retrieves the details of an MCP (Model Context Protocol) server by its identifier, including its name, label, type, status, and server URL.",
|
|
1486
1432
|
"examples": [
|
|
1487
|
-
"
|
|
1488
|
-
"
|
|
1489
|
-
"Generate an agent test spec YAML file from an existing AiEvaluationDefinition metadata XML file in your DX project:\n<%= config.bin %> <%= command.id %> --from-definition force-app//main/default/aiEvaluationDefinitions/Resort_Manager_Tests.aiEvaluationDefinition-meta.xml"
|
|
1433
|
+
"Get an MCP server by id in the default target org:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0Mx000000000001",
|
|
1434
|
+
"Get an MCP server and output as JSON:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0Mx000000000001 --json"
|
|
1490
1435
|
],
|
|
1491
1436
|
"flags": {
|
|
1437
|
+
"json": {
|
|
1438
|
+
"description": "Format output as json.",
|
|
1439
|
+
"helpGroup": "GLOBAL",
|
|
1440
|
+
"name": "json",
|
|
1441
|
+
"allowNo": false,
|
|
1442
|
+
"type": "boolean"
|
|
1443
|
+
},
|
|
1492
1444
|
"flags-dir": {
|
|
1493
1445
|
"helpGroup": "GLOBAL",
|
|
1494
1446
|
"name": "flags-dir",
|
|
@@ -1497,65 +1449,68 @@
|
|
|
1497
1449
|
"multiple": false,
|
|
1498
1450
|
"type": "option"
|
|
1499
1451
|
},
|
|
1500
|
-
"
|
|
1501
|
-
"char": "
|
|
1502
|
-
"name": "
|
|
1503
|
-
"
|
|
1504
|
-
"
|
|
1452
|
+
"target-org": {
|
|
1453
|
+
"char": "o",
|
|
1454
|
+
"name": "target-org",
|
|
1455
|
+
"noCacheDefault": true,
|
|
1456
|
+
"required": true,
|
|
1457
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
1458
|
+
"hasDynamicHelp": true,
|
|
1505
1459
|
"multiple": false,
|
|
1506
1460
|
"type": "option"
|
|
1507
1461
|
},
|
|
1508
|
-
"
|
|
1509
|
-
"
|
|
1510
|
-
"
|
|
1511
|
-
"
|
|
1512
|
-
"
|
|
1462
|
+
"api-version": {
|
|
1463
|
+
"description": "Override the api version used for api requests made by this command",
|
|
1464
|
+
"name": "api-version",
|
|
1465
|
+
"hasDynamicHelp": false,
|
|
1466
|
+
"multiple": false,
|
|
1467
|
+
"type": "option"
|
|
1513
1468
|
},
|
|
1514
|
-
"
|
|
1515
|
-
"char": "
|
|
1516
|
-
"name": "
|
|
1517
|
-
"
|
|
1469
|
+
"mcp-server-id": {
|
|
1470
|
+
"char": "i",
|
|
1471
|
+
"name": "mcp-server-id",
|
|
1472
|
+
"required": true,
|
|
1473
|
+
"summary": "The identifier of the MCP server to retrieve.",
|
|
1518
1474
|
"hasDynamicHelp": false,
|
|
1519
1475
|
"multiple": false,
|
|
1520
1476
|
"type": "option"
|
|
1521
1477
|
}
|
|
1522
1478
|
},
|
|
1523
|
-
"hasDynamicHelp":
|
|
1479
|
+
"hasDynamicHelp": true,
|
|
1524
1480
|
"hiddenAliases": [],
|
|
1525
|
-
"id": "agent:
|
|
1481
|
+
"id": "agent:mcp:get",
|
|
1526
1482
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1527
1483
|
"pluginName": "@salesforce/plugin-agent",
|
|
1528
1484
|
"pluginType": "core",
|
|
1485
|
+
"state": "preview",
|
|
1529
1486
|
"strict": true,
|
|
1530
|
-
"summary": "
|
|
1531
|
-
"enableJsonFlag":
|
|
1487
|
+
"summary": "Get a single MCP server registered in the API Catalog.",
|
|
1488
|
+
"enableJsonFlag": true,
|
|
1532
1489
|
"isESM": true,
|
|
1533
1490
|
"relativePath": [
|
|
1534
1491
|
"lib",
|
|
1535
1492
|
"commands",
|
|
1536
1493
|
"agent",
|
|
1537
|
-
"
|
|
1538
|
-
"
|
|
1494
|
+
"mcp",
|
|
1495
|
+
"get.js"
|
|
1539
1496
|
],
|
|
1540
1497
|
"aliasPermutations": [],
|
|
1541
1498
|
"permutations": [
|
|
1542
|
-
"agent:
|
|
1543
|
-
"
|
|
1544
|
-
"
|
|
1545
|
-
"agent:
|
|
1546
|
-
"
|
|
1547
|
-
"
|
|
1499
|
+
"agent:mcp:get",
|
|
1500
|
+
"mcp:agent:get",
|
|
1501
|
+
"mcp:get:agent",
|
|
1502
|
+
"agent:get:mcp",
|
|
1503
|
+
"get:agent:mcp",
|
|
1504
|
+
"get:mcp:agent"
|
|
1548
1505
|
]
|
|
1549
1506
|
},
|
|
1550
|
-
"agent:
|
|
1507
|
+
"agent:mcp:list": {
|
|
1551
1508
|
"aliases": [],
|
|
1552
1509
|
"args": {},
|
|
1553
|
-
"description": "
|
|
1510
|
+
"description": "Returns the Model Context Protocol (MCP) servers registered in the API Catalog, optionally filtered by label, type, or status. Use this to discover which MCP servers are available and inspect their server URLs and current status.",
|
|
1554
1511
|
"examples": [
|
|
1555
|
-
"
|
|
1556
|
-
"
|
|
1557
|
-
"Publish with verbose output to see all retrieved and deployed metadata components:\n<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --verbose",
|
|
1558
|
-
"Publish with concise output showing only essential information:\n<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --concise"
|
|
1512
|
+
"List all MCP servers in the default target org:\n<%= config.bin %> <%= command.id %> --target-org myOrg",
|
|
1513
|
+
"List external MCP servers filtered by status and output as JSON:\n<%= config.bin %> <%= command.id %> --target-org myOrg --type EXTERNAL --status ACTIVE --json"
|
|
1559
1514
|
],
|
|
1560
1515
|
"flags": {
|
|
1561
1516
|
"json": {
|
|
@@ -1590,96 +1545,70 @@
|
|
|
1590
1545
|
"multiple": false,
|
|
1591
1546
|
"type": "option"
|
|
1592
1547
|
},
|
|
1593
|
-
"
|
|
1594
|
-
"
|
|
1595
|
-
"
|
|
1596
|
-
"summary": "API name of the authoring bundle you want to publish; if not specified, the command provides a list that you can choose from.",
|
|
1548
|
+
"label": {
|
|
1549
|
+
"name": "label",
|
|
1550
|
+
"summary": "Filter the MCP servers by label.",
|
|
1597
1551
|
"hasDynamicHelp": false,
|
|
1598
1552
|
"multiple": false,
|
|
1599
1553
|
"type": "option"
|
|
1600
1554
|
},
|
|
1601
|
-
"
|
|
1602
|
-
"name": "
|
|
1603
|
-
"summary": "
|
|
1604
|
-
"
|
|
1605
|
-
"
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
"char": "v",
|
|
1609
|
-
"exclusive": [
|
|
1610
|
-
"concise"
|
|
1555
|
+
"type": {
|
|
1556
|
+
"name": "type",
|
|
1557
|
+
"summary": "Filter the MCP servers by type.",
|
|
1558
|
+
"hasDynamicHelp": false,
|
|
1559
|
+
"multiple": false,
|
|
1560
|
+
"options": [
|
|
1561
|
+
"EXTERNAL"
|
|
1611
1562
|
],
|
|
1612
|
-
"
|
|
1613
|
-
"summary": "Display detailed output showing all metadata components retrieved and deployed during the publish process.",
|
|
1614
|
-
"allowNo": false,
|
|
1615
|
-
"type": "boolean"
|
|
1563
|
+
"type": "option"
|
|
1616
1564
|
},
|
|
1617
|
-
"
|
|
1618
|
-
"
|
|
1619
|
-
|
|
1565
|
+
"status": {
|
|
1566
|
+
"name": "status",
|
|
1567
|
+
"summary": "Filter the MCP servers by connection status. Only ACTIVE and DISCONNECTED are supported as filters.",
|
|
1568
|
+
"hasDynamicHelp": false,
|
|
1569
|
+
"multiple": false,
|
|
1570
|
+
"options": [
|
|
1571
|
+
"ACTIVE",
|
|
1572
|
+
"DISCONNECTED"
|
|
1620
1573
|
],
|
|
1621
|
-
"
|
|
1622
|
-
"summary": "Display minimal output with only essential information about the publish operation.",
|
|
1623
|
-
"allowNo": false,
|
|
1624
|
-
"type": "boolean"
|
|
1574
|
+
"type": "option"
|
|
1625
1575
|
}
|
|
1626
1576
|
},
|
|
1627
1577
|
"hasDynamicHelp": true,
|
|
1628
1578
|
"hiddenAliases": [],
|
|
1629
|
-
"id": "agent:
|
|
1579
|
+
"id": "agent:mcp:list",
|
|
1630
1580
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1631
1581
|
"pluginName": "@salesforce/plugin-agent",
|
|
1632
1582
|
"pluginType": "core",
|
|
1583
|
+
"state": "preview",
|
|
1633
1584
|
"strict": true,
|
|
1634
|
-
"summary": "
|
|
1585
|
+
"summary": "List the MCP servers registered in the API Catalog.",
|
|
1635
1586
|
"enableJsonFlag": true,
|
|
1636
|
-
"requiresProject": true,
|
|
1637
|
-
"errorCodes": {
|
|
1638
|
-
"header": "ERROR CODES",
|
|
1639
|
-
"body": [
|
|
1640
|
-
{
|
|
1641
|
-
"name": "Succeeded (0)",
|
|
1642
|
-
"description": "Agent published successfully without errors."
|
|
1643
|
-
},
|
|
1644
|
-
{
|
|
1645
|
-
"name": "Failed (1)",
|
|
1646
|
-
"description": "Compilation errors found in the Agent Script file."
|
|
1647
|
-
}
|
|
1648
|
-
]
|
|
1649
|
-
},
|
|
1650
|
-
"FLAGGABLE_PROMPTS": {
|
|
1651
|
-
"api-name": {
|
|
1652
|
-
"message": "API name of the authoring bundle you want to publish; if not specified, the command provides a list that you can choose from.",
|
|
1653
|
-
"promptMessage": "API name of the authoring bundle to publish"
|
|
1654
|
-
}
|
|
1655
|
-
},
|
|
1656
1587
|
"isESM": true,
|
|
1657
1588
|
"relativePath": [
|
|
1658
1589
|
"lib",
|
|
1659
1590
|
"commands",
|
|
1660
1591
|
"agent",
|
|
1661
|
-
"
|
|
1662
|
-
"
|
|
1592
|
+
"mcp",
|
|
1593
|
+
"list.js"
|
|
1663
1594
|
],
|
|
1664
1595
|
"aliasPermutations": [],
|
|
1665
1596
|
"permutations": [
|
|
1666
|
-
"agent:
|
|
1667
|
-
"
|
|
1668
|
-
"
|
|
1669
|
-
"agent:
|
|
1670
|
-
"
|
|
1671
|
-
"
|
|
1597
|
+
"agent:mcp:list",
|
|
1598
|
+
"mcp:agent:list",
|
|
1599
|
+
"mcp:list:agent",
|
|
1600
|
+
"agent:list:mcp",
|
|
1601
|
+
"list:agent:mcp",
|
|
1602
|
+
"list:mcp:agent"
|
|
1672
1603
|
]
|
|
1673
1604
|
},
|
|
1674
|
-
"agent:
|
|
1605
|
+
"agent:mcp:update": {
|
|
1675
1606
|
"aliases": [],
|
|
1676
1607
|
"args": {},
|
|
1677
|
-
"description": "
|
|
1608
|
+
"description": "Updates an existing MCP server in the API Catalog. Only the fields you provide are changed; omitted fields are left untouched. You can update the label, description, and server URL, and replace the authorization configuration. When setting `--auth-type OAUTH`, you must also provide `--identity-provider`, `--client-id`, `--client-secret`, and `--scope`. When setting `--auth-type NO_AUTH`, no authorization credentials are required. At least one updatable field must be supplied.",
|
|
1678
1609
|
"examples": [
|
|
1679
|
-
"
|
|
1680
|
-
"
|
|
1681
|
-
"Preview what the agent test metadata (AiEvaluationDefinition) looks like without deploying it to your default org:\n<%= config.bin %> <%= command.id %> --spec specs/Resort_Manager-testSpec.yaml --api-name Resort_Manager_Test --preview",
|
|
1682
|
-
"Author an Agentforce Studio (NGT) test from an NGT-shaped YAML; writes an AiTestingDefinition metadata file:\n<%= config.bin %> <%= command.id %> --spec specs/ReturnsCheckout.ngt.yaml --api-name Returns_Checkout --test-runner agentforce-studio --target-org my-org"
|
|
1610
|
+
"Update the label and description of an MCP server in the default target org:\n<%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --label \"Orders MCP\" --description \"Order tooling\" --target-org myOrg",
|
|
1611
|
+
"Update the server URL and switch the authorization to OAuth, piping the client secret from stdin and outputting as JSON:\ncat secret.txt | <%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --server-url https://mcp.example.com --auth-type OAUTH --identity-provider MyIdp --client-id abc --client-secret - --scope \"read write\" --target-org myOrg --json"
|
|
1683
1612
|
],
|
|
1684
1613
|
"flags": {
|
|
1685
1614
|
"json": {
|
|
@@ -1697,20 +1626,6 @@
|
|
|
1697
1626
|
"multiple": false,
|
|
1698
1627
|
"type": "option"
|
|
1699
1628
|
},
|
|
1700
|
-
"api-name": {
|
|
1701
|
-
"name": "api-name",
|
|
1702
|
-
"summary": "API name of the new test; the API name must not exist in the org.",
|
|
1703
|
-
"hasDynamicHelp": false,
|
|
1704
|
-
"multiple": false,
|
|
1705
|
-
"type": "option"
|
|
1706
|
-
},
|
|
1707
|
-
"spec": {
|
|
1708
|
-
"name": "spec",
|
|
1709
|
-
"summary": "Path to the test spec YAML file.",
|
|
1710
|
-
"hasDynamicHelp": false,
|
|
1711
|
-
"multiple": false,
|
|
1712
|
-
"type": "option"
|
|
1713
|
-
},
|
|
1714
1629
|
"target-org": {
|
|
1715
1630
|
"char": "o",
|
|
1716
1631
|
"name": "target-org",
|
|
@@ -1728,95 +1643,114 @@
|
|
|
1728
1643
|
"multiple": false,
|
|
1729
1644
|
"type": "option"
|
|
1730
1645
|
},
|
|
1731
|
-
"
|
|
1732
|
-
"
|
|
1733
|
-
"
|
|
1734
|
-
"
|
|
1735
|
-
"
|
|
1646
|
+
"mcp-server-id": {
|
|
1647
|
+
"char": "i",
|
|
1648
|
+
"name": "mcp-server-id",
|
|
1649
|
+
"required": true,
|
|
1650
|
+
"summary": "ID of the MCP server to update.",
|
|
1651
|
+
"hasDynamicHelp": false,
|
|
1652
|
+
"multiple": false,
|
|
1653
|
+
"type": "option"
|
|
1736
1654
|
},
|
|
1737
|
-
"
|
|
1738
|
-
"name": "
|
|
1739
|
-
"summary": "
|
|
1740
|
-
"
|
|
1741
|
-
"
|
|
1655
|
+
"label": {
|
|
1656
|
+
"name": "label",
|
|
1657
|
+
"summary": "New display label for the MCP server.",
|
|
1658
|
+
"hasDynamicHelp": false,
|
|
1659
|
+
"multiple": false,
|
|
1660
|
+
"type": "option"
|
|
1742
1661
|
},
|
|
1743
|
-
"
|
|
1744
|
-
"
|
|
1745
|
-
"
|
|
1746
|
-
"
|
|
1662
|
+
"description": {
|
|
1663
|
+
"name": "description",
|
|
1664
|
+
"summary": "New description for the MCP server.",
|
|
1665
|
+
"hasDynamicHelp": false,
|
|
1666
|
+
"multiple": false,
|
|
1667
|
+
"type": "option"
|
|
1668
|
+
},
|
|
1669
|
+
"server-url": {
|
|
1670
|
+
"name": "server-url",
|
|
1671
|
+
"summary": "New endpoint URL of the MCP server.",
|
|
1672
|
+
"hasDynamicHelp": false,
|
|
1673
|
+
"multiple": false,
|
|
1674
|
+
"type": "option"
|
|
1675
|
+
},
|
|
1676
|
+
"auth-type": {
|
|
1677
|
+
"name": "auth-type",
|
|
1678
|
+
"summary": "Authorization type to apply to the MCP server (OAUTH or NO_AUTH).",
|
|
1747
1679
|
"hasDynamicHelp": false,
|
|
1748
1680
|
"multiple": false,
|
|
1749
1681
|
"options": [
|
|
1750
|
-
"
|
|
1751
|
-
"
|
|
1682
|
+
"OAUTH",
|
|
1683
|
+
"NO_AUTH"
|
|
1752
1684
|
],
|
|
1753
1685
|
"type": "option"
|
|
1686
|
+
},
|
|
1687
|
+
"identity-provider": {
|
|
1688
|
+
"name": "identity-provider",
|
|
1689
|
+
"summary": "Identity provider name for OAuth authorization (required when --auth-type is OAUTH).",
|
|
1690
|
+
"hasDynamicHelp": false,
|
|
1691
|
+
"multiple": false,
|
|
1692
|
+
"type": "option"
|
|
1693
|
+
},
|
|
1694
|
+
"client-id": {
|
|
1695
|
+
"name": "client-id",
|
|
1696
|
+
"summary": "OAuth client ID (required when --auth-type is OAUTH).",
|
|
1697
|
+
"hasDynamicHelp": false,
|
|
1698
|
+
"multiple": false,
|
|
1699
|
+
"type": "option"
|
|
1700
|
+
},
|
|
1701
|
+
"client-secret": {
|
|
1702
|
+
"name": "client-secret",
|
|
1703
|
+
"summary": "OAuth client secret (required when --auth-type is OAUTH). Pass \"-\" to read it from stdin (piped) and keep it out of shell history.",
|
|
1704
|
+
"hasDynamicHelp": false,
|
|
1705
|
+
"multiple": false,
|
|
1706
|
+
"type": "option"
|
|
1707
|
+
},
|
|
1708
|
+
"scope": {
|
|
1709
|
+
"name": "scope",
|
|
1710
|
+
"summary": "OAuth scope (required when --auth-type is OAUTH).",
|
|
1711
|
+
"hasDynamicHelp": false,
|
|
1712
|
+
"multiple": false,
|
|
1713
|
+
"type": "option"
|
|
1754
1714
|
}
|
|
1755
1715
|
},
|
|
1756
1716
|
"hasDynamicHelp": true,
|
|
1757
1717
|
"hiddenAliases": [],
|
|
1758
|
-
"id": "agent:
|
|
1718
|
+
"id": "agent:mcp:update",
|
|
1759
1719
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
1760
1720
|
"pluginName": "@salesforce/plugin-agent",
|
|
1761
1721
|
"pluginType": "core",
|
|
1722
|
+
"state": "preview",
|
|
1762
1723
|
"strict": true,
|
|
1763
|
-
"summary": "
|
|
1724
|
+
"summary": "Update an MCP server registered in the API Catalog.",
|
|
1764
1725
|
"enableJsonFlag": true,
|
|
1765
|
-
"envVariablesSection": {
|
|
1766
|
-
"header": "ENVIRONMENT VARIABLES",
|
|
1767
|
-
"body": [
|
|
1768
|
-
{
|
|
1769
|
-
"name": "SF_TARGET_ORG",
|
|
1770
|
-
"description": "Username or alias of your default org. Overrides the target-org configuration variable."
|
|
1771
|
-
}
|
|
1772
|
-
]
|
|
1773
|
-
},
|
|
1774
|
-
"errorCodes": {
|
|
1775
|
-
"header": "ERROR CODES",
|
|
1776
|
-
"body": [
|
|
1777
|
-
{
|
|
1778
|
-
"name": "Succeeded (0)",
|
|
1779
|
-
"description": "Test created and deployed successfully."
|
|
1780
|
-
},
|
|
1781
|
-
{
|
|
1782
|
-
"name": "Failed (1)",
|
|
1783
|
-
"description": "Test validation errors or metadata format issues."
|
|
1784
|
-
},
|
|
1785
|
-
{
|
|
1786
|
-
"name": "NotFound (2)",
|
|
1787
|
-
"description": "Test spec file not found or org connection failed."
|
|
1788
|
-
},
|
|
1789
|
-
{
|
|
1790
|
-
"name": "DeploymentFailed (4)",
|
|
1791
|
-
"description": "Deployment failed due to API or network errors."
|
|
1792
|
-
}
|
|
1793
|
-
]
|
|
1794
|
-
},
|
|
1795
1726
|
"isESM": true,
|
|
1796
1727
|
"relativePath": [
|
|
1797
1728
|
"lib",
|
|
1798
1729
|
"commands",
|
|
1799
1730
|
"agent",
|
|
1800
|
-
"
|
|
1801
|
-
"
|
|
1731
|
+
"mcp",
|
|
1732
|
+
"update.js"
|
|
1802
1733
|
],
|
|
1803
1734
|
"aliasPermutations": [],
|
|
1804
1735
|
"permutations": [
|
|
1805
|
-
"agent:
|
|
1806
|
-
"
|
|
1807
|
-
"
|
|
1808
|
-
"agent:
|
|
1809
|
-
"
|
|
1810
|
-
"
|
|
1736
|
+
"agent:mcp:update",
|
|
1737
|
+
"mcp:agent:update",
|
|
1738
|
+
"mcp:update:agent",
|
|
1739
|
+
"agent:update:mcp",
|
|
1740
|
+
"update:agent:mcp",
|
|
1741
|
+
"update:mcp:agent"
|
|
1811
1742
|
]
|
|
1812
1743
|
},
|
|
1813
|
-
"agent:
|
|
1744
|
+
"agent:preview:end": {
|
|
1814
1745
|
"aliases": [],
|
|
1815
1746
|
"args": {},
|
|
1816
|
-
"description": "
|
|
1747
|
+
"description": "You must have previously started a programmatic agent preview session with the \"agent preview start\" command to then use this command to end it. This command also displays the local directory where the session trace files are stored.\n\nThe original \"agent preview start\" command outputs a session ID which you then use with the --session-id flag of this command to end the session. You don't have to specify the --session-id flag if an agent has only one active preview session. You must also use either the --authoring-bundle or --api-name flag to specify the API name of the authoring bundle or the published agent, respectively. To find either API name, navigate to your package directory in your DX project. The API name of an authoring bundle is the same as its directory name under the \"aiAuthoringBundles\" metadata directory. Similarly, the published agent's API name is the same as its directory name under the \"Bots\" metadata directory.\n\nUse the --all flag to end all active preview sessions at once. You can combine --all with --api-name or --authoring-bundle to end only sessions for a specific agent, or use --all on its own to end every session across all agents in the project.",
|
|
1817
1748
|
"examples": [
|
|
1818
|
-
"
|
|
1819
|
-
"
|
|
1749
|
+
"End a preview session of a published agent by specifying its session ID and API name; use the default org:\n<%= config.bin %> <%= command.id %> --session-id <SESSION_ID> --api-name My_Published_Agent",
|
|
1750
|
+
"Similar to previous example, but don't specify a session ID; you get an error if the published agent has more than one active session. Use the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --api-name My_Published_Agent --target-org my-dev-org",
|
|
1751
|
+
"End a preview session of an agent using its authoring bundle API name; you get an error if the agent has more than one active session.\n<%= config.bin %> <%= command.id %> --authoring-bundle My_Local_Agent",
|
|
1752
|
+
"End all active preview sessions for a specific agent without prompting:\n<%= config.bin %> <%= command.id %> --all --authoring-bundle My_Local_Agent --target-org <target_org> --no-prompt",
|
|
1753
|
+
"End all active preview sessions across every agent in the local session cache for an org:\n<%= config.bin %> <%= command.id %> --all --target-org <target_org>"
|
|
1820
1754
|
],
|
|
1821
1755
|
"flags": {
|
|
1822
1756
|
"json": {
|
|
@@ -1850,17 +1784,66 @@
|
|
|
1850
1784
|
"hasDynamicHelp": false,
|
|
1851
1785
|
"multiple": false,
|
|
1852
1786
|
"type": "option"
|
|
1853
|
-
}
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1787
|
+
},
|
|
1788
|
+
"session-id": {
|
|
1789
|
+
"exclusive": [
|
|
1790
|
+
"all"
|
|
1791
|
+
],
|
|
1792
|
+
"name": "session-id",
|
|
1793
|
+
"required": false,
|
|
1794
|
+
"summary": "Session ID outputted by \"agent preview start\". Not required when the agent has exactly one active session. Run \"agent preview sessions\" to see the list of all sessions.",
|
|
1795
|
+
"hasDynamicHelp": false,
|
|
1796
|
+
"multiple": false,
|
|
1797
|
+
"type": "option"
|
|
1798
|
+
},
|
|
1799
|
+
"api-name": {
|
|
1800
|
+
"char": "n",
|
|
1801
|
+
"exclusive": [
|
|
1802
|
+
"authoring-bundle"
|
|
1803
|
+
],
|
|
1804
|
+
"name": "api-name",
|
|
1805
|
+
"summary": "API name of the activated published agent you want to preview.",
|
|
1806
|
+
"hasDynamicHelp": false,
|
|
1807
|
+
"multiple": false,
|
|
1808
|
+
"type": "option"
|
|
1809
|
+
},
|
|
1810
|
+
"authoring-bundle": {
|
|
1811
|
+
"exclusive": [
|
|
1812
|
+
"api-name"
|
|
1813
|
+
],
|
|
1814
|
+
"name": "authoring-bundle",
|
|
1815
|
+
"summary": "API name of the authoring bundle metadata component that contains the agent's Agent Script file.",
|
|
1816
|
+
"hasDynamicHelp": false,
|
|
1817
|
+
"multiple": false,
|
|
1818
|
+
"type": "option"
|
|
1819
|
+
},
|
|
1820
|
+
"all": {
|
|
1821
|
+
"exclusive": [
|
|
1822
|
+
"session-id"
|
|
1823
|
+
],
|
|
1824
|
+
"name": "all",
|
|
1825
|
+
"summary": "End all active preview sessions. Combine with --api-name or --authoring-bundle to limit to a specific agent, or use with only --target-org to end sessions for all agents found in the local session cache. Requires --target-org.",
|
|
1826
|
+
"allowNo": false,
|
|
1827
|
+
"type": "boolean"
|
|
1828
|
+
},
|
|
1829
|
+
"no-prompt": {
|
|
1830
|
+
"char": "p",
|
|
1831
|
+
"name": "no-prompt",
|
|
1832
|
+
"summary": "Don't prompt for confirmation before ending sessions. Has an effect only when used with --all.",
|
|
1833
|
+
"allowNo": false,
|
|
1834
|
+
"type": "boolean"
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1837
|
+
"hasDynamicHelp": true,
|
|
1838
|
+
"hiddenAliases": [],
|
|
1839
|
+
"id": "agent:preview:end",
|
|
1840
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
1841
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
1860
1842
|
"pluginType": "core",
|
|
1861
1843
|
"strict": true,
|
|
1862
|
-
"summary": "
|
|
1844
|
+
"summary": "End an existing programmatic agent preview session and get trace location.",
|
|
1863
1845
|
"enableJsonFlag": true,
|
|
1846
|
+
"requiresProject": true,
|
|
1864
1847
|
"envVariablesSection": {
|
|
1865
1848
|
"header": "ENVIRONMENT VARIABLES",
|
|
1866
1849
|
"body": [
|
|
@@ -1875,11 +1858,27 @@
|
|
|
1875
1858
|
"body": [
|
|
1876
1859
|
{
|
|
1877
1860
|
"name": "Succeeded (0)",
|
|
1878
|
-
"description": "
|
|
1861
|
+
"description": "Preview session ended successfully and traces saved."
|
|
1879
1862
|
},
|
|
1880
1863
|
{
|
|
1881
|
-
"name": "
|
|
1882
|
-
"description": "
|
|
1864
|
+
"name": "ExactlyOneRequired (2)",
|
|
1865
|
+
"description": "Neither --api-name nor --authoring-bundle was provided (required when --all is not set)."
|
|
1866
|
+
},
|
|
1867
|
+
{
|
|
1868
|
+
"name": "NotFound (2)",
|
|
1869
|
+
"description": "Agent not found, or no preview session exists for this agent."
|
|
1870
|
+
},
|
|
1871
|
+
{
|
|
1872
|
+
"name": "PreviewEndFailed (4)",
|
|
1873
|
+
"description": "Failed to end the preview session."
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
"name": "PreviewEndPartialFailure (68)",
|
|
1877
|
+
"description": "With --all, one or more sessions failed to end while others succeeded."
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"name": "SessionAmbiguous (5)",
|
|
1881
|
+
"description": "Multiple preview sessions found; specify --session-id to choose one."
|
|
1883
1882
|
}
|
|
1884
1883
|
]
|
|
1885
1884
|
},
|
|
@@ -1888,27 +1887,27 @@
|
|
|
1888
1887
|
"lib",
|
|
1889
1888
|
"commands",
|
|
1890
1889
|
"agent",
|
|
1891
|
-
"
|
|
1892
|
-
"
|
|
1890
|
+
"preview",
|
|
1891
|
+
"end.js"
|
|
1893
1892
|
],
|
|
1894
1893
|
"aliasPermutations": [],
|
|
1895
1894
|
"permutations": [
|
|
1896
|
-
"agent:
|
|
1897
|
-
"
|
|
1898
|
-
"
|
|
1899
|
-
"agent:
|
|
1900
|
-
"
|
|
1901
|
-
"
|
|
1895
|
+
"agent:preview:end",
|
|
1896
|
+
"preview:agent:end",
|
|
1897
|
+
"preview:end:agent",
|
|
1898
|
+
"agent:end:preview",
|
|
1899
|
+
"end:agent:preview",
|
|
1900
|
+
"end:preview:agent"
|
|
1902
1901
|
]
|
|
1903
1902
|
},
|
|
1904
|
-
"agent:
|
|
1903
|
+
"agent:preview:send": {
|
|
1905
1904
|
"aliases": [],
|
|
1906
1905
|
"args": {},
|
|
1907
|
-
"description": "
|
|
1906
|
+
"description": "You must have previously started a programmatic agent preview session with the \"agent preview start\" command to then use this command to send the agent a message (utterance). This command then displays the agent's response.\n\nThe original \"agent preview start\" command outputs a session ID which you then use with the --session-id flag of this command to send a message. You don't have to specify the --session-id flag if an agent has only one active preview session. You must also use either the --authoring-bundle or --api-name flag to specify the API name of the authoring bundle or the published agent, respecitvely. To find either API name, navigate to your package directory in your DX project. The API name of an authoring bundle is the same as its directory name under the \"aiAuthoringBundles\" metadata directory. Similarly, the published agent's API name is the same as its directory name under the \"Bots\" metadata directory.",
|
|
1908
1907
|
"examples": [
|
|
1909
|
-
"
|
|
1910
|
-
"
|
|
1911
|
-
"
|
|
1908
|
+
"Send a message to an activated published agent using its API name and session ID; use the default org:\n<%= config.bin %> <%= command.id %> --utterance \"What can you help me with?\" --api-name My_Published_Agent --session-id <SESSION_ID>",
|
|
1909
|
+
"Similar to previous example, but don't specify a session ID; you get an error if the agent has more than one active session. Use the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --utterance \"What can you help me with?\" --api-name My_Published_Agent --target-org my-dev-org",
|
|
1910
|
+
"Send a message to an agent using its authoring bundle API name; you get an error if the agent has more than one active session:\n<%= config.bin %> <%= command.id %> --utterance \"what can you help me with?\" --authoring-bundle My_Local_Agent"
|
|
1912
1911
|
],
|
|
1913
1912
|
"flags": {
|
|
1914
1913
|
"json": {
|
|
@@ -1943,67 +1942,49 @@
|
|
|
1943
1942
|
"multiple": false,
|
|
1944
1943
|
"type": "option"
|
|
1945
1944
|
},
|
|
1946
|
-
"
|
|
1947
|
-
"
|
|
1948
|
-
"
|
|
1949
|
-
"
|
|
1950
|
-
"summary": "Job ID of the completed agent test run.",
|
|
1945
|
+
"session-id": {
|
|
1946
|
+
"name": "session-id",
|
|
1947
|
+
"required": false,
|
|
1948
|
+
"summary": "Session ID outputted by \"agent preview start\". Not required when the agent has exactly one active session. Run \"agent preview sessions\" to see list of all sessions.",
|
|
1951
1949
|
"hasDynamicHelp": false,
|
|
1952
1950
|
"multiple": false,
|
|
1953
1951
|
"type": "option"
|
|
1954
1952
|
},
|
|
1955
|
-
"
|
|
1956
|
-
"
|
|
1957
|
-
"
|
|
1958
|
-
"
|
|
1953
|
+
"utterance": {
|
|
1954
|
+
"char": "u",
|
|
1955
|
+
"name": "utterance",
|
|
1956
|
+
"required": true,
|
|
1957
|
+
"summary": "Utterance to send to the agent, enclosed in double quotes.",
|
|
1959
1958
|
"hasDynamicHelp": false,
|
|
1960
1959
|
"multiple": false,
|
|
1961
|
-
"options": [
|
|
1962
|
-
"json",
|
|
1963
|
-
"human",
|
|
1964
|
-
"junit",
|
|
1965
|
-
"tap"
|
|
1966
|
-
],
|
|
1967
1960
|
"type": "option"
|
|
1968
1961
|
},
|
|
1969
|
-
"
|
|
1970
|
-
"char": "
|
|
1971
|
-
"
|
|
1972
|
-
"
|
|
1973
|
-
"summary": "Directory to write the agent test results into.",
|
|
1962
|
+
"api-name": {
|
|
1963
|
+
"char": "n",
|
|
1964
|
+
"name": "api-name",
|
|
1965
|
+
"summary": "API name of the activated published agent you want to preview.",
|
|
1974
1966
|
"hasDynamicHelp": false,
|
|
1975
1967
|
"multiple": false,
|
|
1976
1968
|
"type": "option"
|
|
1977
1969
|
},
|
|
1978
|
-
"
|
|
1979
|
-
"
|
|
1980
|
-
"
|
|
1981
|
-
"summary": "Explicitly specify which test runner to use (agentforce-studio or testing-center).",
|
|
1970
|
+
"authoring-bundle": {
|
|
1971
|
+
"name": "authoring-bundle",
|
|
1972
|
+
"summary": "API name of the authoring bundle metadata component that contains the agent's Agent Script file.",
|
|
1982
1973
|
"hasDynamicHelp": false,
|
|
1983
1974
|
"multiple": false,
|
|
1984
|
-
"options": [
|
|
1985
|
-
"agentforce-studio",
|
|
1986
|
-
"testing-center"
|
|
1987
|
-
],
|
|
1988
1975
|
"type": "option"
|
|
1989
|
-
},
|
|
1990
|
-
"verbose": {
|
|
1991
|
-
"description": "When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output. This is useful for debugging test failures and understanding what actions were actually invoked during the test run.\n\nThe generated data is in JSON format and includes the Apex classes or Flows that were invoked, the Salesforce objects that were touched, and so on. Use the JSON structure of this information to build the test case JSONPath expression when using custom evaluations.",
|
|
1992
|
-
"name": "verbose",
|
|
1993
|
-
"summary": "Show generated data in the test results output.",
|
|
1994
|
-
"allowNo": false,
|
|
1995
|
-
"type": "boolean"
|
|
1996
1976
|
}
|
|
1997
1977
|
},
|
|
1998
1978
|
"hasDynamicHelp": true,
|
|
1999
1979
|
"hiddenAliases": [],
|
|
2000
|
-
"id": "agent:
|
|
1980
|
+
"id": "agent:preview:send",
|
|
2001
1981
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2002
1982
|
"pluginName": "@salesforce/plugin-agent",
|
|
2003
1983
|
"pluginType": "core",
|
|
2004
1984
|
"strict": true,
|
|
2005
|
-
"summary": "
|
|
1985
|
+
"summary": "Send a message to an existing agent preview session.",
|
|
2006
1986
|
"enableJsonFlag": true,
|
|
1987
|
+
"requiresProject": true,
|
|
2007
1988
|
"envVariablesSection": {
|
|
2008
1989
|
"header": "ENVIRONMENT VARIABLES",
|
|
2009
1990
|
"body": [
|
|
@@ -2018,15 +1999,19 @@
|
|
|
2018
1999
|
"body": [
|
|
2019
2000
|
{
|
|
2020
2001
|
"name": "Succeeded (0)",
|
|
2021
|
-
"description": "
|
|
2002
|
+
"description": "Message sent successfully and agent response received."
|
|
2022
2003
|
},
|
|
2023
2004
|
{
|
|
2024
2005
|
"name": "NotFound (2)",
|
|
2025
|
-
"description": "
|
|
2006
|
+
"description": "Agent not found, or no preview session exists for this agent."
|
|
2026
2007
|
},
|
|
2027
2008
|
{
|
|
2028
|
-
"name": "
|
|
2029
|
-
"description": "Failed to
|
|
2009
|
+
"name": "PreviewSendFailed (4)",
|
|
2010
|
+
"description": "Failed to send message or receive response from the preview session."
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"name": "SessionAmbiguous (5)",
|
|
2014
|
+
"description": "Multiple preview sessions found; specify --session-id to choose one."
|
|
2030
2015
|
}
|
|
2031
2016
|
]
|
|
2032
2017
|
},
|
|
@@ -2035,27 +2020,25 @@
|
|
|
2035
2020
|
"lib",
|
|
2036
2021
|
"commands",
|
|
2037
2022
|
"agent",
|
|
2038
|
-
"
|
|
2039
|
-
"
|
|
2023
|
+
"preview",
|
|
2024
|
+
"send.js"
|
|
2040
2025
|
],
|
|
2041
2026
|
"aliasPermutations": [],
|
|
2042
2027
|
"permutations": [
|
|
2043
|
-
"agent:
|
|
2044
|
-
"
|
|
2045
|
-
"
|
|
2046
|
-
"agent:
|
|
2047
|
-
"
|
|
2048
|
-
"
|
|
2028
|
+
"agent:preview:send",
|
|
2029
|
+
"preview:agent:send",
|
|
2030
|
+
"preview:send:agent",
|
|
2031
|
+
"agent:send:preview",
|
|
2032
|
+
"send:agent:preview",
|
|
2033
|
+
"send:preview:agent"
|
|
2049
2034
|
]
|
|
2050
2035
|
},
|
|
2051
|
-
"agent:
|
|
2036
|
+
"agent:preview:sessions": {
|
|
2052
2037
|
"aliases": [],
|
|
2053
2038
|
"args": {},
|
|
2054
|
-
"description": "This command
|
|
2039
|
+
"description": "This command lists the agent preview sessions that were started with the \"agent preview start\" command and are still in the local cache. Use this command to discover specific session IDs that you can pass to the \"agent preview send\" or \"agent preview end\" commands with the --session-id flag.\n\nProgrammatic agent preview sessions can be started for both published activated agents and by using an agent's local authoring bundle, which contains its Agent Script file. In this command's output table, the Agent column contains either the API name of the authoring bundle or the published agent, whichever was used when starting the session. In the table, if the same API name has multiple rows with different session IDs, then it means that you previously started multiple preview sessions with the associated agent.",
|
|
2055
2040
|
"examples": [
|
|
2056
|
-
"
|
|
2057
|
-
"Resume the most recently-run agent test in an org with alias \"my-org\" org; wait 10 minutes for the tests to finish:\n<%= config.bin %> <%= command.id %> --use-most-recent --wait 10 --target-org my-org",
|
|
2058
|
-
"Resume the most recent agent test in your default org, and write the JSON-formatted results into a directory called \"test-results\":\n<%= config.bin %> <%= command.id %> --use-most-recent --output-dir ./test-results --result-format json"
|
|
2041
|
+
"List all cached agent preview sessions:\n<%= config.bin %> <%= command.id %>"
|
|
2059
2042
|
],
|
|
2060
2043
|
"flags": {
|
|
2061
2044
|
"json": {
|
|
@@ -2072,10 +2055,73 @@
|
|
|
2072
2055
|
"hasDynamicHelp": false,
|
|
2073
2056
|
"multiple": false,
|
|
2074
2057
|
"type": "option"
|
|
2058
|
+
}
|
|
2059
|
+
},
|
|
2060
|
+
"hasDynamicHelp": false,
|
|
2061
|
+
"hiddenAliases": [],
|
|
2062
|
+
"id": "agent:preview:sessions",
|
|
2063
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2064
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2065
|
+
"pluginType": "core",
|
|
2066
|
+
"strict": true,
|
|
2067
|
+
"summary": "List all known programmatic agent preview sessions.",
|
|
2068
|
+
"enableJsonFlag": true,
|
|
2069
|
+
"requiresProject": true,
|
|
2070
|
+
"errorCodes": {
|
|
2071
|
+
"header": "ERROR CODES",
|
|
2072
|
+
"body": [
|
|
2073
|
+
{
|
|
2074
|
+
"name": "Succeeded (0)",
|
|
2075
|
+
"description": "Sessions listed successfully (or empty list if no active sessions)."
|
|
2076
|
+
}
|
|
2077
|
+
]
|
|
2078
|
+
},
|
|
2079
|
+
"isESM": true,
|
|
2080
|
+
"relativePath": [
|
|
2081
|
+
"lib",
|
|
2082
|
+
"commands",
|
|
2083
|
+
"agent",
|
|
2084
|
+
"preview",
|
|
2085
|
+
"sessions.js"
|
|
2086
|
+
],
|
|
2087
|
+
"aliasPermutations": [],
|
|
2088
|
+
"permutations": [
|
|
2089
|
+
"agent:preview:sessions",
|
|
2090
|
+
"preview:agent:sessions",
|
|
2091
|
+
"preview:sessions:agent",
|
|
2092
|
+
"agent:sessions:preview",
|
|
2093
|
+
"sessions:agent:preview",
|
|
2094
|
+
"sessions:preview:agent"
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2097
|
+
"agent:preview:start": {
|
|
2098
|
+
"aliases": [],
|
|
2099
|
+
"args": {},
|
|
2100
|
+
"description": "This command outputs a session ID that you then use with the \"agent preview send\" command to send an utterance to the agent. Use the \"agent preview sessions\" command to list all active sessions and the \"agent preview end\" command to end a specific session.\n\nIdentify the agent you want to start previewing with either the --authoring-bundle flag to specify a local authoring bundle's API name or --api-name to specify an activated published agent's API name. To find either API name, navigate to your package directory in your DX project. The API name of an authoring bundle is the same as its directory name under the \"aiAuthoringBundles\" metadata directory. Similarly, the published agent's API name is the same as its directory name under the \"Bots\" metadata directory.\n\nWhen starting a preview session with --authoring-bundle, you must explicitly specify the execution mode using one of these flags:\n\n- --use-live-actions: Executes real Apex classes, flows, and other actions in the org. This surfaces compile and validation errors during preview.\n- --simulate-actions: Uses AI to simulate action execution without calling real implementations.\n\nPublished agents (--api-name) always use live actions. The mode flags are optional and have no effect for published agents.",
|
|
2101
|
+
"examples": [
|
|
2102
|
+
"Start a programmatic agent preview session by specifying an authoring bundle; use simulated actions. Use the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --authoring-bundle My_Agent_Bundle --target-org my-dev-org --simulate-actions",
|
|
2103
|
+
"Similar to previous example but use live actions and the default org:\n<%= config.bin %> <%= command.id %> --authoring-bundle My_Agent_Bundle --use-live-actions",
|
|
2104
|
+
"Start a preview session with an activated published agent (always uses live actions):\n<%= config.bin %> <%= command.id %> --api-name My_Published_Agent"
|
|
2105
|
+
],
|
|
2106
|
+
"flags": {
|
|
2107
|
+
"json": {
|
|
2108
|
+
"description": "Format output as json.",
|
|
2109
|
+
"helpGroup": "GLOBAL",
|
|
2110
|
+
"name": "json",
|
|
2111
|
+
"allowNo": false,
|
|
2112
|
+
"type": "boolean"
|
|
2075
2113
|
},
|
|
2076
|
-
"
|
|
2077
|
-
"
|
|
2078
|
-
"name": "
|
|
2114
|
+
"flags-dir": {
|
|
2115
|
+
"helpGroup": "GLOBAL",
|
|
2116
|
+
"name": "flags-dir",
|
|
2117
|
+
"summary": "Import flag values from a directory.",
|
|
2118
|
+
"hasDynamicHelp": false,
|
|
2119
|
+
"multiple": false,
|
|
2120
|
+
"type": "option"
|
|
2121
|
+
},
|
|
2122
|
+
"target-org": {
|
|
2123
|
+
"char": "o",
|
|
2124
|
+
"name": "target-org",
|
|
2079
2125
|
"noCacheDefault": true,
|
|
2080
2126
|
"required": true,
|
|
2081
2127
|
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
@@ -2090,53 +2136,799 @@
|
|
|
2090
2136
|
"multiple": false,
|
|
2091
2137
|
"type": "option"
|
|
2092
2138
|
},
|
|
2093
|
-
"
|
|
2094
|
-
"char": "
|
|
2095
|
-
"name": "
|
|
2096
|
-
"summary": "
|
|
2139
|
+
"api-name": {
|
|
2140
|
+
"char": "n",
|
|
2141
|
+
"name": "api-name",
|
|
2142
|
+
"summary": "API name of the activated published agent you want to preview.",
|
|
2097
2143
|
"hasDynamicHelp": false,
|
|
2098
2144
|
"multiple": false,
|
|
2099
2145
|
"type": "option"
|
|
2100
2146
|
},
|
|
2101
|
-
"
|
|
2102
|
-
"
|
|
2103
|
-
"
|
|
2104
|
-
"
|
|
2147
|
+
"authoring-bundle": {
|
|
2148
|
+
"name": "authoring-bundle",
|
|
2149
|
+
"summary": "API name of the authoring bundle metadata component that contains the agent's Agent Script file.",
|
|
2150
|
+
"hasDynamicHelp": false,
|
|
2151
|
+
"multiple": false,
|
|
2152
|
+
"type": "option"
|
|
2153
|
+
},
|
|
2154
|
+
"use-live-actions": {
|
|
2155
|
+
"exclusive": [
|
|
2156
|
+
"simulate-actions"
|
|
2157
|
+
],
|
|
2158
|
+
"name": "use-live-actions",
|
|
2159
|
+
"summary": "Execute real actions in the org (Apex classes, flows, etc.). Required with --authoring-bundle.",
|
|
2105
2160
|
"allowNo": false,
|
|
2106
2161
|
"type": "boolean"
|
|
2107
2162
|
},
|
|
2108
|
-
"
|
|
2109
|
-
"
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
"
|
|
2163
|
+
"simulate-actions": {
|
|
2164
|
+
"exclusive": [
|
|
2165
|
+
"use-live-actions"
|
|
2166
|
+
],
|
|
2167
|
+
"name": "simulate-actions",
|
|
2168
|
+
"summary": "Use AI to simulate action execution instead of calling real actions. Required with --authoring-bundle.",
|
|
2169
|
+
"allowNo": false,
|
|
2170
|
+
"type": "boolean"
|
|
2171
|
+
},
|
|
2172
|
+
"context-variables": {
|
|
2173
|
+
"description": "Sets variables on the agent preview session, mirroring what the in-org Agentforce Builder UI does when you override variables before sending a message. Specify this flag multiple times or use comma-separated values. Two namespaces are supported, distinguished by the name shape. Names pass through to the runtime verbatim — the CLI doesn't transform them.\n\nLinked context variables use the \"$Context.\" prefix. These map to externally-provided fields that the runtime resolves (declared in the bundle's globalConfiguration.contextVariables) and are read by live actions and topic-routing expressions via $Context.Name. Example: $Context.MyLinkedVar=some-value.\n\nState variables use the bare developerName, no prefix. These seed mutable agent state declared in agentVersion.stateVariables. Example: MyStateVar=some-value.\n\nBoth namespaces can be mixed in one value. Example: --context-variables '$Context.MyLinkedVar=foo,MyStateVar=bar'.\n\nTips: (1) Quote the whole value in single quotes so $Context isn't shell-expanded. (2) Names are sent verbatim — a bare name is treated as a state variable, not a linked context variable, so live actions that bind via $Context.Name will see null. (3) Type defaults to Text.",
|
|
2174
|
+
"name": "context-variables",
|
|
2175
|
+
"summary": "Session variables for the agent preview session, in the form Name=Value.",
|
|
2176
|
+
"delimiter": ",",
|
|
2177
|
+
"hasDynamicHelp": false,
|
|
2178
|
+
"multiple": true,
|
|
2179
|
+
"type": "option"
|
|
2180
|
+
},
|
|
2181
|
+
"agent-json": {
|
|
2182
|
+
"dependsOn": [
|
|
2183
|
+
"authoring-bundle"
|
|
2184
|
+
],
|
|
2185
|
+
"hidden": true,
|
|
2186
|
+
"name": "agent-json",
|
|
2187
|
+
"summary": "Path to a pre-compiled AgentJSON file to use instead of compiling the Agent Script file. Intended for internal use and testing.",
|
|
2188
|
+
"hasDynamicHelp": false,
|
|
2189
|
+
"multiple": false,
|
|
2190
|
+
"type": "option"
|
|
2191
|
+
}
|
|
2192
|
+
},
|
|
2193
|
+
"hasDynamicHelp": true,
|
|
2194
|
+
"hiddenAliases": [],
|
|
2195
|
+
"id": "agent:preview:start",
|
|
2196
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2197
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2198
|
+
"pluginType": "core",
|
|
2199
|
+
"strict": true,
|
|
2200
|
+
"summary": "Start a programmatic agent preview session.",
|
|
2201
|
+
"enableJsonFlag": true,
|
|
2202
|
+
"requiresProject": true,
|
|
2203
|
+
"envVariablesSection": {
|
|
2204
|
+
"header": "ENVIRONMENT VARIABLES",
|
|
2205
|
+
"body": [
|
|
2206
|
+
{
|
|
2207
|
+
"name": "SF_TARGET_ORG",
|
|
2208
|
+
"description": "Username or alias of your default org. Overrides the target-org configuration variable."
|
|
2209
|
+
}
|
|
2210
|
+
]
|
|
2211
|
+
},
|
|
2212
|
+
"errorCodes": {
|
|
2213
|
+
"header": "ERROR CODES",
|
|
2214
|
+
"body": [
|
|
2215
|
+
{
|
|
2216
|
+
"name": "Succeeded (0)",
|
|
2217
|
+
"description": "Preview session started successfully."
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
"name": "Failed (1)",
|
|
2221
|
+
"description": "Agent Script compilation failed (syntax errors in the script)."
|
|
2222
|
+
},
|
|
2223
|
+
{
|
|
2224
|
+
"name": "NotFound (2)",
|
|
2225
|
+
"description": "Agent not found, or compilation API returned HTTP 404 (endpoint may not be available in your org or region)."
|
|
2226
|
+
},
|
|
2227
|
+
{
|
|
2228
|
+
"name": "ServerError (3)",
|
|
2229
|
+
"description": "Compilation API returned HTTP 500 (server error during compilation)."
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"name": "PreviewStartFailed (4)",
|
|
2233
|
+
"description": "Preview session failed to start due to API or network errors."
|
|
2234
|
+
}
|
|
2235
|
+
]
|
|
2236
|
+
},
|
|
2237
|
+
"isESM": true,
|
|
2238
|
+
"relativePath": [
|
|
2239
|
+
"lib",
|
|
2240
|
+
"commands",
|
|
2241
|
+
"agent",
|
|
2242
|
+
"preview",
|
|
2243
|
+
"start.js"
|
|
2244
|
+
],
|
|
2245
|
+
"aliasPermutations": [],
|
|
2246
|
+
"permutations": [
|
|
2247
|
+
"agent:preview:start",
|
|
2248
|
+
"preview:agent:start",
|
|
2249
|
+
"preview:start:agent",
|
|
2250
|
+
"agent:start:preview",
|
|
2251
|
+
"start:agent:preview",
|
|
2252
|
+
"start:preview:agent"
|
|
2253
|
+
]
|
|
2254
|
+
},
|
|
2255
|
+
"agent:generate:agent-spec": {
|
|
2256
|
+
"aliases": [],
|
|
2257
|
+
"args": {},
|
|
2258
|
+
"description": "An agent spec is a YAML-formatted file that contains basic information about the agent, such as its role, company description, and an AI-generated list of topics based on this information. Topics define the range of jobs your agent can handle.\n\nUse flags, such as --role and --company-description, to provide details about your company and the role that the agent plays in your company. If you prefer, you can also be prompted for the basic information; use --full-interview to be prompted for all required and optional properties. Upon command execution, the large language model (LLM) associated with your org uses the provided information to generate a list of topics for the agent. Because the LLM uses the company and role information to generate the topics, we recommend that you provide accurate, complete, and specific details so the LLM generates the best and most relevant topics. Once generated, you can edit the spec file; for example, you can remove topics that don't apply or change a topic's description.\n\nYou can also iterate the spec generation process by using the --spec flag to pass an existing agent spec file to this command, and then using the --role, --company-description, etc, flags to refine your agent properties. Iteratively improving the description of your agent allows the LLM to generate progressively better topics.\n\nYou can also specify other agent properties, such as a custom prompt template, how to ground the prompt template to add context to the agent's prompts, the tone of the prompts, and the username of a user in the org to assign to the agent.\n\nWhen your agent spec is ready, generate an authoring bundle from it by passing the spec file to the --spec flag of the \"agent generate authoring-bundle\" CLI command. An authoring bundle is a metadata type that contains an Agent Script file, which is the blueprint for an agent. (While not recommended, you can also use the agent spec file to immediately create an agent with the \"agent create\" command. We don't recommend this workflow because these types of agents don't use Agent Script, and are thus less flexible and more difficult to maintain.)",
|
|
2259
|
+
"examples": [
|
|
2260
|
+
"Generate an agent spec in the default location and use flags to specify the agent properties, such as its role and your company details; use your default org:\n<%= config.bin %> <%= command.id %> --type customer --role \"Field customer complaints and manage employee schedules.\" --company-name \"Coral Cloud Resorts\" --company-description \"Provide customers with exceptional destination activities, unforgettable experiences, and reservation services.\"",
|
|
2261
|
+
"Generate an agent spec by being prompted for the required agent properties and generate a maxiumum of 5 topics; write the generated file to the \"specs/resortManagerSpec.yaml\" file and use the org with alias \"my-org\":\n<%= config.bin %> <%= command.id %> --max-topics 5 --output-file specs/resortManagerAgent.yaml --target-org my-org",
|
|
2262
|
+
"Be prompted for all required and optional agent properties; use your default org:\n<%= config.bin %> <%= command.id %> --full-interview",
|
|
2263
|
+
"Specify an existing agent spec file called \"specs/resortManagerAgent.yaml\", and then overwrite it with a new version that contains newly AI-generated topics based on the updated role information passed in with the --role flag:\n<%= config.bin %> <%= command.id %> --spec specs/resortManagerAgent.yaml --output-file specs/resortManagerAgent.yaml --role \"Field customer complaints, manage employee schedules, and ensure all resort operations are running smoothly\"",
|
|
2264
|
+
"Specify that the conversational tone of the agent is formal and to attach the \"resortmanager@myorg.com\" username to it; be prompted for the required properties and use your default org:\n<%= config.bin %> <%= command.id %> --tone formal --agent-user resortmanager@myorg.com"
|
|
2265
|
+
],
|
|
2266
|
+
"flags": {
|
|
2267
|
+
"json": {
|
|
2268
|
+
"description": "Format output as json.",
|
|
2269
|
+
"helpGroup": "GLOBAL",
|
|
2270
|
+
"name": "json",
|
|
2271
|
+
"allowNo": false,
|
|
2272
|
+
"type": "boolean"
|
|
2273
|
+
},
|
|
2274
|
+
"flags-dir": {
|
|
2275
|
+
"helpGroup": "GLOBAL",
|
|
2276
|
+
"name": "flags-dir",
|
|
2277
|
+
"summary": "Import flag values from a directory.",
|
|
2278
|
+
"hasDynamicHelp": false,
|
|
2279
|
+
"multiple": false,
|
|
2280
|
+
"type": "option"
|
|
2281
|
+
},
|
|
2282
|
+
"target-org": {
|
|
2283
|
+
"char": "o",
|
|
2284
|
+
"name": "target-org",
|
|
2285
|
+
"noCacheDefault": true,
|
|
2286
|
+
"required": true,
|
|
2287
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
2113
2288
|
"hasDynamicHelp": true,
|
|
2114
2289
|
"multiple": false,
|
|
2115
2290
|
"type": "option"
|
|
2116
2291
|
},
|
|
2117
|
-
"
|
|
2118
|
-
"
|
|
2119
|
-
"
|
|
2120
|
-
"
|
|
2292
|
+
"api-version": {
|
|
2293
|
+
"description": "Override the api version used for api requests made by this command",
|
|
2294
|
+
"name": "api-version",
|
|
2295
|
+
"hasDynamicHelp": false,
|
|
2296
|
+
"multiple": false,
|
|
2297
|
+
"type": "option"
|
|
2298
|
+
},
|
|
2299
|
+
"type": {
|
|
2300
|
+
"name": "type",
|
|
2301
|
+
"summary": "Type of agent to create. Internal types are copilots used internally by your company and customer types are the agents you create for your customers.",
|
|
2121
2302
|
"hasDynamicHelp": false,
|
|
2122
2303
|
"multiple": false,
|
|
2123
2304
|
"options": [
|
|
2124
|
-
"
|
|
2125
|
-
"
|
|
2126
|
-
"junit",
|
|
2127
|
-
"tap"
|
|
2305
|
+
"customer",
|
|
2306
|
+
"internal"
|
|
2128
2307
|
],
|
|
2129
2308
|
"type": "option"
|
|
2130
2309
|
},
|
|
2131
|
-
"
|
|
2132
|
-
"
|
|
2133
|
-
"
|
|
2134
|
-
"
|
|
2135
|
-
"
|
|
2310
|
+
"role": {
|
|
2311
|
+
"name": "role",
|
|
2312
|
+
"summary": "Role of the agent.",
|
|
2313
|
+
"hasDynamicHelp": false,
|
|
2314
|
+
"multiple": false,
|
|
2315
|
+
"type": "option"
|
|
2316
|
+
},
|
|
2317
|
+
"company-name": {
|
|
2318
|
+
"name": "company-name",
|
|
2319
|
+
"summary": "Name of your company.",
|
|
2320
|
+
"hasDynamicHelp": false,
|
|
2321
|
+
"multiple": false,
|
|
2322
|
+
"type": "option"
|
|
2323
|
+
},
|
|
2324
|
+
"company-description": {
|
|
2325
|
+
"name": "company-description",
|
|
2326
|
+
"summary": "Description of your company.",
|
|
2327
|
+
"hasDynamicHelp": false,
|
|
2328
|
+
"multiple": false,
|
|
2329
|
+
"type": "option"
|
|
2330
|
+
},
|
|
2331
|
+
"company-website": {
|
|
2332
|
+
"name": "company-website",
|
|
2333
|
+
"summary": "Website URL of your company.",
|
|
2334
|
+
"hasDynamicHelp": false,
|
|
2335
|
+
"multiple": false,
|
|
2336
|
+
"type": "option"
|
|
2337
|
+
},
|
|
2338
|
+
"max-topics": {
|
|
2339
|
+
"name": "max-topics",
|
|
2340
|
+
"summary": "Maximum number of topics to generate in the agent spec; default is 5.",
|
|
2341
|
+
"hasDynamicHelp": false,
|
|
2342
|
+
"multiple": false,
|
|
2343
|
+
"type": "option"
|
|
2344
|
+
},
|
|
2345
|
+
"agent-user": {
|
|
2346
|
+
"name": "agent-user",
|
|
2347
|
+
"summary": "Username of a user in your org to assign to your agent; determines what your agent can access and do.",
|
|
2136
2348
|
"hasDynamicHelp": false,
|
|
2137
2349
|
"multiple": false,
|
|
2138
2350
|
"type": "option"
|
|
2139
2351
|
},
|
|
2352
|
+
"enrich-logs": {
|
|
2353
|
+
"name": "enrich-logs",
|
|
2354
|
+
"summary": "Adds agent conversation data to event logs so you can view all agent session activity in one place.",
|
|
2355
|
+
"hasDynamicHelp": false,
|
|
2356
|
+
"multiple": false,
|
|
2357
|
+
"options": [
|
|
2358
|
+
"true",
|
|
2359
|
+
"false"
|
|
2360
|
+
],
|
|
2361
|
+
"type": "option"
|
|
2362
|
+
},
|
|
2363
|
+
"tone": {
|
|
2364
|
+
"name": "tone",
|
|
2365
|
+
"summary": "Conversational style of the agent, such as how it expresses your brand personality in its messages through word choice, punctuation, and sentence structure.",
|
|
2366
|
+
"hasDynamicHelp": false,
|
|
2367
|
+
"multiple": false,
|
|
2368
|
+
"options": [
|
|
2369
|
+
"formal",
|
|
2370
|
+
"casual",
|
|
2371
|
+
"neutral"
|
|
2372
|
+
],
|
|
2373
|
+
"type": "option"
|
|
2374
|
+
},
|
|
2375
|
+
"spec": {
|
|
2376
|
+
"name": "spec",
|
|
2377
|
+
"summary": "Agent spec file, in YAML format, to use as input to the command.",
|
|
2378
|
+
"hasDynamicHelp": false,
|
|
2379
|
+
"multiple": false,
|
|
2380
|
+
"type": "option"
|
|
2381
|
+
},
|
|
2382
|
+
"output-file": {
|
|
2383
|
+
"name": "output-file",
|
|
2384
|
+
"summary": "Path for the generated YAML agent spec file; can be an absolute or relative path.",
|
|
2385
|
+
"default": "specs/agentSpec.yaml",
|
|
2386
|
+
"hasDynamicHelp": false,
|
|
2387
|
+
"multiple": false,
|
|
2388
|
+
"type": "option"
|
|
2389
|
+
},
|
|
2390
|
+
"full-interview": {
|
|
2391
|
+
"name": "full-interview",
|
|
2392
|
+
"summary": "Prompt for both required and optional flags.",
|
|
2393
|
+
"allowNo": false,
|
|
2394
|
+
"type": "boolean"
|
|
2395
|
+
},
|
|
2396
|
+
"prompt-template": {
|
|
2397
|
+
"name": "prompt-template",
|
|
2398
|
+
"summary": "API name of a customized prompt template to use instead of the default prompt template.",
|
|
2399
|
+
"hasDynamicHelp": false,
|
|
2400
|
+
"multiple": false,
|
|
2401
|
+
"type": "option"
|
|
2402
|
+
},
|
|
2403
|
+
"grounding-context": {
|
|
2404
|
+
"dependsOn": [
|
|
2405
|
+
"prompt-template"
|
|
2406
|
+
],
|
|
2407
|
+
"name": "grounding-context",
|
|
2408
|
+
"summary": "Context information and personalization that's added to your prompts when using a custom prompt template.",
|
|
2409
|
+
"hasDynamicHelp": false,
|
|
2410
|
+
"multiple": false,
|
|
2411
|
+
"type": "option"
|
|
2412
|
+
},
|
|
2413
|
+
"force-overwrite": {
|
|
2414
|
+
"name": "force-overwrite",
|
|
2415
|
+
"summary": "Don't prompt the user to confirm that an existing spec file will be overwritten.",
|
|
2416
|
+
"allowNo": false,
|
|
2417
|
+
"type": "boolean"
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2420
|
+
"hasDynamicHelp": true,
|
|
2421
|
+
"hiddenAliases": [],
|
|
2422
|
+
"id": "agent:generate:agent-spec",
|
|
2423
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2424
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2425
|
+
"pluginType": "core",
|
|
2426
|
+
"strict": true,
|
|
2427
|
+
"summary": "Generate an agent spec, which is a YAML file that captures what an agent can do.",
|
|
2428
|
+
"enableJsonFlag": true,
|
|
2429
|
+
"requiresProject": true,
|
|
2430
|
+
"isESM": true,
|
|
2431
|
+
"relativePath": [
|
|
2432
|
+
"lib",
|
|
2433
|
+
"commands",
|
|
2434
|
+
"agent",
|
|
2435
|
+
"generate",
|
|
2436
|
+
"agent-spec.js"
|
|
2437
|
+
],
|
|
2438
|
+
"aliasPermutations": [],
|
|
2439
|
+
"permutations": [
|
|
2440
|
+
"agent:generate:agent-spec",
|
|
2441
|
+
"generate:agent:agent-spec",
|
|
2442
|
+
"generate:agent-spec:agent",
|
|
2443
|
+
"agent:agent-spec:generate",
|
|
2444
|
+
"agent-spec:agent:generate",
|
|
2445
|
+
"agent-spec:generate:agent"
|
|
2446
|
+
]
|
|
2447
|
+
},
|
|
2448
|
+
"agent:generate:authoring-bundle": {
|
|
2449
|
+
"aliases": [],
|
|
2450
|
+
"args": {},
|
|
2451
|
+
"description": "Authoring bundles are metadata components that contain an agent's Agent Script file. The Agent Script file is the agent's blueprint; it fully describes what the agent can do using the Agent Script language.\n\nUse this command to generate a new authoring bundle based on an agent spec YAML file, which you create with the \"agent generate agent-spec\" command. The agent spec YAML file is a high-level description of the agent; it describes its essence rather than exactly what it can do. The resulting Agent Script file is customized to reflect what's in the agent spec file. You can also create an authoring bundle without an agent spec file by specifying the \"--no-spec\" flag; in this case, the resulting Agent Script file is just the default boilerplate.\n\nThe metadata type for authoring bundles is aiAuthoringBundle, which consist of a standard \"<bundle-api-name>.bundle-meta.xml\" metadata file and the Agent Script file (with extension \".agent\"). When you run this command, the new authoring bundle is generated in the force-app/main/default/aiAuthoringBundles/<bundle-api-name> directory. Use the --output-dir flag to generate them elsewhere.\n\nAfter you generate the initial authoring bundle, code the Agent Script file so your agent behaves exactly as you want. The Agent Script file generated by this command is just a first draft of your agent! Interactively test the agent by conversing with it using the \"agent preview\" command. Then publish the agent to your org with the \"agent publish authoring-bundle\" command.\n\nThis command requires an org because it uses it to access an LLM for generating the Agent Script file.",
|
|
2452
|
+
"examples": [
|
|
2453
|
+
"Generate an authoring bundle by being prompted for all required values, such as the agent spec YAML file, the bundle name, and the API name; use your default org:\n<%= config.bin %> <%= command.id %>",
|
|
2454
|
+
"Generate an authoring bundle without using an agent spec file; give the bundle the label \"My Authoring Bundle\" and use your default org:\n<%= config.bin %> <%= command.id %> --no-spec --name \"My Authoring Bundle\"",
|
|
2455
|
+
"Generate an authoring bundle from the \"specs/agentSpec.yaml\" agent spec YAML file and give it the label \"My Authoring Bundle\"; use your default org:\n<%= config.bin %> <%= command.id %> --spec specs/agentSpec.yaml --name \"My Authoring Bundle\"",
|
|
2456
|
+
"Similar to previous example, but generate the authoring bundle files in the \"other-package-dir/main/default\" package directory; use the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --spec specs/agentSpec.yaml --name \"My Authoring Bundle\" --output-dir other-package-dir/main/default --target-org my-dev-org"
|
|
2457
|
+
],
|
|
2458
|
+
"flags": {
|
|
2459
|
+
"json": {
|
|
2460
|
+
"description": "Format output as json.",
|
|
2461
|
+
"helpGroup": "GLOBAL",
|
|
2462
|
+
"name": "json",
|
|
2463
|
+
"allowNo": false,
|
|
2464
|
+
"type": "boolean"
|
|
2465
|
+
},
|
|
2466
|
+
"flags-dir": {
|
|
2467
|
+
"helpGroup": "GLOBAL",
|
|
2468
|
+
"name": "flags-dir",
|
|
2469
|
+
"summary": "Import flag values from a directory.",
|
|
2470
|
+
"hasDynamicHelp": false,
|
|
2471
|
+
"multiple": false,
|
|
2472
|
+
"type": "option"
|
|
2473
|
+
},
|
|
2474
|
+
"target-org": {
|
|
2475
|
+
"char": "o",
|
|
2476
|
+
"name": "target-org",
|
|
2477
|
+
"noCacheDefault": true,
|
|
2478
|
+
"required": true,
|
|
2479
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
2480
|
+
"hasDynamicHelp": true,
|
|
2481
|
+
"multiple": false,
|
|
2482
|
+
"type": "option"
|
|
2483
|
+
},
|
|
2484
|
+
"api-name": {
|
|
2485
|
+
"name": "api-name",
|
|
2486
|
+
"summary": "API name of the new authoring bundle; if not specified, the API name is derived from the authoring bundle name (label); the API name can't exist in the org.",
|
|
2487
|
+
"hasDynamicHelp": false,
|
|
2488
|
+
"multiple": false,
|
|
2489
|
+
"type": "option"
|
|
2490
|
+
},
|
|
2491
|
+
"api-version": {
|
|
2492
|
+
"description": "Override the api version used for api requests made by this command",
|
|
2493
|
+
"name": "api-version",
|
|
2494
|
+
"hasDynamicHelp": false,
|
|
2495
|
+
"multiple": false,
|
|
2496
|
+
"type": "option"
|
|
2497
|
+
},
|
|
2498
|
+
"spec": {
|
|
2499
|
+
"char": "f",
|
|
2500
|
+
"name": "spec",
|
|
2501
|
+
"summary": "Path to the agent spec YAML file. If you don't specify the flag, the command provides a list that you can choose from. Use the --no-spec flag to skip using an agent spec entirely.",
|
|
2502
|
+
"hasDynamicHelp": false,
|
|
2503
|
+
"multiple": false,
|
|
2504
|
+
"type": "option"
|
|
2505
|
+
},
|
|
2506
|
+
"no-spec": {
|
|
2507
|
+
"name": "no-spec",
|
|
2508
|
+
"summary": "Skip prompting for an agent spec and use the default Agent Script boilerplate in the generated authoring bundle.",
|
|
2509
|
+
"allowNo": false,
|
|
2510
|
+
"type": "boolean"
|
|
2511
|
+
},
|
|
2512
|
+
"output-dir": {
|
|
2513
|
+
"char": "d",
|
|
2514
|
+
"name": "output-dir",
|
|
2515
|
+
"summary": "Directory where the authoring bundle files are generated.",
|
|
2516
|
+
"hasDynamicHelp": false,
|
|
2517
|
+
"multiple": false,
|
|
2518
|
+
"type": "option"
|
|
2519
|
+
},
|
|
2520
|
+
"name": {
|
|
2521
|
+
"char": "n",
|
|
2522
|
+
"name": "name",
|
|
2523
|
+
"summary": "Name (label) of the authoring bundle; if not specified, you're prompted for the name.",
|
|
2524
|
+
"hasDynamicHelp": false,
|
|
2525
|
+
"multiple": false,
|
|
2526
|
+
"type": "option"
|
|
2527
|
+
},
|
|
2528
|
+
"force-overwrite": {
|
|
2529
|
+
"name": "force-overwrite",
|
|
2530
|
+
"summary": "Overwrite the existing authoring bundle if one with the same API name already exists locally.",
|
|
2531
|
+
"allowNo": false,
|
|
2532
|
+
"type": "boolean"
|
|
2533
|
+
}
|
|
2534
|
+
},
|
|
2535
|
+
"hasDynamicHelp": true,
|
|
2536
|
+
"hiddenAliases": [],
|
|
2537
|
+
"id": "agent:generate:authoring-bundle",
|
|
2538
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2539
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2540
|
+
"pluginType": "core",
|
|
2541
|
+
"strict": true,
|
|
2542
|
+
"summary": "Generate an authoring bundle from an existing agent spec YAML file.",
|
|
2543
|
+
"enableJsonFlag": true,
|
|
2544
|
+
"requiresProject": true,
|
|
2545
|
+
"isESM": true,
|
|
2546
|
+
"relativePath": [
|
|
2547
|
+
"lib",
|
|
2548
|
+
"commands",
|
|
2549
|
+
"agent",
|
|
2550
|
+
"generate",
|
|
2551
|
+
"authoring-bundle.js"
|
|
2552
|
+
],
|
|
2553
|
+
"aliasPermutations": [],
|
|
2554
|
+
"permutations": [
|
|
2555
|
+
"agent:generate:authoring-bundle",
|
|
2556
|
+
"generate:agent:authoring-bundle",
|
|
2557
|
+
"generate:authoring-bundle:agent",
|
|
2558
|
+
"agent:authoring-bundle:generate",
|
|
2559
|
+
"authoring-bundle:agent:generate",
|
|
2560
|
+
"authoring-bundle:generate:agent"
|
|
2561
|
+
]
|
|
2562
|
+
},
|
|
2563
|
+
"agent:generate:template": {
|
|
2564
|
+
"aliases": [],
|
|
2565
|
+
"args": {},
|
|
2566
|
+
"description": "WARNING: This command doesn't work for agents that were created from an Agent Script file. In other words, you can't currently package an agent template for agents that use Agent Script.\n\nAt a high-level, agents are defined by the Bot, BotVersion, and GenAiPlannerBundle metadata types. The GenAiPlannerBundle type in turn defines the agent's topics and actions. This command uses the metadata files for these three types, located in your local DX project, to generate a BotTemplate metadata file for a specific agent (Bot). You then use the BotTemplate metadata file, along with the GenAiPlannerBundle metadata file that references the BotTemplate, to package the template in a managed package that you can share between orgs or on AppExchange.\n\nUse the --agent-file flag to specify the relative or full pathname of the Bot metadata file, such as force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml. A single Bot can have multiple BotVersions, so use the --agent-version flag to specify the version. The corresponding BotVersion metadata file must exist locally. For example, if you specify \"--agent-version 4\", then the file force-app/main/default/bots/My_Awesome_Agent/v4.botVersion-meta.xml must exist.\n\nThe new BotTemplate metadata file is generated in the \"botTemplates\" directory in the output directory specified with the --output-dir flag, and has the name <Agent_API_name>\\_v<Version>\\_Template.botTemplate-meta.xml, such as my-package/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full pathname of the generated files when it completes.\n\nSee \"Develop and Package Agent Templates Using Scratch Orgs\" (https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/dev2gp_package_agent_templates.htm) for details about the complete process, which includes using a scratch org to create and test the agent, retrieving the agent metadata to your DX project, running this command to create the agent template, and then packaging the template.",
|
|
2567
|
+
"examples": [
|
|
2568
|
+
"Generate an agent template from the My_Awesome_Agent Bot metadata file in your DX project and save the BotTemplate and GenAiPlannerBundle to the specified directory; use version 1 of the agent. The agent that the template is based on is in the org with alias \"my-scratch-org\":\n<%= config.bin %> <%= command.id %> --agent-file force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1 --output-dir my-package --source-org my-scratch-org"
|
|
2569
|
+
],
|
|
2570
|
+
"flags": {
|
|
2571
|
+
"json": {
|
|
2572
|
+
"description": "Format output as json.",
|
|
2573
|
+
"helpGroup": "GLOBAL",
|
|
2574
|
+
"name": "json",
|
|
2575
|
+
"allowNo": false,
|
|
2576
|
+
"type": "boolean"
|
|
2577
|
+
},
|
|
2578
|
+
"flags-dir": {
|
|
2579
|
+
"helpGroup": "GLOBAL",
|
|
2580
|
+
"name": "flags-dir",
|
|
2581
|
+
"summary": "Import flag values from a directory.",
|
|
2582
|
+
"hasDynamicHelp": false,
|
|
2583
|
+
"multiple": false,
|
|
2584
|
+
"type": "option"
|
|
2585
|
+
},
|
|
2586
|
+
"api-version": {
|
|
2587
|
+
"description": "Override the api version used for api requests made by this command",
|
|
2588
|
+
"name": "api-version",
|
|
2589
|
+
"hasDynamicHelp": false,
|
|
2590
|
+
"multiple": false,
|
|
2591
|
+
"type": "option"
|
|
2592
|
+
},
|
|
2593
|
+
"source-org": {
|
|
2594
|
+
"char": "s",
|
|
2595
|
+
"name": "source-org",
|
|
2596
|
+
"noCacheDefault": true,
|
|
2597
|
+
"required": true,
|
|
2598
|
+
"summary": "Username or alias of the namespaced scratch org that contains the agent which this template is based on.",
|
|
2599
|
+
"hasDynamicHelp": true,
|
|
2600
|
+
"multiple": false,
|
|
2601
|
+
"type": "option"
|
|
2602
|
+
},
|
|
2603
|
+
"agent-version": {
|
|
2604
|
+
"name": "agent-version",
|
|
2605
|
+
"required": true,
|
|
2606
|
+
"summary": "Version of the agent (BotVersion).",
|
|
2607
|
+
"hasDynamicHelp": false,
|
|
2608
|
+
"multiple": false,
|
|
2609
|
+
"type": "option"
|
|
2610
|
+
},
|
|
2611
|
+
"agent-file": {
|
|
2612
|
+
"char": "f",
|
|
2613
|
+
"name": "agent-file",
|
|
2614
|
+
"required": true,
|
|
2615
|
+
"summary": "Path to an agent (Bot) metadata file.",
|
|
2616
|
+
"hasDynamicHelp": false,
|
|
2617
|
+
"multiple": false,
|
|
2618
|
+
"type": "option"
|
|
2619
|
+
},
|
|
2620
|
+
"output-dir": {
|
|
2621
|
+
"char": "r",
|
|
2622
|
+
"name": "output-dir",
|
|
2623
|
+
"summary": "Directory where the generated BotTemplate and GenAiPlannerBundle files are saved.",
|
|
2624
|
+
"hasDynamicHelp": false,
|
|
2625
|
+
"multiple": false,
|
|
2626
|
+
"type": "option"
|
|
2627
|
+
}
|
|
2628
|
+
},
|
|
2629
|
+
"hasDynamicHelp": true,
|
|
2630
|
+
"hiddenAliases": [],
|
|
2631
|
+
"id": "agent:generate:template",
|
|
2632
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2633
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2634
|
+
"pluginType": "core",
|
|
2635
|
+
"strict": true,
|
|
2636
|
+
"summary": "Generate an agent template from an existing agent in your DX project so you can then package the template in a second-generation managed package.",
|
|
2637
|
+
"enableJsonFlag": true,
|
|
2638
|
+
"requiresProject": true,
|
|
2639
|
+
"isESM": true,
|
|
2640
|
+
"relativePath": [
|
|
2641
|
+
"lib",
|
|
2642
|
+
"commands",
|
|
2643
|
+
"agent",
|
|
2644
|
+
"generate",
|
|
2645
|
+
"template.js"
|
|
2646
|
+
],
|
|
2647
|
+
"aliasPermutations": [],
|
|
2648
|
+
"permutations": [
|
|
2649
|
+
"agent:generate:template",
|
|
2650
|
+
"generate:agent:template",
|
|
2651
|
+
"generate:template:agent",
|
|
2652
|
+
"agent:template:generate",
|
|
2653
|
+
"template:agent:generate",
|
|
2654
|
+
"template:generate:agent"
|
|
2655
|
+
]
|
|
2656
|
+
},
|
|
2657
|
+
"agent:generate:test-spec": {
|
|
2658
|
+
"aliases": [],
|
|
2659
|
+
"args": {},
|
|
2660
|
+
"description": "The first step when using Salesforce CLI to create an agent test in your org is to use this interactive command to generate a local YAML-formatted test spec file. The test spec YAML file contains information about the agent being tested, such as its API name, and then one or more test cases. This command uses the metadata components in your DX project when prompting for information, such as the agent API name; it doesn't look in your org.\n\nTo generate a specific agent test case, this command prompts you for this information; when possible, the command provides a list of options for you to choose from:\n\n- Utterance: Natural language statement, question, or command used to test the agent.\n- Expected topic: API name of the topic you expect the agent to use when responding to the utterance.\n- Expected actions: One or more API names of the expection actions the agent takes.\n- Expected outcome: Natural language description of the outcome you expect.\n- (Optional) Custom evaluation: Test an agent's response for specific strings or numbers.\n- (Optional) Conversation history: Boilerplate for additional context you can add to the test in the form of a conversation history.\n\nYou can manually add contextVariables to test cases in the generated YAML file to inject contextual data (such as CaseId or RoutableId) into agent sessions. This is useful for testing agent behavior with different contextual information.\n\nWhen your test spec is ready, you then run the \"agent test create\" command to actually create the test in your org and synchronize the metadata with your DX project. The metadata type for an agent test is `AiEvaluationDefinition` (legacy testing-center) or `AiTestingDefinition` (Agentforce Studio / NGT), selected via --test-runner.\n\nIf you have an existing AiEvaluationDefinition or AiTestingDefinition metadata XML file in your DX project, you can generate its equivalent YAML test spec file with the --from-definition flag. The runner is inferred from the file extension; pass --test-runner to override.",
|
|
2661
|
+
"examples": [
|
|
2662
|
+
"Generate an agent test spec YAML file interactively:\n<%= config.bin %> <%= command.id %>",
|
|
2663
|
+
"Generate an Agentforce Studio (NGT) test spec YAML file interactively:\n<%= config.bin %> <%= command.id %> --test-runner agentforce-studio",
|
|
2664
|
+
"Generate an agent test spec YAML file and specify a name for the new file; if the file exists, overwrite it without confirmation:\n<%= config.bin %> <%= command.id %> --output-file specs/Resort_Manager-new-version-testSpec.yaml --force-overwrite",
|
|
2665
|
+
"Generate an agent test spec YAML file from an existing AiEvaluationDefinition metadata XML file in your DX project:\n<%= config.bin %> <%= command.id %> --from-definition force-app/main/default/aiEvaluationDefinitions/Resort_Manager_Tests.aiEvaluationDefinition-meta.xml",
|
|
2666
|
+
"Generate an Agentforce Studio (NGT) test spec YAML file from an existing AiTestingDefinition metadata XML file:\n<%= config.bin %> <%= command.id %> --from-definition force-app/main/default/aiTestingDefinitions/Returns_Checkout_Tests.aiTestingDefinition-meta.xml"
|
|
2667
|
+
],
|
|
2668
|
+
"flags": {
|
|
2669
|
+
"flags-dir": {
|
|
2670
|
+
"helpGroup": "GLOBAL",
|
|
2671
|
+
"name": "flags-dir",
|
|
2672
|
+
"summary": "Import flag values from a directory.",
|
|
2673
|
+
"hasDynamicHelp": false,
|
|
2674
|
+
"multiple": false,
|
|
2675
|
+
"type": "option"
|
|
2676
|
+
},
|
|
2677
|
+
"from-definition": {
|
|
2678
|
+
"char": "d",
|
|
2679
|
+
"name": "from-definition",
|
|
2680
|
+
"summary": "Filepath to an AiEvaluationDefinition or AiTestingDefinition metadata XML file in your DX project that you want to convert to a test spec YAML file.",
|
|
2681
|
+
"hasDynamicHelp": false,
|
|
2682
|
+
"multiple": false,
|
|
2683
|
+
"type": "option"
|
|
2684
|
+
},
|
|
2685
|
+
"force-overwrite": {
|
|
2686
|
+
"name": "force-overwrite",
|
|
2687
|
+
"summary": "Don't prompt for confirmation when overwriting an existing test spec YAML file.",
|
|
2688
|
+
"allowNo": false,
|
|
2689
|
+
"type": "boolean"
|
|
2690
|
+
},
|
|
2691
|
+
"output-file": {
|
|
2692
|
+
"char": "f",
|
|
2693
|
+
"name": "output-file",
|
|
2694
|
+
"summary": "Name of the generated test spec YAML file. Default value is \"specs/<AGENT_API_NAME>-testSpec.yaml\" (legacy) or \"specs/<AGENT_API_NAME>-ngtTestSpec.yaml\" (Agentforce Studio).",
|
|
2695
|
+
"hasDynamicHelp": false,
|
|
2696
|
+
"multiple": false,
|
|
2697
|
+
"type": "option"
|
|
2698
|
+
},
|
|
2699
|
+
"test-runner": {
|
|
2700
|
+
"description": "By default, the command automatically detects which test runner to use based on the test definition metadata type in your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition metadata. 'testing-center' uses AiEvaluationDefinition metadata.",
|
|
2701
|
+
"name": "test-runner",
|
|
2702
|
+
"summary": "Explicitly specify which test runner to use (agentforce-studio or testing-center).",
|
|
2703
|
+
"hasDynamicHelp": false,
|
|
2704
|
+
"multiple": false,
|
|
2705
|
+
"options": [
|
|
2706
|
+
"agentforce-studio",
|
|
2707
|
+
"testing-center"
|
|
2708
|
+
],
|
|
2709
|
+
"type": "option"
|
|
2710
|
+
}
|
|
2711
|
+
},
|
|
2712
|
+
"hasDynamicHelp": false,
|
|
2713
|
+
"hiddenAliases": [],
|
|
2714
|
+
"id": "agent:generate:test-spec",
|
|
2715
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2716
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2717
|
+
"pluginType": "core",
|
|
2718
|
+
"strict": true,
|
|
2719
|
+
"summary": "Generate an agent test spec, which is a YAML file that lists the test cases for testing a specific agent.",
|
|
2720
|
+
"enableJsonFlag": false,
|
|
2721
|
+
"isESM": true,
|
|
2722
|
+
"relativePath": [
|
|
2723
|
+
"lib",
|
|
2724
|
+
"commands",
|
|
2725
|
+
"agent",
|
|
2726
|
+
"generate",
|
|
2727
|
+
"test-spec.js"
|
|
2728
|
+
],
|
|
2729
|
+
"aliasPermutations": [],
|
|
2730
|
+
"permutations": [
|
|
2731
|
+
"agent:generate:test-spec",
|
|
2732
|
+
"generate:agent:test-spec",
|
|
2733
|
+
"generate:test-spec:agent",
|
|
2734
|
+
"agent:test-spec:generate",
|
|
2735
|
+
"test-spec:agent:generate",
|
|
2736
|
+
"test-spec:generate:agent"
|
|
2737
|
+
]
|
|
2738
|
+
},
|
|
2739
|
+
"agent:publish:authoring-bundle": {
|
|
2740
|
+
"aliases": [],
|
|
2741
|
+
"args": {},
|
|
2742
|
+
"description": "An authoring bundle is a metadata type (named aiAuthoringBundle) that provides the blueprint for an agent. The metadata type contains two files: the standard metatada XML file and an Agent Script file (extension \".agent\") that fully describes the agent using the Agent Script language.\n\nWhen you publish an authoring bundle to your org, a number of things happen. First, this command validates that the Agent Script file successfully compiles. If there are compilation errors, the command exits and you must fix the Agent Script file to continue. Once the Agent Script file compiles, then it's published to the org, which in turn creates new associated metadata (Bot, BotVersion, GenAiX), or new versions of the metadata if the agent already exists. The new or updated metadata is retrieved back to your DX project; specify the --skip-retrieve flag to skip this step. Finally, the authoring bundle metadata (AiAuthoringBundle) is deployed to your org.\n\nThis command uses the API name of the authoring bundle.",
|
|
2743
|
+
"examples": [
|
|
2744
|
+
"Publish an authoring bundle by being prompted for its API name; use your default org:\n<%= config.bin %> <%= command.id %>",
|
|
2745
|
+
"Publish an authoring bundle with API name MyAuthoringBundle to the org with alias \"my-dev-org\":\n<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --target-org my-dev-org",
|
|
2746
|
+
"Publish with verbose output to see all retrieved and deployed metadata components:\n<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --verbose",
|
|
2747
|
+
"Publish with concise output showing only essential information:\n<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --concise"
|
|
2748
|
+
],
|
|
2749
|
+
"flags": {
|
|
2750
|
+
"json": {
|
|
2751
|
+
"description": "Format output as json.",
|
|
2752
|
+
"helpGroup": "GLOBAL",
|
|
2753
|
+
"name": "json",
|
|
2754
|
+
"allowNo": false,
|
|
2755
|
+
"type": "boolean"
|
|
2756
|
+
},
|
|
2757
|
+
"flags-dir": {
|
|
2758
|
+
"helpGroup": "GLOBAL",
|
|
2759
|
+
"name": "flags-dir",
|
|
2760
|
+
"summary": "Import flag values from a directory.",
|
|
2761
|
+
"hasDynamicHelp": false,
|
|
2762
|
+
"multiple": false,
|
|
2763
|
+
"type": "option"
|
|
2764
|
+
},
|
|
2765
|
+
"target-org": {
|
|
2766
|
+
"char": "o",
|
|
2767
|
+
"name": "target-org",
|
|
2768
|
+
"noCacheDefault": true,
|
|
2769
|
+
"required": true,
|
|
2770
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
2771
|
+
"hasDynamicHelp": true,
|
|
2772
|
+
"multiple": false,
|
|
2773
|
+
"type": "option"
|
|
2774
|
+
},
|
|
2775
|
+
"api-version": {
|
|
2776
|
+
"description": "Override the api version used for api requests made by this command",
|
|
2777
|
+
"name": "api-version",
|
|
2778
|
+
"hasDynamicHelp": false,
|
|
2779
|
+
"multiple": false,
|
|
2780
|
+
"type": "option"
|
|
2781
|
+
},
|
|
2782
|
+
"api-name": {
|
|
2783
|
+
"char": "n",
|
|
2784
|
+
"name": "api-name",
|
|
2785
|
+
"summary": "API name of the authoring bundle you want to publish; if not specified, the command provides a list that you can choose from.",
|
|
2786
|
+
"hasDynamicHelp": false,
|
|
2787
|
+
"multiple": false,
|
|
2788
|
+
"type": "option"
|
|
2789
|
+
},
|
|
2790
|
+
"skip-retrieve": {
|
|
2791
|
+
"name": "skip-retrieve",
|
|
2792
|
+
"summary": "Don't retrieve the metadata associated with the agent to your DX project.",
|
|
2793
|
+
"allowNo": false,
|
|
2794
|
+
"type": "boolean"
|
|
2795
|
+
},
|
|
2796
|
+
"verbose": {
|
|
2797
|
+
"char": "v",
|
|
2798
|
+
"exclusive": [
|
|
2799
|
+
"concise"
|
|
2800
|
+
],
|
|
2801
|
+
"name": "verbose",
|
|
2802
|
+
"summary": "Display detailed output showing all metadata components retrieved and deployed during the publish process.",
|
|
2803
|
+
"allowNo": false,
|
|
2804
|
+
"type": "boolean"
|
|
2805
|
+
},
|
|
2806
|
+
"concise": {
|
|
2807
|
+
"exclusive": [
|
|
2808
|
+
"verbose"
|
|
2809
|
+
],
|
|
2810
|
+
"name": "concise",
|
|
2811
|
+
"summary": "Display minimal output with only essential information about the publish operation.",
|
|
2812
|
+
"allowNo": false,
|
|
2813
|
+
"type": "boolean"
|
|
2814
|
+
}
|
|
2815
|
+
},
|
|
2816
|
+
"hasDynamicHelp": true,
|
|
2817
|
+
"hiddenAliases": [],
|
|
2818
|
+
"id": "agent:publish:authoring-bundle",
|
|
2819
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
2820
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
2821
|
+
"pluginType": "core",
|
|
2822
|
+
"strict": true,
|
|
2823
|
+
"summary": "Publish an authoring bundle to your org, which results in a new agent or a new version of an existing agent.",
|
|
2824
|
+
"enableJsonFlag": true,
|
|
2825
|
+
"requiresProject": true,
|
|
2826
|
+
"errorCodes": {
|
|
2827
|
+
"header": "ERROR CODES",
|
|
2828
|
+
"body": [
|
|
2829
|
+
{
|
|
2830
|
+
"name": "Succeeded (0)",
|
|
2831
|
+
"description": "Agent published successfully without errors."
|
|
2832
|
+
},
|
|
2833
|
+
{
|
|
2834
|
+
"name": "Failed (1)",
|
|
2835
|
+
"description": "Compilation errors found in the Agent Script file."
|
|
2836
|
+
}
|
|
2837
|
+
]
|
|
2838
|
+
},
|
|
2839
|
+
"FLAGGABLE_PROMPTS": {
|
|
2840
|
+
"api-name": {
|
|
2841
|
+
"message": "API name of the authoring bundle you want to publish; if not specified, the command provides a list that you can choose from.",
|
|
2842
|
+
"promptMessage": "API name of the authoring bundle to publish"
|
|
2843
|
+
}
|
|
2844
|
+
},
|
|
2845
|
+
"isESM": true,
|
|
2846
|
+
"relativePath": [
|
|
2847
|
+
"lib",
|
|
2848
|
+
"commands",
|
|
2849
|
+
"agent",
|
|
2850
|
+
"publish",
|
|
2851
|
+
"authoring-bundle.js"
|
|
2852
|
+
],
|
|
2853
|
+
"aliasPermutations": [],
|
|
2854
|
+
"permutations": [
|
|
2855
|
+
"agent:publish:authoring-bundle",
|
|
2856
|
+
"publish:agent:authoring-bundle",
|
|
2857
|
+
"publish:authoring-bundle:agent",
|
|
2858
|
+
"agent:authoring-bundle:publish",
|
|
2859
|
+
"authoring-bundle:agent:publish",
|
|
2860
|
+
"authoring-bundle:publish:agent"
|
|
2861
|
+
]
|
|
2862
|
+
},
|
|
2863
|
+
"agent:test:create": {
|
|
2864
|
+
"aliases": [],
|
|
2865
|
+
"args": {},
|
|
2866
|
+
"description": "To run this command, you must have an agent test spec file, which is a YAML file that lists the test cases for testing a specific agent. Use the \"agent generate test-spec\" CLI command to generate a test spec file. Then specify the file to this command with the --spec flag, or run this command with no flags to be prompted.\n\nWhen this command completes, your org contains the new agent test, which you can view and edit using the Testing Center UI (legacy) or Agentforce Studio (NGT). This command also retrieves the metadata component associated with the new test to your local Salesforce DX project and displays its filename. By default, the legacy AiEvaluationDefinition is created; use --test-runner agentforce-studio to author an AiTestingDefinition (NGT) instead.\n\nAfter you've created the test in the org, use the \"agent test run\" command to run it.",
|
|
2867
|
+
"examples": [
|
|
2868
|
+
"Create an agent test interactively and be prompted for the test spec and API name of the test in the org; use the default org:\n<%= config.bin %> <%= command.id %>",
|
|
2869
|
+
"Create an agent test and use flags to specify all required information; if a test with same API name already exists in the org, overwrite it without confirmation. Use the org with alias \"my-org\":\n<%= config.bin %> <%= command.id %> --spec specs/Resort_Manager-testSpec.yaml --api-name Resort_Manager_Test --force-overwrite --target-org my-org",
|
|
2870
|
+
"Preview what the agent test metadata (AiEvaluationDefinition) looks like without deploying it to your default org:\n<%= config.bin %> <%= command.id %> --spec specs/Resort_Manager-testSpec.yaml --api-name Resort_Manager_Test --preview",
|
|
2871
|
+
"Author an Agentforce Studio (NGT) test from an NGT-shaped YAML; writes an AiTestingDefinition metadata file:\n<%= config.bin %> <%= command.id %> --spec specs/ReturnsCheckout.ngt.yaml --api-name Returns_Checkout --test-runner agentforce-studio --target-org my-org"
|
|
2872
|
+
],
|
|
2873
|
+
"flags": {
|
|
2874
|
+
"json": {
|
|
2875
|
+
"description": "Format output as json.",
|
|
2876
|
+
"helpGroup": "GLOBAL",
|
|
2877
|
+
"name": "json",
|
|
2878
|
+
"allowNo": false,
|
|
2879
|
+
"type": "boolean"
|
|
2880
|
+
},
|
|
2881
|
+
"flags-dir": {
|
|
2882
|
+
"helpGroup": "GLOBAL",
|
|
2883
|
+
"name": "flags-dir",
|
|
2884
|
+
"summary": "Import flag values from a directory.",
|
|
2885
|
+
"hasDynamicHelp": false,
|
|
2886
|
+
"multiple": false,
|
|
2887
|
+
"type": "option"
|
|
2888
|
+
},
|
|
2889
|
+
"api-name": {
|
|
2890
|
+
"name": "api-name",
|
|
2891
|
+
"summary": "API name of the new test; the API name must not exist in the org.",
|
|
2892
|
+
"hasDynamicHelp": false,
|
|
2893
|
+
"multiple": false,
|
|
2894
|
+
"type": "option"
|
|
2895
|
+
},
|
|
2896
|
+
"spec": {
|
|
2897
|
+
"name": "spec",
|
|
2898
|
+
"summary": "Path to the test spec YAML file.",
|
|
2899
|
+
"hasDynamicHelp": false,
|
|
2900
|
+
"multiple": false,
|
|
2901
|
+
"type": "option"
|
|
2902
|
+
},
|
|
2903
|
+
"target-org": {
|
|
2904
|
+
"char": "o",
|
|
2905
|
+
"name": "target-org",
|
|
2906
|
+
"noCacheDefault": true,
|
|
2907
|
+
"required": true,
|
|
2908
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
2909
|
+
"hasDynamicHelp": true,
|
|
2910
|
+
"multiple": false,
|
|
2911
|
+
"type": "option"
|
|
2912
|
+
},
|
|
2913
|
+
"api-version": {
|
|
2914
|
+
"description": "Override the api version used for api requests made by this command",
|
|
2915
|
+
"name": "api-version",
|
|
2916
|
+
"hasDynamicHelp": false,
|
|
2917
|
+
"multiple": false,
|
|
2918
|
+
"type": "option"
|
|
2919
|
+
},
|
|
2920
|
+
"preview": {
|
|
2921
|
+
"name": "preview",
|
|
2922
|
+
"summary": "Preview the test metadata file without deploying to your org.",
|
|
2923
|
+
"allowNo": false,
|
|
2924
|
+
"type": "boolean"
|
|
2925
|
+
},
|
|
2926
|
+
"force-overwrite": {
|
|
2927
|
+
"name": "force-overwrite",
|
|
2928
|
+
"summary": "Don't prompt for confirmation when overwriting an existing test (based on API name) in your org.",
|
|
2929
|
+
"allowNo": false,
|
|
2930
|
+
"type": "boolean"
|
|
2931
|
+
},
|
|
2140
2932
|
"test-runner": {
|
|
2141
2933
|
"description": "By default, the command automatically detects which test runner to use based on the test definition metadata type in your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition metadata. 'testing-center' uses AiEvaluationDefinition metadata.",
|
|
2142
2934
|
"name": "test-runner",
|
|
@@ -2148,23 +2940,16 @@
|
|
|
2148
2940
|
"testing-center"
|
|
2149
2941
|
],
|
|
2150
2942
|
"type": "option"
|
|
2151
|
-
},
|
|
2152
|
-
"verbose": {
|
|
2153
|
-
"description": "When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output. This is useful for debugging test failures and understanding what actions were actually invoked during the test run.\n\nThe generated data is in JSON format and includes the Apex classes or Flows that were invoked, the Salesforce objects that were touched, and so on. Use the JSON structure of this information to build the test case JSONPath expression when using custom evaluations.",
|
|
2154
|
-
"name": "verbose",
|
|
2155
|
-
"summary": "Show generated data in the test results output.",
|
|
2156
|
-
"allowNo": false,
|
|
2157
|
-
"type": "boolean"
|
|
2158
2943
|
}
|
|
2159
2944
|
},
|
|
2160
2945
|
"hasDynamicHelp": true,
|
|
2161
2946
|
"hiddenAliases": [],
|
|
2162
|
-
"id": "agent:test:
|
|
2947
|
+
"id": "agent:test:create",
|
|
2163
2948
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2164
2949
|
"pluginName": "@salesforce/plugin-agent",
|
|
2165
2950
|
"pluginType": "core",
|
|
2166
2951
|
"strict": true,
|
|
2167
|
-
"summary": "
|
|
2952
|
+
"summary": "Create an agent test in your org using a local test spec YAML file.",
|
|
2168
2953
|
"enableJsonFlag": true,
|
|
2169
2954
|
"envVariablesSection": {
|
|
2170
2955
|
"header": "ENVIRONMENT VARIABLES",
|
|
@@ -2180,19 +2965,19 @@
|
|
|
2180
2965
|
"body": [
|
|
2181
2966
|
{
|
|
2182
2967
|
"name": "Succeeded (0)",
|
|
2183
|
-
"description": "Test
|
|
2968
|
+
"description": "Test created and deployed successfully."
|
|
2184
2969
|
},
|
|
2185
2970
|
{
|
|
2186
2971
|
"name": "Failed (1)",
|
|
2187
|
-
"description": "
|
|
2972
|
+
"description": "Test validation errors or metadata format issues."
|
|
2188
2973
|
},
|
|
2189
2974
|
{
|
|
2190
2975
|
"name": "NotFound (2)",
|
|
2191
|
-
"description": "
|
|
2976
|
+
"description": "Test spec file not found or org connection failed."
|
|
2192
2977
|
},
|
|
2193
2978
|
{
|
|
2194
|
-
"name": "
|
|
2195
|
-
"description": "
|
|
2979
|
+
"name": "DeploymentFailed (4)",
|
|
2980
|
+
"description": "Deployment failed due to API or network errors."
|
|
2196
2981
|
}
|
|
2197
2982
|
]
|
|
2198
2983
|
},
|
|
@@ -2202,29 +2987,25 @@
|
|
|
2202
2987
|
"commands",
|
|
2203
2988
|
"agent",
|
|
2204
2989
|
"test",
|
|
2205
|
-
"
|
|
2990
|
+
"create.js"
|
|
2206
2991
|
],
|
|
2207
2992
|
"aliasPermutations": [],
|
|
2208
2993
|
"permutations": [
|
|
2209
|
-
"agent:test:
|
|
2210
|
-
"test:agent:
|
|
2211
|
-
"test:
|
|
2212
|
-
"agent:
|
|
2213
|
-
"
|
|
2214
|
-
"
|
|
2994
|
+
"agent:test:create",
|
|
2995
|
+
"test:agent:create",
|
|
2996
|
+
"test:create:agent",
|
|
2997
|
+
"agent:create:test",
|
|
2998
|
+
"create:agent:test",
|
|
2999
|
+
"create:test:agent"
|
|
2215
3000
|
]
|
|
2216
3001
|
},
|
|
2217
|
-
"agent:test:
|
|
3002
|
+
"agent:test:list": {
|
|
2218
3003
|
"aliases": [],
|
|
2219
3004
|
"args": {},
|
|
2220
|
-
"description": "
|
|
3005
|
+
"description": "The command outputs a table with the name (API name) of each test along with its unique ID, type ('agentforce-studio' or 'testing-center'), and the date it was created in the org.",
|
|
2221
3006
|
"examples": [
|
|
2222
|
-
"
|
|
2223
|
-
"
|
|
2224
|
-
"Run tests using a JSON payload:\n<%= config.bin %> <%= command.id %> --spec specs/eval-payload.json --target-org my-org",
|
|
2225
|
-
"Run tests and output results in JUnit format; useful for continuous integration and deployment (CI/CD):\n<%= config.bin %> <%= command.id %> --spec specs/my-agent-testSpec.yaml --target-org my-org --result-format junit",
|
|
2226
|
-
"Run tests with contextVariables to inject contextual data into agent sessions (add contextVariables to test cases in your YAML spec):\n<%= config.bin %> <%= command.id %> --spec specs/agent-with-context.yaml --target-org my-org",
|
|
2227
|
-
"Pipe JSON payload from stdin (--spec flag is automatically populated from stdin):\n$ echo '{\"tests\":[...]}' | <%= config.bin %> <%= command.id %> --spec --target-org my-org"
|
|
3007
|
+
"List the agent tests in your default org:\n<%= config.bin %> <%= command.id %>",
|
|
3008
|
+
"List the agent tests in an org with alias \"my-org\"\"\n<%= config.bin %> <%= command.id %> --target-org my-org"
|
|
2228
3009
|
],
|
|
2229
3010
|
"flags": {
|
|
2230
3011
|
"json": {
|
|
@@ -2258,62 +3039,16 @@
|
|
|
2258
3039
|
"hasDynamicHelp": false,
|
|
2259
3040
|
"multiple": false,
|
|
2260
3041
|
"type": "option"
|
|
2261
|
-
},
|
|
2262
|
-
"spec": {
|
|
2263
|
-
"char": "s",
|
|
2264
|
-
"name": "spec",
|
|
2265
|
-
"required": true,
|
|
2266
|
-
"summary": "Path to test spec file (YAML or JSON). Supports reading from stdin when piping content.",
|
|
2267
|
-
"hasDynamicHelp": false,
|
|
2268
|
-
"multiple": false,
|
|
2269
|
-
"type": "option"
|
|
2270
|
-
},
|
|
2271
|
-
"api-name": {
|
|
2272
|
-
"char": "n",
|
|
2273
|
-
"name": "api-name",
|
|
2274
|
-
"summary": "Agent API name (also called DeveloperName) used to resolve agent_id and agent_version_id. Auto-inferred from the YAML spec's subjectName.",
|
|
2275
|
-
"hasDynamicHelp": false,
|
|
2276
|
-
"multiple": false,
|
|
2277
|
-
"type": "option"
|
|
2278
|
-
},
|
|
2279
|
-
"result-format": {
|
|
2280
|
-
"name": "result-format",
|
|
2281
|
-
"summary": "Format of the agent test run results.",
|
|
2282
|
-
"default": "human",
|
|
2283
|
-
"hasDynamicHelp": false,
|
|
2284
|
-
"multiple": false,
|
|
2285
|
-
"options": [
|
|
2286
|
-
"json",
|
|
2287
|
-
"human",
|
|
2288
|
-
"junit",
|
|
2289
|
-
"tap"
|
|
2290
|
-
],
|
|
2291
|
-
"type": "option"
|
|
2292
|
-
},
|
|
2293
|
-
"batch-size": {
|
|
2294
|
-
"name": "batch-size",
|
|
2295
|
-
"summary": "Number of tests per API request (max 5).",
|
|
2296
|
-
"default": 5,
|
|
2297
|
-
"hasDynamicHelp": false,
|
|
2298
|
-
"multiple": false,
|
|
2299
|
-
"type": "option"
|
|
2300
|
-
},
|
|
2301
|
-
"no-normalize": {
|
|
2302
|
-
"name": "no-normalize",
|
|
2303
|
-
"summary": "Disable auto-normalization of field names and shorthand references.",
|
|
2304
|
-
"allowNo": false,
|
|
2305
|
-
"type": "boolean"
|
|
2306
3042
|
}
|
|
2307
3043
|
},
|
|
2308
3044
|
"hasDynamicHelp": true,
|
|
2309
3045
|
"hiddenAliases": [],
|
|
2310
|
-
"id": "agent:test:
|
|
3046
|
+
"id": "agent:test:list",
|
|
2311
3047
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2312
3048
|
"pluginName": "@salesforce/plugin-agent",
|
|
2313
3049
|
"pluginType": "core",
|
|
2314
|
-
"state": "beta",
|
|
2315
3050
|
"strict": true,
|
|
2316
|
-
"summary": "
|
|
3051
|
+
"summary": "List the available agent tests in your org.",
|
|
2317
3052
|
"enableJsonFlag": true,
|
|
2318
3053
|
"envVariablesSection": {
|
|
2319
3054
|
"header": "ENVIRONMENT VARIABLES",
|
|
@@ -2329,19 +3064,11 @@
|
|
|
2329
3064
|
"body": [
|
|
2330
3065
|
{
|
|
2331
3066
|
"name": "Succeeded (0)",
|
|
2332
|
-
"description": "
|
|
2333
|
-
},
|
|
2334
|
-
{
|
|
2335
|
-
"name": "Failed (1)",
|
|
2336
|
-
"description": "Tests encountered execution errors (tests couldn't run properly)."
|
|
2337
|
-
},
|
|
2338
|
-
{
|
|
2339
|
-
"name": "NotFound (2)",
|
|
2340
|
-
"description": "Agent not found, spec file not found, or invalid agent name."
|
|
3067
|
+
"description": "Agent tests listed successfully."
|
|
2341
3068
|
},
|
|
2342
3069
|
{
|
|
2343
|
-
"name": "
|
|
2344
|
-
"description": "Failed to
|
|
3070
|
+
"name": "Failed (4)",
|
|
3071
|
+
"description": "Failed to retrieve agent tests due to API or network errors."
|
|
2345
3072
|
}
|
|
2346
3073
|
]
|
|
2347
3074
|
},
|
|
@@ -2351,26 +3078,26 @@
|
|
|
2351
3078
|
"commands",
|
|
2352
3079
|
"agent",
|
|
2353
3080
|
"test",
|
|
2354
|
-
"
|
|
3081
|
+
"list.js"
|
|
2355
3082
|
],
|
|
2356
3083
|
"aliasPermutations": [],
|
|
2357
3084
|
"permutations": [
|
|
2358
|
-
"agent:test:
|
|
2359
|
-
"test:agent:
|
|
2360
|
-
"test:
|
|
2361
|
-
"agent:
|
|
2362
|
-
"
|
|
2363
|
-
"
|
|
3085
|
+
"agent:test:list",
|
|
3086
|
+
"test:agent:list",
|
|
3087
|
+
"test:list:agent",
|
|
3088
|
+
"agent:list:test",
|
|
3089
|
+
"list:agent:test",
|
|
3090
|
+
"list:test:agent"
|
|
2364
3091
|
]
|
|
2365
3092
|
},
|
|
2366
|
-
"agent:test:
|
|
3093
|
+
"agent:test:results": {
|
|
2367
3094
|
"aliases": [],
|
|
2368
3095
|
"args": {},
|
|
2369
|
-
"description": "
|
|
3096
|
+
"description": "This command requires a job ID, which the original \"agent test run\" command displays when it completes. You can also use the --use-most-recent flag to see results for the most recently run agent test.\n\nBy default, this command outputs test results in human-readable tables for each test case. The tables show whether the test case passed, the expected and actual values, the test score, how long the test took, and more. Use the --result-format to display the test results in JSON or Junit format. Use the --output-dir flag to write the results to a file rather than to the terminal.",
|
|
2370
3097
|
"examples": [
|
|
2371
|
-
"
|
|
2372
|
-
"
|
|
2373
|
-
"
|
|
3098
|
+
"Get the results of an agent test run in your default org using its job ID:\n<%= config.bin %> <%= command.id %> --job-id 4KBfake0000003F4AQ",
|
|
3099
|
+
"Get the results of the most recently run agent test in an org with alias \"my-org\":\n<%= config.bin %> <%= command.id %> --use-most-recent --target-org my-org",
|
|
3100
|
+
"Get the results of the most recently run agent test in your default org, and write the JSON-formatted results into a directory called \"test-results\":\n<%= config.bin %> <%= command.id %> --use-most-recent --output-dir ./test-results --result-format json"
|
|
2374
3101
|
],
|
|
2375
3102
|
"flags": {
|
|
2376
3103
|
"json": {
|
|
@@ -2405,22 +3132,15 @@
|
|
|
2405
3132
|
"multiple": false,
|
|
2406
3133
|
"type": "option"
|
|
2407
3134
|
},
|
|
2408
|
-
"
|
|
2409
|
-
"char": "
|
|
2410
|
-
"name": "
|
|
2411
|
-
"
|
|
3135
|
+
"job-id": {
|
|
3136
|
+
"char": "i",
|
|
3137
|
+
"name": "job-id",
|
|
3138
|
+
"required": true,
|
|
3139
|
+
"summary": "Job ID of the completed agent test run.",
|
|
2412
3140
|
"hasDynamicHelp": false,
|
|
2413
3141
|
"multiple": false,
|
|
2414
3142
|
"type": "option"
|
|
2415
3143
|
},
|
|
2416
|
-
"wait": {
|
|
2417
|
-
"char": "w",
|
|
2418
|
-
"name": "wait",
|
|
2419
|
-
"summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
|
|
2420
|
-
"hasDynamicHelp": true,
|
|
2421
|
-
"multiple": false,
|
|
2422
|
-
"type": "option"
|
|
2423
|
-
},
|
|
2424
3144
|
"result-format": {
|
|
2425
3145
|
"name": "result-format",
|
|
2426
3146
|
"summary": "Format of the agent test run results.",
|
|
@@ -2466,12 +3186,12 @@
|
|
|
2466
3186
|
},
|
|
2467
3187
|
"hasDynamicHelp": true,
|
|
2468
3188
|
"hiddenAliases": [],
|
|
2469
|
-
"id": "agent:test:
|
|
3189
|
+
"id": "agent:test:results",
|
|
2470
3190
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2471
3191
|
"pluginName": "@salesforce/plugin-agent",
|
|
2472
3192
|
"pluginType": "core",
|
|
2473
3193
|
"strict": true,
|
|
2474
|
-
"summary": "
|
|
3194
|
+
"summary": "Get the results of a completed agent test run.",
|
|
2475
3195
|
"enableJsonFlag": true,
|
|
2476
3196
|
"envVariablesSection": {
|
|
2477
3197
|
"header": "ENVIRONMENT VARIABLES",
|
|
@@ -2487,19 +3207,15 @@
|
|
|
2487
3207
|
"body": [
|
|
2488
3208
|
{
|
|
2489
3209
|
"name": "Succeeded (0)",
|
|
2490
|
-
"description": "
|
|
2491
|
-
},
|
|
2492
|
-
{
|
|
2493
|
-
"name": "Failed (1)",
|
|
2494
|
-
"description": "Tests encountered execution errors (test cases with ERROR status when using --wait)."
|
|
3210
|
+
"description": "Results retrieved successfully. Test results (passed/failed) are in the output."
|
|
2495
3211
|
},
|
|
2496
3212
|
{
|
|
2497
3213
|
"name": "NotFound (2)",
|
|
2498
|
-
"description": "
|
|
3214
|
+
"description": "Job ID not found or invalid."
|
|
2499
3215
|
},
|
|
2500
3216
|
{
|
|
2501
|
-
"name": "
|
|
2502
|
-
"description": "Failed to
|
|
3217
|
+
"name": "Failed (4)",
|
|
3218
|
+
"description": "Failed to retrieve results due to API or network errors."
|
|
2503
3219
|
}
|
|
2504
3220
|
]
|
|
2505
3221
|
},
|
|
@@ -2509,28 +3225,26 @@
|
|
|
2509
3225
|
"commands",
|
|
2510
3226
|
"agent",
|
|
2511
3227
|
"test",
|
|
2512
|
-
"
|
|
3228
|
+
"results.js"
|
|
2513
3229
|
],
|
|
2514
3230
|
"aliasPermutations": [],
|
|
2515
3231
|
"permutations": [
|
|
2516
|
-
"agent:test:
|
|
2517
|
-
"test:agent:
|
|
2518
|
-
"test:
|
|
2519
|
-
"agent:
|
|
2520
|
-
"
|
|
2521
|
-
"
|
|
3232
|
+
"agent:test:results",
|
|
3233
|
+
"test:agent:results",
|
|
3234
|
+
"test:results:agent",
|
|
3235
|
+
"agent:results:test",
|
|
3236
|
+
"results:agent:test",
|
|
3237
|
+
"results:test:agent"
|
|
2522
3238
|
]
|
|
2523
3239
|
},
|
|
2524
|
-
"agent:
|
|
3240
|
+
"agent:test:resume": {
|
|
2525
3241
|
"aliases": [],
|
|
2526
3242
|
"args": {},
|
|
2527
|
-
"description": "
|
|
3243
|
+
"description": "This command requires a job ID, which the original \"agent test run\" command displays when it completes. You can also use the --use-most-recent flag to see results for the most recently run agent test.\n\nUse the --wait flag to specify the number of minutes for this command to wait for the agent test to complete; if the test completes by the end of the wait time, the command displays the test results. If not, the CLI returns control of the terminal to you, and you must run \"agent test resume\" again.\n\nBy default, this command outputs test results in human-readable tables for each test case. The tables show whether the test case passed, the expected and actual values, the test score, how long the test took, and more. Use the --result-format to display the test results in JSON or Junit format. Use the --output-dir flag to write the results to a file rather than to the terminal.",
|
|
2528
3244
|
"examples": [
|
|
2529
|
-
"
|
|
2530
|
-
"
|
|
2531
|
-
"
|
|
2532
|
-
"End all active preview sessions for a specific agent without prompting:\n<%= config.bin %> <%= command.id %> --all --authoring-bundle My_Local_Agent --target-org <target_org> --no-prompt",
|
|
2533
|
-
"End all active preview sessions across every agent in the local session cache for an org:\n<%= config.bin %> <%= command.id %> --all --target-org <target_org>"
|
|
3245
|
+
"Resume an agent test in your default org using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 4KBfake0000003F4AQ",
|
|
3246
|
+
"Resume the most recently-run agent test in an org with alias \"my-org\" org; wait 10 minutes for the tests to finish:\n<%= config.bin %> <%= command.id %> --use-most-recent --wait 10 --target-org my-org",
|
|
3247
|
+
"Resume the most recent agent test in your default org, and write the JSON-formatted results into a directory called \"test-results\":\n<%= config.bin %> <%= command.id %> --use-most-recent --output-dir ./test-results --result-format json"
|
|
2534
3248
|
],
|
|
2535
3249
|
"flags": {
|
|
2536
3250
|
"json": {
|
|
@@ -2565,65 +3279,82 @@
|
|
|
2565
3279
|
"multiple": false,
|
|
2566
3280
|
"type": "option"
|
|
2567
3281
|
},
|
|
2568
|
-
"
|
|
2569
|
-
"
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
"name": "session-id",
|
|
2573
|
-
"required": false,
|
|
2574
|
-
"summary": "Session ID outputted by \"agent preview start\". Not required when the agent has exactly one active session. Run \"agent preview sessions\" to see the list of all sessions.",
|
|
3282
|
+
"job-id": {
|
|
3283
|
+
"char": "i",
|
|
3284
|
+
"name": "job-id",
|
|
3285
|
+
"summary": "Job ID of the original agent test run.",
|
|
2575
3286
|
"hasDynamicHelp": false,
|
|
2576
3287
|
"multiple": false,
|
|
2577
3288
|
"type": "option"
|
|
2578
3289
|
},
|
|
2579
|
-
"
|
|
2580
|
-
"char": "
|
|
2581
|
-
"
|
|
2582
|
-
|
|
3290
|
+
"use-most-recent": {
|
|
3291
|
+
"char": "r",
|
|
3292
|
+
"name": "use-most-recent",
|
|
3293
|
+
"summary": "Use the job ID of the most recent agent test run.",
|
|
3294
|
+
"allowNo": false,
|
|
3295
|
+
"type": "boolean"
|
|
3296
|
+
},
|
|
3297
|
+
"wait": {
|
|
3298
|
+
"char": "w",
|
|
3299
|
+
"name": "wait",
|
|
3300
|
+
"summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
|
|
3301
|
+
"default": "5 minutes",
|
|
3302
|
+
"hasDynamicHelp": true,
|
|
3303
|
+
"multiple": false,
|
|
3304
|
+
"type": "option"
|
|
3305
|
+
},
|
|
3306
|
+
"result-format": {
|
|
3307
|
+
"name": "result-format",
|
|
3308
|
+
"summary": "Format of the agent test run results.",
|
|
3309
|
+
"default": "human",
|
|
3310
|
+
"hasDynamicHelp": false,
|
|
3311
|
+
"multiple": false,
|
|
3312
|
+
"options": [
|
|
3313
|
+
"json",
|
|
3314
|
+
"human",
|
|
3315
|
+
"junit",
|
|
3316
|
+
"tap"
|
|
2583
3317
|
],
|
|
2584
|
-
"
|
|
2585
|
-
|
|
3318
|
+
"type": "option"
|
|
3319
|
+
},
|
|
3320
|
+
"output-dir": {
|
|
3321
|
+
"char": "d",
|
|
3322
|
+
"description": "If the agent test run completes, write the results to the specified directory. If the test is still running, the test results aren't written.",
|
|
3323
|
+
"name": "output-dir",
|
|
3324
|
+
"summary": "Directory to write the agent test results into.",
|
|
2586
3325
|
"hasDynamicHelp": false,
|
|
2587
3326
|
"multiple": false,
|
|
2588
3327
|
"type": "option"
|
|
2589
3328
|
},
|
|
2590
|
-
"
|
|
2591
|
-
"
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
"name": "authoring-bundle",
|
|
2595
|
-
"summary": "API name of the authoring bundle metadata component that contains the agent's Agent Script file.",
|
|
3329
|
+
"test-runner": {
|
|
3330
|
+
"description": "By default, the command automatically detects which test runner to use based on the test definition metadata type in your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition metadata. 'testing-center' uses AiEvaluationDefinition metadata.",
|
|
3331
|
+
"name": "test-runner",
|
|
3332
|
+
"summary": "Explicitly specify which test runner to use (agentforce-studio or testing-center).",
|
|
2596
3333
|
"hasDynamicHelp": false,
|
|
2597
3334
|
"multiple": false,
|
|
2598
|
-
"
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
"exclusive": [
|
|
2602
|
-
"session-id"
|
|
3335
|
+
"options": [
|
|
3336
|
+
"agentforce-studio",
|
|
3337
|
+
"testing-center"
|
|
2603
3338
|
],
|
|
2604
|
-
"
|
|
2605
|
-
"summary": "End all active preview sessions. Combine with --api-name or --authoring-bundle to limit to a specific agent, or use with only --target-org to end sessions for all agents found in the local session cache. Requires --target-org.",
|
|
2606
|
-
"allowNo": false,
|
|
2607
|
-
"type": "boolean"
|
|
3339
|
+
"type": "option"
|
|
2608
3340
|
},
|
|
2609
|
-
"
|
|
2610
|
-
"
|
|
2611
|
-
"name": "
|
|
2612
|
-
"summary": "
|
|
3341
|
+
"verbose": {
|
|
3342
|
+
"description": "When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output. This is useful for debugging test failures and understanding what actions were actually invoked during the test run.\n\nThe generated data is in JSON format and includes the Apex classes or Flows that were invoked, the Salesforce objects that were touched, and so on. Use the JSON structure of this information to build the test case JSONPath expression when using custom evaluations.",
|
|
3343
|
+
"name": "verbose",
|
|
3344
|
+
"summary": "Show generated data in the test results output.",
|
|
2613
3345
|
"allowNo": false,
|
|
2614
3346
|
"type": "boolean"
|
|
2615
3347
|
}
|
|
2616
3348
|
},
|
|
2617
3349
|
"hasDynamicHelp": true,
|
|
2618
3350
|
"hiddenAliases": [],
|
|
2619
|
-
"id": "agent:
|
|
3351
|
+
"id": "agent:test:resume",
|
|
2620
3352
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2621
3353
|
"pluginName": "@salesforce/plugin-agent",
|
|
2622
3354
|
"pluginType": "core",
|
|
2623
3355
|
"strict": true,
|
|
2624
|
-
"summary": "
|
|
3356
|
+
"summary": "Resume an agent test that you previously started in your org so you can view the test results.",
|
|
2625
3357
|
"enableJsonFlag": true,
|
|
2626
|
-
"requiresProject": true,
|
|
2627
3358
|
"envVariablesSection": {
|
|
2628
3359
|
"header": "ENVIRONMENT VARIABLES",
|
|
2629
3360
|
"body": [
|
|
@@ -2638,27 +3369,19 @@
|
|
|
2638
3369
|
"body": [
|
|
2639
3370
|
{
|
|
2640
3371
|
"name": "Succeeded (0)",
|
|
2641
|
-
"description": "
|
|
3372
|
+
"description": "Test completed successfully (with test results in the output)."
|
|
2642
3373
|
},
|
|
2643
3374
|
{
|
|
2644
|
-
"name": "
|
|
2645
|
-
"description": "
|
|
3375
|
+
"name": "Failed (1)",
|
|
3376
|
+
"description": "Tests encountered execution errors (test cases with ERROR status)."
|
|
2646
3377
|
},
|
|
2647
3378
|
{
|
|
2648
3379
|
"name": "NotFound (2)",
|
|
2649
|
-
"description": "
|
|
2650
|
-
},
|
|
2651
|
-
{
|
|
2652
|
-
"name": "PreviewEndFailed (4)",
|
|
2653
|
-
"description": "Failed to end the preview session."
|
|
2654
|
-
},
|
|
2655
|
-
{
|
|
2656
|
-
"name": "PreviewEndPartialFailure (68)",
|
|
2657
|
-
"description": "With --all, one or more sessions failed to end while others succeeded."
|
|
3380
|
+
"description": "Job ID not found or invalid."
|
|
2658
3381
|
},
|
|
2659
3382
|
{
|
|
2660
|
-
"name": "
|
|
2661
|
-
"description": "
|
|
3383
|
+
"name": "OperationFailed (4)",
|
|
3384
|
+
"description": "Failed to poll test due to API or network errors."
|
|
2662
3385
|
}
|
|
2663
3386
|
]
|
|
2664
3387
|
},
|
|
@@ -2667,27 +3390,30 @@
|
|
|
2667
3390
|
"lib",
|
|
2668
3391
|
"commands",
|
|
2669
3392
|
"agent",
|
|
2670
|
-
"
|
|
2671
|
-
"
|
|
3393
|
+
"test",
|
|
3394
|
+
"resume.js"
|
|
2672
3395
|
],
|
|
2673
3396
|
"aliasPermutations": [],
|
|
2674
3397
|
"permutations": [
|
|
2675
|
-
"agent:
|
|
2676
|
-
"
|
|
2677
|
-
"
|
|
2678
|
-
"agent:
|
|
2679
|
-
"
|
|
2680
|
-
"
|
|
3398
|
+
"agent:test:resume",
|
|
3399
|
+
"test:agent:resume",
|
|
3400
|
+
"test:resume:agent",
|
|
3401
|
+
"agent:resume:test",
|
|
3402
|
+
"resume:agent:test",
|
|
3403
|
+
"resume:test:agent"
|
|
2681
3404
|
]
|
|
2682
3405
|
},
|
|
2683
|
-
"agent:
|
|
3406
|
+
"agent:test:run-eval": {
|
|
2684
3407
|
"aliases": [],
|
|
2685
3408
|
"args": {},
|
|
2686
|
-
"description": "
|
|
3409
|
+
"description": "Specify the tests you want to run with one of these inputs to the --spec flag:\n\n- YAML test spec generated by the `agent generate test-spec` CLI command\n- JSON payload\n\nWhen you provide a YAML test spec, this command automatically translates test cases into internal state-based evaluation framework calls and infers the agent name from the test spec's `subjectName` field. As a result, you can use the same test spec with both the `agent test run` and `agent test run-eval` commands. YAML test specs also support context variables, which allow you to inject contextual data (such as CaseId or RoutableId) into agent sessions for testing with different contexts.\n\nWhen you provide a JSON payload, it's sent directly to the evaluation framework with optional normalization. The normalizer auto-corrects common field name mistakes, converts shorthand references to JSONPath, and injects defaults. Use `--no-normalize` to disable this auto-normalization. JSON payloads can also include context_variables on agent.create_session steps for the same contextual testing capabilities as when you use a YAML test spec.\n\nThis command supports more than 8 evaluator types, including subagent routing assertions, action invocation checks, string/numeric assertions, semantic similarity scoring, and LLM-based quality ratings.",
|
|
2687
3410
|
"examples": [
|
|
2688
|
-
"
|
|
2689
|
-
"
|
|
2690
|
-
"
|
|
3411
|
+
"Run tests using a YAML test spec on the org with alias \"my-org\":\n<%= config.bin %> <%= command.id %> --spec specs/my-agent-testSpec.yaml --target-org my-org",
|
|
3412
|
+
"Run tests using a YAML spec with explicit agent name override; use your default org:\n<%= config.bin %> <%= command.id %> --spec specs/my-agent-testSpec.yaml --api-name My_Agent",
|
|
3413
|
+
"Run tests using a JSON payload:\n<%= config.bin %> <%= command.id %> --spec specs/eval-payload.json --target-org my-org",
|
|
3414
|
+
"Run tests and output results in JUnit format; useful for continuous integration and deployment (CI/CD):\n<%= config.bin %> <%= command.id %> --spec specs/my-agent-testSpec.yaml --target-org my-org --result-format junit",
|
|
3415
|
+
"Run tests with contextVariables to inject contextual data into agent sessions (add contextVariables to test cases in your YAML spec):\n<%= config.bin %> <%= command.id %> --spec specs/agent-with-context.yaml --target-org my-org",
|
|
3416
|
+
"Pipe JSON payload from stdin (--spec flag is automatically populated from stdin):\n$ echo '{\"tests\":[...]}' | <%= config.bin %> <%= command.id %> --spec --target-org my-org"
|
|
2691
3417
|
],
|
|
2692
3418
|
"flags": {
|
|
2693
3419
|
"json": {
|
|
@@ -2722,19 +3448,11 @@
|
|
|
2722
3448
|
"multiple": false,
|
|
2723
3449
|
"type": "option"
|
|
2724
3450
|
},
|
|
2725
|
-
"
|
|
2726
|
-
"
|
|
2727
|
-
"
|
|
2728
|
-
"summary": "Session ID outputted by \"agent preview start\". Not required when the agent has exactly one active session. Run \"agent preview sessions\" to see list of all sessions.",
|
|
2729
|
-
"hasDynamicHelp": false,
|
|
2730
|
-
"multiple": false,
|
|
2731
|
-
"type": "option"
|
|
2732
|
-
},
|
|
2733
|
-
"utterance": {
|
|
2734
|
-
"char": "u",
|
|
2735
|
-
"name": "utterance",
|
|
3451
|
+
"spec": {
|
|
3452
|
+
"char": "s",
|
|
3453
|
+
"name": "spec",
|
|
2736
3454
|
"required": true,
|
|
2737
|
-
"summary": "
|
|
3455
|
+
"summary": "Path to test spec file (YAML or JSON). Supports reading from stdin when piping content.",
|
|
2738
3456
|
"hasDynamicHelp": false,
|
|
2739
3457
|
"multiple": false,
|
|
2740
3458
|
"type": "option"
|
|
@@ -2742,29 +3460,50 @@
|
|
|
2742
3460
|
"api-name": {
|
|
2743
3461
|
"char": "n",
|
|
2744
3462
|
"name": "api-name",
|
|
2745
|
-
"summary": "API name
|
|
3463
|
+
"summary": "Agent API name (also called DeveloperName) used to resolve agent_id and agent_version_id. Auto-inferred from the YAML spec's subjectName.",
|
|
2746
3464
|
"hasDynamicHelp": false,
|
|
2747
3465
|
"multiple": false,
|
|
2748
3466
|
"type": "option"
|
|
2749
3467
|
},
|
|
2750
|
-
"
|
|
2751
|
-
"name": "
|
|
2752
|
-
"summary": "
|
|
3468
|
+
"result-format": {
|
|
3469
|
+
"name": "result-format",
|
|
3470
|
+
"summary": "Format of the agent test run results.",
|
|
3471
|
+
"default": "human",
|
|
3472
|
+
"hasDynamicHelp": false,
|
|
3473
|
+
"multiple": false,
|
|
3474
|
+
"options": [
|
|
3475
|
+
"json",
|
|
3476
|
+
"human",
|
|
3477
|
+
"junit",
|
|
3478
|
+
"tap"
|
|
3479
|
+
],
|
|
3480
|
+
"type": "option"
|
|
3481
|
+
},
|
|
3482
|
+
"batch-size": {
|
|
3483
|
+
"name": "batch-size",
|
|
3484
|
+
"summary": "Number of tests per API request (max 5).",
|
|
3485
|
+
"default": 5,
|
|
2753
3486
|
"hasDynamicHelp": false,
|
|
2754
3487
|
"multiple": false,
|
|
2755
3488
|
"type": "option"
|
|
3489
|
+
},
|
|
3490
|
+
"no-normalize": {
|
|
3491
|
+
"name": "no-normalize",
|
|
3492
|
+
"summary": "Disable auto-normalization of field names and shorthand references.",
|
|
3493
|
+
"allowNo": false,
|
|
3494
|
+
"type": "boolean"
|
|
2756
3495
|
}
|
|
2757
3496
|
},
|
|
2758
3497
|
"hasDynamicHelp": true,
|
|
2759
3498
|
"hiddenAliases": [],
|
|
2760
|
-
"id": "agent:
|
|
3499
|
+
"id": "agent:test:run-eval",
|
|
2761
3500
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2762
3501
|
"pluginName": "@salesforce/plugin-agent",
|
|
2763
3502
|
"pluginType": "core",
|
|
3503
|
+
"state": "beta",
|
|
2764
3504
|
"strict": true,
|
|
2765
|
-
"summary": "
|
|
3505
|
+
"summary": "Run rich evaluation tests against an Agentforce agent.",
|
|
2766
3506
|
"enableJsonFlag": true,
|
|
2767
|
-
"requiresProject": true,
|
|
2768
3507
|
"envVariablesSection": {
|
|
2769
3508
|
"header": "ENVIRONMENT VARIABLES",
|
|
2770
3509
|
"body": [
|
|
@@ -2779,80 +3518,19 @@
|
|
|
2779
3518
|
"body": [
|
|
2780
3519
|
{
|
|
2781
3520
|
"name": "Succeeded (0)",
|
|
2782
|
-
"description": "
|
|
3521
|
+
"description": "Tests completed successfully. Test results (passed/failed) are in the JSON output."
|
|
2783
3522
|
},
|
|
2784
3523
|
{
|
|
2785
|
-
"name": "
|
|
2786
|
-
"description": "
|
|
3524
|
+
"name": "Failed (1)",
|
|
3525
|
+
"description": "Tests encountered execution errors (tests couldn't run properly)."
|
|
2787
3526
|
},
|
|
2788
3527
|
{
|
|
2789
|
-
"name": "
|
|
2790
|
-
"description": "
|
|
3528
|
+
"name": "NotFound (2)",
|
|
3529
|
+
"description": "Agent not found, spec file not found, or invalid agent name."
|
|
2791
3530
|
},
|
|
2792
3531
|
{
|
|
2793
|
-
"name": "
|
|
2794
|
-
"description": "
|
|
2795
|
-
}
|
|
2796
|
-
]
|
|
2797
|
-
},
|
|
2798
|
-
"isESM": true,
|
|
2799
|
-
"relativePath": [
|
|
2800
|
-
"lib",
|
|
2801
|
-
"commands",
|
|
2802
|
-
"agent",
|
|
2803
|
-
"preview",
|
|
2804
|
-
"send.js"
|
|
2805
|
-
],
|
|
2806
|
-
"aliasPermutations": [],
|
|
2807
|
-
"permutations": [
|
|
2808
|
-
"agent:preview:send",
|
|
2809
|
-
"preview:agent:send",
|
|
2810
|
-
"preview:send:agent",
|
|
2811
|
-
"agent:send:preview",
|
|
2812
|
-
"send:agent:preview",
|
|
2813
|
-
"send:preview:agent"
|
|
2814
|
-
]
|
|
2815
|
-
},
|
|
2816
|
-
"agent:preview:sessions": {
|
|
2817
|
-
"aliases": [],
|
|
2818
|
-
"args": {},
|
|
2819
|
-
"description": "This command lists the agent preview sessions that were started with the \"agent preview start\" command and are still in the local cache. Use this command to discover specific session IDs that you can pass to the \"agent preview send\" or \"agent preview end\" commands with the --session-id flag.\n\nProgrammatic agent preview sessions can be started for both published activated agents and by using an agent's local authoring bundle, which contains its Agent Script file. In this command's output table, the Agent column contains either the API name of the authoring bundle or the published agent, whichever was used when starting the session. In the table, if the same API name has multiple rows with different session IDs, then it means that you previously started multiple preview sessions with the associated agent.",
|
|
2820
|
-
"examples": [
|
|
2821
|
-
"List all cached agent preview sessions:\n<%= config.bin %> <%= command.id %>"
|
|
2822
|
-
],
|
|
2823
|
-
"flags": {
|
|
2824
|
-
"json": {
|
|
2825
|
-
"description": "Format output as json.",
|
|
2826
|
-
"helpGroup": "GLOBAL",
|
|
2827
|
-
"name": "json",
|
|
2828
|
-
"allowNo": false,
|
|
2829
|
-
"type": "boolean"
|
|
2830
|
-
},
|
|
2831
|
-
"flags-dir": {
|
|
2832
|
-
"helpGroup": "GLOBAL",
|
|
2833
|
-
"name": "flags-dir",
|
|
2834
|
-
"summary": "Import flag values from a directory.",
|
|
2835
|
-
"hasDynamicHelp": false,
|
|
2836
|
-
"multiple": false,
|
|
2837
|
-
"type": "option"
|
|
2838
|
-
}
|
|
2839
|
-
},
|
|
2840
|
-
"hasDynamicHelp": false,
|
|
2841
|
-
"hiddenAliases": [],
|
|
2842
|
-
"id": "agent:preview:sessions",
|
|
2843
|
-
"pluginAlias": "@salesforce/plugin-agent",
|
|
2844
|
-
"pluginName": "@salesforce/plugin-agent",
|
|
2845
|
-
"pluginType": "core",
|
|
2846
|
-
"strict": true,
|
|
2847
|
-
"summary": "List all known programmatic agent preview sessions.",
|
|
2848
|
-
"enableJsonFlag": true,
|
|
2849
|
-
"requiresProject": true,
|
|
2850
|
-
"errorCodes": {
|
|
2851
|
-
"header": "ERROR CODES",
|
|
2852
|
-
"body": [
|
|
2853
|
-
{
|
|
2854
|
-
"name": "Succeeded (0)",
|
|
2855
|
-
"description": "Sessions listed successfully (or empty list if no active sessions)."
|
|
3532
|
+
"name": "OperationFailed (4)",
|
|
3533
|
+
"description": "Failed to execute tests due to API or network errors."
|
|
2856
3534
|
}
|
|
2857
3535
|
]
|
|
2858
3536
|
},
|
|
@@ -2861,27 +3539,27 @@
|
|
|
2861
3539
|
"lib",
|
|
2862
3540
|
"commands",
|
|
2863
3541
|
"agent",
|
|
2864
|
-
"
|
|
2865
|
-
"
|
|
3542
|
+
"test",
|
|
3543
|
+
"run-eval.js"
|
|
2866
3544
|
],
|
|
2867
3545
|
"aliasPermutations": [],
|
|
2868
3546
|
"permutations": [
|
|
2869
|
-
"agent:
|
|
2870
|
-
"
|
|
2871
|
-
"
|
|
2872
|
-
"agent:
|
|
2873
|
-
"
|
|
2874
|
-
"
|
|
3547
|
+
"agent:test:run-eval",
|
|
3548
|
+
"test:agent:run-eval",
|
|
3549
|
+
"test:run-eval:agent",
|
|
3550
|
+
"agent:run-eval:test",
|
|
3551
|
+
"run-eval:agent:test",
|
|
3552
|
+
"run-eval:test:agent"
|
|
2875
3553
|
]
|
|
2876
3554
|
},
|
|
2877
|
-
"agent:
|
|
3555
|
+
"agent:test:run": {
|
|
2878
3556
|
"aliases": [],
|
|
2879
3557
|
"args": {},
|
|
2880
|
-
"description": "
|
|
3558
|
+
"description": "Use the --api-name flag to specify the name of the agent test you want to run. Use the output of the \"agent test list\" command to get the names of all the available agent tests in your org.\n\nBy default, this command starts the agent test in your org, but it doesn't wait for the test to finish. Instead, it displays the \"agent test resume\" command, with a job ID, that you execute to see the results of the test run, and then returns control of the terminal window to you. Use the --wait flag to specify the number of minutes for the command to wait for the agent test to complete; if the test completes by the end of the wait time, the command displays the test results. If not, run \"agent test resume\".\n\nBy default, this command outputs test results in human-readable tables for each test case, if the test completes in time. The tables show whether the test case passed, the expected and actual values, the test score, how long the test took, and more. Use the --result-format to display the test results in JSON or Junit format. Use the --output-dir flag to write the results to a file rather than to the terminal.",
|
|
2881
3559
|
"examples": [
|
|
2882
|
-
"Start
|
|
2883
|
-
"
|
|
2884
|
-
"Start
|
|
3560
|
+
"Start an agent test called Resort_Manager_Test for an agent in your default org, don't wait for the test to finish:\n<%= config.bin %> <%= command.id %> --api-name Resort_Manager_Test",
|
|
3561
|
+
"Start an agent test for an agent in an org with alias \"my-org\" and wait for 10 minutes for the test to finish:\n<%= config.bin %> <%= command.id %> --api-name Resort_Manager_Test --wait 10 --target-org my-org",
|
|
3562
|
+
"Start an agent test and write the JSON-formatted results into a directory called \"test-results\":\n<%= config.bin %> <%= command.id %> --api-name Resort_Manager_Test --wait 10 --output-dir ./test-results --result-format json"
|
|
2885
3563
|
],
|
|
2886
3564
|
"flags": {
|
|
2887
3565
|
"json": {
|
|
@@ -2909,68 +3587,81 @@
|
|
|
2909
3587
|
"multiple": false,
|
|
2910
3588
|
"type": "option"
|
|
2911
3589
|
},
|
|
2912
|
-
"api-version": {
|
|
2913
|
-
"description": "Override the api version used for api requests made by this command",
|
|
2914
|
-
"name": "api-version",
|
|
3590
|
+
"api-version": {
|
|
3591
|
+
"description": "Override the api version used for api requests made by this command",
|
|
3592
|
+
"name": "api-version",
|
|
3593
|
+
"hasDynamicHelp": false,
|
|
3594
|
+
"multiple": false,
|
|
3595
|
+
"type": "option"
|
|
3596
|
+
},
|
|
3597
|
+
"api-name": {
|
|
3598
|
+
"char": "n",
|
|
3599
|
+
"name": "api-name",
|
|
3600
|
+
"summary": "API name of the agent test to run; corresponds to the name of the AiEvaluationDefinition metadata component that implements the agent test.",
|
|
3601
|
+
"hasDynamicHelp": false,
|
|
3602
|
+
"multiple": false,
|
|
3603
|
+
"type": "option"
|
|
3604
|
+
},
|
|
3605
|
+
"wait": {
|
|
3606
|
+
"char": "w",
|
|
3607
|
+
"name": "wait",
|
|
3608
|
+
"summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
|
|
3609
|
+
"hasDynamicHelp": true,
|
|
3610
|
+
"multiple": false,
|
|
3611
|
+
"type": "option"
|
|
3612
|
+
},
|
|
3613
|
+
"result-format": {
|
|
3614
|
+
"name": "result-format",
|
|
3615
|
+
"summary": "Format of the agent test run results.",
|
|
3616
|
+
"default": "human",
|
|
2915
3617
|
"hasDynamicHelp": false,
|
|
2916
3618
|
"multiple": false,
|
|
3619
|
+
"options": [
|
|
3620
|
+
"json",
|
|
3621
|
+
"human",
|
|
3622
|
+
"junit",
|
|
3623
|
+
"tap"
|
|
3624
|
+
],
|
|
2917
3625
|
"type": "option"
|
|
2918
3626
|
},
|
|
2919
|
-
"
|
|
2920
|
-
"char": "
|
|
2921
|
-
"
|
|
2922
|
-
"
|
|
3627
|
+
"output-dir": {
|
|
3628
|
+
"char": "d",
|
|
3629
|
+
"description": "If the agent test run completes, write the results to the specified directory. If the test is still running, the test results aren't written.",
|
|
3630
|
+
"name": "output-dir",
|
|
3631
|
+
"summary": "Directory to write the agent test results into.",
|
|
2923
3632
|
"hasDynamicHelp": false,
|
|
2924
3633
|
"multiple": false,
|
|
2925
3634
|
"type": "option"
|
|
2926
3635
|
},
|
|
2927
|
-
"
|
|
2928
|
-
"
|
|
2929
|
-
"
|
|
3636
|
+
"test-runner": {
|
|
3637
|
+
"description": "By default, the command automatically detects which test runner to use based on the test definition metadata type in your org. Use this flag to explicitly specify the runner type. 'agentforce-studio' uses AiTestingDefinition metadata. 'testing-center' uses AiEvaluationDefinition metadata.",
|
|
3638
|
+
"name": "test-runner",
|
|
3639
|
+
"summary": "Explicitly specify which test runner to use (agentforce-studio or testing-center).",
|
|
2930
3640
|
"hasDynamicHelp": false,
|
|
2931
3641
|
"multiple": false,
|
|
2932
|
-
"
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
"exclusive": [
|
|
2936
|
-
"simulate-actions"
|
|
3642
|
+
"options": [
|
|
3643
|
+
"agentforce-studio",
|
|
3644
|
+
"testing-center"
|
|
2937
3645
|
],
|
|
2938
|
-
"
|
|
2939
|
-
"summary": "Execute real actions in the org (Apex classes, flows, etc.). Required with --authoring-bundle.",
|
|
2940
|
-
"allowNo": false,
|
|
2941
|
-
"type": "boolean"
|
|
3646
|
+
"type": "option"
|
|
2942
3647
|
},
|
|
2943
|
-
"
|
|
2944
|
-
"
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
"name": "simulate-actions",
|
|
2948
|
-
"summary": "Use AI to simulate action execution instead of calling real actions. Required with --authoring-bundle.",
|
|
3648
|
+
"verbose": {
|
|
3649
|
+
"description": "When enabled, includes detailed generated data (such as invoked actions) in the human-readable test results output. This is useful for debugging test failures and understanding what actions were actually invoked during the test run.\n\nThe generated data is in JSON format and includes the Apex classes or Flows that were invoked, the Salesforce objects that were touched, and so on. Use the JSON structure of this information to build the test case JSONPath expression when using custom evaluations.",
|
|
3650
|
+
"name": "verbose",
|
|
3651
|
+
"summary": "Show generated data in the test results output.",
|
|
2949
3652
|
"allowNo": false,
|
|
2950
3653
|
"type": "boolean"
|
|
2951
|
-
},
|
|
2952
|
-
"agent-json": {
|
|
2953
|
-
"dependsOn": [
|
|
2954
|
-
"authoring-bundle"
|
|
2955
|
-
],
|
|
2956
|
-
"hidden": true,
|
|
2957
|
-
"name": "agent-json",
|
|
2958
|
-
"summary": "Path to a pre-compiled AgentJSON file to use instead of compiling the Agent Script file. Intended for internal use and testing.",
|
|
2959
|
-
"hasDynamicHelp": false,
|
|
2960
|
-
"multiple": false,
|
|
2961
|
-
"type": "option"
|
|
2962
3654
|
}
|
|
2963
3655
|
},
|
|
2964
3656
|
"hasDynamicHelp": true,
|
|
2965
3657
|
"hiddenAliases": [],
|
|
2966
|
-
"id": "agent:
|
|
3658
|
+
"id": "agent:test:run",
|
|
2967
3659
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
2968
3660
|
"pluginName": "@salesforce/plugin-agent",
|
|
2969
3661
|
"pluginType": "core",
|
|
2970
3662
|
"strict": true,
|
|
2971
|
-
"summary": "Start
|
|
3663
|
+
"summary": "Start an agent test in your org.",
|
|
2972
3664
|
"enableJsonFlag": true,
|
|
2973
|
-
"requiresProject": true,
|
|
2974
3665
|
"envVariablesSection": {
|
|
2975
3666
|
"header": "ENVIRONMENT VARIABLES",
|
|
2976
3667
|
"body": [
|
|
@@ -2985,23 +3676,19 @@
|
|
|
2985
3676
|
"body": [
|
|
2986
3677
|
{
|
|
2987
3678
|
"name": "Succeeded (0)",
|
|
2988
|
-
"description": "
|
|
3679
|
+
"description": "Test started successfully (without --wait), or test completed successfully (with --wait)."
|
|
2989
3680
|
},
|
|
2990
3681
|
{
|
|
2991
3682
|
"name": "Failed (1)",
|
|
2992
|
-
"description": "
|
|
3683
|
+
"description": "Tests encountered execution errors (test cases with ERROR status when using --wait)."
|
|
2993
3684
|
},
|
|
2994
3685
|
{
|
|
2995
3686
|
"name": "NotFound (2)",
|
|
2996
|
-
"description": "
|
|
2997
|
-
},
|
|
2998
|
-
{
|
|
2999
|
-
"name": "ServerError (3)",
|
|
3000
|
-
"description": "Compilation API returned HTTP 500 (server error during compilation)."
|
|
3687
|
+
"description": "Test definition not found or invalid test name."
|
|
3001
3688
|
},
|
|
3002
3689
|
{
|
|
3003
|
-
"name": "
|
|
3004
|
-
"description": "
|
|
3690
|
+
"name": "OperationFailed (4)",
|
|
3691
|
+
"description": "Failed to start or poll test due to API or network errors."
|
|
3005
3692
|
}
|
|
3006
3693
|
]
|
|
3007
3694
|
},
|
|
@@ -3010,17 +3697,17 @@
|
|
|
3010
3697
|
"lib",
|
|
3011
3698
|
"commands",
|
|
3012
3699
|
"agent",
|
|
3013
|
-
"
|
|
3014
|
-
"
|
|
3700
|
+
"test",
|
|
3701
|
+
"run.js"
|
|
3015
3702
|
],
|
|
3016
3703
|
"aliasPermutations": [],
|
|
3017
3704
|
"permutations": [
|
|
3018
|
-
"agent:
|
|
3019
|
-
"
|
|
3020
|
-
"
|
|
3021
|
-
"agent:
|
|
3022
|
-
"
|
|
3023
|
-
"
|
|
3705
|
+
"agent:test:run",
|
|
3706
|
+
"test:agent:run",
|
|
3707
|
+
"test:run:agent",
|
|
3708
|
+
"agent:run:test",
|
|
3709
|
+
"run:agent:test",
|
|
3710
|
+
"run:test:agent"
|
|
3024
3711
|
]
|
|
3025
3712
|
},
|
|
3026
3713
|
"agent:trace:delete": {
|
|
@@ -3427,7 +4114,7 @@
|
|
|
3427
4114
|
"agent:adl:file:add": {
|
|
3428
4115
|
"aliases": [],
|
|
3429
4116
|
"args": {},
|
|
3430
|
-
"description": "Adds one or more files to an existing SFDRIVE data library and triggers SearchIndex re-hydration. This is the day-2 operation for adding files to an already-provisioned library.\n\nConstraints: at least 1 file required, no duplicate file names in a batch, maximum 1000 files per library.",
|
|
4117
|
+
"description": "Adds one or more files to an existing SFDRIVE data library and triggers SearchIndex re-hydration. This is the day-2 operation for adding files to an already-provisioned library.\n\nAdds files to an existing READY library. Unlike `sf agent adl upload`, this does NOT create new downstream Data Cloud assets — it appends files to the existing SearchIndex and triggers re-indexing.\n\nConstraints: at least 1 file required, no duplicate file names in a batch, maximum 1000 files per library.",
|
|
3431
4118
|
"examples": [
|
|
3432
4119
|
"Add a file to an existing library:\n<%= config.bin %> <%= command.id %> -i 1JDSG000007IbWX4A0 --path ./docs/new-guide.pdf --target-org myOrg",
|
|
3433
4120
|
"Add multiple files:\n<%= config.bin %> <%= command.id %> -i 1JDSG000007IbWX4A0 --path ./docs/guide.pdf --path ./docs/faq.txt --target-org myOrg"
|
|
@@ -3490,7 +4177,6 @@
|
|
|
3490
4177
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
3491
4178
|
"pluginName": "@salesforce/plugin-agent",
|
|
3492
4179
|
"pluginType": "core",
|
|
3493
|
-
"state": "preview",
|
|
3494
4180
|
"strict": true,
|
|
3495
4181
|
"summary": "Add files to an existing Agentforce Data Library.",
|
|
3496
4182
|
"enableJsonFlag": true,
|
|
@@ -3595,7 +4281,6 @@
|
|
|
3595
4281
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
3596
4282
|
"pluginName": "@salesforce/plugin-agent",
|
|
3597
4283
|
"pluginType": "core",
|
|
3598
|
-
"state": "preview",
|
|
3599
4284
|
"strict": true,
|
|
3600
4285
|
"summary": "Delete a file from an Agentforce Data Library.",
|
|
3601
4286
|
"enableJsonFlag": true,
|
|
@@ -3685,6 +4370,37 @@
|
|
|
3685
4370
|
"hasDynamicHelp": false,
|
|
3686
4371
|
"multiple": false,
|
|
3687
4372
|
"type": "option"
|
|
4373
|
+
},
|
|
4374
|
+
"page-size": {
|
|
4375
|
+
"name": "page-size",
|
|
4376
|
+
"summary": "Number of files to return per page (1-200, default 50).",
|
|
4377
|
+
"default": 50,
|
|
4378
|
+
"hasDynamicHelp": false,
|
|
4379
|
+
"multiple": false,
|
|
4380
|
+
"type": "option"
|
|
4381
|
+
},
|
|
4382
|
+
"offset": {
|
|
4383
|
+
"name": "offset",
|
|
4384
|
+
"summary": "Number of files to skip before returning results (for pagination).",
|
|
4385
|
+
"default": 0,
|
|
4386
|
+
"hasDynamicHelp": false,
|
|
4387
|
+
"multiple": false,
|
|
4388
|
+
"type": "option"
|
|
4389
|
+
},
|
|
4390
|
+
"status": {
|
|
4391
|
+
"name": "status",
|
|
4392
|
+
"summary": "Filter files by indexing status.",
|
|
4393
|
+
"hasDynamicHelp": false,
|
|
4394
|
+
"multiple": false,
|
|
4395
|
+
"options": [
|
|
4396
|
+
"uploaded",
|
|
4397
|
+
"indexing",
|
|
4398
|
+
"indexed",
|
|
4399
|
+
"index_failed",
|
|
4400
|
+
"deleting",
|
|
4401
|
+
"delete_failed"
|
|
4402
|
+
],
|
|
4403
|
+
"type": "option"
|
|
3688
4404
|
}
|
|
3689
4405
|
},
|
|
3690
4406
|
"hasDynamicHelp": true,
|
|
@@ -3693,7 +4409,6 @@
|
|
|
3693
4409
|
"pluginAlias": "@salesforce/plugin-agent",
|
|
3694
4410
|
"pluginName": "@salesforce/plugin-agent",
|
|
3695
4411
|
"pluginType": "core",
|
|
3696
|
-
"state": "preview",
|
|
3697
4412
|
"strict": true,
|
|
3698
4413
|
"summary": "List files in an Agentforce Data Library.",
|
|
3699
4414
|
"enableJsonFlag": true,
|
|
@@ -3733,7 +4448,224 @@
|
|
|
3733
4448
|
"list:file:agent:adl",
|
|
3734
4449
|
"list:file:adl:agent"
|
|
3735
4450
|
]
|
|
4451
|
+
},
|
|
4452
|
+
"agent:mcp:asset:list": {
|
|
4453
|
+
"aliases": [],
|
|
4454
|
+
"args": {},
|
|
4455
|
+
"description": "Returns the assets discovered for the specified MCP server, including each asset's kind (MCP_TOOL, MCP_PROMPT, or MCP_RESOURCE), whether it is active, and whether it is available as an agent action.",
|
|
4456
|
+
"examples": [
|
|
4457
|
+
"List the assets for an MCP server in the default target org:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0XSxx0000000001",
|
|
4458
|
+
"List the assets for an MCP server and output as JSON:\n<%= config.bin %> <%= command.id %> --target-org myOrg --mcp-server-id 0XSxx0000000001 --json"
|
|
4459
|
+
],
|
|
4460
|
+
"flags": {
|
|
4461
|
+
"json": {
|
|
4462
|
+
"description": "Format output as json.",
|
|
4463
|
+
"helpGroup": "GLOBAL",
|
|
4464
|
+
"name": "json",
|
|
4465
|
+
"allowNo": false,
|
|
4466
|
+
"type": "boolean"
|
|
4467
|
+
},
|
|
4468
|
+
"flags-dir": {
|
|
4469
|
+
"helpGroup": "GLOBAL",
|
|
4470
|
+
"name": "flags-dir",
|
|
4471
|
+
"summary": "Import flag values from a directory.",
|
|
4472
|
+
"hasDynamicHelp": false,
|
|
4473
|
+
"multiple": false,
|
|
4474
|
+
"type": "option"
|
|
4475
|
+
},
|
|
4476
|
+
"target-org": {
|
|
4477
|
+
"char": "o",
|
|
4478
|
+
"name": "target-org",
|
|
4479
|
+
"noCacheDefault": true,
|
|
4480
|
+
"required": true,
|
|
4481
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
4482
|
+
"hasDynamicHelp": true,
|
|
4483
|
+
"multiple": false,
|
|
4484
|
+
"type": "option"
|
|
4485
|
+
},
|
|
4486
|
+
"api-version": {
|
|
4487
|
+
"description": "Override the api version used for api requests made by this command",
|
|
4488
|
+
"name": "api-version",
|
|
4489
|
+
"hasDynamicHelp": false,
|
|
4490
|
+
"multiple": false,
|
|
4491
|
+
"type": "option"
|
|
4492
|
+
},
|
|
4493
|
+
"mcp-server-id": {
|
|
4494
|
+
"char": "i",
|
|
4495
|
+
"name": "mcp-server-id",
|
|
4496
|
+
"required": true,
|
|
4497
|
+
"summary": "The ID of the MCP server whose assets you want to list.",
|
|
4498
|
+
"hasDynamicHelp": false,
|
|
4499
|
+
"multiple": false,
|
|
4500
|
+
"type": "option"
|
|
4501
|
+
}
|
|
4502
|
+
},
|
|
4503
|
+
"hasDynamicHelp": true,
|
|
4504
|
+
"hiddenAliases": [],
|
|
4505
|
+
"id": "agent:mcp:asset:list",
|
|
4506
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
4507
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
4508
|
+
"pluginType": "core",
|
|
4509
|
+
"state": "preview",
|
|
4510
|
+
"strict": true,
|
|
4511
|
+
"summary": "List the assets (tools, prompts, and resources) for an MCP server in the catalog.",
|
|
4512
|
+
"enableJsonFlag": true,
|
|
4513
|
+
"isESM": true,
|
|
4514
|
+
"relativePath": [
|
|
4515
|
+
"lib",
|
|
4516
|
+
"commands",
|
|
4517
|
+
"agent",
|
|
4518
|
+
"mcp",
|
|
4519
|
+
"asset",
|
|
4520
|
+
"list.js"
|
|
4521
|
+
],
|
|
4522
|
+
"aliasPermutations": [],
|
|
4523
|
+
"permutations": [
|
|
4524
|
+
"agent:mcp:asset:list",
|
|
4525
|
+
"mcp:agent:asset:list",
|
|
4526
|
+
"mcp:asset:agent:list",
|
|
4527
|
+
"mcp:asset:list:agent",
|
|
4528
|
+
"agent:asset:mcp:list",
|
|
4529
|
+
"asset:agent:mcp:list",
|
|
4530
|
+
"asset:mcp:agent:list",
|
|
4531
|
+
"asset:mcp:list:agent",
|
|
4532
|
+
"agent:asset:list:mcp",
|
|
4533
|
+
"asset:agent:list:mcp",
|
|
4534
|
+
"asset:list:agent:mcp",
|
|
4535
|
+
"asset:list:mcp:agent",
|
|
4536
|
+
"agent:mcp:list:asset",
|
|
4537
|
+
"mcp:agent:list:asset",
|
|
4538
|
+
"mcp:list:agent:asset",
|
|
4539
|
+
"mcp:list:asset:agent",
|
|
4540
|
+
"agent:list:mcp:asset",
|
|
4541
|
+
"list:agent:mcp:asset",
|
|
4542
|
+
"list:mcp:agent:asset",
|
|
4543
|
+
"list:mcp:asset:agent",
|
|
4544
|
+
"agent:list:asset:mcp",
|
|
4545
|
+
"list:agent:asset:mcp",
|
|
4546
|
+
"list:asset:agent:mcp",
|
|
4547
|
+
"list:asset:mcp:agent"
|
|
4548
|
+
]
|
|
4549
|
+
},
|
|
4550
|
+
"agent:mcp:asset:replace": {
|
|
4551
|
+
"aliases": [],
|
|
4552
|
+
"args": {},
|
|
4553
|
+
"description": "Replaces the full set of assets (tools, prompts, resources) for an MCP server with the asset items you supply. Provide the assets either inline with `--assets` (a JSON string, or `-` to read from stdin) or from a file with `--assets-file`. The JSON must be either an array of asset items or an object of the form `{ \"assets\": [...] }`. Each asset item may include `id`, `name`, `label`, `description`, `active`, and `kind`. This is a full replacement: existing assets not present in the supplied set are removed, so provide the complete desired asset set (read the current set first with `agent mcp asset list` or `agent mcp fetch`).",
|
|
4554
|
+
"examples": [
|
|
4555
|
+
"Replace the assets inline with a JSON string:\n<%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --assets '{\"assets\":[{\"name\":\"McpTool__add\",\"active\":true}]}' --target-org myOrg",
|
|
4556
|
+
"Replace the assets from a JSON file:\n<%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --assets-file ./assets.json --target-org myOrg",
|
|
4557
|
+
"Pipe the assets from stdin:\ncat assets.json | <%= config.bin %> <%= command.id %> --mcp-server-id 0XSxx0000000001 --assets - --target-org myOrg"
|
|
4558
|
+
],
|
|
4559
|
+
"flags": {
|
|
4560
|
+
"json": {
|
|
4561
|
+
"description": "Format output as json.",
|
|
4562
|
+
"helpGroup": "GLOBAL",
|
|
4563
|
+
"name": "json",
|
|
4564
|
+
"allowNo": false,
|
|
4565
|
+
"type": "boolean"
|
|
4566
|
+
},
|
|
4567
|
+
"flags-dir": {
|
|
4568
|
+
"helpGroup": "GLOBAL",
|
|
4569
|
+
"name": "flags-dir",
|
|
4570
|
+
"summary": "Import flag values from a directory.",
|
|
4571
|
+
"hasDynamicHelp": false,
|
|
4572
|
+
"multiple": false,
|
|
4573
|
+
"type": "option"
|
|
4574
|
+
},
|
|
4575
|
+
"target-org": {
|
|
4576
|
+
"char": "o",
|
|
4577
|
+
"name": "target-org",
|
|
4578
|
+
"noCacheDefault": true,
|
|
4579
|
+
"required": true,
|
|
4580
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
4581
|
+
"hasDynamicHelp": true,
|
|
4582
|
+
"multiple": false,
|
|
4583
|
+
"type": "option"
|
|
4584
|
+
},
|
|
4585
|
+
"api-version": {
|
|
4586
|
+
"description": "Override the api version used for api requests made by this command",
|
|
4587
|
+
"name": "api-version",
|
|
4588
|
+
"hasDynamicHelp": false,
|
|
4589
|
+
"multiple": false,
|
|
4590
|
+
"type": "option"
|
|
4591
|
+
},
|
|
4592
|
+
"mcp-server-id": {
|
|
4593
|
+
"char": "i",
|
|
4594
|
+
"name": "mcp-server-id",
|
|
4595
|
+
"required": true,
|
|
4596
|
+
"summary": "ID of the MCP server whose assets you want to replace.",
|
|
4597
|
+
"hasDynamicHelp": false,
|
|
4598
|
+
"multiple": false,
|
|
4599
|
+
"type": "option"
|
|
4600
|
+
},
|
|
4601
|
+
"assets": {
|
|
4602
|
+
"exclusive": [
|
|
4603
|
+
"assets-file"
|
|
4604
|
+
],
|
|
4605
|
+
"name": "assets",
|
|
4606
|
+
"summary": "The desired asset allowlist as a JSON string (or \"-\" to read from stdin). Mutually exclusive with --assets-file.",
|
|
4607
|
+
"hasDynamicHelp": false,
|
|
4608
|
+
"multiple": false,
|
|
4609
|
+
"type": "option"
|
|
4610
|
+
},
|
|
4611
|
+
"assets-file": {
|
|
4612
|
+
"exclusive": [
|
|
4613
|
+
"assets"
|
|
4614
|
+
],
|
|
4615
|
+
"name": "assets-file",
|
|
4616
|
+
"summary": "Path to a JSON file containing the desired asset allowlist. Mutually exclusive with --assets.",
|
|
4617
|
+
"hasDynamicHelp": false,
|
|
4618
|
+
"multiple": false,
|
|
4619
|
+
"type": "option"
|
|
4620
|
+
}
|
|
4621
|
+
},
|
|
4622
|
+
"hasDynamicHelp": true,
|
|
4623
|
+
"hiddenAliases": [],
|
|
4624
|
+
"id": "agent:mcp:asset:replace",
|
|
4625
|
+
"pluginAlias": "@salesforce/plugin-agent",
|
|
4626
|
+
"pluginName": "@salesforce/plugin-agent",
|
|
4627
|
+
"pluginType": "core",
|
|
4628
|
+
"state": "preview",
|
|
4629
|
+
"strict": true,
|
|
4630
|
+
"summary": "Replace the asset set of an MCP server in the API Catalog.",
|
|
4631
|
+
"enableJsonFlag": true,
|
|
4632
|
+
"isESM": true,
|
|
4633
|
+
"relativePath": [
|
|
4634
|
+
"lib",
|
|
4635
|
+
"commands",
|
|
4636
|
+
"agent",
|
|
4637
|
+
"mcp",
|
|
4638
|
+
"asset",
|
|
4639
|
+
"replace.js"
|
|
4640
|
+
],
|
|
4641
|
+
"aliasPermutations": [],
|
|
4642
|
+
"permutations": [
|
|
4643
|
+
"agent:mcp:asset:replace",
|
|
4644
|
+
"mcp:agent:asset:replace",
|
|
4645
|
+
"mcp:asset:agent:replace",
|
|
4646
|
+
"mcp:asset:replace:agent",
|
|
4647
|
+
"agent:asset:mcp:replace",
|
|
4648
|
+
"asset:agent:mcp:replace",
|
|
4649
|
+
"asset:mcp:agent:replace",
|
|
4650
|
+
"asset:mcp:replace:agent",
|
|
4651
|
+
"agent:asset:replace:mcp",
|
|
4652
|
+
"asset:agent:replace:mcp",
|
|
4653
|
+
"asset:replace:agent:mcp",
|
|
4654
|
+
"asset:replace:mcp:agent",
|
|
4655
|
+
"agent:mcp:replace:asset",
|
|
4656
|
+
"mcp:agent:replace:asset",
|
|
4657
|
+
"mcp:replace:agent:asset",
|
|
4658
|
+
"mcp:replace:asset:agent",
|
|
4659
|
+
"agent:replace:mcp:asset",
|
|
4660
|
+
"replace:agent:mcp:asset",
|
|
4661
|
+
"replace:mcp:agent:asset",
|
|
4662
|
+
"replace:mcp:asset:agent",
|
|
4663
|
+
"agent:replace:asset:mcp",
|
|
4664
|
+
"replace:agent:asset:mcp",
|
|
4665
|
+
"replace:asset:agent:mcp",
|
|
4666
|
+
"replace:asset:mcp:agent"
|
|
4667
|
+
]
|
|
3736
4668
|
}
|
|
3737
4669
|
},
|
|
3738
|
-
"version": "1.
|
|
4670
|
+
"version": "1.44.4"
|
|
3739
4671
|
}
|