@salesforce/agents 0.19.8 → 0.20.0-beta.2
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 +2 -0
- package/lib/agent.d.ts +25 -86
- package/lib/agent.js +85 -310
- package/lib/agent.js.map +1 -1
- package/lib/agentTest.js +1 -1
- package/lib/agentTestResults.js +1 -1
- package/lib/agentTester.js +1 -1
- package/lib/agents/agentBase.d.ts +82 -0
- package/lib/agents/agentBase.js +106 -0
- package/lib/agents/agentBase.js.map +1 -0
- package/lib/agents/productionAgent.d.ts +51 -0
- package/lib/agents/productionAgent.js +336 -0
- package/lib/agents/productionAgent.js.map +1 -0
- package/lib/agents/scriptAgent.d.ts +61 -0
- package/lib/agents/scriptAgent.js +502 -0
- package/lib/agents/scriptAgent.js.map +1 -0
- package/lib/{agentPublisher.d.ts → agents/scriptAgentPublisher.d.ts} +26 -10
- package/lib/{agentPublisher.js → agents/scriptAgentPublisher.js} +50 -24
- package/lib/agents/scriptAgentPublisher.js.map +1 -0
- package/lib/apexUtils.d.ts +1 -0
- package/lib/apexUtils.js +11 -1
- package/lib/apexUtils.js.map +1 -1
- package/lib/index.d.ts +4 -5
- package/lib/index.js +8 -10
- package/lib/index.js.map +1 -1
- package/lib/maybe-mock.js +1 -1
- package/lib/types.d.ts +22 -8
- package/lib/types.js +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils.d.ts +36 -4
- package/lib/utils.js +69 -13
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
- package/lib/agentPreview.d.ts +0 -70
- package/lib/agentPreview.js +0 -247
- package/lib/agentPreview.js.map +0 -1
- package/lib/agentPreviewBase.d.ts +0 -51
- package/lib/agentPreviewBase.js +0 -55
- package/lib/agentPreviewBase.js.map +0 -1
- package/lib/agentPublisher.js.map +0 -1
- package/lib/agentSimulate.d.ts +0 -78
- package/lib/agentSimulate.js +0 -286
- package/lib/agentSimulate.js.map +0 -1
- package/lib/agentTrace.d.ts +0 -23
- package/lib/agentTrace.js +0 -47
- package/lib/agentTrace.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2026, Salesforce, Inc.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -48,16 +48,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
48
48
|
};
|
|
49
49
|
})();
|
|
50
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.
|
|
51
|
+
exports.ScriptAgentPublisher = void 0;
|
|
52
52
|
const path = __importStar(require("node:path"));
|
|
53
53
|
const promises_1 = require("node:fs/promises");
|
|
54
54
|
const node_fs_1 = require("node:fs");
|
|
55
|
-
const kit_1 = require("@salesforce/kit");
|
|
56
55
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
57
56
|
const core_1 = require("@salesforce/core");
|
|
58
57
|
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
59
|
-
const maybe_mock_1 = require("
|
|
60
|
-
const utils_1 = require("
|
|
58
|
+
const maybe_mock_1 = require("../maybe-mock");
|
|
59
|
+
const utils_1 = require("../utils");
|
|
61
60
|
;
|
|
62
61
|
const messages = new core_1.Messages('@salesforce/agents', 'agentPublisher', new Map([["agentRetrievalError", "Unable to retrieve newly created Agent metadata. Due to: %s"], ["agentRetrievalErrorActions", "Retrieve the agent metadata using the \"project retrieve start\" command."], ["authoringBundleDeploymentError", "Unable to deploy AiAuthoringBundle metadata. Due to: %s"], ["authoringBundleDeploymentErrorActions", "Deploy the authoring bundle metadata using the \"project deploy start\" command."], ["findBotVersionError", "Unable to find BotVersion with id %s."]]));
|
|
63
62
|
let logger;
|
|
@@ -70,7 +69,7 @@ const getLogger = () => {
|
|
|
70
69
|
/**
|
|
71
70
|
* Service class responsible for publishing agents to Salesforce orgs
|
|
72
71
|
*/
|
|
73
|
-
class
|
|
72
|
+
class ScriptAgentPublisher {
|
|
74
73
|
maybeMock;
|
|
75
74
|
connection;
|
|
76
75
|
project;
|
|
@@ -78,7 +77,13 @@ class AgentPublisher {
|
|
|
78
77
|
developerName;
|
|
79
78
|
bundleMetaPath;
|
|
80
79
|
bundleDir;
|
|
81
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Original connection username, stored to create fresh connections for metadata operations.
|
|
82
|
+
* This ensures metadata operations (retrieve/deploy) use a standard connection that hasn't
|
|
83
|
+
* been upgraded with JWT, which is required for SOAP API operations.
|
|
84
|
+
*/
|
|
85
|
+
originalUsername;
|
|
86
|
+
API_URL = `https://${(0, utils_1.getEndpoint)()}api.salesforce.com/einstein/ai-agent/v1.1/authoring/agents`;
|
|
82
87
|
API_HEADERS = {
|
|
83
88
|
'x-client-name': 'afdx',
|
|
84
89
|
'content-type': 'application/json',
|
|
@@ -88,12 +93,15 @@ class AgentPublisher {
|
|
|
88
93
|
*
|
|
89
94
|
* @param connection The connection to the Salesforce org
|
|
90
95
|
* @param project The Salesforce project
|
|
96
|
+
* @param agentJson
|
|
91
97
|
*/
|
|
92
98
|
constructor(connection, project, agentJson) {
|
|
93
99
|
this.maybeMock = new maybe_mock_1.MaybeMock(connection);
|
|
94
100
|
this.connection = connection;
|
|
95
101
|
this.project = project;
|
|
96
102
|
this.agentJson = agentJson;
|
|
103
|
+
// Store the original username to create fresh connections for metadata operations
|
|
104
|
+
this.originalUsername = connection.getUsername();
|
|
97
105
|
// Validate and get developer name and bundle directory
|
|
98
106
|
const validationResult = this.validateDeveloperName();
|
|
99
107
|
this.developerName = validationResult.developerName;
|
|
@@ -117,8 +125,9 @@ class AgentPublisher {
|
|
|
117
125
|
// before metadata operations that may use SOAP API
|
|
118
126
|
let response;
|
|
119
127
|
try {
|
|
120
|
-
await (0, utils_1.useNamedUserJwt)(this.connection);
|
|
121
128
|
const botId = await this.getPublishedBotId(this.developerName);
|
|
129
|
+
// if we've found a botId in the org, then this agent has already been published before => ai-agent/v1.1/authoring/agents/<id>/versions
|
|
130
|
+
// if we didn't find an Id in the org, then we're publishing for the first time => ai-agent/v1.1/authoring/agents
|
|
122
131
|
const url = botId ? `${this.API_URL}/${botId}/versions` : this.API_URL;
|
|
123
132
|
response = await this.maybeMock.request('POST', url, body, this.API_HEADERS);
|
|
124
133
|
}
|
|
@@ -132,8 +141,9 @@ class AgentPublisher {
|
|
|
132
141
|
// 1. retrieve the new Agent metadata that's in the org
|
|
133
142
|
// 2. deploy the AuthoringBundle's -meta.xml file with correct target attribute
|
|
134
143
|
const botVersionName = await this.getVersionDeveloperName(response.botVersionId);
|
|
135
|
-
await this.
|
|
136
|
-
await this.
|
|
144
|
+
const standardConnection = await this.createStandardConnection();
|
|
145
|
+
await this.retrieveAgentMetadata(botVersionName, standardConnection);
|
|
146
|
+
await this.syncAuthoringBundle(botVersionName, standardConnection);
|
|
137
147
|
return { ...response, developerName: this.developerName };
|
|
138
148
|
}
|
|
139
149
|
else {
|
|
@@ -144,6 +154,21 @@ class AgentPublisher {
|
|
|
144
154
|
});
|
|
145
155
|
}
|
|
146
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Creates a fresh standard connection for metadata operations (retrieve/deploy).
|
|
159
|
+
* This ensures metadata operations use a connection that hasn't been upgraded with JWT,
|
|
160
|
+
* which is required for SOAP API operations.
|
|
161
|
+
*
|
|
162
|
+
* @returns A fresh Connection instance with standard authentication
|
|
163
|
+
*/
|
|
164
|
+
async createStandardConnection() {
|
|
165
|
+
const authInfo = await core_1.AuthInfo.create({
|
|
166
|
+
username: this.originalUsername,
|
|
167
|
+
});
|
|
168
|
+
return core_1.Connection.create({
|
|
169
|
+
authInfo,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
147
172
|
/**
|
|
148
173
|
* Validates and extracts the developer name from the agent configuration,
|
|
149
174
|
* and locates the corresponding authoring bundle directory and metadata file.
|
|
@@ -178,10 +203,10 @@ class AgentPublisher {
|
|
|
178
203
|
/**
|
|
179
204
|
* Retrieve the agent metadata from the org after publishing
|
|
180
205
|
*
|
|
181
|
-
* @param
|
|
182
|
-
* @param
|
|
206
|
+
* @param botVersionName The bot version name
|
|
207
|
+
* @param connection
|
|
183
208
|
*/
|
|
184
|
-
async retrieveAgentMetadata(botVersionName) {
|
|
209
|
+
async retrieveAgentMetadata(botVersionName, connection) {
|
|
185
210
|
const defaultPackagePath = path.resolve(this.project.getDefaultPackage().path);
|
|
186
211
|
const cs = await source_deploy_retrieve_1.ComponentSetBuilder.build({
|
|
187
212
|
metadata: {
|
|
@@ -189,12 +214,12 @@ class AgentPublisher {
|
|
|
189
214
|
directoryPaths: [defaultPackagePath],
|
|
190
215
|
},
|
|
191
216
|
org: {
|
|
192
|
-
username: this.
|
|
217
|
+
username: this.originalUsername,
|
|
193
218
|
exclude: [],
|
|
194
219
|
},
|
|
195
220
|
});
|
|
196
221
|
const retrieve = await cs.retrieve({
|
|
197
|
-
usernameOrConnection:
|
|
222
|
+
usernameOrConnection: connection,
|
|
198
223
|
merge: true,
|
|
199
224
|
format: 'source',
|
|
200
225
|
output: path.resolve(this.project.getPath(), defaultPackagePath),
|
|
@@ -215,22 +240,23 @@ class AgentPublisher {
|
|
|
215
240
|
* 2. Second deployment with target attribute commits the AAB as the published version
|
|
216
241
|
*
|
|
217
242
|
* @param botVersionName The bot version name to use as the target for the final published deployment
|
|
243
|
+
* @param connection
|
|
218
244
|
* @private
|
|
219
245
|
*/
|
|
220
|
-
async syncAuthoringBundle(botVersionName) {
|
|
221
|
-
await this.deployAuthoringBundle();
|
|
222
|
-
await this.deployAuthoringBundle(botVersionName);
|
|
246
|
+
async syncAuthoringBundle(botVersionName, connection) {
|
|
247
|
+
await this.deployAuthoringBundle(connection);
|
|
248
|
+
await this.deployAuthoringBundle(connection, botVersionName);
|
|
223
249
|
}
|
|
224
250
|
/**
|
|
225
251
|
* Deploys the authoring bundle to the Salesforce org after setting the correct target attribute if provided.
|
|
226
252
|
* The target attribute is required for deployment but should not remain in the
|
|
227
253
|
* local source files after deployment.
|
|
228
254
|
*
|
|
229
|
-
* @param botVersionId The bot version ID used to construct the target attribute
|
|
230
|
-
*
|
|
231
255
|
* @throws SfError if the deployment fails or if there are component deployment errors
|
|
256
|
+
* @param botVersionName
|
|
257
|
+
* @param connection
|
|
232
258
|
*/
|
|
233
|
-
async deployAuthoringBundle(botVersionName) {
|
|
259
|
+
async deployAuthoringBundle(connection, botVersionName) {
|
|
234
260
|
// 1. if botVersionName is provided, add the target to the local authoring bundle meta.xml file
|
|
235
261
|
// 2. deploy the authoring bundle to the org
|
|
236
262
|
// 3. remove the target from the localauthoring bundle meta.xml file
|
|
@@ -251,7 +277,7 @@ class AgentPublisher {
|
|
|
251
277
|
await (0, promises_1.writeFile)(this.bundleMetaPath, xmlBuilder.build(authoringBundle));
|
|
252
278
|
// 2. attempt to deploy the authoring bundle to the org
|
|
253
279
|
const deploy = await source_deploy_retrieve_1.ComponentSet.fromSource(this.bundleDir).deploy({
|
|
254
|
-
usernameOrConnection:
|
|
280
|
+
usernameOrConnection: connection,
|
|
255
281
|
});
|
|
256
282
|
const deployResult = await deploy.pollStatus();
|
|
257
283
|
// 3.remove the target from the local authoring bundle meta.xml file
|
|
@@ -305,5 +331,5 @@ class AgentPublisher {
|
|
|
305
331
|
}
|
|
306
332
|
}
|
|
307
333
|
}
|
|
308
|
-
exports.
|
|
309
|
-
//# sourceMappingURL=
|
|
334
|
+
exports.ScriptAgentPublisher = ScriptAgentPublisher;
|
|
335
|
+
//# sourceMappingURL=scriptAgentPublisher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scriptAgentPublisher.js","sourceRoot":"","sources":["../../src/agents/scriptAgentPublisher.ts"],"names":[],"mappings":"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"}
|
package/lib/apexUtils.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare const getDebugLevelId: (connection: Connection) => Promise<string
|
|
|
29
29
|
* @param userId The user id to create the trace flag for.
|
|
30
30
|
*/
|
|
31
31
|
export declare const createTraceFlag: (connection: Connection, userId: string) => Promise<void>;
|
|
32
|
+
export declare function ensureTraceFlag(username: string, connection: Connection): Promise<ApexTraceFlag | undefined>;
|
|
32
33
|
/**
|
|
33
34
|
* Find a trace flag for the given user id.
|
|
34
35
|
*
|
package/lib/apexUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2026, Salesforce, Inc.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.findTraceFlag = exports.createTraceFlag = exports.getDebugLevelId = exports.writeDebugLog = exports.getDebugLog = void 0;
|
|
19
|
+
exports.ensureTraceFlag = ensureTraceFlag;
|
|
19
20
|
const node_path_1 = require("node:path");
|
|
20
21
|
const promises_1 = require("node:fs/promises");
|
|
21
22
|
const core_1 = require("@salesforce/core");
|
|
@@ -103,6 +104,15 @@ const createTraceFlag = async (connection, userId) => {
|
|
|
103
104
|
}
|
|
104
105
|
};
|
|
105
106
|
exports.createTraceFlag = createTraceFlag;
|
|
107
|
+
// once we're previewing agents in the org, with mockActions = false, we'll have to figure out how to get the correct user that was simulated for apex invocattion
|
|
108
|
+
async function ensureTraceFlag(username, connection) {
|
|
109
|
+
const userId = (await connection.singleRecordQuery(`SELECT Id FROM User WHERE Username = '${username}'`)).Id;
|
|
110
|
+
const apexTraceFlag = await (0, exports.findTraceFlag)(connection, userId);
|
|
111
|
+
if (!apexTraceFlag) {
|
|
112
|
+
await (0, exports.createTraceFlag)(connection, userId);
|
|
113
|
+
}
|
|
114
|
+
return apexTraceFlag;
|
|
115
|
+
}
|
|
106
116
|
/**
|
|
107
117
|
* Find a trace flag for the given user id.
|
|
108
118
|
*
|
package/lib/apexUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apexUtils.js","sourceRoot":"","sources":["../src/apexUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"apexUtils.js","sourceRoot":"","sources":["../src/apexUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export { type
|
|
1
|
+
export { type BaseAgentConfig, type AgentPreviewStartResponse, type AgentPreviewSendResponse, type AgentPreviewEndResponse, type EndReason, type ApiStatus, type AgentJson, type AgentCompilationSuccess, type AgentScriptContent, type AgentCreateConfig, type AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig, type AgentOptions, type AgentTone, type AgentType, type BotMetadata, type BotVersionMetadata, type PreviewableAgent, type CompilationError, type DraftAgentTopics, type DraftAgentTopicsBody, type DraftAgentTopicsResponse, type AvailableDefinition, type AgentPreviewMessageLinks, type AgentPreviewMessage, type AgentPreviewError, AgentSource, type ScriptAgentType, type ProductionAgentType, type AgentTestResultsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, type AgentTestConfig, type TestCase, type TestSpec, type MetadataMetric, type MetadataExpectation, type MetadataCustomEvaluation, type AiEvaluationDefinition, type AgentTraceResponse, type AgentTraceStep, type UserInputStep, type LLMExecutionStep, type UpdateTopicStep, type EventStep, type ReasoningStep, type PlannerResponseStep, } from './types';
|
|
2
2
|
export { metric, findAuthoringBundle, readTranscriptEntries } from './utils';
|
|
3
3
|
export { Agent, AgentCreateLifecycleStages } from './agent';
|
|
4
4
|
export { AgentTester } from './agentTester';
|
|
5
5
|
export { AgentTest, AgentTestCreateLifecycleStages } from './agentTest';
|
|
6
|
-
export {
|
|
6
|
+
export { ProductionAgent } from './agents/productionAgent';
|
|
7
|
+
export { ScriptAgent } from './agents/scriptAgent';
|
|
8
|
+
export { AgentBase, type AgentPreviewInterface } from './agents/agentBase';
|
|
7
9
|
export { convertTestResultsToFormat, humanFriendlyName } from './agentTestResults';
|
|
8
|
-
export { AgentPreview } from './agentPreview';
|
|
9
|
-
export { AgentSimulate } from './agentSimulate';
|
|
10
10
|
export { writeDebugLog } from './apexUtils';
|
|
11
|
-
export { AgentPreviewBase } from './agentPreviewBase';
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2026, Salesforce, Inc.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.writeDebugLog = exports.humanFriendlyName = exports.convertTestResultsToFormat = exports.AgentBase = exports.ScriptAgent = exports.ProductionAgent = exports.AgentTestCreateLifecycleStages = exports.AgentTest = exports.AgentTester = exports.AgentCreateLifecycleStages = exports.Agent = exports.readTranscriptEntries = exports.findAuthoringBundle = exports.metric = exports.AgentSource = void 0;
|
|
19
19
|
var types_1 = require("./types");
|
|
20
20
|
Object.defineProperty(exports, "AgentSource", { enumerable: true, get: function () { return types_1.AgentSource; } });
|
|
21
21
|
var utils_1 = require("./utils");
|
|
@@ -30,17 +30,15 @@ Object.defineProperty(exports, "AgentTester", { enumerable: true, get: function
|
|
|
30
30
|
var agentTest_1 = require("./agentTest");
|
|
31
31
|
Object.defineProperty(exports, "AgentTest", { enumerable: true, get: function () { return agentTest_1.AgentTest; } });
|
|
32
32
|
Object.defineProperty(exports, "AgentTestCreateLifecycleStages", { enumerable: true, get: function () { return agentTest_1.AgentTestCreateLifecycleStages; } });
|
|
33
|
-
var
|
|
34
|
-
Object.defineProperty(exports, "
|
|
33
|
+
var productionAgent_1 = require("./agents/productionAgent");
|
|
34
|
+
Object.defineProperty(exports, "ProductionAgent", { enumerable: true, get: function () { return productionAgent_1.ProductionAgent; } });
|
|
35
|
+
var scriptAgent_1 = require("./agents/scriptAgent");
|
|
36
|
+
Object.defineProperty(exports, "ScriptAgent", { enumerable: true, get: function () { return scriptAgent_1.ScriptAgent; } });
|
|
37
|
+
var agentBase_1 = require("./agents/agentBase");
|
|
38
|
+
Object.defineProperty(exports, "AgentBase", { enumerable: true, get: function () { return agentBase_1.AgentBase; } });
|
|
35
39
|
var agentTestResults_1 = require("./agentTestResults");
|
|
36
40
|
Object.defineProperty(exports, "convertTestResultsToFormat", { enumerable: true, get: function () { return agentTestResults_1.convertTestResultsToFormat; } });
|
|
37
41
|
Object.defineProperty(exports, "humanFriendlyName", { enumerable: true, get: function () { return agentTestResults_1.humanFriendlyName; } });
|
|
38
|
-
var agentPreview_1 = require("./agentPreview");
|
|
39
|
-
Object.defineProperty(exports, "AgentPreview", { enumerable: true, get: function () { return agentPreview_1.AgentPreview; } });
|
|
40
|
-
var agentSimulate_1 = require("./agentSimulate");
|
|
41
|
-
Object.defineProperty(exports, "AgentSimulate", { enumerable: true, get: function () { return agentSimulate_1.AgentSimulate; } });
|
|
42
42
|
var apexUtils_1 = require("./apexUtils");
|
|
43
43
|
Object.defineProperty(exports, "writeDebugLog", { enumerable: true, get: function () { return apexUtils_1.writeDebugLog; } });
|
|
44
|
-
var agentPreviewBase_1 = require("./agentPreviewBase");
|
|
45
|
-
Object.defineProperty(exports, "AgentPreviewBase", { enumerable: true, get: function () { return agentPreviewBase_1.AgentPreviewBase; } });
|
|
46
44
|
//# 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;;;;;;;;;;;;;;GAcG;;;AAEH,iCA4DiB;AA3Bf,oGAAA,WAAW,OAAA;AA6Bb,iCAA6E;AAApE,+FAAA,MAAM,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAC3D,iCAA4D;AAAnD,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAC1C,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yCAAwE;AAA/D,sGAAA,SAAS,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAClD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iCA4DiB;AA3Bf,oGAAA,WAAW,OAAA;AA6Bb,iCAA6E;AAApE,+FAAA,MAAM,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAC3D,iCAA4D;AAAnD,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAC1C,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yCAAwE;AAA/D,sGAAA,SAAS,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAClD,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,0GAAA,WAAW,OAAA;AACpB,gDAA2E;AAAlE,sGAAA,SAAS,OAAA;AAClB,uDAAmF;AAA1E,8HAAA,0BAA0B,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AACtD,yCAA4C;AAAnC,0GAAA,aAAa,OAAA"}
|
package/lib/maybe-mock.js
CHANGED
package/lib/types.d.ts
CHANGED
|
@@ -15,13 +15,27 @@ export type BaseAgentConfig = {
|
|
|
15
15
|
/**
|
|
16
16
|
* Options for creating instances of agents from an org.
|
|
17
17
|
*/
|
|
18
|
-
export type AgentOptions =
|
|
18
|
+
export type AgentOptions = ScriptAgentOptions | ProductionAgentOptions;
|
|
19
|
+
export type ScriptAgentOptions = {
|
|
19
20
|
connection: Connection;
|
|
20
|
-
project
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
project: SfProject;
|
|
22
|
+
aabDirectory: string;
|
|
23
|
+
};
|
|
24
|
+
export type ProductionAgentOptions = {
|
|
25
|
+
connection: Connection;
|
|
26
|
+
project: SfProject;
|
|
27
|
+
apiNameOrId: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Represents an agent available for preview, either from the org or from a local script file
|
|
31
|
+
*/
|
|
32
|
+
export type PreviewableAgent = {
|
|
33
|
+
name: string;
|
|
34
|
+
source: AgentSource;
|
|
35
|
+
id?: string;
|
|
36
|
+
developerName?: string;
|
|
37
|
+
aabDirectory?: string;
|
|
38
|
+
label?: string;
|
|
25
39
|
};
|
|
26
40
|
export type BotMetadata = {
|
|
27
41
|
Id: string;
|
|
@@ -675,12 +689,12 @@ export declare enum AgentSource {
|
|
|
675
689
|
PUBLISHED = "published",
|
|
676
690
|
SCRIPT = "script"
|
|
677
691
|
}
|
|
678
|
-
export type
|
|
692
|
+
export type ScriptAgentType = {
|
|
679
693
|
DeveloperName: string;
|
|
680
694
|
source: AgentSource.SCRIPT;
|
|
681
695
|
path: string;
|
|
682
696
|
};
|
|
683
|
-
export type
|
|
697
|
+
export type ProductionAgentType = {
|
|
684
698
|
Id: string;
|
|
685
699
|
DeveloperName: string;
|
|
686
700
|
source: AgentSource.PUBLISHED;
|
package/lib/types.js
CHANGED
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAkwBH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Connection } from '@salesforce/core';
|
|
2
|
+
import { type PlannerResponse } from './types';
|
|
2
3
|
export declare const metric: readonly ["completeness", "coherence", "conciseness", "output_latency_milliseconds"];
|
|
3
4
|
/**
|
|
4
5
|
* Sanitize a filename by removing or replacing illegal characters.
|
|
@@ -42,11 +43,42 @@ export type TranscriptEntry = {
|
|
|
42
43
|
reason?: string;
|
|
43
44
|
};
|
|
44
45
|
/**
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
* Get the session directory path for a specific session
|
|
47
|
+
*/
|
|
48
|
+
export declare const getSessionDir: (agentId: string, sessionId: string) => Promise<string>;
|
|
49
|
+
/**
|
|
50
|
+
* Copy a directory recursively
|
|
51
|
+
*/
|
|
52
|
+
export declare const copyDirectory: (src: string, dest: string) => Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Append a transcript entry to the session transcript file
|
|
55
|
+
*/
|
|
56
|
+
export declare const appendTranscriptEntryToSession: (entry: TranscriptEntry, sessionDir: string) => Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Write a trace to the session traces directory
|
|
59
|
+
*/
|
|
60
|
+
export declare const writeTraceToSession: (planId: string, trace: PlannerResponse | undefined, sessionDir: string) => Promise<void>;
|
|
61
|
+
export declare function getEndpoint(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Session metadata type
|
|
64
|
+
*/
|
|
65
|
+
export type SessionMetadata = {
|
|
66
|
+
sessionId: string;
|
|
67
|
+
agentId: string;
|
|
68
|
+
startTime: string;
|
|
69
|
+
endTime?: string;
|
|
70
|
+
apexDebugging?: boolean;
|
|
71
|
+
mockMode?: 'Mock' | 'Live Test';
|
|
72
|
+
planIds: string[];
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Write session metadata to the session directory
|
|
76
|
+
*/
|
|
77
|
+
export declare const writeMetadataToSession: (sessionDir: string, metadata: SessionMetadata) => Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Update session metadata with end time and plan IDs
|
|
48
80
|
*/
|
|
49
|
-
export declare const
|
|
81
|
+
export declare const updateMetadataEndTime: (sessionDir: string, endTime: string, planIds: Set<string>) => Promise<void>;
|
|
50
82
|
/**
|
|
51
83
|
* Read and parse the last conversation's transcript entries from JSON.
|
|
52
84
|
* Path: <project>/.sfdx/agents/conversations/<agentId>/history.json
|
package/lib/utils.js
CHANGED
|
@@ -33,9 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.readTranscriptEntries = exports.
|
|
36
|
+
exports.readTranscriptEntries = exports.updateMetadataEndTime = exports.writeMetadataToSession = exports.writeTraceToSession = exports.appendTranscriptEntryToSession = exports.copyDirectory = exports.getSessionDir = exports.useNamedUserJwt = exports.findLocalAgents = exports.findAuthoringBundle = exports.decodeHtmlEntities = exports.sanitizeFilename = exports.metric = void 0;
|
|
37
|
+
exports.getEndpoint = getEndpoint;
|
|
37
38
|
/*
|
|
38
|
-
* Copyright
|
|
39
|
+
* Copyright 2026, Salesforce, Inc.
|
|
39
40
|
*
|
|
40
41
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
41
42
|
* you may not use this file except in compliance with the License.
|
|
@@ -53,6 +54,7 @@ const node_fs_1 = require("node:fs");
|
|
|
53
54
|
const promises_1 = require("node:fs/promises");
|
|
54
55
|
const path = __importStar(require("node:path"));
|
|
55
56
|
const core_1 = require("@salesforce/core");
|
|
57
|
+
const kit_1 = require("@salesforce/kit");
|
|
56
58
|
exports.metric = ['completeness', 'coherence', 'conciseness', 'output_latency_milliseconds'];
|
|
57
59
|
/**
|
|
58
60
|
* Sanitize a filename by removing or replacing illegal characters.
|
|
@@ -256,22 +258,76 @@ const getConversationDir = async (agentId) => {
|
|
|
256
258
|
};
|
|
257
259
|
const getLastConversationPath = async (agentId) => path.join(await getConversationDir(agentId), 'history.json');
|
|
258
260
|
/**
|
|
259
|
-
*
|
|
260
|
-
* If the entry has event: 'start', this will clear the previous conversation and start fresh.
|
|
261
|
-
* Path: <project>/.sfdx/agents/conversations/<agentId>/history.json
|
|
261
|
+
* Get the session directory path for a specific session
|
|
262
262
|
*/
|
|
263
|
-
const
|
|
264
|
-
const
|
|
263
|
+
const getSessionDir = async (agentId, sessionId) => {
|
|
264
|
+
const base = (await resolveProjectLocalSfdx()) ?? path.join(process.cwd(), '.sfdx');
|
|
265
|
+
const dir = path.join(base, 'agents', agentId, 'sessions', sessionId);
|
|
266
|
+
await (0, promises_1.mkdir)(dir, { recursive: true });
|
|
267
|
+
return dir;
|
|
268
|
+
};
|
|
269
|
+
exports.getSessionDir = getSessionDir;
|
|
270
|
+
/**
|
|
271
|
+
* Copy a directory recursively
|
|
272
|
+
*/
|
|
273
|
+
const copyDirectory = async (src, dest) => {
|
|
274
|
+
await (0, promises_1.mkdir)(dest, { recursive: true });
|
|
275
|
+
await (0, promises_1.cp)(src, dest, { recursive: true });
|
|
276
|
+
};
|
|
277
|
+
exports.copyDirectory = copyDirectory;
|
|
278
|
+
/**
|
|
279
|
+
* Append a transcript entry to the session transcript file
|
|
280
|
+
*/
|
|
281
|
+
const appendTranscriptEntryToSession = async (entry, sessionDir) => {
|
|
282
|
+
const transcriptPath = path.join(sessionDir, 'transcript.jsonl');
|
|
265
283
|
const line = `${JSON.stringify(entry)}\n`;
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
284
|
+
await (0, promises_1.appendFile)(transcriptPath, line, 'utf-8');
|
|
285
|
+
};
|
|
286
|
+
exports.appendTranscriptEntryToSession = appendTranscriptEntryToSession;
|
|
287
|
+
/**
|
|
288
|
+
* Write a trace to the session traces directory
|
|
289
|
+
*/
|
|
290
|
+
const writeTraceToSession = async (planId, trace, sessionDir) => {
|
|
291
|
+
const tracesDir = path.join(sessionDir, 'traces');
|
|
292
|
+
await (0, promises_1.mkdir)(tracesDir, { recursive: true });
|
|
293
|
+
const tracePath = path.join(tracesDir, `${planId}.json`);
|
|
294
|
+
await (0, promises_1.writeFile)(tracePath, JSON.stringify(trace ?? {}, null, 2), 'utf-8');
|
|
295
|
+
};
|
|
296
|
+
exports.writeTraceToSession = writeTraceToSession;
|
|
297
|
+
function getEndpoint() {
|
|
298
|
+
return kit_1.env.getBoolean('SF_TEST_API') ? 'test.' : '';
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Write session metadata to the session directory
|
|
302
|
+
*/
|
|
303
|
+
const writeMetadataToSession = async (sessionDir, metadata) => {
|
|
304
|
+
const metadataPath = path.join(sessionDir, 'metadata.json');
|
|
305
|
+
await (0, promises_1.writeFile)(metadataPath, JSON.stringify(metadata, null, 2), 'utf-8');
|
|
306
|
+
};
|
|
307
|
+
exports.writeMetadataToSession = writeMetadataToSession;
|
|
308
|
+
/**
|
|
309
|
+
* Update session metadata with end time and plan IDs
|
|
310
|
+
*/
|
|
311
|
+
const updateMetadataEndTime = async (sessionDir, endTime, planIds) => {
|
|
312
|
+
const metadataPath = path.join(sessionDir, 'metadata.json');
|
|
313
|
+
try {
|
|
314
|
+
const metadata = JSON.parse(await (0, promises_1.readFile)(metadataPath, 'utf-8'));
|
|
315
|
+
metadata.endTime = endTime;
|
|
316
|
+
metadata.planIds = Array.from(planIds);
|
|
317
|
+
await (0, promises_1.writeFile)(metadataPath, JSON.stringify(metadata, null, 2), 'utf-8');
|
|
269
318
|
}
|
|
270
|
-
|
|
271
|
-
|
|
319
|
+
catch {
|
|
320
|
+
// If metadata doesn't exist, create it
|
|
321
|
+
await (0, exports.writeMetadataToSession)(sessionDir, {
|
|
322
|
+
sessionId: '',
|
|
323
|
+
agentId: '',
|
|
324
|
+
startTime: '',
|
|
325
|
+
endTime,
|
|
326
|
+
planIds: Array.from(planIds),
|
|
327
|
+
});
|
|
272
328
|
}
|
|
273
329
|
};
|
|
274
|
-
exports.
|
|
330
|
+
exports.updateMetadataEndTime = updateMetadataEndTime;
|
|
275
331
|
/**
|
|
276
332
|
* Read and parse the last conversation's transcript entries from JSON.
|
|
277
333
|
* Path: <project>/.sfdx/agents/conversations/<agentId>/history.json
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|