@salesforce/agents 0.13.7 → 0.14.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/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Salesforce Agents
1
+ # Salesforce Agents - BETA
2
2
 
3
3
  ---
4
4
 
5
- ### :warning: THIS LIBRARY IS UNDER DEVELOPMENT AND IS NOT MEANT FOR PRODUCTION USAGE. :warning:
5
+ ### :warning: All APIs are beta. :warning:
6
6
 
7
7
  ---
8
8
 
package/lib/agent.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Connection, SfProject } from '@salesforce/core';
2
- import { type AgentCreateConfig, type AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig } from './types.js';
2
+ import { type AgentCreateConfig, type AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig, type AgentOptions } from './types.js';
3
3
  /**
4
4
  * Events emitted during Agent.create() for consumers to listen to and keep track of progress
5
5
  *
@@ -11,38 +11,62 @@ export declare const AgentCreateLifecycleStages: {
11
11
  Retrieving: string;
12
12
  };
13
13
  /**
14
- * Class for creating Agents and agent specs.
14
+ * A client side representation of an agent within an org. Also provides utilities
15
+ * such as creating agents, listing agents, and creating agent specs.
16
+ *
17
+ * **Examples**
18
+ *
19
+ * Create a new instance and get the ID (uses the `Bot` ID):
20
+ *
21
+ * `const id = new Agent({connection, name}).getId();`
22
+ *
23
+ * Create a new agent in the org:
24
+ *
25
+ * `const myAgent = await Agent.create(connection, project, options);`
26
+ *
27
+ * List all agents in the local project:
28
+ *
29
+ * `const agentList = await Agent.list(project);`
15
30
  */
16
31
  export declare class Agent {
17
- private project;
18
- private logger;
19
- private maybeMock;
20
- private readonly connection;
32
+ private options;
33
+ private id?;
21
34
  /**
22
- * Create an Agent instance
35
+ * Create an instance of an agent in an org. Must provide a connection to an org
36
+ * and the agent (Bot) API name as part of `AgentOptions`.
23
37
  *
24
- * @param {Connection} connection
25
- * @param {SfProject} project
38
+ * @param {options} AgentOptions
26
39
  */
27
- constructor(connection: Connection, project: SfProject);
40
+ constructor(options: AgentOptions);
28
41
  /**
29
42
  * List all agents in the current project.
43
+ *
44
+ * @param project a `SfProject` for a local DX project.
30
45
  */
31
46
  static list(project: SfProject): Promise<string[]>;
32
47
  /**
33
48
  * Creates an agent from a configuration, optionally saving the agent in an org.
34
49
  *
35
- * @param config a configuration for creating or previewing an agent
50
+ * @param connection a `Connection` to an org.
51
+ * @param project a `SfProject` for a local DX project.
52
+ * @param config a configuration for creating or previewing an agent.
36
53
  * @returns the agent definition
37
54
  */
38
- create(config: AgentCreateConfig): Promise<AgentCreateResponse>;
55
+ static create(connection: Connection, project: SfProject, config: AgentCreateConfig): Promise<AgentCreateResponse>;
39
56
  /**
40
57
  * Create an agent spec from provided data.
41
58
  *
59
+ * @param connection a `Connection` to an org.
42
60
  * @param config The configuration used to generate an agent spec.
61
+ * @returns the agent job spec
62
+ */
63
+ static createSpec(connection: Connection, config: AgentJobSpecCreateConfig): Promise<AgentJobSpec>;
64
+ /**
65
+ * Returns the ID for this agent.
66
+ *
67
+ * @returns The ID of the agent (The `Bot` ID).
43
68
  */
44
- createSpec(config: AgentJobSpecCreateConfig): Promise<AgentJobSpec>;
45
- private verifyAgentSpecConfig;
69
+ getId(): Promise<string>;
46
70
  }
47
71
  /**
48
72
  * Generate an API name from an agent name. Matches what the UI does.
package/lib/agent.js CHANGED
@@ -50,6 +50,13 @@ const maybe_mock_1 = require("./maybe-mock");
50
50
  const utils_1 = require("./utils");
51
51
  ;
52
52
  const messages = new core_1.Messages('@salesforce/agents', 'agents', new Map([["invalidAgentSpecConfig", "Missing one or more of the required agent spec arguments: type, role, companyName, companyDescription"], ["missingAgentName", "The \"agentName\" configuration property is required when saving an agent."], ["agentRetrievalError", "Unable to retrieve newly created Agent metadata. Due to: %s"], ["agentRetrievalErrorActions", "Retrieve the agent metadata using the \"project retrieve start\" command."]]));
53
+ let logger;
54
+ const getLogger = () => {
55
+ if (!logger) {
56
+ logger = core_1.Logger.childFromRoot('Agent');
57
+ }
58
+ return logger;
59
+ };
53
60
  /**
54
61
  * Events emitted during Agent.create() for consumers to listen to and keep track of progress
55
62
  *
@@ -61,27 +68,39 @@ exports.AgentCreateLifecycleStages = {
61
68
  Retrieving: 'retrievingAgent',
62
69
  };
63
70
  /**
64
- * Class for creating Agents and agent specs.
71
+ * A client side representation of an agent within an org. Also provides utilities
72
+ * such as creating agents, listing agents, and creating agent specs.
73
+ *
74
+ * **Examples**
75
+ *
76
+ * Create a new instance and get the ID (uses the `Bot` ID):
77
+ *
78
+ * `const id = new Agent({connection, name}).getId();`
79
+ *
80
+ * Create a new agent in the org:
81
+ *
82
+ * `const myAgent = await Agent.create(connection, project, options);`
83
+ *
84
+ * List all agents in the local project:
85
+ *
86
+ * `const agentList = await Agent.list(project);`
65
87
  */
