@microsoft/agents-copilotstudio-client 1.1.0-alpha.5 → 1.1.0-alpha.75

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.
@@ -17,8 +17,8 @@ export declare class CopilotStudioClient {
17
17
  private conversationId;
18
18
  /** The connection settings for the client. */
19
19
  private readonly settings;
20
- /** The Axios instance used for HTTP requests. */
21
- private readonly client;
20
+ /** The authenticaton token. */
21
+ private readonly token;
22
22
  /**
23
23
  * Returns the scope URL needed to connect to Copilot Studio from the connection settings.
24
24
  * This is used for authentication token audience configuration.
@@ -32,6 +32,13 @@ export declare class CopilotStudioClient {
32
32
  * @param token The authentication token.
33
33
  */
34
34
  constructor(settings: ConnectionSettings, token: string);
35
+ /**
36
+ * Streams activities from the Copilot Studio service using eventsource-client.
37
+ * @param url The connection URL for Copilot Studio.
38
+ * @param body Optional. The request body (for POST).
39
+ * @param method Optional. The HTTP method (default: POST).
40
+ * @returns An async generator yielding the Agent's Activities.
41
+ */
35
42
  private postRequestAsync;
36
43
  /**
37
44
  * Appends this package.json version to the User-Agent header.
@@ -40,24 +47,25 @@ export declare class CopilotStudioClient {
40
47
  * @returns A string containing the product information, including version and user agent.
41
48
  */
42
49
  private static getProductInfo;
50
+ private processResponseHeaders;
43
51
  /**
44
52
  * Starts a new conversation with the Copilot Studio service.
45
53
  * @param emitStartConversationEvent Whether to emit a start conversation event. Defaults to true.
46
- * @returns A promise that resolves to the initial activity of the conversation.
54
+ * @returns An async generator yielding the Agent's Activities.
47
55
  */
48
- startConversationAsync(emitStartConversationEvent?: boolean): Promise<Activity>;
56
+ startConversationAsync(emitStartConversationEvent?: boolean): AsyncGenerator<Activity>;
49
57
  /**
50
58
  * Sends a question to the Copilot Studio service and retrieves the response activities.
51
59
  * @param question The question to ask.
52
60
  * @param conversationId The ID of the conversation. Defaults to the current conversation ID.
53
- * @returns A promise that resolves to an array of activities containing the responses.
61
+ * @returns An async generator yielding the Agent's Activities.
54
62
  */
55
- askQuestionAsync(question: string, conversationId?: string): Promise<Activity[]>;
63
+ askQuestionAsync(question: string, conversationId?: string): AsyncGenerator<Activity>;
56
64
  /**
57
65
  * Sends an activity to the Copilot Studio service and retrieves the response activities.
58
66
  * @param activity The activity to send.
59
67
  * @param conversationId The ID of the conversation. Defaults to the current conversation ID.
60
- * @returns A promise that resolves to an array of activities containing the responses.
68
+ * @returns An async generator yielding the Agent's Activities.
61
69
  */
62
- sendActivity(activity: Activity, conversationId?: string): Promise<Activity[]>;
70
+ sendActivity(activity: Activity, conversationId?: string): AsyncGenerator<Activity>;
63
71
  }
@@ -8,7 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.CopilotStudioClient = void 0;
11
- const axios_1 = __importDefault(require("axios"));
11
+ const eventsource_client_1 = require("eventsource-client");
12
12
  const powerPlatformEnvironment_1 = require("./powerPlatformEnvironment");
13
13
  const agents_activity_1 = require("@microsoft/agents-activity");
14
14
  const executeTurnRequest_1 = require("./executeTurnRequest");
@@ -30,72 +30,70 @@ class CopilotStudioClient {
30
30
  /** The ID of the current conversation. */
31
31
  this.conversationId = '';
32
32
  this.settings = settings;
33
- this.client = axios_1.default.create();
34
- this.client.defaults.headers.common.Authorization = `Bearer ${token}`;
35
- this.client.defaults.headers.common['User-Agent'] = CopilotStudioClient.getProductInfo();
33
+ this.token = token;
36
34
  }
