@salesforce/plugin-agent 1.12.0 → 1.13.1-preview.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
@@ -62,7 +62,7 @@ sf plugins
62
62
  <!-- commands -->
63
63
 
64
64
  - [`sf agent create`](#sf-agent-create)
65
- - [`sf agent generate spec`](#sf-agent-generate-spec)
65
+ - [`sf agent generate agent-spec`](#sf-agent-generate-agent-spec)
66
66
  - [`sf agent generate test-spec`](#sf-agent-generate-test-spec)
67
67
  - [`sf agent preview`](#sf-agent-preview)
68
68
  - [`sf agent test cancel`](#sf-agent-test-cancel)
@@ -78,8 +78,8 @@ Create an agent in your org using a local agent spec file.
78
78
 
79
79
  ```
80
80
  USAGE
81
- $ sf agent create -o <value> --spec <value> [--json] [--flags-dir <value>] [--api-version <value>] [--agent-name
82
- <value>] [--preview] [--agent-api-name <value>]
81
+ $ sf agent create -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--agent-name <value>]
82
+ [--agent-api-name <value>] [--spec <value>] [--preview]
83
83
 
84
84
  FLAGS
85
85
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
@@ -89,7 +89,7 @@ FLAGS
89
89
  --agent-name=<value> Name (label) of the new agent.
90
90
  --api-version=<value> Override the api version used for api requests made by this command
91
91
  --preview Preview the agent without saving it in your org.
92
- --spec=<value> (required) Path to an agent spec file.
92
+ --spec=<value> Path to an agent spec file.
93
93
 
94
94
  GLOBAL FLAGS
95
95
  --flags-dir=<value> Import flag values from a directory.
@@ -124,24 +124,23 @@ EXAMPLES
124
124
  $ sf agent create --agent-name ResortManager --spec specs/resortManagerAgent.yaml --preview
125
125
  ```
126
126
 
127
- _See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/create.ts)_
127
+ _See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/create.ts)_
128
128
 
129
- ## `sf agent generate spec`
129
+ ## `sf agent generate agent-spec`
130
130
 
131
131
  Generate an agent spec, which is a YAML file that captures what an agent can do.
132
132
 
133
133
  ```
134
134
  USAGE
135
- $ sf agent generate spec -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-t customer|internal]
135
+ $ sf agent generate agent-spec -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--type customer|internal]
136
136
  [--role <value>] [--company-name <value>] [--company-description <value>] [--company-website <value>] [--max-topics
137
137
  <value>] [--agent-user <value>] [--enrich-logs true|false] [--tone formal|casual|neutral] [--spec <value>]
138
- [--output-file <value>] [--full-interview] [--grounding-context <value> --prompt-template <value>] [--no-prompt]
138
+ [--output-file <value>] [--full-interview] [--grounding-context <value> --prompt-template <value>] [-p]
139
139
 
140
140
  FLAGS
141
141
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
142
142
  configuration variable is already set.
143
- -t, --type=<option> Type of agent to create.
144
- <options: customer|internal>
143
+ -p, --no-prompt Don't prompt the user to confirm spec file overwrite.
145
144
  --agent-user=<value> Username of a user in your org to assign to your agent; determines what your agent
146
145
  can access and do.
147
146
  --api-version=<value> Override the api version used for api requests made by this command
@@ -155,9 +154,8 @@ FLAGS
155
154
  --grounding-context=<value> Context information and personalization that's added to your prompts when using a
156
155
  custom prompt template.
157
156
  --max-topics=<value> Maximum number of topics to generate in the agent spec; default is 10.
158
- --no-prompt Don't prompt the user to confirm spec file overwrite.
159
- --output-file=<value> [default: config/agentSpec.yaml] Path for the generated YAML agent spec file; can
160
- be an absolute or relative path.
157
+ --output-file=<value> [default: specs/agentSpec.yaml] Path for the generated YAML agent spec file; can be
158
+ an absolute or relative path.
161
159
  --prompt-template=<value> API name of a customized prompt template to use instead of the default prompt
162
160
  template.
163
161
  --role=<value> Role of the agent.
@@ -165,6 +163,8 @@ FLAGS
165
163
  --tone=<option> Conversational style of the agent, such as how it expresses your brand personality
166
164
  in its messages through word choice, punctuation, and sentence structure.
167
165
  <options: formal|casual|neutral>
166
+ --type=<option> Type of agent to create.
167
+ <options: customer|internal>
168
168
 
169
169
  GLOBAL FLAGS
170
170
  --flags-dir=<value> Import flag values from a directory.
@@ -200,24 +200,24 @@ EXAMPLES
200
200
  Generate an agent spec in the default location and use flags to specify the agent properties, such as its role and
201
201
  your company details; use your default org:
202
202
 
203
- $ sf agent generate spec --type customer --role "Field customer complaints and manage employee schedules." \
203
+ $ sf agent generate agent-spec --type customer --role "Field customer complaints and manage employee schedules." \
204
204
  --company-name "Coral Cloud Resorts" --company-description "Provide customers with exceptional destination \
205
205
  activities, unforgettable experiences, and reservation services."
206
206
 
207
207
  Generate an agent spec by being prompted for the required agent properties and generate a maxiumum of 5 topics;
208
208
  write the generated file to the "specs/resortManagerSpec.yaml" file and use the org with alias "my-org":
209
209
 
210
- $ sf agent generate spec --max-topics 5 --output-file specs/resortManagerAgent.yaml --target-org my-org
210
+ $ sf agent generate agent-spec --max-topics 5 --output-file specs/resortManagerAgent.yaml --target-org my-org
211
211
 
212
212
  Specify an existing agent spec file called "specs/resortManagerAgent.yaml", and then overwrite it with a new version
213
213
  that contains newly AI-generated topics based on the updated role information passed in with the --role flag:
214
214
 
215
- $ sf agent generate spec --spec specs/resortManagerAgent.yaml --output-file specs/resortManagerAgent.yaml --role \
216
- "Field customer complaints, manage employee schedules, and ensure all resort operations are running smoothly" \
217
- --target-org my-org
215
+ $ sf agent generate agent-spec --spec specs/resortManagerAgent.yaml --output-file specs/resortManagerAgent.yaml \
216
+ --role "Field customer complaints, manage employee schedules, and ensure all resort operations are running \
217
+ smoothly" --target-org my-org
218
218
  ```
219
219
 
220
- _See code: [src/commands/agent/generate/spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/generate/spec.ts)_
220
+ _See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/generate/agent-spec.ts)_
221
221
 
222
222
  ## `sf agent generate test-spec`
223
223
 
@@ -240,7 +240,7 @@ EXAMPLES
240
240
  $ sf agent generate test-spec
241
241
  ```
242
242
 
243
- _See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/generate/test-spec.ts)_
243
+ _See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/generate/test-spec.ts)_
244
244
 
245
245
  ## `sf agent preview`
246
246
 
@@ -248,10 +248,11 @@ Interact with an active agent, as a user would, to preview responses
248
248
 
249
249
  ```
250
250
  USAGE
251
- $ sf agent preview -o <value> -n <value> [--flags-dir <value>] [--api-version <value>]
251
+ $ sf agent preview -o <value> [--flags-dir <value>] [--api-version <value>] [-n <value> | -i <value>]
252
252
 
253
253
  FLAGS
254
- -n, --name=<value> (required) The name of the agent you want to preview
254
+ -i, --id=<value> The Salesforce Id of the Agent to preview.
255
+ -n, --name=<value> The name of the agent you want to preview
255
256
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
256
257
  configuration variable is already set.
257
258
  --api-version=<value> Override the api version used for api requests made by this command
@@ -275,7 +276,7 @@ FLAG DESCRIPTIONS
275
276
  the API name of the agent? (TBD based on agents library)
276
277
  ```
277
278
 
278
- _See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/preview.ts)_
279
+ _See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/preview.ts)_
279
280
 
280
281
  ## `sf agent test cancel`
281
282
 
@@ -312,7 +313,7 @@ EXAMPLES
312
313
  $ sf agent test cancel --job-id 4KBfake0000003F4AQ --target-org my-org
313
314
  ```
314
315
 
315
- _See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/cancel.ts)_
316
+ _See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/cancel.ts)_
316
317
 
317
318
  ## `sf agent test create`
318
319
 
@@ -348,7 +349,7 @@ FLAG DESCRIPTIONS
348
349
  More information about a flag. Don't repeat the summary.
349
350
  ```
350
351
 
351
- _See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/create.ts)_
352
+ _See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/create.ts)_
352
353
 
353
354
  ## `sf agent test list`
354
355
 
@@ -377,7 +378,7 @@ EXAMPLES
377
378
  $ sf agent test list
378
379
  ```
379
380
 
380
- _See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/list.ts)_
381
+ _See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/list.ts)_
381
382
 
