@salesforce/plugin-agent 1.13.1-preview.0 → 1.13.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 +12 -13
- package/lib/commands/agent/create.js +5 -5
- package/lib/commands/agent/create.js.map +1 -1
- package/lib/commands/agent/generate/agent-spec.d.ts +5 -2
- package/lib/commands/agent/generate/agent-spec.js +24 -21
- package/lib/commands/agent/generate/agent-spec.js.map +1 -1
- package/lib/commands/agent/preview.d.ts +1 -2
- package/lib/commands/agent/preview.js +4 -51
- package/lib/commands/agent/preview.js.map +1 -1
- package/lib/components/agent-preview-react.d.ts +1 -6
- package/lib/components/agent-preview-react.js +22 -101
- package/lib/components/agent-preview-react.js.map +1 -1
- package/lib/flags.d.ts +5 -0
- package/lib/flags.js +28 -2
- package/lib/flags.js.map +1 -1
- package/messages/agent.create.md +1 -1
- package/messages/agent.preview.md +0 -4
- package/messages/shared.md +9 -1
- package/npm-shrinkwrap.json +18 -149
- package/oclif.lock +40 -71
- package/oclif.manifest.json +2 -15
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -124,7 +124,7 @@ 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.13.1
|
|
127
|
+
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/create.ts)_
|
|
128
128
|
|
|
129
129
|
## `sf agent generate agent-spec`
|
|
130
130
|
|
|
@@ -217,7 +217,7 @@ EXAMPLES
|
|
|
217
217
|
smoothly" --target-org my-org
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
220
|
+
_See code: [src/commands/agent/generate/agent-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/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.13.1
|
|
243
|
+
_See code: [src/commands/agent/generate/test-spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/generate/test-spec.ts)_
|
|
244
244
|
|
|
245
245
|
## `sf agent preview`
|
|
246
246
|
|
|
@@ -248,11 +248,10 @@ 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>
|
|
251
|
+
$ sf agent preview -o <value> -n <value> [--flags-dir <value>] [--api-version <value>]
|
|
252
252
|
|
|
253
253
|
FLAGS
|
|
254
|
-
-
|
|
255
|
-
-n, --name=<value> The name of the agent you want to preview
|
|
254
|
+
-n, --name=<value> (required) The name of the agent you want to preview
|
|
256
255
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
257
256
|
configuration variable is already set.
|
|
258
257
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
@@ -276,7 +275,7 @@ FLAG DESCRIPTIONS
|
|
|
276
275
|
the API name of the agent? (TBD based on agents library)
|
|
277
276
|
```
|
|
278
277
|
|
|
279
|
-
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
278
|
+
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/preview.ts)_
|
|
280
279
|
|
|
281
280
|
## `sf agent test cancel`
|
|
282
281
|
|
|
@@ -313,7 +312,7 @@ EXAMPLES
|
|
|
313
312
|
$ sf agent test cancel --job-id 4KBfake0000003F4AQ --target-org my-org
|
|
314
313
|
```
|
|
315
314
|
|
|
316
|
-
_See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
315
|
+
_See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/cancel.ts)_
|
|
317
316
|
|
|
318
317
|
## `sf agent test create`
|
|
319
318
|
|
|
@@ -349,7 +348,7 @@ FLAG DESCRIPTIONS
|
|
|
349
348
|
More information about a flag. Don't repeat the summary.
|
|
350
349
|
```
|
|
351
350
|
|
|
352
|
-
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
351
|
+
_See code: [src/commands/agent/test/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/create.ts)_
|
|
353
352
|
|
|
354
353
|
## `sf agent test list`
|
|
355
354
|
|
|
@@ -378,7 +377,7 @@ EXAMPLES
|
|
|
378
377
|
$ sf agent test list
|
|
379
378
|
```
|
|
380
379
|
|
|
381
|
-
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
380
|
+
_See code: [src/commands/agent/test/list.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/list.ts)_
|
|
382
381
|
|
|
383
382
|
## `sf agent test results`
|
|
384
383
|
|
|
@@ -434,7 +433,7 @@ FLAG DESCRIPTIONS
|
|
|
434
433
|
test results aren't written.
|
|
435
434
|
```
|
|
436
435
|
|
|
437
|
-
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
436
|
+
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/results.ts)_
|
|
438
437
|
|
|
439
438
|
## `sf agent test resume`
|
|
440
439
|
|
|
@@ -497,7 +496,7 @@ FLAG DESCRIPTIONS
|
|
|
497
496
|
test results aren't written.
|
|
498
497
|
```
|
|
499
498
|
|
|
500
|
-
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
499
|
+
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/resume.ts)_
|
|
501
500
|
|
|
502
501
|
## `sf agent test run`
|
|
503
502
|
|
|
@@ -560,6 +559,6 @@ FLAG DESCRIPTIONS
|
|
|
560
559
|
test results aren't written.
|
|
561
560
|
```
|
|
562
561
|
|
|
563
|
-
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1
|
|
562
|
+
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.13.1/src/commands/agent/test/run.ts)_
|
|
564
563
|
|
|
565
564
|
<!-- 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, validateAgentType } 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');
|
|
@@ -100,8 +100,9 @@ export default class AgentCreate extends SfCommand {
|
|
|
100
100
|
if (!agentApiName) {
|
|
101
101
|
agentApiName = generateAgentApiName(agentName);
|
|
102
102
|
const promptedValue = await inquirerInput({
|
|
103
|
-
message: messages.getMessage('flags.agent-api-name.prompt'
|
|
103
|
+
message: messages.getMessage('flags.agent-api-name.prompt'),
|
|
104
104
|
validate: FLAGGABLE_PROMPTS['agent-api-name'].validate,
|
|
105
|
+
default: agentApiName,
|
|
105
106
|
theme,
|
|
106
107
|
});
|
|
107
108
|
if (promptedValue?.length) {
|
|
@@ -151,14 +152,13 @@ export default class AgentCreate extends SfCommand {
|
|
|
151
152
|
agentConfig.agentSettings.plannerId = flags['planner-id'];
|
|
152
153
|
}
|
|
153
154
|
if (inputSpec?.agentUser) {
|
|
154
|
-
|
|
155
|
-
agentConfig.agentSettings.userId = inputSpec.agentUser;
|
|
155
|
+
agentConfig.agentSettings.userId = await getAgentUserId(connection, inputSpec.agentUser);
|
|
156
156
|
}
|
|
157
157
|
if (inputSpec?.enrichLogs) {
|
|
158
158
|
agentConfig.agentSettings.enrichLogs = inputSpec.enrichLogs;
|
|
159
159
|
}
|
|
160
160
|
if (inputSpec?.tone) {
|
|
161
|
-
agentConfig.agentSettings.tone = inputSpec.tone;
|
|
161
|
+
agentConfig.agentSettings.tone = validateTone(inputSpec.tone);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
const response = await agent.createV2(agentConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,KAAK,EAGL,4BAA4B,EAE5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,11 @@ export type AgentCreateSpecResult = {
|
|
|
5
5
|
errorMessage?: string;
|
|
6
6
|
specPath?: string;
|
|
7
7
|
} & AgentJobSpecV2;
|
|
8
|
+
type AgentTone = 'casual' | 'formal' | 'neutral';
|
|
8
9
|
export type AgentSpecFileContents = AgentJobSpecV2 & {
|
|
9
10
|
agentUser?: string;
|
|
10
11
|
enrichLogs?: boolean;
|
|
11
|
-
tone?:
|
|
12
|
+
tone?: AgentTone;
|
|
12
13
|
primaryLanguage?: 'en_US';
|
|
13
14
|
};
|
|
14
15
|
export declare const FLAGGABLE_PROMPTS: {
|
|
@@ -40,7 +41,8 @@ export declare const FLAGGABLE_PROMPTS: {
|
|
|
40
41
|
'max-topics': {
|
|
41
42
|
message: string;
|
|
42
43
|
promptMessage: string;
|
|
43
|
-
validate: () => boolean | string;
|
|
44
|
+
validate: (d: string) => boolean | string;
|
|
45
|
+
default: string;
|
|
44
46
|
};
|
|
45
47
|
'agent-user': {
|
|
46
48
|
message: string;
|
|
@@ -89,3 +91,4 @@ export default class AgentCreateSpec extends SfCommand<AgentCreateSpecResult> {
|
|
|
89
91
|
};
|
|
90
92
|
run(): Promise<AgentCreateSpecResult>;
|
|
91
93
|
}
|
|
94
|
+
export {};
|
|
@@ -10,7 +10,7 @@ import { SfCommand, Flags, prompts } from '@salesforce/sf-plugins-core';
|
|
|
10
10
|
import { Messages } from '@salesforce/core';
|
|
11
11
|
import YAML from 'yaml';
|
|
12
12
|
import { Agent } from '@salesforce/agents';
|
|
13
|
-
import { makeFlags, promptForFlag, validateAgentType, validateMaxTopics } from '../../../flags.js';
|
|
13
|
+
import { makeFlags, promptForFlag, validateAgentType, validateMaxTopics, validateTone, validateAgentUser, } from '../../../flags.js';
|
|
14
14
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
15
15
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.generate.agent-spec');
|
|
16
16
|
export const FLAGGABLE_PROMPTS = {
|
|
@@ -45,7 +45,6 @@ export const FLAGGABLE_PROMPTS = {
|
|
|
45
45
|
const regExp = new RegExp('^(http|https)://', 'i');
|
|
46
46
|
const companySite = regExp.test(d) ? d : `https://${d}`;
|
|
47
47
|
new URL(companySite);
|
|
48
|
-
d = companySite;
|
|
49
48
|
return true;
|
|
50
49
|
}
|
|
51
50
|
catch (e) {
|
|
@@ -56,9 +55,17 @@ export const FLAGGABLE_PROMPTS = {
|
|
|
56
55
|
'max-topics': {
|
|
57
56
|
message: messages.getMessage('flags.max-topics.summary'),
|
|
58
57
|
promptMessage: messages.getMessage('flags.max-topics.prompt'),
|
|
59
|
-
validate: () =>
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
validate: (d) => {
|
|
59
|
+
if (d.length === 0)
|
|
60
|
+
return true;
|
|
61
|
+
// convert to a number
|
|
62
|
+
const maxTopics = Number(d.trim());
|
|
63
|
+
if (typeof maxTopics === 'number' && maxTopics > 0 && maxTopics < 31) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return 'Please enter a number between 1-30';
|
|
67
|
+
},
|
|
68
|
+
default: '5',
|
|
62
69
|
},
|
|
63
70
|
'agent-user': {
|
|
64
71
|
message: messages.getMessage('flags.agent-user.summary'),
|
|
@@ -123,15 +130,7 @@ export default class AgentCreateSpec extends SfCommand {
|
|
|
123
130
|
// eslint-disable-next-line complexity
|
|
124
131
|
async run() {
|
|
125
132
|
const { flags } = await this.parse(AgentCreateSpec);
|
|
126
|
-
|
|
127
|
-
try {
|
|
128
|
-
outputFile = await resolveOutputFile(flags['output-file'], flags['no-prompt']);
|
|
129
|
-
}
|
|
130
|
-
catch (e) {
|
|
131
|
-
this.log(messages.getMessage('commandCanceled'));
|
|
132
|
-
// @ts-expect-error expected due to command cancelation.
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
133
|
+
const outputFile = await resolveOutputFile(flags['output-file'], flags['no-prompt']);
|
|
135
134
|
// throw error if --json is used and not all required flags are provided
|
|
136
135
|
if (this.jsonEnabled()) {
|
|
137
136
|
const missingFlags = Object.entries(FLAGGABLE_PROMPTS)
|
|
@@ -155,30 +154,33 @@ export default class AgentCreateSpec extends SfCommand {
|
|
|
155
154
|
inputSpec?.companyDescription ??
|
|
156
155
|
(await promptForFlag(FLAGGABLE_PROMPTS['company-description']));
|
|
157
156
|
const role = flags.role ?? inputSpec?.role ?? (await promptForFlag(FLAGGABLE_PROMPTS.role));
|
|
157
|
+
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
158
158
|
// full interview prompts
|
|
159
159
|
const companyWebsite = flags['company-website'] ??
|
|
160
160
|
inputSpec?.companyWebsite ??
|
|
161
161
|
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['company-website']) : undefined);
|
|
162
162
|
const maxNumOfTopics = flags['max-topics'] ??
|
|
163
163
|
validateMaxTopics(inputSpec?.maxNumOfTopics) ??
|
|
164
|
-
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['max-topics']) :
|
|
164
|
+
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['max-topics']) : 5) ??
|
|
165
|
+
5;
|
|
165
166
|
const agentUser = flags['agent-user'] ??
|
|
166
167
|
inputSpec?.agentUser ??
|
|
167
168
|
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['agent-user']) : undefined);
|
|
169
|
+
await validateAgentUser(connection, agentUser);
|
|
168
170
|
let enrichLogs = flags['enrich-logs'] ??
|
|
169
171
|
inputSpec?.enrichLogs ??
|
|
170
172
|
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['enrich-logs']) : undefined);
|
|
171
173
|
enrichLogs = Boolean(enrichLogs === 'true' || enrichLogs === true);
|
|
172
|
-
|
|
174
|
+
let tone = flags.tone ??
|
|
173
175
|
inputSpec?.tone ??
|
|
174
|
-
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS.tone) :
|
|
176
|
+
(flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS.tone) : 'casual');
|
|
177
|
+
tone = validateTone(tone);
|
|
175
178
|
// const primaryLanguage =
|
|
176
179
|
// flags['primary-language'] ??
|
|
177
180
|
// inputSpec?.primaryLanguage ??
|
|
178
181
|
// (flags['full-interview'] ? await promptForFlag(FLAGGABLE_PROMPTS['primary-language']) : undefined);
|
|
179
182
|
this.log();
|
|
180
183
|
this.spinner.start('Creating agent spec');
|
|
181
|
-
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
182
184
|
const agent = new Agent(connection, this.project);
|
|
183
185
|
const specConfig = {
|
|
184
186
|
agentType: type,
|
|
@@ -200,8 +202,6 @@ export default class AgentCreateSpec extends SfCommand {
|
|
|
200
202
|
if (maxNumOfTopics) {
|
|
201
203
|
specConfig.maxNumOfTopics = Number(maxNumOfTopics);
|
|
202
204
|
}
|
|
203
|
-
// Should we log the specConfig being used? It's returned in the JSON and the generated spec.
|
|
204
|
-
// this.log(`${ansis.green(figures.tick)} ${ansis.bold(message)} ${ansis.cyan(valueFromFlag)}`);
|
|
205
205
|
const specResponse = await agent.createSpecV2(specConfig);
|
|
206
206
|
// @ts-expect-error Need better typing
|
|
207
207
|
const specFileContents = buildSpecFile(specResponse, { agentUser, enrichLogs, tone });
|
|
@@ -268,7 +268,10 @@ const resolveOutputFile = async (outputFile, noPrompt = false) => {
|
|
|
268
268
|
if (existsSync(resolvedOutputFile)) {
|
|
269
269
|
const message = messages.getMessage('confirmSpecOverwrite', [resolvedOutputFile]);
|
|
270
270
|
if (!(await prompts.confirm({ message }))) {
|
|
271
|
-
|
|
271
|
+
return resolveOutputFile(await promptForFlag({
|
|
272
|
+
message: messages.getMessage('flags.output-file.summary'),
|
|
273
|
+
validate: (d) => d.length > 0 || 'Output file cannot be empty',
|
|
274
|
+
}));
|
|
272
275
|
}
|
|
273
276
|
}
|
|
274
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/agent-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/agent-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,7 @@ 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
|
|
13
|
-
id: 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>;
|
|
14
13
|
};
|
|
15
14
|
run(): Promise<AgentPreviewResult>;
|
|
16
15
|
}
|
|
@@ -5,11 +5,9 @@
|
|
|
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
|
|
8
|
+
import { Messages } 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';
|
|
13
11
|
import { AgentPreviewReact } from '../../components/agent-preview-react.js';
|
|
14
12
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
15
13
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.preview');
|
|
@@ -26,58 +24,13 @@ export default class AgentPreview extends SfCommand {
|
|
|
26
24
|
summary: messages.getMessage('flags.name.summary'),
|
|
27
25
|
description: messages.getMessage('flags.name.description'),
|
|
28
26
|
char: 'n',
|
|
29
|
-
|
|
30
|
-
}),
|
|
31
|
-
id: Flags.salesforceId({
|
|
32
|
-
summary: messages.getMessage('flags.id.summary'),
|
|
33
|
-
char: 'i',
|
|
34
|
-
length: 'both',
|
|
35
|
-
startsWith: '0Xx',
|
|
36
|
-
exclusive: ['name'],
|
|
27
|
+
required: true,
|
|
37
28
|
}),
|
|
38
29
|
};
|
|
39
30
|
async run() {
|
|
40
31
|
const { flags } = await this.parse(AgentPreview);
|
|
41
|
-
|
|
42
|
-
const
|
|
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 }));
|
|
32
|
+
this.log(`previewing ${flags.name}`);
|
|
33
|
+
const instance = render(React.createElement(AgentPreviewReact, null));
|
|
81
34
|
await instance.waitUntilExit();
|
|
82
35
|
}
|
|
83
36
|
}
|
|
@@ -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,
|
|
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,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AgentPreview } from '@salesforce/agents';
|
|
3
2
|
/**
|
|
4
3
|
* Ideas:
|
|
5
4
|
* - Limit height based on terminal height
|
|
@@ -7,8 +6,4 @@ import { AgentPreview } from '@salesforce/agents';
|
|
|
7
6
|
* - Add keystroke to scroll up
|
|
8
7
|
* - Add keystroke to scroll down
|
|
9
8
|
*/
|
|
10
|
-
export declare function AgentPreviewReact(
|
|
11
|
-
readonly agent: AgentPreview;
|
|
12
|
-
readonly id: string;
|
|
13
|
-
readonly name: string;
|
|
14
|
-
}): React.ReactNode;
|
|
9
|
+
export declare function AgentPreviewReact(): React.ReactNode;
|
|
@@ -4,53 +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 path from 'node:path';
|
|
8
|
-
import { tmpdir } from 'node:os';
|
|
9
|
-
import fs from 'node:fs';
|
|
10
7
|
import React from 'react';
|
|
11
8
|
import { Box, Text } from 'ink';
|
|
12
9
|
import figures from '@inquirer/figures';
|
|
13
10
|
import TextInput from 'ink-text-input';
|
|
14
11
|
import { sleep } from '@salesforce/kit';
|
|
15
|
-
// TODO:
|
|
16
|
-
// - [ ] Add a way to end the session
|
|
17
|
-
// - [ ] On exit, notify that the transcript and results have been saved
|
|
18
|
-
// - [x] Fix timestamp on Typing
|
|
19
|
-
// - [ ] Break this into more components
|
|
20
|
-
// - [ ] Flashing in iterm2
|
|
21
|
-
// - [x] Correct the content width calculation
|
|
22
|
-
// - [x] Add a way to save the transcript to a file
|
|
23
|
-
// - [x] Add a way to save API results to a file
|
|
24
|
-
// - [ ] If you ask to be connected with a human, then messages[0].message is empty...
|
|
25
|
-
// - [ ] It looks like if the type is Escalate, then the next message is empty
|
|
26
|
-
// - [ ] Add the response type on the AgentResponse
|
|
27
|
-
// Component to show a simple typing animation
|
|
28
|
-
function Typing() {
|
|
29
|
-
const [frame, setFrame] = React.useState(0);
|
|
30
|
-
React.useEffect(() => {
|
|
31
|
-
const timer = setInterval(() => {
|
|
32
|
-
setFrame((prev) => (prev + 1) % 4);
|
|
33
|
-
}, 350);
|
|
34
|
-
return () => clearInterval(timer);
|
|
35
|
-
}, []);
|
|
36
|
-
const colors = ['grey', 'grey', 'grey'];
|
|
37
|
-
colors[frame] = 'white';
|
|
38
|
-
return (React.createElement(Text, null,
|
|
39
|
-
React.createElement(Text, { color: colors[0] }, "."),
|
|
40
|
-
React.createElement(Text, { color: colors[1] }, "."),
|
|
41
|
-
React.createElement(Text, { color: colors[2] }, ".")));
|
|
42
|
-
}
|
|
43
|
-
// We split the content on newlines, then find the longest array element
|
|
44
|
-
const calculateWidth = (content) => content.split('\n').reduce((acc, line) => Math.max(acc, line.length), 0) + 4;
|
|
45
|
-
const saveTranscriptsToFile = (tempDir, messages, responses) => {
|
|
46
|
-
if (!tempDir)
|
|
47
|
-
return;
|
|
48
|
-
fs.mkdirSync(tempDir, { recursive: true });
|
|
49
|
-
const transcriptPath = path.join(tempDir, 'transcript.json');
|
|
50
|
-
fs.writeFileSync(transcriptPath, JSON.stringify(messages, null, 2));
|
|
51
|
-
const responsesPath = path.join(tempDir, 'responses.json');
|
|
52
|
-
fs.writeFileSync(responsesPath, JSON.stringify(responses, null, 2));
|
|
53
|
-
};
|
|
54
12
|
/**
|
|
55
13
|
* Ideas:
|
|
56
14
|
* - Limit height based on terminal height
|
|
@@ -58,56 +16,19 @@ const saveTranscriptsToFile = (tempDir, messages, responses) => {
|
|
|
58
16
|
* - Add keystroke to scroll up
|
|
59
17
|
* - Add keystroke to scroll down
|
|
60
18
|
*/
|
|
61
|
-
export function AgentPreviewReact(
|
|
62
|
-
const [
|
|
63
|
-
const [header, setHeader] = React.useState('Starting session...');
|
|
64
|
-
const [sessionId, setSessionId] = React.useState('');
|
|
19
|
+
export function AgentPreviewReact() {
|
|
20
|
+
const [comments, setComments] = React.useState([]);
|
|
65
21
|
const [query, setQuery] = React.useState('');
|
|
66
|
-
const [isTyping, setIsTyping] = React.useState(true);
|
|
67
|
-
// @ts-expect-error: Complains if this is not defined but it's not used
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
69
|
-
const [timestamp, setTimestamp] = React.useState(new Date().getTime());
|
|
70
|
-
const [tempDir, setTempDir] = React.useState('');
|
|
71
|
-
// TODO: Fix type
|
|
72
|
-
const [responses, setResponses] = React.useState([]);
|
|
73
|
-
const { agent, id, name } = props;
|
|
74
|
-
React.useEffect(() => {
|
|
75
|
-
const startSession = async () => {
|
|
76
|
-
const session = await agent.start(id);
|
|
77
|
-
setSessionId(session.sessionId);
|
|
78
|
-
setHeader(`New session started with "${props.name}" (${session.sessionId})`);
|
|
79
|
-
await sleep(1300); // Add a delay to make it feel more natural
|
|
80
|
-
setIsTyping(false);
|
|
81
|
-
setTempDir(path.join(tmpdir(), 'agent-preview', `${timestamp}-${session.sessionId}`));
|
|
82
|
-
setMessages([{ role: name, content: session.messages[0].message, timestamp: new Date() }]);
|
|
83
|
-
};
|
|
84
|
-
void startSession();
|
|
85
|
-
}, []);
|
|
86
|
-
React.useEffect(() => {
|
|
87
|
-
saveTranscriptsToFile(tempDir, messages, responses);
|
|
88
|
-
}, [tempDir, messages, responses]);
|
|
89
22
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
90
|
-
React.createElement(Box, { flexDirection: "column"
|
|
91
|
-
React.createElement(
|
|
92
|
-
messages.length > 0 && (React.createElement(Box, { flexDirection: "column" }, messages.map(({ timestamp: ts, role, content }, idx) => (React.createElement(Box, { key: role + '__' + ts.toISOString() + '__' + idx.toString(), alignItems: role === 'user' ? 'flex-end' : 'flex-start', flexDirection: "column" },
|
|
93
|
-
React.createElement(Box, { flexDirection: "row", columnGap: 1 },
|
|
94
|
-
React.createElement(Text, null, role === 'user' ? 'You' : role),
|
|
95
|
-
React.createElement(Text, { color: "grey" }, ts.toLocaleString())),
|
|
96
|
-
React.createElement(Box
|
|
97
|
-
// Use 70% of the terminal width, or the width of a single line of content, whichever is smaller
|
|
98
|
-
, {
|
|
99
|
-
// Use 70% of the terminal width, or the width of a single line of content, whichever is smaller
|
|
100
|
-
width: Math.min(process.stdout.columns * 0.7, calculateWidth(content)), borderStyle: "round", paddingLeft: 1, paddingRight: 1 },
|
|
101
|
-
React.createElement(Text, null, content))))))),
|
|
102
|
-
isTyping ? (React.createElement(Box, { flexDirection: "column" },
|
|
103
|
-
React.createElement(Box, { alignItems: "flex-start", flexDirection: "column" },
|
|
23
|
+
comments.length > 0 && (React.createElement(Box, { flexDirection: "column" },
|
|
24
|
+
comments.map(({ timestamp, role, content }, idx) => (React.createElement(Box, { key: role + '__' + timestamp.toISOString() + '__' + idx.toString(), alignItems: role === 'user' ? 'flex-end' : 'flex-start', flexDirection: "column" },
|
|
104
25
|
React.createElement(Box, { flexDirection: "row", columnGap: 1 },
|
|
105
|
-
React.createElement(Text, null,
|
|
106
|
-
React.createElement(Text, { color: "
|
|
107
|
-
React.createElement(Box, { width:
|
|
108
|
-
React.createElement(
|
|
109
|
-
|
|
110
|
-
|
|
26
|
+
React.createElement(Text, null, role === 'user' ? 'You' : role),
|
|
27
|
+
React.createElement(Text, { color: "gray" }, timestamp.toLocaleString())),
|
|
28
|
+
React.createElement(Box, { width: Math.min(process.stdout.columns - 4, content.length + 4), borderStyle: "round", paddingLeft: 1, paddingRight: 1 },
|
|
29
|
+
React.createElement(Text, null, content))))),
|
|
30
|
+
React.createElement(Box, { paddingLeft: 1, paddingRight: 1 },
|
|
31
|
+
React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns - 2))))),
|
|
111
32
|
React.createElement(Box, null,
|
|
112
33
|
React.createElement(Text, null,
|
|
113
34
|
figures.pointer,
|
|
@@ -118,18 +39,18 @@ export function AgentPreviewReact(props) {
|
|
|
118
39
|
if (!content)
|
|
119
40
|
return;
|
|
120
41
|
setQuery('');
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
42
|
+
setComments((prev) => [...prev, { role: 'user', content, timestamp: new Date() }]);
|
|
43
|
+
await sleep(1000);
|
|
44
|
+
setComments((prev) => {
|
|
45
|
+
const lastComment = prev[prev.length - 1];
|
|
46
|
+
// TODO - use agents library for generations
|
|
47
|
+
return (Math.random() * 2) % 2 > 1
|
|
48
|
+
? [
|
|
49
|
+
...prev,
|
|
50
|
+
{ role: 'system', content: "I'm sorry, I can't help with this request", timestamp: new Date() },
|
|
51
|
+
]
|
|
52
|
+
: [...prev, { ...lastComment, role: 'system', content: 'We have a scuba class at 9:30 AM' }];
|
|
53
|
+
});
|
|
133
54
|
} }))));
|
|
134
55
|
}
|
|
135
56
|
//# sourceMappingURL=agent-preview-react.js.map
|