66
88
  class Agent {
67
- project;
68
- logger;
69
- maybeMock;
70
- connection;
89
+ options;
90
+ id;
71
91
  /**
72
- * Create an Agent instance
92
+ * Create an instance of an agent in an org. Must provide a connection to an org
93
+ * and the agent (Bot) API name as part of `AgentOptions`.
73
94
  *
74
- * @param {Connection} connection
75
- * @param {SfProject} project
95
+ * @param {options} AgentOptions
76
96
  */
77
- constructor(connection, project) {
78
- this.project = project;
79
- this.logger = core_1.Logger.childFromRoot(this.constructor.name);
80
- this.maybeMock = new maybe_mock_1.MaybeMock(connection);
81
- this.connection = connection;
97
+ constructor(options) {
98
+ this.options = options;
82
99
  }
83
100
  /**
84
101
  * List all agents in the current project.
102
+ *
103
+ * @param project a `SfProject` for a local DX project.
85
104
  */
86
105
  static async list(project) {
87
106
  const projectDirs = project.getPackageDirectories();
@@ -109,31 +128,34 @@ class Agent {
109
128
  /**
110
129
  * Creates an agent from a configuration, optionally saving the agent in an org.
111
130
  *
112
- * @param config a configuration for creating or previewing an agent
131
+ * @param connection a `Connection` to an org.
132
+ * @param project a `SfProject` for a local DX project.
133
+ * @param config a configuration for creating or previewing an agent.
113
134
  * @returns the agent definition
114
135
  */
115
- async create(config) {
136
+ static async create(connection, project, config) {
116
137
  const url = '/connect/ai-assist/create-agent';
138
+ const maybeMock = new maybe_mock_1.MaybeMock(connection);
117
139
  // When previewing agent creation just return the response.
118
140
  if (!config.saveAgent) {
119
- this.logger.debug(`Previewing agent creation using config: ${(0, node_util_1.inspect)(config)} in project: ${this.project.getPath()}`);
141
+ getLogger().debug(`Previewing agent creation using config: ${(0, node_util_1.inspect)(config)} in project: ${project.getPath()}`);
120
142
  await core_1.Lifecycle.getInstance().emit(exports.AgentCreateLifecycleStages.Previewing, {});
121
- const response = await this.maybeMock.request('POST', url, config);
143
+ const response = await maybeMock.request('POST', url, config);
122
144
  return decodeResponse(response);
123
145
  }
124
146
  if (!config.agentSettings?.agentName) {
125
147
  throw messages.createError('missingAgentName');
126
148
  }
127
- this.logger.debug(`Creating agent using config: ${(0, node_util_1.inspect)(config)} in project: ${this.project.getPath()}`);
149
+ getLogger().debug(`Creating agent using config: ${(0, node_util_1.inspect)(config)} in project: ${project.getPath()}`);
128
150
  await core_1.Lifecycle.getInstance().emit(exports.AgentCreateLifecycleStages.Creating, {});
129
151
  if (!config.agentSettings.agentApiName) {
130
152
  config.agentSettings.agentApiName = (0, exports.generateAgentApiName)(config.agentSettings?.agentName);
131
153
  }
132
- const response = await this.maybeMock.request('POST', url, config);
154
+ const response = await maybeMock.request('POST', url, config);
133
155
  // When saving agent creation we need to retrieve the created metadata.
134
156
  if (response.isSuccess) {
135
157
  await core_1.Lifecycle.getInstance().emit(exports.AgentCreateLifecycleStages.Retrieving, {});
136
- const defaultPackagePath = this.project.getDefaultPackage().path ?? 'force-app';
158
+ const defaultPackagePath = project.getDefaultPackage().path ?? 'force-app';
137
159
  try {
138
160
  const cs = await source_deploy_retrieve_1.ComponentSetBuilder.build({
139
161
  metadata: {
@@ -141,12 +163,12 @@ class Agent {
141
163
  directoryPaths: [defaultPackagePath],
142
164
  },
143
165
  org: {
144
- username: this.connection.getUsername(),
166
+ username: connection.getUsername(),
145
167
  exclude: [],
146
168
  },
147
169
  });
148
170
  const retrieve = await cs.retrieve({
149
- usernameOrConnection: this.connection,
171
+ usernameOrConnection: connection,
150
172
  merge: true,
151
173
  format: 'source',
152
174
  output: defaultPackagePath,
@@ -180,10 +202,13 @@ class Agent {
180
202
  /**
181
203
  * Create an agent spec from provided data.
182
204
  *
205
+ * @param connection a `Connection` to an org.
183
206
  * @param config The configuration used to generate an agent spec.
207
+ * @returns the agent job spec
184
208
  */
185
- async createSpec(config) {
186
- this.verifyAgentSpecConfig(config);
209
+ static async createSpec(connection, config) {
210
+ const maybeMock = new maybe_mock_1.MaybeMock(connection);
211
+ verifyAgentSpecConfig(config);
187
212
  const url = '/connect/ai-assist/draft-agent-topics';
188
213
  const body = {
189
214
  agentType: config.agentType,
@@ -207,7 +232,7 @@ class Agent {
207
232
  body.generationInfo.customizedInfo.groundingContext = config.groundingContext;
208
233
  }
209
234
  }
210
- const response = await this.maybeMock.request('POST', url, body);
235
+ const response = await maybeMock.request('POST', url, body);
211
236
  const htmlDecodedResponse = decodeResponse(response);
212
237
  if (htmlDecodedResponse.isSuccess) {
213
238
  return { ...config, topics: htmlDecodedResponse.topicDrafts };
@@ -220,15 +245,27 @@ class Agent {
220
245
  });
221
246
  }
222
247
  }
223
- // eslint-disable-next-line class-methods-use-this
224
- verifyAgentSpecConfig(config) {
225
- const { agentType, role, companyName, companyDescription } = config;
226
- if (!agentType || !role || !companyName || !companyDescription) {
227
- throw messages.createError('invalidAgentSpecConfig');
248
+ /**
249
+ * Returns the ID for this agent.
250
+ *
251
+ * @returns The ID of the agent (The `Bot` ID).
252
+ */
253
+ async getId() {
254
+ if (!this.id) {
255
+ const query = `SELECT Id FROM BotDefinition WHERE DeveloperName = '${this.options.name}'`;
256
+ this.id = (await this.options.connection.singleRecordQuery(query)).Id;
228
257
  }
258
+ return this.id;
229
259
  }
230
260
  }
231
261
  exports.Agent = Agent;
262
+ // private function used by Agent.createSpec()
263
+ const verifyAgentSpecConfig = (config) => {
264
+ const { agentType, role, companyName, companyDescription } = config;
265
+ if (!agentType || !role || !companyName || !companyDescription) {
266
+ throw messages.createError('invalidAgentSpecConfig');
267
+ }
268
+ };
232
269
  /**
233
270
  * Generate an API name from an agent name. Matches what the UI does.
234
271
  */
@@ -243,8 +280,8 @@ const generateAgentApiName = (agentName) => {
243
280
  .replace(/(^\d+)/, 'X$1')
244
281
  .slice(0, maxLength)
245
282
  .replace(/_$/, '');
246
- const logger = core_1.Logger.childFromRoot('Agent-GenApiName');
247
- logger.debug(`Generated Agent API name: [${apiName}] from Agent name: [${agentName}]`);
283
+ const genLogger = core_1.Logger.childFromRoot('Agent-GenApiName');
284
+ genLogger.debug(`Generated Agent API name: [${apiName}] from Agent name: [${agentName}]`);
248
285
  return apiName;
249
286
  };
250
287
  exports.generateAgentApiName = generateAgentApiName;
package/lib/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,gDAAkC;AAClC,+CAAiD;AACjD,2CAA+F;AAC/F,+EAAyE;AACzE,yCAA2C;AAU3C,6CAAyC;AACzC,mCAA6C;;AAG7C,MAAM,QAAQ,OAAG,eAAQ,CAAc,oBAAoB,EAAE,QAAQ,0bAAC,CAAC;AAEvE,IAAI,MAAc,CAAC;AACnB,MAAM,SAAS,GAAG,GAAW,EAAE;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,aAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACU,QAAA,0BAA0B,GAAG;IACxC,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,KAAK;IASW;IARnB,EAAE,CAAU;IAEpB;;;;;OAKG;IACH,YAA2B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEpD;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAkB;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,MAAM,WAAW,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAI,EAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,0CAA0C;YAC5C,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,4CAA4C;YAC5C,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,4CAA4C;YAC5C,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAAsB,EACtB,OAAkB,EAClB,MAAyB;QAEzB,MAAM,GAAG,GAAG,iCAAiC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,2DAA2D;QAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,KAAK,CAAC,2CAA2C,IAAA,mBAAO,EAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjH,MAAM,gBAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,kCAA0B,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAE9E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAsB,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACnF,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC;YACrC,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,SAAS,EAAE,CAAC,KAAK,CAAC,gCAAgC,IAAA,mBAAO,EAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtG,MAAM,gBAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,kCAA0B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,IAAA,4BAAoB,EAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAsB,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEnF,uEAAuE;QACvE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,gBAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,kCAA0B,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9E,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC;YAC3E,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,4CAAmB,CAAC,KAAK,CAAC;oBACzC,QAAQ,EAAE;wBACR,eAAe,EAAE,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;wBAC/D,cAAc,EAAE,CAAC,kBAAkB,CAAC;qBACrC;oBACD,GAAG,EAAE;wBACH,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAY;wBAC5C,OAAO,EAAE,EAAE;qBACZ;iBACF,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;oBACjC,oBAAoB,EAAE,UAAU;oBAChC,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,kBAAkB;iBAC3B,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC;oBAC/C,SAAS,EAAE,cAAQ,CAAC,YAAY,CAAC,GAAG,CAAC;oBACrC,OAAO,EAAE,cAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC7B,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;oBAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;oBACzE,KAAK,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBACpE,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACzC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,cAAO,CAAC,MAAM,CAAC;oBACnB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpE,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,MAAgC;QACrF,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,uCAAuC,CAAC;QAEpD,MAAM,IAAI,GAAyB;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc,EAAE;gBACd,WAAW,EAAE;oBACX,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;iBAC9C;aACF;YACD,kBAAkB,EAAE;gBAClB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;aAC5C;SACF,CAAC;QACF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACvF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAChF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAA2B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtF,MAAM,mBAAmB,GAAG,cAAc,CAA2B,QAAQ,CAAC,CAAC;QAE/E,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,WAAW,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,cAAO,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,mBAAmB,CAAC,YAAY,IAAI,SAAS;gBACtD,IAAI,EAAE,mBAAmB;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,uDAAuD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;YAC1F,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AA7LD,sBA6LC;AAED,8CAA8C;AAC9C,MAAM,qBAAqB,GAAG,CAAC,MAAgC,EAAQ,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACpE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/D,MAAM,QAAQ,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAU,EAAE;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,OAAO;SACd,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;SACxB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,SAAS,GAAG,aAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC3D,SAAS,CAAC,KAAK,CAAC,8BAA8B,OAAO,uBAAuB,SAAS,GAAG,CAAC,CAAC;IAC1F,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEF,wDAAwD;AACxD,MAAM,cAAc,GAAG,CAAmB,QAAW,EAAK,EAAE,CAC1D,IAAI,CAAC,KAAK,CAAC,IAAA,0BAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAM,CAAC"}
@@ -1,70 +1,59 @@
1
1
  import { Connection } from '@salesforce/core';
2
- type ApiStatus = {
3
- status: 'UP' | 'DOWN';
4
- };
5
- type Href = {
6
- href: string;
7
- };
8
- export type AgentPreviewError = {
9
- status: number;
10
- path: string;
11
- requestId: string;
12
- error: string;
13
- message: string;
14
- timestamp: number;
15
- };
16
- export type AgentPreviewMessageLinks = {
17
- self: Href | null;
18
- messages: Href | null;
19
- session: Href | null;
20
- end: Href | null;
21
- };
22
- export type MessageType = 'Inform' | 'TextChunk' | 'ProgressIndicator' | 'Inquire' | 'Confirm' | 'Failure' | 'Escalate' | 'SessionEnded' | 'EndOfTurn' | 'Error';
23
- export type AgentPreviewMessage = {
24
- type: MessageType;
25
- id: string;
26
- feedbackId: string;
27
- planId: string;
28
- isContentSafe: boolean;
29
- message: string;
30
- result: {
31
- type: string;
32
- property: string;
33
- value: any;
34
- };
35
- citedReferences: {
36
- type: string;
37
- value: string;
38
- };
39
- };
40
- export type AgentPreviewStartResponse = {
41
- sessionId: string;
42
- _links: AgentPreviewMessageLinks;
43
- messages: AgentPreviewMessage[];
44
- };
45
- export type AgentPreviewSendResponse = {
46
- messages: AgentPreviewMessage[];
47
- _links: AgentPreviewMessageLinks;
48
- };
49
- export type AgentPreviewEndMessage = {
50
- type: string;
51
- id: string;
52
- reason: string;
53
- feedbackId: string;
54
- };
55
- export type AgentPreviewEndResponse = {
56
- messages: AgentPreviewEndMessage[];
57
- _links: AgentPreviewMessageLinks;
58
- };
59
- type EndReason = 'UserRequest' | 'Transfer' | 'Expiration' | 'Error' | 'Other';
2
+ import { type AgentPreviewEndResponse, type AgentPreviewStartResponse, type AgentPreviewSendResponse, type ApiStatus, type EndReason } from './types.js';
3
+ /**
4
+ * A service to interact with an agent. Start an interactive session,
5
+ * send messages to the agent, and end the session.
6
+ *
7
+ * **Examples**
8
+ *
9
+ * Create an instance of the service:
10
+ *
11
+ * `const agentPreview = new AgentPreview(connection);`
12
+ *
13
+ * Start an interactive session:
14
+ *
15
+ * `const { sessionId } = await agentPreview.start(botId);`
16
+ *
17
+ * Send a message to the agent using the session ID from the startResponse:
18
+ *
19
+ * `const sendResponse = await agentPreview.send(sessionId, message);`
20
+ *
21
+ * End an interactive session:
22
+ *
23
+ * `await agentPreview.end(sessionId, 'UserRequest');`
24
+ */
60
25
  export declare class AgentPreview {
61
26
  private apiBase;
62
27
  private instanceUrl;
63
28
  private maybeMock;
64
29
  constructor(connection: Connection);
30
+ /**
31
+ * Start an interactive session with the provided agent.
32
+ *
33
+ * @param botId The ID of the agent (`Bot` ID).
34
+ * @returns `AgentPreviewStartResponse`, which includes a session ID needed for other actions.
35
+ */
65
36
  start(botId: string): Promise<AgentPreviewStartResponse>;
37
+ /**
38
+ * Send a message to the agent using the session ID obtained by calling `start()`.
39
+ *
40
+ * @param sessionId A session ID provided by first calling `agentPreview.start()`.
41
+ * @param message A message to send to the agent.
42
+ * @returns `AgentPreviewSendResponse`
43
+ */
66
44
  send(sessionId: string, message: string): Promise<AgentPreviewSendResponse>;
45
+ /**
46
+ * Ends an interactive session with the agent.
47
+ *
48
+ * @param sessionId A session ID provided by first calling `agentPreview.start()`.
49
+ * @param reason A reason why the interactive session was ended.
50
+ * @returns `AgentPreviewEndResponse`
51
+ */
67
52
  end(sessionId: string, reason: EndReason): Promise<AgentPreviewEndResponse>;
53
+ /**
54
+ * Get the status of the Agent API (UP | DOWN).
55
+ *
56
+ * @returns `ApiStatus`
57
+ */
68
58
  status(): Promise<ApiStatus>;
69
59
  }
70
- export {};
@@ -10,6 +10,28 @@ exports.AgentPreview = void 0;
10
10
  const node_crypto_1 = require("node:crypto");
11
11
  const core_1 = require("@salesforce/core");
12
12
  const maybe_mock_1 = require("./maybe-mock");
13
+ /**
14
+ * A service to interact with an agent. Start an interactive session,
15
+ * send messages to the agent, and end the session.
16
+ *
17
+ * **Examples**
18
+ *
19
+ * Create an instance of the service:
20
+ *
21
+ * `const agentPreview = new AgentPreview(connection);`
22
+ *
23
+ * Start an interactive session:
24
+ *
25
+ * `const { sessionId } = await agentPreview.start(botId);`
26
+ *
27
+ * Send a message to the agent using the session ID from the startResponse:
28
+ *
29
+ * `const sendResponse = await agentPreview.send(sessionId, message);`
30
+ *
31
+ * End an interactive session:
32
+ *
33
+ * `await agentPreview.end(sessionId, 'UserRequest');`
34
+ */
13
35
  class AgentPreview {
14
36
  apiBase;
15
37
  instanceUrl;
@@ -19,6 +41,12 @@ class AgentPreview {
19
41
  this.instanceUrl = connection.instanceUrl;
20
42
  this.maybeMock = new maybe_mock_1.MaybeMock(connection);
21
43
  }
44
+ /**
45
+ * Start an interactive session with the provided agent.
46
+ *
47
+ * @param botId The ID of the agent (`Bot` ID).
48
+ * @returns `AgentPreviewStartResponse`, which includes a session ID needed for other actions.
49
+ */
22
50
  async start(botId) {
23
51
  const url = `${this.apiBase}/agents/${botId}/sessions`;
24
52
  const body = {
@@ -38,6 +66,13 @@ class AgentPreview {
38
66
  throw core_1.SfError.wrap(err);
39
67
  }
40
68
  }
69
+ /**
70
+ * Send a message to the agent using the session ID obtained by calling `start()`.
71
+ *
72
+ * @param sessionId A session ID provided by first calling `agentPreview.start()`.
73
+ * @param message A message to send to the agent.
74
+ * @returns `AgentPreviewSendResponse`
75
+ */
41
76
  async send(sessionId, message) {
42
77
  const url = `${this.apiBase}/sessions/${sessionId}/messages`;
43
78
  const body = {
@@ -57,6 +92,13 @@ class AgentPreview {
57
92
  throw core_1.SfError.wrap(err);
58
93
  }
59
94
  }
95
+ /**
96
+ * Ends an interactive session with the agent.
97
+ *
98
+ * @param sessionId A session ID provided by first calling `agentPreview.start()`.
99
+ * @param reason A reason why the interactive session was ended.
100
+ * @returns `AgentPreviewEndResponse`
101
+ */
60
102
  async end(sessionId, reason) {
61
103
  const url = `${this.apiBase}/sessions/${sessionId}`;
62
104
  try {
@@ -69,7 +111,11 @@ class AgentPreview {
69
111
  throw core_1.SfError.wrap(err);
70
112
  }
71
113
  }
72
- // Get the status of the Agent API (UP | DOWN)
114
+ /**
115
+ * Get the status of the Agent API (UP | DOWN).
116
+ *
117
+ * @returns `ApiStatus`
118
+ */
73
119
  async status() {
74
120
  const base = 'https://test.api.salesforce.com';
75
121
  const url = `${base}/einstein/ai-agent/v1/status`;
@@ -1 +1 @@
1
- {"version":3,"file":"agentPreview.js","sourceRoot":"","sources":["../src/agentPreview.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6CAAyC;AACzC,2CAA2C;AAE3C,6CAAyC;AAgFzC,MAAa,YAAY;IACf,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,SAAS,CAAY;IAE7B,YAAmB,UAAsB;QACvC,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC;QAEvD,MAAM,IAAI,GAAG;YACX,kBAAkB,EAAE,IAAA,wBAAU,GAAE;YAChC,cAAc,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B;YACD,qBAAqB,EAAE;gBACrB,UAAU,EAAE,CAAC,MAAM,CAAC;aACrB;YACD,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA4B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,OAAe;QAClD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,WAAW,CAAC;QAC7D,MAAM,IAAI,GAAG;YACX,OAAO,EAAE;gBACP,+GAA+G;gBAC/G,8HAA8H;gBAC9H,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;YACD,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA2B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,MAAiB;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,EAAE,CAAC;QAEpD,IAAI,CAAC;YACH,iGAAiG;YACjG,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA0B,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrF,sBAAsB,EAAE,MAAM;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8CAA8C;IACvC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,iCAAiC,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,8BAA8B,CAAC;QAElD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAY,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AA5ED,oCA4EC"}
1
+ {"version":3,"file":"agentPreview.js","sourceRoot":"","sources":["../src/agentPreview.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6CAAyC;AACzC,2CAA2C;AAE3C,6CAAyC;AASzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,YAAY;IACf,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,SAAS,CAAY;IAE7B,YAAmB,UAAsB;QACvC,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC;QAEvD,MAAM,IAAI,GAAG;YACX,kBAAkB,EAAE,IAAA,wBAAU,GAAE;YAChC,cAAc,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B;YACD,qBAAqB,EAAE;gBACrB,UAAU,EAAE,CAAC,MAAM,CAAC;aACrB;YACD,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA4B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,OAAe;QAClD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,WAAW,CAAC;QAC7D,MAAM,IAAI,GAAG;YACX,OAAO,EAAE;gBACP,+GAA+G;gBAC/G,8HAA8H;gBAC9H,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;YACD,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA2B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,MAAiB;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,SAAS,EAAE,CAAC;QAEpD,IAAI,CAAC;YACH,iGAAiG;YACjG,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA0B,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrF,sBAAsB,EAAE,MAAM;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,iCAAiC,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,8BAA8B,CAAC;QAElD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAY,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AApGD,oCAoGC"}
@@ -1,68 +1,10 @@
1
1
  import { Connection } from '@salesforce/core';
2
2
  import { Duration } from '@salesforce/kit';
3
- import { DeployResult, FileProperties } from '@salesforce/source-deploy-retrieve';
4
- export type TestStatus = 'NEW' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR' | 'TERMINATED';
5
- export type AgentTestStartResponse = {
6
- runId: string;
7
- status: TestStatus;
8
- };
9
- export type AgentTestStatusResponse = {
10
- status: TestStatus;
11
- startTime: string;
12
- endTime?: string;
13
- errorMessage?: string;
14
- };
15
- export type TestCaseResult = {
16
- status: TestStatus;
17
- startTime: string;
18
- endTime?: string;
19
- inputs: {
20
- utterance: string;
21
- };
22
- generatedData: {
23
- actionsSequence: string[];
24
- outcome: string;
25
- topic: string;
26
- };
27
- testResults: Array<{
28
- name: string;
29
- actualValue: string;
30
- expectedValue: string;
31
- score: number;
32
- result: null | 'PASS' | 'FAILURE';
33
- metricLabel: 'Accuracy' | 'Precision';
34
- metricExplainability: string;
35
- status: TestStatus;
36
- startTime: string;
37
- endTime?: string;
38
- errorCode?: string;
39
- errorMessage?: string;
40
- }>;
41
- testNumber: number;
42
- };
43
- export type AgentTestResultsResponse = {
44
- status: TestStatus;
45
- startTime: string;
46
- endTime?: string;
47
- errorMessage?: string;
48
- subjectName: string;
49
- testCases: TestCaseResult[];
50
- };
51
- export type AvailableDefinition = Omit<FileProperties, 'manageableState' | 'namespacePrefix'>;
52
- export type TestCase = {
53
- utterance: string;
54
- expectedActions: string[] | undefined;
55
- expectedOutcome: string | undefined;
56
- expectedTopic: string | undefined;
57
- };
58
- export type TestSpec = {
59
- name: string;
60
- description?: string;
61
- subjectType: string;
62
- subjectName: string;
63
- subjectVersion?: string;
64
- testCases: TestCase[];
65
- };
3
+ import { DeployResult } from '@salesforce/source-deploy-retrieve';
4
+ import { type AvailableDefinition, type AgentTestStartResponse, type AgentTestStatusResponse, type AgentTestResultsResponse, type TestSpec } from './types.js';
5
+ /**
6
+ * Events emitted during agent test creation for consumers to listen to and keep track of progress.
7
+ */
66
8
  export declare const AgentTestCreateLifecycleStages: {
67
9
  CreatingLocalMetadata: string;
68
10
  Waiting: string;
@@ -70,7 +12,26 @@ export declare const AgentTestCreateLifecycleStages: {
70
12
  Done: string;
71
13
  };
72
14
  /**
73
- * AgentTester class to test Agents
15
+ * A service for testing agents using `AiEvaluationDefinition` metadata. Start asynchronous
16
+ * test runs, get or poll for test status, and get detailed test results.
17
+ *
18
+ * **Examples**
19
+ *
20
+ * Create an instance of the service:
21
+ *
22
+ * `const agentTester = new AgentTester(connection);`
23
+ *
24
+ * Start a test run:
25
+ *
26
+ * `const startResponse = await agentTester.start(aiEvalDef);`
27
+ *
28
+ * Get the status for a test run:
29
+ *
30
+ * `const status = await agentTester.status(startResponse.runId);`
31
+ *
32
+ * Get detailed results for a test run:
33
+ *
34
+ * `const results = await agentTester.results(startResponse.runId);`
74
35
  */
75
36
  export declare class AgentTester {
76
37
  private connection;
@@ -81,21 +42,21 @@ export declare class AgentTester {
81
42
  */
82
43
  list(): Promise<AvailableDefinition[]>;
83
44
  /**
84
- * Initiates an AI evaluation run.
45
+ * Initiates a test run (i.e., AI evaluation).
85
46
  *
86
47
  * @param aiEvalDefName - The name of the AI evaluation definition to run.
87
48
  * @returns Promise that resolves with the response from starting the test.
88
49
  */
89
50
  start(aiEvalDefName: string): Promise<AgentTestStartResponse>;
90
51
  /**
91
- * Get the status of a test run
52
+ * Get the status of a test run.
92
53
  *
93
54
  * @param {string} jobId
94
55
  * @returns {Promise<AgentTestStatusResponse>}
95
56
  */
96
57
  status(jobId: string): Promise<AgentTestStatusResponse>;
97
58
  /**
98
- * Poll for a test run to complete
59
+ * Poll the status of a test run until the tests are complete or the timeout is reached.
99
60
  *
100
61
  * @param {string} jobId
101
62
  * @param {Duration} timeout
@@ -105,14 +66,14 @@ export declare class AgentTester {
105
66
  timeout?: Duration;
106
67
  }): Promise<AgentTestResultsResponse>;
107
68
  /**
108
- * Request test run details
69
+ * Get detailed test run results.
109
70
  *
110
71
  * @param {string} jobId
111
72
  * @returns {Promise<AgentTestResultsResponse>}
112
73
  */
113
74
  results(jobId: string): Promise<AgentTestResultsResponse>;
114
75
  /**
115
- * Cancel an in-progress test run
76
+ * Cancel an in-progress test run.
116
77
  *
117
78
  * @param {string} jobId
118
79
  * @returns {Promise<{success: boolean}>}
@@ -145,6 +106,13 @@ export declare class AgentTester {
145
106
  deployResult?: DeployResult;
146
107
  }>;
147
108
  }
109
+ /**
110
+ * Convert the raw, detailed test results to another format.
111
+ *
112
+ * @param results The detailed results from a test run.
113
+ * @param format The desired format. One of: json, junit, or tap.
114
+ * @returns
115
+ */
148
116
  export declare function convertTestResultsToFormat(results: AgentTestResultsResponse, format: 'json' | 'junit' | 'tap'): Promise<string>;
149
117
  /**
150
118
  * Normalizes test results by decoding HTML entities in utterances and test result values.
@@ -153,6 +121,7 @@ export declare function convertTestResultsToFormat(results: AgentTestResultsResp
153
121
  * @returns A new AgentTestResultsResponse with decoded HTML entities
154
122
  *
155
123
  * @example
124
+ * ```
156
125
  * const results = {
157
126
  * testCases: [{
158
127
  * inputs: { utterance: "&quot;hello&quot;" },
@@ -163,6 +132,7 @@ export declare function convertTestResultsToFormat(results: AgentTestResultsResp
163
132
  * }]
164
133
  * };
165
134
  * const normalized = normalizeResults(results);
135
+ * ```
166
136
  */
167
137
  export declare function normalizeResults(results: AgentTestResultsResponse): AgentTestResultsResponse;
168
138
  export declare function humanFriendlyName(name: string): string;
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright (c) 2024, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.AgentTester = exports.AgentTestCreateLifecycleStages = void 0;
4
10
  exports.convertTestResultsToFormat = convertTestResultsToFormat;
@@ -6,13 +12,6 @@ exports.normalizeResults = normalizeResults;
6
12
  exports.humanFriendlyName = humanFriendlyName;
7
13
  exports.writeTestSpec = writeTestSpec;
8
14
  exports.generateTestSpecFromAiEvalDefinition = generateTestSpecFromAiEvalDefinition;
9
- /*
10
- * Copyright (c) 2024, salesforce.com, inc.
11
- * All rights reserved.
12
- * Licensed under the BSD 3-Clause license.
13
- * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
14
- */
15
- /* eslint-disable jsdoc/check-indentation */
16
15
  const promises_1 = require("node:fs/promises");
17
16
  const node_path_1 = require("node:path");
18
17
  const core_1 = require("@salesforce/core");
@@ -22,6 +21,9 @@ const yaml_1 = require("yaml");
22
21
  const fast_xml_parser_1 = require("fast-xml-parser");
23
22
  const maybe_mock_1 = require("./maybe-mock");
24
23
  const utils_1 = require("./utils");
24
+ /**
25
+ * Events emitted during agent test creation for consumers to listen to and keep track of progress.
26
+ */
25
27
  exports.AgentTestCreateLifecycleStages = {
26
28
  CreatingLocalMetadata: 'Creating Local Metadata',
27
29
  Waiting: 'Waiting for the org to respond',
@@ -29,7 +31,26 @@ exports.AgentTestCreateLifecycleStages = {
29
31
  Done: 'Done',
30
32
  };
31
33
  /**
32
- * AgentTester class to test Agents
34
+ * A service for testing agents using `AiEvaluationDefinition` metadata. Start asynchronous
35
+ * test runs, get or poll for test status, and get detailed test results.
36
+ *
37
+ * **Examples**
38
+ *
39
+ * Create an instance of the service:
40
+ *
41
+ * `const agentTester = new AgentTester(connection);`
42
+ *
43
+ * Start a test run:
44
+ *
45
+ * `const startResponse = await agentTester.start(aiEvalDef);`
46
+ *
47
+ * Get the status for a test run:
48
+ *
49
+ * `const status = await agentTester.status(startResponse.runId);`
50
+ *
51
+ * Get detailed results for a test run:
52
+ *
53
+ * `const results = await agentTester.results(startResponse.runId);`
33
54
  */
34
55
  class AgentTester {
35
56
  connection;
@@ -45,7 +66,7 @@ class AgentTester {
45
66
  return this.connection.metadata.list({ type: 'AiEvaluationDefinition' });
46
67
  }
47
68
  /**
48
- * Initiates an AI evaluation run.
69
+ * Initiates a test run (i.e., AI evaluation).
49
70
  *
50
71
  * @param aiEvalDefName - The name of the AI evaluation definition to run.
51
72
  * @returns Promise that resolves with the response from starting the test.
@@ -57,7 +78,7 @@ class AgentTester {
57
78
  });
58
79
  }
59
80
  /**
60
- * Get the status of a test run
81
+ * Get the status of a test run.
61
82
  *
62
83
  * @param {string} jobId
63
84
  * @returns {Promise<AgentTestStatusResponse>}
@@ -67,7 +88,7 @@ class AgentTester {
67
88
  return this.maybeMock.request('GET', url);
68
89
  }
69
90
  /**
70
- * Poll for a test run to complete
91
+ * Poll the status of a test run until the tests are complete or the timeout is reached.
71
92
  *
72
93
  * @param {string} jobId
73
94
  * @param {Duration} timeout
@@ -113,7 +134,7 @@ class AgentTester {
113
134
  return client.subscribe();
114
135
  }
115
136
  /**
116
- * Request test run details
137
+ * Get detailed test run results.
117
138
  *
118
139
  * @param {string} jobId
119
140
  * @returns {Promise<AgentTestResultsResponse>}
@@ -124,7 +145,7 @@ class AgentTester {
124
145
  return normalizeResults(results);
125
146
  }
126
147
  /**
127
- * Cancel an in-progress test run
148
+ * Cancel an in-progress test run.
128
149
  *
129
150
  * @param {string} jobId
130
151
  * @returns {Promise<{success: boolean}>}
@@ -228,6 +249,13 @@ class AgentTester {
228
249
  }
229
250
  }
230
251
  exports.AgentTester = AgentTester;
252
+ /**
253
+ * Convert the raw, detailed test results to another format.
254
+ *
255
+ * @param results The detailed results from a test run.
256
+ * @param format The desired format. One of: json, junit, or tap.
257
+ * @returns
258
+ */
231
259
  async function convertTestResultsToFormat(results, format) {
232
260
  switch (format) {
233
261
  case 'json':
@@ -247,6 +275,7 @@ async function convertTestResultsToFormat(results, format) {
247
275
  * @returns A new AgentTestResultsResponse with decoded HTML entities
248
276
  *
249
277
  * @example
278
+ * ```
250
279
  * const results = {
251
280
  * testCases: [{
252
281
  * inputs: { utterance: "&quot;hello&quot;" },
@@ -257,6 +286,7 @@ async function convertTestResultsToFormat(results, format) {
257
286
  * }]
258
287
  * };
259
288
  * const normalized = normalizeResults(results);
289
+ * ```
260
290
  */
261
291
  function normalizeResults(results) {
262
292
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"agentTester.js","sourceRoot":"","sources":["../src/agentTester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTester.js","sourceRoot":"","sources":["../src/agentTester.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { type AgentCreateConfig, type AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig, type AgentTone, type AgentType, type DraftAgentTopics, type DraftAgentTopicsBody, type DraftAgentTopicsResponse, } from './types';
1
+ export { type AgentCreateConfig, type AgentCreateResponse, type AgentJobSpec, type AgentJobSpecCreateConfig, type AgentOptions, type AgentTone, type AgentType, type AgentPreviewMessageLinks, type AgentPreviewMessage, type AgentPreviewStartResponse, type AgentPreviewSendResponse, type AgentPreviewEndResponse, type DraftAgentTopics, type DraftAgentTopicsBody, type DraftAgentTopicsResponse, type AvailableDefinition, type AgentTestResultsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './types';
2
2
  export { Agent, AgentCreateLifecycleStages, generateAgentApiName } from './agent';
3
- export { AgentTester, AgentTestCreateLifecycleStages, convertTestResultsToFormat, writeTestSpec, generateTestSpecFromAiEvalDefinition, humanFriendlyName, type AvailableDefinition, type AgentTestResultsResponse, type AgentTestStartResponse, type AgentTestStatusResponse, type TestCaseResult, type TestStatus, } from './agentTester';
4
- export { AgentPreview, type AgentPreviewMessageLinks, type AgentPreviewMessage, type AgentPreviewStartResponse, type AgentPreviewSendResponse, type AgentPreviewEndResponse, } from './agentPreview';
3
+ export { AgentTester, AgentTestCreateLifecycleStages, convertTestResultsToFormat, writeTestSpec, generateTestSpecFromAiEvalDefinition, humanFriendlyName, } from './agentTester';
4
+ export { AgentPreview } from './agentPreview';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAaH,iCAAkF;AAAzE,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAChE,6CAauB;AAZrB,0GAAA,WAAW,OAAA;AACX,6HAAA,8BAA8B,OAAA;AAC9B,yHAAA,0BAA0B,OAAA;AAC1B,4GAAA,aAAa,OAAA;AACb,mIAAA,oCAAoC,OAAA;AACpC,gHAAA,iBAAiB,OAAA;AAQnB,+CAOwB;AANtB,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAyBH,iCAAkF;AAAzE,8FAAA,KAAK,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAChE,6CAOuB;AANrB,0GAAA,WAAW,OAAA;AACX,6HAAA,8BAA8B,OAAA;AAC9B,yHAAA,0BAA0B,OAAA;AAC1B,4GAAA,aAAa,OAAA;AACb,mIAAA,oCAAoC,OAAA;AACpC,gHAAA,iBAAiB,OAAA;AAEnB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
package/lib/types.d.ts CHANGED
@@ -1,3 +1,13 @@
1
+ import { Connection, SfProject } from '@salesforce/core';
2
+ import { FileProperties } from '@salesforce/source-deploy-retrieve';
3
+ /**
4
+ * Options for creating instances of agents from an org.
5
+ */
6
+ export type AgentOptions = {
7
+ connection: Connection;
8
+ project?: SfProject;
9
+ name: string;
10
+ };
1
11
  /**
2
12
  * An agent job spec is a list of job titles and descriptions
3
13
  * to be performed by the agent.
@@ -179,3 +189,142 @@ export type DraftAgentTopicsResponse = {
179
189
  errorMessage?: string;
180
190
  topicDrafts: DraftAgentTopics;
181
191
  };
192
+ export type TestStatus = 'NEW' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR' | 'TERMINATED';
193
+ export type AgentTestStartResponse = {
194
+ runId: string;
195
+ status: TestStatus;
196
+ };
197
+ export type AgentTestStatusResponse = {
198
+ status: TestStatus;
199
+ startTime: string;
200
+ endTime?: string;
201
+ errorMessage?: string;
202
+ };
203
+ export type TestCaseResult = {
204
+ status: TestStatus;
205
+ startTime: string;
206
+ endTime?: string;
207
+ inputs: {
208
+ utterance: string;
209
+ };
210
+ generatedData: {
211
+ actionsSequence: string[];
212
+ outcome: string;
213
+ topic: string;
214
+ };
215
+ testResults: Array<{
216
+ name: string;
217
+ actualValue: string;
218
+ expectedValue: string;
219
+ score: number;
220
+ result: null | 'PASS' | 'FAILURE';
221
+ metricLabel: 'Accuracy' | 'Precision';
222
+ metricExplainability: string;
223
+ status: TestStatus;
224
+ startTime: string;
225
+ endTime?: string;
226
+ errorCode?: string;
227
+ errorMessage?: string;
228
+ }>;
229
+ testNumber: number;
230
+ };
231
+ export type AgentTestResultsResponse = {
232
+ status: TestStatus;
233
+ startTime: string;
234
+ endTime?: string;
235
+ errorMessage?: string;
236
+ subjectName: string;
237
+ testCases: TestCaseResult[];
238
+ };
239
+ export type AvailableDefinition = Omit<FileProperties, 'manageableState' | 'namespacePrefix'>;
240
+ export type TestCase = {
241
+ utterance: string;
242
+ expectedActions: string[] | undefined;
243
+ expectedOutcome: string | undefined;
244
+ expectedTopic: string | undefined;
245
+ };
246
+ export type TestSpec = {
247
+ name: string;
248
+ description?: string;
249
+ subjectType: string;
250
+ subjectName: string;
251
+ subjectVersion?: string;
252
+ testCases: TestCase[];
253
+ };
254
+ export type AiEvaluationDefinition = {
255
+ AiEvaluationDefinition: {
256
+ description?: string;
257
+ name: string;
258
+ subjectType: 'AGENT';
259
+ subjectName: string;
260
+ subjectVersion?: string;
261
+ testCase: Array<{
262
+ expectation: Array<{
263
+ name: string;
264
+ expectedValue: string;
265
+ }>;
266
+ inputs: {
267
+ utterance: string;
268
+ };
269
+ }>;
270
+ };
271
+ };
272
+ export type ApiStatus = {
273
+ status: 'UP' | 'DOWN';
274
+ };
275
+ type Href = {
276
+ href: string;
277
+ };
278
+ export type AgentPreviewError = {
279
+ status: number;
280
+ path: string;
281
+ requestId: string;
282
+ error: string;
283
+ message: string;
284
+ timestamp: number;
285
+ };
286
+ export type AgentPreviewMessageLinks = {
287
+ self: Href | null;
288
+ messages: Href | null;
289
+ session: Href | null;
290
+ end: Href | null;
291
+ };
292
+ export type MessageType = 'Inform' | 'TextChunk' | 'ProgressIndicator' | 'Inquire' | 'Confirm' | 'Failure' | 'Escalate' | 'SessionEnded' | 'EndOfTurn' | 'Error';
293
+ export type AgentPreviewMessage = {
294
+ type: MessageType;
295
+ id: string;
296
+ feedbackId: string;
297
+ planId: string;
298
+ isContentSafe: boolean;
299
+ message: string;
300
+ result: {
301
+ type: string;
302
+ property: string;
303
+ value: any;
304
+ };
305
+ citedReferences: {
306
+ type: string;
307
+ value: string;
308
+ };
309
+ };
310
+ export type AgentPreviewStartResponse = {
311
+ sessionId: string;
312
+ _links: AgentPreviewMessageLinks;
313
+ messages: AgentPreviewMessage[];
314
+ };
315
+ export type AgentPreviewSendResponse = {
316
+ messages: AgentPreviewMessage[];
317
+ _links: AgentPreviewMessageLinks;
318
+ };
319
+ export type AgentPreviewEndMessage = {
320
+ type: string;
321
+ id: string;
322
+ reason: string;
323
+ feedbackId: string;
324
+ };
325
+ export type AgentPreviewEndResponse = {
326
+ messages: AgentPreviewEndMessage[];
327
+ _links: AgentPreviewMessageLinks;
328
+ };
329
+ export type EndReason = 'UserRequest' | 'Transfer' | 'Expiration' | 'Error' | 'Other';
330
+ export {};
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.13.7",
4
+ "version": "0.14.0",
5
5
  "license": "BSD-3-Clause",
6
6
  "author": "Salesforce",
7
7
  "main": "lib/index",
@@ -16,7 +16,7 @@
16
16
  "@salesforce/source-deploy-retrieve": "^12.18.2",
17
17
  "fast-xml-parser": "^4.5.3",
18
18
  "nock": "^13.5.6",
19
- "yaml": "^2.7.0"
19
+ "yaml": "^2.7.1"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@salesforce/cli-plugins-testkit": "^5.3.39",