@salesforce/agents 0.8.0 → 0.9.0

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.
@@ -1,7 +1,7 @@
1
1
  import { Connection } from '@salesforce/core';
2
2
  import { Duration } from '@salesforce/kit';
3
- import { FileProperties } from '@salesforce/source-deploy-retrieve';
4
- export type TestStatus = 'New' | 'InProgress' | 'Completed' | 'Error';
3
+ import { DeployResult, FileProperties } from '@salesforce/source-deploy-retrieve';
4
+ export type TestStatus = 'NEW' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR' | 'TERMINATED';
5
5
  export type AgentTestStartResponse = {
6
6
  aiEvaluationId: string;
7
7
  status: TestStatus;
@@ -14,18 +14,17 @@ export type AgentTestStatusResponse = {
14
14
  };
15
15
  export type TestCaseResult = {
16
16
  status: TestStatus;
17
- utterance: string;
18
17
  startTime: string;
19
18
  endTime?: string;
19
+ inputs: {
20
+ utterance: string;
21
+ };
20
22
  generatedData: {
21
- type: 'AGENT';
22
23
  actionsSequence: string[];
23
24
  outcome: string;
24
25
  topic: string;
25
- inputTokensCount: string;
26
- outputTokensCount: string;
27
26
  };
28
- expectationResults: Array<{
27
+ testResults: Array<{
29
28
  name: string;
30
29
  actualValue: string;
31
30
  expectedValue: string;
@@ -52,6 +51,26 @@ export type AgentTestResultsResponse = {
52
51
  };
53
52
  };
54
53
  export type AvailableDefinition = Omit<FileProperties, 'manageableState' | 'namespacePrefix'>;
54
+ export type TestCase = {
55
+ utterance: string;
56
+ expectedActions: string[];
57
+ expectedOutcome: string;
58
+ expectedTopic: string;
59
+ };
60
+ export type TestSpec = {
61
+ name: string;
62
+ description?: string;
63
+ subjectType: string;
64
+ subjectName: string;
65
+ subjectVersion?: string;
66
+ testCases: TestCase[];
67
+ };
68
+ export declare const AgentTestCreateLifecycleStages: {
69
+ CreatingLocalMetadata: string;
70
+ Waiting: string;
71
+ DeployingMetadata: string;
72
+ Done: string;
73
+ };
55
74
  /**
56
75
  * AgentTester class to test Agents
57
76
  */
@@ -104,5 +123,35 @@ export declare class AgentTester {
104
123
  cancel(jobId: string): Promise<{
105
124
  success: boolean;
106
125
  }>;
126
+ /**
127
+ * Creates and deploys an AiEvaluationDefinition from a specification file.
128
+ *
129
+ * @param specFilePath - The path to the specification file to create the definition from
130
+ * @param options - Configuration options for creating the definition
131
+ * @param options.outputDir - The directory where the AiEvaluationDefinition file will be written
132
+ * @param options.preview - If true, writes the AiEvaluationDefinition file to <api-name>-preview-<timestamp>.xml in the current working directory and does not deploy it
133
+ * @param options.confirmationCallback - Optional callback function to confirm overwriting existing definitions
134
+ *
135
+ * @returns Promise containing:
136
+ * - path: The filesystem path to the created AiEvaluationDefinition file
137
+ * - contents: The AiEvaluationDefinition contents as a string
138
+ * - deployResult: The deployment result (if not in preview mode)
139
+ *
140
+ * @throws {SfError} When a definition with the same name already exists and is not confirmed to be overwritten
141
+ * @throws {SfError} When deployment fails
142
+ */
143
+ create(specFilePath: string, options: {
144
+ outputDir: string;
145
+ preview?: boolean;
146
+ confirmationCallback?: (spec: TestSpec) => Promise<boolean>;
147
+ }): Promise<{
148
+ path: string;
149
+ contents: string;
150
+ deployResult?: DeployResult;
151
+ }>;
107
152
  }
108
153
  export declare function convertTestResultsToFormat(results: AgentTestResultsResponse, format: 'human' | 'json' | 'junit' | 'tap'): Promise<string>;
154
+ /**
155
+ * Generate a test spec file from a TestSpec object
156
+ */
157
+ export declare function generateTestSpec(spec: TestSpec, outputFile: string): Promise<void>;
@@ -3,18 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AgentTester = void 0;
6
+ exports.AgentTester = exports.AgentTestCreateLifecycleStages = void 0;
7
7
  exports.convertTestResultsToFormat = convertTestResultsToFormat;
8
+ exports.generateTestSpec = generateTestSpec;
8
9
  /*
9
10
  * Copyright (c) 2024, salesforce.com, inc.
10
11
  * All rights reserved.
11
12
  * Licensed under the BSD 3-Clause license.
12
13
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
13
14
  */
15
+ const promises_1 = require("node:fs/promises");
16
+ const node_path_1 = require("node:path");
14
17
  const core_1 = require("@salesforce/core");
15
18
  const kit_1 = require("@salesforce/kit");
16
19
  const ansis_1 = __importDefault(require("ansis"));
20
+ const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
21
+ const yaml_1 = require("yaml");
22
+ const fast_xml_parser_1 = require("fast-xml-parser");
17
23
  const maybe_mock_1 = require("./maybe-mock");
24
+ exports.AgentTestCreateLifecycleStages = {
25
+ CreatingLocalMetadata: 'Creating Local Metadata',
26
+ Waiting: 'Waiting for the org to respond',
27
+ DeployingMetadata: 'Deploying Metadata',
28
+ Done: 'Done',
29
+ };
18
30
  /**
19
31
  * AgentTester class to test Agents
20
32
  */
@@ -72,9 +84,9 @@ class AgentTester {
72
84
  if (statusResponse.status.toLowerCase() !== 'new') {
73
85
  const resultsResponse = await this.results(jobId);
74
86
  const totalTestCases = resultsResponse.testSet.testCases.length;
75
- const passingTestCases = resultsResponse.testSet.testCases.filter((tc) => tc.status.toLowerCase() === 'completed' && tc.expectationResults.every((r) => r.result === 'PASS')).length;
87
+ const passingTestCases = resultsResponse.testSet.testCases.filter((tc) => tc.status.toLowerCase() === 'completed' && tc.testResults.every((r) => r.result === 'PASS')).length;
76
88
  const failingTestCases = resultsResponse.testSet.testCases.filter((tc) => ['error', 'completed'].includes(tc.status.toLowerCase()) &&
77
- tc.expectationResults.some((r) => r.result === 'FAILURE')).length;
89
+ tc.testResults.some((r) => r.result === 'FAILURE')).length;
78
90
  if (resultsResponse.status.toLowerCase() === 'completed') {
79
91
  await lifecycle.emit('AGENT_TEST_POLLING_EVENT', {
80
92
  jobId,
@@ -120,20 +132,107 @@ class AgentTester {
120
132
  const url = `/einstein/ai-evaluations/runs/${jobId}/cancel`;
121
133
  return this.maybeMock.request('POST', url);
122
134
  }
123
- }
124
- exports.AgentTester = AgentTester;
125
- function humanFriendlyName(name) {
126
- switch (name) {
127
- case 'topic_sequence_match':
128
- return 'Topic';
129
- case 'action_sequence_match':
130
- return 'Action';
131
- case 'bot_response_rating':
132
- return 'Outcome';
133
- default:
134
- return name;
135
+ /**
136
+ * Creates and deploys an AiEvaluationDefinition from a specification file.
137
+ *
138
+ * @param specFilePath - The path to the specification file to create the definition from
139
+ * @param options - Configuration options for creating the definition
140
+ * @param options.outputDir - The directory where the AiEvaluationDefinition file will be written
141
+ * @param options.preview - If true, writes the AiEvaluationDefinition file to <api-name>-preview-<timestamp>.xml in the current working directory and does not deploy it
142
+ * @param options.confirmationCallback - Optional callback function to confirm overwriting existing definitions
143
+ *
144
+ * @returns Promise containing:
145
+ * - path: The filesystem path to the created AiEvaluationDefinition file
146
+ * - contents: The AiEvaluationDefinition contents as a string
147
+ * - deployResult: The deployment result (if not in preview mode)
148
+ *
149
+ * @throws {SfError} When a definition with the same name already exists and is not confirmed to be overwritten
150
+ * @throws {SfError} When deployment fails
151
+ */
152
+ async create(specFilePath, options) {
153
+ const parsed = (0, yaml_1.parse)(await (0, promises_1.readFile)(specFilePath, 'utf-8'));
154
+ const existingDefinitions = await this.list();
155
+ if (existingDefinitions.some((d) => d.fullName === parsed.name)) {
156
+ const getConfirmation = options.confirmationCallback ?? (async () => Promise.resolve(false));
157
+ const confirmation = await getConfirmation(parsed);
158
+ if (!confirmation) {
159
+ throw new core_1.SfError(`An AiEvaluationDefinition with the name ${parsed.name} already exists in the org.`);
160
+ }
161
+ }
162
+ const lifecycle = core_1.Lifecycle.getInstance();
163
+ await lifecycle.emit(exports.AgentTestCreateLifecycleStages.CreatingLocalMetadata, {});
164
+ const preview = options.preview ?? false;
165
+ // outputDir is overridden if preview is true
166
+ const outputDir = preview ? process.cwd() : options.outputDir;
167
+ const filename = preview
168
+ ? `${parsed.name}-preview-${new Date().toISOString()}.xml`
169
+ : `${parsed.name}.aiEvaluationDefinition-meta.xml`;
170
+ const definitionPath = (0, node_path_1.join)(outputDir, filename);
171
+ const builder = new fast_xml_parser_1.XMLBuilder({
172
+ format: true,
173
+ attributeNamePrefix: '$',
174
+ ignoreAttributes: false,
175
+ });
176
+ const xml = builder.build({
177
+ AiEvaluationDefinition: {
178
+ $xmlns: 'http://soap.sforce.com/2006/04/metadata',
179
+ ...(parsed.description && { description: parsed.description }),
180
+ name: parsed.name,
181
+ subjectType: parsed.subjectType,
182
+ subjectName: parsed.subjectName,
183
+ ...(parsed.subjectVersion && { subjectVersion: parsed.subjectVersion }),
184
+ // TODO: Once SF Eval removes AiEvaluationTestSet, we can remove testSetName and uncomment testCase
185
+ testSetName: 'CliTestSet',
186
+ // testCase: parsed.testCases.map((tc) => ({
187
+ // number: parsed.testCases.indexOf(tc) + 1,
188
+ // inputs: {
189
+ // utterance: tc.utterance,
190
+ // },
191
+ // expectation: [
192
+ // {
193
+ // name: 'expectedTopic',
194
+ // expectedValue: tc.topicSequenceExpectedValue,
195
+ // },
196
+ // {
197
+ // name: 'expectedActions',
198
+ // expectedValue: `[${tc.actionSequenceExpectedValue.map((v) => `"${v}"`).join(',')}]`,
199
+ // },
200
+ // {
201
+ // name: 'expectedOutcome',
202
+ // expectedValue: tc.botRatingExpectedValue,
203
+ // },
204
+ // ],
205
+ // })),
206
+ },
207
+ });
208
+ await (0, promises_1.mkdir)(outputDir, { recursive: true });
209
+ await (0, promises_1.writeFile)(definitionPath, `<?xml version="1.0" encoding="UTF-8"?>\n${xml}`);
210
+ if (preview)
211
+ return {
212
+ path: definitionPath,
213
+ contents: xml,
214
+ };
215
+ const cs = await source_deploy_retrieve_1.ComponentSetBuilder.build({ sourcepath: [definitionPath] });
216
+ const deploy = await cs.deploy({ usernameOrConnection: this.connection });
217
+ deploy.onUpdate((status) => {
218
+ if (status.status === source_deploy_retrieve_1.RequestStatus.Pending) {
219
+ void lifecycle.emit(exports.AgentTestCreateLifecycleStages.Waiting, status);
220
+ }
221
+ else {
222
+ void lifecycle.emit(exports.AgentTestCreateLifecycleStages.DeployingMetadata, status);
223
+ }
224
+ });
225
+ deploy.onFinish((result) => {
226
+ void lifecycle.emit(exports.AgentTestCreateLifecycleStages.Done, result);
227
+ });
228
+ const result = await deploy.pollStatus({ timeout: kit_1.Duration.minutes(10_000), frequency: kit_1.Duration.seconds(1) });
229
+ if (!result.response.success) {
230
+ throw new core_1.SfError(result.response.errorMessage ?? `Unable to deploy ${result.response.id}`);
231
+ }
232
+ return { path: definitionPath, contents: xml, deployResult: result };
135
233
  }
136
234
  }
235
+ exports.AgentTester = AgentTester;
137
236
  function truncate(value, decimals = 2) {
138
237
  const remainder = value % 1;
139
238
  // truncate remainder to specified decimals
@@ -196,11 +295,11 @@ async function humanFormat(details) {
196
295
  for (const testCase of details.testSet.testCases) {
197
296
  const number = details.testSet.testCases.indexOf(testCase) + 1;
198
297
  const table = ux.makeTable({
199
- title: `${ansis_1.default.bold(`Test Case #${number}`)}\n${ansis_1.default.dim('Utterance')}: ${testCase.utterance}`,
298
+ title: `${ansis_1.default.bold(`Test Case #${number}`)}\n${ansis_1.default.dim('Utterance')}: ${testCase.inputs.utterance}`,
200
299
  overflow: 'wrap',
201
300
  columns: ['test', 'result', { key: 'expected', width: '40%' }, { key: 'actual', width: '40%' }],
202
- data: testCase.expectationResults.map((r) => ({
203
- test: humanFriendlyName(r.name),
301
+ data: testCase.testResults.map((r) => ({
302
+ test: r.name,
204
303
  result: r.result === 'PASS' ? ansis_1.default.green('Pass') : ansis_1.default.red('Fail'),
205
304
  expected: r.expectedValue,
206
305
  actual: r.actualValue,
@@ -210,17 +309,17 @@ async function humanFormat(details) {
210
309
  tables.push(table);
211
310
  }
212
311
  const topicPassCount = details.testSet.testCases.reduce((acc, tc) => {
213
- const topic = tc.expectationResults.find((r) => r.name === 'topic_sequence_match');
312
+ const topic = tc.testResults.find((r) => r.name === 'topic_sequence_match');
214
313
  return topic?.result === 'PASS' ? acc + 1 : acc;
215
314
  }, 0);
216
315
  const topicPassPercent = (topicPassCount / details.testSet.testCases.length) * 100;
217
316
  const actionPassCount = details.testSet.testCases.reduce((acc, tc) => {
218
- const action = tc.expectationResults.find((r) => r.name === 'action_sequence_match');
317
+ const action = tc.testResults.find((r) => r.name === 'action_sequence_match');
219
318
  return action?.result === 'PASS' ? acc + 1 : acc;
220
319
  }, 0);
221
320
  const actionPassPercent = (actionPassCount / details.testSet.testCases.length) * 100;
222
321
  const outcomePassCount = details.testSet.testCases.reduce((acc, tc) => {
223
- const outcome = tc.expectationResults.find((r) => r.name === 'bot_response_rating');
322
+ const outcome = tc.testResults.find((r) => r.name === 'bot_response_rating');
224
323
  return outcome?.result === 'PASS' ? acc + 1 : acc;
225
324
  }, 0);
226
325
  const outcomePassPercent = (outcomePassCount / details.testSet.testCases.length) * 100;
@@ -237,10 +336,7 @@ async function humanFormat(details) {
237
336
  const failedTestCases = details.testSet.testCases.filter((tc) => tc.status.toLowerCase() === 'error');
238
337
  const failedTestCasesObj = Object.fromEntries(Object.entries(failedTestCases).map(([, tc]) => [
239
338
  `Test Case #${failedTestCases.indexOf(tc) + 1}`,
240
- tc.expectationResults
241
- .filter((r) => r.result === 'FAILURE')
242
- .map((r) => humanFriendlyName(r.name))
243
- .join(', '),
339
+ tc.testResults.filter((r) => r.result === 'FAILURE').join(', '),
244
340
  ]));
245
341
  const failedTestCasesTable = makeSimpleTable(failedTestCasesObj, ansis_1.default.red.bold('Failed Test Cases'));
246
342
  return tables.join('\n') + `\n${resultsTable}\n\n${failedTestCasesTable}\n`;
@@ -249,16 +345,13 @@ async function jsonFormat(results) {
249
345
  return Promise.resolve(JSON.stringify(results, null, 2));
250
346
  }
251
347
  async function junitFormat(results) {
252
- // eslint-disable-next-line import/no-extraneous-dependencies
253
- const { XMLBuilder } = await import('fast-xml-parser');
254
- const builder = new XMLBuilder({
348
+ const builder = new fast_xml_parser_1.XMLBuilder({
255
349
  format: true,
256
350
  attributeNamePrefix: '$',
257
351
  ignoreAttributes: false,
258
352
  });
259
353
  const testCount = results.testSet.testCases.length;
260
- const failureCount = results.testSet.testCases.filter((tc) => ['error', 'completed'].includes(tc.status.toLowerCase()) &&
261
- tc.expectationResults.some((r) => r.result === 'FAILURE')).length;
354
+ const failureCount = results.testSet.testCases.filter((tc) => ['error', 'completed'].includes(tc.status.toLowerCase()) && tc.testResults.some((r) => r.result === 'FAILURE')).length;
262
355
  const time = results.testSet.testCases.reduce((acc, tc) => {
263
356
  if (tc.endTime && tc.startTime) {
264
357
  return acc + new Date(tc.endTime).getTime() - new Date(tc.startTime).getTime();
@@ -283,8 +376,8 @@ async function junitFormat(results) {
283
376
  return {
284
377
  $name: `${results.testSet.name}.${results.testSet.testCases.indexOf(testCase) + 1}`,
285
378
  $time: testCaseTime,
286
- $assertions: testCase.expectationResults.length,
287
- failure: testCase.expectationResults
379
+ $assertions: testCase.testResults.length,
380
+ failure: testCase.testResults
288
381
  .map((r) => {
289
382
  if (r.result === 'FAILURE') {
290
383
  return { $message: r.errorMessage ?? 'Unknown error', $name: r.name };
@@ -295,13 +388,13 @@ async function junitFormat(results) {
295
388
  }),
296
389
  },
297
390
  });
298
- return `<?xml version="1.0" encoding="UTF-8"?>\n${suites}`.trim();
391
+ return Promise.resolve(`<?xml version="1.0" encoding="UTF-8"?>\n${suites}`.trim());
299
392
  }
300
393
  async function tapFormat(results) {
301
394
  const lines = [];
302
395
  let expectationCount = 0;
303
396
  for (const testCase of results.testSet.testCases) {
304
- for (const result of testCase.expectationResults) {
397
+ for (const result of testCase.testResults) {
305
398
  const status = result.result === 'PASS' ? 'ok' : 'not ok';
306
399
  expectationCount++;
307
400
  lines.push(`${status} ${expectationCount} ${results.testSet.name}.${results.testSet.testCases.indexOf(testCase) + 1}`);
@@ -317,4 +410,18 @@ async function tapFormat(results) {
317
410
  }
318
411
  return Promise.resolve(`Tap Version 14\n1..${expectationCount}\n${lines.join('\n')}`);
319
412
  }
413
+ /**
414
+ * Generate a test spec file from a TestSpec object
415
+ */
416
+ async function generateTestSpec(spec, outputFile) {
417
+ // strip out undefined values and empty strings
418
+ const clean = Object.entries(spec).reduce((acc, [key, value]) => {
419
+ if (value !== undefined && value !== '')
420
+ return { ...acc, [key]: value };
421
+ return acc;
422
+ }, {});
423
+ const yml = (0, yaml_1.stringify)(clean);
424
+ await (0, promises_1.mkdir)((0, node_path_1.dirname)(outputFile), { recursive: true });
425
+ await (0, promises_1.writeFile)(outputFile, yml);
426
+ }
320
427
  //# sourceMappingURL=agentTester.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentTester.js","sourceRoot":"","sources":["../src/agentTester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTester.js","sourceRoot":"","sources":["../src/agentTester.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { type AgentCreateConfig, type AgentCreateConfigV2, type AgentCreateResponse, type AgentCreateResponseV2, type AgentJobSpec, type AgentJobSpecV2, type AgentJobSpecCreateConfig, type AgentJobSpecCreateConfigV2, type AgentJobSpecCreateResponse, type DraftAgentTopics, type DraftAgentTopicsBody, type DraftAgentTopicsResponse, SfAgent, } from './types';
2
2
  export { Agent, AgentCreateLifecycleStages, AgentCreateLifecycleStagesV2 } from './agent';
3
- export { AgentTester, convertTestResultsToFormat, type AvailableDefinition, type AgentTestResultsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './agentTester';
3
+ export { AgentTester, convertTestResultsToFormat, generateTestSpec, AgentTestCreateLifecycleStages, type AvailableDefinition, type AgentTestResultsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './agentTester';
package/lib/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.convertTestResultsToFormat = exports.AgentTester = exports.AgentCreateLifecycleStagesV2 = exports.AgentCreateLifecycleStages = exports.Agent = void 0;
9
+ exports.AgentTestCreateLifecycleStages = exports.generateTestSpec = exports.convertTestResultsToFormat = exports.AgentTester = exports.AgentCreateLifecycleStagesV2 = exports.AgentCreateLifecycleStages = exports.Agent = void 0;
10
10
  var agent_1 = require("./agent");
11
11
  Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_1.Agent; } });
12
12
  Object.defineProperty(exports, "AgentCreateLifecycleStages", { enumerable: true, get: function () { return agent_1.AgentCreateLifecycleStages; } });
@@ -14,4 +14,6 @@ Object.defineProperty(exports, "AgentCreateLifecycleStagesV2", { enumerable: tru
14
14
  var agentTester_1 = require("./agentTester");
15
15
  Object.defineProperty(exports, "AgentTester", { enumerable: true, get: function () { return agentTester_1.AgentTester; } });
16
16
  Object.defineProperty(exports, "convertTestResultsToFormat", { enumerable: true, get: function () { return agentTester_1.convertTestResultsToFormat; } });
17
+ Object.defineProperty(exports, "generateTestSpec", { enumerable: true, get: function () { return agentTester_1.generateTestSpec; } });
18
+ Object.defineProperty(exports, "AgentTestCreateLifecycleStages", { enumerable: true, get: function () { return agentTester_1.AgentTestCreateLifecycleStages; } });
17
19
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiBH,iCAA0F;AAAjF,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,qHAAA,4BAA4B,OAAA;AACxE,6CASuB;AARrB,0GAAA,WAAW,OAAA;AACX,yHAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiBH,iCAA0F;AAAjF,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,qHAAA,4BAA4B,OAAA;AACxE,6CAWuB;AAVrB,0GAAA,WAAW,OAAA;AACX,yHAAA,0BAA0B,OAAA;AAC1B,+GAAA,gBAAgB,OAAA;AAChB,6HAAA,8BAA8B,OAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salesforce/agents",
3
3
  "description": "Client side APIs for working with Salesforce agents",
4
- "version": "0.8.0",
4
+ "version": "0.9.0",
5
5
  "license": "BSD-3-Clause",
6
6
  "author": "Salesforce",
7
7
  "main": "lib/index",
@@ -14,10 +14,11 @@
14
14
  "@salesforce/core": "^8.8.2",
15
15
  "@salesforce/kit": "^3.2.3",
16
16
  "@salesforce/sf-plugins-core": "^12.1.2",
17
- "@salesforce/source-deploy-retrieve": "^12.12.3",
17
+ "@salesforce/source-deploy-retrieve": "^12.14.0",
18
18
  "ansis": "^3.9.0",
19
- "fast-xml-parser": "^4",
20
- "nock": "^13.5.6"
19
+ "fast-xml-parser": "^4.5.1",
20
+ "nock": "^13.5.6",
21
+ "yaml": "^2.7.0"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@salesforce/cli-plugins-testkit": "^5.3.38",