@salesforce/plugin-agent 1.4.0 → 1.5.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 +67 -12
- package/lib/commands/agent/create.d.ts +1 -0
- package/lib/commands/agent/create.js +28 -19
- package/lib/commands/agent/create.js.map +1 -1
- package/lib/commands/agent/generate/spec.js +1 -1
- package/lib/commands/agent/generate/spec.js.map +1 -1
- package/lib/commands/agent/preview.d.ts +15 -0
- package/lib/commands/agent/preview.js +37 -0
- package/lib/commands/agent/preview.js.map +1 -0
- package/lib/commands/agent/test/results.d.ts +2 -1
- package/lib/commands/agent/test/results.js +11 -5
- package/lib/commands/agent/test/results.js.map +1 -1
- package/lib/commands/agent/test/resume.d.ts +2 -1
- package/lib/commands/agent/test/resume.js +11 -5
- package/lib/commands/agent/test/resume.js.map +1 -1
- package/lib/commands/agent/test/run.d.ts +2 -1
- package/lib/commands/agent/test/run.js +11 -5
- package/lib/commands/agent/test/run.js.map +1 -1
- package/lib/components/agent-preview-react.d.ts +9 -0
- package/lib/components/agent-preview-react.js +56 -0
- package/lib/components/agent-preview-react.js.map +1 -0
- package/lib/flags.d.ts +5 -1
- package/lib/flags.js +6 -1
- package/lib/flags.js.map +1 -1
- package/lib/handleTestResults.d.ts +8 -0
- package/lib/handleTestResults.js +44 -0
- package/lib/handleTestResults.js.map +1 -0
- package/messages/agent.preview.md +20 -0
- package/messages/shared.md +8 -0
- package/npm-shrinkwrap.json +12899 -5679
- package/oclif.lock +1170 -25
- package/oclif.manifest.json +103 -4
- package/package.json +13 -5
- package/schemas/agent-preview.json +9 -0
package/README.md
CHANGED
|
@@ -63,6 +63,7 @@ sf plugins
|
|
|
63
63
|
|
|
64
64
|
- [`sf agent create`](#sf-agent-create)
|
|
65
65
|
- [`sf agent generate spec`](#sf-agent-generate-spec)
|
|
66
|
+
- [`sf agent preview`](#sf-agent-preview)
|
|
66
67
|
- [`sf agent test cancel`](#sf-agent-test-cancel)
|
|
67
68
|
- [`sf agent test results`](#sf-agent-test-results)
|
|
68
69
|
- [`sf agent test resume`](#sf-agent-test-resume)
|
|
@@ -104,7 +105,7 @@ FLAG DESCRIPTIONS
|
|
|
104
105
|
spec` command.
|
|
105
106
|
```
|
|
106
107
|
|
|
107
|
-
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
108
|
+
_See code: [src/commands/agent/create.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/create.ts)_
|
|
108
109
|
|
|
109
110
|
## `sf agent generate spec`
|
|
110
111
|
|
|
@@ -147,7 +148,42 @@ EXAMPLES
|
|
|
147
148
|
--company-description "A meaningful description"
|
|
148
149
|
```
|
|
149
150
|
|
|
150
|
-
_See code: [src/commands/agent/generate/spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
151
|
+
_See code: [src/commands/agent/generate/spec.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/generate/spec.ts)_
|
|
152
|
+
|
|
153
|
+
## `sf agent preview`
|
|
154
|
+
|
|
155
|
+
Interact with an active agent, as a user would, to preview responses
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
USAGE
|
|
159
|
+
$ sf agent preview -o <value> -n <value> [--flags-dir <value>] [--api-version <value>]
|
|
160
|
+
|
|
161
|
+
FLAGS
|
|
162
|
+
-n, --name=<value> (required) The name of the agent you want to preview
|
|
163
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
164
|
+
configuration variable is already set.
|
|
165
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
166
|
+
|
|
167
|
+
GLOBAL FLAGS
|
|
168
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
169
|
+
|
|
170
|
+
DESCRIPTION
|
|
171
|
+
Interact with an active agent, as a user would, to preview responses
|
|
172
|
+
|
|
173
|
+
XXX
|
|
174
|
+
|
|
175
|
+
EXAMPLES
|
|
176
|
+
$ sf agent preview --agent HelpDeskAgent
|
|
177
|
+
|
|
178
|
+
$ sf agent preview --agent ConciergeAgent --target-org production
|
|
179
|
+
|
|
180
|
+
FLAG DESCRIPTIONS
|
|
181
|
+
-n, --name=<value> The name of the agent you want to preview
|
|
182
|
+
|
|
183
|
+
the API name of the agent? (TBD based on agents library)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
_See code: [src/commands/agent/preview.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/preview.ts)_
|
|
151
187
|
|
|
152
188
|
## `sf agent test cancel`
|
|
153
189
|
|
|
@@ -179,7 +215,7 @@ EXAMPLES
|
|
|
179
215
|
$ sf agent test cancel --job-id AiEvalId
|
|
180
216
|
```
|
|
181
217
|
|
|
182
|
-
_See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
218
|
+
_See code: [src/commands/agent/test/cancel.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/test/cancel.ts)_
|
|
183
219
|
|
|
184
220
|
## `sf agent test results`
|
|
185
221
|
|
|
@@ -188,15 +224,16 @@ Get the results of a test evaluation.
|
|
|
188
224
|
```
|
|
189
225
|
USAGE
|
|
190
226
|
$ sf agent test results -o <value> -i <value> [--json] [--flags-dir <value>] [--api-version <value>] [--result-format
|
|
191
|
-
json|human]
|
|
227
|
+
json|human|junit] [-f <value>]
|
|
192
228
|
|
|
193
229
|
FLAGS
|
|
230
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
194
231
|
-i, --job-id=<value> (required) The AiEvaluation ID.
|
|
195
232
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
196
233
|
configuration variable is already set.
|
|
197
234
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
198
235
|
--result-format=<option> [default: human] Format of the test run results.
|
|
199
|
-
<options: json|human>
|
|
236
|
+
<options: json|human|junit>
|
|
200
237
|
|
|
201
238
|
GLOBAL FLAGS
|
|
202
239
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -209,9 +246,15 @@ DESCRIPTION
|
|
|
209
246
|
|
|
210
247
|
EXAMPLES
|
|
211
248
|
$ sf agent test results --job-id AiEvalId
|
|
249
|
+
|
|
250
|
+
FLAG DESCRIPTIONS
|
|
251
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
252
|
+
|
|
253
|
+
If test run is complete, write the results to the specified directory. If the tests are still running, the test
|
|
254
|
+
results will not be written.
|
|
212
255
|
```
|
|
213
256
|
|
|
214
|
-
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
257
|
+
_See code: [src/commands/agent/test/results.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/test/results.ts)_
|
|
215
258
|
|
|
216
259
|
## `sf agent test resume`
|
|
217
260
|
|
|
@@ -220,9 +263,10 @@ Resume a running test for an Agent.
|
|
|
220
263
|
```
|
|
221
264
|
USAGE
|
|
222
265
|
$ sf agent test resume -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-i <value>] [-r] [-w
|
|
223
|
-
<value>] [--result-format json|human]
|
|
266
|
+
<value>] [--result-format json|human|junit] [-f <value>]
|
|
224
267
|
|
|
225
268
|
FLAGS
|
|
269
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
226
270
|
-i, --job-id=<value> The AiEvaluation ID.
|
|
227
271
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
228
272
|
configuration variable is already set.
|
|
@@ -231,7 +275,7 @@ FLAGS
|
|
|
231
275
|
results to the terminal window.
|
|
232
276
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
233
277
|
--result-format=<option> [default: human] Format of the test run results.
|
|
234
|
-
<options: json|human>
|
|
278
|
+
<options: json|human|junit>
|
|
235
279
|
|
|
236
280
|
GLOBAL FLAGS
|
|
237
281
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -248,12 +292,17 @@ EXAMPLES
|
|
|
248
292
|
$ sf agent test resume --job-id AiEvalId
|
|
249
293
|
|
|
250
294
|
FLAG DESCRIPTIONS
|
|
295
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
296
|
+
|
|
297
|
+
If test run is complete, write the results to the specified directory. If the tests are still running, the test
|
|
298
|
+
results will not be written.
|
|
299
|
+
|
|
251
300
|
-w, --wait=<value> Number of minutes to wait for the command to complete and display results to the terminal window.
|
|
252
301
|
|
|
253
302
|
If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
|
|
254
303
|
```
|
|
255
304
|
|
|
256
|
-
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
305
|
+
_See code: [src/commands/agent/test/resume.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/test/resume.ts)_
|
|
257
306
|
|
|
258
307
|
## `sf agent test run`
|
|
259
308
|
|
|
@@ -262,9 +311,10 @@ Start a test for an Agent.
|
|
|
262
311
|
```
|
|
263
312
|
USAGE
|
|
264
313
|
$ sf agent test run -o <value> -n <value> [--json] [--flags-dir <value>] [--api-version <value>] [-w <value>]
|
|
265
|
-
[--result-format json|human]
|
|
314
|
+
[--result-format json|human|junit] [-f <value>]
|
|
266
315
|
|
|
267
316
|
FLAGS
|
|
317
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
268
318
|
-n, --name=<value> (required) The name of the AiEvaluationDefinition to start.
|
|
269
319
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
270
320
|
configuration variable is already set.
|
|
@@ -272,7 +322,7 @@ FLAGS
|
|
|
272
322
|
terminal window.
|
|
273
323
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
274
324
|
--result-format=<option> [default: human] Format of the test run results.
|
|
275
|
-
<options: json|human>
|
|
325
|
+
<options: json|human|junit>
|
|
276
326
|
|
|
277
327
|
GLOBAL FLAGS
|
|
278
328
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -289,6 +339,11 @@ EXAMPLES
|
|
|
289
339
|
$ sf agent test run --name AiEvalDefVerId
|
|
290
340
|
|
|
291
341
|
FLAG DESCRIPTIONS
|
|
342
|
+
-f, --output-dir=<value> Directory to write the test results to.
|
|
343
|
+
|
|
344
|
+
If test run is complete, write the results to the specified directory. If the tests are still running, the test
|
|
345
|
+
results will not be written.
|
|
346
|
+
|
|
292
347
|
-n, --name=<value> The name of the AiEvaluationDefinition to start.
|
|
293
348
|
|
|
294
349
|
The name of the AiEvaluationDefinition to start.
|
|
@@ -298,6 +353,6 @@ FLAG DESCRIPTIONS
|
|
|
298
353
|
If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
|
|
299
354
|
```
|
|
300
355
|
|
|
301
|
-
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.
|
|
356
|
+
_See code: [src/commands/agent/test/run.ts](https://github.com/salesforcecli/plugin-agent/blob/1.5.1/src/commands/agent/test/run.ts)_
|
|
302
357
|
|
|
303
358
|
<!-- commandsstop -->
|
|
@@ -7,6 +7,7 @@ export default class AgentCreate extends SfCommand<AgentCreateResult> {
|
|
|
7
7
|
static readonly summary: string;
|
|
8
8
|
static readonly description: string;
|
|
9
9
|
static readonly examples: string[];
|
|
10
|
+
static readonly requiresProject = true;
|
|
10
11
|
static state: string;
|
|
11
12
|
static readonly flags: {
|
|
12
13
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -4,20 +4,19 @@
|
|
|
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 * as fs from 'node:fs';
|
|
7
8
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
|
-
import { Messages } from '@salesforce/core';
|
|
9
|
-
import { Duration, sleep } from '@salesforce/kit';
|
|
9
|
+
import { Lifecycle, Messages } from '@salesforce/core';
|
|
10
10
|
import { MultiStageOutput } from '@oclif/multi-stage-output';
|
|
11
11
|
import { colorize } from '@oclif/core/ux';
|
|
12
|
+
import { Agent, AgentCreateLifecycleStages } from '@salesforce/agents';
|
|
12
13
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
14
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.create');
|
|
14
|
-
// There is no API for this yet. It's being planned/built by the Agent Creator team.
|
|
15
|
-
// However, we could possibly use:
|
|
16
|
-
// /services/data/{api-version}/connect/attach-agent-topics
|
|
17
15
|
export default class AgentCreate extends SfCommand {
|
|
18
16
|
static summary = messages.getMessage('summary');
|
|
19
17
|
static description = messages.getMessage('description');
|
|
20
18
|
static examples = messages.getMessages('examples');
|
|
19
|
+
static requiresProject = true;
|
|
21
20
|
static state = 'beta';
|
|
22
21
|
static flags = {
|
|
23
22
|
'target-org': Flags.requiredOrg(),
|
|
@@ -42,25 +41,35 @@ export default class AgentCreate extends SfCommand {
|
|
|
42
41
|
title: `Creating ${flags.name} Agent`,
|
|
43
42
|
stages: [
|
|
44
43
|
jsonParsingStage,
|
|
45
|
-
'Generating
|
|
46
|
-
'
|
|
47
|
-
'
|
|
44
|
+
'Generating local metadata',
|
|
45
|
+
'Deploying metadata to org',
|
|
46
|
+
'Creating Agent in org',
|
|
47
|
+
'Retrieving Agent metadata',
|
|
48
48
|
],
|
|
49
49
|
});
|
|
50
50
|
mso.goto(jsonParsingStage);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
const agentConfig = {
|
|
52
|
+
...JSON.parse(fs.readFileSync(flags['job-spec'], 'utf8')),
|
|
53
|
+
name: flags.name,
|
|
54
|
+
};
|
|
55
|
+
// @ts-expect-error not using async method in callback
|
|
56
|
+
Lifecycle.getInstance().on(AgentCreateLifecycleStages.CreatingLocally, () => mso.goto('Generating local metadata'));
|
|
57
|
+
Lifecycle.getInstance().on(AgentCreateLifecycleStages.DeployingMetadata, () =>
|
|
58
|
+
// @ts-expect-error not using async method in callback
|
|
59
|
+
mso.goto('Deploying metadata to org'));
|
|
60
|
+
// @ts-expect-error not using async method in callback
|
|
61
|
+
Lifecycle.getInstance().on(AgentCreateLifecycleStages.CreatingRemotely, () => mso.goto('Creating Agent in org'));
|
|
62
|
+
Lifecycle.getInstance().on(AgentCreateLifecycleStages.RetrievingMetadata, () =>
|
|
63
|
+
// @ts-expect-error not using async method in callback
|
|
64
|
+
mso.goto('Retrieving Agent metadata'));
|
|
65
|
+
const agent = new Agent(flags['target-org'].getConnection(flags['api-version']), this.project);
|
|
66
|
+
const created = await agent.create(agentConfig);
|
|
60
67
|
mso.stop();
|
|
61
|
-
this.log(
|
|
68
|
+
this.log(created.isSuccess
|
|
69
|
+
? colorize('green', `Successfully created ${flags.name} in ${flags['target-org'].getUsername() ?? 'the target org'}.`)
|
|
70
|
+
: colorize('red', `failed to create agent ${flags.name}: ${created.errorMessage ?? ''}`));
|
|
62
71
|
this.log(`Use ${colorize('dim', `sf org open agent --name ${flags.name}`)} to view the agent in the browser.`);
|
|
63
|
-
return { isSuccess:
|
|
72
|
+
return { isSuccess: created.isSuccess };
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
75
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/agent/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,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,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAqB,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAE1F,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;AAOnF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAA4B;IAC5D,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,eAAe,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;IAEtB,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;SAC/D,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;SACnD,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,WAAW,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,KAAK,EAAE,YAAY,KAAK,CAAC,IAAI,QAAQ;YACrC,MAAM,EAAE;gBACN,gBAAgB;gBAChB,2BAA2B;gBAC3B,2BAA2B;gBAC3B,uBAAuB;gBACvB,2BAA2B;aAC5B;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG;YAClB,GAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAuB;YAChF,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QAEF,sDAAsD;QACtD,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACpH,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC5E,sDAAsD;QACtD,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CACtC,CAAC;QACF,sDAAsD;QACtD,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjH,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC7E,sDAAsD;QACtD,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CACtC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,OAAQ,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,SAAS;YACf,CAAC,CAAC,QAAQ,CACN,OAAO,EACP,wBAAwB,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,IAAI,gBAAgB,GAAG,CAClG;YACH,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAC3F,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,4BAA4B,KAAK,CAAC,IAAI,EAAE,CAAC,oCAAoC,CAAC,CAAC;QAE/G,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC"}
|
|
@@ -129,7 +129,7 @@ export default class AgentCreateSpec extends SfCommand {
|
|
|
129
129
|
});
|
|
130
130
|
// Write a file with the returned job specs
|
|
131
131
|
const filePath = join(flags['output-dir'], flags['file-name']);
|
|
132
|
-
writeFileSync(filePath, JSON.stringify({ type, role, companyName, companyDescription, companyWebsite,
|
|
132
|
+
writeFileSync(filePath, JSON.stringify({ type, role, companyName, companyDescription, companyWebsite, jobSpec: agentSpec }, null, 4));
|
|
133
133
|
this.spinner.stop();
|
|
134
134
|
this.log(`\nSaved agent spec: ${filePath}`);
|
|
135
135
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../../src/commands/agent/generate/spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAA8B,MAAM,oBAAoB,CAAC;AAEvE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;AAuB1F,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB;QACjF,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QACjC,QAAQ,EAAE,IAAI;KACf;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB;QACjF,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;QAC1D,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,8BAA8B;QACzF,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,mCAAmC,CAAC;QACjE,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,qCAAqC;QAChG,QAAQ,EAAE,IAAI;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;QAC7D,QAAQ,EAAE,CAAC,CAAS,EAAoB,EAAE;YACxC,qBAAqB;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEhC,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,0BAA0B,CAAC;YACpC,CAAC;QACH,CAAC;KACF;CACwC,CAAC;AAE5C,SAAS,aAAa,CAAC,KAAa,EAAE,QAA6C;IACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAA4C,gBAAmB;IAC/E,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACrD,GAAG;QACH,KAAK,CAAC,MAAM,CAAC;YACX,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,4DAA4D;YAC5D,KAAK,CAAC,KAAK,CAAC,KAAK;gBACf,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,yHAAyH;SAC1H,CAAC;KACH,CAAC,CACkB,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAgC;IACpE,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,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,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,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACxD,OAAO,EAAE,QAAQ;SAClB,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC;YACvD,OAAO,EAAE,gBAAgB;SAC1B,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEpD,wEAAwE;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;iBACnD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;iBACrF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAEvB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAA4B,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;QACzG,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,eAAe,CACnD,KAAK,CAAC,qBAAqB,CAAC,EAC5B,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAElH,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,OAAoB,CAAY,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YACvC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI;YACJ,IAAI;YACJ,WAAW;YACX,kBAAkB;YAClB,cAAc;SACf,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/D,aAAa,CACX,QAAQ,EACR,IAAI,CAAC,SAAS,CACZ,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAuB,EACxG,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAE5C,OAAO;YACL,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,eAAe,CAAC,aAAiC,EAAE,OAAwB;QACtF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE7F,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5D,OAAO;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;iBACxC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;YACnB,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;aACxC;SACF,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export type AgentPreviewResult = void;
|
|
3
|
+
export default class AgentPreview extends SfCommand<AgentPreviewResult> {
|
|
4
|
+
static readonly summary: string;
|
|
5
|
+
static readonly description: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly enableJsonFlag = false;
|
|
8
|
+
static readonly requiresProject = true;
|
|
9
|
+
static readonly flags: {
|
|
10
|
+
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<AgentPreviewResult>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024, salesforce.com, inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
|
+
import { Messages } from '@salesforce/core';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { render } from 'ink';
|
|
11
|
+
import { AgentPreviewReact } from '../../components/agent-preview-react.js';
|
|
12
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
|
+
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.preview');
|
|
14
|
+
export default class AgentPreview extends SfCommand {
|
|
15
|
+
static summary = messages.getMessage('summary');
|
|
16
|
+
static description = messages.getMessage('description');
|
|
17
|
+
static examples = messages.getMessages('examples');
|
|
18
|
+
static enableJsonFlag = false;
|
|
19
|
+
static requiresProject = true;
|
|
20
|
+
static flags = {
|
|
21
|
+
'target-org': Flags.requiredOrg(),
|
|
22
|
+
'api-version': Flags.orgApiVersion(),
|
|
23
|
+
name: Flags.string({
|
|
24
|
+
summary: messages.getMessage('flags.name.summary'),
|
|
25
|
+
description: messages.getMessage('flags.name.description'),
|
|
26
|
+
char: 'n',
|
|
27
|
+
required: true,
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { flags } = await this.parse(AgentPreview);
|
|
32
|
+
this.log(`previewing ${flags.name}`);
|
|
33
|
+
const instance = render(React.createElement(AgentPreviewReact, null));
|
|
34
|
+
await instance.waitUntilExit();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/commands/agent/preview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;AAIpF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAA6B;IAC9D,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IACvC,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC;IAEvC,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC1D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;IACjC,CAAC"}
|
|
@@ -10,7 +10,8 @@ export default class AgentTestResults extends SfCommand<AgentTestResultsResult>
|
|
|
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
12
|
'job-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human", import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit", import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
15
|
};
|
|
15
16
|
run(): Promise<AgentTestResultsResult>;
|
|
16
17
|
}
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
8
|
import { Messages } from '@salesforce/core';
|
|
9
|
-
import { AgentTester
|
|
10
|
-
import { resultFormatFlag } from '../../../flags.js';
|
|
9
|
+
import { AgentTester } from '@salesforce/agents';
|
|
10
|
+
import { resultFormatFlag, testOutputDirFlag } from '../../../flags.js';
|
|
11
|
+
import { handleTestResults } from '../../../handleTestResults.js';
|
|
11
12
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
13
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.results');
|
|
13
14
|
export default class AgentTestResults extends SfCommand {
|
|
@@ -24,14 +25,19 @@ export default class AgentTestResults extends SfCommand {
|
|
|
24
25
|
required: true,
|
|
25
26
|
}),
|
|
26
27
|
'result-format': resultFormatFlag(),
|
|
28
|
+
'output-dir': testOutputDirFlag(),
|
|
27
29
|
};
|
|
28
30
|
async run() {
|
|
29
31
|
const { flags } = await this.parse(AgentTestResults);
|
|
30
32
|
const agentTester = new AgentTester(flags['target-org'].getConnection(flags['api-version']));
|
|
31
33
|
const response = await agentTester.details(flags['job-id']);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
await handleTestResults({
|
|
35
|
+
id: flags['job-id'],
|
|
36
|
+
format: flags['result-format'],
|
|
37
|
+
results: response,
|
|
38
|
+
jsonEnabled: this.jsonEnabled(),
|
|
39
|
+
outputDir: flags['output-dir'],
|
|
40
|
+
});
|
|
35
41
|
return response;
|
|
36
42
|
}
|
|
37
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/results.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,EAAE,WAAW,EAA4B,
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/results.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,EAAE,WAAW,EAA4B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAC;AAIzF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAiC;IACtE,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,KAAK,GAAG,MAAM,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACpC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACpD,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,gBAAgB,EAAE;QACnC,YAAY,EAAE,iBAAiB,EAAE;KAClC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,MAAM,iBAAiB,CAAC;YACtB,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC;YAC9B,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;SAC/B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC"}
|
|
@@ -14,7 +14,8 @@ export default class AgentTestResume extends SfCommand<AgentTestResumeResult> {
|
|
|
14
14
|
'job-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
'use-most-recent': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
16
|
wait: import("@oclif/core/interfaces").OptionFlag<import("@salesforce/kit").Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
-
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human", import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit", import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
19
|
};
|
|
19
20
|
run(): Promise<AgentTestResumeResult>;
|
|
20
21
|
}
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
8
|
import { Messages } from '@salesforce/core';
|
|
9
|
-
import { AgentTester
|
|
9
|
+
import { AgentTester } from '@salesforce/agents';
|
|
10
10
|
import { AgentTestCache } from '../../../agentTestCache.js';
|
|
11
11
|
import { TestStages } from '../../../testStages.js';
|
|
12
|
-
import { resultFormatFlag } from '../../../flags.js';
|
|
12
|
+
import { resultFormatFlag, testOutputDirFlag } from '../../../flags.js';
|
|
13
|
+
import { handleTestResults } from '../../../handleTestResults.js';
|
|
13
14
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
14
15
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.resume');
|
|
15
16
|
export default class AgentTestResume extends SfCommand {
|
|
@@ -39,6 +40,7 @@ export default class AgentTestResume extends SfCommand {
|
|
|
39
40
|
description: messages.getMessage('flags.wait.description'),
|
|
40
41
|
}),
|
|
41
42
|
'result-format': resultFormatFlag(),
|
|
43
|
+
'output-dir': testOutputDirFlag(),
|
|
42
44
|
};
|
|
43
45
|
async run() {
|
|
44
46
|
const { flags } = await this.parse(AgentTestResume);
|
|
@@ -54,9 +56,13 @@ export default class AgentTestResume extends SfCommand {
|
|
|
54
56
|
if (completed)
|
|
55
57
|
await agentTestCache.removeCacheEntry(aiEvaluationId);
|
|
56
58
|
mso.stop();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
await handleTestResults({
|
|
60
|
+
id: aiEvaluationId,
|
|
61
|
+
format: flags['result-format'],
|
|
62
|
+
results: response,
|
|
63
|
+
jsonEnabled: this.jsonEnabled(),
|
|
64
|
+
outputDir: flags['output-dir'],
|
|
65
|
+
});
|
|
60
66
|
return {
|
|
61
67
|
status: 'COMPLETED',
|
|
62
68
|
aiEvaluationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/resume.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,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ export default class AgentTestRun extends SfCommand<AgentTestRunResult> {
|
|
|
13
13
|
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
14
|
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
wait: import("@oclif/core/interfaces").OptionFlag<import("@salesforce/kit").Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human", import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'result-format': import("@oclif/core/interfaces").OptionFlag<"json" | "human" | "junit", import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
18
|
};
|
|
18
19
|
run(): Promise<AgentTestRunResult>;
|
|
19
20
|
}
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
8
|
import { Messages } from '@salesforce/core';
|
|
9
|
-
import { AgentTester
|
|
9
|
+
import { AgentTester } from '@salesforce/agents';
|
|
10
10
|
import { colorize } from '@oclif/core/ux';
|
|
11
|
-
import { resultFormatFlag } from '../../../flags.js';
|
|
11
|
+
import { resultFormatFlag, testOutputDirFlag } from '../../../flags.js';
|
|
12
12
|
import { AgentTestCache } from '../../../agentTestCache.js';
|
|
13
13
|
import { TestStages } from '../../../testStages.js';
|
|
14
|
+
import { handleTestResults } from '../../../handleTestResults.js';
|
|
14
15
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
15
16
|
const messages = Messages.loadMessages('@salesforce/plugin-agent', 'agent.test.run');
|
|
16
17
|
export default class AgentTestRun extends SfCommand {
|
|
@@ -37,6 +38,7 @@ export default class AgentTestRun extends SfCommand {
|
|
|
37
38
|
description: messages.getMessage('flags.wait.description'),
|
|
38
39
|
}),
|
|
39
40
|
'result-format': resultFormatFlag(),
|
|
41
|
+
'output-dir': testOutputDirFlag(),
|
|
40
42
|
};
|
|
41
43
|
async run() {
|
|
42
44
|
const { flags } = await this.parse(AgentTestRun);
|
|
@@ -52,9 +54,13 @@ export default class AgentTestRun extends SfCommand {
|
|
|
52
54
|
if (completed)
|
|
53
55
|
await agentTestCache.removeCacheEntry(response.aiEvaluationId);
|
|
54
56
|
mso.stop();
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
await handleTestResults({
|
|
58
|
+
id: response.aiEvaluationId,
|
|
59
|
+
format: flags['result-format'],
|
|
60
|
+
results: detailsResponse,
|
|
61
|
+
jsonEnabled: this.jsonEnabled(),
|
|
62
|
+
outputDir: flags['output-dir'],
|
|
63
|
+
});
|
|
58
64
|
return {
|
|
59
65
|
status: 'COMPLETED',
|
|
60
66
|
aiEvaluationId: response.aiEvaluationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/run.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,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/agent/test/run.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,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAQrF,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,KAAK,GAAG,MAAM,CAAC;IAE/B,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,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;SAC3D,CAAC;QACF,yCAAyC;QACzC,0DAA0D;QAC1D,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;SAC3D,CAAC;QACF,eAAe,EAAE,gBAAgB,EAAE;QACnC,YAAY,EAAE,iBAAiB,EAAE;KAClC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxG,GAAG,CAAC,KAAK,EAAE,CAAC;QAEZ,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClH,IAAI,SAAS;gBAAE,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAE9E,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,MAAM,iBAAiB,CAAC;gBACtB,EAAE,EAAE,QAAQ,CAAC,cAAc;gBAC3B,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC;gBAC9B,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC/B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;aAC/B,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,QAAQ,CAAC,cAAc;aACxC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CACN,OAAO,QAAQ,CACb,KAAK,EACL,iCAAiC,QAAQ,CAAC,cAAc,EAAE,CAC3D,kCAAkC,CACpC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC"}
|