@microsoft/managed-apps-cli 0.18.0 → 0.20.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/LICENSE +17 -149
- 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 +15 -7
- package/dist/Cli.js.map +1 -1
- package/dist/CliUtils.d.ts +12 -7
- package/dist/CliUtils.d.ts.map +1 -1
- package/dist/CliUtils.js +15 -12
- package/dist/CliUtils.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +2 -1
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +5 -3
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Constants.d.ts +3 -0
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +6 -0
- 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 +0 -13
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/dist/HttpClient/CliHttpClient.js +0 -24
- package/dist/HttpClient/CliHttpClient.js.map +1 -1
- 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 +28 -50
- package/dist/Logger/CliLogger.d.ts.map +1 -1
- package/dist/Logger/CliLogger.js +151 -122
- package/dist/Logger/CliLogger.js.map +1 -1
- package/dist/Logger/OneDSWriter.d.ts +8 -8
- package/dist/Logger/OneDSWriter.d.ts.map +1 -1
- package/dist/Logger/OneDSWriter.js +19 -17
- 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/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 +3 -3
- 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/Utils/GitUtils.d.ts +16 -0
- package/dist/Utils/GitUtils.d.ts.map +1 -1
- package/dist/Utils/GitUtils.js +87 -9
- package/dist/Utils/GitUtils.js.map +1 -1
- package/dist/Verbs/AddAction.d.ts.map +1 -1
- package/dist/Verbs/AddAction.js +2 -1
- package/dist/Verbs/AddAction.js.map +1 -1
- package/dist/Verbs/AddConnector.d.ts.map +1 -1
- package/dist/Verbs/AddConnector.js +2 -1
- package/dist/Verbs/AddConnector.js.map +1 -1
- package/dist/Verbs/AddDataSource.d.ts.map +1 -1
- package/dist/Verbs/AddDataSource.js +2 -1
- package/dist/Verbs/AddDataSource.js.map +1 -1
- package/dist/Verbs/AddFlow.d.ts.map +1 -1
- package/dist/Verbs/AddFlow.js +2 -1
- package/dist/Verbs/AddFlow.js.map +1 -1
- package/dist/Verbs/AddTable.d.ts.map +1 -1
- package/dist/Verbs/AddTable.js +2 -1
- package/dist/Verbs/AddTable.js.map +1 -1
- package/dist/Verbs/BuildMaafApp.d.ts.map +1 -1
- package/dist/Verbs/BuildMaafApp.js +7 -8
- package/dist/Verbs/BuildMaafApp.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts +1 -8
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +8 -68
- 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 +37 -8
- 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/GetSettings.d.ts.map +1 -1
- package/dist/Verbs/GetSettings.js +2 -2
- package/dist/Verbs/GetSettings.js.map +1 -1
- package/dist/Verbs/Init.d.ts.map +1 -1
- package/dist/Verbs/Init.js +44 -17
- package/dist/Verbs/Init.js.map +1 -1
- package/dist/Verbs/ListConnectorActions.d.ts.map +1 -1
- package/dist/Verbs/ListConnectorActions.js +9 -2
- package/dist/Verbs/ListConnectorActions.js.map +1 -1
- package/dist/Verbs/ListConnectors.d.ts.map +1 -1
- package/dist/Verbs/ListConnectors.js +12 -6
- package/dist/Verbs/ListConnectors.js.map +1 -1
- package/dist/Verbs/ListMaafApps.d.ts.map +1 -1
- package/dist/Verbs/ListMaafApps.js +5 -5
- 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/RefreshDataSource.d.ts.map +1 -1
- package/dist/Verbs/RefreshDataSource.js +2 -0
- package/dist/Verbs/RefreshDataSource.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/RemoveDataSource.d.ts.map +1 -1
- package/dist/Verbs/RemoveDataSource.js +2 -1
- package/dist/Verbs/RemoveDataSource.js.map +1 -1
- package/dist/Verbs/RemoveFlow.d.ts.map +1 -1
- package/dist/Verbs/RemoveFlow.js +2 -1
- package/dist/Verbs/RemoveFlow.js.map +1 -1
- package/dist/Verbs/SetSetting.d.ts.map +1 -1
- package/dist/Verbs/SetSetting.js +7 -5
- package/dist/Verbs/SetSetting.js.map +1 -1
- package/dist/Verbs/VerbConstants.d.ts +8 -3
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +14 -3
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/package.json +5 -5
|
@@ -9,8 +9,6 @@ export declare class CliHttpClient implements IHttpClient {
|
|
|
9
9
|
private _forwardUrl?;
|
|
10
10
|
private _inflight;
|
|
11
11
|
private _spinner;
|
|
12
|
-
private _firstAuthCallback?;
|
|
13
|
-
private _firstAuthFired;
|
|
14
12
|
private _logger?;
|
|
15
13
|
/**
|
|
16
14
|
* Extra static headers attached to every forwarded request, parsed once from the
|
|
@@ -30,17 +28,6 @@ export declare class CliHttpClient implements IHttpClient {
|
|
|
30
28
|
* take precedence; these fill in everything the forward service needs beyond them.
|
|
31
29
|
*/
|
|
32
30
|
constructor(_authenticationProvider: IAuthenticationProvider, _forwardUrl?: string | undefined, customForwardHeadersJson?: string);
|
|
33
|
-
/**
|
|
34
|
-
* Register a one-shot callback that fires (fire-and-forget) after the first successful
|
|
35
|
-
* token acquisition through an authed request. Used by `CliLogger` to lazily upgrade
|
|
36
|
-
* its OneDS writer from the unauthenticated default to the EU-aware authed configuration
|
|
37
|
-
* once we know auth is working. The callback runs in the background — it does NOT block
|
|
38
|
-
* the request that triggered it.
|
|
39
|
-
*
|
|
40
|
-
* Calling this more than once replaces the previous callback. Calling it after the first
|
|
41
|
-
* authed request has already happened is a no-op (the one-shot has already passed).
|
|
42
|
-
*/
|
|
43
|
-
onFirstAuth(callback: () => Promise<void>): void;
|
|
44
31
|
setLogger(logger: ILogger): void;
|
|
45
32
|
get<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
46
33
|
post<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliHttpClient.d.ts","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAClB,KAAK,QAAQ,IAAI,kBAAkB,EACpC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAWxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AA0DlE,qBAAa,aAAc,YAAW,WAAW;
|
|
1
|
+
{"version":3,"file":"CliHttpClient.d.ts","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAClB,KAAK,QAAQ,IAAI,kBAAkB,EACpC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAWxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AA0DlE,qBAAa,aAAc,YAAW,WAAW;IAwB7C,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,WAAW,CAAC;IAxBtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAU;IAE1B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;;;;;;;;;;OAWG;gBAEO,uBAAuB,EAAE,uBAAuB,EAChD,WAAW,CAAC,EAAE,MAAM,YAAA,EAC5B,wBAAwB,CAAC,EAAE,MAAM;IAK5B,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI1B,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,IAAI,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,KAAK,CAAC,CAAC,GAAG,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,MAAM,CAAC,CAAC,GAAG,IAAI,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAInB,iBAAiB;IA0M/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;YAON,cAAc;YAkBd,iBAAiB;CAOhC"}
|
|
@@ -61,8 +61,6 @@ export class CliHttpClient {
|
|
|
61
61
|
_forwardUrl;
|
|
62
62
|
_inflight = 0;
|
|
63
63
|
_spinner = new CliSpinner();
|
|
64
|
-
_firstAuthCallback;
|
|
65
|
-
_firstAuthFired = false;
|
|
66
64
|
_logger;
|
|
67
65
|
/**
|
|
68
66
|
* Extra static headers attached to every forwarded request, parsed once from the
|
|
@@ -86,19 +84,6 @@ export class CliHttpClient {
|
|
|
86
84
|
this._forwardUrl = _forwardUrl;
|
|
87
85
|
this._forwardHeaders = _forwardUrl ? parseForwardHeaders(customForwardHeadersJson) : {};
|
|
88
86
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Register a one-shot callback that fires (fire-and-forget) after the first successful
|
|
91
|
-
* token acquisition through an authed request. Used by `CliLogger` to lazily upgrade
|
|
92
|
-
* its OneDS writer from the unauthenticated default to the EU-aware authed configuration
|
|
93
|
-
* once we know auth is working. The callback runs in the background — it does NOT block
|
|
94
|
-
* the request that triggered it.
|
|
95
|
-
*
|
|
96
|
-
* Calling this more than once replaces the previous callback. Calling it after the first
|
|
97
|
-
* authed request has already happened is a no-op (the one-shot has already passed).
|
|
98
|
-
*/
|
|
99
|
-
onFirstAuth(callback) {
|
|
100
|
-
this._firstAuthCallback = callback;
|
|
101
|
-
}
|
|
102
87
|
setLogger(logger) {
|
|
103
88
|
this._logger = logger;
|
|
104
89
|
}
|
|
@@ -153,15 +138,6 @@ export class CliHttpClient {
|
|
|
153
138
|
if (token) {
|
|
154
139
|
headers.Authorization = `Bearer ${token}`;
|
|
155
140
|
}
|
|
156
|
-
// Successful token acquisition is the lazy-auth signal — fire the registered
|
|
157
|
-
// callback once, in the background, so it doesn't block this request.
|
|
158
|
-
if (token && this._firstAuthCallback && !this._firstAuthFired) {
|
|
159
|
-
this._firstAuthFired = true;
|
|
160
|
-
this._firstAuthCallback().catch(() => {
|
|
161
|
-
// Callback owns its own error handling; we don't want a background failure to
|
|
162
|
-
// pollute the current request's outcome.
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
141
|
}
|
|
166
142
|
if (config?.contentType) {
|
|
167
143
|
headers['Content-Type'] = config.contentType;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,69 +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
7
|
import { type OneDsHttpForwardOptions } from './OneDSWriter.js';
|
|
8
|
+
export interface TelemetryContext {
|
|
9
|
+
region: Region;
|
|
10
|
+
environmentId?: string;
|
|
11
|
+
}
|
|
8
12
|
/**
|
|
9
13
|
* Logger implementation for the CLI.
|
|
10
14
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* start flowing immediately without any auth dependency. The writer is then upgraded to
|
|
14
|
-
* the EU-aware authed version via one of two paths:
|
|
15
|
-
*
|
|
16
|
-
* - `tryEagerUpgradeAsync` — called from `runVerb` after MSAL is initialized. If a
|
|
17
|
-
* cached account already exists, the upgrade runs synchronously before the first event
|
|
18
|
-
* so signed-in users get authed telemetry for the entire session.
|
|
19
|
-
* - `CliHttpClient.onFirstAuth` callback — registered in `create()`, fires (background)
|
|
20
|
-
* after the verb's first successful authed HTTP call. Handles users who sign in
|
|
21
|
-
* mid-session via MSAL.
|
|
22
|
-
*
|
|
23
|
-
* Verbs that never make an authed HTTP call and have no cached account stay on the
|
|
24
|
-
* unauthenticated writer for their whole lifetime — events still reach 1DS, just on
|
|
25
|
-
* the global endpoint with no `geoLocation` or `tenantId`.
|
|
26
|
-
*
|
|
27
|
-
* 1DS event submission uses its own ingestion credentials (not the Entra bearer token),
|
|
28
|
-
* 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.
|
|
29
17
|
*/
|
|
30
18
|
export declare class CliLogger implements ILogger {
|
|
31
19
|
private _telemetryWriters;
|
|
32
|
-
private
|
|
20
|
+
private _bufferedWriter?;
|
|
21
|
+
private _remoteWriter?;
|
|
33
22
|
private readonly _customDimensions;
|
|
34
|
-
private _upgradeFired;
|
|
35
23
|
private readonly _sessionId;
|
|
36
|
-
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;
|
|
37
32
|
private constructor();
|
|
38
|
-
static create(cliSettings: CliSettings,
|
|
39
|
-
|
|
40
|
-
* Eagerly run the upgrade when a cached account already exists at verb-start time,
|
|
41
|
-
* so even the first telemetry event of the session lands on the authenticated writer.
|
|
42
|
-
* Called from `ArgumentProvider.runVerb` after `authProvider.initAsync(region)` but
|
|
43
|
-
* before any event is emitted.
|
|
44
|
-
*
|
|
45
|
-
* No-op if no cached account is present (we don't want to block CLI startup on a
|
|
46
|
-
* network call when the user isn't even signed in), or if the upgrade has already
|
|
47
|
-
* fired. For not-signed-in users the lazy `onFirstAuth` path still handles things
|
|
48
|
-
* later if the verb itself triggers a sign-in.
|
|
49
|
-
*
|
|
50
|
-
* Cost: ~100-500ms for signed-in users — the time `getEnvironmentByName` takes.
|
|
51
|
-
* Signed-in-but-offline users will block on the default fetch timeout before
|
|
52
|
-
* falling through; events still flow to the unauthenticated writer in that case.
|
|
53
|
-
*/
|
|
54
|
-
tryEagerUpgradeAsync(authenticationProvider: IAuthenticationProvider): Promise<void>;
|
|
33
|
+
static create(cliSettings: CliSettings, authenticationProvider: IAuthenticationProvider, httpForwardOptions?: OneDsHttpForwardOptions): Promise<CliLogger>;
|
|
34
|
+
setCustomDimension(_key: string, _value: string): void;
|
|
55
35
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* - `tryEagerUpgradeAsync` (blocking, before the first event) when a cached account
|
|
59
|
-
* is already present at verb-start time.
|
|
60
|
-
* - `CliHttpClient.onFirstAuth` (fire-and-forget) after the verb's first successful
|
|
61
|
-
* authed HTTP call, when the user signed in mid-session.
|
|
62
|
-
* Best-effort — on any failure the unauthenticated writer stays in place and events
|
|
63
|
-
* 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.
|
|
64
38
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
39
|
+
setTelemetryContext(context: TelemetryContext): Promise<void>;
|
|
40
|
+
private _getEnvironmentMetadataAsync;
|
|
41
|
+
private _activateRemoteWriter;
|
|
42
|
+
private _activateEnvironmentlessRemoteWriter;
|
|
43
|
+
private _createRemoteWriterAndReplay;
|
|
44
|
+
writeBufferedTelemetryToFile(directory?: string): string | undefined;
|
|
67
45
|
trackActivityEvent(eventName: string, eventData?: object): void;
|
|
68
46
|
trackErrorEvent(eventName: string, eventData?: object): void;
|
|
69
47
|
trackScenario(eventName: string, eventData?: object): ScenarioTracker;
|
|
@@ -74,7 +52,7 @@ export declare class CliLogger implements ILogger {
|
|
|
74
52
|
}): void;
|
|
75
53
|
get sessionId(): string | undefined;
|
|
76
54
|
set sessionId(_value: string);
|
|
77
|
-
flush(): Promise<void>;
|
|
55
|
+
flush(retainBufferedTelemetry?: boolean): Promise<void>;
|
|
78
56
|
withDefaults(_extras: Record<string, string | number | boolean>): ILogger;
|
|
79
57
|
addDefaults(_extras: Record<string, string | number | boolean>): void;
|
|
80
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"}
|