@salesforce/agents 0.19.8 → 0.20.1-beta.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.
- package/lib/agent.d.ts +14 -78
- package/lib/agent.js +74 -302
- package/lib/agent.js.map +1 -1
- package/lib/agentInteractionBase.d.ts +86 -0
- package/lib/agentInteractionBase.js +184 -0
- package/lib/agentInteractionBase.js.map +1 -0
- package/lib/agentPublisher.d.ts +16 -2
- package/lib/agentPublisher.js +42 -6
- package/lib/agentPublisher.js.map +1 -1
- package/lib/agentTest.js +1 -1
- package/lib/agentTestResults.js +1 -1
- package/lib/agentTester.js +1 -1
- 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/productionAgent.d.ts +51 -0
- package/lib/productionAgent.js +272 -0
- package/lib/productionAgent.js.map +1 -0
- package/lib/scriptAgent.d.ts +63 -0
- package/lib/scriptAgent.js +445 -0
- package/lib/scriptAgent.js.map +1 -0
- 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 +35 -4
- package/lib/utils.js +64 -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/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
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Connection } from '@salesforce/core';
|
|
2
|
+
import { type AgentPreviewEndResponse, type AgentPreviewSendResponse, type AgentPreviewStartResponse, type PlannerResponse } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Common preview interface that both ScriptAgent and ProductionAgent implement
|
|
5
|
+
*/
|
|
6
|
+
export type AgentPreviewInterface = {
|
|
7
|
+
start: (...args: unknown[]) => Promise<AgentPreviewStartResponse>;
|
|
8
|
+
send: (message: string) => Promise<AgentPreviewSendResponse>;
|
|
9
|
+
getAllTraces: () => Promise<PlannerResponse[]>;
|
|
10
|
+
end: (...args: unknown[]) => Promise<AgentPreviewEndResponse>;
|
|
11
|
+
saveSession: (outputDir?: string) => Promise<string>;
|
|
12
|
+
setApexDebugging: (apexDebugging: boolean) => void;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Abstract base class for agent preview functionality.
|
|
16
|
+
* Contains shared properties and methods between ScriptAgent and ProductionAgent.
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class AgentInteractionBase {
|
|
19
|
+
protected readonly connection: Connection;
|
|
20
|
+
/**
|
|
21
|
+
* The display name of the agent (user-friendly name, not API name)
|
|
22
|
+
*/
|
|
23
|
+
name: string | undefined;
|
|
24
|
+
protected sessionId: string | undefined;
|
|
25
|
+
protected sessionDir: string | undefined;
|
|
26
|
+
protected apexDebugging: boolean | undefined;
|
|
27
|
+
protected planIds: Set<string>;
|
|
28
|
+
abstract preview: AgentPreviewInterface;
|
|
29
|
+
protected constructor(connection: Connection);
|
|
30
|
+
restoreConnection(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Send a message to the agent using the session ID obtained by calling `start()`.
|
|
33
|
+
*
|
|
34
|
+
* @param message A message to send to the agent.
|
|
35
|
+
* @returns `AgentPreviewSendResponse`
|
|
36
|
+
*/
|
|
37
|
+
protected sendMessage(message: string): Promise<AgentPreviewSendResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* Get all traces from the current session
|
|
40
|
+
* Reads traces from the session directory if available, otherwise fetches from API
|
|
41
|
+
*/
|
|
42
|
+
protected getAllTracesFromDisc(): Promise<PlannerResponse[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Save the complete session data to disk by copying the session directory.
|
|
45
|
+
* The session directory is already populated during the session with:
|
|
46
|
+
* - Transcript entries (transcript.jsonl)
|
|
47
|
+
* - Traces (traces/*.json)
|
|
48
|
+
* - Session metadata (metadata.json)
|
|
49
|
+
*
|
|
50
|
+
* Session directory structure:
|
|
51
|
+
* .sfdx/agents/<agentId>/sessions/<sessionId>/
|
|
52
|
+
* ├── transcript.jsonl # All transcript entries (one per line)
|
|
53
|
+
* ├── traces/ # Individual trace files
|
|
54
|
+
* │ ├── <planId1>.json
|
|
55
|
+
* │ └── <planId2>.json
|
|
56
|
+
* └── metadata.json # Session metadata (start time, end time, planIds, etc.)
|
|
57
|
+
*
|
|
58
|
+
* @param outputDir Optional output directory. If not provided, uses default location.
|
|
59
|
+
* @returns The path to the copied session directory
|
|
60
|
+
*/
|
|
61
|
+
protected saveSessionToDisc(outputDir: string): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* Set the Apex debugging mode for the agent preview.
|
|
64
|
+
* This can be called before starting a session.
|
|
65
|
+
*
|
|
66
|
+
* @param apexDebugging true to enable Apex debugging, false to disable
|
|
67
|
+
*/
|
|
68
|
+
protected setApexDebugging(apexDebugging: boolean): void;
|
|
69
|
+
/**
|
|
70
|
+
* Get the agent ID to use for storage/transcript purposes
|
|
71
|
+
*/
|
|
72
|
+
protected abstract getAgentIdForStorage(): string | Promise<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Check if Apex debugging should be enabled for this agent type
|
|
75
|
+
*/
|
|
76
|
+
protected abstract canApexDebug(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Handle Apex debugging setup before sending a message
|
|
79
|
+
*/
|
|
80
|
+
protected abstract handleApexDebuggingSetup(): Promise<void>;
|
|
81
|
+
protected abstract getTrace(planId: string): Promise<PlannerResponse | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* Get the URL for sending messages
|
|
84
|
+
*/
|
|
85
|
+
protected abstract getSendMessageUrl(): string;
|
|
86
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentInteractionBase = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright 2026, Salesforce, Inc.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
const promises_1 = require("node:fs/promises");
|
|
20
|
+
const node_path_1 = require("node:path");
|
|
21
|
+
const core_1 = require("@salesforce/core");
|
|
22
|
+
const utils_1 = require("./utils");
|
|
23
|
+
const apexUtils_1 = require("./apexUtils");
|
|
24
|
+
/**
|
|
25
|
+
* Abstract base class for agent preview functionality.
|
|
26
|
+
* Contains shared properties and methods between ScriptAgent and ProductionAgent.
|
|
27
|
+
*/
|
|
28
|
+
class AgentInteractionBase {
|
|
29
|
+
connection;
|
|
30
|
+
/**
|
|
31
|
+
* The display name of the agent (user-friendly name, not API name)
|
|
32
|
+
*/
|
|
33
|
+
name;
|
|
34
|
+
sessionId;
|
|
35
|
+
sessionDir;
|
|
36
|
+
apexDebugging;
|
|
37
|
+
planIds = new Set();
|
|
38
|
+
constructor(connection) {
|
|
39
|
+
this.connection = connection;
|
|
40
|
+
}
|
|
41
|
+
async restoreConnection() {
|
|
42
|
+
delete this.connection.accessToken;
|
|
43
|
+
await this.connection.refreshAuth();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Send a message to the agent using the session ID obtained by calling `start()`.
|
|
47
|
+
*
|
|
48
|
+
* @param message A message to send to the agent.
|
|
49
|
+
* @returns `AgentPreviewSendResponse`
|
|
50
|
+
*/
|
|
51
|
+
async sendMessage(message) {
|
|
52
|
+
if (!this.sessionId) {
|
|
53
|
+
throw core_1.SfError.create({ name: 'noSessionId', message: 'Agent not started, please call .start() first' });
|
|
54
|
+
}
|
|
55
|
+
const url = this.getSendMessageUrl();
|
|
56
|
+
const body = {
|
|
57
|
+
message: {
|
|
58
|
+
sequenceId: Date.now(),
|
|
59
|
+
type: 'Text',
|
|
60
|
+
text: message,
|
|
61
|
+
},
|
|
62
|
+
variables: [],
|
|
63
|
+
};
|
|
64
|
+
try {
|
|
65
|
+
const start = Date.now();
|
|
66
|
+
// Handle Apex debugging setup if needed
|
|
67
|
+
if (this.apexDebugging && this.canApexDebug()) {
|
|
68
|
+
await this.handleApexDebuggingSetup();
|
|
69
|
+
}
|
|
70
|
+
const agentId = await this.getAgentIdForStorage();
|
|
71
|
+
// Ensure session directory exists
|
|
72
|
+
if (!this.sessionDir) {
|
|
73
|
+
this.sessionDir = await (0, utils_1.getSessionDir)(agentId, this.sessionId);
|
|
74
|
+
}
|
|
75
|
+
void (0, utils_1.appendTranscriptEntryToSession)({
|
|
76
|
+
timestamp: new Date().toISOString(),
|
|
77
|
+
agentId,
|
|
78
|
+
sessionId: this.sessionId,
|
|
79
|
+
role: 'user',
|
|
80
|
+
text: message,
|
|
81
|
+
}, this.sessionDir);
|
|
82
|
+
const response = await this.connection.request({
|
|
83
|
+
method: 'POST',
|
|
84
|
+
url,
|
|
85
|
+
body: JSON.stringify(body),
|
|
86
|
+
headers: {
|
|
87
|
+
'x-client-name': 'afdx',
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
const planId = response.messages.at(0).planId;
|
|
91
|
+
this.planIds.add(planId);
|
|
92
|
+
await (0, utils_1.appendTranscriptEntryToSession)({
|
|
93
|
+
timestamp: new Date().toISOString(),
|
|
94
|
+
agentId,
|
|
95
|
+
sessionId: this.sessionId,
|
|
96
|
+
role: 'agent',
|
|
97
|
+
text: response.messages.at(0)?.message,
|
|
98
|
+
raw: response.messages,
|
|
99
|
+
}, this.sessionDir);
|
|
100
|
+
// Fetch and write trace immediately if available
|
|
101
|
+
if (planId) {
|
|
102
|
+
try {
|
|
103
|
+
const trace = await this.getTrace(planId);
|
|
104
|
+
await (0, utils_1.writeTraceToSession)(planId, trace, this.sessionDir);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
throw core_1.SfError.wrap(error);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (this.apexDebugging && this.canApexDebug()) {
|
|
111
|
+
const apexLog = await (0, apexUtils_1.getDebugLog)(this.connection, start, Date.now());
|
|
112
|
+
if (apexLog) {
|
|
113
|
+
response.apexDebugLog = apexLog;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return response;
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
throw core_1.SfError.wrap(err);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get all traces from the current session
|
|
124
|
+
* Reads traces from the session directory if available, otherwise fetches from API
|
|
125
|
+
*/
|
|
126
|
+
async getAllTracesFromDisc() {
|
|
127
|
+
if (!this.sessionDir) {
|
|
128
|
+
throw core_1.SfError.create({ message: 'history never created' });
|
|
129
|
+
}
|
|
130
|
+
const traces = [];
|
|
131
|
+
// If we have a session directory, try reading traces from disk first
|
|
132
|
+
const tracesDir = (0, node_path_1.join)(this.sessionDir, 'traces');
|
|
133
|
+
const files = await (0, promises_1.readdir)(tracesDir);
|
|
134
|
+
const tracePromises = files
|
|
135
|
+
.filter((file) => file.endsWith('.json'))
|
|
136
|
+
.map(async (file) => {
|
|
137
|
+
const traceData = await (0, promises_1.readFile)((0, node_path_1.join)(tracesDir, file), 'utf-8');
|
|
138
|
+
return JSON.parse(traceData);
|
|
139
|
+
});
|
|
140
|
+
traces.push(...(await Promise.all(tracePromises)));
|
|
141
|
+
return traces;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Save the complete session data to disk by copying the session directory.
|
|
145
|
+
* The session directory is already populated during the session with:
|
|
146
|
+
* - Transcript entries (transcript.jsonl)
|
|
147
|
+
* - Traces (traces/*.json)
|
|
148
|
+
* - Session metadata (metadata.json)
|
|
149
|
+
*
|
|
150
|
+
* Session directory structure:
|
|
151
|
+
* .sfdx/agents/<agentId>/sessions/<sessionId>/
|
|
152
|
+
* ├── transcript.jsonl # All transcript entries (one per line)
|
|
153
|
+
* ├── traces/ # Individual trace files
|
|
154
|
+
* │ ├── <planId1>.json
|
|
155
|
+
* │ └── <planId2>.json
|
|
156
|
+
* └── metadata.json # Session metadata (start time, end time, planIds, etc.)
|
|
157
|
+
*
|
|
158
|
+
* @param outputDir Optional output directory. If not provided, uses default location.
|
|
159
|
+
* @returns The path to the copied session directory
|
|
160
|
+
*/
|
|
161
|
+
async saveSessionToDisc(outputDir) {
|
|
162
|
+
if (!this.sessionId || !this.sessionDir) {
|
|
163
|
+
throw core_1.SfError.create({ name: 'noSessionId', message: 'No active session. Call .start() first.' });
|
|
164
|
+
}
|
|
165
|
+
const agentId = await this.getAgentIdForStorage();
|
|
166
|
+
// Determine output directory
|
|
167
|
+
const destDir = (0, node_path_1.join)(outputDir, agentId, `session_${this.sessionId}`);
|
|
168
|
+
// Copy the entire session directory from .sfdx to the output directory
|
|
169
|
+
// This includes transcript.jsonl, traces/, and metadata.json
|
|
170
|
+
await (0, utils_1.copyDirectory)(this.sessionDir, destDir);
|
|
171
|
+
return destDir;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Set the Apex debugging mode for the agent preview.
|
|
175
|
+
* This can be called before starting a session.
|
|
176
|
+
*
|
|
177
|
+
* @param apexDebugging true to enable Apex debugging, false to disable
|
|
178
|
+
*/
|
|
179
|
+
setApexDebugging(apexDebugging) {
|
|
180
|
+
this.apexDebugging = apexDebugging;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.AgentInteractionBase = AgentInteractionBase;
|
|
184
|
+
//# sourceMappingURL=agentInteractionBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentInteractionBase.js","sourceRoot":"","sources":["../src/agentInteractionBase.ts"],"names":[],"mappings":"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"}
|
package/lib/agentPublisher.d.ts
CHANGED
|
@@ -11,6 +11,12 @@ export declare class AgentPublisher {
|
|
|
11
11
|
private developerName;
|
|
12
12
|
private bundleMetaPath;
|
|
13
13
|
private bundleDir;
|
|
14
|
+
/**
|
|
15
|
+
* Original connection username, stored to create fresh connections for metadata operations.
|
|
16
|
+
* This ensures metadata operations (retrieve/deploy) use a standard connection that hasn't
|
|
17
|
+
* been upgraded with JWT, which is required for SOAP API operations.
|
|
18
|
+
*/
|
|
19
|
+
private readonly originalUsername;
|
|
14
20
|
private API_URL;
|
|
15
21
|
private readonly API_HEADERS;
|
|
16
22
|
/**
|
|
@@ -18,6 +24,7 @@ export declare class AgentPublisher {
|
|
|
18
24
|
*
|
|
19
25
|
* @param connection The connection to the Salesforce org
|
|
20
26
|
* @param project The Salesforce project
|
|
27
|
+
* @param agentJson
|
|
21
28
|
*/
|
|
22
29
|
constructor(connection: Connection, project: SfProject, agentJson: AgentJson);
|
|
23
30
|
/**
|
|
@@ -26,6 +33,14 @@ export declare class AgentPublisher {
|
|
|
26
33
|
* @returns Promise<PublishAgent> The publish response
|
|
27
34
|
*/
|
|
28
35
|
publishAgentJson(): Promise<PublishAgent>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a fresh standard connection for metadata operations (retrieve/deploy).
|
|
38
|
+
* This ensures metadata operations use a connection that hasn't been upgraded with JWT,
|
|
39
|
+
* which is required for SOAP API operations.
|
|
40
|
+
*
|
|
41
|
+
* @returns A fresh Connection instance with standard authentication
|
|
42
|
+
*/
|
|
43
|
+
private createStandardConnection;
|
|
29
44
|
/**
|
|
30
45
|
* Validates and extracts the developer name from the agent configuration,
|
|
31
46
|
* and locates the corresponding authoring bundle directory and metadata file.
|
|
@@ -41,8 +56,7 @@ export declare class AgentPublisher {
|
|
|
41
56
|
/**
|
|
42
57
|
* Retrieve the agent metadata from the org after publishing
|
|
43
58
|
*
|
|
44
|
-
* @param
|
|
45
|
-
* @param originalConnection The original connection to use for retrieval
|
|
59
|
+
* @param botVersionName The bot version name
|
|
46
60
|
*/
|
|
47
61
|
private retrieveAgentMetadata;
|
|
48
62
|
/**
|
package/lib/agentPublisher.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.
|
|
@@ -78,6 +78,12 @@ class AgentPublisher {
|
|
|
78
78
|
developerName;
|
|
79
79
|
bundleMetaPath;
|
|
80
80
|
bundleDir;
|
|
81
|
+
/**
|
|
82
|
+
* Original connection username, stored to create fresh connections for metadata operations.
|
|
83
|
+
* This ensures metadata operations (retrieve/deploy) use a standard connection that hasn't
|
|
84
|
+
* been upgraded with JWT, which is required for SOAP API operations.
|
|
85
|
+
*/
|
|
86
|
+
originalUsername;
|
|
81
87
|
API_URL = `https://${kit_1.env.getBoolean('SF_TEST_API') ? 'test.' : ''}api.salesforce.com/einstein/ai-agent/v1.1/authoring/agents`;
|
|
82
88
|
API_HEADERS = {
|
|
83
89
|
'x-client-name': 'afdx',
|
|
@@ -88,12 +94,22 @@ class AgentPublisher {
|
|
|
88
94
|
*
|
|
89
95
|
* @param connection The connection to the Salesforce org
|
|
90
96
|
* @param project The Salesforce project
|
|
97
|
+
* @param agentJson
|
|
91
98
|
*/
|
|
92
99
|
constructor(connection, project, agentJson) {
|
|
93
100
|
this.maybeMock = new maybe_mock_1.MaybeMock(connection);
|
|
94
101
|
this.connection = connection;
|
|
95
102
|
this.project = project;
|
|
96
103
|
this.agentJson = agentJson;
|
|
104
|
+
// Store the original username to create fresh connections for metadata operations
|
|
105
|
+
const username = connection.getUsername();
|
|
106
|
+
if (!username) {
|
|
107
|
+
throw core_1.SfError.create({
|
|
108
|
+
name: 'ConnectionError',
|
|
109
|
+
message: 'Connection must have a username',
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
this.originalUsername = username;
|
|
97
113
|
// Validate and get developer name and bundle directory
|
|
98
114
|
const validationResult = this.validateDeveloperName();
|
|
99
115
|
this.developerName = validationResult.developerName;
|
|
@@ -144,6 +160,21 @@ class AgentPublisher {
|
|
|
144
160
|
});
|
|
145
161
|
}
|
|
146
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Creates a fresh standard connection for metadata operations (retrieve/deploy).
|
|
165
|
+
* This ensures metadata operations use a connection that hasn't been upgraded with JWT,
|
|
166
|
+
* which is required for SOAP API operations.
|
|
167
|
+
*
|
|
168
|
+
* @returns A fresh Connection instance with standard authentication
|
|
169
|
+
*/
|
|
170
|
+
async createStandardConnection() {
|
|
171
|
+
const authInfo = await core_1.AuthInfo.create({
|
|
172
|
+
username: this.originalUsername,
|
|
173
|
+
});
|
|
174
|
+
return core_1.Connection.create({
|
|
175
|
+
authInfo,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
147
178
|
/**
|
|
148
179
|
* Validates and extracts the developer name from the agent configuration,
|
|
149
180
|
* and locates the corresponding authoring bundle directory and metadata file.
|
|
@@ -178,23 +209,25 @@ class AgentPublisher {
|
|
|
178
209
|
/**
|
|
179
210
|
* Retrieve the agent metadata from the org after publishing
|
|
180
211
|
*
|
|
181
|
-
* @param
|
|
182
|
-
* @param originalConnection The original connection to use for retrieval
|
|
212
|
+
* @param botVersionName The bot version name
|
|
183
213
|
*/
|
|
184
214
|
async retrieveAgentMetadata(botVersionName) {
|
|
185
215
|
const defaultPackagePath = path.resolve(this.project.getDefaultPackage().path);
|
|
216
|
+
// Create a fresh standard connection for metadata operations
|
|
217
|
+
// This ensures SOAP API operations work correctly (JWT tokens don't work with SOAP)
|
|
218
|
+
const standardConnection = await this.createStandardConnection();
|
|
186
219
|
const cs = await source_deploy_retrieve_1.ComponentSetBuilder.build({
|
|
187
220
|
metadata: {
|
|
188
221
|
metadataEntries: [`Bot:${this.developerName}`, `Agent:${this.developerName}_${botVersionName}`],
|
|
189
222
|
directoryPaths: [defaultPackagePath],
|
|
190
223
|
},
|
|
191
224
|
org: {
|
|
192
|
-
username: this.
|
|
225
|
+
username: this.originalUsername,
|
|
193
226
|
exclude: [],
|
|
194
227
|
},
|
|
195
228
|
});
|
|
196
229
|
const retrieve = await cs.retrieve({
|
|
197
|
-
usernameOrConnection:
|
|
230
|
+
usernameOrConnection: standardConnection,
|
|
198
231
|
merge: true,
|
|
199
232
|
format: 'source',
|
|
200
233
|
output: path.resolve(this.project.getPath(), defaultPackagePath),
|
|
@@ -250,8 +283,11 @@ class AgentPublisher {
|
|
|
250
283
|
});
|
|
251
284
|
await (0, promises_1.writeFile)(this.bundleMetaPath, xmlBuilder.build(authoringBundle));
|
|
252
285
|
// 2. attempt to deploy the authoring bundle to the org
|
|
286
|
+
// Create a fresh standard connection for metadata operations
|
|
287
|
+
// This ensures SOAP API operations work correctly (JWT tokens don't work with SOAP)
|
|
288
|
+
const standardConnection = await this.createStandardConnection();
|
|
253
289
|
const deploy = await source_deploy_retrieve_1.ComponentSet.fromSource(this.bundleDir).deploy({
|
|
254
|
-
usernameOrConnection:
|
|
290
|
+
usernameOrConnection: standardConnection,
|
|
255
291
|
});
|
|
256
292
|
const deployResult = await deploy.pollStatus();
|
|
257
293
|
// 3.remove the target from the local authoring bundle meta.xml file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentPublisher.js","sourceRoot":"","sources":["../src/agentPublisher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAClC,+CAAuD;AACvD,qCAAqC;AACrC,yCAAsC;AACtC,qDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"agentPublisher.js","sourceRoot":"","sources":["../src/agentPublisher.ts"],"names":[],"mappings":"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"}
|
package/lib/agentTest.js
CHANGED
package/lib/agentTestResults.js
CHANGED
package/lib/agentTester.js
CHANGED
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 './productionAgent';
|
|
7
|
+
export { ScriptAgent } from './scriptAgent';
|
|
8
|
+
export { AgentInteractionBase, type AgentPreviewInterface } from './agentInteractionBase';
|
|
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.AgentInteractionBase = 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("./productionAgent");
|
|
34
|
+
Object.defineProperty(exports, "ProductionAgent", { enumerable: true, get: function () { return productionAgent_1.ProductionAgent; } });
|
|
35
|
+
var scriptAgent_1 = require("./scriptAgent");
|
|
36
|
+
Object.defineProperty(exports, "ScriptAgent", { enumerable: true, get: function () { return scriptAgent_1.ScriptAgent; } });
|
|
37
|
+
var agentInteractionBase_1 = require("./agentInteractionBase");
|
|
38
|
+
Object.defineProperty(exports, "AgentInteractionBase", { enumerable: true, get: function () { return agentInteractionBase_1.AgentInteractionBase; } });
|
|
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,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,+DAA0F;AAAjF,4HAAA,oBAAoB,OAAA;AAC7B,uDAAmF;AAA1E,8HAAA,0BAA0B,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AACtD,yCAA4C;AAAnC,0GAAA,aAAa,OAAA"}
|