382
383
  ## `sf agent test results`
383
384
 
@@ -433,7 +434,7 @@ FLAG DESCRIPTIONS
433
434
  test results aren't written.
434
435
  ```
435
436
 
436
- _See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/results.ts)_
437
+ _See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/results.ts)_
437
438
 
438
439
  ## `sf agent test resume`
439
440
 
@@ -496,7 +497,7 @@ FLAG DESCRIPTIONS
496
497
  test results aren't written.
497
498
  ```
498
499
 
499
- _See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/resume.ts)_
500
+ _See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/resume.ts)_
500
501
 
501
502
  ## `sf agent test run`
502
503
 
@@ -559,6 +560,6 @@ FLAG DESCRIPTIONS
559
560
  test results aren't written.
560
561
  ```
561
562
 
562
- _See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.12.0/src/commands/agent/test/run.ts)_
563
+ _See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1-preview.0/src/commands/agent/test/run.ts)_
563
564
 
564
565
  <!-- commandsstop -->
@@ -10,11 +10,11 @@ export default class AgentCreate extends SfCommand<AgentCreateResult> {
10
10
  static readonly requiresProject = true;
11
11
  static state: string;
12
12
  static readonly flags: {
13
- spec: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
13
  preview: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- 'agent-api-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
14
  'planner-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  "agent-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ "agent-api-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
18
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
19
19
  'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
20
  };
@@ -5,14 +5,16 @@
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
7
  import { resolve } from 'node:path';
8
- import { readFileSync, writeFileSync } from 'node:fs';
8
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
9
9
  import YAML from 'yaml';
10
10
  import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
11
11
  import { Lifecycle, Messages } from '@salesforce/core';
12
12
  import { MultiStageOutput } from '@oclif/multi-stage-output';
13
+ import { input as inquirerInput } from '@inquirer/prompts';
13
14
  import { colorize } from '@oclif/core/ux';
14
15
  import { Agent, AgentCreateLifecycleStagesV2, generateAgentApiName, } from '@salesforce/agents';
15
16
  import { makeFlags, promptForFlag, validateAgentType } from '../../flags.js';
17
+ import { theme } from '../../inquirer-theme.js';
16
18
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
17
19
  const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.create');
18
20
  const MSO_STAGES = {
@@ -27,6 +29,33 @@ const FLAGGABLE_PROMPTS = {
27
29
  validate: (d) => d.length > 0 || 'Agent Name cannot be empty',
28
30
  required: true,
29
31
  },
32
+ 'agent-api-name': {
33
+ message: messages.getMessage('flags.agent-api-name.summary'),
34
+ validate: (d) => {
35
+ if (d.length === 0) {
36
+ return true;
37
+ }
38
+ if (d.length > 80) {
39
+ return 'API name cannot be over 80 characters.';
40
+ }
41
+ const regex = /^[A-Za-z][A-Za-z0-9_]*[A-Za-z0-9]+$/;
42
+ if (!regex.test(d)) {
43
+ return 'Invalid API name.';
44
+ }
45
+ return true;
46
+ },
47
+ },
48
+ spec: {
49
+ message: messages.getMessage('flags.spec.summary'),
50
+ validate: (d) => {
51
+ const specPath = resolve(d);
52
+ if (!existsSync(specPath)) {
53
+ return 'Please enter an existing agent spec (yaml) file';
54
+ }
55
+ return true;
56
+ },
57
+ required: true,
58
+ },
30
59
  };
31
60
  export default class AgentCreate extends SfCommand {
32
61
  static summary = messages.getMessage('summary');
@@ -38,18 +67,9 @@ export default class AgentCreate extends SfCommand {
38
67
  'target-org': Flags.requiredOrg(),
39
68
  'api-version': Flags.orgApiVersion(),
40
69
  ...makeFlags(FLAGGABLE_PROMPTS),
41
- spec: Flags.file({
42
- // char: 'f',
43
- summary: messages.getMessage('flags.spec.summary'),
44
- exists: true,
45
- required: true,
46
- }),
47
70
  preview: Flags.boolean({
48
71
  summary: messages.getMessage('flags.preview.summary'),
49
72
  }),
50
- 'agent-api-name': Flags.string({
51
- summary: messages.getMessage('flags.agent-api-name.summary'),
52
- }),
53
73
  // This would be used as more of an agent update than create.
54
74
  // Could possibly move to an `agent update` command.
55
75
  'planner-id': Flags.string({
@@ -61,15 +81,33 @@ export default class AgentCreate extends SfCommand {
61
81
  async run() {
62
82
  const { flags } = await this.parse(AgentCreate);
63
83
  // throw error if --json is used and not all required flags are provided
64
- if (this.jsonEnabled() && !flags['agent-name']) {
65
- throw messages.createError('error.missingRequiredFlags', ['agent-name']);
84
+ if (this.jsonEnabled()) {
85
+ if (!flags['agent-name']) {
86
+ throw messages.createError('error.missingRequiredFlags', ['agent-name']);
87
+ }
88
+ if (!flags.spec) {
89
+ throw messages.createError('error.missingRequiredFlags', ['spec']);
90
+ }
66
91
  }
92
+ // If we don't have an agent spec yet, prompt.
93
+ const specPath = flags.spec ?? (await promptForFlag(FLAGGABLE_PROMPTS['spec']));
67
94
  // Read the agent spec and validate
68
- const inputSpec = YAML.parse(readFileSync(resolve(flags.spec), 'utf8'));
95
+ const inputSpec = YAML.parse(readFileSync(resolve(specPath), 'utf8'));
69
96
  validateSpec(inputSpec);
70
97
  // If we don't have an agent name yet, prompt.
71
98
  const agentName = flags['agent-name'] ?? (await promptForFlag(FLAGGABLE_PROMPTS['agent-name']));
72
- const agentApiName = flags['agent-api-name'] ?? generateAgentApiName(agentName);
99
+ let agentApiName = flags['agent-api-name'];
100
+ if (!agentApiName) {
101
+ agentApiName = generateAgentApiName(agentName);
102
+ const promptedValue = await inquirerInput({
103
+ message: messages.getMessage('flags.agent-api-name.prompt', [agentApiName]),
104
+ validate: FLAGGABLE_PROMPTS['agent-api-name'].validate,
105
+ theme,
106
+ });
107
+ if (promptedValue?.length) {
108
+ agentApiName = promptedValue;
109
+ }
110
+ }
73
111
  let title;
74
112
  const stages = [MSO_STAGES.parse];
75
113
  if (flags.preview) {
@@ -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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"}
@@ -15,7 +15,6 @@ export declare const FLAGGABLE_PROMPTS: {
15
15
  type: {
16
16
  message: string;
17
17
  validate: (d: string) => boolean | string;
18
- char: "t";
19
18
  options: string[];
20
19
  required: true;
21
20
  };
@@ -12,12 +12,11 @@ import YAML from 'yaml';
12
12
  import { Agent } from '@salesforce/agents';
13
13
  import { makeFlags, promptForFlag, validateAgentType, validateMaxTopics } from '../../../flags.js';
14
14
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
15
- const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.generate.spec');
15
+ const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.generate.agent-spec');
16
16
  export const FLAGGABLE_PROMPTS = {
17
17
  type: {
18
18
  message: messages.getMessage('flags.type.summary'),
19
19
  validate: (d) => d.length > 0 || 'Type cannot be empty',
20
- char: 't',
21
20
  options: ['customer', 'internal'],
22
21
  required: true,
23
22
  },
@@ -104,7 +103,7 @@ export default class AgentCreateSpec extends SfCommand {
104
103
  }),
105
104
  'output-file': Flags.file({
106
105
  summary: messages.getMessage('flags.output-file.summary'),
107
- default: join('config', 'agentSpec.yaml'),
106
+ default: join('specs', 'agentSpec.yaml'),
108
107
  }),
109
108
  'full-interview': Flags.boolean({
110
109
  summary: messages.getMessage('flags.full-interview.summary'),
@@ -118,6 +117,7 @@ export default class AgentCreateSpec extends SfCommand {
118
117
  }),
119
118
  'no-prompt': Flags.boolean({
120
119
  summary: messages.getMessage('flags.no-prompt.summary'),
120
+ char: 'p',
121
121
  }),
122
122
  };
123
123
  // eslint-disable-next-line complexity
@@ -233,8 +233,20 @@ const buildSpecFile = (specResponse, extraProps) => {
233
233
  propertyOrder.map((prop) => {
234
234
  // @ts-expect-error need better typing of the array.
235
235
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
236
- const val = specResponse[prop] ?? extraProps[prop];
236
+ let val = specResponse[prop] ?? extraProps[prop];
237
237
  if (val != null || (typeof val === 'string' && val.length > 0)) {
238
+ if (prop === 'topics') {
239
+ // Ensure topics are [{name, description}]
240
+ val = val.map((t) => Object.keys(t)
241
+ .sort()
242
+ .reverse()
243
+ .reduce((acc, key) => ({
244
+ ...acc,
245
+ // @ts-expect-error need better typing of the array.
246
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
247
+ [key]: t[key],
248
+ }), {}));
249
+ }
238
250
  // @ts-expect-error need better typing of the array.
239
251
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
240
252
  specFileContents[prop] = val;
@@ -265,4 +277,4 @@ const resolveOutputFile = async (outputFile, noPrompt = false) => {
265
277
  }
266
278
  return resolvedOutputFile;
267
279
  };
268
- //# sourceMappingURL=spec.js.map
280
+ //# sourceMappingURL=agent-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/agent-spec.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ export default class AgentPreview extends SfCommand<AgentPreviewResult> {
9
9
  static readonly flags: {
10
10
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
11
11
  'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
14
  };
14
15
  run(): Promise<AgentPreviewResult>;
15
16
  }
@@ -5,9 +5,11 @@
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
7
  import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
8
- import { Messages } from '@salesforce/core';
8
+ import { Messages, SfError } from '@salesforce/core';
9
9
  import React from 'react';
10
10
  import { render } from 'ink';
11
+ import { AgentPreview as Preview } from '@salesforce/agents';
12
+ import { select } from '@inquirer/prompts';
11
13
  import { AgentPreviewReact } from '../../components/agent-preview-react.js';
12
14
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
13
15
  const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.preview');
@@ -24,13 +26,58 @@ export default class AgentPreview extends SfCommand {
24
26
  summary: messages.getMessage('flags.name.summary'),
25
27
  description: messages.getMessage('flags.name.description'),
26
28
  char: 'n',
27
- required: true,
29
+ exclusive: ['id'],
30
+ }),
31
+ id: Flags.salesforceId({
32
+ summary: messages.getMessage('flags.id.summary'),
33
+ char: 'i',
34
+ length: 'both',
35
+ startsWith: '0Xx',
36
+ exclusive: ['name'],
28
37
  }),
29
38
  };
30
39
  async run() {
31
40
  const { flags } = await this.parse(AgentPreview);
32
- this.log(`previewing ${flags.name}`);
33
- const instance = render(React.createElement(AgentPreviewReact, null));
41
+ const { id, name, 'target-org': org } = flags;
42
+ const conn = org.getConnection(flags['api-version']);
43
+ let agent;
44
+ if (name ?? id) {
45
+ try {
46
+ const where = name ? `MasterLabel='${!name}'` : `Id='${!id}'`;
47
+ agent = await conn.singleRecordQuery(`SELECT Id, MasterLabel FROM BotDefinition WHERE ${where}`);
48
+ }
49
+ catch (err) {
50
+ const error = err;
51
+ if (error.name === 'SingleRecordQuery_NoRecords') {
52
+ const type = name ? `name "${!name}"` : `id "${!id}"`;
53
+ this.warn(`No Agents were found with the ${type}. Searching org for Agents...`);
54
+ this.log('');
55
+ }
56
+ else {
57
+ throw error;
58
+ }
59
+ }
60
+ }
61
+ if (!agent?.Id) {
62
+ // TODO: Find a way to only return active agents
63
+ const agents = await conn.query('SELECT Id, MasterLabel from BotDefinition LIMIT 100');
64
+ const agentsInOrg = agents.records.map((agentInOrg) => ({
65
+ name: agentInOrg.MasterLabel,
66
+ value: {
67
+ Id: agentInOrg.Id,
68
+ MasterLabel: agentInOrg.MasterLabel,
69
+ },
70
+ }));
71
+ agent = await select({
72
+ message: 'Select an agent',
73
+ choices: agentsInOrg,
74
+ });
75
+ }
76
+ if (!agent?.Id) {
77
+ throw new SfError('No Agent selected');
78
+ }
79
+ const agentPreview = new Preview(conn);
80
+ const instance = render(React.createElement(AgentPreviewReact, { agent: agentPreview, id: agent.Id, name: agent.MasterLabel }));
34
81
  await instance.waitUntilExit();
35
82
  }
36
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/commands/agent/preview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;AAIpF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAA6B;IAC9D,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,eAAe,GAAG,IAAI,CAAC;IAEvC,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC1D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;IACjC,CAAC"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/commands/agent/preview.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { AgentPreview } from '@salesforce/agents';
2
3
  /**
3
4
  * Ideas:
4
5
  * - Limit height based on terminal height
@@ -6,4 +7,8 @@ import React from 'react';
6
7
  * - Add keystroke to scroll up
7
8
  * - Add keystroke to scroll down
8
9
  */
9
- export declare function AgentPreviewReact(): React.ReactNode;
10
+ export declare function AgentPreviewReact(props: {
11
+ readonly agent: AgentPreview;
12
+ readonly id: string;
13
+ readonly name: string;
14
+ }): React.ReactNode;