@salesforce/plugin-agent 1.14.5-dev.5 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md 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.14.5-dev.5/src/commands/agent/create.ts)_
135
+ _See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/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.14.5-dev.5/src/commands/agent/generate/agent-spec.ts)_
239
+ _See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/generate/agent-spec.ts)_
240
240
 
241
241
  ## `sf agent generate template`
242
242
 
@@ -244,15 +244,15 @@ Generate an agent template for packaging.
244
244
 
245
245
  ```
246
246
  USAGE
247
- $ sf agent generate template -o <value> --agent-api-name <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d
247
+ $ sf agent generate template -o <value> --agent-version <value> -f <value> [--json] [--flags-dir <value>] [--api-version
248
248
  <value>]
249
249
 
250
250
  FLAGS
251
- -d, --output-dir=<value> Directory to write the agent template.
252
- -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
253
- configuration variable is already set.
254
- --agent-api-name=<value> (required) API name of an existing Bot.
255
- --api-version=<value> Override the api version used for api requests made by this command
251
+ -f, --agent-file=<value> (required) The path to an Agent (Bot) file.
252
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
253
+ configuration variable is already set.
254
+ --agent-version=<value> (required) Version of the Agent (botVersion).
255
+ --api-version=<value> Override the api version used for api requests made by this command
256
256
 
257
257
  GLOBAL FLAGS
258
258
  --flags-dir=<value> Import flag values from a directory.
@@ -264,12 +264,13 @@ DESCRIPTION
264
264
  Generate agent template metadata to for packaging your agent.
265
265
 
266
266
  EXAMPLES
267
- Generate an agent template from a Bot API name in your default package dir:
267
+ Generate an agent template from a Bot metadata file in your project:
268
268
 
269
- $ sf agent generate template --agent-api-name My_Packaged_Agent
269
+ $ sf agent generate template --agent-file \
270
+ force-app/main/default/bots/My_Awesome_Agent/My_Awesome_Agent.bot-meta.xml --agent-version 1
270
271
  ```
271
272
 
272
- _See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/generate/template.ts)_
273
+ _See code: [src/commands/agent/generate/template.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/generate/template.ts)_
273
274
 
274
275
  ## `sf agent generate test-spec`
275
276
 
@@ -277,11 +278,7 @@ Interactively generate a specification file for a AI evaluation test.
277
278
 
278
279
  ```
279
280
  USAGE
280
- $ sf agent generate test-spec [--flags-dir <value>] [-d <value>] [-f <value>]
281
-
282
- FLAGS
283
- -d, --output-dir=<value> [default: specs] The directory to save the generated spec file.
284
- -f, --output-file=<value> [default: agentTestSpec.yaml] The name of the generated spec file.
281
+ $ sf agent generate test-spec [--flags-dir <value>]
285
282
 
286
283
  GLOBAL FLAGS
287
284
  --flags-dir=<value> Import flag values from a directory.
@@ -296,7 +293,7 @@ EXAMPLES
296
293
  $ sf agent generate test-spec
297
294
  ```
298
295
 
299
- _See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/generate/test-spec.ts)_
296
+ _See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/generate/test-spec.ts)_
300
297
 
301
298
  ## `sf agent preview`
302
299
 
@@ -331,43 +328,43 @@ FLAG DESCRIPTIONS
331
328
  the API name of the agent? (TBD based on agents library)
332
329
  ```
333
330
 
334
- _See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/preview.ts)_
331
+ _See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/preview.ts)_
335
332
 
336
333
  ## `sf agent test create`
337
334
 
338
- Convert a test spec file into an AiEvaluationDefinition and deploy it to your org.
335
+ Summary of a command.
339
336
 
340
337
  ```
341
338
  USAGE
342
- $ sf agent test create -o <value> [--json] [--flags-dir <value>] [--test-api-name <value>] [--spec <value>]
343
- [--api-version <value>] [--preview] [-p]
339
+ $ sf agent test create -s <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--preview] [-p]
344
340
 
345
341
  FLAGS
346
- -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
347
- configuration variable is already set.
348
- -p, --no-prompt Don't prompt for confirmation when overwriting an existing test.
349
- --api-version=<value> Override the api version used for api requests made by this command
350
- --preview Preview the test metadata without deploying to your org.
351
- --spec=<value> The path to the spec file.
352
- --test-api-name=<value> The API name of the AiEvaluationDefinition.
342
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
343
+ configuration variable is already set.
344
+ -p, --no-prompt Don't prompt for confirmation when overwriting an existing test.
345
+ -s, --spec=<value> (required) Description of a flag.
346
+ --api-version=<value> Override the api version used for api requests made by this command
347
+ --preview Preview the test metadata without deploying to your org.
353
348
 
