@salesforce/plugin-agent 1.15.1-dev.0 → 1.15.1-dev.2
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 +16 -15
- package/lib/commands/agent/generate/test-spec.d.ts +2 -1
- package/lib/commands/agent/generate/test-spec.js +86 -27
- package/lib/commands/agent/generate/test-spec.js.map +1 -1
- package/lib/commands/agent/test/create.d.ts +1 -1
- package/lib/commands/agent/test/create.js +7 -5
- package/lib/commands/agent/test/create.js.map +1 -1
- package/messages/agent.generate.test-spec.md +11 -3
- package/messages/agent.test.create.md +1 -1
- package/npm-shrinkwrap.json +6 -6
- package/oclif.lock +4 -4
- package/oclif.manifest.json +13 -9
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -132,7 +132,7 @@ EXAMPLES
|
|
|
132
132
|
$ sf agent create --agent-name "Resort Manager" --spec specs/resortManagerAgent.yaml --preview
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
135
|
+
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/create.ts)_
|
|
136
136
|
|
|
137
137
|
## `sf agent generate agent-spec`
|
|
138
138
|
|
|
@@ -236,7 +236,7 @@ EXAMPLES
|
|
|
236
236
|
$ sf agent generate agent-spec --tone formal --agent-user resortmanager@myorg.com
|
|
237
237
|
```
|
|
238
238
|
|
|
239
|
-
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
239
|
+
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/generate/agent-spec.ts)_
|
|
240
240
|
|
|
241
241
|
## `sf agent generate template`
|
|
242
242
|
|
|
@@ -270,7 +270,7 @@ EXAMPLES
|
|
|
270
270
|
force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1
|
|
271
271
|
```
|
|
272
272
|
|
|
273
|
-
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
273
|
+
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/generate/template.ts)_
|
|
274
274
|
|
|
275
275
|
## `sf agent generate test-spec`
|
|
276
276
|
|
|
@@ -278,11 +278,12 @@ Interactively generate a specification file for a AI evaluation test.
|
|
|
278
278
|
|
|
279
279
|
```
|
|
280
280
|
USAGE
|
|
281
|
-
$ sf agent generate test-spec [--flags-dir <value>] [-d <value>] [-f <value>]
|
|
281
|
+
$ sf agent generate test-spec [--flags-dir <value>] [-d <value>] [--force-overwrite] [-f <value>]
|
|
282
282
|
|
|
283
283
|
FLAGS
|
|
284
|
-
-d, --
|
|
285
|
-
-f, --output-file=<value>
|
|
284
|
+
-d, --from-definition=<value> The API name of the AIEvaluationDefinition that you want to convert to a spec file.
|
|
285
|
+
-f, --output-file=<value> The name of the generated spec file. Defaults to "specs/<AGENT_API_NAME>-testSpec.yaml"
|
|
286
|
+
--force-overwrite Don't prompt for confirmation when overwriting an existing test spec file.
|
|
286
287
|
|
|
287
288
|
GLOBAL FLAGS
|
|
288
289
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -297,7 +298,7 @@ EXAMPLES
|
|
|
297
298
|
$ sf agent generate test-spec
|
|
298
299
|
```
|
|
299
300
|
|
|
300
|
-
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
301
|
+
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/generate/test-spec.ts)_
|
|
301
302
|
|
|
302
303
|
## `sf agent preview`
|
|
303
304
|
|
|
@@ -332,7 +333,7 @@ FLAG DESCRIPTIONS
|
|
|
332
333
|
the API name of the agent? (TBD based on agents library)
|
|
333
334
|
```
|
|
334
335
|
|
|
335
|
-
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
336
|
+
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/preview.ts)_
|
|
336
337
|
|
|
337
338
|
## `sf agent test create`
|
|
338
339
|
|
|
@@ -341,13 +342,13 @@ Convert a test spec file into an AiEvaluationDefinition and deploy it to your or
|
|
|
341
342
|
```
|
|
342
343
|
USAGE
|
|
343
344
|
$ sf agent test create -o <value> [--json] [--flags-dir <value>] [--test-api-name <value>] [--spec <value>]
|
|
344
|
-
[--api-version <value>] [--preview] [-
|
|
345
|
+
[--api-version <value>] [--preview] [--force-overwrite]
|
|
345
346
|
|
|
346
347
|
FLAGS
|
|
347
348
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
348
349
|
configuration variable is already set.
|
|
349
|
-
-p, --no-prompt Don't prompt for confirmation when overwriting an existing test.
|
|
350
350
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
351
|
+
--force-overwrite Don't prompt for confirmation when overwriting an existing test.
|
|
351
352
|
--preview Preview the test metadata without deploying to your org.
|
|
352
353
|
--spec=<value> The path to the spec file.
|
|
353
354
|
--test-api-name=<value> The API name of the AiEvaluationDefinition.
|
|
@@ -368,7 +369,7 @@ EXAMPLES
|
|
|
368
369
|
$ sf agent test create
|
|
369
370
|
```
|
|
370
371
|
|
|
371
|
-
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
372
|
+
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/test/create.ts)_
|
|
372
373
|
|
|
373
374
|
## `sf agent test list`
|
|
374
375
|
|
|
@@ -397,7 +398,7 @@ EXAMPLES
|
|
|
397
398
|
$ sf agent test list
|
|
398
399
|
```
|
|
399
400
|
|
|
400
|
-
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
401
|
+
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/test/list.ts)_
|
|
401
402
|
|
|
402
403
|
## `sf agent test results`
|
|
403
404
|
|
|
@@ -453,7 +454,7 @@ FLAG DESCRIPTIONS
|
|
|
453
454
|
test results aren't written.
|
|
454
455
|
```
|
|
455
456
|
|
|
456
|
-
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
457
|
+
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/test/results.ts)_
|
|
457
458
|
|
|
458
459
|
## `sf agent test resume`
|
|
459
460
|
|
|
@@ -516,7 +517,7 @@ FLAG DESCRIPTIONS
|
|
|
516
517
|
test results aren't written.
|
|
517
518
|
```
|
|
518
519
|
|
|
519
|
-
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
520
|
+
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/test/resume.ts)_
|
|
520
521
|
|
|
521
522
|
## `sf agent test run`
|
|
522
523
|
|
|
@@ -579,6 +580,6 @@ FLAG DESCRIPTIONS
|
|
|
579
580
|
test results aren't written.
|
|
580
581
|
```
|
|
581
582
|
|
|
582
|
-
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.
|
|
583
|
+
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.1-dev.2/src/commands/agent/test/run.ts)_
|
|
583
584
|
|
|
584
585
|
<!-- commandsstop -->
|
|
@@ -6,7 +6,8 @@ export default class AgentGenerateTestSpec extends SfCommand<void> {
|
|
|
6
6
|
static readonly enableJsonFlag = false;
|
|
7
7
|
static readonly state = "beta";
|
|
8
8
|
static readonly flags: {
|
|
9
|
-
'
|
|
9
|
+
'from-definition': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'force-overwrite': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
'output-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
run(): Promise<void>;
|
|
@@ -9,11 +9,12 @@ import { join } from 'node:path';
|
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
10
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
11
11
|
import { Messages, SfError, SfProject } from '@salesforce/core';
|
|
12
|
-
import { writeTestSpec } from '@salesforce/agents';
|
|
12
|
+
import { writeTestSpec, generateTestSpecFromAiEvalDefinition } from '@salesforce/agents';
|
|
13
13
|
import { select, input, confirm, checkbox } from '@inquirer/prompts';
|
|
14
14
|
import { XMLParser } from 'fast-xml-parser';
|
|
15
15
|
import { ComponentSetBuilder } from '@salesforce/source-deploy-retrieve';
|
|
16
16
|
import { theme } from '../../../inquirer-theme.js';
|
|
17
|
+
import yesNoOrCancel from '../../../yes-no-cancel.js';
|
|
17
18
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
18
19
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.generate.test-spec');
|
|
19
20
|
function castArray(value) {
|
|
@@ -81,6 +82,15 @@ async function promptForTestCase(genAiPlugins, genAiFunctions) {
|
|
|
81
82
|
expectedOutcome,
|
|
82
83
|
};
|
|
83
84
|
}
|
|
85
|
+
function getMetadataFilePaths(cs, type) {
|
|
86
|
+
return [...cs.filter((component) => component.type.name === type && component.fullName !== '*')].reduce((acc, component) => ({
|
|
87
|
+
...acc,
|
|
88
|
+
[component.fullName]: cs.getComponentFilenamesByNameAndType({
|
|
89
|
+
fullName: component.fullName,
|
|
90
|
+
type,
|
|
91
|
+
})[0],
|
|
92
|
+
}), {});
|
|
93
|
+
}
|
|
84
94
|
/**
|
|
85
95
|
* Retrieves GenAIPlugins and GenAiFunctions from a Bot's GenAiPlanner
|
|
86
96
|
*
|
|
@@ -101,23 +111,8 @@ async function promptForTestCase(genAiPlugins, genAiFunctions) {
|
|
|
101
111
|
* - genAiFunctions: Array of function names
|
|
102
112
|
*/
|
|
103
113
|
async function getPluginsAndFunctions(subjectName, cs) {
|
|
104
|
-
const botVersions =
|
|
105
|
-
|
|
106
|
-
// this resolves to the BotVersion filepath
|
|
107
|
-
[component.fullName]: cs.getComponentFilenamesByNameAndType({
|
|
108
|
-
fullName: component.fullName,
|
|
109
|
-
type: 'Bot',
|
|
110
|
-
})[0],
|
|
111
|
-
}), {});
|
|
112
|
-
const genAiPlanners = [
|
|
113
|
-
...cs.filter((component) => component.type.name === 'GenAiPlanner' && component.fullName !== '*'),
|
|
114
|
-
].reduce((acc, component) => ({
|
|
115
|
-
...acc,
|
|
116
|
-
[component.fullName]: cs.getComponentFilenamesByNameAndType({
|
|
117
|
-
fullName: component.fullName,
|
|
118
|
-
type: 'GenAiPlanner',
|
|
119
|
-
})[0],
|
|
120
|
-
}), {});
|
|
114
|
+
const botVersions = getMetadataFilePaths(cs, 'Bot');
|
|
115
|
+
const genAiPlanners = getMetadataFilePaths(cs, 'GenAiPlanner');
|
|
121
116
|
const parser = new XMLParser();
|
|
122
117
|
const botVersionXml = await readFile(botVersions[subjectName], 'utf-8');
|
|
123
118
|
const parsedBotVersion = parser.parse(botVersionXml);
|
|
@@ -133,6 +128,48 @@ async function getPluginsAndFunctions(subjectName, cs) {
|
|
|
133
128
|
}), {});
|
|
134
129
|
return { genAiPlugins, genAiFunctions };
|
|
135
130
|
}
|
|
131
|
+
function ensureYamlExtension(filePath) {
|
|
132
|
+
if (!filePath)
|
|
133
|
+
return undefined;
|
|
134
|
+
if (filePath.endsWith('.yaml') || filePath.endsWith('.yml'))
|
|
135
|
+
return filePath;
|
|
136
|
+
return `${filePath}.yaml`;
|
|
137
|
+
}
|
|
138
|
+
async function promptUntilUniqueFile(subjectName, filePath) {
|
|
139
|
+
const outputFile = filePath ??
|
|
140
|
+
(await input({
|
|
141
|
+
message: 'Enter a path for the test spec file',
|
|
142
|
+
validate(d) {
|
|
143
|
+
if (!d.length) {
|
|
144
|
+
return 'Path cannot be empty';
|
|
145
|
+
}
|
|
146
|
+
return true;
|
|
147
|
+
},
|
|
148
|
+
theme,
|
|
149
|
+
}));
|
|
150
|
+
if (!existsSync(outputFile)) {
|
|
151
|
+
return outputFile;
|
|
152
|
+
}
|
|
153
|
+
const confirmation = await yesNoOrCancel({
|
|
154
|
+
message: `File ${outputFile} already exists. Overwrite?`,
|
|
155
|
+
default: false,
|
|
156
|
+
});
|
|
157
|
+
if (confirmation === 'cancel') {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (!confirmation) {
|
|
161
|
+
return promptUntilUniqueFile(subjectName);
|
|
162
|
+
}
|
|
163
|
+
return outputFile;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* If the user provides the --force-overwrite flag, then we'll use the default file path (either the one provided by --output-file or the default path).
|
|
167
|
+
* If the user doesn't provide it, we'll prompt the user for a file path until they provide a unique one or cancel.
|
|
168
|
+
*/
|
|
169
|
+
async function determineFilePath(subjectName, outputFile, forceOverwrite) {
|
|
170
|
+
const defaultFile = ensureYamlExtension(outputFile ?? join('specs', `${subjectName}-testSpec.yaml`));
|
|
171
|
+
return ensureYamlExtension(forceOverwrite ? defaultFile : await promptUntilUniqueFile(subjectName, defaultFile));
|
|
172
|
+
}
|
|
136
173
|
export default class AgentGenerateTestSpec extends SfCommand {
|
|
137
174
|
static summary = messages.getMessage('summary');
|
|
138
175
|
static description = messages.getMessage('description');
|
|
@@ -140,10 +177,12 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
140
177
|
static enableJsonFlag = false;
|
|
141
178
|
static state = 'beta';
|
|
142
179
|
static flags = {
|
|
143
|
-
'
|
|
180
|
+
'from-definition': Flags.string({
|
|
144
181
|
char: 'd',
|
|
145
|
-
summary: messages.getMessage('flags.
|
|
146
|
-
|
|
182
|
+
summary: messages.getMessage('flags.from-definition.summary'),
|
|
183
|
+
}),
|
|
184
|
+
'force-overwrite': Flags.boolean({
|
|
185
|
+
summary: messages.getMessage('flags.force-overwrite.summary'),
|
|
147
186
|
}),
|
|
148
187
|
'output-file': Flags.string({
|
|
149
188
|
char: 'f',
|
|
@@ -155,12 +194,31 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
155
194
|
const directoryPaths = (await SfProject.resolve().then((project) => project.getPackageDirectories())).map((dir) => dir.fullPath);
|
|
156
195
|
const cs = await ComponentSetBuilder.build({
|
|
157
196
|
metadata: {
|
|
158
|
-
metadataEntries: ['GenAiPlanner', 'GenAiPlugin', 'Bot'],
|
|
197
|
+
metadataEntries: ['GenAiPlanner', 'GenAiPlugin', 'Bot', 'AiEvaluationDefinition'],
|
|
159
198
|
directoryPaths,
|
|
160
199
|
},
|
|
161
200
|
});
|
|
162
|
-
|
|
163
|
-
|
|
201
|
+
if (flags['from-definition']) {
|
|
202
|
+
const aiEvalDefs = getMetadataFilePaths(cs, 'AiEvaluationDefinition');
|
|
203
|
+
if (!aiEvalDefs[flags['from-definition']]) {
|
|
204
|
+
throw new SfError(`AiEvaluationDefinition ${flags['from-definition']} not found`, 'AiEvalDefinitionNotFoundError');
|
|
205
|
+
}
|
|
206
|
+
const spec = await generateTestSpecFromAiEvalDefinition(aiEvalDefs[flags['from-definition']]);
|
|
207
|
+
const outputFile = await determineFilePath(spec.subjectName, flags['output-file'], flags['force-overwrite']);
|
|
208
|
+
if (!outputFile) {
|
|
209
|
+
this.log(messages.getMessage('info.cancel'));
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
await writeTestSpec(spec, outputFile);
|
|
213
|
+
this.log(`Created ${outputFile}`);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const bots = [
|
|
217
|
+
...cs
|
|
218
|
+
.filter((component) => component.type.name === 'Bot')
|
|
219
|
+
.map((c) => c.fullName)
|
|
220
|
+
.filter((n) => n !== '*'),
|
|
221
|
+
];
|
|
164
222
|
if (bots.length === 0) {
|
|
165
223
|
throw new SfError(`No agents found in ${directoryPaths.join(', ')}`, 'NoAgentsFoundError');
|
|
166
224
|
}
|
|
@@ -174,9 +232,10 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
174
232
|
choices: bots,
|
|
175
233
|
theme,
|
|
176
234
|
});
|
|
177
|
-
const outputFile =
|
|
178
|
-
if (
|
|
179
|
-
|
|
235
|
+
const outputFile = await determineFilePath(subjectName, flags['output-file'], flags['force-overwrite']);
|
|
236
|
+
if (!outputFile) {
|
|
237
|
+
this.log(messages.getMessage('info.cancel'));
|
|
238
|
+
return;
|
|
180
239
|
}
|
|
181
240
|
const { genAiPlugins, genAiFunctions } = await getPluginsAndFunctions(subjectName, cs);
|
|
182
241
|
const name = await input({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/test-spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"test-spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/test-spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;AAS/F,SAAS,SAAS,CAAI,KAAc;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,iBAAiB,CAAC,YAAoC,EAAE,cAAwB;IAC7F,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;QAC5B,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;QACtF,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAS;QACzC,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAClC,KAAK;KACN,CAAC,CAAC;IAEH,iFAAiF;IACjF,6EAA6E;IAC7E,iEAAiE;IACjE,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAyE,CAAC;QACpH,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAS;QAC7C,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC;QACxC,KAAK;QACL,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC;QAClC,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE;YACxC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,gCAAgC,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK;KACN,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,aAAa;QACb,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAgB,EAAE,IAAY;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAGrG,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,GAAG;QACN,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC;YAC1D,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI;SACL,CAAC,CAAC,CAAC,CAAC;KACN,CAAC,EACF,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,EAAgB;IAKhB,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,oBAAoB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAElD,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAC/B,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,8BAA8B,CAAC,gBAAgB,IAAI,WAAW,CAAC,EACzG,OAAO,CACR,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAK5C,CAAC;IAEF,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,CAC7E,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAC7C,CAAC;IAEF,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,MAAM,CAC5E,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,GAAG;QACN,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC;YACvD,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC,CAAC,CAAC;KACN,CAAC,EACF,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA4B;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7E,OAAO,GAAG,QAAQ,OAAO,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,QAAiB;IACzE,MAAM,UAAU,GACd,QAAQ;QACR,CAAC,MAAM,KAAK,CAAC;YACX,OAAO,EAAE,qCAAqC;YAC9C,QAAQ,CAAC,CAAS;gBAChB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO,sBAAsB,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK;SACN,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC;QACvC,OAAO,EAAE,QAAQ,UAAU,6BAA6B;QACxD,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,WAAmB,EACnB,UAA8B,EAC9B,cAAuB;IAEvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,gBAAgB,CAAC,CAAC,CAAC;IACrG,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAe;IACzD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IACvC,MAAM,CAAU,KAAK,GAAG,MAAM,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QAC7B,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;SAC9D,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;SAC9D,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;SAC1D,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CACvG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CACtB,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC;YACzC,QAAQ,EAAE;gBACR,eAAe,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,wBAAwB,CAAC;gBACjF,cAAc;aACf;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAEtE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,OAAO,CACf,0BAA0B,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAC9D,+BAA+B,CAChC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,oCAAoC,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAE9F,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG;YACX,GAAG,EAAE;iBACF,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;iBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,OAAO,CAAC,sBAAsB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAS;YACvC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,CAAC,OAAO,CAAC;YAClB,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAS;YACvC,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,IAAI;YACb,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;YACvB,OAAO,EAAE,sCAAsC;YAC/C,QAAQ,CAAC,CAAS;gBAChB,6BAA6B;gBAC7B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO,sBAAsB,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;YAC9B,OAAO,EAAE,oDAAoD;YAC7D,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC;YACF,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,qBAAqB,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,4CAA4C;YAC5C,SAAS,CAAC,IAAI,CAAC,MAAM,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,CAAC,SAAS,4CAA4C;QACpD,MAAM,OAAO,CAAC;YACZ,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,IAAI;SACd,CAAC,EACF;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;QAEX,MAAM,aAAa,CACjB;YACE,IAAI;YACJ,WAAW;YACX,WAAW;YACX,WAAW;YACX,SAAS;SACV,EACD,UAAU,CACX,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IACpC,CAAC"}
|
|
@@ -14,7 +14,7 @@ export default class AgentTestCreate extends SfCommand<AgentTestCreateResult> {
|
|
|
14
14
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
16
|
preview: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
-
'
|
|
17
|
+
'force-overwrite': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
18
|
spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
19
|
"test-api-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
20
|
};
|
|
@@ -73,16 +73,15 @@ export default class AgentTestCreate extends SfCommand {
|
|
|
73
73
|
preview: Flags.boolean({
|
|
74
74
|
summary: messages.getMessage('flags.preview.summary'),
|
|
75
75
|
}),
|
|
76
|
-
'
|
|
77
|
-
summary: messages.getMessage('flags.
|
|
78
|
-
char: 'p',
|
|
76
|
+
'force-overwrite': Flags.boolean({
|
|
77
|
+
summary: messages.getMessage('flags.force-overwrite.summary'),
|
|
79
78
|
}),
|
|
80
79
|
};
|
|
81
80
|
mso;
|
|
82
81
|
async run() {
|
|
83
82
|
const { flags } = await this.parse(AgentTestCreate);
|
|
84
83
|
// throw error if --json is used and not all required flags are provided
|
|
85
|
-
if (this.jsonEnabled()
|
|
84
|
+
if (this.jsonEnabled()) {
|
|
86
85
|
if (!flags['test-api-name']) {
|
|
87
86
|
throw messages.createError('error.missingRequiredFlags', ['test-api-name']);
|
|
88
87
|
}
|
|
@@ -90,8 +89,11 @@ export default class AgentTestCreate extends SfCommand {
|
|
|
90
89
|
throw messages.createError('error.missingRequiredFlags', ['spec']);
|
|
91
90
|
}
|
|
92
91
|
}
|
|
92
|
+
if (flags['force-overwrite'] && !flags['test-api-name']) {
|
|
93
|
+
throw messages.createError('error.missingRequiredFlags', ['test-api-name']);
|
|
94
|
+
}
|
|
93
95
|
const agentTester = new AgentTester(flags['target-org'].getConnection(flags['api-version']));
|
|
94
|
-
const apiName = flags['
|
|
96
|
+
const apiName = flags['force-overwrite']
|
|
95
97
|
? flags['test-api-name']
|
|
96
98
|
: await promptUntilUniqueName(agentTester, flags['test-api-name']);
|
|
97
99
|
if (!apiName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/create.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAW,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;AAOxF,MAAM,iBAAiB,GAAG;IACxB,eAAe,EAAE;QACf,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;QAC3D,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE;YACxC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,0BAA0B,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAClB,OAAO,wCAAwC,CAAC;YAClD,CAAC;YACD,MAAM,KAAK,GAAG,qCAAqC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,OAAO,mBAAmB,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,IAAI;KACf;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,OAAO,gDAAgD,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,KAAK,UAAU,qBAAqB,CAAC,WAAwB,EAAE,IAAyB;IACtF,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC;YACvC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAgC;IACpE,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,KAAK,GAAG,MAAM,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QAC7B,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAC/B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;SACtD,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;SAC9D,CAAC;KACH,CAAC;IACM,GAAG,CAAsC;IAE1C,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEpD,wEAAwE;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,CAAC,WAAW,CAAC,4BAA4B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,QAAQ,CAAC,WAAW,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,CAAC,WAAW,CAAC,4BAA4B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE7F,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;YACxB,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE1C,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YAC5E,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAgB,CAAmB;gBAChD,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC;gBACrD,KAAK,EAAE,qBAAqB,IAAI,EAAE;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,CAAC;YACvE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CACxE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC,CACpF,CAAC;QAEF,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAC9D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAC1E,CAAC;QAEF,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,EAAE,MAAoB,EAAE,EAAE;YAC/E,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACnB,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE;YACjE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,CAAC;YAC1E,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CACN,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CACjH,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,KAAiC;QAC/C,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC"}
|
|
@@ -6,14 +6,22 @@ Interactively generate a specification file for a AI evaluation test.
|
|
|
6
6
|
|
|
7
7
|
This command will prompt you for the necessary information to create a new spec file (in yaml format). You can then create a new AI evaluation using "sf agent test create --spec <spec-file>".
|
|
8
8
|
|
|
9
|
-
# flags.
|
|
9
|
+
# flags.from-definition.summary
|
|
10
10
|
|
|
11
|
-
The
|
|
11
|
+
The API name of the AIEvaluationDefinition that you want to convert to a spec file.
|
|
12
|
+
|
|
13
|
+
# flags.force-overwrite.summary
|
|
14
|
+
|
|
15
|
+
Don't prompt for confirmation when overwriting an existing test spec file.
|
|
12
16
|
|
|
13
17
|
# flags.output-file.summary
|
|
14
18
|
|
|
15
|
-
The name of the generated spec file.
|
|
19
|
+
The name of the generated spec file. Defaults to "specs/<AGENT_API_NAME>-testSpec.yaml"
|
|
16
20
|
|
|
17
21
|
# examples
|
|
18
22
|
|
|
19
23
|
- <%= config.bin %> <%= command.id %>
|
|
24
|
+
|
|
25
|
+
# info.cancel
|
|
26
|
+
|
|
27
|
+
Operation canceled.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-agent",
|
|
3
|
-
"version": "1.15.1-dev.
|
|
3
|
+
"version": "1.15.1-dev.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@salesforce/plugin-agent",
|
|
9
|
-
"version": "1.15.1-dev.
|
|
9
|
+
"version": "1.15.1-dev.2",
|
|
10
10
|
"license": "BSD-3-Clause",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@inquirer/core": "^10.1.6",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@inquirer/prompts": "^7.2.0",
|
|
15
15
|
"@oclif/core": "^4",
|
|
16
16
|
"@oclif/multi-stage-output": "^0.7.12",
|
|
17
|
-
"@salesforce/agents": "0.9.8-dev.
|
|
17
|
+
"@salesforce/agents": "0.9.8-dev.2",
|
|
18
18
|
"@salesforce/core": "^8.8.0",
|
|
19
19
|
"@salesforce/kit": "^3.2.1",
|
|
20
20
|
"@salesforce/sf-plugins-core": "^12.1.0",
|
|
@@ -3738,9 +3738,9 @@
|
|
|
3738
3738
|
}
|
|
3739
3739
|
},
|
|
3740
3740
|
"node_modules/@salesforce/agents": {
|
|
3741
|
-
"version": "0.9.8-dev.
|
|
3742
|
-
"resolved": "https://registry.npmjs.org/@salesforce/agents/-/agents-0.9.8-dev.
|
|
3743
|
-
"integrity": "sha512-
|
|
3741
|
+
"version": "0.9.8-dev.2",
|
|
3742
|
+
"resolved": "https://registry.npmjs.org/@salesforce/agents/-/agents-0.9.8-dev.2.tgz",
|
|
3743
|
+
"integrity": "sha512-3J4GYR79yK3e1G0JQ0TsRDbt4HYOmAzQfpw89hh/lDvIVCWkj5ANdh7Iiiht4mHFguGPXnxMPKoLfvOctNC7jw==",
|
|
3744
3744
|
"license": "BSD-3-Clause",
|
|
3745
3745
|
"dependencies": {
|
|
3746
3746
|
"@salesforce/core": "^8.8.2",
|
package/oclif.lock
CHANGED
|
@@ -1512,10 +1512,10 @@
|
|
|
1512
1512
|
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
|
|
1513
1513
|
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
|
1514
1514
|
|
|
1515
|
-
"@salesforce/agents@0.9.8-dev.
|
|
1516
|
-
version "0.9.8-dev.
|
|
1517
|
-
resolved "https://registry.yarnpkg.com/@salesforce/agents/-/agents-0.9.8-dev.
|
|
1518
|
-
integrity sha512-
|
|
1515
|
+
"@salesforce/agents@0.9.8-dev.2":
|
|
1516
|
+
version "0.9.8-dev.2"
|
|
1517
|
+
resolved "https://registry.yarnpkg.com/@salesforce/agents/-/agents-0.9.8-dev.2.tgz#f1858ea2944f0678122bd4be4835c5dc6c424054"
|
|
1518
|
+
integrity sha512-3J4GYR79yK3e1G0JQ0TsRDbt4HYOmAzQfpw89hh/lDvIVCWkj5ANdh7Iiiht4mHFguGPXnxMPKoLfvOctNC7jw==
|
|
1519
1519
|
dependencies:
|
|
1520
1520
|
"@salesforce/core" "^8.8.2"
|
|
1521
1521
|
"@salesforce/kit" "^3.2.3"
|
package/oclif.manifest.json
CHANGED
|
@@ -468,19 +468,24 @@
|
|
|
468
468
|
"multiple": false,
|
|
469
469
|
"type": "option"
|
|
470
470
|
},
|
|
471
|
-
"
|
|
471
|
+
"from-definition": {
|
|
472
472
|
"char": "d",
|
|
473
|
-
"name": "
|
|
474
|
-
"summary": "The
|
|
475
|
-
"default": "specs",
|
|
473
|
+
"name": "from-definition",
|
|
474
|
+
"summary": "The API name of the AIEvaluationDefinition that you want to convert to a spec file.",
|
|
476
475
|
"hasDynamicHelp": false,
|
|
477
476
|
"multiple": false,
|
|
478
477
|
"type": "option"
|
|
479
478
|
},
|
|
479
|
+
"force-overwrite": {
|
|
480
|
+
"name": "force-overwrite",
|
|
481
|
+
"summary": "Don't prompt for confirmation when overwriting an existing test spec file.",
|
|
482
|
+
"allowNo": false,
|
|
483
|
+
"type": "boolean"
|
|
484
|
+
},
|
|
480
485
|
"output-file": {
|
|
481
486
|
"char": "f",
|
|
482
487
|
"name": "output-file",
|
|
483
|
-
"summary": "The name of the generated spec file.",
|
|
488
|
+
"summary": "The name of the generated spec file. Defaults to \"specs/<AGENT_API_NAME>-testSpec.yaml\"",
|
|
484
489
|
"hasDynamicHelp": false,
|
|
485
490
|
"multiple": false,
|
|
486
491
|
"type": "option"
|
|
@@ -660,9 +665,8 @@
|
|
|
660
665
|
"allowNo": false,
|
|
661
666
|
"type": "boolean"
|
|
662
667
|
},
|
|
663
|
-
"
|
|
664
|
-
"
|
|
665
|
-
"name": "no-prompt",
|
|
668
|
+
"force-overwrite": {
|
|
669
|
+
"name": "force-overwrite",
|
|
666
670
|
"summary": "Don't prompt for confirmation when overwriting an existing test.",
|
|
667
671
|
"allowNo": false,
|
|
668
672
|
"type": "boolean"
|
|
@@ -1097,5 +1101,5 @@
|
|
|
1097
1101
|
]
|
|
1098
1102
|
}
|
|
1099
1103
|
},
|
|
1100
|
-
"version": "1.15.1-dev.
|
|
1104
|
+
"version": "1.15.1-dev.2"
|
|
1101
1105
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-agent",
|
|
3
3
|
"description": "Commands to interact with Salesforce agents",
|
|
4
|
-
"version": "1.15.1-dev.
|
|
4
|
+
"version": "1.15.1-dev.2",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"@inquirer/prompts": "^7.2.0",
|
|
11
11
|
"@oclif/core": "^4",
|
|
12
12
|
"@oclif/multi-stage-output": "^0.7.12",
|
|
13
|
-
"@salesforce/agents": "0.9.8-dev.
|
|
13
|
+
"@salesforce/agents": "0.9.8-dev.2",
|
|
14
14
|
"@salesforce/core": "^8.8.0",
|
|
15
15
|
"@salesforce/kit": "^3.2.1",
|
|
16
16
|
"@salesforce/sf-plugins-core": "^12.1.0",
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
"exports": "./lib/index.js",
|
|
230
230
|
"type": "module",
|
|
231
231
|
"sfdx": {
|
|
232
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.15.1-dev.
|
|
233
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.15.1-dev.
|
|
232
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.15.1-dev.2.crt",
|
|
233
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.15.1-dev.2.sig"
|
|
234
234
|
}
|
|
235
235
|
}
|