@microsoft/agents-hosting 0.6.22 → 1.0.0-ge4831811bf
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/dist/package.json +2 -2
- package/dist/src/app/agentApplicationOptions.d.ts +9 -0
- package/dist/src/cloudAdapter.d.ts +5 -2
- package/dist/src/cloudAdapter.js +19 -11
- package/dist/src/cloudAdapter.js.map +1 -1
- package/dist/src/connector-client/connectorClient.d.ts +9 -7
- package/dist/src/connector-client/connectorClient.js +13 -11
- package/dist/src/connector-client/connectorClient.js.map +1 -1
- package/dist/src/headerPropagation.d.ts +71 -0
- package/dist/src/headerPropagation.js +76 -0
- package/dist/src/headerPropagation.js.map +1 -0
- package/package.json +2 -2
- package/src/app/agentApplicationOptions.ts +10 -0
- package/src/cloudAdapter.ts +24 -12
- package/src/connector-client/connectorClient.ts +16 -12
- package/src/headerPropagation.ts +129 -0
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@microsoft/agents-hosting",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0-ge4831811bf",
|
|
5
5
|
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@azure/core-auth": "^1.10.0",
|
|
23
23
|
"@azure/msal-node": "^3.6.0",
|
|
24
|
-
"@microsoft/agents-activity": "0.
|
|
24
|
+
"@microsoft/agents-activity": "1.0.0-ge4831811bf",
|
|
25
25
|
"axios": "^1.10.0",
|
|
26
26
|
"jsonwebtoken": "^9.0.2",
|
|
27
27
|
"jwks-rsa": "^3.2.0"
|
|
@@ -9,6 +9,7 @@ import { AdaptiveCardsOptions } from './adaptiveCards';
|
|
|
9
9
|
import { InputFileDownloader } from './inputFileDownloader';
|
|
10
10
|
import { AuthorizationHandlers } from './authorization';
|
|
11
11
|
import { TurnState } from './turnState';
|
|
12
|
+
import { HeaderPropagationDefinition } from '../headerPropagation';
|
|
12
13
|
/**
|
|
13
14
|
* Configuration options for creating and initializing an Agent Application.
|
|
14
15
|
* This interface defines all the configurable aspects of an agent's behavior,
|
|
@@ -116,4 +117,12 @@ export interface AgentApplicationOptions<TState extends TurnState> {
|
|
|
116
117
|
* Optional. The transcript logger to use for logging conversations. If not provided, no logging will occur.
|
|
117
118
|
*/
|
|
118
119
|
transcriptLogger?: TranscriptLogger;
|
|
120
|
+
/**
|
|
121
|
+
* Optional. A function to handle header propagation for incoming requests.
|
|
122
|
+
* This allows the agent to manage headers from incoming requests and propagate
|
|
123
|
+
* them to outgoing requests as needed.
|
|
124
|
+
*
|
|
125
|
+
* @default undefined
|
|
126
|
+
*/
|
|
127
|
+
headerPropagation?: HeaderPropagationDefinition;
|
|
119
128
|
}
|
|
@@ -16,6 +16,7 @@ import { InvokeResponse } from './invoke/invokeResponse';
|
|
|
16
16
|
import { AttachmentInfo } from './connector-client/attachmentInfo';
|
|
17
17
|
import { AttachmentData } from './connector-client/attachmentData';
|
|
18
18
|
import { UserTokenClient } from './oauth';
|
|
19
|
+
import { HeaderPropagationCollection, HeaderPropagationDefinition } from './headerPropagation';
|
|
19
20
|
/**
|
|
20
21
|
* Adapter for handling agent interactions with various channels through cloud-based services.
|
|
21
22
|
*
|
|
@@ -52,10 +53,11 @@ export declare class CloudAdapter extends BaseAdapter {
|
|
|
52
53
|
*
|
|
53
54
|
* @param serviceUrl - The URL of the service to connect to
|
|
54
55
|
* @param scope - The authentication scope to use
|
|
56
|
+
* @param headers - Optional headers to propagate in the request
|
|
55
57
|
* @returns A promise that resolves to a ConnectorClient instance
|
|
56
58
|
* @protected
|
|
57
59
|
*/
|
|
58
|
-
protected createConnectorClient(serviceUrl: string, scope: string): Promise<ConnectorClient>;
|
|
60
|
+
protected createConnectorClient(serviceUrl: string, scope: string, headers?: HeaderPropagationCollection): Promise<ConnectorClient>;
|
|
59
61
|
/**
|
|
60
62
|
* Sets the connector client on the turn context.
|
|
61
63
|
*
|
|
@@ -89,8 +91,9 @@ export declare class CloudAdapter extends BaseAdapter {
|
|
|
89
91
|
* @param request - The incoming request.
|
|
90
92
|
* @param res - The response to send.
|
|
91
93
|
* @param logic - The logic to execute.
|
|
94
|
+
* @param headerPropagation - Optional function to handle header propagation.
|
|
92
95
|
*/
|
|
93
|
-
process(request: Request, res: Response, logic: (context: TurnContext) => Promise<void
|
|
96
|
+
process(request: Request, res: Response, logic: (context: TurnContext) => Promise<void>, headerPropagation?: HeaderPropagationDefinition): Promise<void>;
|
|
94
97
|
private isValidChannelActivity;
|
|
95
98
|
/**
|
|
96
99
|
* Updates an activity.
|
package/dist/src/cloudAdapter.js
CHANGED
|
@@ -50,6 +50,7 @@ const logger_1 = require("@microsoft/agents-activity/logger");
|
|
|
50
50
|
const statusCodes_1 = require("./statusCodes");
|
|
51
51
|
const activityWireCompat_1 = require("./activityWireCompat");
|
|
52
52
|
const oauth_1 = require("./oauth");
|
|
53
|
+
const headerPropagation_1 = require("./headerPropagation");
|
|
53
54
|
const logger = (0, logger_1.debug)('agents:cloud-adapter');
|
|
54
55
|
/**
|
|
55
56
|
* Adapter for handling agent interactions with various channels through cloud-based services.
|
|
@@ -102,11 +103,12 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
102
103
|
*
|
|
103
104
|
* @param serviceUrl - The URL of the service to connect to
|
|
104
105
|
* @param scope - The authentication scope to use
|
|
106
|
+
* @param headers - Optional headers to propagate in the request
|
|
105
107
|
* @returns A promise that resolves to a ConnectorClient instance
|
|
106
108
|
* @protected
|
|
107
109
|
*/
|
|
108
|
-
async createConnectorClient(serviceUrl, scope) {
|
|
109
|
-
return connectorClient_1.ConnectorClient.
|
|
110
|
+
async createConnectorClient(serviceUrl, scope, headers) {
|
|
111
|
+
return connectorClient_1.ConnectorClient.createClientWithAuth(serviceUrl, this.authConfig, this.authProvider, scope, headers);
|
|
110
112
|
}
|
|
111
113
|
/**
|
|
112
114
|
* Sets the connector client on the turn context.
|
|
@@ -127,7 +129,7 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
127
129
|
return new turnContext_1.TurnContext(this, activity);
|
|
128
130
|
}
|
|
129
131
|
async createTurnContextWithScope(activity, logic, scope) {
|
|
130
|
-
this.connectorClient = await connectorClient_1.ConnectorClient.
|
|
132
|
+
this.connectorClient = await connectorClient_1.ConnectorClient.createClientWithAuth(activity.serviceUrl, this.authConfig, this.authProvider, scope);
|
|
131
133
|
return new turnContext_1.TurnContext(this, activity);
|
|
132
134
|
}
|
|
133
135
|
/**
|
|
@@ -165,10 +167,10 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
165
167
|
throw new Error('Invalid activity object');
|
|
166
168
|
}
|
|
167
169
|
if (activity.replyToId) {
|
|
168
|
-
response = await this.connectorClient.
|
|
170
|
+
response = await this.connectorClient.replyToActivity(activity.conversation.id, activity.replyToId, activity);
|
|
169
171
|
}
|
|
170
172
|
else {
|
|
171
|
-
response = await this.connectorClient.
|
|
173
|
+
response = await this.connectorClient.sendToConversation(activity.conversation.id, activity);
|
|
172
174
|
}
|
|
173
175
|
}
|
|
174
176
|
if (!response) {
|
|
@@ -187,16 +189,22 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
187
189
|
if (!activity.serviceUrl || (activity.conversation == null) || !activity.conversation.id || !activity.id) {
|
|
188
190
|
throw new Error('Invalid activity object');
|
|
189
191
|
}
|
|
190
|
-
return await this.connectorClient.
|
|
192
|
+
return await this.connectorClient.replyToActivity(activity.conversation.id, activity.id, activity);
|
|
191
193
|
}
|
|
192
194
|
/**
|
|
193
195
|
* Processes an incoming request and sends the response.
|
|
194
196
|
* @param request - The incoming request.
|
|
195
197
|
* @param res - The response to send.
|
|
196
198
|
* @param logic - The logic to execute.
|
|
199
|
+
* @param headerPropagation - Optional function to handle header propagation.
|
|
197
200
|
*/
|
|
198
|
-
async process(request, res, logic) {
|
|
201
|
+
async process(request, res, logic, headerPropagation) {
|
|
199
202
|
var _a, _b, _c, _d, _e, _f;
|
|
203
|
+
const headers = new headerPropagation_1.HeaderPropagation(request.headers);
|
|
204
|
+
if (headerPropagation && typeof headerPropagation === 'function') {
|
|
205
|
+
headerPropagation(headers);
|
|
206
|
+
logger.debug('Headers to propagate: ', headers);
|
|
207
|
+
}
|
|
200
208
|
const end = (status, body, isInvokeResponseOrExpectReplies = false) => {
|
|
201
209
|
res.status(status);
|
|
202
210
|
if (isInvokeResponseOrExpectReplies) {
|
|
@@ -222,7 +230,7 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
222
230
|
// if Delivery Mode == ExpectReplies, we don't need a connector client.
|
|
223
231
|
if (this.resolveIfConnectorClientIsNeeded(activity)) {
|
|
224
232
|
logger.debug('Creating connector client with scope: ', scope);
|
|
225
|
-
this.connectorClient = await this.createConnectorClient(activity.serviceUrl, scope);
|
|
233
|
+
this.connectorClient = await this.createConnectorClient(activity.serviceUrl, scope, headers);
|
|
226
234
|
this.setConnectorClient(context);
|
|
227
235
|
}
|
|
228
236
|
if ((activity === null || activity === void 0 ? void 0 : activity.type) === agents_activity_1.ActivityTypes.InvokeResponse ||
|
|
@@ -269,7 +277,7 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
269
277
|
if (!activity.serviceUrl || (activity.conversation == null) || !activity.conversation.id || !activity.id) {
|
|
270
278
|
throw new Error('Invalid activity object');
|
|
271
279
|
}
|
|
272
|
-
const response = await this.connectorClient.
|
|
280
|
+
const response = await this.connectorClient.updateActivity(activity.conversation.id, activity.id, activity);
|
|
273
281
|
return response.id ? { id: response.id } : undefined;
|
|
274
282
|
}
|
|
275
283
|
/**
|
|
@@ -285,7 +293,7 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
285
293
|
if (!reference || !reference.serviceUrl || (reference.conversation == null) || !reference.conversation.id || !reference.activityId) {
|
|
286
294
|
throw new Error('Invalid conversation reference object');
|
|
287
295
|
}
|
|
288
|
-
await this.connectorClient.
|
|
296
|
+
await this.connectorClient.deleteActivity(reference.conversation.id, reference.activityId);
|
|
289
297
|
}
|
|
290
298
|
/**
|
|
291
299
|
* Continues a conversation.
|
|
@@ -378,7 +386,7 @@ class CloudAdapter extends baseAdapter_1.BaseAdapter {
|
|
|
378
386
|
if (!logic)
|
|
379
387
|
throw new TypeError('`logic` must be defined');
|
|
380
388
|
const restClient = await this.createConnectorClient(serviceUrl, audience);
|
|
381
|
-
const createConversationResult = await restClient.
|
|
389
|
+
const createConversationResult = await restClient.createConversation(conversationParameters);
|
|
382
390
|
const createActivity = this.createCreateActivity(createConversationResult.id, channelId, serviceUrl, conversationParameters);
|
|
383
391
|
const context = new turnContext_1.TurnContext(this, createActivity);
|
|
384
392
|
await this.runMiddleware(context, logic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudAdapter.js","sourceRoot":"","sources":["../../src/cloudAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudAdapter.js","sourceRoot":"","sources":["../../src/cloudAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { ResourceResponse } from './resourceResponse';
|
|
|
9
9
|
import { AttachmentInfo } from './attachmentInfo';
|
|
10
10
|
import { AttachmentData } from './attachmentData';
|
|
11
11
|
import { getProductInfo } from '../getProductInfo';
|
|
12
|
+
import { HeaderPropagationCollection } from '../headerPropagation';
|
|
12
13
|
export { getProductInfo };
|
|
13
14
|
/**
|
|
14
15
|
* ConnectorClient is a client for interacting with the Microsoft Connector API.
|
|
@@ -27,22 +28,23 @@ export declare class ConnectorClient {
|
|
|
27
28
|
* @param authConfig - The authentication configuration.
|
|
28
29
|
* @param authProvider - The authentication provider.
|
|
29
30
|
* @param scope - The scope for the authentication token.
|
|
31
|
+
* @param headers - Optional headers to propagate in the request.
|
|
30
32
|
* @returns A new instance of ConnectorClient.
|
|
31
33
|
*/
|
|
32
|
-
static
|
|
34
|
+
static createClientWithAuth(baseURL: string, authConfig: AuthConfiguration, authProvider: AuthProvider, scope: string, headers?: HeaderPropagationCollection): Promise<ConnectorClient>;
|
|
33
35
|
/**
|
|
34
36
|
* Retrieves a list of conversations.
|
|
35
37
|
* @param continuationToken - The continuation token for pagination.
|
|
36
38
|
* @returns A list of conversations.
|
|
37
39
|
*/
|
|
38
|
-
|
|
40
|
+
getConversations(continuationToken?: string): Promise<ConversationsResult>;
|
|
39
41
|
getConversationMember(userId: string, conversationId: string): Promise<ChannelAccount>;
|
|
40
42
|
/**
|
|
41
43
|
* Creates a new conversation.
|
|
42
44
|
* @param body - The conversation parameters.
|
|
43
45
|
* @returns The conversation resource response.
|
|
44
46
|
*/
|
|
45
|
-
|
|
47
|
+
createConversation(body: ConversationParameters): Promise<ConversationResourceResponse>;
|
|
46
48
|
/**
|
|
47
49
|
* Replies to an activity in a conversation.
|
|
48
50
|
* @param conversationId - The ID of the conversation.
|
|
@@ -50,14 +52,14 @@ export declare class ConnectorClient {
|
|
|
50
52
|
* @param body - The activity object.
|
|
51
53
|
* @returns The resource response.
|
|
52
54
|
*/
|
|
53
|
-
|
|
55
|
+
replyToActivity(conversationId: string, activityId: string, body: Activity): Promise<ResourceResponse>;
|
|
54
56
|
/**
|
|
55
57
|
* Sends an activity to a conversation.
|
|
56
58
|
* @param conversationId - The ID of the conversation.
|
|
57
59
|
* @param body - The activity object.
|
|
58
60
|
* @returns The resource response.
|
|
59
61
|
*/
|
|
60
|
-
|
|
62
|
+
sendToConversation(conversationId: string, body: Activity): Promise<ResourceResponse>;
|
|
61
63
|
/**
|
|
62
64
|
* Updates an activity in a conversation.
|
|
63
65
|
* @param conversationId - The ID of the conversation.
|
|
@@ -65,14 +67,14 @@ export declare class ConnectorClient {
|
|
|
65
67
|
* @param body - The activity object.
|
|
66
68
|
* @returns The resource response.
|
|
67
69
|
*/
|
|
68
|
-
|
|
70
|
+
updateActivity(conversationId: string, activityId: string, body: Activity): Promise<ResourceResponse>;
|
|
69
71
|
/**
|
|
70
72
|
* Deletes an activity from a conversation.
|
|
71
73
|
* @param conversationId - The ID of the conversation.
|
|
72
74
|
* @param activityId - The ID of the activity.
|
|
73
75
|
* @returns A promise that resolves when the activity is deleted.
|
|
74
76
|
*/
|
|
75
|
-
|
|
77
|
+
deleteActivity(conversationId: string, activityId: string): Promise<void>;
|
|
76
78
|
/**
|
|
77
79
|
* Uploads an attachment to a conversation.
|
|
78
80
|
* @param conversationId - The ID of the conversation.
|
|
@@ -10,6 +10,7 @@ const logger_1 = require("@microsoft/agents-activity/logger");
|
|
|
10
10
|
const activityWireCompat_1 = require("../activityWireCompat");
|
|
11
11
|
const getProductInfo_1 = require("../getProductInfo");
|
|
12
12
|
Object.defineProperty(exports, "getProductInfo", { enumerable: true, get: function () { return getProductInfo_1.getProductInfo; } });
|
|
13
|
+
const headerPropagation_1 = require("../headerPropagation");
|
|
13
14
|
const logger = (0, logger_1.debug)('agents:connector-client');
|
|
14
15
|
/**
|
|
15
16
|
* ConnectorClient is a client for interacting with the Microsoft Connector API.
|
|
@@ -69,15 +70,16 @@ class ConnectorClient {
|
|
|
69
70
|
* @param authConfig - The authentication configuration.
|
|
70
71
|
* @param authProvider - The authentication provider.
|
|
71
72
|
* @param scope - The scope for the authentication token.
|
|
73
|
+
* @param headers - Optional headers to propagate in the request.
|
|
72
74
|
* @returns A new instance of ConnectorClient.
|
|
73
75
|
*/
|
|
74
|
-
static async
|
|
76
|
+
static async createClientWithAuth(baseURL, authConfig, authProvider, scope, headers) {
|
|
77
|
+
const headerPropagation = headers !== null && headers !== void 0 ? headers : new headerPropagation_1.HeaderPropagation({ 'User-Agent': '' });
|
|
78
|
+
headerPropagation.concat({ 'User-Agent': (0, getProductInfo_1.getProductInfo)() });
|
|
79
|
+
headerPropagation.override({ Accept: 'application/json' });
|
|
75
80
|
const axiosInstance = axios_1.default.create({
|
|
76
81
|
baseURL,
|
|
77
|
-
headers:
|
|
78
|
-
Accept: 'application/json',
|
|
79
|
-
'User-Agent': (0, getProductInfo_1.getProductInfo)(),
|
|
80
|
-
},
|
|
82
|
+
headers: headerPropagation.outgoing,
|
|
81
83
|
transformRequest: [
|
|
82
84
|
(data, headers) => {
|
|
83
85
|
return JSON.stringify((0, activityWireCompat_1.normalizeOutgoingActivity)(data));
|
|
@@ -95,7 +97,7 @@ class ConnectorClient {
|
|
|
95
97
|
* @param continuationToken - The continuation token for pagination.
|
|
96
98
|
* @returns A list of conversations.
|
|
97
99
|
*/
|
|
98
|
-
async
|
|
100
|
+
async getConversations(continuationToken) {
|
|
99
101
|
const config = {
|
|
100
102
|
method: 'get',
|
|
101
103
|
url: '/v3/conversations',
|
|
@@ -123,7 +125,7 @@ class ConnectorClient {
|
|
|
123
125
|
* @param body - The conversation parameters.
|
|
124
126
|
* @returns The conversation resource response.
|
|
125
127
|
*/
|
|
126
|
-
async
|
|
128
|
+
async createConversation(body) {
|
|
127
129
|
// const payload = normalizeOutgoingConvoParams(body)
|
|
128
130
|
const config = {
|
|
129
131
|
method: 'post',
|
|
@@ -143,7 +145,7 @@ class ConnectorClient {
|
|
|
143
145
|
* @param body - The activity object.
|
|
144
146
|
* @returns The resource response.
|
|
145
147
|
*/
|
|
146
|
-
async
|
|
148
|
+
async replyToActivity(conversationId, activityId, body) {
|
|
147
149
|
logger.debug(`Replying to activity: ${activityId} in conversation: ${conversationId}`);
|
|
148
150
|
if (!conversationId || !activityId) {
|
|
149
151
|
throw new Error('conversationId and activityId are required');
|
|
@@ -166,7 +168,7 @@ class ConnectorClient {
|
|
|
166
168
|
* @param body - The activity object.
|
|
167
169
|
* @returns The resource response.
|
|
168
170
|
*/
|
|
169
|
-
async
|
|
171
|
+
async sendToConversation(conversationId, body) {
|
|
170
172
|
logger.debug(`Send to conversation: ${conversationId} activity: ${body.id}`);
|
|
171
173
|
if (!conversationId) {
|
|
172
174
|
throw new Error('conversationId is required');
|
|
@@ -189,7 +191,7 @@ class ConnectorClient {
|
|
|
189
191
|
* @param body - The activity object.
|
|
190
192
|
* @returns The resource response.
|
|
191
193
|
*/
|
|
192
|
-
async
|
|
194
|
+
async updateActivity(conversationId, activityId, body) {
|
|
193
195
|
if (!conversationId || !activityId) {
|
|
194
196
|
throw new Error('conversationId and activityId are required');
|
|
195
197
|
}
|
|
@@ -210,7 +212,7 @@ class ConnectorClient {
|
|
|
210
212
|
* @param activityId - The ID of the activity.
|
|
211
213
|
* @returns A promise that resolves when the activity is deleted.
|
|
212
214
|
*/
|
|
213
|
-
async
|
|
215
|
+
async deleteActivity(conversationId, activityId) {
|
|
214
216
|
if (!conversationId || !activityId) {
|
|
215
217
|
throw new Error('conversationId and activityId are required');
|
|
216
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectorClient.js","sourceRoot":"","sources":["../../../src/connector-client/connectorClient.ts"],"names":[],"mappings":";;;;;;AAAA,oGAAoG;AACpG,kDAA+E;AAG/E,8DAAyD;AAOzD,8DAAiE;AACjE,sDAAkD;
|
|
1
|
+
{"version":3,"file":"connectorClient.js","sourceRoot":"","sources":["../../../src/connector-client/connectorClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A class that implements the HeaderPropagationCollection interface.
|
|
7
|
+
* It filters the incoming request headers based on the definition provided and loads them into the outgoing headers collection.
|
|
8
|
+
*/
|
|
9
|
+
export declare class HeaderPropagation implements HeaderPropagationCollection {
|
|
10
|
+
private _incomingRequests;
|
|
11
|
+
private _outgoingHeaders;
|
|
12
|
+
private _headersToPropagate;
|
|
13
|
+
get incoming(): Record<string, string>;
|
|
14
|
+
get outgoing(): Record<string, string>;
|
|
15
|
+
constructor(headers: Record<string, string | string[] | undefined>);
|
|
16
|
+
propagate(headers: string[]): void;
|
|
17
|
+
add(headers: Record<string, string>): void;
|
|
18
|
+
concat(headers: Record<string, string>): void;
|
|
19
|
+
override(headers: Record<string, string>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Normalizes the headers by lowercasing the keys and ensuring the values are strings.
|
|
22
|
+
* @param headers The headers to normalize.
|
|
23
|
+
* @returns A new object with normalized headers.
|
|
24
|
+
*/
|
|
25
|
+
private normalizeHeaders;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A function type that defines how headers should be propagated.
|
|
29
|
+
*/
|
|
30
|
+
export interface HeaderPropagationDefinition {
|
|
31
|
+
(headers: HeaderPropagationCollection): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Defines the interface for managing header propagation.
|
|
35
|
+
*/
|
|
36
|
+
export interface HeaderPropagationCollection {
|
|
37
|
+
/**
|
|
38
|
+
* The collection of incoming headers from the incoming request.
|
|
39
|
+
* @remarks This collection is built based on the headers received in the request.
|
|
40
|
+
*/
|
|
41
|
+
incoming: Record<string, string>;
|
|
42
|
+
/**
|
|
43
|
+
* The collection of headers that will be propagated to outgoing requests.
|
|
44
|
+
* @remarks This collection is built based on the incoming headers and the definition provided.
|
|
45
|
+
*/
|
|
46
|
+
outgoing: Record<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* Propagates the incoming header value to the outgoing collection based on the header definition key.
|
|
49
|
+
* @param headers List of header keys to propagate.
|
|
50
|
+
* @remarks If the header does not exist in the incoming headers, it will be ignored.
|
|
51
|
+
*/
|
|
52
|
+
propagate(headers: string[]): void;
|
|
53
|
+
/**
|
|
54
|
+
* Adds a header definition to the outgoing collection.
|
|
55
|
+
* @param headers Headers to add to the outgoing collection.
|
|
56
|
+
* @remarks If the header already exists, it will not be added.
|
|
57
|
+
*/
|
|
58
|
+
add(headers: Record<string, string>): void;
|
|
59
|
+
/**
|
|
60
|
+
* Concatenates a header definition to the outgoing collection.
|
|
61
|
+
* @param headers Headers to concatenate to the outgoing collection.
|
|
62
|
+
* @remarks If the header does not exist in the incoming headers, it will be ignored. Unless the header is already present in the outgoing collection.
|
|
63
|
+
*/
|
|
64
|
+
concat(headers: Record<string, string>): void;
|
|
65
|
+
/**
|
|
66
|
+
* Overrides a header definition in the outgoing collection.
|
|
67
|
+
* @param headers Headers to override in the outgoing collection.
|
|
68
|
+
* @remarks If the header does not exist in the incoming headers, it will be added to the outgoing collection.
|
|
69
|
+
*/
|
|
70
|
+
override(headers: Record<string, string>): void;
|
|
71
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.HeaderPropagation = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* A class that implements the HeaderPropagationCollection interface.
|
|
10
|
+
* It filters the incoming request headers based on the definition provided and loads them into the outgoing headers collection.
|
|
11
|
+
*/
|
|
12
|
+
class HeaderPropagation {
|
|
13
|
+
get incoming() {
|
|
14
|
+
return this._incomingRequests;
|
|
15
|
+
}
|
|
16
|
+
get outgoing() {
|
|
17
|
+
return this._outgoingHeaders;
|
|
18
|
+
}
|
|
19
|
+
constructor(headers) {
|
|
20
|
+
this._outgoingHeaders = {};
|
|
21
|
+
this._headersToPropagate = ['x-ms-correlation-id'];
|
|
22
|
+
if (!headers) {
|
|
23
|
+
throw new Error('Headers must be provided.');
|
|
24
|
+
}
|
|
25
|
+
this._incomingRequests = this.normalizeHeaders(headers);
|
|
26
|
+
this.propagate(this._headersToPropagate);
|
|
27
|
+
}
|
|
28
|
+
propagate(headers) {
|
|
29
|
+
for (const key of headers !== null && headers !== void 0 ? headers : []) {
|
|
30
|
+
const lowerKey = key.toLowerCase();
|
|
31
|
+
if (this._incomingRequests[lowerKey] && !this._outgoingHeaders[lowerKey]) {
|
|
32
|
+
this._outgoingHeaders[lowerKey] = this._incomingRequests[lowerKey];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
add(headers) {
|
|
37
|
+
for (const [key, value] of Object.entries(headers !== null && headers !== void 0 ? headers : {})) {
|
|
38
|
+
const lowerKey = key.toLowerCase();
|
|
39
|
+
if (!this._incomingRequests[lowerKey] && !this._outgoingHeaders[lowerKey]) {
|
|
40
|
+
this._outgoingHeaders[lowerKey] = value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
concat(headers) {
|
|
45
|
+
var _a;
|
|
46
|
+
for (const [key, value] of Object.entries(headers !== null && headers !== void 0 ? headers : {})) {
|
|
47
|
+
const lowerKey = key.toLowerCase();
|
|
48
|
+
if (this._incomingRequests[lowerKey] && !this._headersToPropagate.includes(lowerKey)) {
|
|
49
|
+
this._outgoingHeaders[lowerKey] = `${(_a = this._outgoingHeaders[lowerKey]) !== null && _a !== void 0 ? _a : this._incomingRequests[lowerKey]} ${value}`.trim();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
override(headers) {
|
|
54
|
+
for (const [key, value] of Object.entries(headers !== null && headers !== void 0 ? headers : {})) {
|
|
55
|
+
const lowerKey = key.toLowerCase();
|
|
56
|
+
if (!this._headersToPropagate.includes(lowerKey)) {
|
|
57
|
+
this._outgoingHeaders[lowerKey] = value;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Normalizes the headers by lowercasing the keys and ensuring the values are strings.
|
|
63
|
+
* @param headers The headers to normalize.
|
|
64
|
+
* @returns A new object with normalized headers.
|
|
65
|
+
*/
|
|
66
|
+
normalizeHeaders(headers) {
|
|
67
|
+
return Object.entries(headers).reduce((acc, [key, value]) => {
|
|
68
|
+
if (value) {
|
|
69
|
+
acc[key.toLowerCase()] = Array.isArray(value) ? value.join(' ') : value;
|
|
70
|
+
}
|
|
71
|
+
return acc;
|
|
72
|
+
}, {});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.HeaderPropagation = HeaderPropagation;
|
|
76
|
+
//# sourceMappingURL=headerPropagation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerPropagation.js","sourceRoot":"","sources":["../../src/headerPropagation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@microsoft/agents-hosting",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0-ge4831811bf",
|
|
5
5
|
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@azure/core-auth": "^1.10.0",
|
|
23
23
|
"@azure/msal-node": "^3.6.0",
|
|
24
|
-
"@microsoft/agents-activity": "0.
|
|
24
|
+
"@microsoft/agents-activity": "1.0.0-ge4831811bf",
|
|
25
25
|
"axios": "^1.10.0",
|
|
26
26
|
"jsonwebtoken": "^9.0.2",
|
|
27
27
|
"jwks-rsa": "^3.2.0"
|
|
@@ -10,6 +10,7 @@ import { AdaptiveCardsOptions } from './adaptiveCards'
|
|
|
10
10
|
import { InputFileDownloader } from './inputFileDownloader'
|
|
11
11
|
import { AuthorizationHandlers } from './authorization'
|
|
12
12
|
import { TurnState } from './turnState'
|
|
13
|
+
import { HeaderPropagationDefinition } from '../headerPropagation'
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Configuration options for creating and initializing an Agent Application.
|
|
@@ -129,4 +130,13 @@ export interface AgentApplicationOptions<TState extends TurnState> {
|
|
|
129
130
|
* Optional. The transcript logger to use for logging conversations. If not provided, no logging will occur.
|
|
130
131
|
*/
|
|
131
132
|
transcriptLogger?: TranscriptLogger
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Optional. A function to handle header propagation for incoming requests.
|
|
136
|
+
* This allows the agent to manage headers from incoming requests and propagate
|
|
137
|
+
* them to outgoing requests as needed.
|
|
138
|
+
*
|
|
139
|
+
* @default undefined
|
|
140
|
+
*/
|
|
141
|
+
headerPropagation?: HeaderPropagationDefinition
|
|
132
142
|
}
|
package/src/cloudAdapter.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { AttachmentInfo } from './connector-client/attachmentInfo'
|
|
|
22
22
|
import { AttachmentData } from './connector-client/attachmentData'
|
|
23
23
|
import { normalizeIncomingActivity } from './activityWireCompat'
|
|
24
24
|
import { UserTokenClient } from './oauth'
|
|
25
|
+
import { HeaderPropagation, HeaderPropagationCollection, HeaderPropagationDefinition } from './headerPropagation'
|
|
25
26
|
|
|
26
27
|
const logger = debug('agents:cloud-adapter')
|
|
27
28
|
|
|
@@ -84,18 +85,21 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
84
85
|
*
|
|
85
86
|
* @param serviceUrl - The URL of the service to connect to
|
|
86
87
|
* @param scope - The authentication scope to use
|
|
88
|
+
* @param headers - Optional headers to propagate in the request
|
|
87
89
|
* @returns A promise that resolves to a ConnectorClient instance
|
|
88
90
|
* @protected
|
|
89
91
|
*/
|
|
90
92
|
protected async createConnectorClient (
|
|
91
93
|
serviceUrl: string,
|
|
92
|
-
scope: string
|
|
94
|
+
scope: string,
|
|
95
|
+
headers?: HeaderPropagationCollection
|
|
93
96
|
): Promise<ConnectorClient> {
|
|
94
|
-
return ConnectorClient.
|
|
97
|
+
return ConnectorClient.createClientWithAuth(
|
|
95
98
|
serviceUrl,
|
|
96
99
|
this.authConfig,
|
|
97
100
|
this.authProvider,
|
|
98
|
-
scope
|
|
101
|
+
scope,
|
|
102
|
+
headers
|
|
99
103
|
)
|
|
100
104
|
}
|
|
101
105
|
|
|
@@ -122,7 +126,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
122
126
|
}
|
|
123
127
|
|
|
124
128
|
async createTurnContextWithScope (activity: Activity, logic: AgentHandler, scope: string): Promise<TurnContext> {
|
|
125
|
-
this.connectorClient = await ConnectorClient.
|
|
129
|
+
this.connectorClient = await ConnectorClient.createClientWithAuth(activity.serviceUrl!, this.authConfig!, this.authProvider, scope)
|
|
126
130
|
return new TurnContext(this, activity)
|
|
127
131
|
}
|
|
128
132
|
|
|
@@ -162,9 +166,9 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
162
166
|
}
|
|
163
167
|
|
|
164
168
|
if (activity.replyToId) {
|
|
165
|
-
response = await this.connectorClient.
|
|
169
|
+
response = await this.connectorClient.replyToActivity(activity.conversation.id, activity.replyToId, activity)
|
|
166
170
|
} else {
|
|
167
|
-
response = await this.connectorClient.
|
|
171
|
+
response = await this.connectorClient.sendToConversation(activity.conversation.id, activity)
|
|
168
172
|
}
|
|
169
173
|
}
|
|
170
174
|
|
|
@@ -187,7 +191,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
187
191
|
if (!activity.serviceUrl || (activity.conversation == null) || !activity.conversation.id || !activity.id) {
|
|
188
192
|
throw new Error('Invalid activity object')
|
|
189
193
|
}
|
|
190
|
-
return await this.connectorClient.
|
|
194
|
+
return await this.connectorClient.replyToActivity(activity.conversation.id, activity.id, activity)
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
/**
|
|
@@ -195,11 +199,19 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
195
199
|
* @param request - The incoming request.
|
|
196
200
|
* @param res - The response to send.
|
|
197
201
|
* @param logic - The logic to execute.
|
|
202
|
+
* @param headerPropagation - Optional function to handle header propagation.
|
|
198
203
|
*/
|
|
199
204
|
public async process (
|
|
200
205
|
request: Request,
|
|
201
206
|
res: Response,
|
|
202
|
-
logic: (context: TurnContext) => Promise<void
|
|
207
|
+
logic: (context: TurnContext) => Promise<void>,
|
|
208
|
+
headerPropagation?: HeaderPropagationDefinition): Promise<void> {
|
|
209
|
+
const headers = new HeaderPropagation(request.headers)
|
|
210
|
+
if (headerPropagation && typeof headerPropagation === 'function') {
|
|
211
|
+
headerPropagation(headers)
|
|
212
|
+
logger.debug('Headers to propagate: ', headers)
|
|
213
|
+
}
|
|
214
|
+
|
|
203
215
|
const end = (status: StatusCodes, body?: unknown, isInvokeResponseOrExpectReplies: boolean = false) => {
|
|
204
216
|
res.status(status)
|
|
205
217
|
if (isInvokeResponseOrExpectReplies) {
|
|
@@ -228,7 +240,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
228
240
|
// if Delivery Mode == ExpectReplies, we don't need a connector client.
|
|
229
241
|
if (this.resolveIfConnectorClientIsNeeded(activity)) {
|
|
230
242
|
logger.debug('Creating connector client with scope: ', scope)
|
|
231
|
-
this.connectorClient = await this.createConnectorClient(activity.serviceUrl!, scope)
|
|
243
|
+
this.connectorClient = await this.createConnectorClient(activity.serviceUrl!, scope, headers)
|
|
232
244
|
this.setConnectorClient(context)
|
|
233
245
|
}
|
|
234
246
|
|
|
@@ -287,7 +299,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
287
299
|
throw new Error('Invalid activity object')
|
|
288
300
|
}
|
|
289
301
|
|
|
290
|
-
const response = await this.connectorClient.
|
|
302
|
+
const response = await this.connectorClient.updateActivity(
|
|
291
303
|
activity.conversation.id,
|
|
292
304
|
activity.id,
|
|
293
305
|
activity
|
|
@@ -311,7 +323,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
311
323
|
throw new Error('Invalid conversation reference object')
|
|
312
324
|
}
|
|
313
325
|
|
|
314
|
-
await this.connectorClient.
|
|
326
|
+
await this.connectorClient.deleteActivity(reference.conversation.id, reference.activityId)
|
|
315
327
|
}
|
|
316
328
|
|
|
317
329
|
/**
|
|
@@ -424,7 +436,7 @@ export class CloudAdapter extends BaseAdapter {
|
|
|
424
436
|
if (!logic) throw new TypeError('`logic` must be defined')
|
|
425
437
|
|
|
426
438
|
const restClient = await this.createConnectorClient(serviceUrl, audience)
|
|
427
|
-
const createConversationResult = await restClient.
|
|
439
|
+
const createConversationResult = await restClient.createConversation(conversationParameters)
|
|
428
440
|
const createActivity = this.createCreateActivity(
|
|
429
441
|
createConversationResult.id,
|
|
430
442
|
channelId,
|
|
@@ -11,6 +11,7 @@ import { AttachmentInfo } from './attachmentInfo'
|
|
|
11
11
|
import { AttachmentData } from './attachmentData'
|
|
12
12
|
import { normalizeOutgoingActivity } from '../activityWireCompat'
|
|
13
13
|
import { getProductInfo } from '../getProductInfo'
|
|
14
|
+
import { HeaderPropagation, HeaderPropagationCollection } from '../headerPropagation'
|
|
14
15
|
const logger = debug('agents:connector-client')
|
|
15
16
|
|
|
16
17
|
export { getProductInfo }
|
|
@@ -80,20 +81,23 @@ export class ConnectorClient {
|
|
|
80
81
|
* @param authConfig - The authentication configuration.
|
|
81
82
|
* @param authProvider - The authentication provider.
|
|
82
83
|
* @param scope - The scope for the authentication token.
|
|
84
|
+
* @param headers - Optional headers to propagate in the request.
|
|
83
85
|
* @returns A new instance of ConnectorClient.
|
|
84
86
|
*/
|
|
85
|
-
static async
|
|
87
|
+
static async createClientWithAuth (
|
|
86
88
|
baseURL: string,
|
|
87
89
|
authConfig: AuthConfiguration,
|
|
88
90
|
authProvider: AuthProvider,
|
|
89
|
-
scope: string
|
|
91
|
+
scope: string,
|
|
92
|
+
headers?: HeaderPropagationCollection
|
|
90
93
|
): Promise<ConnectorClient> {
|
|
94
|
+
const headerPropagation = headers ?? new HeaderPropagation({ 'User-Agent': '' })
|
|
95
|
+
headerPropagation.concat({ 'User-Agent': getProductInfo() })
|
|
96
|
+
headerPropagation.override({ Accept: 'application/json' })
|
|
97
|
+
|
|
91
98
|
const axiosInstance = axios.create({
|
|
92
99
|
baseURL,
|
|
93
|
-
headers:
|
|
94
|
-
Accept: 'application/json',
|
|
95
|
-
'User-Agent': getProductInfo(),
|
|
96
|
-
},
|
|
100
|
+
headers: headerPropagation.outgoing,
|
|
97
101
|
transformRequest: [
|
|
98
102
|
(data, headers) => {
|
|
99
103
|
return JSON.stringify(normalizeOutgoingActivity(data))
|
|
@@ -112,7 +116,7 @@ export class ConnectorClient {
|
|
|
112
116
|
* @param continuationToken - The continuation token for pagination.
|
|
113
117
|
* @returns A list of conversations.
|
|
114
118
|
*/
|
|
115
|
-
public async
|
|
119
|
+
public async getConversations (continuationToken?: string): Promise<ConversationsResult> {
|
|
116
120
|
const config: AxiosRequestConfig = {
|
|
117
121
|
method: 'get',
|
|
118
122
|
url: '/v3/conversations',
|
|
@@ -142,7 +146,7 @@ export class ConnectorClient {
|
|
|
142
146
|
* @param body - The conversation parameters.
|
|
143
147
|
* @returns The conversation resource response.
|
|
144
148
|
*/
|
|
145
|
-
public async
|
|
149
|
+
public async createConversation (body: ConversationParameters): Promise<ConversationResourceResponse> {
|
|
146
150
|
// const payload = normalizeOutgoingConvoParams(body)
|
|
147
151
|
const config: AxiosRequestConfig = {
|
|
148
152
|
method: 'post',
|
|
@@ -163,7 +167,7 @@ export class ConnectorClient {
|
|
|
163
167
|
* @param body - The activity object.
|
|
164
168
|
* @returns The resource response.
|
|
165
169
|
*/
|
|
166
|
-
public async
|
|
170
|
+
public async replyToActivity (
|
|
167
171
|
conversationId: string,
|
|
168
172
|
activityId: string,
|
|
169
173
|
body: Activity
|
|
@@ -191,7 +195,7 @@ export class ConnectorClient {
|
|
|
191
195
|
* @param body - The activity object.
|
|
192
196
|
* @returns The resource response.
|
|
193
197
|
*/
|
|
194
|
-
public async
|
|
198
|
+
public async sendToConversation (
|
|
195
199
|
conversationId: string,
|
|
196
200
|
body: Activity
|
|
197
201
|
): Promise<ResourceResponse> {
|
|
@@ -218,7 +222,7 @@ export class ConnectorClient {
|
|
|
218
222
|
* @param body - The activity object.
|
|
219
223
|
* @returns The resource response.
|
|
220
224
|
*/
|
|
221
|
-
public async
|
|
225
|
+
public async updateActivity (
|
|
222
226
|
conversationId: string,
|
|
223
227
|
activityId: string,
|
|
224
228
|
body: Activity
|
|
@@ -244,7 +248,7 @@ export class ConnectorClient {
|
|
|
244
248
|
* @param activityId - The ID of the activity.
|
|
245
249
|
* @returns A promise that resolves when the activity is deleted.
|
|
246
250
|
*/
|
|
247
|
-
public async
|
|
251
|
+
public async deleteActivity (
|
|
248
252
|
conversationId: string,
|
|
249
253
|
activityId: string
|
|
250
254
|
): Promise<void> {
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A class that implements the HeaderPropagationCollection interface.
|
|
8
|
+
* It filters the incoming request headers based on the definition provided and loads them into the outgoing headers collection.
|
|
9
|
+
*/
|
|
10
|
+
export class HeaderPropagation implements HeaderPropagationCollection {
|
|
11
|
+
private _incomingRequests: Record<string, string>
|
|
12
|
+
private _outgoingHeaders: Record<string, string> = {}
|
|
13
|
+
|
|
14
|
+
private _headersToPropagate = ['x-ms-correlation-id']
|
|
15
|
+
|
|
16
|
+
public get incoming (): Record<string, string> {
|
|
17
|
+
return this._incomingRequests
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public get outgoing (): Record<string, string> {
|
|
21
|
+
return this._outgoingHeaders
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
constructor (headers: Record<string, string | string[] | undefined>) {
|
|
25
|
+
if (!headers) {
|
|
26
|
+
throw new Error('Headers must be provided.')
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
this._incomingRequests = this.normalizeHeaders(headers)
|
|
30
|
+
this.propagate(this._headersToPropagate)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
propagate (headers: string[]) {
|
|
34
|
+
for (const key of headers ?? []) {
|
|
35
|
+
const lowerKey = key.toLowerCase()
|
|
36
|
+
if (this._incomingRequests[lowerKey] && !this._outgoingHeaders[lowerKey]) {
|
|
37
|
+
this._outgoingHeaders[lowerKey] = this._incomingRequests[lowerKey]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
add (headers: Record<string, string>) {
|
|
43
|
+
for (const [key, value] of Object.entries(headers ?? {})) {
|
|
44
|
+
const lowerKey = key.toLowerCase()
|
|
45
|
+
if (!this._incomingRequests[lowerKey] && !this._outgoingHeaders[lowerKey]) {
|
|
46
|
+
this._outgoingHeaders[lowerKey] = value
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
concat (headers: Record<string, string>) {
|
|
52
|
+
for (const [key, value] of Object.entries(headers ?? {})) {
|
|
53
|
+
const lowerKey = key.toLowerCase()
|
|
54
|
+
if (this._incomingRequests[lowerKey] && !this._headersToPropagate.includes(lowerKey)) {
|
|
55
|
+
this._outgoingHeaders[lowerKey] = `${this._outgoingHeaders[lowerKey] ?? this._incomingRequests[lowerKey]} ${value}`.trim()
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
override (headers: Record<string, string>) {
|
|
61
|
+
for (const [key, value] of Object.entries(headers ?? {})) {
|
|
62
|
+
const lowerKey = key.toLowerCase()
|
|
63
|
+
if (!this._headersToPropagate.includes(lowerKey)) {
|
|
64
|
+
this._outgoingHeaders[lowerKey] = value
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Normalizes the headers by lowercasing the keys and ensuring the values are strings.
|
|
71
|
+
* @param headers The headers to normalize.
|
|
72
|
+
* @returns A new object with normalized headers.
|
|
73
|
+
*/
|
|
74
|
+
private normalizeHeaders (headers: Record<string, string | string[] | undefined>) {
|
|
75
|
+
return Object.entries(headers).reduce((acc, [key, value]) => {
|
|
76
|
+
if (value) {
|
|
77
|
+
acc[key.toLowerCase()] = Array.isArray(value) ? value.join(' ') : value
|
|
78
|
+
}
|
|
79
|
+
return acc
|
|
80
|
+
}, {} as Record<string, string>)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* A function type that defines how headers should be propagated.
|
|
86
|
+
*/
|
|
87
|
+
export interface HeaderPropagationDefinition {
|
|
88
|
+
(headers: HeaderPropagationCollection): void
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Defines the interface for managing header propagation.
|
|
93
|
+
*/
|
|
94
|
+
export interface HeaderPropagationCollection {
|
|
95
|
+
/**
|
|
96
|
+
* The collection of incoming headers from the incoming request.
|
|
97
|
+
* @remarks This collection is built based on the headers received in the request.
|
|
98
|
+
*/
|
|
99
|
+
incoming: Record<string, string>
|
|
100
|
+
/**
|
|
101
|
+
* The collection of headers that will be propagated to outgoing requests.
|
|
102
|
+
* @remarks This collection is built based on the incoming headers and the definition provided.
|
|
103
|
+
*/
|
|
104
|
+
outgoing: Record<string, string>
|
|
105
|
+
/**
|
|
106
|
+
* Propagates the incoming header value to the outgoing collection based on the header definition key.
|
|
107
|
+
* @param headers List of header keys to propagate.
|
|
108
|
+
* @remarks If the header does not exist in the incoming headers, it will be ignored.
|
|
109
|
+
*/
|
|
110
|
+
propagate(headers: string[]): void
|
|
111
|
+
/**
|
|
112
|
+
* Adds a header definition to the outgoing collection.
|
|
113
|
+
* @param headers Headers to add to the outgoing collection.
|
|
114
|
+
* @remarks If the header already exists, it will not be added.
|
|
115
|
+
*/
|
|
116
|
+
add(headers: Record<string, string>): void
|
|
117
|
+
/**
|
|
118
|
+
* Concatenates a header definition to the outgoing collection.
|
|
119
|
+
* @param headers Headers to concatenate to the outgoing collection.
|
|
120
|
+
* @remarks If the header does not exist in the incoming headers, it will be ignored. Unless the header is already present in the outgoing collection.
|
|
121
|
+
*/
|
|
122
|
+
concat(headers: Record<string, string>): void
|
|
123
|
+
/**
|
|
124
|
+
* Overrides a header definition in the outgoing collection.
|
|
125
|
+
* @param headers Headers to override in the outgoing collection.
|
|
126
|
+
* @remarks If the header does not exist in the incoming headers, it will be added to the outgoing collection.
|
|
127
|
+
*/
|
|
128
|
+
override(headers: Record<string, string>): void
|
|
129
|
+
}
|