@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.
Files changed (67) hide show
  1. package/LICENSE.txt +6 -200
  2. package/README.md +26 -161
  3. package/lib/agentActivation.js +4 -13
  4. package/lib/agentActivation.js.map +1 -1
  5. package/lib/agentTestCache.js +4 -13
  6. package/lib/agentTestCache.js.map +1 -1
  7. package/lib/commands/agent/activate.js +4 -13
  8. package/lib/commands/agent/activate.js.map +1 -1
  9. package/lib/commands/agent/create.js +4 -13
  10. package/lib/commands/agent/create.js.map +1 -1
  11. package/lib/commands/agent/deactivate.js +4 -13
  12. package/lib/commands/agent/deactivate.js.map +1 -1
  13. package/lib/commands/agent/generate/agent-spec.js +4 -13
  14. package/lib/commands/agent/generate/agent-spec.js.map +1 -1
  15. package/lib/commands/agent/generate/template.js +4 -13
  16. package/lib/commands/agent/generate/template.js.map +1 -1
  17. package/lib/commands/agent/generate/test-spec.js +4 -13
  18. package/lib/commands/agent/generate/test-spec.js.map +1 -1
  19. package/lib/commands/agent/preview.d.ts +2 -2
  20. package/lib/commands/agent/preview.js +8 -30
  21. package/lib/commands/agent/preview.js.map +1 -1
  22. package/lib/commands/agent/test/create.js +4 -13
  23. package/lib/commands/agent/test/create.js.map +1 -1
  24. package/lib/commands/agent/test/list.js +4 -13
  25. package/lib/commands/agent/test/list.js.map +1 -1
  26. package/lib/commands/agent/test/results.js +4 -13
  27. package/lib/commands/agent/test/results.js.map +1 -1
  28. package/lib/commands/agent/test/resume.js +4 -13
  29. package/lib/commands/agent/test/resume.js.map +1 -1
  30. package/lib/commands/agent/test/run.js +4 -14
  31. package/lib/commands/agent/test/run.js.map +1 -1
  32. package/lib/components/agent-preview-react.js +37 -72
  33. package/lib/components/agent-preview-react.js.map +1 -1
  34. package/lib/flags.d.ts +2 -6
  35. package/lib/flags.js +20 -55
  36. package/lib/flags.js.map +1 -1
  37. package/lib/handleTestResults.js +4 -13
  38. package/lib/handleTestResults.js.map +1 -1
  39. package/lib/index.js +4 -13
  40. package/lib/index.js.map +1 -1
  41. package/lib/inquirer-theme.js +4 -13
  42. package/lib/inquirer-theme.js.map +1 -1
  43. package/lib/testStages.js +4 -13
  44. package/lib/testStages.js.map +1 -1
  45. package/lib/yes-no-cancel.js +4 -13
  46. package/lib/yes-no-cancel.js.map +1 -1
  47. package/messages/agent.preview.md +2 -6
  48. package/messages/agent.test.run.md +0 -4
  49. package/npm-shrinkwrap.json +17924 -0
  50. package/oclif.lock +9492 -0
  51. package/oclif.manifest.json +5 -291
  52. package/package.json +12 -11
  53. package/lib/commands/agent/generate/authoring-bundle.d.ts +0 -22
  54. package/lib/commands/agent/generate/authoring-bundle.js +0 -146
  55. package/lib/commands/agent/generate/authoring-bundle.js.map +0 -1
  56. package/lib/commands/agent/publish/authoring-bundle.d.ts +0 -19
  57. package/lib/commands/agent/publish/authoring-bundle.js +0 -131
  58. package/lib/commands/agent/publish/authoring-bundle.js.map +0 -1
  59. package/lib/commands/agent/validate/authoring-bundle.d.ts +0 -18
  60. package/lib/commands/agent/validate/authoring-bundle.js +0 -123
  61. package/lib/commands/agent/validate/authoring-bundle.js.map +0 -1
  62. package/messages/agent.generate.authoring-bundle.md +0 -51
  63. package/messages/agent.publish.authoring-bundle.md +0 -50
  64. package/messages/agent.validate.authoring-bundle.md +0 -46
  65. package/schemas/agent-generate-authoring__bundle.json +0 -22
  66. package/schemas/agent-publish-authoring__bundle.json +0 -25
  67. 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
- }