@salesforce/agents 1.8.4 → 1.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.
@@ -87,13 +87,15 @@ export declare class AgentTest {
87
87
  * Returns the test spec data if already generated. Otherwise it will generate the spec by:
88
88
  *
89
89
  * 1. Read from an existing local spec file.
90
- * 2. Read from an existing local AiEvaluationDefinition metadata file and convert it.
91
- * 3. Use the provided org connection to read the remote AiEvaluationDefinition metadata.
90
+ * 2. Read from an existing local metadata file and convert it. Dispatches on root XML element:
91
+ * `<AiEvaluationDefinition>` legacy `TestSpec`, `<AiTestingDefinition>` `NgtTestSpec`.
92
+ * 3. Use the provided org connection to read the remote metadata. Both metadata types are queried;
93
+ * if both exist for the given name, throws `ambiguousTestDefinition`.
92
94
  *
93
- * @param connection Org connection to use if this AgentTest only has an AiEvaluationDefinition API name.
94
- * @returns Promise<TestSpec>
95
+ * @param connection Org connection to use if this AgentTest only has an API name.
96
+ * @returns Promise<TestSpec | NgtTestSpec>
95
97
  */
96
- getTestSpec(connection?: Connection): Promise<TestSpec>;
98
+ getTestSpec(connection?: Connection): Promise<TestSpec | NgtTestSpec>;
97
99
  /**
98
100
  * Get the metadata content for this agent test.
99
101
  *
@@ -141,3 +143,17 @@ export declare const validateNgtSpec: (spec: NgtTestSpec, ctx: {
141
143
  export declare const convertToTestingMetadata: (spec: NgtTestSpec) => AiTestingDefinition;
142
144
  /** Serialize an `AiTestingDefinition` to source-format XML. Mirrors `buildMetadataXml`. */
143
145
  export declare const buildTestingMetadataXml: (data: AiTestingDefinition) => string;
146
+ /**
147
+ * Parse an `AiTestingDefinition` source-format XML string into the `AiTestingDefinition`
148
+ * metadata object. Mirror of {@link parseAgentTestXmlString} for the NGT runner.
149
+ *
150
+ * Throws SfError on malformed XML or on a missing/wrong root element. Use
151
+ * {@link convertToNgtSpec} to convert the result into an `NgtTestSpec`.
152
+ */
153
+ export declare const parseNgtMetadataXml: (xml: string) => AiTestingDefinition;
154
+ /**
155
+ * Convert an `AiTestingDefinition` (parsed XML object form) back into an `NgtTestSpec`.
156
+ * Inverse of {@link convertToTestingMetadata}; collapses contiguous test cases that share
157
+ * an identical scorer set into a single multi-input case.
158
+ */
159
+ export declare const convertToNgtSpec: (data: AiTestingDefinition) => NgtTestSpec;
package/lib/agentTest.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.buildTestingMetadataXml = exports.convertToTestingMetadata = exports.validateNgtSpec = exports.AgentTest = exports.AgentTestCreateLifecycleStages = void 0;
18
+ exports.convertToNgtSpec = exports.parseNgtMetadataXml = exports.buildTestingMetadataXml = exports.convertToTestingMetadata = exports.validateNgtSpec = exports.AgentTest = exports.AgentTestCreateLifecycleStages = void 0;
19
19
  const promises_1 = require("node:fs/promises");
20
20
  const node_path_1 = require("node:path");
21
21
  const core_1 = require("@salesforce/core");
@@ -26,7 +26,7 @@ const fast_xml_parser_1 = require("fast-xml-parser");
26
26
  const ngtScorerCatalog_1 = require("./ngtScorerCatalog");
27
27
  const utils_1 = require("./utils");
28
28
  ;
29
- const messages = new core_1.Messages('@salesforce/agents', 'agentTest', new Map([["invalidAgentTestConfig", "Must provide one of: [ name, mdPath, specPath, specData ] when instantiating an AgentTest."], ["missingConnection", "Must provide an org connection to get agent test data based on an AiEvaluationDefinition API name."], ["missingTestSpecData", "The agent test is missing the required data to provide a test spec."], ["ngtMissingTestCases", "NGT test spec must define at least one test case under `testCases:`."], ["ngtTestCaseMissingInputs", "NGT test case %s must define at least one entry under `inputs:`."], ["ngtTestCaseMissingScorers", "NGT test case %s must define at least one scorer under `scorers:`."], ["ngtScorerMissingExpected", "NGT scorer '%s' on test case %s requires an `expected:` value."], ["ngtTaskResolutionRequiresConversationHistory", "NGT scorer 'task_resolution' on test case %s requires conversationHistory on at least one input."], ["ngtMultiAgentMissingHandoff", "Test case %s targets a multi-agent subject and must include an `agent_handoff_match` scorer with an `expected:` value."], ["ngtConversationHistoryIndexAllOrNothing", "NGT conversationHistory on test case %s, input %s mixes turns with and without `index:`. Either set `index:` on every turn or none."], ["ngtLooksLikeLegacySpec", "This YAML looks like a legacy AiEvaluationDefinition spec (uses top-level `utterance:` / `expectedTopic:` / `customEvaluations:`). Use `--test-runner testing-center` for legacy authoring, or hand-edit the deployed XML for `<scorer scorerType=\"Custom\">` blocks on NGT."]]));
29
+ const messages = new core_1.Messages('@salesforce/agents', 'agentTest', new Map([["invalidAgentTestConfig", "Must provide one of: [ name, mdPath, specPath, specData ] when instantiating an AgentTest."], ["missingConnection", "Must provide an org connection to get agent test data based on an AiEvaluationDefinition API name."], ["missingTestSpecData", "The agent test is missing the required data to provide a test spec."], ["ngtMissingTestCases", "NGT test spec must define at least one test case under `testCases:`."], ["ngtTestCaseMissingInputs", "NGT test case %s must define at least one entry under `inputs:`."], ["ngtTestCaseMissingScorers", "NGT test case %s must define at least one scorer under `scorers:`."], ["ngtScorerMissingExpected", "NGT scorer '%s' on test case %s requires an `expected:` value."], ["ngtTaskResolutionRequiresConversationHistory", "NGT scorer 'task_resolution' on test case %s requires conversationHistory on at least one input."], ["ngtMultiAgentMissingHandoff", "Test case %s targets a multi-agent subject and must include an `agent_handoff_match` scorer with an `expected:` value."], ["ngtConversationHistoryIndexAllOrNothing", "NGT conversationHistory on test case %s, input %s mixes turns with and without `index:`. Either set `index:` on every turn or none."], ["ngtLooksLikeLegacySpec", "This YAML looks like a legacy AiEvaluationDefinition spec (uses top-level `utterance:` / `expectedTopic:` / `customEvaluations:`). Use `--test-runner testing-center` for legacy authoring, or hand-edit the deployed XML for `<scorer scorerType=\"Custom\">` blocks on NGT."], ["ngtMalformedMetadataXml", "Failed to parse AiTestingDefinition metadata XML: %s"], ["ngtWrongMetadataRoot", "AiTestingDefinition metadata XML must have a top-level <%s> element."], ["ngtUnknownScorerNoExpected", "Unknown NGT scorer name '%s' has no <expectedValue> in the metadata. Cannot infer whether the scorer requires an expected value \u2014 add an <expectedValue> or use a known scorer."], ["ambiguousTestDefinition", "Both an AiEvaluationDefinition and an AiTestingDefinition exist for '%s' in the org. Disambiguate by passing a local metadata file path, or delete one of the metadata records."], ["ngtSpecCannotProduceLegacyMetadata", "This AgentTest holds an NGT (`NgtTestSpec`) spec but `getMetadata()` returns the legacy `AiEvaluationDefinition` shape. Use `convertToTestingMetadata` + `buildTestingMetadataXml` to serialize an NGT spec to its `AiTestingDefinition` XML."]]));
30
30
  /**
31
31
  * Events emitted during agent test creation for consumers to listen to and keep track of progress.
32
32
  */
@@ -175,18 +175,20 @@ class AgentTest {
175
175
  * Returns the test spec data if already generated. Otherwise it will generate the spec by:
176
176
  *
177
177
  * 1. Read from an existing local spec file.
178
- * 2. Read from an existing local AiEvaluationDefinition metadata file and convert it.
179
- * 3. Use the provided org connection to read the remote AiEvaluationDefinition metadata.
178
+ * 2. Read from an existing local metadata file and convert it. Dispatches on root XML element:
179
+ * `<AiEvaluationDefinition>` legacy `TestSpec`, `<AiTestingDefinition>` `NgtTestSpec`.
180
+ * 3. Use the provided org connection to read the remote metadata. Both metadata types are queried;
181
+ * if both exist for the given name, throws `ambiguousTestDefinition`.
180
182
  *
181
- * @param connection Org connection to use if this AgentTest only has an AiEvaluationDefinition API name.
182
- * @returns Promise<TestSpec>
183
+ * @param connection Org connection to use if this AgentTest only has an API name.
184
+ * @returns Promise<TestSpec | NgtTestSpec>
183
185
  */
184
186
  async getTestSpec(connection) {
185
187
  if (this.specData) {
186
188
  return this.specData;
187
189
  }
188
190
  if (this.data) {
189
- this.specData = convertToSpec(this.data);
191
+ this.specData = isNgtMetadata(this.data) ? (0, exports.convertToNgtSpec)(this.data) : convertToSpec(this.data);
190
192
  return this.specData;
191
193
  }
192
194
  if (this.config.specPath) {
@@ -194,17 +196,37 @@ class AgentTest {
194
196
  return this.specData;
195
197
  }
196
198
  if (this.config.mdPath) {
197
- this.data = await parseAgentTestXml(this.config.mdPath);
199
+ const xml = await (0, promises_1.readFile)(this.config.mdPath, 'utf-8');
200
+ if (isNgtMetadataXml(xml)) {
201
+ this.data = (0, exports.parseNgtMetadataXml)(xml);
202
+ this.specData = (0, exports.convertToNgtSpec)(this.data);
203
+ return this.specData;
204
+ }
205
+ this.data = parseAgentTestXmlString(xml);
198
206
  this.specData = convertToSpec(this.data);
199
207
  return this.specData;
200
208
  }
201
209
  // read from the server if we have a connection and an API name only
202
210
  if (this.config.name) {
203
211
  if (connection) {
204
- // @ts-expect-error jsForce types don't know about AiEvaluationDefinition yet
205
- this.data = (await connection.metadata.read('AiEvaluationDefinition', this.config.name));
206
- this.specData = convertToSpec(this.data);
207
- return this.specData;
212
+ const [evalDef, testingDef] = await Promise.all([
213
+ readMetadataSafe(connection, 'AiEvaluationDefinition', this.config.name),
214
+ readMetadataSafe(connection, 'AiTestingDefinition', this.config.name),
215
+ ]);
216
+ if (evalDef && testingDef) {
217
+ throw messages.createError('ambiguousTestDefinition', [this.config.name]);
218
+ }
219
+ if (testingDef) {
220
+ this.data = testingDef;
221
+ this.specData = (0, exports.convertToNgtSpec)(testingDef);
222
+ return this.specData;
223
+ }
224
+ if (evalDef) {
225
+ this.data = evalDef;
226
+ this.specData = convertToSpec(this.data);
227
+ return this.specData;
228
+ }
229
+ throw messages.createError('missingTestSpecData');
208
230
  }
209
231
  else {
210
232
  throw messages.createError('missingConnection');
@@ -226,15 +248,18 @@ class AgentTest {
226
248
  */
227
249
  async getMetadata(connection) {
228
250
  if (this.data) {
229
- return this.data;
251
+ return assertLegacyMetadata(this.data);
230
252
  }
231
253
  if (this.specData) {
254
+ if (isNgtSpec(this.specData)) {
255
+ throw messages.createError('ngtSpecCannotProduceLegacyMetadata');
256
+ }
232
257
  this.data = convertToMetadata(this.specData);
233
258
  return this.data;
234
259
  }
235
260
  if (this.config.mdPath) {
236
261
  this.data = await parseAgentTestXml(this.config.mdPath);
237
- return this.data;
262
+ return assertLegacyMetadata(this.data);
238
263
  }
239
264
  if (this.config.specPath) {
240
265
  this.specData = (0, yaml_1.parse)(await (0, promises_1.readFile)(this.config.specPath, 'utf-8'));
@@ -261,14 +286,16 @@ class AgentTest {
261
286
  */
262
287
  async writeTestSpec(outputFile) {
263
288
  const spec = await this.getTestSpec();
264
- // by default, add the OOTB metrics to the spec, so generated MD will have it
265
- spec.testCases.forEach((tc) => (tc.metrics = tc.metrics ?? Array.from(utils_1.metric)));
266
- // strip out undefined values and empty strings
267
- const clean = Object.entries(spec).reduce((acc, [key, value]) => {
289
+ if (!isNgtSpec(spec)) {
290
+ // Legacy: by default, add the OOTB metrics to the spec, so generated MD will have it.
291
+ spec.testCases.forEach((tc) => (tc.metrics = tc.metrics ?? Array.from(utils_1.metric)));
292
+ }
293
+ // strip out undefined values and empty strings at the top level
294
+ const clean = {};
295
+ for (const [key, value] of Object.entries(spec)) {
268
296
  if (value !== undefined && value !== '')
269
- return { ...acc, [key]: value };
270
- return acc;
271
- }, {});
297
+ clean[key] = value;
298
+ }
272
299
  const yml = (0, yaml_1.stringify)(clean, undefined, {
273
300
  minContentWidth: 0,
274
301
  lineWidth: 0,
@@ -288,6 +315,25 @@ class AgentTest {
288
315
  }
289
316
  }
290
317
  exports.AgentTest = AgentTest;
318
+ /** Discriminate between legacy `TestSpec` and NGT `NgtTestSpec` at runtime. */
319
+ const isNgtSpec = (spec) => Array.isArray(spec.testCases) &&
320
+ spec.testCases.length > 0 &&
321
+ 'inputs' in spec.testCases[0] &&
322
+ 'scorers' in spec.testCases[0];
323
+ /** Discriminate between `AiEvaluationDefinition` and `AiTestingDefinition` at runtime. */
324
+ const isNgtMetadata = (data) => {
325
+ const cases = (0, kit_1.ensureArray)(data.testCase);
326
+ if (cases.length === 0)
327
+ return false;
328
+ return 'scorer' in cases[0];
329
+ };
330
+ /** Legacy-only contract for `getMetadata()`: refuse if the cached data is NGT. */
331
+ const assertLegacyMetadata = (data) => {
332
+ if (isNgtMetadata(data)) {
333
+ throw messages.createError('ngtSpecCannotProduceLegacyMetadata');
334
+ }
335
+ return data;
336
+ };
291
337
  // Convert AiEvaluationDefinition metadata XML content to a YAML test spec object.
292
338
  const convertToSpec = (data) => ({
293
339
  name: data.name,
@@ -375,6 +421,9 @@ function transformStringToArray(str) {
375
421
  }
376
422
  const parseAgentTestXml = async (mdPath) => {
377
423
  const xml = await (0, promises_1.readFile)(mdPath, 'utf-8');
424
+ return parseAgentTestXmlString(xml);
425
+ };
426
+ const parseAgentTestXmlString = (xml) => {
378
427
  const parser = new fast_xml_parser_1.XMLParser({
379
428
  ignoreAttributes: false,
380
429
  attributeNamePrefix: '$',
@@ -385,6 +434,32 @@ const parseAgentTestXml = async (mdPath) => {
385
434
  const xmlContent = parser.parse(xml);
386
435
  return xmlContent.AiEvaluationDefinition;
387
436
  };
437
+ /** Sniff the top-level XML element name. Skips comments and the `<?xml?>` prolog. */
438
+ const isNgtMetadataXml = (xml) => {
439
+ // strip prolog and comments before the first element
440
+ const trimmed = xml
441
+ .replace(/<\?xml[^?]*\?>/g, '')
442
+ .replace(/<!--[\s\S]*?-->/g, '')
443
+ .trimStart();
444
+ return trimmed.startsWith('<AiTestingDefinition');
445
+ };
446
+ const readMetadataSafe = async (connection, type, name) => {
447
+ try {
448
+ // @ts-expect-error jsForce types don't model these metadata types
449
+ const result = (await connection.metadata.read(type, name));
450
+ if (!result)
451
+ return undefined;
452
+ // jsForce returns a record with only `fullName` populated when the record doesn't exist;
453
+ // treat that as not-found.
454
+ const r = result;
455
+ if (r.testCase === undefined && Object.keys(result).length <= 1)
456
+ return undefined;
457
+ return result;
458
+ }
459
+ catch {
460
+ return undefined;
461
+ }
462
+ };
388
463
  const buildMetadataXml = (data) => {
389
464
  const aiEvalXml = {
390
465
  AiEvaluationDefinition: {
@@ -543,4 +618,138 @@ const buildTestingMetadataXml = (data) => {
543
618
  return `<?xml version="1.0" encoding="UTF-8"?>\n${xml}`;
544
619
  };
545
620
  exports.buildTestingMetadataXml = buildTestingMetadataXml;
621
+ /**
622
+ * Parse an `AiTestingDefinition` source-format XML string into the `AiTestingDefinition`
623
+ * metadata object. Mirror of {@link parseAgentTestXmlString} for the NGT runner.
624
+ *
625
+ * Throws SfError on malformed XML or on a missing/wrong root element. Use
626
+ * {@link convertToNgtSpec} to convert the result into an `NgtTestSpec`.
627
+ */
628
+ const parseNgtMetadataXml = (xml) => {
629
+ // XMLParser itself is forgiving — preflight with the strict validator so we surface
630
+ // SfError on common authoring mistakes instead of returning a half-parsed object.
631
+ const valid = fast_xml_parser_1.XMLValidator.validate(xml);
632
+ if (valid !== true) {
633
+ const msg = valid?.err ? `${valid.err.code} at line ${valid.err.line}: ${valid.err.msg}` : 'unknown XML error';
634
+ throw ngtError('ngtMalformedMetadataXml', [msg]);
635
+ }
636
+ let xmlContent;
637
+ try {
638
+ const parser = new fast_xml_parser_1.XMLParser({
639
+ ignoreAttributes: false,
640
+ attributeNamePrefix: '$',
641
+ isArray: (name) => name === 'testCase' || name === 'scorer' || name === 'contextVariable' || name === 'conversationHistory',
642
+ processEntities: true,
643
+ htmlEntities: true,
644
+ });
645
+ xmlContent = parser.parse(xml);
646
+ }
647
+ catch (err) {
648
+ const cause = err instanceof Error ? err.message : String(err);
649
+ throw ngtError('ngtMalformedMetadataXml', [cause]);
650
+ }
651
+ if (!xmlContent?.AiTestingDefinition) {
652
+ throw ngtError('ngtWrongMetadataRoot', ['AiTestingDefinition']);
653
+ }
654
+ return xmlContent.AiTestingDefinition;
655
+ };
656
+ exports.parseNgtMetadataXml = parseNgtMetadataXml;
657
+ /**
658
+ * Convert an `AiTestingDefinition` (parsed XML object form) back into an `NgtTestSpec`.
659
+ * Inverse of {@link convertToTestingMetadata}; collapses contiguous test cases that share
660
+ * an identical scorer set into a single multi-input case.
661
+ */
662
+ const convertToNgtSpec = (data) => {
663
+ const flatCases = (0, kit_1.ensureArray)(data.testCase).map((tc) => parseTestCaseXml(tc));
664
+ const collapsedCases = collapseContiguousTestCases(flatCases);
665
+ const spec = {
666
+ name: String(data.name),
667
+ subjectType: data.subjectType,
668
+ subjectName: String(data.subjectName),
669
+ testCases: collapsedCases,
670
+ };
671
+ if (data.description !== undefined && data.description !== '')
672
+ spec.description = String(data.description);
673
+ if (data.subjectVersion !== undefined && data.subjectVersion !== '') {
674
+ spec.subjectVersion = String(data.subjectVersion);
675
+ }
676
+ return spec;
677
+ };
678
+ exports.convertToNgtSpec = convertToNgtSpec;
679
+ const parseTestCaseXml = (tc) => {
680
+ const inputs = tc.inputs ?? { utterance: '' };
681
+ const contextVariables = (0, kit_1.ensureArray)(inputs.contextVariable).map((cv) => ({
682
+ name: String(cv.variableName),
683
+ value: String(cv.variableValue),
684
+ }));
685
+ const turnsRaw = (0, kit_1.ensureArray)(inputs.conversationHistory);
686
+ const turnsParsed = turnsRaw.map((t) => parseConversationTurnXml(t));
687
+ const dropAutoIndex = isAutoAssignedIndices(turnsParsed.map((t) => t.index));
688
+ const conversationHistory = turnsParsed.map((t) => stripIndexIfAuto(t, dropAutoIndex));
689
+ const input = { utterance: String(inputs.utterance ?? '') };
690
+ if (contextVariables.length > 0)
691
+ input.contextVariables = contextVariables;
692
+ if (conversationHistory.length > 0)
693
+ input.conversationHistory = conversationHistory;
694
+ const scorers = (0, kit_1.ensureArray)(tc.scorer).map((s) => parseScorerXml(s));
695
+ return { inputs: [input], scorers };
696
+ };
697
+ const parseConversationTurnXml = (turn) => {
698
+ const message = String(turn.message ?? '');
699
+ const index = Number(turn.index);
700
+ if (turn.role === 'agent') {
701
+ return { role: 'agent', message, topic: String(turn.topic ?? ''), index };
702
+ }
703
+ return { role: 'user', message, index };
704
+ };
705
+ const isAutoAssignedIndices = (indices) => {
706
+ if (indices.length === 0)
707
+ return false;
708
+ return indices.every((idx, i) => idx === i);
709
+ };
710
+ const stripIndexIfAuto = (turn, drop) => {
711
+ const base = drop ? {} : { index: turn.index };
712
+ if (turn.role === 'agent') {
713
+ return { role: 'agent', message: turn.message, topic: turn.topic ?? '', ...base };
714
+ }
715
+ return { role: 'user', message: turn.message, ...base };
716
+ };
717
+ const parseScorerXml = (scorer) => {
718
+ const name = String(scorer.name);
719
+ const hasExpected = scorer.expectedValue !== undefined && scorer.expectedValue !== '';
720
+ if (!(0, ngtScorerCatalog_1.isNgtScorerName)(name)) {
721
+ if (!hasExpected) {
722
+ throw ngtError('ngtUnknownScorerNoExpected', [name]);
723
+ }
724
+ void core_1.Lifecycle.getInstance().emitWarning(`Unknown NGT scorer name '${name}' parsed from AiTestingDefinition metadata. The deploy will be validated by the server.`);
725
+ return { name, expected: String(scorer.expectedValue) };
726
+ }
727
+ if (hasExpected) {
728
+ return { name, expected: String(scorer.expectedValue) };
729
+ }
730
+ return { name };
731
+ };
732
+ /**
733
+ * Collapse contiguous test cases that share an identical (ordered) scorer set
734
+ * into a single `NgtTestCase` with multiple `inputs[]`. Inverts the multi-input
735
+ * fan-out applied by `convertToTestingMetadata`.
736
+ */
737
+ const collapseContiguousTestCases = (cases) => {
738
+ const out = [];
739
+ for (const tc of cases) {
740
+ const prev = out[out.length - 1];
741
+ if (prev && scorerSetsEqual(prev.scorers, tc.scorers)) {
742
+ prev.inputs.push(...tc.inputs);
743
+ }
744
+ else {
745
+ out.push(tc);
746
+ }
747
+ }
748
+ return out;
749
+ };
750
+ const scorerSetsEqual = (a, b) => {
751
+ if (a.length !== b.length)
752
+ return false;
753
+ return a.every((s, i) => s.name === b[i].name && (s.expected ?? null) === (b[i].expected ?? null));
754
+ };
546
755
  //# sourceMappingURL=agentTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentTest.js","sourceRoot":"","sources":["../src/agentTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTest.js","sourceRoot":"","sources":["../src/agentTest.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { AgentTester } from './agentTester';
5
5
  export { AgentforceStudioTester, normalizeAgentforceStudioResults } from './agentforceStudioTester';
6
6
  export { createAgentTester, type CreateAgentTesterOptions, type CreateAgentTesterResult } from './agentTesterFactory';
7
7
  export { type NgtScorerName, type KnownNgtScorerName, type NgtScorerGrade, type NgtScorerEntry, NgtScorerCatalog, isNgtScorerName, } from './ngtScorerCatalog';
8
- export { AgentTest, AgentTestCreateLifecycleStages } from './agentTest';
8
+ export { AgentTest, AgentTestCreateLifecycleStages, validateNgtSpec, convertToTestingMetadata, convertToNgtSpec, buildTestingMetadataXml, parseNgtMetadataXml, } from './agentTest';
9
9
  export { ProductionAgent } from './agents/productionAgent';
10
10
  export { ScriptAgent } from './agents/scriptAgent';
11
11
  export { AgentBase } from './agents/agentBase';
package/lib/index.js CHANGED
@@ -15,8 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.executeBatches = exports.resolveAgent = exports.translateTestCase = exports.translateTestSpec = exports.parseTestSpec = exports.isYamlTestSpec = exports.formatResults = exports.splitIntoBatches = exports.stripUnrecognizedFields = exports.injectDefaults = exports.convertShorthandRefs = exports.normalizeEvaluatorFields = exports.normalizeCamelCase = exports.autoCorrectFields = exports.normalizeMcpShorthand = exports.normalizePayload = exports.applyStringReplacementsToAgent = exports.applyStringReplacements = exports.writeDebugLog = exports.humanFriendlyName = exports.convertTestResultsToFormat = exports.AgentBase = exports.ScriptAgent = exports.ProductionAgent = exports.AgentTestCreateLifecycleStages = exports.AgentTest = exports.isNgtScorerName = exports.NgtScorerCatalog = exports.createAgentTester = exports.normalizeAgentforceStudioResults = exports.AgentforceStudioTester = exports.AgentTester = exports.AgentCreateLifecycleStages = exports.Agent = exports.readTurnIndex = exports.readSessionTrace = exports.listSessionTraces = exports.listCachedPreviewSessions = exports.getCurrentPreviewSessionId = exports.getCachedPreviewSessionIds = exports.removePreviewSessionCache = exports.validatePreviewSession = exports.createPreviewSessionCache = exports.detectTestRunnerFromId = exports.determineTestRunner = exports.readTranscriptEntries = exports.findAuthoringBundle = exports.metric = exports.COMPILATION_API_EXIT_CODES = exports.AgentSource = void 0;
19
- exports.ApiCatalog = exports.AgentDataLibrary = exports.buildResultSummary = void 0;
18
+ exports.isYamlTestSpec = exports.formatResults = exports.splitIntoBatches = exports.stripUnrecognizedFields = exports.injectDefaults = exports.convertShorthandRefs = exports.normalizeEvaluatorFields = exports.normalizeCamelCase = exports.autoCorrectFields = exports.normalizeMcpShorthand = exports.normalizePayload = exports.applyStringReplacementsToAgent = exports.applyStringReplacements = exports.writeDebugLog = exports.humanFriendlyName = exports.convertTestResultsToFormat = exports.AgentBase = exports.ScriptAgent = exports.ProductionAgent = exports.parseNgtMetadataXml = exports.buildTestingMetadataXml = exports.convertToNgtSpec = exports.convertToTestingMetadata = exports.validateNgtSpec = exports.AgentTestCreateLifecycleStages = exports.AgentTest = exports.isNgtScorerName = exports.NgtScorerCatalog = exports.createAgentTester = exports.normalizeAgentforceStudioResults = exports.AgentforceStudioTester = exports.AgentTester = exports.AgentCreateLifecycleStages = exports.Agent = exports.readTurnIndex = exports.readSessionTrace = exports.listSessionTraces = exports.listCachedPreviewSessions = exports.getCurrentPreviewSessionId = exports.getCachedPreviewSessionIds = exports.removePreviewSessionCache = exports.validatePreviewSession = exports.createPreviewSessionCache = exports.detectTestRunnerFromId = exports.determineTestRunner = exports.readTranscriptEntries = exports.findAuthoringBundle = exports.metric = exports.COMPILATION_API_EXIT_CODES = exports.AgentSource = void 0;
19
+ exports.ApiCatalog = exports.AgentDataLibrary = exports.buildResultSummary = exports.executeBatches = exports.resolveAgent = exports.translateTestCase = exports.translateTestSpec = exports.parseTestSpec = void 0;
20
20
  var types_1 = require("./types");
21
21
  Object.defineProperty(exports, "AgentSource", { enumerable: true, get: function () { return types_1.AgentSource; } });
22
22
  // Compilation API exit codes (CLI contract)
@@ -52,6 +52,11 @@ Object.defineProperty(exports, "isNgtScorerName", { enumerable: true, get: funct
52
52
  var agentTest_1 = require("./agentTest");
53
53
  Object.defineProperty(exports, "AgentTest", { enumerable: true, get: function () { return agentTest_1.AgentTest; } });
54
54
  Object.defineProperty(exports, "AgentTestCreateLifecycleStages", { enumerable: true, get: function () { return agentTest_1.AgentTestCreateLifecycleStages; } });
55
+ Object.defineProperty(exports, "validateNgtSpec", { enumerable: true, get: function () { return agentTest_1.validateNgtSpec; } });
56
+ Object.defineProperty(exports, "convertToTestingMetadata", { enumerable: true, get: function () { return agentTest_1.convertToTestingMetadata; } });
57
+ Object.defineProperty(exports, "convertToNgtSpec", { enumerable: true, get: function () { return agentTest_1.convertToNgtSpec; } });
58
+ Object.defineProperty(exports, "buildTestingMetadataXml", { enumerable: true, get: function () { return agentTest_1.buildTestingMetadataXml; } });
59
+ Object.defineProperty(exports, "parseNgtMetadataXml", { enumerable: true, get: function () { return agentTest_1.parseNgtMetadataXml; } });
55
60
  var productionAgent_1 = require("./agents/productionAgent");
56
61
  Object.defineProperty(exports, "ProductionAgent", { enumerable: true, get: function () { return productionAgent_1.ProductionAgent; } });
57
62
  var scriptAgent_1 = require("./agents/scriptAgent");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,iCAwFiB;AArDf,oGAAA,WAAW,OAAA;AAmDX,4CAA4C;AAC5C,mHAAA,0BAA0B,OAAA;AAG5B,iCAuBiB;AAtBf,+FAAA,MAAM,OAAA;AACN,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AAEtB,kHAAA,yBAAyB,OAAA;AACzB,+GAAA,sBAAsB,OAAA;AACtB,kHAAA,yBAAyB,OAAA;AACzB,mHAAA,0BAA0B,OAAA;AAC1B,mHAAA,0BAA0B,OAAA;AAC1B,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AASf,iCAAgF;AAAvE,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAC1C,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mEAAoG;AAA3F,gIAAA,sBAAsB,OAAA;AAAE,0IAAA,gCAAgC,OAAA;AACjE,2DAAsH;AAA7G,uHAAA,iBAAiB,OAAA;AAC1B,uDAO4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAEjB,yCAAwE;AAA/D,sGAAA,SAAS,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAClD,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,uDAAmF;AAA1E,8HAAA,0BAA0B,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AACtD,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,2DAK8B;AAJ5B,6HAAA,uBAAuB,OAAA;AACvB,oIAAA,8BAA8B,OAAA;AAIhC,mDAa0B;AAZxB,kHAAA,gBAAgB,OAAA;AAChB,uHAAA,qBAAqB,OAAA;AACrB,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAClB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,gHAAA,cAAc,OAAA;AACd,yHAAA,uBAAuB,OAAA;AACvB,kHAAA,gBAAgB,OAAA;AAKlB,iDAQyB;AAPvB,8GAAA,aAAa,OAAA;AAQf,2DAA2G;AAAlG,oHAAA,cAAc,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAC5E,qDAA8G;AAArG,+GAAA,YAAY,OAAA;AAAE,iHAAA,cAAc,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AACzD,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAczB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,iCAwFiB;AArDf,oGAAA,WAAW,OAAA;AAmDX,4CAA4C;AAC5C,mHAAA,0BAA0B,OAAA;AAG5B,iCAuBiB;AAtBf,+FAAA,MAAM,OAAA;AACN,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AAEtB,kHAAA,yBAAyB,OAAA;AACzB,+GAAA,sBAAsB,OAAA;AACtB,kHAAA,yBAAyB,OAAA;AACzB,mHAAA,0BAA0B,OAAA;AAC1B,mHAAA,0BAA0B,OAAA;AAC1B,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AASf,iCAAgF;AAAvE,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAC1C,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mEAAoG;AAA3F,gIAAA,sBAAsB,OAAA;AAAE,0IAAA,gCAAgC,OAAA;AACjE,2DAAsH;AAA7G,uHAAA,iBAAiB,OAAA;AAC1B,uDAO4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAEjB,yCAQqB;AAPnB,sGAAA,SAAS,OAAA;AACT,2HAAA,8BAA8B,OAAA;AAC9B,4GAAA,eAAe,OAAA;AACf,qHAAA,wBAAwB,OAAA;AACxB,6GAAA,gBAAgB,OAAA;AAChB,oHAAA,uBAAuB,OAAA;AACvB,gHAAA,mBAAmB,OAAA;AAErB,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,uDAAmF;AAA1E,8HAAA,0BAA0B,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AACtD,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,2DAK8B;AAJ5B,6HAAA,uBAAuB,OAAA;AACvB,oIAAA,8BAA8B,OAAA;AAIhC,mDAa0B;AAZxB,kHAAA,gBAAgB,OAAA;AAChB,uHAAA,qBAAqB,OAAA;AACrB,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAClB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,gHAAA,cAAc,OAAA;AACd,yHAAA,uBAAuB,OAAA;AACvB,kHAAA,gBAAgB,OAAA;AAKlB,iDAQyB;AAPvB,8GAAA,aAAa,OAAA;AAQf,2DAA2G;AAAlG,oHAAA,cAAc,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAC5E,qDAA8G;AAArG,+GAAA,YAAY,OAAA;AAAE,iHAAA,cAAc,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AACzD,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAczB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
package/lib/types.d.ts CHANGED
@@ -309,21 +309,21 @@ export type CreateAgentScriptResponse = {
309
309
  };
310
310
  export type AgentTestConfig = {
311
311
  /**
312
- * The API name of a AiEvaluationDefinition.
312
+ * The API name of an AiEvaluationDefinition or AiTestingDefinition.
313
313
  */
314
314
  name?: string;
315
315
  /**
316
- * The local file path of a AiEvaluationDefinition metadata file.
316
+ * The local file path of an AiEvaluationDefinition or AiTestingDefinition metadata file.
317
317
  */
318
318
  mdPath?: string;
319
319
  /**
320
- * The local file path of an agent test spec file.
320
+ * The local file path of an agent test spec file (legacy YAML or NGT YAML).
321
321
  */
322
322
  specPath?: string;
323
323
  /**
324
- * The agent test spec data.
324
+ * The agent test spec data (legacy `TestSpec` or NGT `NgtTestSpec`).
325
325
  */
326
- specData?: TestSpec;
326
+ specData?: TestSpec | NgtTestSpec;
327
327
  };
328
328
  export type TestStatus = 'NEW' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR' | 'TERMINATED';
329
329
  export type AgentTestStartResponse = {
@@ -41,3 +41,23 @@ NGT conversationHistory on test case %s, input %s mixes turns with and without `
41
41
  # ngtLooksLikeLegacySpec
42
42
 
43
43
  This YAML looks like a legacy AiEvaluationDefinition spec (uses top-level `utterance:` / `expectedTopic:` / `customEvaluations:`). Use `--test-runner testing-center` for legacy authoring, or hand-edit the deployed XML for `<scorer scorerType="Custom">` blocks on NGT.
44
+
45
+ # ngtMalformedMetadataXml
46
+
47
+ Failed to parse AiTestingDefinition metadata XML: %s
48
+
49
+ # ngtWrongMetadataRoot
50
+
51
+ AiTestingDefinition metadata XML must have a top-level <%s> element.
52
+
53
+ # ngtUnknownScorerNoExpected
54
+
55
+ Unknown NGT scorer name '%s' has no <expectedValue> in the metadata. Cannot infer whether the scorer requires an expected value — add an <expectedValue> or use a known scorer.
56
+
57
+ # ambiguousTestDefinition
58
+
59
+ Both an AiEvaluationDefinition and an AiTestingDefinition exist for '%s' in the org. Disambiguate by passing a local metadata file path, or delete one of the metadata records.
60
+
61
+ # ngtSpecCannotProduceLegacyMetadata
62
+
63
+ This AgentTest holds an NGT (`NgtTestSpec`) spec but `getMetadata()` returns the legacy `AiEvaluationDefinition` shape. Use `convertToTestingMetadata` + `buildTestingMetadataXml` to serialize an NGT spec to its `AiTestingDefinition` XML.
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": "1.8.4",
4
+ "version": "1.9.0",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Salesforce",
7
7
  "main": "lib/index",