@salesforce/plugin-agent 1.24.14-demo.9 → 1.24.14
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/LICENSE.txt +6 -200
- package/README.md +26 -161
- package/lib/agentActivation.js +4 -13
- package/lib/agentActivation.js.map +1 -1
- package/lib/agentTestCache.js +4 -13
- package/lib/agentTestCache.js.map +1 -1
- package/lib/commands/agent/activate.js +4 -13
- package/lib/commands/agent/activate.js.map +1 -1
- package/lib/commands/agent/create.js +4 -13
- package/lib/commands/agent/create.js.map +1 -1
- package/lib/commands/agent/deactivate.js +4 -13
- package/lib/commands/agent/deactivate.js.map +1 -1
- package/lib/commands/agent/generate/agent-spec.js +4 -13
- package/lib/commands/agent/generate/agent-spec.js.map +1 -1
- package/lib/commands/agent/generate/template.js +4 -13
- package/lib/commands/agent/generate/template.js.map +1 -1
- package/lib/commands/agent/generate/test-spec.js +4 -13
- package/lib/commands/agent/generate/test-spec.js.map +1 -1
- package/lib/commands/agent/preview.d.ts +2 -2
- package/lib/commands/agent/preview.js +8 -30
- package/lib/commands/agent/preview.js.map +1 -1
- package/lib/commands/agent/test/create.js +4 -13
- package/lib/commands/agent/test/create.js.map +1 -1
- package/lib/commands/agent/test/list.js +4 -13
- package/lib/commands/agent/test/list.js.map +1 -1
- package/lib/commands/agent/test/results.js +4 -13
- package/lib/commands/agent/test/results.js.map +1 -1
- package/lib/commands/agent/test/resume.js +4 -13
- package/lib/commands/agent/test/resume.js.map +1 -1
- package/lib/commands/agent/test/run.js +4 -14
- package/lib/commands/agent/test/run.js.map +1 -1
- package/lib/components/agent-preview-react.js +37 -72
- package/lib/components/agent-preview-react.js.map +1 -1
- package/lib/flags.d.ts +2 -6
- package/lib/flags.js +20 -55
- package/lib/flags.js.map +1 -1
- package/lib/handleTestResults.js +4 -13
- package/lib/handleTestResults.js.map +1 -1
- package/lib/index.js +4 -13
- package/lib/index.js.map +1 -1
- package/lib/inquirer-theme.js +4 -13
- package/lib/inquirer-theme.js.map +1 -1
- package/lib/testStages.js +4 -13
- package/lib/testStages.js.map +1 -1
- package/lib/yes-no-cancel.js +4 -13
- package/lib/yes-no-cancel.js.map +1 -1
- package/messages/agent.preview.md +2 -6
- package/messages/agent.test.run.md +0 -4
- package/npm-shrinkwrap.json +17924 -0
- package/oclif.lock +9492 -0
- package/oclif.manifest.json +5 -291
- package/package.json +12 -11
- package/lib/commands/agent/generate/authoring-bundle.d.ts +0 -22
- package/lib/commands/agent/generate/authoring-bundle.js +0 -146
- package/lib/commands/agent/generate/authoring-bundle.js.map +0 -1
- package/lib/commands/agent/publish/authoring-bundle.d.ts +0 -19
- package/lib/commands/agent/publish/authoring-bundle.js +0 -131
- package/lib/commands/agent/publish/authoring-bundle.js.map +0 -1
- package/lib/commands/agent/validate/authoring-bundle.d.ts +0 -18
- package/lib/commands/agent/validate/authoring-bundle.js +0 -123
- package/lib/commands/agent/validate/authoring-bundle.js.map +0 -1
- package/messages/agent.generate.authoring-bundle.md +0 -51
- package/messages/agent.publish.authoring-bundle.md +0 -50
- package/messages/agent.validate.authoring-bundle.md +0 -46
- package/schemas/agent-generate-authoring__bundle.json +0 -22
- package/schemas/agent-publish-authoring__bundle.json +0 -25
- package/schemas/agent-validate-authoring__bundle.json +0 -22
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { EOL } from 'node:os';
|
|
17
|
-
import { join } from 'node:path';
|
|
18
|
-
import { readFileSync } from 'node:fs';
|
|
19
|
-
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
20
|
-
import { MultiStageOutput } from '@oclif/multi-stage-output';
|
|
21
|
-
import { Messages, Lifecycle, SfError } from '@salesforce/core';
|
|
22
|
-
import { Agent, findAuthoringBundle } from '@salesforce/agents';
|
|
23
|
-
import { RequestStatus } from '@salesforce/source-deploy-retrieve';
|
|
24
|
-
import { ensureArray } from '@salesforce/kit';
|
|
25
|
-
import { promptForAgentFiles } from '../../../flags.js';
|
|
26
|
-
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
27
|
-
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.publish.authoring-bundle');
|
|
28
|
-
export default class AgentPublishAuthoringBundle extends SfCommand {
|
|
29
|
-
static summary = messages.getMessage('summary');
|
|
30
|
-
static description = messages.getMessage('description');
|
|
31
|
-
static examples = messages.getMessages('examples');
|
|
32
|
-
static requiresProject = true;
|
|
33
|
-
static flags = {
|
|
34
|
-
'target-org': Flags.requiredOrg(),
|
|
35
|
-
'api-version': Flags.orgApiVersion(),
|
|
36
|
-
'api-name': Flags.string({
|
|
37
|
-
char: 'n',
|
|
38
|
-
summary: messages.getMessage('flags.api-name.summary'),
|
|
39
|
-
}),
|
|
40
|
-
};
|
|
41
|
-
static FLAGGABLE_PROMPTS = {
|
|
42
|
-
'api-name': {
|
|
43
|
-
message: messages.getMessage('flags.api-name.summary'),
|
|
44
|
-
promptMessage: messages.getMessage('flags.api-name.prompt'),
|
|
45
|
-
validate: (d) => {
|
|
46
|
-
if (d.length > 80) {
|
|
47
|
-
return 'API name cannot be over 80 characters.';
|
|
48
|
-
}
|
|
49
|
-
const regex = /^[A-Za-z][A-Za-z0-9_]*[A-Za-z0-9]+$/;
|
|
50
|
-
if (d.length === 0 || !regex.test(d)) {
|
|
51
|
-
return 'Invalid API name.';
|
|
52
|
-
}
|
|
53
|
-
return true;
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
async run() {
|
|
58
|
-
const { flags } = await this.parse(AgentPublishAuthoringBundle);
|
|
59
|
-
// If api-name is not provided, prompt user to select an .agent file from the project and extract the API name from it
|
|
60
|
-
const apiName = flags['api-name'] ??
|
|
61
|
-
(await promptForAgentFiles(this.project, AgentPublishAuthoringBundle.FLAGGABLE_PROMPTS['api-name']));
|
|
62
|
-
const authoringBundleDir = findAuthoringBundle(this.project.getPackageDirectories().map((dir) => dir.fullPath), apiName);
|
|
63
|
-
if (!authoringBundleDir) {
|
|
64
|
-
throw new SfError(messages.getMessage('error.agentNotFound', [apiName]), 'AgentNotFoundError', [
|
|
65
|
-
messages.getMessage('error.agentNotFoundAction'),
|
|
66
|
-
]);
|
|
67
|
-
}
|
|
68
|
-
// Create multi-stage output
|
|
69
|
-
const mso = new MultiStageOutput({
|
|
70
|
-
stages: ['Validate Bundle', 'Publish Agent', 'Retrieve Metadata'],
|
|
71
|
-
title: 'Publishing Agent',
|
|
72
|
-
data: { agentName: apiName },
|
|
73
|
-
jsonEnabled: this.jsonEnabled(),
|
|
74
|
-
postStagesBlock: [
|
|
75
|
-
{
|
|
76
|
-
label: 'Agent Name',
|
|
77
|
-
type: 'static-key-value',
|
|
78
|
-
get: (data) => data?.agentName,
|
|
79
|
-
bold: true,
|
|
80
|
-
color: 'cyan',
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
});
|
|
84
|
-
try {
|
|
85
|
-
mso.goto('Validate Bundle');
|
|
86
|
-
const targetOrg = flags['target-org'];
|
|
87
|
-
const conn = targetOrg.getConnection(flags['api-version']);
|
|
88
|
-
// First compile the .agent file to get the Agent JSON
|
|
89
|
-
const agentJson = await Agent.compileAgent(conn, readFileSync(join(authoringBundleDir, `${apiName}.agent`), 'utf8'));
|
|
90
|
-
mso.skipTo('Publish Agent');
|
|
91
|
-
// Then publish the Agent JSON to create the agent
|
|
92
|
-
// Set up lifecycle listeners for retrieve events
|
|
93
|
-
Lifecycle.getInstance().on('scopedPreRetrieve', () => {
|
|
94
|
-
mso.skipTo('Retrieve Metadata');
|
|
95
|
-
return Promise.resolve();
|
|
96
|
-
});
|
|
97
|
-
Lifecycle.getInstance().on('scopedPostRetrieve', (result) => {
|
|
98
|
-
if (result.retrieveResult.response.status === RequestStatus.Succeeded) {
|
|
99
|
-
mso.stop();
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
const errorMessage = `Metadata retrieval failed: ${ensureArray(
|
|
103
|
-
// @ts-expect-error I saw errorMessages populated with useful information during testing
|
|
104
|
-
result?.retrieveResult.response?.messages ?? result?.retrieveResult?.response?.errorMessage).join(EOL)}`;
|
|
105
|
-
mso.error();
|
|
106
|
-
throw new SfError(errorMessage);
|
|
107
|
-
}
|
|
108
|
-
return Promise.resolve();
|
|
109
|
-
});
|
|
110
|
-
const result = await Agent.publishAgentJson(conn, this.project, agentJson);
|
|
111
|
-
mso.stop();
|
|
112
|
-
return {
|
|
113
|
-
success: true,
|
|
114
|
-
botDeveloperName: result.developerName,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
// Handle validation errors
|
|
119
|
-
const err = SfError.wrap(error);
|
|
120
|
-
const errorMessage = messages.getMessage('error.publishFailed', [err.message]);
|
|
121
|
-
// Stop the multi-stage output on error
|
|
122
|
-
mso.error();
|
|
123
|
-
this.error(errorMessage);
|
|
124
|
-
return {
|
|
125
|
-
success: false,
|
|
126
|
-
errors: err.message.split('\n'),
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=authoring-bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-bundle.js","sourceRoot":"","sources":["../../../../src/commands/agent/publish/authoring-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
-
export type AgentValidateAuthoringBundleResult = {
|
|
3
|
-
success: boolean;
|
|
4
|
-
errors?: string[];
|
|
5
|
-
};
|
|
6
|
-
export default class AgentValidateAuthoringBundle extends SfCommand<AgentValidateAuthoringBundleResult> {
|
|
7
|
-
static readonly summary: string;
|
|
8
|
-
static readonly description: string;
|
|
9
|
-
static readonly examples: string[];
|
|
10
|
-
static readonly requiresProject = true;
|
|
11
|
-
static readonly flags: {
|
|
12
|
-
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
'api-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
};
|
|
16
|
-
private static readonly FLAGGABLE_PROMPTS;
|
|
17
|
-
run(): Promise<AgentValidateAuthoringBundleResult>;
|
|
18
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { readFileSync } from 'node:fs';
|
|
17
|
-
import { join } from 'node:path';
|
|
18
|
-
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
19
|
-
import { Messages, SfError } from '@salesforce/core';
|
|
20
|
-
import { MultiStageOutput } from '@oclif/multi-stage-output';
|
|
21
|
-
import { Agent, findAuthoringBundle } from '@salesforce/agents';
|
|
22
|
-
import { Duration, sleep } from '@salesforce/kit';
|
|
23
|
-
import { colorize } from '@oclif/core/ux';
|
|
24
|
-
import { promptForAgentFiles } from '../../../flags.js';
|
|
25
|
-
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
26
|
-
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.validate.authoring-bundle');
|
|
27
|
-
export default class AgentValidateAuthoringBundle extends SfCommand {
|
|
28
|
-
static summary = messages.getMessage('summary');
|
|
29
|
-
static description = messages.getMessage('description');
|
|
30
|
-
static examples = messages.getMessages('examples');
|
|
31
|
-
static requiresProject = true;
|
|
32
|
-
static flags = {
|
|
33
|
-
'target-org': Flags.requiredOrg(),
|
|
34
|
-
'api-version': Flags.orgApiVersion(),
|
|
35
|
-
'api-name': Flags.string({
|
|
36
|
-
char: 'n',
|
|
37
|
-
summary: messages.getMessage('flags.api-name.summary'),
|
|
38
|
-
}),
|
|
39
|
-
};
|
|
40
|
-
static FLAGGABLE_PROMPTS = {
|
|
41
|
-
'api-name': {
|
|
42
|
-
message: messages.getMessage('flags.api-name.summary'),
|
|
43
|
-
promptMessage: messages.getMessage('flags.api-name.prompt'),
|
|
44
|
-
validate: (d) => {
|
|
45
|
-
if (d.length > 80) {
|
|
46
|
-
return 'API name cannot be over 80 characters.';
|
|
47
|
-
}
|
|
48
|
-
const regex = /^[A-Za-z][A-Za-z0-9_]*[A-Za-z0-9]+$/;
|
|
49
|
-
if (d.length === 0 || !regex.test(d)) {
|
|
50
|
-
return 'Invalid API name.';
|
|
51
|
-
}
|
|
52
|
-
return true;
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
async run() {
|
|
57
|
-
const { flags } = await this.parse(AgentValidateAuthoringBundle);
|
|
58
|
-
// If api-name is not provided, prompt user to select an .agent file from the project and extract the API name from it
|
|
59
|
-
const apiName = flags['api-name'] ??
|
|
60
|
-
(await promptForAgentFiles(this.project, AgentValidateAuthoringBundle.FLAGGABLE_PROMPTS['api-name']));
|
|
61
|
-
const authoringBundleDir = findAuthoringBundle(this.project.getPackageDirectories().map((dir) => dir.fullPath), apiName);
|
|
62
|
-
if (!authoringBundleDir) {
|
|
63
|
-
throw new SfError(messages.getMessage('error.agentNotFound', [apiName]), 'AgentNotFoundError', [
|
|
64
|
-
messages.getMessage('error.agentNotFoundAction'),
|
|
65
|
-
]);
|
|
66
|
-
}
|
|
67
|
-
const mso = new MultiStageOutput({
|
|
68
|
-
jsonEnabled: this.jsonEnabled(),
|
|
69
|
-
title: `Validating ${apiName} Authoring Bundle`,
|
|
70
|
-
showTitle: true,
|
|
71
|
-
stages: ['Validating Authoring Bundle'],
|
|
72
|
-
stageSpecificBlock: [
|
|
73
|
-
{
|
|
74
|
-
stage: 'Validating Authoring Bundle',
|
|
75
|
-
label: 'Status',
|
|
76
|
-
type: 'dynamic-key-value',
|
|
77
|
-
get: (data) => data?.status ?? 'IN PROGRESS',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
stage: 'Validating Authoring Bundle',
|
|
81
|
-
label: 'Errors',
|
|
82
|
-
type: 'dynamic-key-value',
|
|
83
|
-
get: (data) => data?.errors ?? '0',
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
});
|
|
87
|
-
try {
|
|
88
|
-
mso.skipTo('Validating Authoring Bundle');
|
|
89
|
-
const targetOrg = flags['target-org'];
|
|
90
|
-
const conn = targetOrg.getConnection(flags['api-version']);
|
|
91
|
-
// Call Agent.compileAgent() API
|
|
92
|
-
await sleep(Duration.seconds(2));
|
|
93
|
-
await Agent.compileAgent(conn, readFileSync(join(authoringBundleDir, `${apiName}.agent`), 'utf8'));
|
|
94
|
-
mso.updateData({ status: 'COMPLETED' });
|
|
95
|
-
mso.stop('completed');
|
|
96
|
-
return {
|
|
97
|
-
success: true,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
// Handle validation errors
|
|
102
|
-
const err = SfError.wrap(error);
|
|
103
|
-
let count = 0;
|
|
104
|
-
const formattedError = err.message
|
|
105
|
-
.split('\n')
|
|
106
|
-
.map((line) => {
|
|
107
|
-
count += 1;
|
|
108
|
-
const type = line.split(':')[0];
|
|
109
|
-
const rest = line.substring(line.indexOf(':')).trim();
|
|
110
|
-
return `- ${colorize('red', type)} ${rest}`;
|
|
111
|
-
})
|
|
112
|
-
.join('\n');
|
|
113
|
-
mso.updateData({ errors: count.toString(), status: 'ERROR' });
|
|
114
|
-
mso.error();
|
|
115
|
-
this.log(messages.getMessage('error.compilationFailed', [formattedError]));
|
|
116
|
-
return {
|
|
117
|
-
success: false,
|
|
118
|
-
errors: err.message.split('\n'),
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=authoring-bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-bundle.js","sourceRoot":"","sources":["../../../../src/commands/agent/validate/authoring-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# summary
|
|
2
|
-
|
|
3
|
-
Generate a local authoring bundle from an existing agent spec YAML file.
|
|
4
|
-
|
|
5
|
-
# description
|
|
6
|
-
|
|
7
|
-
Authoring bundles are metadata types that represent the next-gen Salesforce agents. Their exact metadata name is AiAuthoringBundle and they consist of a standard "\*-meta.xml" metadata file and an agent file (with extension ".agent") that fully describes the next-gen agent. Use this command to generate an authoring bundle based on an agent spec YAML file, which you create with the "agent create agent-spec" command.
|
|
8
|
-
|
|
9
|
-
By default, authoring bundles are generated in the force-app/main/default/aiAuthoringBundles/<api-name> directory. Use the --output-dir to generate them elsewhere.
|
|
10
|
-
|
|
11
|
-
# flags.spec.summary
|
|
12
|
-
|
|
13
|
-
Path to the agent spec YAML file.
|
|
14
|
-
|
|
15
|
-
# flags.output-dir.summary
|
|
16
|
-
|
|
17
|
-
Directory where the authoring bundle files are generated.
|
|
18
|
-
|
|
19
|
-
# flags.name.summary
|
|
20
|
-
|
|
21
|
-
Name (label) of the authoring bundle.
|
|
22
|
-
|
|
23
|
-
# flags.api-name.summary
|
|
24
|
-
|
|
25
|
-
API name of the new authoring bundle; if not specified, the API name is derived from the authoring bundle name (label); the API name can't exist in the org.
|
|
26
|
-
|
|
27
|
-
# flags.api-name.prompt
|
|
28
|
-
|
|
29
|
-
API name of the new authoring bundle
|
|
30
|
-
|
|
31
|
-
# examples
|
|
32
|
-
|
|
33
|
-
- Generate an authoring bundle from the "specs/agentSpec.yaml" agent spec YAML file and give it the label "My Authoring Bundle":
|
|
34
|
-
|
|
35
|
-
<%= config.bin %> <%= command.id %> --spec-file specs/agentSpec.yaml --name "My Authoring Bundle"
|
|
36
|
-
|
|
37
|
-
- Same as previous example, but generate the files in the other-package-dir/main/default/aiAuthoringBundles directory:
|
|
38
|
-
|
|
39
|
-
<%= config.bin %> <%= command.id %> --spec-file specs/agentSpec.yaml --name "My Authoring Bundle" --output-dir other-package-dir/main/default/aiAuthoringBundles
|
|
40
|
-
|
|
41
|
-
# error.no-spec-file
|
|
42
|
-
|
|
43
|
-
No agent spec YAML file found at the specified path.
|
|
44
|
-
|
|
45
|
-
# error.invalid-spec-file
|
|
46
|
-
|
|
47
|
-
The specified file is not a valid agent spec YAML file.
|
|
48
|
-
|
|
49
|
-
# error.failed-to-create-agent
|
|
50
|
-
|
|
51
|
-
Failed to create a next-gen agent from the agent spec YAML file.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# summary
|
|
2
|
-
|
|
3
|
-
Publish an authoring bundle to your org, which results in a new next-gen agent.
|
|
4
|
-
|
|
5
|
-
# description
|
|
6
|
-
|
|
7
|
-
When you publish an authoring bundle to your org, a number of things happen. First, this command validates that the agent file (with extension ".agent") successfully compiles. Then the authoring bundle metadata component is deployed to the org, and all associated metadata components, such as the Bot, BotVersion, and GenAiXXX components, are either created or updated. The org then creates a new next-gen agent based on the deployed authoring bundle and associated metadata. Finally, all the metadata associated with the new agent is retrieved back to your local DX project.
|
|
8
|
-
|
|
9
|
-
Authoring bundles are metadata types that represent the next-gen Salesforce agents. Their exact metadata name is AiAuthoringBundle and they consist of a standard "\*-meta.xml" metadata file and an agent file (with extension ".agent") that fully describes the next-gen agent.
|
|
10
|
-
|
|
11
|
-
This command requires the API name of the authoring bundle; if you don't provide it with the --api-name flag, the command prompts you for it.
|
|
12
|
-
|
|
13
|
-
# examples
|
|
14
|
-
|
|
15
|
-
- Publish an authoring bundle with API name MyAuthoringBundle to the org with alias "my-org", resulting in a new agent named "My Fab Agent"::
|
|
16
|
-
|
|
17
|
-
<%= config.bin %> <%= command.id %> --api-name MyAuthoringbundle --agent-name "My Fab Agent" --target-org my-org
|
|
18
|
-
|
|
19
|
-
# flags.api-name.summary
|
|
20
|
-
|
|
21
|
-
API name of the authoring bundle you want to publish.
|
|
22
|
-
|
|
23
|
-
# flags.api-name.prompt
|
|
24
|
-
|
|
25
|
-
API name of the authoring bundle to publish
|
|
26
|
-
|
|
27
|
-
# flags.agent-name.summary
|
|
28
|
-
|
|
29
|
-
Name for the new agent that is created from the published authoring bundle.
|
|
30
|
-
|
|
31
|
-
# error.missingRequiredFlags
|
|
32
|
-
|
|
33
|
-
Required flag(s) missing: %s.
|
|
34
|
-
|
|
35
|
-
# error.invalidBundlePath
|
|
36
|
-
|
|
37
|
-
Invalid bundle path. Provide a valid directory path to an authoring bundle.
|
|
38
|
-
|
|
39
|
-
# error.publishFailed
|
|
40
|
-
|
|
41
|
-
Failed to publish agent with the following errors:
|
|
42
|
-
%s
|
|
43
|
-
|
|
44
|
-
# error.agentNotFound
|
|
45
|
-
|
|
46
|
-
Could not find a .bundle-meta.xml file with API name '%s' in the project.
|
|
47
|
-
|
|
48
|
-
# error.agentNotFoundAction
|
|
49
|
-
|
|
50
|
-
Check that the API name is correct and that the .agent file exists in your project directory.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# summary
|
|
2
|
-
|
|
3
|
-
Validate a local authoring bundle to ensure it compiles successfully and can be used to create a next-gen agent.
|
|
4
|
-
|
|
5
|
-
# description
|
|
6
|
-
|
|
7
|
-
Authoring bundles are metadata types that represent the next-gen Salesforce agents. Their exact metadata name is AiAuthoringBundle and they consist of a standard "\*-meta.xml" metadata file and an agent file (with extension ".agent") that fully describes the next-gen agent. Generate a local authoring bundle with the "agent generate authoring-bundle" command.
|
|
8
|
-
|
|
9
|
-
This command validates that the agent file (with extension ".agent") that's part of the authoring bundle compiles without errors and can later be used to successfully create a next-gen agent.
|
|
10
|
-
|
|
11
|
-
This command requires the API name of the authoring bundle; if you don't provide it with the --api-name flag, the command prompts you for it.
|
|
12
|
-
|
|
13
|
-
# examples
|
|
14
|
-
|
|
15
|
-
- Validate a local authoring bundle with API name MyAuthoringBundle:
|
|
16
|
-
|
|
17
|
-
<%= config.bin %> <%= command.id %> --api-name MyAuthoringBundle
|
|
18
|
-
|
|
19
|
-
# flags.api-name.summary
|
|
20
|
-
|
|
21
|
-
API name of the authoring bundle you want to validate.
|
|
22
|
-
|
|
23
|
-
# flags.api-name.prompt
|
|
24
|
-
|
|
25
|
-
API name of the authoring bundle to validate
|
|
26
|
-
|
|
27
|
-
# error.missingRequiredFlags
|
|
28
|
-
|
|
29
|
-
Required flag(s) missing: %s.
|
|
30
|
-
|
|
31
|
-
# error.invalidBundlePath
|
|
32
|
-
|
|
33
|
-
Invalid authoring bundle path. Provide a valid directory path to the authoring bundle you want to validate.
|
|
34
|
-
|
|
35
|
-
# error.compilationFailed
|
|
36
|
-
|
|
37
|
-
Compilation of the agent file failed with the following errors:
|
|
38
|
-
%s
|
|
39
|
-
|
|
40
|
-
# error.agentNotFound
|
|
41
|
-
|
|
42
|
-
Could not find a .bundle-meta.xml file with API name '%s' in the project.
|
|
43
|
-
|
|
44
|
-
# error.agentNotFoundAction
|
|
45
|
-
|
|
46
|
-
Check that the API name is correct and that the ".agent" file exists in your project directory.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$ref": "#/definitions/AgentGenerateAuthoringBundleResult",
|
|
4
|
-
"definitions": {
|
|
5
|
-
"AgentGenerateAuthoringBundleResult": {
|
|
6
|
-
"type": "object",
|
|
7
|
-
"properties": {
|
|
8
|
-
"agentPath": {
|
|
9
|
-
"type": "string"
|
|
10
|
-
},
|
|
11
|
-
"metaXmlPath": {
|
|
12
|
-
"type": "string"
|
|
13
|
-
},
|
|
14
|
-
"outputDir": {
|
|
15
|
-
"type": "string"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"required": ["agentPath", "metaXmlPath", "outputDir"],
|
|
19
|
-
"additionalProperties": false
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$ref": "#/definitions/AgentPublishAuthoringBundleResult",
|
|
4
|
-
"definitions": {
|
|
5
|
-
"AgentPublishAuthoringBundleResult": {
|
|
6
|
-
"type": "object",
|
|
7
|
-
"properties": {
|
|
8
|
-
"success": {
|
|
9
|
-
"type": "boolean"
|
|
10
|
-
},
|
|
11
|
-
"botDeveloperName": {
|
|
12
|
-
"type": "string"
|
|
13
|
-
},
|
|
14
|
-
"errors": {
|
|
15
|
-
"type": "array",
|
|
16
|
-
"items": {
|
|
17
|
-
"type": "string"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"required": ["success"],
|
|
22
|
-
"additionalProperties": false
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$ref": "#/definitions/AgentValidateAuthoringBundleResult",
|
|
4
|
-
"definitions": {
|
|
5
|
-
"AgentValidateAuthoringBundleResult": {
|
|
6
|
-
"type": "object",
|
|
7
|
-
"properties": {
|
|
8
|
-
"success": {
|
|
9
|
-
"type": "boolean"
|
|
10
|
-
},
|
|
11
|
-
"errors": {
|
|
12
|
-
"type": "array",
|
|
13
|
-
"items": {
|
|
14
|
-
"type": "string"
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"required": ["success"],
|
|
19
|
-
"additionalProperties": false
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|