@microsoft/agents-copilotstudio-client 0.6.1 → 0.6.11
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/src/browser.mjs +9 -9
- package/dist/src/browser.mjs.map +4 -4
- package/dist/src/copilotStudioClient.d.ts +8 -4
- package/dist/src/copilotStudioClient.js +34 -17
- package/dist/src/copilotStudioClient.js.map +1 -1
- package/dist/src/copilotStudioWebChat.d.ts +146 -28
- package/dist/src/copilotStudioWebChat.js +157 -27
- package/dist/src/copilotStudioWebChat.js.map +1 -1
- package/dist/src/powerPlatformEnvironment.js +13 -3
- package/dist/src/powerPlatformEnvironment.js.map +1 -1
- package/package.json +3 -4
- package/src/copilotStudioClient.ts +33 -19
- package/src/copilotStudioWebChat.ts +220 -56
- package/src/powerPlatformEnvironment.ts +14 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilotStudioWebChat.js","sourceRoot":"","sources":["../../src/copilotStudioWebChat.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+BAAiC;AAGjC,+
|
|
1
|
+
{"version":3,"file":"copilotStudioWebChat.js","sourceRoot":"","sources":["../../src/copilotStudioWebChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.getCopilotStudioConnectionUrl = getCopilotStudioConnectionUrl;
|
|
8
8
|
exports.getTokenAudience = getTokenAudience;
|
|
9
9
|
const agentType_1 = require("./agentType");
|
|
10
|
+
const logger_1 = require("@microsoft/agents-activity/src/logger");
|
|
10
11
|
const powerPlatformCloud_1 = require("./powerPlatformCloud");
|
|
11
12
|
const prebuiltBotStrategy_1 = require("./strategies/prebuiltBotStrategy");
|
|
12
13
|
const publishedBotStrategy_1 = require("./strategies/publishedBotStrategy");
|
|
14
|
+
const logger = (0, logger_1.debug)('copilot-studio:power-platform');
|
|
13
15
|
/**
|
|
14
16
|
* Generates the connection URL for Copilot Studio.
|
|
15
17
|
* @param settings - The connection settings.
|
|
@@ -21,11 +23,13 @@ function getCopilotStudioConnectionUrl(settings, conversationId) {
|
|
|
21
23
|
var _a, _b;
|
|
22
24
|
let cloudValue = powerPlatformCloud_1.PowerPlatformCloud.Prod;
|
|
23
25
|
if ((_a = settings.directConnectUrl) === null || _a === void 0 ? void 0 : _a.trim()) {
|
|
26
|
+
logger.debug(`Using direct connection: ${settings.directConnectUrl}`);
|
|
24
27
|
if (!isValidUri(settings.directConnectUrl)) {
|
|
25
28
|
throw new Error('directConnectUrl must be a valid URL');
|
|
26
29
|
}
|
|
27
30
|
// FIX for Missing Tenant ID
|
|
28
|
-
if (settings.directConnectUrl.
|
|
31
|
+
if (settings.directConnectUrl.toLowerCase().includes('tenants/00000000-0000-0000-0000-000000000000')) {
|
|
32
|
+
logger.debug(`Direct connection cannot be used, forcing default settings flow. Tenant ID is missing in the URL: ${settings.directConnectUrl}`);
|
|
29
33
|
// Direct connection cannot be used, ejecting and forcing the normal settings flow:
|
|
30
34
|
return getCopilotStudioConnectionUrl({ ...settings, directConnectUrl: '' }, conversationId);
|
|
31
35
|
}
|
|
@@ -47,14 +51,16 @@ function getCopilotStudioConnectionUrl(settings, conversationId) {
|
|
|
47
51
|
throw new Error('AgentIdentifier must be provided');
|
|
48
52
|
}
|
|
49
53
|
if (cloudSetting !== powerPlatformCloud_1.PowerPlatformCloud.Unknown) {
|
|
54
|
+
logger.debug(`Using specified cloud setting: ${cloudSetting}`);
|
|
50
55
|
cloudValue = cloudSetting;
|
|
51
56
|
}
|
|
52
57
|
if (cloudSetting === powerPlatformCloud_1.PowerPlatformCloud.Other) {
|
|
53
58
|
if (isNotEmptyCustomPowerPlatformCloud && isValidUri(settings.customPowerPlatformCloud)) {
|
|
59
|
+
logger.debug(`Using custom Power Platform cloud: ${settings.customPowerPlatformCloud}`);
|
|
54
60
|
cloudValue = powerPlatformCloud_1.PowerPlatformCloud.Other;
|
|
55
61
|
}
|
|
56
62
|
else {
|
|
57
|
-
throw new Error('customPowerPlatformCloud must be
|
|
63
|
+
throw new Error('customPowerPlatformCloud must be a valid URL');
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
let agentType;
|
|
@@ -63,10 +69,12 @@ function getCopilotStudioConnectionUrl(settings, conversationId) {
|
|
|
63
69
|
throw new Error('Invalid AgentType enum key');
|
|
64
70
|
}
|
|
65
71
|
else {
|
|
72
|
+
logger.debug(`Using specified agent type: ${settings.copilotAgentType}`);
|
|
66
73
|
agentType = settings.copilotAgentType;
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
else {
|
|
77
|
+
logger.debug('Using default agent type: Published');
|
|
70
78
|
agentType = agentType_1.AgentType.Published;
|
|
71
79
|
}
|
|
72
80
|
settings.customPowerPlatformCloud = isNotEmptyCustomPowerPlatformCloud ? settings.customPowerPlatformCloud : 'api.unknown.powerplatform.com';
|
|
@@ -81,7 +89,9 @@ function getCopilotStudioConnectionUrl(settings, conversationId) {
|
|
|
81
89
|
identifier: settings.agentIdentifier,
|
|
82
90
|
}),
|
|
83
91
|
}[agentType]();
|
|
84
|
-
|
|
92
|
+
const url = strategy.getConversationUrl(conversationId);
|
|
93
|
+
logger.debug(`Generated Copilot Studio connection URL: ${url}`);
|
|
94
|
+
return url;
|
|
85
95
|
}
|
|
86
96
|
/**
|
|
87
97
|
* Returns the Power Platform API Audience.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerPlatformEnvironment.js","sourceRoot":"","sources":["../../src/powerPlatformEnvironment.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"powerPlatformEnvironment.js","sourceRoot":"","sources":["../../src/powerPlatformEnvironment.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": "0.6.
|
|
3
|
+
"version": "0.6.11",
|
|
4
4
|
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,10 +27,9 @@
|
|
|
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": "0.6.
|
|
30
|
+
"@microsoft/agents-activity": "0.6.11",
|
|
31
31
|
"axios": "^1.9.0",
|
|
32
|
-
"
|
|
33
|
-
"rxjs": "5.5.12",
|
|
32
|
+
"rxjs": "7.8.2",
|
|
34
33
|
"uuid": "^11.1.0"
|
|
35
34
|
},
|
|
36
35
|
"license": "MIT",
|
|
@@ -8,15 +8,21 @@ import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'
|
|
|
8
8
|
import { getCopilotStudioConnectionUrl, getTokenAudience } from './powerPlatformEnvironment'
|
|
9
9
|
import { Activity, ActivityTypes, ConversationAccount } from '@microsoft/agents-activity'
|
|
10
10
|
import { ExecuteTurnRequest } from './executeTurnRequest'
|
|
11
|
-
import
|
|
11
|
+
import { debug } from '@microsoft/agents-activity/src/logger'
|
|
12
12
|
import pjson from '@microsoft/agents-copilotstudio-client/package.json'
|
|
13
13
|
import os from 'os'
|
|
14
14
|
|
|
15
|
+
const logger = debug('copilot-studio:client')
|
|
16
|
+
|
|
15
17
|
interface streamRead {
|
|
16
18
|
done: boolean,
|
|
17
19
|
value: string
|
|
18
20
|
}
|
|
19
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Client for interacting with Microsoft Copilot Studio services.
|
|
24
|
+
* Provides functionality to start conversations and send messages to Copilot Studio bots.
|
|
25
|
+
*/
|
|
20
26
|
export class CopilotStudioClient {
|
|
21
27
|
/** Header key for conversation ID. */
|
|
22
28
|
private static readonly conversationIdHeaderKey: string = 'x-ms-conversationid'
|
|
@@ -29,12 +35,12 @@ export class CopilotStudioClient {
|
|
|
29
35
|
private readonly settings: ConnectionSettings
|
|
30
36
|
/** The Axios instance used for HTTP requests. */
|
|
31
37
|
private readonly client: AxiosInstance
|
|
32
|
-
/** The logger for debugging. */
|
|
33
|
-
private readonly logger: Debugger
|
|
34
38
|
|
|
35
39
|
/**
|
|
36
|
-
* Returns the
|
|
37
|
-
*
|
|
40
|
+
* Returns the scope URL needed to connect to Copilot Studio from the connection settings.
|
|
41
|
+
* This is used for authentication token audience configuration.
|
|
42
|
+
* @param settings Copilot Studio connection settings.
|
|
43
|
+
* @returns The scope URL for token audience.
|
|
38
44
|
*/
|
|
39
45
|
static scopeFromSettings: (settings: ConnectionSettings) => string = getTokenAudience
|
|
40
46
|
|
|
@@ -48,13 +54,12 @@ export class CopilotStudioClient {
|
|
|
48
54
|
this.client = axios.create()
|
|
49
55
|
this.client.defaults.headers.common.Authorization = `Bearer ${token}`
|
|
50
56
|
this.client.defaults.headers.common['User-Agent'] = CopilotStudioClient.getProductInfo()
|
|
51
|
-
this.logger = createDebug('copilot-studio-client')
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
private async postRequestAsync (axiosConfig: AxiosRequestConfig): Promise<Activity[]> {
|
|
55
60
|
const activities: Activity[] = []
|
|
56
61
|
|
|
57
|
-
|
|
62
|
+
logger.debug(`>>> SEND TO ${axiosConfig.url}`)
|
|
58
63
|
|
|
59
64
|
const response = await this.client(axiosConfig)
|
|
60
65
|
|
|
@@ -62,18 +67,19 @@ export class CopilotStudioClient {
|
|
|
62
67
|
const islandExperimentalUrl = response.headers?.[CopilotStudioClient.islandExperimentalUrlHeaderKey]
|
|
63
68
|
if (islandExperimentalUrl) {
|
|
64
69
|
this.settings.directConnectUrl = islandExperimentalUrl
|
|
65
|
-
|
|
70
|
+
logger.debug(`Island Experimental URL: ${islandExperimentalUrl}`)
|
|
66
71
|
}
|
|
67
72
|
}
|
|
68
73
|
|
|
69
74
|
this.conversationId = response.headers?.[CopilotStudioClient.conversationIdHeaderKey] ?? ''
|
|
70
75
|
if (this.conversationId) {
|
|
71
|
-
|
|
76
|
+
logger.debug(`Conversation ID: ${this.conversationId}`)
|
|
72
77
|
}
|
|
73
78
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
79
|
+
const sanitizedHeaders = { ...response.headers }
|
|
80
|
+
delete sanitizedHeaders['Authorization']
|
|
81
|
+
delete sanitizedHeaders[CopilotStudioClient.conversationIdHeaderKey]
|
|
82
|
+
logger.debug('Headers received:', sanitizedHeaders)
|
|
77
83
|
|
|
78
84
|
const stream = response.data
|
|
79
85
|
const reader = stream.pipeThrough(new TextDecoderStream()).getReader()
|
|
@@ -82,12 +88,12 @@ export class CopilotStudioClient {
|
|
|
82
88
|
|
|
83
89
|
const processEvents = async ({ done, value }: streamRead): Promise<string[]> => {
|
|
84
90
|
if (done) {
|
|
85
|
-
|
|
91
|
+
logger.debug('Stream complete')
|
|
86
92
|
result += value
|
|
87
93
|
results.push(result)
|
|
88
94
|
return results
|
|
89
95
|
}
|
|
90
|
-
|
|
96
|
+
logger.info('Agent is typing ...')
|
|
91
97
|
result += value
|
|
92
98
|
|
|
93
99
|
return await processEvents(await reader.read())
|
|
@@ -106,13 +112,13 @@ export class CopilotStudioClient {
|
|
|
106
112
|
if (!this.conversationId.trim()) {
|
|
107
113
|
// Did not get it from the header.
|
|
108
114
|
this.conversationId = act.conversation?.id ?? ''
|
|
109
|
-
|
|
115
|
+
logger.debug(`Conversation ID: ${this.conversationId}`)
|
|
110
116
|
}
|
|
111
117
|
} else {
|
|
112
|
-
|
|
118
|
+
logger.debug(`Activity type: ${act.type}`)
|
|
113
119
|
}
|
|
114
120
|
} catch (e) {
|
|
115
|
-
|
|
121
|
+
logger.error('Error: ', e)
|
|
116
122
|
throw e
|
|
117
123
|
}
|
|
118
124
|
})
|
|
@@ -128,12 +134,16 @@ export class CopilotStudioClient {
|
|
|
128
134
|
*/
|
|
129
135
|
private static getProductInfo (): string {
|
|
130
136
|
const version = `CopilotStudioClient.agents-sdk-js/${pjson.version}`
|
|
137
|
+
let userAgent: string
|
|
131
138
|
|
|
132
139
|
if (typeof window !== 'undefined' && window.navigator) {
|
|
133
|
-
|
|
140
|
+
userAgent = `${version} ${navigator.userAgent}`
|
|
141
|
+
} else {
|
|
142
|
+
userAgent = `${version} nodejs/${process.version} ${os.platform()}-${os.arch()}/${os.release()}`
|
|
134
143
|
}
|
|
135
144
|
|
|
136
|
-
|
|
145
|
+
logger.debug(`User-Agent: ${userAgent}`)
|
|
146
|
+
return userAgent
|
|
137
147
|
}
|
|
138
148
|
|
|
139
149
|
/**
|
|
@@ -157,8 +167,10 @@ export class CopilotStudioClient {
|
|
|
157
167
|
adapter: 'fetch'
|
|
158
168
|
}
|
|
159
169
|
|
|
170
|
+
logger.info('Starting conversation ...')
|
|
160
171
|
const values = await this.postRequestAsync(config)
|
|
161
172
|
const act = values[0]
|
|
173
|
+
logger.info(`Conversation '${act.conversation?.id}' started. Received ${values.length} activities.`, values)
|
|
162
174
|
return act
|
|
163
175
|
}
|
|
164
176
|
|
|
@@ -194,7 +206,9 @@ export class CopilotStudioClient {
|
|
|
194
206
|
responseType: 'stream',
|
|
195
207
|
adapter: 'fetch'
|
|
196
208
|
}
|
|
209
|
+
logger.info(`Asking question: ${question} ...`)
|
|
197
210
|
const values = await this.postRequestAsync(config)
|
|
211
|
+
logger.info(`Received ${values.length} activities.`, values)
|
|
198
212
|
return values
|
|
199
213
|
}
|
|
200
214
|
}
|