@salesforce/plugin-agent 1.17.0 → 1.18.1
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 +35 -18
- package/lib/commands/agent/generate/test-spec.js +13 -10
- package/lib/commands/agent/generate/test-spec.js.map +1 -1
- package/messages/agent.generate.template.md +9 -5
- package/messages/agent.generate.test-spec.md +9 -1
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +7 -7
- package/package.json +3 -3
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.
|
|
135
|
+
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/create.ts)_
|
|
136
136
|
|
|
137
137
|
## `sf agent generate agent-spec`
|
|
138
138
|
|
|
@@ -237,11 +237,11 @@ EXAMPLES
|
|
|
237
237
|
$ sf agent generate agent-spec --tone formal --agent-user resortmanager@myorg.com
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
240
|
+
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/generate/agent-spec.ts)_
|
|
241
241
|
|
|
242
242
|
## `sf agent generate template`
|
|
243
243
|
|
|
244
|
-
Generate an agent template
|
|
244
|
+
Generate an agent template from an existing agent in your DX project so you can then package the template in a managed package.
|
|
245
245
|
|
|
246
246
|
```
|
|
247
247
|
USAGE
|
|
@@ -249,10 +249,10 @@ USAGE
|
|
|
249
249
|
<value>]
|
|
250
250
|
|
|
251
251
|
FLAGS
|
|
252
|
-
-f, --agent-file=<value> (required)
|
|
252
|
+
-f, --agent-file=<value> (required) Path to an agent (Bot) metadata file.
|
|
253
253
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
254
254
|
configuration variable is already set.
|
|
255
|
-
--agent-version=<value> (required) Version of the
|
|
255
|
+
--agent-version=<value> (required) Version of the agent (BotVersion).
|
|
256
256
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
257
257
|
|
|
258
258
|
GLOBAL FLAGS
|
|
@@ -260,18 +260,35 @@ GLOBAL FLAGS
|
|
|
260
260
|
--json Format output as json.
|
|
261
261
|
|
|
262
262
|
DESCRIPTION
|
|
263
|
-
Generate an agent template
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
Generate an agent template from an existing agent in your DX project so you can then package the template in a managed
|
|
264
|
+
package.
|
|
265
|
+
|
|
266
|
+
At a high-level, agents are defined by the Bot, BotVersion, and GenAiPlanner metadata types. The GenAiPlanner type in
|
|
267
|
+
turn defines the agent's topics and actions. This command uses the metadata files for these three types, located in
|
|
268
|
+
your local DX project, to generate a BotTemplate file for a specific agent (Bot). You then use the BotTemplate file,
|
|
269
|
+
along with the GenAiPlanner file that references the BotTemplate, to package the template in a managed package that
|
|
270
|
+
you can share between orgs or on AppExchange.
|
|
271
|
+
|
|
272
|
+
Use the --agent-file flag to specify the relative or full pathname of the Bot metadata file, such as
|
|
273
|
+
force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml. A single Bot can have multiple
|
|
274
|
+
BotVersions, so use the --agent-version flag to specify the version. The corresponding BotVersion file must exist
|
|
275
|
+
locally. For example, if you specify "--agent-version 4", then the file
|
|
276
|
+
force-app/main/default/bots/My_Awesome_Agent/v4.botVersion-meta.xml must exist.
|
|
277
|
+
|
|
278
|
+
The new BotTemplate file is generated in the "botTemplates" directory in your local package directory, and has the
|
|
279
|
+
name <Agent_API_name>\_v<Version>\_Template.botTemplate-meta.xml, such as
|
|
280
|
+
force-app/main/default/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full
|
|
281
|
+
pathname of the generated files when it completes.
|
|
266
282
|
|
|
267
283
|
EXAMPLES
|
|
268
|
-
Generate an agent template from a Bot metadata file in your project
|
|
284
|
+
Generate an agent template from a Bot metadata file in your DX project that corresponds to the My_Awesome_Agent
|
|
285
|
+
agent; use version 1 of the agent.
|
|
269
286
|
|
|
270
287
|
$ sf agent generate template --agent-file \
|
|
271
288
|
force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1
|
|
272
289
|
```
|
|
273
290
|
|
|
274
|
-
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
291
|
+
_See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/generate/template.ts)_
|
|
275
292
|
|
|
276
293
|
## `sf agent generate test-spec`
|
|
277
294
|
|
|
@@ -282,7 +299,7 @@ USAGE
|
|
|
282
299
|
$ sf agent generate test-spec [--flags-dir <value>] [-d <value>] [--force-overwrite] [-f <value>]
|
|
283
300
|
|
|
284
301
|
FLAGS
|
|
285
|
-
-d, --from-definition=<value> The
|
|
302
|
+
-d, --from-definition=<value> The file path to the AIEvaluationDefinition that you want to convert to a spec file.
|
|
286
303
|
-f, --output-file=<value> The name of the generated spec file. Defaults to "specs/<AGENT_API_NAME>-testSpec.yaml"
|
|
287
304
|
--force-overwrite Don't prompt for confirmation when overwriting an existing test spec file.
|
|
288
305
|
|
|
@@ -299,7 +316,7 @@ EXAMPLES
|
|
|
299
316
|
$ sf agent generate test-spec
|
|
300
317
|
```
|
|
301
318
|
|
|
302
|
-
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
319
|
+
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/generate/test-spec.ts)_
|
|
303
320
|
|
|
304
321
|
## `sf agent preview`
|
|
305
322
|
|
|
@@ -334,7 +351,7 @@ FLAG DESCRIPTIONS
|
|
|
334
351
|
the API name of the agent? (TBD based on agents library)
|
|
335
352
|
```
|
|
336
353
|
|
|
337
|
-
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
354
|
+
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/preview.ts)_
|
|
338
355
|
|
|
339
356
|
## `sf agent test create`
|
|
340
357
|
|
|
@@ -370,7 +387,7 @@ EXAMPLES
|
|
|
370
387
|
$ sf agent test create
|
|
371
388
|
```
|
|
372
389
|
|
|
373
|
-
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
390
|
+
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/test/create.ts)_
|
|
374
391
|
|
|
375
392
|
## `sf agent test list`
|
|
376
393
|
|
|
@@ -399,7 +416,7 @@ EXAMPLES
|
|
|
399
416
|
$ sf agent test list
|
|
400
417
|
```
|
|
401
418
|
|
|
402
|
-
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
419
|
+
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/test/list.ts)_
|
|
403
420
|
|
|
404
421
|
## `sf agent test results`
|
|
405
422
|
|
|
@@ -455,7 +472,7 @@ FLAG DESCRIPTIONS
|
|
|
455
472
|
test results aren't written.
|
|
456
473
|
```
|
|
457
474
|
|
|
458
|
-
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
475
|
+
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/test/results.ts)_
|
|
459
476
|
|
|
460
477
|
## `sf agent test resume`
|
|
461
478
|
|
|
@@ -518,7 +535,7 @@ FLAG DESCRIPTIONS
|
|
|
518
535
|
test results aren't written.
|
|
519
536
|
```
|
|
520
537
|
|
|
521
|
-
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
538
|
+
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/test/resume.ts)_
|
|
522
539
|
|
|
523
540
|
## `sf agent test run`
|
|
524
541
|
|
|
@@ -581,6 +598,6 @@ FLAG DESCRIPTIONS
|
|
|
581
598
|
test results aren't written.
|
|
582
599
|
```
|
|
583
600
|
|
|
584
|
-
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
601
|
+
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.18.1/src/commands/agent/test/run.ts)_
|
|
585
602
|
|
|
586
603
|
<!-- commandsstop -->
|
|
@@ -8,7 +8,7 @@ import { readFile } from 'node:fs/promises';
|
|
|
8
8
|
import { join, parse } from 'node:path';
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
10
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
11
|
-
import { Messages,
|
|
11
|
+
import { Messages, SfProject } from '@salesforce/core';
|
|
12
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';
|
|
@@ -182,9 +182,16 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
182
182
|
static enableJsonFlag = false;
|
|
183
183
|
static state = 'beta';
|
|
184
184
|
static flags = {
|
|
185
|
-
'from-definition': Flags.
|
|
185
|
+
'from-definition': Flags.file({
|
|
186
186
|
char: 'd',
|
|
187
|
+
exists: true,
|
|
187
188
|
summary: messages.getMessage('flags.from-definition.summary'),
|
|
189
|
+
parse: async (raw) => {
|
|
190
|
+
if (!raw.endsWith('aiEvaluationDefinition-meta.xml')) {
|
|
191
|
+
throw messages.createError('error.InvalidAiEvaluationDefinition');
|
|
192
|
+
}
|
|
193
|
+
return Promise.resolve(raw);
|
|
194
|
+
},
|
|
188
195
|
}),
|
|
189
196
|
'force-overwrite': Flags.boolean({
|
|
190
197
|
summary: messages.getMessage('flags.force-overwrite.summary'),
|
|
@@ -192,7 +199,7 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
192
199
|
'output-file': Flags.file({
|
|
193
200
|
char: 'f',
|
|
194
201
|
summary: messages.getMessage('flags.output-file.summary'),
|
|
195
|
-
parse: async (raw) => Promise.resolve(
|
|
202
|
+
parse: async (raw) => Promise.resolve(ensureYamlExtension(raw)),
|
|
196
203
|
}),
|
|
197
204
|
};
|
|
198
205
|
async run() {
|
|
@@ -200,16 +207,12 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
200
207
|
const directoryPaths = (await SfProject.resolve().then((project) => project.getPackageDirectories())).map((dir) => dir.fullPath);
|
|
201
208
|
const cs = await ComponentSetBuilder.build({
|
|
202
209
|
metadata: {
|
|
203
|
-
metadataEntries: ['GenAiPlanner', 'GenAiPlugin', 'Bot'
|
|
210
|
+
metadataEntries: ['GenAiPlanner', 'GenAiPlugin', 'Bot'],
|
|
204
211
|
directoryPaths,
|
|
205
212
|
},
|
|
206
213
|
});
|
|
207
214
|
if (flags['from-definition']) {
|
|
208
|
-
const
|
|
209
|
-
if (!aiEvalDefs[flags['from-definition']]) {
|
|
210
|
-
throw new SfError(`AiEvaluationDefinition ${flags['from-definition']} not found`, 'AiEvalDefinitionNotFoundError');
|
|
211
|
-
}
|
|
212
|
-
const spec = await generateTestSpecFromAiEvalDefinition(aiEvalDefs[flags['from-definition']]);
|
|
215
|
+
const spec = await generateTestSpecFromAiEvalDefinition(flags['from-definition']);
|
|
213
216
|
const outputFile = await determineFilePath(spec.subjectName, flags['output-file'], flags['force-overwrite']);
|
|
214
217
|
if (!outputFile) {
|
|
215
218
|
this.log(messages.getMessage('info.cancel'));
|
|
@@ -226,7 +229,7 @@ export default class AgentGenerateTestSpec extends SfCommand {
|
|
|
226
229
|
.filter((n) => n !== '*'),
|
|
227
230
|
];
|
|
228
231
|
if (bots.length === 0) {
|
|
229
|
-
throw
|
|
232
|
+
throw messages.createError('error.NoAgentsFound', [directoryPaths.join(', ')]);
|
|
230
233
|
}
|
|
231
234
|
const subjectType = await select({
|
|
232
235
|
message: 'What are you testing',
|
|
@@ -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,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,
|
|
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,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,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,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,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,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,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,QAAgB;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC7E,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IACnE,IAAI,CAAC,8EAA8E,UAAU,EAAE,CAAC,CAAC;IACjG,OAAO,UAAU,CAAC;AACpB,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,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEnD,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,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACxF,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,IAAI,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;YAC7D,KAAK,EAAE,KAAK,EAAE,GAAG,EAAmB,EAAE;gBACpC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC;oBACrD,MAAM,QAAQ,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;gBACpE,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;SACF,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,IAAI,CAAC;YACxB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;SACjF,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,CAAC;gBACvD,cAAc;aACf;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,oCAAoC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAElF,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,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjF,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"}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
# summary
|
|
2
2
|
|
|
3
|
-
Generate an agent template
|
|
3
|
+
Generate an agent template from an existing agent in your DX project so you can then package the template in a managed package.
|
|
4
4
|
|
|
5
5
|
# description
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
At a high-level, agents are defined by the Bot, BotVersion, and GenAiPlanner metadata types. The GenAiPlanner 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 file for a specific agent (Bot). You then use the BotTemplate file, along with the GenAiPlanner file that references the BotTemplate, to package the template in a managed package that you can share between orgs or on AppExchange.
|
|
8
|
+
|
|
9
|
+
Use 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 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.
|
|
10
|
+
|
|
11
|
+
The new BotTemplate file is generated in the "botTemplates" directory in your local package directory, and has the name <Agent_API_name>\_v<Version>\_Template.botTemplate-meta.xml, such as force-app/main/default/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full pathname of the generated files when it completes.
|
|
8
12
|
|
|
9
13
|
# examples
|
|
10
14
|
|
|
11
|
-
- Generate an agent template from a Bot metadata file in your project
|
|
15
|
+
- Generate an agent template from a Bot metadata file in your DX project that corresponds to the My_Awesome_Agent agent; use version 1 of the agent.
|
|
12
16
|
|
|
13
17
|
<%= config.bin %> <%= command.id %> --agent-file force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1
|
|
14
18
|
|
|
15
19
|
# flags.agent-version.summary
|
|
16
20
|
|
|
17
|
-
Version of the
|
|
21
|
+
Version of the agent (BotVersion).
|
|
18
22
|
|
|
19
23
|
# flags.agent-file.summary
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
Path to an agent (Bot) metadata file.
|
|
@@ -8,7 +8,7 @@ This command will prompt you for the necessary information to create a new spec
|
|
|
8
8
|
|
|
9
9
|
# flags.from-definition.summary
|
|
10
10
|
|
|
11
|
-
The
|
|
11
|
+
The file path to the AIEvaluationDefinition that you want to convert to a spec file.
|
|
12
12
|
|
|
13
13
|
# flags.force-overwrite.summary
|
|
14
14
|
|
|
@@ -25,3 +25,11 @@ The name of the generated spec file. Defaults to "specs/<AGENT_API_NAME>-testSpe
|
|
|
25
25
|
# info.cancel
|
|
26
26
|
|
|
27
27
|
Operation canceled.
|
|
28
|
+
|
|
29
|
+
# error.InvalidAiEvaluationDefinition
|
|
30
|
+
|
|
31
|
+
File must be an AiEvaluationDefinition metadata file
|
|
32
|
+
|
|
33
|
+
# error.NoAgentsFound
|
|
34
|
+
|
|
35
|
+
No agents found in %s
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@salesforce/plugin-agent",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.18.1",
|
|
10
10
|
"license": "BSD-3-Clause",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@inquirer/core": "^10.1.6",
|
package/oclif.manifest.json
CHANGED
|
@@ -367,9 +367,9 @@
|
|
|
367
367
|
"agent:generate:template": {
|
|
368
368
|
"aliases": [],
|
|
369
369
|
"args": {},
|
|
370
|
-
"description": "
|
|
370
|
+
"description": "At a high-level, agents are defined by the Bot, BotVersion, and GenAiPlanner metadata types. The GenAiPlanner 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 file for a specific agent (Bot). You then use the BotTemplate file, along with the GenAiPlanner 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 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 file is generated in the \"botTemplates\" directory in your local package directory, and has the name <Agent_API_name>\\_v<Version>\\_Template.botTemplate-meta.xml, such as force-app/main/default/botTemplates/My_Awesome_Agent_v4_Template.botTemplate-meta.xml. The command displays the full pathname of the generated files when it completes.",
|
|
371
371
|
"examples": [
|
|
372
|
-
"Generate an agent template from a Bot metadata file in your project
|
|
372
|
+
"Generate an agent template from a Bot metadata file in your DX project that corresponds to the My_Awesome_Agent agent; use version 1 of the agent.\n<%= config.bin %> <%= command.id %> --agent-file force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1"
|
|
373
373
|
],
|
|
374
374
|
"flags": {
|
|
375
375
|
"json": {
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
"agent-version": {
|
|
408
408
|
"name": "agent-version",
|
|
409
409
|
"required": true,
|
|
410
|
-
"summary": "Version of the
|
|
410
|
+
"summary": "Version of the agent (BotVersion).",
|
|
411
411
|
"hasDynamicHelp": false,
|
|
412
412
|
"multiple": false,
|
|
413
413
|
"type": "option"
|
|
@@ -416,7 +416,7 @@
|
|
|
416
416
|
"char": "f",
|
|
417
417
|
"name": "agent-file",
|
|
418
418
|
"required": true,
|
|
419
|
-
"summary": "
|
|
419
|
+
"summary": "Path to an agent (Bot) metadata file.",
|
|
420
420
|
"hasDynamicHelp": false,
|
|
421
421
|
"multiple": false,
|
|
422
422
|
"type": "option"
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
"pluginType": "core",
|
|
431
431
|
"state": "beta",
|
|
432
432
|
"strict": true,
|
|
433
|
-
"summary": "Generate an agent template
|
|
433
|
+
"summary": "Generate an agent template from an existing agent in your DX project so you can then package the template in a managed package.",
|
|
434
434
|
"enableJsonFlag": true,
|
|
435
435
|
"requiresProject": true,
|
|
436
436
|
"isESM": true,
|
|
@@ -470,7 +470,7 @@
|
|
|
470
470
|
"from-definition": {
|
|
471
471
|
"char": "d",
|
|
472
472
|
"name": "from-definition",
|
|
473
|
-
"summary": "The
|
|
473
|
+
"summary": "The file path to the AIEvaluationDefinition that you want to convert to a spec file.",
|
|
474
474
|
"hasDynamicHelp": false,
|
|
475
475
|
"multiple": false,
|
|
476
476
|
"type": "option"
|
|
@@ -1100,5 +1100,5 @@
|
|
|
1100
1100
|
]
|
|
1101
1101
|
}
|
|
1102
1102
|
},
|
|
1103
|
-
"version": "1.
|
|
1103
|
+
"version": "1.18.1"
|
|
1104
1104
|
}
|
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.
|
|
4
|
+
"version": "1.18.1",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -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.
|
|
233
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.
|
|
232
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.18.1.crt",
|
|
233
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-agent/1.18.1.sig"
|
|
234
234
|
}
|
|
235
235
|
}
|