@salesforce/plugin-agent 1.14.4 → 1.14.5-dev.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 +24 -21
- package/lib/commands/agent/create.js +2 -2
- package/lib/commands/agent/create.js.map +1 -1
- package/lib/commands/agent/generate/test-spec.d.ts +3 -0
- package/lib/commands/agent/generate/test-spec.js +125 -76
- package/lib/commands/agent/generate/test-spec.js.map +1 -1
- package/lib/commands/agent/test/create.d.ts +3 -1
- package/lib/commands/agent/test/create.js +55 -16
- package/lib/commands/agent/test/create.js.map +1 -1
- package/lib/flags.d.ts +1 -0
- package/lib/flags.js +33 -0
- package/lib/flags.js.map +1 -1
- package/lib/handleTestResults.js +2 -21
- package/lib/handleTestResults.js.map +1 -1
- package/messages/agent.generate.test-spec.md +4 -0
- package/messages/agent.test.create.md +13 -7
- package/npm-shrinkwrap.json +194 -23
- package/oclif.lock +94 -39
- package/oclif.manifest.json +20 -7
- package/package.json +5 -4
- package/lib/read-dir.d.ts +0 -1
- package/lib/read-dir.js +0 -16
- package/lib/read-dir.js.map +0 -1
|
@@ -4,26 +4,51 @@
|
|
|
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 { join } from 'node:path';
|
|
7
|
+
import { join, resolve } from 'node:path';
|
|
8
|
+
import { existsSync } from 'node:fs';
|
|
8
9
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
9
|
-
import { Lifecycle, Messages } from '@salesforce/core';
|
|
10
|
+
import { Lifecycle, Messages, SfError } from '@salesforce/core';
|
|
10
11
|
import { AgentTester, AgentTestCreateLifecycleStages } from '@salesforce/agents';
|
|
11
12
|
import { MultiStageOutput } from '@oclif/multi-stage-output';
|
|
13
|
+
import { makeFlags, promptForFlag, promptForYamlFile } from '../../../flags.js';
|
|
14
|
+
export const FORTY_CHAR_API_NAME_REGEX = /^(?=.{1,57}$)[a-zA-Z]([a-zA-Z0-9]|_(?!_)){0,14}(__[a-zA-Z]([a-zA-Z0-9]|_(?!_)){0,39})?$/;
|
|
12
15
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
16
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.create');
|
|
17
|
+
const FLAGGABLE_PROMPTS = {
|
|
18
|
+
'api-name': {
|
|
19
|
+
message: messages.getMessage('flags.api-name.summary'),
|
|
20
|
+
validate: (d) => {
|
|
21
|
+
// ensure that it's not empty
|
|
22
|
+
if (!d.length) {
|
|
23
|
+
return 'Name cannot be empty';
|
|
24
|
+
}
|
|
25
|
+
// check against FORTY_CHAR_API_NAME_REGEX
|
|
26
|
+
if (!FORTY_CHAR_API_NAME_REGEX.test(d)) {
|
|
27
|
+
return 'The non-namespaced portion an API name must begin with a letter, contain only letters, numbers, and underscores, not contain consecutive underscores, and not end with an underscore.';
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
},
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
spec: {
|
|
34
|
+
message: messages.getMessage('flags.spec.summary'),
|
|
35
|
+
validate: (d) => {
|
|
36
|
+
const specPath = resolve(d);
|
|
37
|
+
if (!existsSync(specPath)) {
|
|
38
|
+
return 'Please enter an existing test spec (yaml) file';
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
},
|
|
42
|
+
required: true,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
14
45
|
export default class AgentTestCreate extends SfCommand {
|
|
15
46
|
static summary = messages.getMessage('summary');
|
|
16
47
|
static description = messages.getMessage('description');
|
|
17
48
|
static examples = messages.getMessages('examples');
|
|
18
49
|
static state = 'beta';
|
|
19
50
|
static flags = {
|
|
20
|
-
|
|
21
|
-
summary: messages.getMessage('flags.spec.summary'),
|
|
22
|
-
description: messages.getMessage('flags.spec.description'),
|
|
23
|
-
char: 's',
|
|
24
|
-
required: true,
|
|
25
|
-
exists: true,
|
|
26
|
-
}),
|
|
51
|
+
...makeFlags(FLAGGABLE_PROMPTS),
|
|
27
52
|
'target-org': Flags.requiredOrg(),
|
|
28
53
|
'api-version': Flags.orgApiVersion(),
|
|
29
54
|
preview: Flags.boolean({
|
|
@@ -37,13 +62,24 @@ export default class AgentTestCreate extends SfCommand {
|
|
|
37
62
|
mso;
|
|
38
63
|
async run() {
|
|
39
64
|
const { flags } = await this.parse(AgentTestCreate);
|
|
65
|
+
// throw error if --json is used and not all required flags are provided
|
|
66
|
+
if (this.jsonEnabled()) {
|
|
67
|
+
if (!flags['api-name']) {
|
|
68
|
+
throw messages.createError('error.missingRequiredFlags', ['api-name']);
|
|
69
|
+
}
|
|
70
|
+
if (!flags.spec) {
|
|
71
|
+
throw messages.createError('error.missingRequiredFlags', ['spec']);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
40
74
|
const agentTester = new AgentTester(flags['target-org'].getConnection(flags['api-version']));
|
|
75
|
+
const apiName = flags['api-name'] ?? (await promptForFlag(FLAGGABLE_PROMPTS['api-name']));
|
|
76
|
+
const spec = flags.spec ?? (await promptForYamlFile(FLAGGABLE_PROMPTS.spec));
|
|
41
77
|
const lifecycle = Lifecycle.getInstance();
|
|
42
78
|
lifecycle.on(AgentTestCreateLifecycleStages.CreatingLocalMetadata, async () => {
|
|
43
79
|
this.mso = new MultiStageOutput({
|
|
44
80
|
jsonEnabled: this.jsonEnabled(),
|
|
45
81
|
stages: Object.values(AgentTestCreateLifecycleStages),
|
|
46
|
-
title: `Creating test for ${
|
|
82
|
+
title: `Creating test for ${spec}`,
|
|
47
83
|
});
|
|
48
84
|
this.mso?.skipTo(AgentTestCreateLifecycleStages.CreatingLocalMetadata);
|
|
49
85
|
return Promise.resolve();
|
|
@@ -61,16 +97,19 @@ export default class AgentTestCreate extends SfCommand {
|
|
|
61
97
|
}
|
|
62
98
|
return Promise.resolve();
|
|
63
99
|
});
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
message: messages.getMessage('prompt.confirm', [
|
|
100
|
+
const existingDefinitions = await agentTester.list();
|
|
101
|
+
if (existingDefinitions.some((d) => d.fullName === apiName)) {
|
|
102
|
+
const confirmation = await this.confirm({
|
|
103
|
+
message: messages.getMessage('prompt.confirm', [apiName]),
|
|
68
104
|
defaultAnswer: false,
|
|
69
105
|
});
|
|
70
|
-
|
|
106
|
+
if (!confirmation) {
|
|
107
|
+
throw new SfError(`An AiEvaluationDefinition with the name ${apiName} already exists in the org.`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const { path, contents } = await agentTester.create(apiName, spec, {
|
|
71
111
|
outputDir: join('force-app', 'main', 'default', 'aiEvaluationDefinitions'),
|
|
72
112
|
preview: flags.preview,
|
|
73
|
-
confirmationCallback,
|
|
74
113
|
});
|
|
75
114
|
if (flags.preview) {
|
|
76
115
|
this.mso?.skipTo(AgentTestCreateLifecycleStages.Done);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/create.ts"],"names":[],"mappings":"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"}
|
package/lib/flags.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare const testOutputDirFlag: Interfaces.FlagDefinition<string, Interf
|
|
|
20
20
|
requiredOrDefaulted: false;
|
|
21
21
|
}>;
|
|
22
22
|
export declare function makeFlags<T extends Record<string, FlaggablePrompt>>(flaggablePrompts: T): FlagsOfPrompts<T>;
|
|
23
|
+
export declare const promptForYamlFile: (flagDef: FlaggablePrompt) => Promise<string>;
|
|
23
24
|
export declare const promptForFlag: (flagDef: FlaggablePrompt) => Promise<string>;
|
|
24
25
|
export declare const validateAgentType: (agentType?: string, required?: boolean) => string | undefined;
|
|
25
26
|
export declare const validateMaxTopics: (maxTopics?: number) => number | undefined;
|
package/lib/flags.js
CHANGED
|
@@ -4,10 +4,13 @@
|
|
|
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 { readdir, stat } from 'node:fs/promises';
|
|
8
|
+
import { join, relative } from 'node:path';
|
|
7
9
|
import { Flags } from '@salesforce/sf-plugins-core';
|
|
8
10
|
import { Messages, SfError } from '@salesforce/core';
|
|
9
11
|
import { camelCaseToTitleCase } from '@salesforce/kit';
|
|
10
12
|
import { select, input as inquirerInput } from '@inquirer/prompts';
|
|
13
|
+
import autocomplete from 'inquirer-autocomplete-standalone';
|
|
11
14
|
import { theme } from './inquirer-theme.js';
|
|
12
15
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
16
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'shared');
|
|
@@ -42,6 +45,36 @@ export function makeFlags(flaggablePrompts) {
|
|
|
42
45
|
}),
|
|
43
46
|
]));
|
|
44
47
|
}
|
|
48
|
+
async function traverseForYamlFiles(dir) {
|
|
49
|
+
const files = await readdir(dir);
|
|
50
|
+
const results = [];
|
|
51
|
+
for (const file of files) {
|
|
52
|
+
const fullPath = join(dir, file);
|
|
53
|
+
// eslint-disable-next-line no-await-in-loop
|
|
54
|
+
const stats = await stat(fullPath);
|
|
55
|
+
if (stats.isDirectory()) {
|
|
56
|
+
// eslint-disable-next-line no-await-in-loop
|
|
57
|
+
results.push(...(await traverseForYamlFiles(fullPath)));
|
|
58
|
+
}
|
|
59
|
+
else if (file.endsWith('.yaml') || file.endsWith('.yml')) {
|
|
60
|
+
results.push(fullPath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return results;
|
|
64
|
+
}
|
|
65
|
+
export const promptForYamlFile = async (flagDef) => {
|
|
66
|
+
const options = await traverseForYamlFiles(process.cwd());
|
|
67
|
+
return autocomplete({
|
|
68
|
+
message: flagDef.message,
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
70
|
+
source: async (input) => {
|
|
71
|
+
const opts = options.map((o) => ({ name: relative(process.cwd(), o), value: o }));
|
|
72
|
+
if (!input)
|
|
73
|
+
return opts;
|
|
74
|
+
return opts.filter((o) => o.name.includes(input));
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
};
|
|
45
78
|
export const promptForFlag = async (flagDef) => {
|
|
46
79
|
const message = flagDef.promptMessage ?? flagDef.message.replace(/\.$/, '');
|
|
47
80
|
if (flagDef.options) {
|
package/lib/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
|
package/lib/handleTestResults.js
CHANGED
|
@@ -14,25 +14,6 @@ async function writeFileToDir(outputDir, fileName, content) {
|
|
|
14
14
|
await mkdir(outputDir, { recursive: true });
|
|
15
15
|
await writeFile(join(outputDir, fileName), content);
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Clean a string by replacing HTML entities with their respective characters. Implementation done by copilot.
|
|
19
|
-
*
|
|
20
|
-
* This is only required until W-17594913 is resolved by SF Eval
|
|
21
|
-
*
|
|
22
|
-
* @param str - The string to clean.
|
|
23
|
-
* @returns The cleaned string with all HTML entities replaced with their respective characters.
|
|
24
|
-
*/
|
|
25
|
-
function decodeHtmlEntities(str) {
|
|
26
|
-
const entities = {
|
|
27
|
-
'"': '"',
|
|
28
|
-
''': "'",
|
|
29
|
-
'&': '&',
|
|
30
|
-
'<': '<',
|
|
31
|
-
'>': '>',
|
|
32
|
-
''': "'",
|
|
33
|
-
};
|
|
34
|
-
return str.replace(/&[a-zA-Z0-9#]+;/g, (entity) => entities[entity] || entity);
|
|
35
|
-
}
|
|
36
17
|
function makeSimpleTable(data, title) {
|
|
37
18
|
if (Object.keys(data).length === 0) {
|
|
38
19
|
return '';
|
|
@@ -85,8 +66,8 @@ export function humanFormat(results) {
|
|
|
85
66
|
data: testCase.testResults.map((r) => ({
|
|
86
67
|
test: humanFriendlyName(r.name),
|
|
87
68
|
result: r.result === 'PASS' ? ansis.green('Pass') : ansis.red('Fail'),
|
|
88
|
-
expected:
|
|
89
|
-
actual:
|
|
69
|
+
expected: r.expectedValue,
|
|
70
|
+
actual: r.actualValue,
|
|
90
71
|
})),
|
|
91
72
|
width: '100%',
|
|
92
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleTestResults.js","sourceRoot":"","sources":["../src/handleTestResults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAA4B,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAe;IAChF,wCAAwC;IACxC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"handleTestResults.js","sourceRoot":"","sources":["../src/handleTestResults.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ Interactively generate a specification file for a AI evaluation test.
|
|
|
6
6
|
|
|
7
7
|
This command will prompt you for the necessary information to create a new spec file (in yaml format). You can then create a new AI evaluation using "sf agent test create --spec <spec-file>".
|
|
8
8
|
|
|
9
|
+
# flags.output-dir.summary
|
|
10
|
+
|
|
11
|
+
The directory to save the generated spec file.
|
|
12
|
+
|
|
9
13
|
# examples
|
|
10
14
|
|
|
11
15
|
- <%= config.bin %> <%= command.id %>
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
# summary
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Convert a test spec file into an AiEvaluationDefinition and deploy it to your org.
|
|
4
4
|
|
|
5
5
|
# description
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This command will convert a test spec file into an AiEvaluationDefinition and deploy it to your org. The spec file must be in yaml format.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Description of a flag.
|
|
9
|
+
Use the --preview flag to see the metadata that will be deployed without actually deploying it.
|
|
12
10
|
|
|
13
|
-
# flags.spec.
|
|
11
|
+
# flags.spec.summary
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
The path to the spec file.
|
|
16
14
|
|
|
17
15
|
# flags.preview.summary
|
|
18
16
|
|
|
@@ -22,6 +20,10 @@ Preview the test metadata without deploying to your org.
|
|
|
22
20
|
|
|
23
21
|
Don't prompt for confirmation when overwriting an existing test.
|
|
24
22
|
|
|
23
|
+
# flags.api-name.summary
|
|
24
|
+
|
|
25
|
+
The API name of the AiEvaluationDefinition.
|
|
26
|
+
|
|
25
27
|
# examples
|
|
26
28
|
|
|
27
29
|
- <%= config.bin %> <%= command.id %>
|
|
@@ -37,3 +39,7 @@ AiEvaluationDefinition created at %s and deployed to %s
|
|
|
37
39
|
# info.preview-success
|
|
38
40
|
|
|
39
41
|
Preview of AiEvaluationDefinition created at %s
|
|
42
|
+
|
|
43
|
+
# error.missingRequiredFlags
|
|
44
|
+
|
|
45
|
+
Missing required flags: %s.
|