@microsoft/managed-apps-cli 0.17.0 → 0.19.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/dist/ArgumentProvider.d.ts +25 -1
- package/dist/ArgumentProvider.d.ts.map +1 -1
- package/dist/ArgumentProvider.js +80 -23
- package/dist/ArgumentProvider.js.map +1 -1
- package/dist/Authentication/ActiveAccountStore.d.ts +1 -1
- package/dist/Authentication/ActiveAccountStore.d.ts.map +1 -1
- package/dist/Authentication/ActiveAccountStore.js +3 -3
- package/dist/Authentication/ActiveAccountStore.js.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +16 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +72 -11
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +24 -10
- package/dist/Cli.js.map +1 -1
- package/dist/CliSettings.d.ts +2 -0
- package/dist/CliSettings.d.ts.map +1 -1
- package/dist/CliSettings.js +32 -8
- package/dist/CliSettings.js.map +1 -1
- package/dist/CliUtils.d.ts +4 -7
- package/dist/CliUtils.d.ts.map +1 -1
- package/dist/CliUtils.js +2 -12
- package/dist/CliUtils.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +1 -0
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +8 -5
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Constants.d.ts +4 -0
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +11 -1
- package/dist/Constants.js.map +1 -1
- package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
- package/dist/Errors/GitHubErrorMap.js +2 -0
- package/dist/Errors/GitHubErrorMap.js.map +1 -1
- package/dist/HttpClient/CliHttpClient.d.ts +2 -15
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/dist/HttpClient/CliHttpClient.js +5 -91
- package/dist/HttpClient/CliHttpClient.js.map +1 -1
- package/dist/HttpClient/HttpForward.d.ts +9 -0
- package/dist/HttpClient/HttpForward.d.ts.map +1 -0
- package/dist/HttpClient/HttpForward.js +56 -0
- package/dist/HttpClient/HttpForward.js.map +1 -0
- package/dist/Logger/BufferedTelemetryWriter.d.ts +20 -0
- package/dist/Logger/BufferedTelemetryWriter.d.ts.map +1 -0
- package/dist/Logger/BufferedTelemetryWriter.js +163 -0
- package/dist/Logger/BufferedTelemetryWriter.js.map +1 -0
- package/dist/Logger/CliLogger.d.ts +29 -50
- package/dist/Logger/CliLogger.d.ts.map +1 -1
- package/dist/Logger/CliLogger.js +152 -116
- package/dist/Logger/CliLogger.js.map +1 -1
- package/dist/Logger/OneDSWriter.d.ts +15 -11
- package/dist/Logger/OneDSWriter.d.ts.map +1 -1
- package/dist/Logger/OneDSWriter.js +96 -23
- package/dist/Logger/OneDSWriter.js.map +1 -1
- package/dist/Types/Cli.types.d.ts +3 -2
- package/dist/Types/Cli.types.d.ts.map +1 -1
- package/dist/Types/Datasource.types.d.ts +1 -14
- package/dist/Types/Datasource.types.d.ts.map +1 -1
- package/dist/Types/LoggerTypes.types.d.ts +7 -7
- package/dist/Types/LoggerTypes.types.d.ts.map +1 -1
- package/dist/Utils/EnvironmentRoutingUtils.d.ts +1 -1
- package/dist/Utils/EnvironmentRoutingUtils.js +5 -5
- package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -1
- package/dist/Utils/FindAvailablePort.d.ts +39 -0
- package/dist/Utils/FindAvailablePort.d.ts.map +1 -0
- package/dist/Utils/FindAvailablePort.js +105 -0
- package/dist/Utils/FindAvailablePort.js.map +1 -0
- package/dist/Verbs/AddConnectorFlows.d.ts +4 -4
- package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
- package/dist/Verbs/AddConnectorFlows.js +10 -7
- package/dist/Verbs/AddConnectorFlows.js.map +1 -1
- package/dist/Verbs/AddFlow.d.ts.map +1 -1
- package/dist/Verbs/AddFlow.js +1 -7
- package/dist/Verbs/AddFlow.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +5 -6
- package/dist/Verbs/CreateMaafApp.js.map +1 -1
- package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -1
- package/dist/Verbs/DeleteMaafApp.js +6 -10
- package/dist/Verbs/DeleteMaafApp.js.map +1 -1
- package/dist/Verbs/Dev.d.ts.map +1 -1
- package/dist/Verbs/Dev.js +44 -13
- package/dist/Verbs/Dev.js.map +1 -1
- package/dist/Verbs/GetMaafApp.js +2 -3
- package/dist/Verbs/GetMaafApp.js.map +1 -1
- package/dist/Verbs/Init.d.ts.map +1 -1
- package/dist/Verbs/Init.js +2 -2
- package/dist/Verbs/Init.js.map +1 -1
- package/dist/Verbs/ListMaafApps.d.ts +22 -10
- package/dist/Verbs/ListMaafApps.d.ts.map +1 -1
- package/dist/Verbs/ListMaafApps.js +77 -31
- package/dist/Verbs/ListMaafApps.js.map +1 -1
- package/dist/Verbs/Login.d.ts.map +1 -1
- package/dist/Verbs/Login.js +9 -1
- package/dist/Verbs/Login.js.map +1 -1
- package/dist/Verbs/MaafAppPermissions.d.ts +1 -1
- package/dist/Verbs/MaafAppPermissions.js +15 -14
- package/dist/Verbs/MaafAppPermissions.js.map +1 -1
- package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
- package/dist/Verbs/RefreshGitAuth.js +2 -3
- package/dist/Verbs/RefreshGitAuth.js.map +1 -1
- package/dist/Verbs/RemoveFlow.d.ts.map +1 -1
- package/dist/Verbs/RemoveFlow.js +1 -7
- package/dist/Verbs/RemoveFlow.js.map +1 -1
- package/dist/Verbs/VerbConstants.d.ts +5 -1
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +10 -1
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/package.json +4 -4
|
@@ -7,64 +7,7 @@ import { getSettings } from '../CliSettings.js';
|
|
|
7
7
|
import { MS_AUTH_RESOURCE, MS_BODY_TOKEN_RESOURCE, MS_CLIENT_REQUESTID, MS_TARGET_URL, USER_AGENT, } from '../Constants.js';
|
|
8
8
|
import { enhanceNetworkError } from '../Utils/EnhanceNetworkError.js';
|
|
9
9
|
import { CliSpinner } from '../Utils/Spinner.js';
|
|
10
|
-
|
|
11
|
-
* Parse the raw `MS_CLI_HTTP_FORWARD_HEADERS` value — a JSON object of extra static
|
|
12
|
-
* headers attached to every forwarded request — into a header map. Returns an empty
|
|
13
|
-
* object when the value is unset or blank; throws when a non-empty value is not a JSON
|
|
14
|
-
* object of string values.
|
|
15
|
-
*
|
|
16
|
-
* JSON is used (rather than a `Name: Value` wire-format string) because forward headers
|
|
17
|
-
* can carry tokens and URLs that contain `:`, `,`, and `=` — JSON quotes them
|
|
18
|
-
* unambiguously and self-validates.
|
|
19
|
-
*
|
|
20
|
-
* Header names and values are rejected if they contain CR or LF: validating at this input
|
|
21
|
-
* boundary prevents HTTP header injection by construction, rather than relying on the
|
|
22
|
-
* underlying `fetch` implementation to reject malformed headers at the HTTP layer.
|
|
23
|
-
*/
|
|
24
|
-
function parseForwardHeaders(raw) {
|
|
25
|
-
const trimmed = raw?.trim();
|
|
26
|
-
if (!trimmed) {
|
|
27
|
-
return {};
|
|
28
|
-
}
|
|
29
|
-
const envName = 'MS_CLI_HTTP_FORWARD_HEADERS';
|
|
30
|
-
let parsed;
|
|
31
|
-
try {
|
|
32
|
-
parsed = JSON.parse(trimmed);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
throw new Error(`${envName} must be a JSON object of string header values.`);
|
|
36
|
-
}
|
|
37
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
38
|
-
throw new Error(`${envName} must be a JSON object of string header values.`);
|
|
39
|
-
}
|
|
40
|
-
const headers = {};
|
|
41
|
-
for (const [name, value] of Object.entries(parsed)) {
|
|
42
|
-
if (typeof value !== 'string') {
|
|
43
|
-
throw new Error(`${envName} header "${name}" must be a string value.`);
|
|
44
|
-
}
|
|
45
|
-
if (/[\r\n]/.test(name) || /[\r\n]/.test(value)) {
|
|
46
|
-
throw new Error(`${envName} header "${name}" contains illegal CR/LF characters.`);
|
|
47
|
-
}
|
|
48
|
-
headers[name] = value;
|
|
49
|
-
}
|
|
50
|
-
return headers;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Headers the CLI manages itself in forward mode. A caller-supplied
|
|
54
|
-
* `MS_CLI_HTTP_FORWARD_HEADERS` entry that collides with one of these (matched
|
|
55
|
-
* case-insensitively) is ignored so it can never override the auth token, the
|
|
56
|
-
* routing headers, the client request id, or the content type. (User-Agent is
|
|
57
|
-
* intentionally NOT reserved: a caller-supplied value is appended to — not
|
|
58
|
-
* overridden by — the CLI product token, so it is safe to let it through.)
|
|
59
|
-
*/
|
|
60
|
-
const RESERVED_FORWARD_HEADERS = new Set([
|
|
61
|
-
'authorization',
|
|
62
|
-
'content-type',
|
|
63
|
-
MS_CLIENT_REQUESTID.toLowerCase(),
|
|
64
|
-
MS_TARGET_URL.toLowerCase(),
|
|
65
|
-
MS_AUTH_RESOURCE.toLowerCase(),
|
|
66
|
-
MS_BODY_TOKEN_RESOURCE.toLowerCase(),
|
|
67
|
-
]);
|
|
10
|
+
import { applyStaticForwardHeaders, parseForwardHeaders } from './HttpForward.js';
|
|
68
11
|
/**
|
|
69
12
|
* Allowlist of request headers that are safe to emit to telemetry. Anything not in this
|
|
70
13
|
* list is dropped to avoid leaking bearer tokens, cookies, or other secrets.
|
|
@@ -118,8 +61,6 @@ export class CliHttpClient {
|
|
|
118
61
|
_forwardUrl;
|
|
119
62
|
_inflight = 0;
|
|
120
63
|
_spinner = new CliSpinner();
|
|
121
|
-
_firstAuthCallback;
|
|
122
|
-
_firstAuthFired = false;
|
|
123
64
|
_logger;
|
|
124
65
|
/**
|
|
125
66
|
* Extra static headers attached to every forwarded request, parsed once from the
|
|
@@ -131,30 +72,17 @@ export class CliHttpClient {
|
|
|
131
72
|
* @param _forwardUrl — when set, every request is forwarded to this URL with the original
|
|
132
73
|
* URL surfaced via the `x-ms-target-url` header and the resource audience (if any) via
|
|
133
74
|
* `x-ms-auth-resource`. Used for proxy / dev-tunnel scenarios.
|
|
134
|
-
* @param
|
|
75
|
+
* @param customForwardHeadersJson — raw `MS_CLI_HTTP_FORWARD_HEADERS` value: a JSON object of extra
|
|
135
76
|
* static headers attached to every forwarded request (forward mode only). Parsed once here.
|
|
136
77
|
* Only parsed — and only able to fail — in forward mode with a non-empty value; a malformed
|
|
137
78
|
* value throws at construction. The CLI's own protocol headers (`Authorization`,
|
|
138
79
|
* `x-ms-target-url`, `x-ms-auth-resource`, `x-ms-client-request-id`, `Content-Type`) always
|
|
139
80
|
* take precedence; these fill in everything the forward service needs beyond them.
|
|
140
81
|
*/
|
|
141
|
-
constructor(_authenticationProvider, _forwardUrl,
|
|
82
|
+
constructor(_authenticationProvider, _forwardUrl, customForwardHeadersJson) {
|
|
142
83
|
this._authenticationProvider = _authenticationProvider;
|
|
143
84
|
this._forwardUrl = _forwardUrl;
|
|
144
|
-
this._forwardHeaders = _forwardUrl ? parseForwardHeaders(
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Register a one-shot callback that fires (fire-and-forget) after the first successful
|
|
148
|
-
* token acquisition through an authed request. Used by `CliLogger` to lazily upgrade
|
|
149
|
-
* its OneDS writer from the unauthenticated default to the EU-aware authed configuration
|
|
150
|
-
* once we know auth is working. The callback runs in the background — it does NOT block
|
|
151
|
-
* the request that triggered it.
|
|
152
|
-
*
|
|
153
|
-
* Calling this more than once replaces the previous callback. Calling it after the first
|
|
154
|
-
* authed request has already happened is a no-op (the one-shot has already passed).
|
|
155
|
-
*/
|
|
156
|
-
onFirstAuth(callback) {
|
|
157
|
-
this._firstAuthCallback = callback;
|
|
85
|
+
this._forwardHeaders = _forwardUrl ? parseForwardHeaders(customForwardHeadersJson) : {};
|
|
158
86
|
}
|
|
159
87
|
setLogger(logger) {
|
|
160
88
|
this._logger = logger;
|
|
@@ -202,12 +130,7 @@ export class CliHttpClient {
|
|
|
202
130
|
// so relying on overwrite order alone would let `X-MS-Target-URL` slip past our
|
|
203
131
|
// `x-ms-target-url`).
|
|
204
132
|
if (this._forwardUrl) {
|
|
205
|
-
|
|
206
|
-
if (RESERVED_FORWARD_HEADERS.has(name.toLowerCase())) {
|
|
207
|
-
continue;
|
|
208
|
-
}
|
|
209
|
-
headers[name] = value;
|
|
210
|
-
}
|
|
133
|
+
applyStaticForwardHeaders(headers, this._forwardHeaders);
|
|
211
134
|
}
|
|
212
135
|
if (config?.authResource) {
|
|
213
136
|
const token = await this._authenticationProvider.getAccessTokenForResource(config.authResource);
|
|
@@ -215,15 +138,6 @@ export class CliHttpClient {
|
|
|
215
138
|
if (token) {
|
|
216
139
|
headers.Authorization = `Bearer ${token}`;
|
|
217
140
|
}
|
|
218
|
-
// Successful token acquisition is the lazy-auth signal — fire the registered
|
|
219
|
-
// callback once, in the background, so it doesn't block this request.
|
|
220
|
-
if (token && this._firstAuthCallback && !this._firstAuthFired) {
|
|
221
|
-
this._firstAuthFired = true;
|
|
222
|
-
this._firstAuthCallback().catch(() => {
|
|
223
|
-
// Callback owns its own error handling; we don't want a background failure to
|
|
224
|
-
// pollute the current request's outcome.
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
141
|
}
|
|
228
142
|
if (config?.contentType) {
|
|
229
143
|
headers['Content-Type'] = config.contentType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,eAAe,EAEf,oBAAoB,GAGrB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE/E;;;;GAIG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,cAAc;IACd,mBAAmB,CAAC,WAAW,EAAE;IACjC,aAAa,CAAC,WAAW,EAAE;IAC3B,gBAAgB,CAAC,WAAW,EAAE;IAC9B,sBAAsB,CAAC,WAAW,EAAE;CACrC,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC9B,OAAyC,EACzC,IAA4B;IAE5B,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAC5F,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,aAAa;IAwBd;IACA;IAxBF,SAAS,GAAG,CAAC,CAAC;IACd,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAC5B,OAAO,CAAW;IAE1B;;;OAGG;IACc,eAAe,CAAyB;IAEzD;;;;;;;;;;;OAWG;IACH,YACU,uBAAgD,EAChD,WAAoB,EAC5B,wBAAiC;QAFzB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,gBAAW,GAAX,WAAW,CAAS;QAG5B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,CAAC;IAEM,SAAS,CAAC,MAAe;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,GAAW,EACX,MAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAI,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IACM,KAAK,CAAC,IAAI,CACf,GAAW,EACX,MAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAI,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IACM,KAAK,CAAC,KAAK,CAChB,GAAW,EACX,MAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAI,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IACM,KAAK,CAAC,GAAG,CACd,GAAW,EACX,MAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAI,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IACM,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,MAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,GAAW,EACX,MAAc,EACd,MAAsB;QAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,0CAA0C;QAC1C,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,sBAAsB;QACtB,IAAI,YAAY,GAA4B;YAC1C,GAAG;YACH,MAAM;YACN,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YAClC,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE;YACxC,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAClE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YAEtC,iFAAiF;YACjF,oFAAoF;YACpF,uFAAuF;YACvF,gFAAgF;YAChF,sBAAsB;YACtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CACxE,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,iFAAiF;gBACjF,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;YAC/C,CAAC;iBAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC/C,CAAC;YAED,OAAO,CAAC,mBAAmB,CAAC,GAAG,UAAU,EAAE,CAAC;YAC5C,6EAA6E;YAC7E,0EAA0E;YAC1E,8EAA8E;YAC9E,6EAA6E;YAC7E,0EAA0E;YAC1E,qCAAqC;YACrC,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;oBACxC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClB,iBAAiB,GAAG,iBAAiB;4BACnC,CAAC,CAAC,GAAG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;4BACzC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAE9F,IAAI,SAAS,GAAG,GAAG,CAAC;YACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;gBAC7B,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;oBACzB,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;gBAClD,CAAC;gBACD,mFAAmF;gBACnF,wFAAwF;gBACxF,0FAA0F;gBAC1F,wFAAwF;gBACxF,0FAA0F;gBAC1F,wFAAwF;gBACxF,IAAI,MAAM,EAAE,qBAAqB,EAAE,CAAC;oBAClC,OAAO,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACjE,CAAC;gBACD,+EAA+E;gBAC/E,iFAAiF;gBACjF,mFAAmF;gBACnF,wFAAwF;gBACxF,sFAAsF;gBACtF,iFAAiF;gBACjF,yFAAyF;gBACzF,qFAAqF;gBACrF,oFAAoF;gBACpF,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBACtF,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,aAAa,GAAG,UAAU,YAAY,EAAE,CAAC;oBACnD,CAAC;gBACH,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAEtE,MAAM,cAAc,GAKhB;gBACF,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,MAAM,EAAE,MAAM;aACvB,CAAC;YAEF,YAAY,GAAG;gBACb,GAAG,YAAY;gBACf,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC;aAC/C,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,cAA6B,CAAC,CAAC;YACvE,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrC,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAClD,YAAY,CAAC,oBAAoB;gBAC/B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,SAAS,CAAC;YACnE,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;YACpF,YAAY,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;YAC7E,YAAY,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;YAEjF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAClE,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,qBAAqB,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,gEAAgE;gBAChE,iEAAiE;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAE5E,YAAY,CAAC,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACpD,YAAY,GAAG;oBACb,GAAG,YAAY;oBACf,GAAG,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;iBACzD,CAAC;gBAEF,MAAM,IAAI,eAAe,CACvB,sBAAsB,QAAQ,CAAC,MAAM,QAAQ,MAAM,IAAI,SAAS,GAAG,iBAAiB,KAAK,SAAS,EAAE,EACpG;oBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC;oBACrC,IAAI,EAAE,SAAS;iBAChB,CACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,uEAAuE;gBACvE,uEAAuE;gBACvE,gEAAgE;gBAChE,YAAY,GAAG;oBACb,GAAG,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;oBACxD,GAAG,YAAY;iBAChB,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;YAED,uFAAuF;YACvF,4FAA4F;YAC5F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;YAEpD,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;aACxD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3E,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnE,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAClD,YAAY,CAAC,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC;YACnD,YAAY,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC;gBACH,uEAAuE;gBACvE,gEAAgE;gBAChE,uEAAuE;gBACvE,6DAA6D;gBAC7D,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;YACD,MAAM,aAAa,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,QAAkB;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,6CAA6C;QAC7C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,IAAS,CAAC;QACnB,CAAC;aAAM,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,YAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAgB;QAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parse the raw `MS_CLI_HTTP_FORWARD_HEADERS` value into a header map.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseForwardHeaders(raw: string | undefined): Record<string, string>;
|
|
8
|
+
export declare function applyStaticForwardHeaders(headers: Record<string, string>, forwardHeaders: Readonly<Record<string, string>>): void;
|
|
9
|
+
//# sourceMappingURL=HttpForward.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpForward.d.ts","sourceRoot":"","sources":["../../src/HttpClient/HttpForward.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BnF;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC/C,IAAI,CAMN"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { MS_AUTH_RESOURCE, MS_BODY_TOKEN_RESOURCE, MS_CLIENT_REQUESTID, MS_TARGET_URL, } from '../Constants.js';
|
|
5
|
+
/**
|
|
6
|
+
* Protocol headers that caller-supplied static headers must not override.
|
|
7
|
+
* `User-Agent` is intentionally excluded because callers append the CLI product token
|
|
8
|
+
* to a supplied value rather than replacing it.
|
|
9
|
+
*/
|
|
10
|
+
const RESERVED_FORWARD_HEADERS = new Set([
|
|
11
|
+
'authorization',
|
|
12
|
+
'content-type',
|
|
13
|
+
MS_CLIENT_REQUESTID.toLowerCase(),
|
|
14
|
+
MS_TARGET_URL.toLowerCase(),
|
|
15
|
+
MS_AUTH_RESOURCE.toLowerCase(),
|
|
16
|
+
MS_BODY_TOKEN_RESOURCE.toLowerCase(),
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* Parse the raw `MS_CLI_HTTP_FORWARD_HEADERS` value into a header map.
|
|
20
|
+
*/
|
|
21
|
+
export function parseForwardHeaders(raw) {
|
|
22
|
+
const trimmed = raw?.trim();
|
|
23
|
+
if (!trimmed) {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
const envName = 'MS_CLI_HTTP_FORWARD_HEADERS';
|
|
27
|
+
let parsed;
|
|
28
|
+
try {
|
|
29
|
+
parsed = JSON.parse(trimmed);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
throw new Error(`${envName} must be a JSON object of string header values.`);
|
|
33
|
+
}
|
|
34
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
35
|
+
throw new Error(`${envName} must be a JSON object of string header values.`);
|
|
36
|
+
}
|
|
37
|
+
const headers = {};
|
|
38
|
+
for (const [name, value] of Object.entries(parsed)) {
|
|
39
|
+
if (typeof value !== 'string') {
|
|
40
|
+
throw new Error(`${envName} header "${name}" must be a string value.`);
|
|
41
|
+
}
|
|
42
|
+
if (/[\r\n]/.test(name) || /[\r\n]/.test(value)) {
|
|
43
|
+
throw new Error(`${envName} header "${name}" contains illegal CR/LF characters.`);
|
|
44
|
+
}
|
|
45
|
+
headers[name] = value;
|
|
46
|
+
}
|
|
47
|
+
return headers;
|
|
48
|
+
}
|
|
49
|
+
export function applyStaticForwardHeaders(headers, forwardHeaders) {
|
|
50
|
+
for (const [name, value] of Object.entries(forwardHeaders)) {
|
|
51
|
+
if (!RESERVED_FORWARD_HEADERS.has(name.toLowerCase())) {
|
|
52
|
+
headers[name] = value;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=HttpForward.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpForward.js","sourceRoot":"","sources":["../../src/HttpClient/HttpForward.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,eAAe;IACf,cAAc;IACd,mBAAmB,CAAC,WAAW,EAAE;IACjC,aAAa,CAAC,WAAW,EAAE;IAC3B,gBAAgB,CAAC,WAAW,EAAE;IAC9B,sBAAsB,CAAC,WAAW,EAAE;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAuB;IACzD,MAAM,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,6BAA6B,CAAC;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iDAAiD,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iDAAiD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,YAAY,IAAI,2BAA2B,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,YAAY,IAAI,sCAAsC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAA+B,EAC/B,cAAgD;IAEhD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { ITelemetryWriter } from '../Types/LoggerTypes.types.js';
|
|
5
|
+
export declare class BufferedTelemetryWriter implements ITelemetryWriter {
|
|
6
|
+
private readonly _events;
|
|
7
|
+
trackActivityEvent(eventName: string, eventData?: object, timestamp?: string): void;
|
|
8
|
+
trackErrorEvent(eventName: string, eventData?: object, timestamp?: string): void;
|
|
9
|
+
startScenario(scenarioName: string, startData?: object, timestamp?: string): void;
|
|
10
|
+
progressScenario(scenarioName: string, progressData?: object, timestamp?: string): void;
|
|
11
|
+
completeScenario(scenarioName: string, completeData?: object, timestamp?: string): void;
|
|
12
|
+
scenarioFailed(scenarioName: string, failureData?: object, timestamp?: string): void;
|
|
13
|
+
scenarioCompletedWithError(scenarioName: string, completeWithErrorData?: object, timestamp?: string): void;
|
|
14
|
+
flush(): Promise<void>;
|
|
15
|
+
setCustomDimension(_key: string, _value: string): void;
|
|
16
|
+
replay(writer: ITelemetryWriter, transformEventData?: (eventData: object | undefined) => object | undefined): void;
|
|
17
|
+
clear(): void;
|
|
18
|
+
writeToTemporaryFile(directory?: string): string | undefined;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=BufferedTelemetryWriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferedTelemetryWriter.d.ts","sourceRoot":"","sources":["../../src/Logger/BufferedTelemetryWriter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AASnE,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAEjD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQnF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQhF,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjF,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvF,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvF,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpF,0BAA0B,CAC/B,YAAY,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAQA,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAEtD,MAAM,CACX,MAAM,EAAE,gBAAgB,EACxB,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,GACzE,IAAI;IAWA,KAAK,IAAI,IAAI;IAIb,oBAAoB,CAAC,SAAS,SAAsB,GAAG,MAAM,GAAG,SAAS;CA8BjF"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
import * as fs from 'node:fs';
|
|
6
|
+
import * as path from 'node:path';
|
|
7
|
+
import { stripSensitiveDataFromObject, TelemetryEventNames, } from '@microsoft/managed-apps-common/telemetry';
|
|
8
|
+
import { TELEMETRY_DIRECTORY } from '../Constants.js';
|
|
9
|
+
import { getScrubbedCustomDimensions } from './Scrubber/ScrubCustomDimensions.js';
|
|
10
|
+
const telemetryJournalFileName = /^telemetry-\d+-[0-9a-f-]+\.json$/i;
|
|
11
|
+
const telemetryJournalRetentionMs = 7 * 24 * 60 * 60 * 1000;
|
|
12
|
+
const maxTelemetryJournals = 20;
|
|
13
|
+
// Captures remote telemetry emitted before the command resolves its environment and cloud,
|
|
14
|
+
// so it can be replayed through the correctly routed OneDS writer afterward.
|
|
15
|
+
export class BufferedTelemetryWriter {
|
|
16
|
+
_events = [];
|
|
17
|
+
trackActivityEvent(eventName, eventData, timestamp) {
|
|
18
|
+
this._events.push({
|
|
19
|
+
method: 'trackActivityEvent',
|
|
20
|
+
args: [eventName, eventData],
|
|
21
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
trackErrorEvent(eventName, eventData, timestamp) {
|
|
25
|
+
this._events.push({
|
|
26
|
+
method: 'trackErrorEvent',
|
|
27
|
+
args: [eventName, eventData],
|
|
28
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
startScenario(scenarioName, startData, timestamp) {
|
|
32
|
+
this._events.push({
|
|
33
|
+
method: 'startScenario',
|
|
34
|
+
args: [scenarioName, startData],
|
|
35
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
progressScenario(scenarioName, progressData, timestamp) {
|
|
39
|
+
this._events.push({
|
|
40
|
+
method: 'progressScenario',
|
|
41
|
+
args: [scenarioName, progressData],
|
|
42
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
completeScenario(scenarioName, completeData, timestamp) {
|
|
46
|
+
this._events.push({
|
|
47
|
+
method: 'completeScenario',
|
|
48
|
+
args: [scenarioName, completeData],
|
|
49
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
scenarioFailed(scenarioName, failureData, timestamp) {
|
|
53
|
+
this._events.push({
|
|
54
|
+
method: 'scenarioFailed',
|
|
55
|
+
args: [scenarioName, failureData],
|
|
56
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
scenarioCompletedWithError(scenarioName, completeWithErrorData, timestamp) {
|
|
60
|
+
this._events.push({
|
|
61
|
+
method: 'scenarioCompletedWithError',
|
|
62
|
+
args: [scenarioName, completeWithErrorData],
|
|
63
|
+
timestamp: timestamp ?? new Date().toISOString(),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
flush() {
|
|
67
|
+
return Promise.resolve();
|
|
68
|
+
}
|
|
69
|
+
setCustomDimension(_key, _value) { }
|
|
70
|
+
replay(writer, transformEventData) {
|
|
71
|
+
for (const event of this._events) {
|
|
72
|
+
const [name, eventData] = event.args;
|
|
73
|
+
writer[event.method](name, transformEventData ? transformEventData(eventData) : eventData, event.timestamp);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
clear() {
|
|
77
|
+
this._events.length = 0;
|
|
78
|
+
}
|
|
79
|
+
writeToTemporaryFile(directory = TELEMETRY_DIRECTORY) {
|
|
80
|
+
if (this._events.length === 0) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
fs.mkdirSync(directory, { recursive: true });
|
|
85
|
+
try {
|
|
86
|
+
cleanupTelemetryJournals(directory);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Retention is best effort and must not prevent persisting the current journal.
|
|
90
|
+
}
|
|
91
|
+
const filePath = path.join(directory, `telemetry-${Date.now()}-${randomUUID()}.json`);
|
|
92
|
+
const temporaryFilePath = `${filePath}.${process.pid}.tmp`;
|
|
93
|
+
fs.writeFileSync(temporaryFilePath, stripSensitiveDataFromObject({
|
|
94
|
+
events: this._events.map((event) => ({
|
|
95
|
+
...event,
|
|
96
|
+
args: [event.args[0], getScrubbedEventData(event)],
|
|
97
|
+
})),
|
|
98
|
+
}), 'utf-8');
|
|
99
|
+
fs.renameSync(temporaryFilePath, filePath);
|
|
100
|
+
return filePath;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function cleanupTelemetryJournals(directory) {
|
|
108
|
+
const expirationTime = Date.now() - telemetryJournalRetentionMs;
|
|
109
|
+
const journals = fs
|
|
110
|
+
.readdirSync(directory, { withFileTypes: true })
|
|
111
|
+
.filter((entry) => entry.isFile() && telemetryJournalFileName.test(entry.name))
|
|
112
|
+
.map((entry) => {
|
|
113
|
+
const filePath = path.join(directory, entry.name);
|
|
114
|
+
return { filePath, modifiedTime: fs.statSync(filePath).mtimeMs };
|
|
115
|
+
});
|
|
116
|
+
const retainedJournals = journals
|
|
117
|
+
.filter((journal) => {
|
|
118
|
+
if (journal.modifiedTime >= expirationTime) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
fs.rmSync(journal.filePath);
|
|
122
|
+
return false;
|
|
123
|
+
})
|
|
124
|
+
.sort((left, right) => left.modifiedTime - right.modifiedTime);
|
|
125
|
+
const journalsToRemove = retainedJournals.slice(0, Math.max(0, retainedJournals.length - (maxTelemetryJournals - 1)));
|
|
126
|
+
for (const journal of journalsToRemove) {
|
|
127
|
+
fs.rmSync(journal.filePath);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function getScrubbedEventData(event) {
|
|
131
|
+
const [name, eventData] = event.args;
|
|
132
|
+
const eventName = getOneDsEventName(event.method);
|
|
133
|
+
const dimensions = event.method === 'trackActivityEvent' || event.method === 'trackErrorEvent'
|
|
134
|
+
? { ...eventData, operationName: name }
|
|
135
|
+
: {
|
|
136
|
+
operationName: name,
|
|
137
|
+
...eventData,
|
|
138
|
+
scenarioName: name,
|
|
139
|
+
...(event.method === 'completeScenario' && { scenarioResult: 'Success' }),
|
|
140
|
+
...(event.method === 'scenarioFailed' && { scenarioResult: 'Failed' }),
|
|
141
|
+
...(event.method === 'scenarioCompletedWithError' && {
|
|
142
|
+
scenarioResult: 'SuccessWithErrors',
|
|
143
|
+
}),
|
|
144
|
+
};
|
|
145
|
+
return getScrubbedCustomDimensions(eventName, name, dimensions);
|
|
146
|
+
}
|
|
147
|
+
function getOneDsEventName(method) {
|
|
148
|
+
switch (method) {
|
|
149
|
+
case 'trackActivityEvent':
|
|
150
|
+
return TelemetryEventNames.Activity;
|
|
151
|
+
case 'trackErrorEvent':
|
|
152
|
+
return TelemetryEventNames.Error;
|
|
153
|
+
case 'startScenario':
|
|
154
|
+
return TelemetryEventNames.StartScenario;
|
|
155
|
+
case 'progressScenario':
|
|
156
|
+
return TelemetryEventNames.ProgressScenario;
|
|
157
|
+
case 'completeScenario':
|
|
158
|
+
case 'scenarioFailed':
|
|
159
|
+
case 'scenarioCompletedWithError':
|
|
160
|
+
return TelemetryEventNames.EndScenario;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=BufferedTelemetryWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferedTelemetryWriter.js","sourceRoot":"","sources":["../../src/Logger/BufferedTelemetryWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,47 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
+
import { type Region } from '@microsoft/managed-apps-common/services';
|
|
4
5
|
import type { ILogger, ScenarioTracker } from '@microsoft/managed-apps-common/telemetry';
|
|
5
|
-
import type { CliHttpClient } from '../HttpClient/CliHttpClient.js';
|
|
6
6
|
import type { CliSettings, IAuthenticationProvider } from '../Types/Cli.types.js';
|
|
7
|
+
import { type OneDsHttpForwardOptions } from './OneDSWriter.js';
|
|
8
|
+
export interface TelemetryContext {
|
|
9
|
+
region: Region;
|
|
10
|
+
environmentId?: string;
|
|
11
|
+
}
|
|
7
12
|
/**
|
|
8
13
|
* Logger implementation for the CLI.
|
|
9
14
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* start flowing immediately without any auth dependency. The writer is then upgraded to
|
|
13
|
-
* the EU-aware authed version via one of two paths:
|
|
14
|
-
*
|
|
15
|
-
* - `tryEagerUpgradeAsync` — called from `runVerb` after MSAL is initialized. If a
|
|
16
|
-
* cached account already exists, the upgrade runs synchronously before the first event
|
|
17
|
-
* so signed-in users get authed telemetry for the entire session.
|
|
18
|
-
* - `CliHttpClient.onFirstAuth` callback — registered in `create()`, fires (background)
|
|
19
|
-
* after the verb's first successful authed HTTP call. Handles users who sign in
|
|
20
|
-
* mid-session via MSAL.
|
|
21
|
-
*
|
|
22
|
-
* Verbs that never make an authed HTTP call and have no cached account stay on the
|
|
23
|
-
* unauthenticated writer for their whole lifetime — events still reach 1DS, just on
|
|
24
|
-
* the global endpoint with no `geoLocation` or `tenantId`.
|
|
25
|
-
*
|
|
26
|
-
* 1DS event submission uses its own ingestion credentials (not the Entra bearer token),
|
|
27
|
-
* so events can be sent regardless of sign-in state.
|
|
15
|
+
* Remote telemetry is buffered until the command resolves its target environment and region.
|
|
16
|
+
* Console telemetry is initialized immediately when enabled.
|
|
28
17
|
*/
|
|
29
18
|
export declare class CliLogger implements ILogger {
|
|
30
19
|
private _telemetryWriters;
|
|
31
|
-
private
|
|
20
|
+
private _bufferedWriter?;
|
|
21
|
+
private _remoteWriter?;
|
|
32
22
|
private readonly _customDimensions;
|
|
33
|
-
private _upgradeFired;
|
|
34
23
|
private readonly _sessionId;
|
|
35
|
-
private
|
|
24
|
+
private readonly _origin;
|
|
25
|
+
private readonly _authenticationProvider;
|
|
26
|
+
private readonly _appId;
|
|
27
|
+
private readonly _httpForwardOptions?;
|
|
28
|
+
private _telemetryContext?;
|
|
29
|
+
private _environmentMetadataPromise?;
|
|
30
|
+
private _isRemoteTelemetrySuppressed;
|
|
31
|
+
private _isEnvironmentlessTelemetry;
|
|
36
32
|
private constructor();
|
|
37
|
-
static create(cliSettings: CliSettings,
|
|
38
|
-
|
|
39
|
-
* Eagerly run the upgrade when a cached account already exists at verb-start time,
|
|
40
|
-
* so even the first telemetry event of the session lands on the authenticated writer.
|
|
41
|
-
* Called from `ArgumentProvider.runVerb` after `authProvider.initAsync(region)` but
|
|
42
|
-
* before any event is emitted.
|
|
43
|
-
*
|
|
44
|
-
* No-op if no cached account is present (we don't want to block CLI startup on a
|
|
45
|
-
* network call when the user isn't even signed in), or if the upgrade has already
|
|
46
|
-
* fired. For not-signed-in users the lazy `onFirstAuth` path still handles things
|
|
47
|
-
* later if the verb itself triggers a sign-in.
|
|
48
|
-
*
|
|
49
|
-
* Cost: ~100-500ms for signed-in users — the time `getEnvironmentByName` takes.
|
|
50
|
-
* Signed-in-but-offline users will block on the default fetch timeout before
|
|
51
|
-
* falling through; events still flow to the unauthenticated writer in that case.
|
|
52
|
-
*/
|
|
53
|
-
tryEagerUpgradeAsync(authenticationProvider: IAuthenticationProvider): Promise<void>;
|
|
33
|
+
static create(cliSettings: CliSettings, authenticationProvider: IAuthenticationProvider, httpForwardOptions?: OneDsHttpForwardOptions): Promise<CliLogger>;
|
|
34
|
+
setCustomDimension(_key: string, _value: string): void;
|
|
54
35
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* - `tryEagerUpgradeAsync` (blocking, before the first event) when a cached account
|
|
58
|
-
* is already present at verb-start time.
|
|
59
|
-
* - `CliHttpClient.onFirstAuth` (fire-and-forget) after the verb's first successful
|
|
60
|
-
* authed HTTP call, when the user signed in mid-session.
|
|
61
|
-
* Best-effort — on any failure the unauthenticated writer stays in place and events
|
|
62
|
-
* keep flowing to the global endpoint.
|
|
36
|
+
* Records the command's resolved routing context and activates the remote writer once the
|
|
37
|
+
* environment metadata is available.
|
|
63
38
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
setTelemetryContext(context: TelemetryContext): Promise<void>;
|
|
40
|
+
private _getEnvironmentMetadataAsync;
|
|
41
|
+
private _activateRemoteWriter;
|
|
42
|
+
private _activateEnvironmentlessRemoteWriter;
|
|
43
|
+
private _createRemoteWriterAndReplay;
|
|
44
|
+
writeBufferedTelemetryToFile(directory?: string): string | undefined;
|
|
66
45
|
trackActivityEvent(eventName: string, eventData?: object): void;
|
|
67
46
|
trackErrorEvent(eventName: string, eventData?: object): void;
|
|
68
47
|
trackScenario(eventName: string, eventData?: object): ScenarioTracker;
|
|
@@ -73,7 +52,7 @@ export declare class CliLogger implements ILogger {
|
|
|
73
52
|
}): void;
|
|
74
53
|
get sessionId(): string | undefined;
|
|
75
54
|
set sessionId(_value: string);
|
|
76
|
-
flush(): Promise<void>;
|
|
55
|
+
flush(retainBufferedTelemetry?: boolean): Promise<void>;
|
|
77
56
|
withDefaults(_extras: Record<string, string | number | boolean>): ILogger;
|
|
78
57
|
addDefaults(_extras: Record<string, string | number | boolean>): void;
|
|
79
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliLogger.d.ts","sourceRoot":"","sources":["../../src/Logger/CliLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"CliLogger.d.ts","sourceRoot":"","sources":["../../src/Logger/CliLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,KAAK,MAAM,EAA2B,MAAM,yCAAyC,CAAC;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAGzF,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EAExB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,KAAK,uBAAuB,EAAe,MAAM,eAAe,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAwID;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,OAAO;IACvC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,OAAO,CAAC,aAAa,CAAC,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA0B;IAC/D,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,2BAA2B,CAAC,CAElC;IACF,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO;WAgBa,MAAM,CACxB,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,uBAAuB,EAC/C,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,OAAO,CAAC,SAAS,CAAC;IA4Cd,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB7D;;;OAGG;IACU,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAuB5D,4BAA4B;YAoB5B,qBAAqB;IAuBnC,OAAO,CAAC,oCAAoC;IAc5C,OAAO,CAAC,4BAA4B;IA6C7B,4BAA4B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAGpE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAW/D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAW5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAuBrE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5D,YAAY,CAAC,SAAS,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI5E,IAAW,SAAS,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,IAAW,SAAS,CAAC,MAAM,EAAE,MAAM,EAElC;IAEY,KAAK,CAAC,uBAAuB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3D,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO;IAOzE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;CAG7E"}
|