37
- async postRequestAsync(axiosConfig) {
38
- var _a, _b, _c, _d;
39
- const activities = [];
40
- logger.debug(`>>> SEND TO ${axiosConfig.url}`);
41
- const response = await this.client(axiosConfig);
42
- if (this.settings.useExperimentalEndpoint && !((_a = this.settings.directConnectUrl) === null || _a === void 0 ? void 0 : _a.trim())) {
43
- const islandExperimentalUrl = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[CopilotStudioClient.islandExperimentalUrlHeaderKey];
44
- if (islandExperimentalUrl) {
45
- this.settings.directConnectUrl = islandExperimentalUrl;
46
- logger.debug(`Island Experimental URL: ${islandExperimentalUrl}`);
47
- }
48
- }
49
- this.conversationId = (_d = (_c = response.headers) === null || _c === void 0 ? void 0 : _c[CopilotStudioClient.conversationIdHeaderKey]) !== null && _d !== void 0 ? _d : '';
50
- if (this.conversationId) {
51
- logger.debug(`Conversation ID: ${this.conversationId}`);
52
- }
53
- const sanitizedHeaders = { ...response.headers };
54
- delete sanitizedHeaders['Authorization'];
55
- delete sanitizedHeaders[CopilotStudioClient.conversationIdHeaderKey];
56
- logger.debug('Headers received:', sanitizedHeaders);
57
- const stream = response.data;
58
- const reader = stream.pipeThrough(new TextDecoderStream()).getReader();
59
- let result = '';
60
- const results = [];
61
- const processEvents = async ({ done, value }) => {
62
- if (done) {
63
- logger.debug('Stream complete');
64
- result += value;
65
- results.push(result);
66
- return results;
35
+ /**
36
+ * Streams activities from the Copilot Studio service using eventsource-client.
37
+ * @param url The connection URL for Copilot Studio.
38
+ * @param body Optional. The request body (for POST).
39
+ * @param method Optional. The HTTP method (default: POST).
40
+ * @returns An async generator yielding the Agent's Activities.
41
+ */
42
+ async *postRequestAsync(url, body, method = 'POST') {
43
+ var _a, _b;
44
+ logger.debug(`>>> SEND TO ${url}`);
45
+ const eventSource = (0, eventsource_client_1.createEventSource)({
46
+ url,
47
+ headers: {
48
+ Authorization: `Bearer ${this.token}`,
49
+ 'User-Agent': CopilotStudioClient.getProductInfo(),
50
+ 'Content-Type': 'application/json',
51
+ Accept: 'text/event-stream'
52
+ },
53
+ body: body ? JSON.stringify(body) : undefined,
54
+ method,
55
+ fetch: async (url, init) => {
56
+ const response = await fetch(url, init);
57
+ this.processResponseHeaders(response.headers);
58
+ return response;
67
59
  }
68
- logger.info('Agent is typing ...');
69
- result += value;
70
- return await processEvents(await reader.read());
71
- };
72
- const events = await reader.read().then(processEvents);
73
- events.forEach(event => {
74
- const values = event.toString().split('\n');
75
- const validEvents = values.filter(e => e.substring(0, 4) === 'data' && e !== 'data: end\r');
76
- validEvents.forEach(ve => {
77
- var _a, _b;
78
- try {
79
- const act = agents_activity_1.Activity.fromJson(ve.substring(5, ve.length));
80
- if (act.type === agents_activity_1.ActivityTypes.Message) {
81
- activities.push(act);
82
- if (!this.conversationId.trim()) {
83
- // Did not get it from the header.
84
- this.conversationId = (_b = (_a = act.conversation) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '';
85
- logger.debug(`Conversation ID: ${this.conversationId}`);
60
+ });
61
+ try {
62
+ for await (const { data, event } of eventSource) {
63
+ if (data && event === 'activity') {
64
+ try {
65
+ const activity = agents_activity_1.Activity.fromJson(data);
66
+ switch (activity.type) {
67
+ case agents_activity_1.ActivityTypes.Message:
68
+ if (!this.conversationId.trim()) { // Did not get it from the header.
69
+ this.conversationId = (_b = (_a = activity.conversation) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '';
70
+ logger.debug(`Conversation ID: ${this.conversationId}`);
71
+ }
72
+ yield activity;
73
+ break;
74
+ default:
75
+ logger.debug(`Activity type: ${activity.type}`);
76
+ yield activity;
77
+ break;
86
78
  }
87
79
  }
88
- else {
89
- logger.debug(`Activity type: ${act.type}`);
80
+ catch (error) {
81
+ logger.error('Failed to parse activity:', error);
90
82
  }
91
83
  }
92
- catch (e) {
93
- logger.error('Error: ', e);
94
- throw e;
84
+ else if (event === 'end') {
85
+ logger.debug('Stream complete');
86
+ break;
95
87
  }
96
- });
97
- });
98
- return activities;
88
+ if (eventSource.readyState === 'closed') {
89
+ logger.debug('Connection closed');
90
+ break;
91
+ }
92
+ }
93
+ }
94
+ finally {
95
+ eventSource.close();
96
+ }
99
97
  }
100
98
  /**
101
99
  * Appends this package.json version to the User-Agent header.
@@ -115,39 +113,45 @@ class CopilotStudioClient {
115
113
  logger.debug(`User-Agent: ${userAgent}`);
116
114
  return userAgent;
117
115
  }
116
+ processResponseHeaders(responseHeaders) {
117
+ var _a, _b;
118
+ if (this.settings.useExperimentalEndpoint && !((_a = this.settings.directConnectUrl) === null || _a === void 0 ? void 0 : _a.trim())) {
119
+ const islandExperimentalUrl = responseHeaders === null || responseHeaders === void 0 ? void 0 : responseHeaders.get(CopilotStudioClient.islandExperimentalUrlHeaderKey);
120
+ if (islandExperimentalUrl) {
121
+ this.settings.directConnectUrl = islandExperimentalUrl;
122
+ logger.debug(`Island Experimental URL: ${islandExperimentalUrl}`);
123
+ }
124
+ }
125
+ this.conversationId = (_b = responseHeaders === null || responseHeaders === void 0 ? void 0 : responseHeaders.get(CopilotStudioClient.conversationIdHeaderKey)) !== null && _b !== void 0 ? _b : '';
126
+ if (this.conversationId) {
127
+ logger.debug(`Conversation ID: ${this.conversationId}`);
128
+ }
129
+ const sanitizedHeaders = new Headers();
130
+ responseHeaders.forEach((value, key) => {
131
+ if (key.toLowerCase() !== 'authorization' && key.toLowerCase() !== CopilotStudioClient.conversationIdHeaderKey.toLowerCase()) {
132
+ sanitizedHeaders.set(key, value);
133
+ }
134
+ });
135
+ logger.debug('Headers received:', sanitizedHeaders);
136
+ }
118
137
  /**
119
138
  * Starts a new conversation with the Copilot Studio service.
120
139
  * @param emitStartConversationEvent Whether to emit a start conversation event. Defaults to true.
121
- * @returns A promise that resolves to the initial activity of the conversation.
140
+ * @returns An async generator yielding the Agent's Activities.
122
141
  */
123
- async startConversationAsync(emitStartConversationEvent = true) {
124
- var _a;
142
+ async *startConversationAsync(emitStartConversationEvent = true) {
125
143
  const uriStart = (0, powerPlatformEnvironment_1.getCopilotStudioConnectionUrl)(this.settings);
126
144
  const body = { emitStartConversationEvent };
127
- const config = {
128
- method: 'post',
129
- url: uriStart,
130
- headers: {
131
- Accept: 'text/event-stream',
132
- 'Content-Type': 'application/json',
133
- },
134
- data: body,
135
- responseType: 'stream',
136
- adapter: 'fetch'
137
- };
138
145
  logger.info('Starting conversation ...');
139
- const values = await this.postRequestAsync(config);
140
- const act = values[0];
141
- logger.info(`Conversation '${(_a = act.conversation) === null || _a === void 0 ? void 0 : _a.id}' started. Received ${values.length} activities.`, values);
142
- return act;
146
+ yield* this.postRequestAsync(uriStart, body, 'POST');
143
147
  }
144
148
  /**
145
149
  * Sends a question to the Copilot Studio service and retrieves the response activities.
146
150
  * @param question The question to ask.
147
151
  * @param conversationId The ID of the conversation. Defaults to the current conversation ID.
148
- * @returns A promise that resolves to an array of activities containing the responses.
152
+ * @returns An async generator yielding the Agent's Activities.
149
153
  */
150
- async askQuestionAsync(question, conversationId = this.conversationId) {
154
+ async *askQuestionAsync(question, conversationId = this.conversationId) {
151
155
  const conversationAccount = {
152
156
  id: conversationId
153
157
  };
@@ -157,34 +161,21 @@ class CopilotStudioClient {
157
161
  conversation: conversationAccount
158
162
  };
159
163
  const activity = agents_activity_1.Activity.fromObject(activityObj);
160
- return this.sendActivity(activity);
164
+ yield* this.sendActivity(activity);
161
165
  }
162
166
  /**
163
167
  * Sends an activity to the Copilot Studio service and retrieves the response activities.
164
168
  * @param activity The activity to send.
165
169
  * @param conversationId The ID of the conversation. Defaults to the current conversation ID.
166
- * @returns A promise that resolves to an array of activities containing the responses.
170
+ * @returns An async generator yielding the Agent's Activities.
167
171
  */
168
- async sendActivity(activity, conversationId = this.conversationId) {
172
+ async *sendActivity(activity, conversationId = this.conversationId) {
169
173
  var _a, _b;
170
174
  const localConversationId = (_b = (_a = activity.conversation) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : conversationId;
171
175
  const uriExecute = (0, powerPlatformEnvironment_1.getCopilotStudioConnectionUrl)(this.settings, localConversationId);
172
176
  const qbody = new executeTurnRequest_1.ExecuteTurnRequest(activity);
173
- const config = {
174
- method: 'post',
175
- url: uriExecute,
176
- headers: {
177
- Accept: 'text/event-stream',
178
- 'Content-Type': 'application/json',
179
- },
180
- data: qbody,
181
- responseType: 'stream',
182
- adapter: 'fetch'
183
- };
184
177
  logger.info('Sending activity...', activity);
185
- const values = await this.postRequestAsync(config);
186
- logger.info(`Received ${values.length} activities.`, values);
187
- return values;
178
+ yield* this.postRequestAsync(uriExecute, qbody, 'POST');
188
179
  }
189
180
  }
190
181
  exports.CopilotStudioClient = CopilotStudioClient;
@@ -1 +1 @@
1
- {"version":3,"file":"copilotStudioClient.js","sourceRoot":"","sources":["../../src/copilotStudioClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilotStudioClient.js","sourceRoot":"","sources":["../../src/copilotStudioClient.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.CopilotStudioWebChat = void 0;
8
8
  const uuid_1 = require("uuid");
9
+ const agents_activity_1 = require("@microsoft/agents-activity");
9
10
  const rxjs_1 = require("rxjs");
10
11
  const logger_1 = require("@microsoft/agents-activity/logger");
11
12
  const logger = (0, logger_1.debug)('copilot-studio:webchat');
@@ -134,10 +135,11 @@ class CopilotStudioWebChat {
134
135
  }
135
136
  logger.debug('--> Connection established.');
136
137
  notifyTyping();
137
- const activity = await client.startConversationAsync();
138
- conversation = activity.conversation;
139
- sequence = 0;
140
- notifyActivity(activity);
138
+ for await (const activity of client.startConversationAsync()) {
139
+ delete activity.replyToId;
140
+ conversation = activity.conversation;
141
+ notifyActivity(activity);
142
+ }
141
143
  });
142
144
  const notifyActivity = (activity) => {
143
145
  const newActivity = {
@@ -145,9 +147,10 @@ class CopilotStudioWebChat {
145
147
  timestamp: new Date().toISOString(),
146
148
  channelData: {
147
149
  ...activity.channelData,
148
- 'webchat:sequence-id': sequence++,
150
+ 'webchat:sequence-id': sequence,
149
151
  },
150
152
  };
153
+ sequence++;
151
154
  logger.debug(`Notify '${newActivity.type}' activity to WebChat:`, newActivity);
152
155
  activitySubscriber === null || activitySubscriber === void 0 ? void 0 : activitySubscriber.next(newActivity);
153
156
  };
@@ -173,17 +176,22 @@ class CopilotStudioWebChat {
173
176
  }
174
177
  return createObservable(async (subscriber) => {
175
178
  try {
176
- const id = (0, uuid_1.v4)();
177
179
  logger.info('--> Sending activity to Copilot Studio ...');
178
- notifyActivity({ ...activity, id });
180
+ const newActivity = agents_activity_1.Activity.fromObject({
181
+ ...activity,
182
+ id: (0, uuid_1.v4)(),
183
+ attachments: await processAttachments(activity)
184
+ });
185
+ notifyActivity(newActivity);
179
186
  notifyTyping();
180
- const activities = await client.sendActivity(activity);
181
- for (const responseActivity of activities) {
187
+ // Notify WebChat immediately that the message was sent
188
+ subscriber.next(newActivity.id);
189
+ // Stream the agent's response, but don't block the UI
190
+ for await (const responseActivity of client.sendActivity(newActivity)) {
182
191
  notifyActivity(responseActivity);
192
+ logger.info('<-- Activity received correctly from Copilot Studio.');
183
193
  }
184
- subscriber.next(id);
185
194
  subscriber.complete();
186
- logger.info('--> Activity received correctly from Copilot Studio.');
187
195
  }
188
196
  catch (error) {
189
197
  logger.error('Error sending Activity to Copilot Studio:', error);
@@ -203,6 +211,67 @@ class CopilotStudioWebChat {
203
211
  }
204
212
  }
205
213
  exports.CopilotStudioWebChat = CopilotStudioWebChat;
214
+ /**
215
+ * Processes activity attachments.
216
+ * @param activity The activity to process for attachments.
217
+ * @returns A promise that resolves to the activity with all attachments converted.
218
+ */
219
+ async function processAttachments(activity) {
220
+ var _a;
221
+ if (activity.type !== 'message' || !((_a = activity.attachments) === null || _a === void 0 ? void 0 : _a.length)) {
222
+ return activity.attachments || [];
223
+ }
224
+ const attachments = [];
225
+ for (const attachment of activity.attachments) {
226
+ const processed = await processBlobAttachment(attachment);
227
+ attachments.push(processed);
228
+ }
229
+ return attachments;
230
+ }
231
+ /**
232
+ * Processes a blob attachment to convert its content URL to a data URL.
233
+ * @param attachment The attachment to process.
234
+ * @returns A promise that resolves to the processed attachment.
235
+ */
236
+ async function processBlobAttachment(attachment) {
237
+ let newContentUrl = attachment.contentUrl;
238
+ if (!(newContentUrl === null || newContentUrl === void 0 ? void 0 : newContentUrl.startsWith('blob:'))) {
239
+ return attachment;
240
+ }
241
+ try {
242
+ const response = await fetch(newContentUrl);
243
+ if (!response.ok) {
244
+ throw new Error(`Failed to fetch blob URL: ${response.status} ${response.statusText}`);
245
+ }
246
+ const blob = await response.blob();
247
+ const arrayBuffer = await blob.arrayBuffer();
248
+ const base64 = arrayBufferToBase64(arrayBuffer);
249
+ newContentUrl = `data:${blob.type};base64,${base64}`;
250
+ }
251
+ catch (error) {
252
+ newContentUrl = attachment.contentUrl;
253
+ logger.error('Error processing blob attachment:', newContentUrl, error);
254
+ }
255
+ return { ...attachment, contentUrl: newContentUrl };
256
+ }
257
+ /**
258
+ * Converts an ArrayBuffer to a base64 string.
259
+ * @param buffer The ArrayBuffer to convert.
260
+ * @returns The base64 encoded string.
261
+ */
262
+ function arrayBufferToBase64(buffer) {
263
+ // Node.js environment
264
+ const BufferClass = typeof globalThis.Buffer === 'function' ? globalThis.Buffer : undefined;
265
+ if (BufferClass && typeof BufferClass.from === 'function') {
266
+ return BufferClass.from(buffer).toString('base64');
267
+ }
268
+ // Browser environment
269
+ let binary = '';
270
+ for (const byte of new Uint8Array(buffer)) {
271
+ binary += String.fromCharCode(byte);
272
+ }
273
+ return btoa(binary);
274
+ }
206
275
  /**
207
276
  * Creates an RxJS Observable that wraps an asynchronous function execution.
208
277
  *
@@ -1 +1 @@
1
- {"version":3,"file":"copilotStudioWebChat.js","sourceRoot":"","sources":["../../src/copilotStudioWebChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilotStudioWebChat.js","sourceRoot":"","sources":["../../src/copilotStudioWebChat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/agents-copilotstudio-client",
3
- "version": "1.1.0-alpha.5",
3
+ "version": "1.1.0-alpha.75",
4
4
  "homepage": "https://github.com/microsoft/Agents-for-js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,8 +27,8 @@
27
27
  "build:browser": "esbuild --platform=browser --target=es2019 --format=esm --bundle --sourcemap --minify --outfile=dist/src/browser.mjs src/index.ts"
28
28
  },
29
29
  "dependencies": {
30
- "@microsoft/agents-activity": "1.1.0-alpha.5",
31
- "axios": "^1.9.0",
30
+ "@microsoft/agents-activity": "1.1.0-alpha.75",
31
+ "eventsource-client": "^1.2.0",
32
32
  "rxjs": "7.8.2",
33
33
  "uuid": "^11.1.0"
34
34
  },