354
349
  GLOBAL FLAGS
355
350
  --flags-dir=<value> Import flag values from a directory.
356
351
  --json Format output as json.
357
352
 
358
353
  DESCRIPTION
359
- Convert a test spec file into an AiEvaluationDefinition and deploy it to your org.
354
+ Summary of a command.
360
355
 
361
- This command will convert a test spec file into an AiEvaluationDefinition and deploy it to your org. The spec file
362
- must be in yaml format.
363
-
364
- Use the --preview flag to see the metadata that will be deployed without actually deploying it.
356
+ More information about a command. Don't repeat the summary.
365
357
 
366
358
  EXAMPLES
367
359
  $ sf agent test create
360
+
361
+ FLAG DESCRIPTIONS
362
+ -s, --spec=<value> Description of a flag.
363
+
364
+ More information about a flag. Don't repeat the summary.
368
365
  ```
369
366
 
370
- _See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/test/create.ts)_
367
+ _See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/test/create.ts)_
371
368
 
372
369
  ## `sf agent test list`
373
370
 
@@ -396,7 +393,7 @@ EXAMPLES
396
393
  $ sf agent test list
397
394
  ```
398
395
 
399
- _See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/test/list.ts)_
396
+ _See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/test/list.ts)_
400
397
 
401
398
  ## `sf agent test results`
402
399
 
@@ -452,7 +449,7 @@ FLAG DESCRIPTIONS
452
449
  test results aren't written.
453
450
  ```
454
451
 
455
- _See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/test/results.ts)_
452
+ _See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/test/results.ts)_
456
453
 
457
454
  ## `sf agent test resume`
458
455
 
@@ -515,7 +512,7 @@ FLAG DESCRIPTIONS
515
512
  test results aren't written.
516
513
  ```
517
514
 
518
- _See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/test/resume.ts)_
515
+ _See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/test/resume.ts)_
519
516
 
520
517
  ## `sf agent test run`
521
518
 
@@ -578,6 +575,6 @@ FLAG DESCRIPTIONS
578
575
  test results aren't written.
