@salesforce/agents 0.2.4 → 0.3.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/lib/agentTester.d.ts +3 -12
- package/lib/agentTester.js +8 -13
- package/lib/agentTester.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
package/lib/agentTester.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Connection } from '@salesforce/core';
|
|
2
2
|
import { Duration } from '@salesforce/kit';
|
|
3
|
-
type Format = 'human' | 'json';
|
|
4
3
|
export type TestStatus = 'NEW' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR';
|
|
5
4
|
export type AgentTestStartResponse = {
|
|
6
5
|
aiEvaluationId: string;
|
|
@@ -59,21 +58,13 @@ export declare class AgentTester {
|
|
|
59
58
|
*/
|
|
60
59
|
start(nameOrId: string, type?: 'name' | 'id'): Promise<AgentTestStartResponse>;
|
|
61
60
|
status(jobId: string): Promise<AgentTestStatusResponse>;
|
|
62
|
-
poll(jobId: string, {
|
|
63
|
-
format?: Format;
|
|
61
|
+
poll(jobId: string, { timeout, }?: {
|
|
64
62
|
timeout?: Duration;
|
|
65
|
-
}): Promise<
|
|
66
|
-
|
|
67
|
-
formatted: string;
|
|
68
|
-
}>;
|
|
69
|
-
details(jobId: string, format?: Format): Promise<{
|
|
70
|
-
response: AgentTestDetailsResponse;
|
|
71
|
-
formatted: string;
|
|
72
|
-
}>;
|
|
63
|
+
}): Promise<AgentTestDetailsResponse>;
|
|
64
|
+
details(jobId: string): Promise<AgentTestDetailsResponse>;
|
|
73
65
|
cancel(jobId: string): Promise<{
|
|
74
66
|
success: boolean;
|
|
75
67
|
}>;
|
|
76
68
|
}
|
|
77
69
|
export declare function humanFormat(name: string, details: AgentTestDetailsResponse): Promise<string>;
|
|
78
70
|
export declare function jsonFormat(details: AgentTestDetailsResponse): Promise<string>;
|
|
79
|
-
export {};
|
package/lib/agentTester.js
CHANGED
|
@@ -34,8 +34,7 @@ class AgentTester {
|
|
|
34
34
|
const url = `/einstein/ai-evaluations/runs/${jobId}`;
|
|
35
35
|
return this.maybeMock.request('GET', url);
|
|
36
36
|
}
|
|
37
|
-
async poll(jobId, {
|
|
38
|
-
format: 'human',
|
|
37
|
+
async poll(jobId, { timeout = kit_1.Duration.minutes(5), } = {
|
|
39
38
|
timeout: kit_1.Duration.minutes(5),
|
|
40
39
|
}) {
|
|
41
40
|
const lifecycle = core_1.Lifecycle.getInstance();
|
|
@@ -43,10 +42,10 @@ class AgentTester {
|
|
|
43
42
|
poll: async () => {
|
|
44
43
|
// NOTE: we don't actually need to call the status API here since all the same information is present on the
|
|
45
44
|
// details API. We could just call the details API and check the status there.
|
|
46
|
-
const [detailsResponse, statusResponse] = await Promise.all([this.details(jobId
|
|
47
|
-
const totalTestCases = detailsResponse.
|
|
48
|
-
const failingTestCases = detailsResponse.
|
|
49
|
-
const passingTestCases = detailsResponse.
|
|
45
|
+
const [detailsResponse, statusResponse] = await Promise.all([this.details(jobId), this.status(jobId)]);
|
|
46
|
+
const totalTestCases = detailsResponse.testCases.length;
|
|
47
|
+
const failingTestCases = detailsResponse.testCases.filter((tc) => tc.status === 'ERROR').length;
|
|
48
|
+
const passingTestCases = detailsResponse.testCases.filter((tc) => tc.status === 'COMPLETED' && tc.expectationResults.every((r) => r.result === 'Passed')).length;
|
|
50
49
|
if (statusResponse.status.toLowerCase() === 'completed') {
|
|
51
50
|
await lifecycle.emit('AGENT_TEST_POLLING_EVENT', {
|
|
52
51
|
jobId,
|
|
@@ -55,7 +54,7 @@ class AgentTester {
|
|
|
55
54
|
failingTestCases,
|
|
56
55
|
passingTestCases,
|
|
57
56
|
});
|
|
58
|
-
return { payload:
|
|
57
|
+
return { payload: detailsResponse, completed: true };
|
|
59
58
|
}
|
|
60
59
|
await lifecycle.emit('AGENT_TEST_POLLING_EVENT', {
|
|
61
60
|
jobId,
|
|
@@ -72,13 +71,9 @@ class AgentTester {
|
|
|
72
71
|
const result = await client.subscribe();
|
|
73
72
|
return result;
|
|
74
73
|
}
|
|
75
|
-
async details(jobId
|
|
74
|
+
async details(jobId) {
|
|
76
75
|
const url = `/einstein/ai-evaluations/runs/${jobId}/details`;
|
|
77
|
-
|
|
78
|
-
return {
|
|
79
|
-
response,
|
|
80
|
-
formatted: format === 'human' ? await humanFormat(jobId, response) : await jsonFormat(response),
|
|
81
|
-
};
|
|
76
|
+
return this.maybeMock.request('GET', url);
|
|
82
77
|
}
|
|
83
78
|
async cancel(jobId) {
|
|
84
79
|
const url = `/einstein/ai-evaluations/runs/${jobId}/cancel`;
|
package/lib/agentTester.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentTester.js","sourceRoot":"","sources":["../src/agentTester.ts"],"names":[],"mappings":";;;
|
|
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 AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig, type AgentJobSpecCreateResponse, SfAgent, } from './types';
|
|
2
2
|
export { Agent } from './agent';
|
|
3
|
-
export { AgentTester, type AgentTestDetailsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './agentTester';
|
|
3
|
+
export { AgentTester, humanFormat, jsonFormat, type AgentTestDetailsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './agentTester';
|
package/lib/index.js
CHANGED
|
@@ -6,9 +6,11 @@
|
|
|
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.AgentTester = exports.Agent = void 0;
|
|
9
|
+
exports.jsonFormat = exports.humanFormat = exports.AgentTester = 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
|
var agentTester_1 = require("./agentTester");
|
|
13
13
|
Object.defineProperty(exports, "AgentTester", { enumerable: true, get: function () { return agentTester_1.AgentTester; } });
|
|
14
|
+
Object.defineProperty(exports, "humanFormat", { enumerable: true, get: function () { return agentTester_1.humanFormat; } });
|
|
15
|
+
Object.defineProperty(exports, "jsonFormat", { enumerable: true, get: function () { return agentTester_1.jsonFormat; } });
|
|
14
16
|
//# 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;;;AAUH,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAUH,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6CASuB;AARrB,0GAAA,WAAW,OAAA;AACX,0GAAA,WAAW,OAAA;AACX,yGAAA,UAAU,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.
|
|
4
|
+
"version": "0.3.1",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"author": "Salesforce",
|
|
7
7
|
"main": "lib/index",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"url": "https://github.com/forcedotcom/agents.git"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@oclif/table": "^0.3.
|
|
14
|
+
"@oclif/table": "^0.3.5",
|
|
15
15
|
"@salesforce/core": "^8.8.0",
|
|
16
16
|
"@salesforce/kit": "^3.2.3",
|
|
17
17
|
"@salesforce/sf-plugins-core": "^12.1.0",
|