@microsoft/managed-apps-cli 0.20.0 → 0.22.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/README.md +1 -1
- package/THIRD-PARTY-NOTICES.txt +9549 -0
- package/dist/AddConnector-5DUBFLEK.js +41 -0
- package/dist/AuthStatus-6DMK7O6W.js +11 -0
- package/dist/AuthSwitch-NUQIIRCG.js +13 -0
- package/dist/Bin.js +8 -3
- package/dist/BuildMaafApp-A4IUU6LI.js +11 -0
- package/dist/Cli-LYSWG64H.js +54 -0
- package/dist/CloneMaafApp-B672N7T5.js +11 -0
- package/dist/CreateMaafApp-RWL7FXSP.js +20 -0
- package/dist/DeleteMaafApp-GT4CEFAE.js +11 -0
- package/dist/DeployMaafApp-E4TQU6RO.js +14 -0
- package/dist/Dev-ICCA5DEJ.js +14 -0
- package/dist/EnvironmentVariableAuthenticationProvider-LYCQ5D47.js +11 -0
- package/dist/GetMaafBuildStatus-UGAHVANE.js +11 -0
- package/dist/GetSettings-ZI2IBKV5.js +11 -0
- package/dist/InfoMaafApp-FL5PICDD.js +13 -0
- package/dist/Init-XCSK3WQM.js +11 -0
- package/dist/ListConnectorActions-B2YD24RX.js +11 -0
- package/dist/ListConnectors-MYUEVJPT.js +11 -0
- package/dist/ListMaafApps-3W6W6UYP.js +11 -0
- package/dist/Login-7RW6OEST.js +11 -0
- package/dist/Logout-IXK2TMRL.js +11 -0
- package/dist/MockFetch-THQJ4KFB.js +13 -0
- package/dist/NoOpAuthenticationProvider-DX3XNXF5.js +11 -0
- package/dist/NodeMsalAuthenticationProvider-VVQ6CCZ5.js +17 -0
- package/dist/Pack-IWU3PFQL.js +8 -0
- package/dist/PlayMaafApp-5H3DCJ2C.js +12 -0
- package/dist/RefreshDataSource-XQT7LVMO.js +11 -0
- package/dist/RefreshGitAuth-IQBAFR37.js +11 -0
- package/dist/RemoveDataSource-PGPLMJUX.js +14 -0
- package/dist/ServicePrincipalAuthenticationProvider-IZZRJFZQ.js +11 -0
- package/dist/SetSetting-SEWDA4TF.js +11 -0
- package/dist/ShareLinkCreate-T5FN47J2.js +11 -0
- package/dist/ShareLinkList-6JCVEYNC.js +11 -0
- package/dist/ShareLinkRevoke-OH5DZDHR.js +11 -0
- package/dist/ShareList-QCEL7QNJ.js +11 -0
- package/dist/ShareMaafApp-6MKZ33HW.js +11 -0
- package/dist/TelemetrySettings-RXPPIEVO.js +11 -0
- package/dist/UnshareMaafApp-OSE2TOBJ.js +11 -0
- package/dist/acorn-CYBWGE5M.js +23 -0
- package/dist/angular-Q62TJP23.js +11 -0
- package/dist/babel-AOXBHIIS.js +22 -0
- package/dist/chunk-23T63QIT.js +15 -0
- package/dist/chunk-3JIZGVCA.js +11 -0
- package/dist/chunk-3YRE4IQ3.js +132 -0
- package/dist/chunk-47LJLFDF.js +11 -0
- package/dist/chunk-4LIR3ZYP.js +42325 -0
- package/dist/chunk-4VBFOKV6.js +11 -0
- package/dist/chunk-6LKH5WE7.js +104 -0
- package/dist/chunk-6RSE3J4X.js +8 -0
- package/dist/chunk-7BRIEYGR.js +20 -0
- package/dist/chunk-7GGFN2IW.js +11 -0
- package/dist/chunk-AQLFVAFU.js +38 -0
- package/dist/chunk-EQCYKUEU.js +12 -0
- package/dist/chunk-EX6IKPAO.js +11 -0
- package/dist/chunk-HBLO3WDD.js +13 -0
- package/dist/chunk-IQGMFWXB.js +12 -0
- package/dist/chunk-KYL2Y5G4.js +11 -0
- package/dist/chunk-LQ65CHNN.js +13 -0
- package/dist/chunk-OL6CTXQR.js +11 -0
- package/dist/chunk-PPW4XUZO.js +77 -0
- package/dist/chunk-PVAIJSAI.js +11 -0
- package/dist/chunk-RBG2H562.js +11 -0
- package/dist/chunk-SNWTSI75.js +50 -0
- package/dist/chunk-TYRVM4PP.js +8 -0
- package/dist/chunk-UNJJUCSA.js +11 -0
- package/dist/chunk-USRRI5H4.js +11 -0
- package/dist/chunk-UT667QSU.js +8 -0
- package/dist/chunk-VMSJG53Y.js +11 -0
- package/dist/chunk-Y5AMO72S.js +10 -0
- package/dist/chunk-YMXXWGRV.js +11 -0
- package/dist/estree-HPTPQIMZ.js +51 -0
- package/dist/flow-B6JUMONE.js +27 -0
- package/dist/glimmer-36KZ3DJ5.js +44 -0
- package/dist/graphql-E6CIFZFV.js +35 -0
- package/dist/html-BUTTPQE6.js +32 -0
- package/dist/markdown-K2C5OZHT.js +69 -0
- package/dist/meriyah-27UE2OSX.js +12 -0
- package/dist/postcss-QUHZLBB7.js +68 -0
- package/dist/typescript-G2G6TDZF.js +28 -0
- package/dist/yaml-W5P5CGFK.js +166 -0
- package/package.json +21 -16
- package/dist/ArgumentProvider.d.ts +0 -144
- package/dist/ArgumentProvider.d.ts.map +0 -1
- package/dist/ArgumentProvider.js +0 -493
- package/dist/ArgumentProvider.js.map +0 -1
- package/dist/Authentication/ActiveAccountStore.d.ts +0 -24
- package/dist/Authentication/ActiveAccountStore.d.ts.map +0 -1
- package/dist/Authentication/ActiveAccountStore.js +0 -54
- package/dist/Authentication/ActiveAccountStore.js.map +0 -1
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts +0 -26
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts.map +0 -1
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js +0 -31
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js.map +0 -1
- package/dist/Authentication/NoOpAuthenticationProvider.d.ts +0 -25
- package/dist/Authentication/NoOpAuthenticationProvider.d.ts.map +0 -1
- package/dist/Authentication/NoOpAuthenticationProvider.js +0 -31
- package/dist/Authentication/NoOpAuthenticationProvider.js.map +0 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +0 -103
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +0 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +0 -391
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +0 -1
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +0 -23
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +0 -1
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +0 -60
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +0 -1
- package/dist/Bin.d.ts +0 -6
- package/dist/Bin.d.ts.map +0 -1
- package/dist/Bin.js.map +0 -1
- package/dist/Cli.d.ts +0 -2
- package/dist/Cli.d.ts.map +0 -1
- package/dist/Cli.js +0 -207
- package/dist/Cli.js.map +0 -1
- package/dist/CliSettings.d.ts +0 -17
- package/dist/CliSettings.d.ts.map +0 -1
- package/dist/CliSettings.js +0 -103
- package/dist/CliSettings.js.map +0 -1
- package/dist/CliUtils.d.ts +0 -108
- package/dist/CliUtils.d.ts.map +0 -1
- package/dist/CliUtils.js +0 -217
- package/dist/CliUtils.js.map +0 -1
- package/dist/Constants/CliConstants.d.ts +0 -6
- package/dist/Constants/CliConstants.d.ts.map +0 -1
- package/dist/Constants/CliConstants.js +0 -6
- package/dist/Constants/CliConstants.js.map +0 -1
- package/dist/Constants/CommandRegistry.d.ts +0 -22
- package/dist/Constants/CommandRegistry.d.ts.map +0 -1
- package/dist/Constants/CommandRegistry.js +0 -245
- package/dist/Constants/CommandRegistry.js.map +0 -1
- package/dist/Constants/HelpStrings.d.ts +0 -432
- package/dist/Constants/HelpStrings.d.ts.map +0 -1
- package/dist/Constants/HelpStrings.js +0 -623
- package/dist/Constants/HelpStrings.js.map +0 -1
- package/dist/Constants.d.ts +0 -18
- package/dist/Constants.d.ts.map +0 -1
- package/dist/Constants.js +0 -41
- package/dist/Constants.js.map +0 -1
- package/dist/Errors/CliError.d.ts +0 -5
- package/dist/Errors/CliError.d.ts.map +0 -1
- package/dist/Errors/CliError.js +0 -7
- package/dist/Errors/CliError.js.map +0 -1
- package/dist/Errors/GitHubErrorMap.d.ts +0 -68
- package/dist/Errors/GitHubErrorMap.d.ts.map +0 -1
- package/dist/Errors/GitHubErrorMap.js +0 -238
- package/dist/Errors/GitHubErrorMap.js.map +0 -1
- package/dist/FS/CliFs.d.ts +0 -41
- package/dist/FS/CliFs.d.ts.map +0 -1
- package/dist/FS/CliFs.js +0 -136
- package/dist/FS/CliFs.js.map +0 -1
- package/dist/HttpClient/CliHttpClient.d.ts +0 -43
- package/dist/HttpClient/CliHttpClient.d.ts.map +0 -1
- package/dist/HttpClient/CliHttpClient.js +0 -320
- package/dist/HttpClient/CliHttpClient.js.map +0 -1
- package/dist/HttpClient/HttpForward.d.ts +0 -9
- package/dist/HttpClient/HttpForward.d.ts.map +0 -1
- package/dist/HttpClient/HttpForward.js +0 -56
- package/dist/HttpClient/HttpForward.js.map +0 -1
- package/dist/Logger/BufferedTelemetryWriter.d.ts +0 -20
- package/dist/Logger/BufferedTelemetryWriter.d.ts.map +0 -1
- package/dist/Logger/BufferedTelemetryWriter.js +0 -163
- package/dist/Logger/BufferedTelemetryWriter.js.map +0 -1
- package/dist/Logger/CliLogger.d.ts +0 -59
- package/dist/Logger/CliLogger.d.ts.map +0 -1
- package/dist/Logger/CliLogger.js +0 -364
- package/dist/Logger/CliLogger.js.map +0 -1
- package/dist/Logger/ConsoleWriter.d.ts +0 -23
- package/dist/Logger/ConsoleWriter.d.ts.map +0 -1
- package/dist/Logger/ConsoleWriter.js +0 -66
- package/dist/Logger/ConsoleWriter.js.map +0 -1
- package/dist/Logger/Constants.d.ts +0 -6
- package/dist/Logger/Constants.d.ts.map +0 -1
- package/dist/Logger/Constants.js +0 -15
- package/dist/Logger/Constants.js.map +0 -1
- package/dist/Logger/LoggerSettings.d.ts +0 -18
- package/dist/Logger/LoggerSettings.d.ts.map +0 -1
- package/dist/Logger/LoggerSettings.js +0 -78
- package/dist/Logger/LoggerSettings.js.map +0 -1
- package/dist/Logger/OneDSWriter.d.ts +0 -26
- package/dist/Logger/OneDSWriter.d.ts.map +0 -1
- package/dist/Logger/OneDSWriter.js +0 -211
- package/dist/Logger/OneDSWriter.js.map +0 -1
- package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +0 -5
- package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +0 -1
- package/dist/Logger/Scrubber/ScrubCustomDimensions.js +0 -46
- package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +0 -1
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +0 -27
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +0 -1
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +0 -168
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +0 -1
- package/dist/Logger/Scrubber/ScrubUtils.d.ts +0 -8
- package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +0 -1
- package/dist/Logger/Scrubber/ScrubUtils.js +0 -34
- package/dist/Logger/Scrubber/ScrubUtils.js.map +0 -1
- package/dist/Middletier/FunctionsBundler.d.ts +0 -17
- package/dist/Middletier/FunctionsBundler.d.ts.map +0 -1
- package/dist/Middletier/FunctionsBundler.js +0 -169
- package/dist/Middletier/FunctionsBundler.js.map +0 -1
- package/dist/Middletier/PackFunctions.d.ts +0 -53
- package/dist/Middletier/PackFunctions.d.ts.map +0 -1
- package/dist/Middletier/PackFunctions.js +0 -123
- package/dist/Middletier/PackFunctions.js.map +0 -1
- package/dist/Testing/MockFetch.d.ts +0 -23
- package/dist/Testing/MockFetch.d.ts.map +0 -1
- package/dist/Testing/MockFetch.js +0 -177
- package/dist/Testing/MockFetch.js.map +0 -1
- package/dist/Testing/MockRoutes.d.ts +0 -34
- package/dist/Testing/MockRoutes.d.ts.map +0 -1
- package/dist/Testing/MockRoutes.js +0 -226
- package/dist/Testing/MockRoutes.js.map +0 -1
- package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/commondataserviceforapps.js +0 -25
- package/dist/Testing/fixtures/connectors/commondataserviceforapps.js.map +0 -1
- package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/dataverseContactEntity.js +0 -55
- package/dist/Testing/fixtures/connectors/dataverseContactEntity.js.map +0 -1
- package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/excelonlinebusiness.js +0 -1970
- package/dist/Testing/fixtures/connectors/excelonlinebusiness.js.map +0 -1
- package/dist/Testing/fixtures/connectors/kusto.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/kusto.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/kusto.js +0 -1333
- package/dist/Testing/fixtures/connectors/kusto.js.map +0 -1
- package/dist/Testing/fixtures/connectors/msnweather.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/msnweather.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/msnweather.js +0 -917
- package/dist/Testing/fixtures/connectors/msnweather.js.map +0 -1
- package/dist/Testing/fixtures/connectors/office365groups.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/office365groups.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/office365groups.js +0 -2144
- package/dist/Testing/fixtures/connectors/office365groups.js.map +0 -1
- package/dist/Testing/fixtures/connectors/office365users.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/office365users.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/office365users.js +0 -1969
- package/dist/Testing/fixtures/connectors/office365users.js.map +0 -1
- package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/onedriveforbusiness.js +0 -4873
- package/dist/Testing/fixtures/connectors/onedriveforbusiness.js.map +0 -1
- package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/powerappsforappmakers.js +0 -4682
- package/dist/Testing/fixtures/connectors/powerappsforappmakers.js.map +0 -1
- package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js +0 -1078
- package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js.map +0 -1
- package/dist/Testing/fixtures/connectors/sharepointonline.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/sharepointonline.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/sharepointonline.js +0 -28
- package/dist/Testing/fixtures/connectors/sharepointonline.js.map +0 -1
- package/dist/Testing/fixtures/connectors/teams.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/teams.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/teams.js +0 -9987
- package/dist/Testing/fixtures/connectors/teams.js.map +0 -1
- package/dist/Testing/fixtures/connectors/translatorv2.d.ts +0 -6
- package/dist/Testing/fixtures/connectors/translatorv2.d.ts.map +0 -1
- package/dist/Testing/fixtures/connectors/translatorv2.js +0 -307
- package/dist/Testing/fixtures/connectors/translatorv2.js.map +0 -1
- package/dist/Testing/fixtures/index.d.ts +0 -23
- package/dist/Testing/fixtures/index.d.ts.map +0 -1
- package/dist/Testing/fixtures/index.js +0 -96
- package/dist/Testing/fixtures/index.js.map +0 -1
- package/dist/Types/Argument.types.d.ts +0 -28
- package/dist/Types/Argument.types.d.ts.map +0 -1
- package/dist/Types/Argument.types.js +0 -5
- package/dist/Types/Argument.types.js.map +0 -1
- package/dist/Types/Cli.types.d.ts +0 -82
- package/dist/Types/Cli.types.d.ts.map +0 -1
- package/dist/Types/Cli.types.js +0 -5
- package/dist/Types/Cli.types.js.map +0 -1
- package/dist/Types/Command.types.d.ts +0 -69
- package/dist/Types/Command.types.d.ts.map +0 -1
- package/dist/Types/Command.types.js +0 -20
- package/dist/Types/Command.types.js.map +0 -1
- package/dist/Types/Datasource.types.d.ts +0 -30
- package/dist/Types/Datasource.types.d.ts.map +0 -1
- package/dist/Types/Datasource.types.js +0 -5
- package/dist/Types/Datasource.types.js.map +0 -1
- package/dist/Types/LoggerTypes.types.d.ts +0 -18
- package/dist/Types/LoggerTypes.types.d.ts.map +0 -1
- package/dist/Types/LoggerTypes.types.js +0 -5
- package/dist/Types/LoggerTypes.types.js.map +0 -1
- package/dist/Utils/BuildPolling.d.ts +0 -43
- package/dist/Utils/BuildPolling.d.ts.map +0 -1
- package/dist/Utils/BuildPolling.js +0 -139
- package/dist/Utils/BuildPolling.js.map +0 -1
- package/dist/Utils/BuildVerbDescriptionTable.d.ts +0 -29
- package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +0 -1
- package/dist/Utils/BuildVerbDescriptionTable.js +0 -147
- package/dist/Utils/BuildVerbDescriptionTable.js.map +0 -1
- package/dist/Utils/CoerceCliVersion.d.ts +0 -27
- package/dist/Utils/CoerceCliVersion.d.ts.map +0 -1
- package/dist/Utils/CoerceCliVersion.js +0 -67
- package/dist/Utils/CoerceCliVersion.js.map +0 -1
- package/dist/Utils/ConnectorIds.d.ts +0 -12
- package/dist/Utils/ConnectorIds.d.ts.map +0 -1
- package/dist/Utils/ConnectorIds.js +0 -20
- package/dist/Utils/ConnectorIds.js.map +0 -1
- package/dist/Utils/ConsoleOutput.d.ts +0 -86
- package/dist/Utils/ConsoleOutput.d.ts.map +0 -1
- package/dist/Utils/ConsoleOutput.js +0 -162
- package/dist/Utils/ConsoleOutput.js.map +0 -1
- package/dist/Utils/DcfRecovery.d.ts +0 -84
- package/dist/Utils/DcfRecovery.d.ts.map +0 -1
- package/dist/Utils/DcfRecovery.js +0 -246
- package/dist/Utils/DcfRecovery.js.map +0 -1
- package/dist/Utils/DetectPackageManager.d.ts +0 -9
- package/dist/Utils/DetectPackageManager.d.ts.map +0 -1
- package/dist/Utils/DetectPackageManager.js +0 -24
- package/dist/Utils/DetectPackageManager.js.map +0 -1
- package/dist/Utils/DownloadTemplate.d.ts +0 -45
- package/dist/Utils/DownloadTemplate.d.ts.map +0 -1
- package/dist/Utils/DownloadTemplate.js +0 -161
- package/dist/Utils/DownloadTemplate.js.map +0 -1
- package/dist/Utils/EnhanceNetworkError.d.ts +0 -14
- package/dist/Utils/EnhanceNetworkError.d.ts.map +0 -1
- package/dist/Utils/EnhanceNetworkError.js +0 -61
- package/dist/Utils/EnhanceNetworkError.js.map +0 -1
- package/dist/Utils/EnvVars.d.ts +0 -17
- package/dist/Utils/EnvVars.d.ts.map +0 -1
- package/dist/Utils/EnvVars.js +0 -38
- package/dist/Utils/EnvVars.js.map +0 -1
- package/dist/Utils/EnvironmentRoutingUtils.d.ts +0 -81
- package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +0 -1
- package/dist/Utils/EnvironmentRoutingUtils.js +0 -204
- package/dist/Utils/EnvironmentRoutingUtils.js.map +0 -1
- package/dist/Utils/FindAvailablePort.d.ts +0 -39
- package/dist/Utils/FindAvailablePort.d.ts.map +0 -1
- package/dist/Utils/FindAvailablePort.js +0 -105
- package/dist/Utils/FindAvailablePort.js.map +0 -1
- package/dist/Utils/GitCredentialConfig.d.ts +0 -12
- package/dist/Utils/GitCredentialConfig.d.ts.map +0 -1
- package/dist/Utils/GitCredentialConfig.js +0 -32
- package/dist/Utils/GitCredentialConfig.js.map +0 -1
- package/dist/Utils/GitErrorClassifier.d.ts +0 -40
- package/dist/Utils/GitErrorClassifier.d.ts.map +0 -1
- package/dist/Utils/GitErrorClassifier.js +0 -120
- package/dist/Utils/GitErrorClassifier.js.map +0 -1
- package/dist/Utils/GitHubDcfFlow.d.ts +0 -59
- package/dist/Utils/GitHubDcfFlow.d.ts.map +0 -1
- package/dist/Utils/GitHubDcfFlow.js +0 -165
- package/dist/Utils/GitHubDcfFlow.js.map +0 -1
- package/dist/Utils/GitRunner.d.ts +0 -107
- package/dist/Utils/GitRunner.d.ts.map +0 -1
- package/dist/Utils/GitRunner.js +0 -89
- package/dist/Utils/GitRunner.js.map +0 -1
- package/dist/Utils/GitUtils.d.ts +0 -59
- package/dist/Utils/GitUtils.d.ts.map +0 -1
- package/dist/Utils/GitUtils.js +0 -198
- package/dist/Utils/GitUtils.js.map +0 -1
- package/dist/Utils/GitVersionChecker.d.ts +0 -38
- package/dist/Utils/GitVersionChecker.d.ts.map +0 -1
- package/dist/Utils/GitVersionChecker.js +0 -64
- package/dist/Utils/GitVersionChecker.js.map +0 -1
- package/dist/Utils/HelpBanner.d.ts +0 -11
- package/dist/Utils/HelpBanner.d.ts.map +0 -1
- package/dist/Utils/HelpBanner.js +0 -15
- package/dist/Utils/HelpBanner.js.map +0 -1
- package/dist/Utils/MaafAppConfig.d.ts +0 -24
- package/dist/Utils/MaafAppConfig.d.ts.map +0 -1
- package/dist/Utils/MaafAppConfig.js +0 -38
- package/dist/Utils/MaafAppConfig.js.map +0 -1
- package/dist/Utils/NodeVersionChecker.d.ts +0 -10
- package/dist/Utils/NodeVersionChecker.d.ts.map +0 -1
- package/dist/Utils/NodeVersionChecker.js +0 -21
- package/dist/Utils/NodeVersionChecker.js.map +0 -1
- package/dist/Utils/Paging.d.ts +0 -29
- package/dist/Utils/Paging.d.ts.map +0 -1
- package/dist/Utils/Paging.js +0 -102
- package/dist/Utils/Paging.js.map +0 -1
- package/dist/Utils/PinCli.d.ts +0 -33
- package/dist/Utils/PinCli.d.ts.map +0 -1
- package/dist/Utils/PinCli.js +0 -77
- package/dist/Utils/PinCli.js.map +0 -1
- package/dist/Utils/ReadPackageJson.d.ts +0 -9
- package/dist/Utils/ReadPackageJson.d.ts.map +0 -1
- package/dist/Utils/ReadPackageJson.js +0 -13
- package/dist/Utils/ReadPackageJson.js.map +0 -1
- package/dist/Utils/RepoDetails.d.ts +0 -29
- package/dist/Utils/RepoDetails.d.ts.map +0 -1
- package/dist/Utils/RepoDetails.js +0 -37
- package/dist/Utils/RepoDetails.js.map +0 -1
- package/dist/Utils/RepoOption.d.ts +0 -42
- package/dist/Utils/RepoOption.d.ts.map +0 -1
- package/dist/Utils/RepoOption.js +0 -63
- package/dist/Utils/RepoOption.js.map +0 -1
- package/dist/Utils/RepoUrl.d.ts +0 -18
- package/dist/Utils/RepoUrl.d.ts.map +0 -1
- package/dist/Utils/RepoUrl.js +0 -6
- package/dist/Utils/RepoUrl.js.map +0 -1
- package/dist/Utils/ResolveCommand.d.ts +0 -62
- package/dist/Utils/ResolveCommand.d.ts.map +0 -1
- package/dist/Utils/ResolveCommand.js +0 -141
- package/dist/Utils/ResolveCommand.js.map +0 -1
- package/dist/Utils/RunCommand.d.ts +0 -33
- package/dist/Utils/RunCommand.d.ts.map +0 -1
- package/dist/Utils/RunCommand.js +0 -83
- package/dist/Utils/RunCommand.js.map +0 -1
- package/dist/Utils/ShareAccessRouting.d.ts +0 -78
- package/dist/Utils/ShareAccessRouting.d.ts.map +0 -1
- package/dist/Utils/ShareAccessRouting.js +0 -93
- package/dist/Utils/ShareAccessRouting.js.map +0 -1
- package/dist/Utils/Spinner.d.ts +0 -23
- package/dist/Utils/Spinner.d.ts.map +0 -1
- package/dist/Utils/Spinner.js +0 -94
- package/dist/Utils/Spinner.js.map +0 -1
- package/dist/Utils/zipBuildArtifact.d.ts +0 -35
- package/dist/Utils/zipBuildArtifact.d.ts.map +0 -1
- package/dist/Utils/zipBuildArtifact.js +0 -100
- package/dist/Utils/zipBuildArtifact.js.map +0 -1
- package/dist/Verbs/AddAction.d.ts +0 -6
- package/dist/Verbs/AddAction.d.ts.map +0 -1
- package/dist/Verbs/AddAction.js +0 -59
- package/dist/Verbs/AddAction.js.map +0 -1
- package/dist/Verbs/AddConnector.d.ts +0 -26
- package/dist/Verbs/AddConnector.d.ts.map +0 -1
- package/dist/Verbs/AddConnector.js +0 -223
- package/dist/Verbs/AddConnector.js.map +0 -1
- package/dist/Verbs/AddConnectorFlows.d.ts +0 -97
- package/dist/Verbs/AddConnectorFlows.d.ts.map +0 -1
- package/dist/Verbs/AddConnectorFlows.js +0 -298
- package/dist/Verbs/AddConnectorFlows.js.map +0 -1
- package/dist/Verbs/AddDataSource.d.ts +0 -18
- package/dist/Verbs/AddDataSource.d.ts.map +0 -1
- package/dist/Verbs/AddDataSource.js +0 -163
- package/dist/Verbs/AddDataSource.js.map +0 -1
- package/dist/Verbs/AddFlow.d.ts +0 -12
- package/dist/Verbs/AddFlow.d.ts.map +0 -1
- package/dist/Verbs/AddFlow.js +0 -63
- package/dist/Verbs/AddFlow.js.map +0 -1
- package/dist/Verbs/AddTable.d.ts +0 -6
- package/dist/Verbs/AddTable.d.ts.map +0 -1
- package/dist/Verbs/AddTable.js +0 -79
- package/dist/Verbs/AddTable.js.map +0 -1
- package/dist/Verbs/AuthStatus.d.ts +0 -6
- package/dist/Verbs/AuthStatus.d.ts.map +0 -1
- package/dist/Verbs/AuthStatus.js +0 -49
- package/dist/Verbs/AuthStatus.js.map +0 -1
- package/dist/Verbs/AuthSwitch.d.ts +0 -6
- package/dist/Verbs/AuthSwitch.d.ts.map +0 -1
- package/dist/Verbs/AuthSwitch.js +0 -67
- package/dist/Verbs/AuthSwitch.js.map +0 -1
- package/dist/Verbs/BuildMaafApp.d.ts +0 -6
- package/dist/Verbs/BuildMaafApp.d.ts.map +0 -1
- package/dist/Verbs/BuildMaafApp.js +0 -171
- package/dist/Verbs/BuildMaafApp.js.map +0 -1
- package/dist/Verbs/ConnectorHelpers.d.ts +0 -164
- package/dist/Verbs/ConnectorHelpers.d.ts.map +0 -1
- package/dist/Verbs/ConnectorHelpers.js +0 -563
- package/dist/Verbs/ConnectorHelpers.js.map +0 -1
- package/dist/Verbs/CreateMaafApp.d.ts +0 -100
- package/dist/Verbs/CreateMaafApp.d.ts.map +0 -1
- package/dist/Verbs/CreateMaafApp.js +0 -1022
- package/dist/Verbs/CreateMaafApp.js.map +0 -1
- package/dist/Verbs/DeleteMaafApp.d.ts +0 -27
- package/dist/Verbs/DeleteMaafApp.d.ts.map +0 -1
- package/dist/Verbs/DeleteMaafApp.js +0 -114
- package/dist/Verbs/DeleteMaafApp.js.map +0 -1
- package/dist/Verbs/DeployMaafApp.d.ts +0 -6
- package/dist/Verbs/DeployMaafApp.d.ts.map +0 -1
- package/dist/Verbs/DeployMaafApp.js +0 -495
- package/dist/Verbs/DeployMaafApp.js.map +0 -1
- package/dist/Verbs/Dev.d.ts +0 -6
- package/dist/Verbs/Dev.d.ts.map +0 -1
- package/dist/Verbs/Dev.js +0 -276
- package/dist/Verbs/Dev.js.map +0 -1
- package/dist/Verbs/FindDataverseApi.d.ts +0 -12
- package/dist/Verbs/FindDataverseApi.d.ts.map +0 -1
- package/dist/Verbs/FindDataverseApi.js +0 -87
- package/dist/Verbs/FindDataverseApi.js.map +0 -1
- package/dist/Verbs/GetMaafApp.d.ts +0 -6
- package/dist/Verbs/GetMaafApp.d.ts.map +0 -1
- package/dist/Verbs/GetMaafApp.js +0 -80
- package/dist/Verbs/GetMaafApp.js.map +0 -1
- package/dist/Verbs/GetMaafBuildStatus.d.ts +0 -6
- package/dist/Verbs/GetMaafBuildStatus.d.ts.map +0 -1
- package/dist/Verbs/GetMaafBuildStatus.js +0 -132
- package/dist/Verbs/GetMaafBuildStatus.js.map +0 -1
- package/dist/Verbs/GetSettings.d.ts +0 -12
- package/dist/Verbs/GetSettings.d.ts.map +0 -1
- package/dist/Verbs/GetSettings.js +0 -39
- package/dist/Verbs/GetSettings.js.map +0 -1
- package/dist/Verbs/Init.d.ts +0 -6
- package/dist/Verbs/Init.d.ts.map +0 -1
- package/dist/Verbs/Init.js +0 -453
- package/dist/Verbs/Init.js.map +0 -1
- package/dist/Verbs/ListConnectionReferences.d.ts +0 -6
- package/dist/Verbs/ListConnectionReferences.d.ts.map +0 -1
- package/dist/Verbs/ListConnectionReferences.js +0 -56
- package/dist/Verbs/ListConnectionReferences.js.map +0 -1
- package/dist/Verbs/ListConnectorActions.d.ts +0 -6
- package/dist/Verbs/ListConnectorActions.d.ts.map +0 -1
- package/dist/Verbs/ListConnectorActions.js +0 -94
- package/dist/Verbs/ListConnectorActions.js.map +0 -1
- package/dist/Verbs/ListConnectors.d.ts +0 -6
- package/dist/Verbs/ListConnectors.d.ts.map +0 -1
- package/dist/Verbs/ListConnectors.js +0 -97
- package/dist/Verbs/ListConnectors.js.map +0 -1
- package/dist/Verbs/ListDatasets.d.ts +0 -6
- package/dist/Verbs/ListDatasets.d.ts.map +0 -1
- package/dist/Verbs/ListDatasets.js +0 -73
- package/dist/Verbs/ListDatasets.js.map +0 -1
- package/dist/Verbs/ListEnvironmentVariables.d.ts +0 -14
- package/dist/Verbs/ListEnvironmentVariables.d.ts.map +0 -1
- package/dist/Verbs/ListEnvironmentVariables.js +0 -52
- package/dist/Verbs/ListEnvironmentVariables.js.map +0 -1
- package/dist/Verbs/ListFlows.d.ts +0 -13
- package/dist/Verbs/ListFlows.d.ts.map +0 -1
- package/dist/Verbs/ListFlows.js +0 -73
- package/dist/Verbs/ListFlows.js.map +0 -1
- package/dist/Verbs/ListMaafApps.d.ts +0 -84
- package/dist/Verbs/ListMaafApps.d.ts.map +0 -1
- package/dist/Verbs/ListMaafApps.js +0 -221
- package/dist/Verbs/ListMaafApps.js.map +0 -1
- package/dist/Verbs/ListSqlStoredProcedures.d.ts +0 -6
- package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +0 -1
- package/dist/Verbs/ListSqlStoredProcedures.js +0 -75
- package/dist/Verbs/ListSqlStoredProcedures.js.map +0 -1
- package/dist/Verbs/ListTables.d.ts +0 -6
- package/dist/Verbs/ListTables.d.ts.map +0 -1
- package/dist/Verbs/ListTables.js +0 -85
- package/dist/Verbs/ListTables.js.map +0 -1
- package/dist/Verbs/Login.d.ts +0 -6
- package/dist/Verbs/Login.d.ts.map +0 -1
- package/dist/Verbs/Login.js +0 -39
- package/dist/Verbs/Login.js.map +0 -1
- package/dist/Verbs/Logout.d.ts +0 -6
- package/dist/Verbs/Logout.d.ts.map +0 -1
- package/dist/Verbs/Logout.js +0 -34
- package/dist/Verbs/Logout.js.map +0 -1
- package/dist/Verbs/MaafAppPermissions.d.ts +0 -40
- package/dist/Verbs/MaafAppPermissions.d.ts.map +0 -1
- package/dist/Verbs/MaafAppPermissions.js +0 -651
- package/dist/Verbs/MaafAppPermissions.js.map +0 -1
- package/dist/Verbs/Pack.d.ts +0 -71
- package/dist/Verbs/Pack.d.ts.map +0 -1
- package/dist/Verbs/Pack.js +0 -370
- package/dist/Verbs/Pack.js.map +0 -1
- package/dist/Verbs/PlayMaafApp.d.ts +0 -22
- package/dist/Verbs/PlayMaafApp.d.ts.map +0 -1
- package/dist/Verbs/PlayMaafApp.js +0 -147
- package/dist/Verbs/PlayMaafApp.js.map +0 -1
- package/dist/Verbs/RefreshDataSource.d.ts +0 -21
- package/dist/Verbs/RefreshDataSource.d.ts.map +0 -1
- package/dist/Verbs/RefreshDataSource.js +0 -89
- package/dist/Verbs/RefreshDataSource.js.map +0 -1
- package/dist/Verbs/RefreshGitAuth.d.ts +0 -6
- package/dist/Verbs/RefreshGitAuth.d.ts.map +0 -1
- package/dist/Verbs/RefreshGitAuth.js +0 -155
- package/dist/Verbs/RefreshGitAuth.js.map +0 -1
- package/dist/Verbs/RemoveDataSource.d.ts +0 -6
- package/dist/Verbs/RemoveDataSource.d.ts.map +0 -1
- package/dist/Verbs/RemoveDataSource.js +0 -173
- package/dist/Verbs/RemoveDataSource.js.map +0 -1
- package/dist/Verbs/RemoveFlow.d.ts +0 -12
- package/dist/Verbs/RemoveFlow.d.ts.map +0 -1
- package/dist/Verbs/RemoveFlow.js +0 -95
- package/dist/Verbs/RemoveFlow.js.map +0 -1
- package/dist/Verbs/SetSetting.d.ts +0 -12
- package/dist/Verbs/SetSetting.d.ts.map +0 -1
- package/dist/Verbs/SetSetting.js +0 -133
- package/dist/Verbs/SetSetting.js.map +0 -1
- package/dist/Verbs/ShareLinkCreate.d.ts +0 -23
- package/dist/Verbs/ShareLinkCreate.d.ts.map +0 -1
- package/dist/Verbs/ShareLinkCreate.js +0 -73
- package/dist/Verbs/ShareLinkCreate.js.map +0 -1
- package/dist/Verbs/ShareLinkList.d.ts +0 -16
- package/dist/Verbs/ShareLinkList.d.ts.map +0 -1
- package/dist/Verbs/ShareLinkList.js +0 -84
- package/dist/Verbs/ShareLinkList.js.map +0 -1
- package/dist/Verbs/ShareLinkRevoke.d.ts +0 -22
- package/dist/Verbs/ShareLinkRevoke.d.ts.map +0 -1
- package/dist/Verbs/ShareLinkRevoke.js +0 -137
- package/dist/Verbs/ShareLinkRevoke.js.map +0 -1
- package/dist/Verbs/ShareList.d.ts +0 -10
- package/dist/Verbs/ShareList.d.ts.map +0 -1
- package/dist/Verbs/ShareList.js +0 -254
- package/dist/Verbs/ShareList.js.map +0 -1
- package/dist/Verbs/ShareMaafApp.d.ts +0 -12
- package/dist/Verbs/ShareMaafApp.d.ts.map +0 -1
- package/dist/Verbs/ShareMaafApp.js +0 -14
- package/dist/Verbs/ShareMaafApp.js.map +0 -1
- package/dist/Verbs/ShowMaafApp.d.ts +0 -100
- package/dist/Verbs/ShowMaafApp.d.ts.map +0 -1
- package/dist/Verbs/ShowMaafApp.js +0 -224
- package/dist/Verbs/ShowMaafApp.js.map +0 -1
- package/dist/Verbs/TelemetrySettings.d.ts +0 -8
- package/dist/Verbs/TelemetrySettings.d.ts.map +0 -1
- package/dist/Verbs/TelemetrySettings.js +0 -104
- package/dist/Verbs/TelemetrySettings.js.map +0 -1
- package/dist/Verbs/UnshareMaafApp.d.ts +0 -12
- package/dist/Verbs/UnshareMaafApp.d.ts.map +0 -1
- package/dist/Verbs/UnshareMaafApp.js +0 -14
- package/dist/Verbs/UnshareMaafApp.js.map +0 -1
- package/dist/Verbs/VerbConstants.d.ts +0 -629
- package/dist/Verbs/VerbConstants.d.ts.map +0 -1
- package/dist/Verbs/VerbConstants.js +0 -559
- package/dist/Verbs/VerbConstants.js.map +0 -1
- package/dist/Verbs/index.d.ts +0 -47
- package/dist/Verbs/index.d.ts.map +0 -1
- package/dist/Verbs/index.js +0 -47
- package/dist/Verbs/index.js.map +0 -1
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { type IHttpClient, type RequestConfig, type Response as HttpClientResponse } from '@microsoft/managed-apps-common/services';
|
|
5
|
-
import type { ILogger } from '@microsoft/managed-apps-common/telemetry';
|
|
6
|
-
import type { IAuthenticationProvider } from '../Types/Cli.types.js';
|
|
7
|
-
export declare class CliHttpClient implements IHttpClient {
|
|
8
|
-
private _authenticationProvider;
|
|
9
|
-
private _forwardUrl?;
|
|
10
|
-
private _inflight;
|
|
11
|
-
private _spinner;
|
|
12
|
-
private _logger?;
|
|
13
|
-
/**
|
|
14
|
-
* Extra static headers attached to every forwarded request, parsed once from the
|
|
15
|
-
* raw `MS_CLI_HTTP_FORWARD_HEADERS` value. Empty outside forward mode.
|
|
16
|
-
*/
|
|
17
|
-
private readonly _forwardHeaders;
|
|
18
|
-
/**
|
|
19
|
-
* @param _authenticationProvider — provides bearer tokens for `authResource`-tagged requests.
|
|
20
|
-
* @param _forwardUrl — when set, every request is forwarded to this URL with the original
|
|
21
|
-
* URL surfaced via the `x-ms-target-url` header and the resource audience (if any) via
|
|
22
|
-
* `x-ms-auth-resource`. Used for proxy / dev-tunnel scenarios.
|
|
23
|
-
* @param customForwardHeadersJson — raw `MS_CLI_HTTP_FORWARD_HEADERS` value: a JSON object of extra
|
|
24
|
-
* static headers attached to every forwarded request (forward mode only). Parsed once here.
|
|
25
|
-
* Only parsed — and only able to fail — in forward mode with a non-empty value; a malformed
|
|
26
|
-
* value throws at construction. The CLI's own protocol headers (`Authorization`,
|
|
27
|
-
* `x-ms-target-url`, `x-ms-auth-resource`, `x-ms-client-request-id`, `Content-Type`) always
|
|
28
|
-
* take precedence; these fill in everything the forward service needs beyond them.
|
|
29
|
-
*/
|
|
30
|
-
constructor(_authenticationProvider: IAuthenticationProvider, _forwardUrl?: string | undefined, customForwardHeadersJson?: string);
|
|
31
|
-
setLogger(logger: ILogger): void;
|
|
32
|
-
get<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
33
|
-
post<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
34
|
-
patch<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
35
|
-
put<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
36
|
-
delete<T = void>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
37
|
-
private _sendRequestAsync;
|
|
38
|
-
private _startSpinner;
|
|
39
|
-
private _stopSpinner;
|
|
40
|
-
private _parseResponse;
|
|
41
|
-
private _transformHeaders;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=CliHttpClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { encodeBody, HttpClientError, parseServerErrorCode, } from '@microsoft/managed-apps-common/services';
|
|
5
|
-
import { randomUUID } from 'crypto';
|
|
6
|
-
import { getSettings } from '../CliSettings.js';
|
|
7
|
-
import { MS_AUTH_RESOURCE, MS_BODY_TOKEN_RESOURCE, MS_CLIENT_REQUESTID, MS_TARGET_URL, USER_AGENT, } from '../Constants.js';
|
|
8
|
-
import { enhanceNetworkError } from '../Utils/EnhanceNetworkError.js';
|
|
9
|
-
import { CliSpinner } from '../Utils/Spinner.js';
|
|
10
|
-
import { applyStaticForwardHeaders, parseForwardHeaders } from './HttpForward.js';
|
|
11
|
-
/**
|
|
12
|
-
* Allowlist of request headers that are safe to emit to telemetry. Anything not in this
|
|
13
|
-
* list is dropped to avoid leaking bearer tokens, cookies, or other secrets.
|
|
14
|
-
* Keys are matched case-insensitively.
|
|
15
|
-
*/
|
|
16
|
-
const LOGGABLE_REQUEST_HEADERS = new Set([
|
|
17
|
-
'content-type',
|
|
18
|
-
MS_CLIENT_REQUESTID.toLowerCase(),
|
|
19
|
-
MS_TARGET_URL.toLowerCase(),
|
|
20
|
-
MS_AUTH_RESOURCE.toLowerCase(),
|
|
21
|
-
MS_BODY_TOKEN_RESOURCE.toLowerCase(),
|
|
22
|
-
]);
|
|
23
|
-
/** Allowlist of response headers that are safe to emit to telemetry. */
|
|
24
|
-
const LOGGABLE_RESPONSE_HEADERS = new Set([
|
|
25
|
-
'content-type',
|
|
26
|
-
'x-ms-correlation-id',
|
|
27
|
-
'x-ms-request-id',
|
|
28
|
-
'retry-after',
|
|
29
|
-
]);
|
|
30
|
-
/**
|
|
31
|
-
* Filter headers to only those on the explicit allowlist, prefixing keys with 'reqHeader.'
|
|
32
|
-
* or 'resHeader.' for disambiguation in telemetry. The allowlist is the sole gate — names
|
|
33
|
-
* not on it (including arbitrary `x-ms-*` headers) are dropped.
|
|
34
|
-
*
|
|
35
|
-
* motivation: The CLI may be used to call arbitrary endpoints (including via the forwarding
|
|
36
|
-
* feature), and `MS_CLI_HTTP_FORWARD_HEADERS` lets callers inject `x-ms-*`-named headers that
|
|
37
|
-
* could carry secrets — so a strict allowlist, not an `x-ms-*` prefix match, decides what is logged.
|
|
38
|
-
*/
|
|
39
|
-
function selectHeadersForLogging(headers, kind) {
|
|
40
|
-
const allowlist = kind === 'request' ? LOGGABLE_REQUEST_HEADERS : LOGGABLE_RESPONSE_HEADERS;
|
|
41
|
-
const result = {};
|
|
42
|
-
const prefix = kind === 'request' ? 'reqHeader.' : 'resHeader.';
|
|
43
|
-
const visit = (name, value) => {
|
|
44
|
-
const lower = name.toLowerCase();
|
|
45
|
-
if (allowlist.has(lower)) {
|
|
46
|
-
result[`${prefix}${lower}`] = value;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
if (headers instanceof Headers) {
|
|
50
|
-
headers.forEach((value, name) => visit(name, value));
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
for (const [name, value] of Object.entries(headers)) {
|
|
54
|
-
visit(name, value);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
export class CliHttpClient {
|
|
60
|
-
_authenticationProvider;
|
|
61
|
-
_forwardUrl;
|
|
62
|
-
_inflight = 0;
|
|
63
|
-
_spinner = new CliSpinner();
|
|
64
|
-
_logger;
|
|
65
|
-
/**
|
|
66
|
-
* Extra static headers attached to every forwarded request, parsed once from the
|
|
67
|
-
* raw `MS_CLI_HTTP_FORWARD_HEADERS` value. Empty outside forward mode.
|
|
68
|
-
*/
|
|
69
|
-
_forwardHeaders;
|
|
70
|
-
/**
|
|
71
|
-
* @param _authenticationProvider — provides bearer tokens for `authResource`-tagged requests.
|
|
72
|
-
* @param _forwardUrl — when set, every request is forwarded to this URL with the original
|
|
73
|
-
* URL surfaced via the `x-ms-target-url` header and the resource audience (if any) via
|
|
74
|
-
* `x-ms-auth-resource`. Used for proxy / dev-tunnel scenarios.
|
|
75
|
-
* @param customForwardHeadersJson — raw `MS_CLI_HTTP_FORWARD_HEADERS` value: a JSON object of extra
|
|
76
|
-
* static headers attached to every forwarded request (forward mode only). Parsed once here.
|
|
77
|
-
* Only parsed — and only able to fail — in forward mode with a non-empty value; a malformed
|
|
78
|
-
* value throws at construction. The CLI's own protocol headers (`Authorization`,
|
|
79
|
-
* `x-ms-target-url`, `x-ms-auth-resource`, `x-ms-client-request-id`, `Content-Type`) always
|
|
80
|
-
* take precedence; these fill in everything the forward service needs beyond them.
|
|
81
|
-
*/
|
|
82
|
-
constructor(_authenticationProvider, _forwardUrl, customForwardHeadersJson) {
|
|
83
|
-
this._authenticationProvider = _authenticationProvider;
|
|
84
|
-
this._forwardUrl = _forwardUrl;
|
|
85
|
-
this._forwardHeaders = _forwardUrl ? parseForwardHeaders(customForwardHeadersJson) : {};
|
|
86
|
-
}
|
|
87
|
-
setLogger(logger) {
|
|
88
|
-
this._logger = logger;
|
|
89
|
-
}
|
|
90
|
-
async get(url, config) {
|
|
91
|
-
return this._sendRequestAsync(url, 'GET', config);
|
|
92
|
-
}
|
|
93
|
-
async post(url, config) {
|
|
94
|
-
return this._sendRequestAsync(url, 'POST', config);
|
|
95
|
-
}
|
|
96
|
-
async patch(url, config) {
|
|
97
|
-
return this._sendRequestAsync(url, 'PATCH', config);
|
|
98
|
-
}
|
|
99
|
-
async put(url, config) {
|
|
100
|
-
return this._sendRequestAsync(url, 'PUT', config);
|
|
101
|
-
}
|
|
102
|
-
async delete(url, config) {
|
|
103
|
-
return this._sendRequestAsync(url, 'DELETE', config);
|
|
104
|
-
}
|
|
105
|
-
async _sendRequestAsync(url, method, config) {
|
|
106
|
-
this._startSpinner();
|
|
107
|
-
const start = performance.now();
|
|
108
|
-
// Core fields mirror the shape emitted by
|
|
109
|
-
// `packages/managed-apps-common/src/http/middleware/telemetryMiddleware.ts`
|
|
110
|
-
// so a single Kusto query over `HttpClient.Request` covers CLI + runtime.
|
|
111
|
-
// CLI-specific attribution (forwardUrl, authResource, header allowlist) is
|
|
112
|
-
// appended alongside.
|
|
113
|
-
let scenarioData = {
|
|
114
|
-
url,
|
|
115
|
-
method,
|
|
116
|
-
status: 0,
|
|
117
|
-
succeeded: false,
|
|
118
|
-
duration: 0,
|
|
119
|
-
retried: false,
|
|
120
|
-
retryCount: 0,
|
|
121
|
-
forwardUrl: this._forwardUrl || '',
|
|
122
|
-
authResource: config?.authResource || '',
|
|
123
|
-
allowErrorResponse: config?.allowErrorResponse ? 'true' : 'false',
|
|
124
|
-
};
|
|
125
|
-
try {
|
|
126
|
-
const headers = config?.headers || {};
|
|
127
|
-
// Apply caller-supplied static forward headers (the map is empty outside forward
|
|
128
|
-
// mode). The CLI's own protocol headers always win: any caller header that collides
|
|
129
|
-
// with a reserved one is dropped case-insensitively (a plain object is case-sensitive,
|
|
130
|
-
// so relying on overwrite order alone would let `X-MS-Target-URL` slip past our
|
|
131
|
-
// `x-ms-target-url`).
|
|
132
|
-
if (this._forwardUrl) {
|
|
133
|
-
applyStaticForwardHeaders(headers, this._forwardHeaders);
|
|
134
|
-
}
|
|
135
|
-
if (config?.authResource) {
|
|
136
|
-
const token = await this._authenticationProvider.getAccessTokenForResource(config.authResource);
|
|
137
|
-
// Forward mode supplies an optional static token; omit Authorization when blank.
|
|
138
|
-
if (token) {
|
|
139
|
-
headers.Authorization = `Bearer ${token}`;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
if (config?.contentType) {
|
|
143
|
-
headers['Content-Type'] = config.contentType;
|
|
144
|
-
}
|
|
145
|
-
else if (!headers['Content-Type']) {
|
|
146
|
-
headers['Content-Type'] = 'application/json';
|
|
147
|
-
}
|
|
148
|
-
headers[MS_CLIENT_REQUESTID] = randomUUID();
|
|
149
|
-
// Append the CLI product token to the User-Agent. A caller may have supplied
|
|
150
|
-
// a `user-agent` via `config.headers` under any casing; consolidate every
|
|
151
|
-
// case-variant into a single canonical `User-Agent` header (a plain object is
|
|
152
|
-
// case-sensitive, so leaving variants in place would emit duplicate headers)
|
|
153
|
-
// and append `managed-apps-cli/<version>` so the caller's UA is preserved
|
|
154
|
-
// alongside CLI/version attribution.
|
|
155
|
-
let existingUserAgent = '';
|
|
156
|
-
for (const name of Object.keys(headers)) {
|
|
157
|
-
if (name.toLowerCase() === 'user-agent') {
|
|
158
|
-
if (headers[name]) {
|
|
159
|
-
existingUserAgent = existingUserAgent
|
|
160
|
-
? `${existingUserAgent} ${headers[name]}`
|
|
161
|
-
: headers[name];
|
|
162
|
-
}
|
|
163
|
-
delete headers[name];
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
headers['User-Agent'] = existingUserAgent ? `${existingUserAgent} ${USER_AGENT}` : USER_AGENT;
|
|
167
|
-
let targetUrl = url;
|
|
168
|
-
if (this._forwardUrl) {
|
|
169
|
-
headers[MS_TARGET_URL] = url;
|
|
170
|
-
if (config?.authResource) {
|
|
171
|
-
headers[MS_AUTH_RESOURCE] = config.authResource;
|
|
172
|
-
}
|
|
173
|
-
// Body-auth flows (e.g. the firstPartyLogin consent POST) carry their token in the
|
|
174
|
-
// request body instead of the Authorization header, and in forward mode that body token
|
|
175
|
-
// is the forward token — the wrong audience. Signal the forward service which resource to
|
|
176
|
-
// mint an on-behalf-of token for; it locates the forward token by value in the body and
|
|
177
|
-
// swaps in the minted token. This never sets Authorization (that stays the hop token) and
|
|
178
|
-
// is intentionally decoupled from x-ms-auth-resource, which describes the header token.
|
|
179
|
-
if (config?.bodyTokenAuthResource) {
|
|
180
|
-
headers[MS_BODY_TOKEN_RESOURCE] = config.bodyTokenAuthResource;
|
|
181
|
-
}
|
|
182
|
-
// The forward token authenticates the hop to the forward SERVICE itself and is
|
|
183
|
-
// independent of the upstream audience, so it is always requested with a stable,
|
|
184
|
-
// resource-agnostic key ('') — never the request's authResource. (The forward-mode
|
|
185
|
-
// provider ignores the resource anyway, but this keeps the hop bearer from ever looking
|
|
186
|
-
// audience-specific or picking up a per-resource token if a token-minting provider is
|
|
187
|
-
// ever used with forwardUrl.) It rides on every forwarded request; some carry no
|
|
188
|
-
// authResource (e.g. the firstPartyLogin consent POST, whose token travels in the body).
|
|
189
|
-
// The guard skips this when the authResource branch above already set Authorization.
|
|
190
|
-
// An empty forward token leaves Authorization unset (the "no token" forward model).
|
|
191
|
-
if (!headers.Authorization) {
|
|
192
|
-
const forwardToken = await this._authenticationProvider.getAccessTokenForResource('');
|
|
193
|
-
if (forwardToken) {
|
|
194
|
-
headers.Authorization = `Bearer ${forwardToken}`;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
targetUrl = this._forwardUrl;
|
|
198
|
-
}
|
|
199
|
-
const bodyContent = encodeBody(config?.body, headers['Content-Type']);
|
|
200
|
-
const requestOptions = {
|
|
201
|
-
method,
|
|
202
|
-
headers,
|
|
203
|
-
body: bodyContent,
|
|
204
|
-
signal: config?.signal,
|
|
205
|
-
};
|
|
206
|
-
scenarioData = {
|
|
207
|
-
...scenarioData,
|
|
208
|
-
...selectHeadersForLogging(headers, 'request'),
|
|
209
|
-
};
|
|
210
|
-
const response = await fetch(targetUrl, requestOptions);
|
|
211
|
-
scenarioData.status = response.status;
|
|
212
|
-
scenarioData.succeeded = response.ok;
|
|
213
|
-
scenarioData.duration = performance.now() - start;
|
|
214
|
-
scenarioData.correlationRequestId =
|
|
215
|
-
response.headers.get('x-ms-correlation-request-id') ?? undefined;
|
|
216
|
-
scenarioData.serverRequestId = response.headers.get('x-ms-request-id') ?? undefined;
|
|
217
|
-
scenarioData.contentType = response.headers.get('content-type') ?? undefined;
|
|
218
|
-
scenarioData.contentLength = response.headers.get('content-length') ?? undefined;
|
|
219
|
-
if (!response.ok && !config?.allowErrorResponse) {
|
|
220
|
-
const correlationId = response.headers.get('x-ms-correlation-id');
|
|
221
|
-
const correlationSuffix = correlationId ? ` (correlation ID: ${correlationId})` : '';
|
|
222
|
-
const errorBody = await response.text();
|
|
223
|
-
// In forward mode the response came from the forwarder, not the
|
|
224
|
-
// original target — surface both so it's clear which hop failed.
|
|
225
|
-
const urlSuffix = this._forwardUrl ? `${url} via ${this._forwardUrl}` : url;
|
|
226
|
-
scenarioData.code = parseServerErrorCode(errorBody);
|
|
227
|
-
scenarioData = {
|
|
228
|
-
...scenarioData,
|
|
229
|
-
...selectHeadersForLogging(response.headers, 'response'),
|
|
230
|
-
};
|
|
231
|
-
throw new HttpClientError(`HTTP error status: ${response.status} for ${method} ${urlSuffix}${correlationSuffix}: ${errorBody}`, {
|
|
232
|
-
status: response.status,
|
|
233
|
-
code: parseServerErrorCode(errorBody),
|
|
234
|
-
body: errorBody,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
try {
|
|
238
|
-
// Falls through for both successful responses and error responses when
|
|
239
|
-
// allowErrorResponse is true. Always emit `HttpClient.Request` to keep
|
|
240
|
-
// the telemetry vocabulary aligned with telemetryMiddleware.ts.
|
|
241
|
-
scenarioData = {
|
|
242
|
-
...selectHeadersForLogging(response.headers, 'response'),
|
|
243
|
-
...scenarioData,
|
|
244
|
-
};
|
|
245
|
-
this._logger?.trackActivityEvent('HttpClient.Request', scenarioData);
|
|
246
|
-
}
|
|
247
|
-
catch {
|
|
248
|
-
// No-op. Telemetry failures should not block CLI operations
|
|
249
|
-
}
|
|
250
|
-
// When allowErrorResponse is true and we got a non-2xx, fall through to parse the body
|
|
251
|
-
// so callers can inspect the structured error envelope (e.g. { error: { code, message } }).
|
|
252
|
-
const data = await this._parseResponse(response);
|
|
253
|
-
return {
|
|
254
|
-
data,
|
|
255
|
-
status: response.status,
|
|
256
|
-
headers: await this._transformHeaders(response.headers),
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
catch (error) {
|
|
260
|
-
const errorUrl = this._forwardUrl ? `${url} via ${this._forwardUrl}` : url;
|
|
261
|
-
const enhancedError = enhanceNetworkError(error, method, errorUrl);
|
|
262
|
-
scenarioData.duration = performance.now() - start;
|
|
263
|
-
scenarioData.networkErrorCode = enhancedError.name;
|
|
264
|
-
scenarioData.name = enhancedError.name;
|
|
265
|
-
try {
|
|
266
|
-
// Mirror telemetryMiddleware: emit the same `HttpClient.Request` event
|
|
267
|
-
// for failures so success/failure share a single query surface.
|
|
268
|
-
// `succeeded`/`status` already default to false/0 from the initializer
|
|
269
|
-
// and remain unchanged unless we got an HTTP response above.
|
|
270
|
-
this._logger?.trackActivityEvent('HttpClient.Request', scenarioData);
|
|
271
|
-
}
|
|
272
|
-
catch {
|
|
273
|
-
// No-op. Telemetry failures should not block CLI operations
|
|
274
|
-
}
|
|
275
|
-
throw enhancedError;
|
|
276
|
-
}
|
|
277
|
-
finally {
|
|
278
|
-
this._stopSpinner();
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
_startSpinner() {
|
|
282
|
-
this._inflight++;
|
|
283
|
-
if (this._inflight === 1 && getSettings().interactive) {
|
|
284
|
-
this._spinner.start();
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
_stopSpinner() {
|
|
288
|
-
this._inflight--;
|
|
289
|
-
if (this._inflight === 0 && getSettings().interactive) {
|
|
290
|
-
this._spinner.stop();
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
async _parseResponse(response) {
|
|
294
|
-
const contentType = response.headers.get('content-type');
|
|
295
|
-
const responseText = await response.text();
|
|
296
|
-
// Handle empty responses or non-JSON content
|
|
297
|
-
if (!responseText || responseText.trim() === '') {
|
|
298
|
-
return null;
|
|
299
|
-
}
|
|
300
|
-
else if (contentType && contentType.includes('application/json')) {
|
|
301
|
-
try {
|
|
302
|
-
return JSON.parse(responseText);
|
|
303
|
-
}
|
|
304
|
-
catch (parseError) {
|
|
305
|
-
throw new Error(`Failed to parse JSON response: ${parseError}`);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
return responseText;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
async _transformHeaders(headers) {
|
|
313
|
-
const result = {};
|
|
314
|
-
headers.forEach((value, key) => {
|
|
315
|
-
result[key] = value;
|
|
316
|
-
});
|
|
317
|
-
return result;
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
//# sourceMappingURL=CliHttpClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
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
|