579
576
  ```
580
577
 
581
- _See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.14.5-dev.5/src/commands/agent/test/run.ts)_
578
+ _See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.15.0/src/commands/agent/test/run.ts)_
582
579
 
583
580
  <!-- commandsstop -->
@@ -13,7 +13,7 @@ import { MultiStageOutput } from '@oclif/multi-stage-output';
13
13
  import { input as inquirerInput } from '@inquirer/prompts';
14
14
  import { colorize } from '@oclif/core/ux';
15
15
  import { Agent, AgentCreateLifecycleStagesV2, generateAgentApiName, } from '@salesforce/agents';
16
- import { makeFlags, promptForFlag, getAgentUserId, validateAgentType, validateTone, promptForYamlFile, } from '../../flags.js';
16
+ import { makeFlags, promptForFlag, getAgentUserId, validateAgentType, validateTone, } from '../../flags.js';
17
17
  import { theme } from '../../inquirer-theme.js';
18
18
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
19
19
  const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.create');
@@ -90,7 +90,7 @@ export default class AgentCreate extends SfCommand {
90
90
  }
91
91
  }
92
92
  // If we don't have an agent spec yet, prompt.
93
- const specPath = flags.spec ?? (await promptForYamlFile(FLAGGABLE_PROMPTS['spec']));
93
+ const specPath = flags.spec ?? (await promptForFlag(FLAGGABLE_PROMPTS['spec']));
94
94
  // Read the agent spec and validate
95
95
  const inputSpec = YAML.parse(readFileSync(resolve(specPath), 'utf8'));
96
96
  validateSpec(inputSpec);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
2
  export type AgentGenerateTemplateResult = {
3
- path: string;
3
+ genAiPlannerPath: string;
4
+ botTemplatePath: string;
4
5
  };
5
6
  export default class AgentGenerateTemplate extends SfCommand<AgentGenerateTemplateResult> {
6
7
  static readonly summary: string;
@@ -11,8 +12,8 @@ export default class AgentGenerateTemplate extends SfCommand<AgentGenerateTempla
11
12
  static readonly flags: {
12
13
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
13
14
  'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
- 'agent-api-name': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
- 'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'agent-version': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'agent-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
17
  };
17
18
  run(): Promise<AgentGenerateTemplateResult>;
18
19
  }
@@ -4,10 +4,11 @@
4
4
  * Licensed under the BSD 3-Clause license.
5
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
6
  */
7
- import { dirname, join, resolve } from 'node:path';
8
- import { mkdirSync, writeFileSync } from 'node:fs';
7
+ import { join, dirname, basename, resolve } from 'node:path';
8
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
9
9
  import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
10
- import { Messages } from '@salesforce/core';
10
+ import { Messages, SfError } from '@salesforce/core';
11
+ import { XMLParser, XMLBuilder } from 'fast-xml-parser';
11
12
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
12
13
  const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.generate.template');
13
14
  export default class AgentGenerateTemplate extends SfCommand {
@@ -19,30 +20,117 @@ export default class AgentGenerateTemplate extends SfCommand {
19
20
  static flags = {
20
21
  'target-org': Flags.requiredOrg(),
21
22
  'api-version': Flags.orgApiVersion(),
22
- 'agent-api-name': Flags.string({
23
- summary: messages.getMessage('flags.agent-api-name.summary'),
23
+ 'agent-version': Flags.integer({
24
+ summary: messages.getMessage('flags.agent-version.summary'),
24
25
  required: true,
25
26
  }),
26
- 'output-dir': Flags.directory({
27
- char: 'd',
27
+ 'agent-file': Flags.file({
28
+ summary: messages.getMessage('flags.agent-file.summary'),
29
+ char: 'f',
30
+ required: true,
28
31
  exists: true,
29
- summary: messages.getMessage('flags.output-dir.summary'),
30
32
  }),
31
33
  };
32
34
  async run() {
33
35
  const { flags } = await this.parse(AgentGenerateTemplate);
34
- // TODO: look for a Bot with the agent API name
35
- const botName = flags['agent-api-name'];
36
- const outputDir = flags['output-dir'] ? resolve(flags['output-dir']) : this.project?.getDefaultPackage().fullPath;
37
- const agentTemplateFilePath = join(outputDir, 'agentTemplates', `${botName}.agentTemplate-meta.xml`);
38
- mkdirSync(dirname(agentTemplateFilePath), { recursive: true });
39
- writeFileSync(agentTemplateFilePath, xmlContent);
40
- this.log(`\nSaved agent template: ${agentTemplateFilePath}`);
41
- return { path: agentTemplateFilePath };
36
+ const { 'agent-file': agentFile, 'agent-version': botVersion } = flags;
37
+ if (!agentFile.endsWith('.bot-meta.xml')) {
38
+ throw new SfError('Invalid Agent file. Must be a Bot metadata file. Example: force-app/main/default/bots/MyBot.bot-meta.xml');
39
+ }
40
+ const parser = new XMLParser({ ignoreAttributes: false });
41
+ const builder = new XMLBuilder({ format: true, ignoreAttributes: false, indentBy: ' ' });
42
+ const botName = basename(agentFile).replace('.bot-meta.xml', '');
43
+ // Since we are cloning the GenAiPlanner, we need to use a different name than the Agent (Bot) we started with
44
+ // We will use this name for the BotTemplate also to make it clear they are related
45
+ const finalFilename = `${botName}_v${botVersion}_Template`;
46
+ // Build the base dir from the AgentFile
47
+ const basePath = resolve(dirname(agentFile), '..', '..');
48
+ const botDir = join(basePath, 'bots', botName);
49
+ const genAiPlannerDir = join(basePath, 'genAiPlanners');
50
+ const botTemplateDir = join(basePath, 'botTemplates');
51
+ const botTemplateFilePath = join(botTemplateDir, `${finalFilename}.botTemplate-meta.xml`);
52
+ const clonedGenAiPlannerFilePath = join(genAiPlannerDir, `${finalFilename}.genAiPlanner-meta.xml`);
53
+ // Parse the metadata files as JSON
54
+ const botJson = xmlToJson(join(botDir, `${botName}.bot-meta.xml`), parser);
55
+ const botVersionJson = xmlToJson(join(botDir, `v${botVersion}.botVersion-meta.xml`), parser);
56
+ const genAiPlannerMetaJson = xmlToJson(join(genAiPlannerDir, `${botName}.genAiPlanner-meta.xml`), parser);
57
+ // Modify the metadata files for final output
58
+ // TODO: Confirm this name (might be conversationDefinitionPlanners)
59
+ genAiPlannerMetaJson.GenAiPlanner.botTemplate = finalFilename;
60
+ const botTemplate = convertBotToBotTemplate(botJson, botVersionJson, finalFilename, botTemplateFilePath);
61
+ // Build and save the metadata files
62
+ jsonToXml(clonedGenAiPlannerFilePath, genAiPlannerMetaJson, builder);
63
+ jsonToXml(botTemplateFilePath, botTemplate, builder);
64
+ this.log(`\nSaved BotTemplate to:\n - ${botTemplateFilePath}`);
65
+ this.log(`Saved GenAiPlanner to:\n - ${clonedGenAiPlannerFilePath}`);
66
+ return {
67
+ genAiPlannerPath: clonedGenAiPlannerFilePath,
68
+ botTemplatePath: botTemplateFilePath,
69
+ };
42
70
  }
43
71
  }
44
- const xmlContent = `<?xml version="1.0" encoding="UTF-8"?>
45
- <AgentTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
46
- </AgentTemplate>
47
- `;
72
+ const convertBotToBotTemplate = (bot, botVersionJson, newMlDomainName, botFilePath) => {
73
+ const entryDialog = botVersionJson.BotVersion.entryDialog;
74
+ const { conversationSystemDialogs } = botVersionJson.BotVersion;
75
+ // We need to pull the botDialog from the BotVersion file that matches the entryDialog
76
+ // This will be added to the BotTemplate
77
+ const entryDialogJson = botVersionJson.BotVersion.botDialogs.find((dialog) => dialog.developerName === entryDialog);
78
+ if (!entryDialogJson)
79
+ throw new SfError('No entryDialog found in BotVersion file');
80
+ // TODO: Test this on a newer org. I had to have this renamed.
81
+ entryDialogJson.label = entryDialog;
82
+ if (!bot.Bot.label)
83
+ throw new SfError(`No label found in Agent (Bot) file: ${botFilePath}`);
84
+ if (!bot.Bot.botMlDomain)
85
+ throw new SfError(`No botMlDomain found in Agent (Bot) file: ${botFilePath}`);
86
+ const masterLabel = bot.Bot.label;
87
+ const mlDomain = bot.Bot.botMlDomain;
88
+ delete bot.Bot.botMlDomain;
89
+ delete bot.Bot.label;
90
+ delete bot.Bot.botUser;
91
+ delete bot.Bot.logPrivateConversationData;
92
+ delete bot.Bot.sessionTimeout;
93
+ // botDialogGroups is not required
94
+ const botTemplate = {
95
+ BotTemplate: {
96
+ masterLabel,
97
+ conversationLanguages: 'en_US',
98
+ mainMenuDialog: 'Main_Menu',
99
+ botDialogs: [
100
+ {
101
+ developerName: 'Main_Menu',
102
+ isPlaceholderDialog: false,
103
+ label: 'Main_Menu',
104
+ showInFooterMenu: false,
105
+ botSteps: [],
106
+ },
107
+ entryDialogJson,
108
+ ],
109
+ conversationSystemDialogs,
110
+ entryDialog,
111
+ mlDomain,
112
+ ...bot.Bot,
113
+ },
114
+ };
115
+ // TODO: Test this on a newer org. I had to have this renamed to avoid a conflict.
116
+ botTemplate.BotTemplate.mlDomain.name = newMlDomainName;
117
+ return botTemplate;
118
+ };
119
+ const xmlToJson = (path, parser) => {
120
+ const file = readFileSync(path, 'utf8');
121
+ if (!file)
122
+ throw new SfError(`No metadata file found at ${path}`);
123
+ return parser.parse(file);
124
+ };
125
+ const jsonToXml = (filename, json, builder) => {
126
+ // Ensure output dir exists (dir of filename)
127
+ mkdirSync(dirname(filename), { recursive: true });
128
+ try {
129
+ const xml = builder.build(json);
130
+ writeFileSync(filename, xml);
131
+ }
132
+ catch (error) {
133
+ throw new SfError(`Failed save to file: ${filename}`);
134
+ }
135
+ };
48
136
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;AAM9F,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAsC;IAChF,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,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC;IAEvC,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC;YAC5D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;SACzD,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE1D,+CAA+C;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC;QAElH,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAmB,EAAE,gBAAgB,EAAE,GAAG,OAAO,yBAAyB,CAAC,CAAC;QAC/G,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,aAAa,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,CAAC,2BAA2B,qBAAqB,EAAE,CAAC,CAAC;QAE7D,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IACzC,CAAC;;AAGH,MAAM,UAAU,GAAG;;;CAGlB,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/template.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,5 @@ export default class AgentGenerateTestSpec extends SfCommand<void> {
5
5
  static readonly examples: string[];
6
6
  static readonly enableJsonFlag = false;
7
7
  static readonly state = "beta";
8
- static readonly flags: {
9
- 'output-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
- 'output-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
- };
12
8
  run(): Promise<void>;
13
9
  }