@microsoft/windows-admin-center-sdk 6.0.0 → 6.1.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/3rdPartyDisclosure.html +10 -13
- package/README.md +110 -33
- package/angular/fesm2022/msft-sme-angular.mjs +1235 -1213
- package/angular/fesm2022/msft-sme-angular.mjs.map +1 -1
- package/angular/index.d.ts +29 -14
- package/angular/package.json +1 -1
- package/core/azure/azure-manager.d.ts +15 -3
- package/core/azure/azure-manager.d.ts.map +1 -1
- package/core/azure/azure-manager.js +29 -10
- package/core/azure/azure-manager.js.map +1 -1
- package/core/azure/models/aadAppConfig-data.d.ts +16 -0
- package/core/azure/models/aadAppConfig-data.d.ts.map +1 -1
- package/core/azure/models/aadAppConfig-data.js.map +1 -1
- package/core/base/environment.d.ts +1 -1
- package/core/base/environment.d.ts.map +1 -1
- package/core/base/environment.js.map +1 -1
- package/core/base/utilities.d.ts +10 -2
- package/core/base/utilities.d.ts.map +1 -1
- package/core/base/utilities.js +45 -25
- package/core/base/utilities.js.map +1 -1
- package/core/data/gateway-connection.d.ts.map +1 -1
- package/core/data/gateway-connection.js +1 -0
- package/core/data/gateway-connection.js.map +1 -1
- package/core/diagnostics/sme-web-telemetry.d.ts +17 -1
- package/core/diagnostics/sme-web-telemetry.d.ts.map +1 -1
- package/core/diagnostics/sme-web-telemetry.js +16 -0
- package/core/diagnostics/sme-web-telemetry.js.map +1 -1
- package/core/enterprise/enterprise-models.d.ts +10 -4
- package/core/enterprise/enterprise-models.d.ts.map +1 -1
- package/core/enterprise/enterprise-models.js +9 -4
- package/core/enterprise/enterprise-models.js.map +1 -1
- package/core/index.d.ts +5 -3
- package/core/index.d.ts.map +1 -1
- package/core/index.js +2 -1
- package/core/index.js.map +1 -1
- package/core/manifest/environment-modules.d.ts +2 -2
- package/core/manifest/environment-modules.d.ts.map +1 -1
- package/core/manifest/environment-modules.js.map +1 -1
- package/core/manifest/gateway-url-validator.d.ts +17 -0
- package/core/manifest/gateway-url-validator.d.ts.map +1 -0
- package/core/manifest/gateway-url-validator.js +56 -0
- package/core/manifest/gateway-url-validator.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +47 -11
- package/core/manifest/manifest-loader.d.ts.map +1 -1
- package/core/manifest/manifest-loader.js +141 -72
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/manifest/module-schema.json +1 -1
- package/core/performance/performance-tracker.d.ts +2 -0
- package/core/performance/performance-tracker.d.ts.map +1 -1
- package/core/performance/performance-tracker.js +18 -0
- package/core/performance/performance-tracker.js.map +1 -1
- package/core/rpc/azure/rpc-azure-model.d.ts +19 -1
- package/core/rpc/azure/rpc-azure-model.d.ts.map +1 -1
- package/core/rpc/azure/rpc-azure-model.js.map +1 -1
- package/core/rpc/forward/rpc-forward-auto-client.d.ts +5 -0
- package/core/rpc/forward/rpc-forward-auto-client.d.ts.map +1 -1
- package/core/rpc/forward/rpc-forward-auto-client.js +13 -0
- package/core/rpc/forward/rpc-forward-auto-client.js.map +1 -1
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-client.d.ts +16 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-client.d.ts.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-client.js +18 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-client.js.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-handler.d.ts +8 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-handler.d.ts.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-handler.js +2 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-handler.js.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-model.d.ts +18 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-model.d.ts.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-model.js +8 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-model.js.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-subject-server.d.ts +27 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-subject-server.d.ts.map +1 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-subject-server.js +23 -0
- package/core/rpc/resource-data-changed/rpc-resource-data-changed-subject-server.js.map +1 -0
- package/core/rpc/rpc-forwarder.d.ts +16 -2
- package/core/rpc/rpc-forwarder.d.ts.map +1 -1
- package/core/rpc/rpc-forwarder.js +50 -6
- package/core/rpc/rpc-forwarder.js.map +1 -1
- package/core/security/authorization-manager.d.ts +126 -4
- package/core/security/authorization-manager.d.ts.map +1 -1
- package/core/security/authorization-manager.js +381 -49
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/connection-manager.d.ts +2 -1
- package/core/security/connection-manager.d.ts.map +1 -1
- package/core/security/connection-manager.js +10 -6
- package/core/security/connection-manager.js.map +1 -1
- package/core/security/tool-condition-validator.d.ts +8 -3
- package/core/security/tool-condition-validator.d.ts.map +1 -1
- package/core/security/tool-condition-validator.js +43 -28
- package/core/security/tool-condition-validator.js.map +1 -1
- package/core/version.js +1 -1
- package/core/version.js.map +1 -1
- package/core/virtualization/virtualization-client.d.ts +47 -78
- package/core/virtualization/virtualization-client.d.ts.map +1 -1
- package/core/virtualization/virtualization-client.js +57 -77
- package/core/virtualization/virtualization-client.js.map +1 -1
- package/core/virtualization/virtualization-models.d.ts +9 -8
- package/core/virtualization/virtualization-models.d.ts.map +1 -1
- package/core/virtualization/virtualization-models.js +7 -5
- package/core/virtualization/virtualization-models.js.map +1 -1
- package/core/virtualization/virtualization-unavailable-error.d.ts +1 -1
- package/core/virtualization/virtualization-unavailable-error.js +1 -1
- package/core/virtualization/virtualization-unavailable-error.js.map +1 -1
- package/package.json +12 -17
- package/{react-sdk-core → react}/hooks/useAppContextInit.d.ts +2 -0
- package/react/hooks/useAppContextInit.d.ts.map +1 -0
- package/{react-sdk-core → react}/hooks/useAppContextInit.js +18 -2
- package/{react-sdk-core → react}/index.js +1 -1
- package/react/services/BaseNavigationService.d.ts.map +1 -0
- package/{react-sdk-core → react}/services/BaseNavigationService.js +4 -0
- package/{react-sdk-core → react}/version.d.ts.map +1 -1
- package/react/version.js +3 -0
- package/{react-sdk-core → react}/vite/smeCoreStringsPlugin.d.ts +1 -1
- package/{react-sdk-core → react}/vite/smeCoreStringsPlugin.js +1 -1
- package/{react-sdk-core → react}/vite/smeManifestResourcesPlugin.d.ts +1 -1
- package/{react-sdk-core → react}/vite/smeManifestResourcesPlugin.js +1 -1
- package/{react-sdk-core → react}/vite/smePowerShellPlugin.d.ts +1 -1
- package/{react-sdk-core → react}/vite/smePowerShellPlugin.js +1 -1
- package/styles/css/main-v2.css +1 -1
- package/styles/package.json +1 -1
- package/wac-cli/dist/angular20/configs/ci-build-yml-config.js +3 -2
- package/wac-cli/dist/angular20/configs/ci-build-yml-config.js.map +1 -1
- package/wac-cli/dist/angular20/upgrader/nvmrc-engines-upgrader.js +2 -2
- package/wac-cli/dist/create-react/main.js +3 -2
- package/wac-cli/dist/create-react/main.js.map +1 -1
- package/wac-cli/module-template/build/pipelines/ci-build.yml +2 -2
- package/wac-cli/module-template/build/pipelines/pull-request.yml +2 -2
- package/wac-cli/templates/internal/main.ts +2 -2
- package/wac-cli/templates/internal/package.json +26 -14
- package/wac-cli/templates/react-template/package.json +3 -2
- package/wac-cli/templates/react-template/src/App.tsx +1 -1
- package/wac-cli/templates/react-template/src/hooks/useServicesData.ts +1 -1
- package/wac-cli/templates/react-template/vite.config.ts +1 -1
- package/wac-cli/templates/wac-template/angular.json +8 -13
- package/wac-cli/templates/wac-template/package.json +26 -14
- package/wac-cli/templates/wac-template/src/main.ts +2 -2
- package/react-sdk-core/hooks/useAppContextInit.d.ts.map +0 -1
- package/react-sdk-core/services/BaseNavigationService.d.ts.map +0 -1
- package/react-sdk-core/version.js +0 -3
- /package/{react-sdk-core → react}/components/SplashScreen.d.ts +0 -0
- /package/{react-sdk-core → react}/components/SplashScreen.d.ts.map +0 -0
- /package/{react-sdk-core → react}/components/SplashScreen.js +0 -0
- /package/{react-sdk-core → react}/context/AppContextProvider.d.ts +0 -0
- /package/{react-sdk-core → react}/context/AppContextProvider.d.ts.map +0 -0
- /package/{react-sdk-core → react}/context/AppContextProvider.js +0 -0
- /package/{react-sdk-core → react}/hooks/useAppContext.d.ts +0 -0
- /package/{react-sdk-core → react}/hooks/useAppContext.d.ts.map +0 -0
- /package/{react-sdk-core → react}/hooks/useAppContext.js +0 -0
- /package/{react-sdk-core → react}/hooks/useSkeletonStyles.d.ts +0 -0
- /package/{react-sdk-core → react}/hooks/useSkeletonStyles.d.ts.map +0 -0
- /package/{react-sdk-core → react}/hooks/useSkeletonStyles.js +0 -0
- /package/{react-sdk-core → react}/hooks/useWacTheme.d.ts +0 -0
- /package/{react-sdk-core → react}/hooks/useWacTheme.d.ts.map +0 -0
- /package/{react-sdk-core → react}/hooks/useWacTheme.js +0 -0
- /package/{react-sdk-core → react}/index.d.ts +0 -0
- /package/{react-sdk-core → react}/index.d.ts.map +0 -0
- /package/{react-sdk-core → react}/services/AppContextService.d.ts +0 -0
- /package/{react-sdk-core → react}/services/AppContextService.d.ts.map +0 -0
- /package/{react-sdk-core → react}/services/AppContextService.js +0 -0
- /package/{react-sdk-core → react}/services/BaseNavigationService.d.ts +0 -0
- /package/{react-sdk-core → react}/services/NavigationService.d.ts +0 -0
- /package/{react-sdk-core → react}/services/NavigationService.d.ts.map +0 -0
- /package/{react-sdk-core → react}/services/NavigationService.js +0 -0
- /package/{react-sdk-core → react}/services/Polyfills.d.ts +0 -0
- /package/{react-sdk-core → react}/services/Polyfills.d.ts.map +0 -0
- /package/{react-sdk-core → react}/services/Polyfills.js +0 -0
- /package/{react-sdk-core → react}/version.d.ts +0 -0
- /package/{react-sdk-core → react}/vite/index.d.ts +0 -0
- /package/{react-sdk-core → react}/vite/index.d.ts.map +0 -0
- /package/{react-sdk-core → react}/vite/index.js +0 -0
- /package/{react-sdk-core → react}/vite/log.d.ts +0 -0
- /package/{react-sdk-core → react}/vite/log.d.ts.map +0 -0
- /package/{react-sdk-core → react}/vite/log.js +0 -0
- /package/{react-sdk-core → react}/vite/smeCoreStringsPlugin.d.ts.map +0 -0
- /package/{react-sdk-core → react}/vite/smeManifestResourcesPlugin.d.ts.map +0 -0
- /package/{react-sdk-core → react}/vite/smePowerShellPlugin.d.ts.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-connection.d.ts","sourceRoot":"","sources":["../../src/data/gateway-connection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gateway-connection.d.ts","sourceRoot":"","sources":["../../src/data/gateway-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -192,6 +192,7 @@ export class GatewayConnection extends RpcServiceForwarder {
|
|
|
192
192
|
if (url[url.length - 1] === '/') {
|
|
193
193
|
url = url.substring(0, url.length - 1);
|
|
194
194
|
}
|
|
195
|
+
this.authorizationManager.setGatewayOrigin(new URL(url).origin);
|
|
195
196
|
this.internalGatewayUrl = url;
|
|
196
197
|
this.internalGatewayUrlSpecified = urlSpecified;
|
|
197
198
|
this.internalStaticVersion = staticVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-connection.js","sourceRoot":"","sources":["../../src/data/gateway-connection.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable, of, ReplaySubject, Subscription, throwError } from 'rxjs';\r\nimport { AjaxError, AjaxRequest, AjaxResponse } from 'rxjs/ajax';\r\nimport { catchError, expand, filter, map, mergeMap, switchMap, take, tap } from 'rxjs/operators';\r\nimport { Strings } from '../generated/strings';\r\nimport { EnvironmentModule } from '../manifest/environment-modules';\r\nimport { RpcObservableElevateClient } from '../rpc/elevate/rpc-observable-elevate-client';\r\nimport { RpcObservableElevateError, RpcObservableElevateRequest, RpcObservableElevateResult } from '../rpc/elevate/rpc-observable-elevate-model';\r\nimport { RpcObservableElevateServer } from '../rpc/elevate/rpc-observable-elevate-server';\r\nimport { RpcForwardResponse } from '../rpc/forward/rpc-forward-model';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport { RpcRelationshipType } from '../rpc/rpc-base';\r\nimport { RpcServiceForwarder } from '../rpc/rpc-forwarder';\r\nimport { AuthorizationManager } from '../security/authorization-manager';\r\nimport { SignedHttpRequestToken } from '../security/sign-on-manager';\r\nimport { CoreEnvironment } from './core-environment';\r\nimport { GatewayStatus } from './gateway-status';\r\nimport { GatewayUrlBuilder } from './gateway-url-builder';\r\nimport { GatewayUrls } from './gateway-urls';\r\nimport { Http, HttpMethod, HttpResponseRetryHandler, HttpRetryOptions } from './http';\r\nimport { headerConstants } from './http-constants';\r\nimport { Net } from './net';\r\n\r\n/**\r\n * Gateway Request options that we use to extend the AjaxRequest interface\r\n */\r\nexport interface GatewayRequestOptions {\r\n /**\r\n * Retry handler implementation for a request.\r\n * These handlers are used to invoke specific functionality for non-200 status codes in the http response.\r\n */\r\n retryHandlers?: HttpResponseRetryHandler[];\r\n\r\n /**\r\n * Determines the maximum number of times that any of the retry handlers will be tried.\r\n * before giving up and surfacing the error to the original caller\r\n */\r\n maxRetryCount?: number;\r\n\r\n /**\r\n * Observable handler to insert asynchronous logic before the actual http response is sent.\r\n * For Example: Waiting for pending authentication to complete before adding an authentication header\r\n */\r\n beforeCall?: (request: GatewayRequest) => Observable<void>;\r\n}\r\n\r\n/**\r\n * Extension of AjaxRequest interface for calling the Gateway API\r\n */\r\nexport interface GatewayRequest extends AjaxRequest, GatewayRequestOptions {}\r\n\r\n/**\r\n * Initialization object data for the Gateway's base class.\r\n */\r\nexport interface GatewayRPCForwardedProperties {\r\n /**\r\n * The gateway URL.\r\n */\r\n gatewayName: string;\r\n\r\n /**\r\n * Indicate whether gatewayUrl option was specified. (default to be false)\r\n */\r\n gatewayUrlSpecified: boolean;\r\n\r\n /**\r\n * The stative version. (default to be null)\r\n */\r\n staticVersion: string;\r\n}\r\n\r\n/**\r\n * The gateway information on current gateway URL.\r\n */\r\nexport interface GatewayInformation {\r\n /**\r\n * The name of gateway node.\r\n */\r\n name: string;\r\n\r\n /**\r\n * Indicating if https is used.\r\n */\r\n secure: boolean;\r\n\r\n /**\r\n * The port number of gateway.\r\n */\r\n port: number;\r\n}\r\n\r\n/**\r\n * Condition of gateway.\r\n */\r\nexport interface GatewayCondition {\r\n /**\r\n * the gateway is running as service mode (installed on server operating system).\r\n */\r\n isServiceMode: boolean;\r\n\r\n /**\r\n * the gateway is elevated on the desktop mode.\r\n */\r\n isGatewayProcessElevated: boolean;\r\n\r\n /**\r\n * the user account is a member of the gateway administrators.\r\n */\r\n isGatewayAdmin: boolean;\r\n}\r\n\r\n/**\r\n * The Gateway Connection class for creating requests and calling the Gateway's REST API\r\n */\r\nexport class GatewayConnection extends RpcServiceForwarder {\r\n private static rpcCommands = {\r\n forbiddenReceived: 'forbiddenRecieved'\r\n };\r\n\r\n /**\r\n * The IPv4 address for localhost\r\n */\r\n private readonly localhostIpV4 = '127.0.0.1';\r\n\r\n /**\r\n * The IPv6 address for localhost\r\n */\r\n private readonly localhostIpV6 = '::1';\r\n\r\n /**\r\n * The localhost name\r\n */\r\n private readonly localhost = 'localhost';\r\n\r\n /**\r\n * Time interval to check for internalGatewayStatus refresh.\r\n */\r\n private readonly lastUpdatedInternalGatewayStatusInterval = 1000 * 60 * 10; // 10 minutes\r\n\r\n /**\r\n * internally maintained gateway URL.\r\n */\r\n private internalGatewayUrl: string;\r\n\r\n /**\r\n * internally maintained static version.\r\n */\r\n private internalStaticVersion: string;\r\n\r\n /**\r\n * gatewayUrl param is specified.\r\n */\r\n private internalGatewayUrlSpecified: boolean;\r\n\r\n /**\r\n * Last time internal gateway status was updated in milliseconds\r\n */\r\n private lastUpdatedInternalGatewayStatus: number;\r\n\r\n /**\r\n * Internally maintained gateway status.\r\n */\r\n private internalGatewayStatus: Observable<GatewayStatus>;\r\n\r\n /**\r\n * The replay subject for gateway url to settle.\r\n */\r\n private gatewayUrlAwaiter = new ReplaySubject<string>(1);\r\n\r\n /**\r\n * The RPC observable elevate client.\r\n */\r\n private elevateClient: RpcObservableElevateClient = null;\r\n\r\n /**\r\n * The RPC observable elevate server.\r\n */\r\n private elevateServer: RpcObservableElevateServer = null;\r\n\r\n /**\r\n * The elevate callback observable.\r\n */\r\n private elevateCallbackInternal: () => Observable<boolean> = () => of(false);\r\n\r\n /**\r\n * The replay subject for navigation ready state.\r\n */\r\n private navigationReady = new ReplaySubject<boolean>(1);\r\n\r\n /**\r\n * Sets the elevate callback observable.\r\n */\r\n public set elevateCallback(value: () => Observable<boolean>) {\r\n this.elevateCallbackInternal = value;\r\n if (!this.elevateServer) {\r\n this.elevateServer = new RpcObservableElevateServer(this.rpc);\r\n this.elevateServer.register((_context: RpcObservableElevateRequest) => {\r\n return this.elevateCallbackInternal().pipe(\r\n catchError((error, _caught) => throwError(() => <RpcObservableElevateError>{ error: Net.getErrorMessage(error) })),\r\n map(result => <RpcObservableElevateResult>{ elevated: result })\r\n );\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Indicates that the gateway is disabled and therefore should not be called.\r\n */\r\n public get disabled(): boolean {\r\n const environment = MsftSme.self().Environment;\r\n return environment && environment.configuration.gateway.disabled;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL to connect to.\r\n */\r\n public get gatewayUrl(): string {\r\n return this.internalGatewayUrl;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL specified state.\r\n */\r\n public get staticVersion() {\r\n return this.internalStaticVersion;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL specified state.\r\n */\r\n public get gatewayUrlSpecified(): boolean {\r\n return this.internalGatewayUrlSpecified;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL observable while setting up.\r\n */\r\n public get gatewayUrlObservable(): Observable<string> {\r\n return this.gatewayUrlAwaiter.asObservable();\r\n }\r\n\r\n /**\r\n * Gets the navigation ready observable.\r\n */\r\n public get navigationReadyObservable(): Observable<boolean> {\r\n return this.navigationReady.asObservable();\r\n }\r\n\r\n /**\r\n * Sets the navigation ready status.\r\n */\r\n public set navigationReadyStatus(ready: boolean) {\r\n this.navigationReady.next(ready);\r\n }\r\n\r\n /**\r\n * Gets the gateway information.\r\n */\r\n public get gatewayInfo(): GatewayInformation {\r\n if (!this.internalGatewayUrl) {\r\n throw new Error(MsftSme.getStrings<Strings>().MsftSmeShell.Core.Error.GatewayUrlNotConfigured.message);\r\n }\r\n\r\n // RegEx: ('http' or 'https') '://' (('<gatewayName1>'):('<port>') or ('<gatewayName2>'))\r\n // 0: url\r\n // 1: https or http\r\n // 2: <gatewayName1>:<port> or <gatewayName2>\r\n // 3: <gatewayName1> or undefined\r\n // 4: <port> or undefined\r\n // 5: <gatewayName2>\r\n const url = MsftSme.trimEnd(this.internalGatewayUrl.toLowerCase(), '/');\r\n const match = url.match(/(http|https):\\/\\/((.+):(\\d+)|(.+))/);\r\n if (!match) {\r\n throw new Error(MsftSme.getStrings<Strings>().MsftSmeShell.Core.Error.GatewayUrlMalformed.message);\r\n }\r\n\r\n const secure = match[1] === 'https';\r\n const name = match[3] || match[2];\r\n const port = parseInt(match[4], 10) || (secure ? 443 : 80);\r\n return { name, secure, port };\r\n }\r\n\r\n /**\r\n * Gets the gateway node name to make a CIM/PowerShell query to the gateway node.\r\n */\r\n public get gatewayName(): string {\r\n // localhost will be used to locally query gateway node. if this causes any access problem, need to be replaced.\r\n return 'localhost';\r\n }\r\n\r\n /**\r\n * Gets gateway status from cache or sets cache if it doesn't exist.\r\n */\r\n private get gatewayStatus(): Observable<any> {\r\n if (!this.internalGatewayStatus || Date.now() - this.lastUpdatedInternalGatewayStatus > this.lastUpdatedInternalGatewayStatusInterval) {\r\n return this.getStatus();\r\n }\r\n\r\n return of(this.internalGatewayStatus);\r\n }\r\n\r\n /**\r\n * Initializes a new instance of the Gateway class.\r\n *\r\n * @param http the Http object.\r\n * @param rpc the Rpc class.\r\n * @patam authorizationManager the authorization manager class object.\r\n */\r\n constructor(\r\n public http: Http,\r\n rpc: Rpc,\r\n private authorizationManager: AuthorizationManager\r\n ) {\r\n super('gateway-connection', rpc);\r\n\r\n // restore the AAD token if exist becase ealier access of token is required for gateway calls.\r\n authorizationManager.signOnManager.applySignedHttpRequestToken(<SignedHttpRequestToken>MsftSme.self().Environment.configuration?.signOn?.signedHttpRequestToken);\r\n }\r\n\r\n /**\r\n * Configure the gateway URL to connect to.\r\n */\r\n public configureGatewayEnvironment(url: string, urlSpecified: boolean, staticVersion: string): void {\r\n // trim last \"/\"\r\n if (url[url.length - 1] === '/') {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n this.internalGatewayUrl = url;\r\n this.internalGatewayUrlSpecified = urlSpecified;\r\n this.internalStaticVersion = staticVersion;\r\n this.gatewayUrlAwaiter.next(url);\r\n }\r\n\r\n /**\r\n * Update the url with static version option.\r\n * @param url the original URL including options.\r\n * @returns updated url with \"version=\" option if staticVersion present.\r\n */\r\n public addStaticVersion(url: string): string {\r\n if (MsftSme.isNullOrWhiteSpace(this.staticVersion) || this.staticVersion.indexOf('staticVersion=') < 0) {\r\n return url;\r\n }\r\n\r\n const splitter = url.indexOf('?') > 0 ? '&' : '?';\r\n return `${url}${splitter}staticVersion=${this.staticVersion}`;\r\n }\r\n\r\n /**\r\n * Makes a POST call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public post(relativeUrl: string, body?: any, request?: GatewayRequest): Observable<any> {\r\n const postRequest = this.createRequest(HttpMethod.Post, relativeUrl, body, request);\r\n return this.call(postRequest);\r\n }\r\n\r\n /**\r\n * Makes a GET call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param request the gateway request object.\r\n */\r\n public get(relativeUrl: string, request?: GatewayRequest): Observable<any> {\r\n const getRequest = this.createRequest(HttpMethod.Get, relativeUrl, null, request);\r\n return this.call(getRequest);\r\n }\r\n\r\n /**\r\n * Makes a PUT call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public put(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const putRequest = this.createRequest(HttpMethod.Put, relativeUrl, body, request);\r\n return this.call(putRequest);\r\n }\r\n\r\n /**\r\n * Makes a PATCH call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public patch(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const patchRequest = this.createRequest(HttpMethod.Patch, relativeUrl, body, request);\r\n return this.call(patchRequest);\r\n }\r\n\r\n /**\r\n * Makes a DELETE call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public delete(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const deleteRequest = this.createRequest(HttpMethod.Delete, relativeUrl, body, request);\r\n return this.call(deleteRequest);\r\n }\r\n\r\n /**\r\n * Makes a DELETE call to the gateway without waiting for the response.\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param request the gateway request object.\r\n */\r\n public deleteQuick(relativeUrl: string, headers?: any): void {\r\n headers[headerConstants.MODULE_NAME] = EnvironmentModule.getModuleName();\r\n headers[headerConstants.MODULE_VERSION] = EnvironmentModule.getModuleVersion();\r\n headers[headerConstants.ACCEPT_LANGUAGE] = CoreEnvironment.localizationManager.getLocaleId().neutral;\r\n if (this.staticVersion) {\r\n headers[headerConstants.STATIC_VERSION] = this.staticVersion;\r\n }\r\n\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(headers);\r\n }\r\n\r\n const url = Net.gatewayApi(this.gatewayUrl, relativeUrl);\r\n this.http.deleteQuick(url, headers);\r\n }\r\n\r\n /**\r\n * Creates a GatewayRequest.\r\n *\r\n * @param method the http method to use\r\n * @param relativeUrl the relative Url after \"/api/\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object to extend.\r\n */\r\n public createRequest(method: string, relativeUrl: string, body?: any, request?: GatewayRequest): GatewayRequest {\r\n const defaultMaxRetry = 3;\r\n request = MsftSme.deepAssign({}, request);\r\n\r\n // if request is undefined, default to empty object\r\n request = request || <GatewayRequest>{};\r\n request.headers = request.headers || {};\r\n (<any>request).headers[headerConstants.MODULE_NAME] = EnvironmentModule.getModuleName();\r\n (<any>request).headers[headerConstants.MODULE_VERSION] = EnvironmentModule.getModuleVersion();\r\n (<any>request).headers[headerConstants.ACCEPT_LANGUAGE] = CoreEnvironment.localizationManager.getLocaleId().neutral;\r\n if (this.staticVersion) {\r\n (<any>request).headers[headerConstants.STATIC_VERSION] = this.staticVersion;\r\n }\r\n\r\n // use default retry options if none are provided\r\n const retryHandlers: HttpResponseRetryHandler[] = [];\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(request.headers);\r\n retryHandlers.push({\r\n canHandle: (code, error) => this.authorizationManager.signOnManager.canHandleUnauthorizedLogin(code, error),\r\n handle: (code, originalRequest, error) => this.authorizationManager.signOnManager.handleUnauthorizedLogin(code, originalRequest, error)\r\n });\r\n }\r\n\r\n if (request.retryHandlers != null && request.retryHandlers.length > 0) {\r\n retryHandlers.push(...request.retryHandlers);\r\n }\r\n\r\n return Object.assign(request, <GatewayRequest>(<unknown>{\r\n method: method,\r\n url: relativeUrl,\r\n\r\n // default to the passed in body, the request body, or an empty string\r\n body: body || request.body || '',\r\n\r\n // default to the request headers, or an empty object\r\n headers: request.headers,\r\n\r\n // for the next 2 props, default to true unless explicitly set to false\r\n withCredentials: request.withCredentials === false ? false : true,\r\n crossDomain: request.crossDomain === false ? false : true,\r\n createXHR: () => new XMLHttpRequest(),\r\n\r\n retryHandlers,\r\n maxRetryCount: request.maxRetryCount === 0 ? 0 : request.maxRetryCount || defaultMaxRetry\r\n }));\r\n }\r\n\r\n /**\r\n * Make a request.\r\n *\r\n * @param request the request to execute against the gateway.\r\n * @return Observable<any> the query result observable.\r\n */\r\n public call(request: GatewayRequest): Observable<any> {\r\n if (!this.gatewayUrl) {\r\n return this.gatewayUrlAwaiter.pipe(mergeMap(() => this.call(request)));\r\n }\r\n\r\n // create gateway url from current url if not set yet.\r\n if (!request.url || (!request.url.startsWith('http://') && !request.url.startsWith('https://'))) {\r\n request.url = Net.gatewayApi(this.gatewayUrl, request.url);\r\n }\r\n\r\n // create retry options from request\r\n const retryOptions: HttpRetryOptions = {\r\n handlers: request.retryHandlers || [],\r\n maxRetry: request.maxRetryCount\r\n };\r\n // create observable for our request\r\n const requestObservable = this.http.request(request, retryOptions).pipe(map((response: AjaxResponse<any>) => (response ? response.response : {})));\r\n\r\n if (request.beforeCall) {\r\n return request.beforeCall(request).pipe(mergeMap(() => requestObservable));\r\n }\r\n\r\n return requestObservable;\r\n }\r\n\r\n /**\r\n * Gets default secure request options.\r\n *\r\n * @returns updated request object.\r\n */\r\n public get defaultHttpSecureOptions(): AjaxRequest {\r\n const request = { ...{ headers: {} }, ...Http.defaultHttpOptions };\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(request.headers);\r\n }\r\n\r\n return request;\r\n }\r\n\r\n /**\r\n * Check if elevation is required from the error object.\r\n *\r\n * @param error the ajax error object.\r\n */\r\n public isElevationRequired(error: AjaxError): boolean {\r\n const code = error.xhr && error.xhr.response && error.xhr.response.error && error.xhr.response.error.code;\r\n return code === 'ElevationRequired';\r\n }\r\n\r\n /**\r\n * Elevate the gateway if it's desktop mode running.\r\n */\r\n public elevate(): Observable<boolean> {\r\n if (!this.elevateClient) {\r\n this.elevateClient = new RpcObservableElevateClient(this.rpc);\r\n }\r\n\r\n return this.elevateClient.elevate().pipe(map(result => result.elevated));\r\n }\r\n\r\n /**\r\n * Creates and returns a new URL builder for the current connection.\r\n */\r\n public url(): GatewayUrlBuilder {\r\n return new GatewayUrlBuilder(this.gatewayUrl);\r\n }\r\n\r\n /**\r\n * Clear the DNS cache.\r\n */\r\n public clearDnsCache(): Observable<void> {\r\n const dnsCacheClearUrl = 'gateway/dnsCacheClear';\r\n return this.delete(dnsCacheClearUrl).pipe(map(_ => null));\r\n }\r\n\r\n /**\r\n * Polling to check if the gateway is elevated.\r\n */\r\n public pollingGatewayElevated(): Observable<boolean> {\r\n // user might not respond for elevation prompt, maximum waiting time is 2.5 min.\r\n // getElevatedStatus() takes 5000ms when the gateway is not responding.\r\n // 2.5 min = count [30] * 5000 msec.\r\n const uniQueId = MsftSme.getUniqueId();\r\n const maxWaitingCount = 30;\r\n let count = maxWaitingCount;\r\n return this.getElevatedStatus().pipe(\r\n expand(status => {\r\n // user accepted.\r\n // adds 5 calls for the gateway dead period.\r\n // < Restart Requested from UI >\r\n // 1st query: it shows success on slow performed system, the gateway is even not shutdown yet.\r\n // 2nd query: It could success still.\r\n // 3rd query: Maybe timeout because the gateway is not started yet.\r\n // 4rd query: Maybe timeout because the gateway is not started yet.\r\n // 5rd query: Maybe timeout because the gateway is down.\r\n // 25 = 30 - 5\r\n const pollingStartCount = 25;\r\n if (((count <= pollingStartCount && (!status.error || status.isGatewayProcessElevated)) || status.completed) && status.id === uniQueId) {\r\n return of({\r\n completed: true,\r\n id: uniQueId,\r\n isGatewayProcessElevated: status.isGatewayProcessElevated\r\n });\r\n }\r\n\r\n // no response for more than 2.5 minutes.\r\n // gateway was stopped for long or user never responded to UAC prompt.\r\n if (count-- <= 0 && status.id === uniQueId) {\r\n return of({\r\n completed: true,\r\n id: uniQueId,\r\n isGatewayProcessElevated: status.isGatewayProcessElevated\r\n });\r\n }\r\n\r\n return this.getElevatedStatus();\r\n }),\r\n filter(result => result.isGatewayProcessElevated || result.completed),\r\n take(1),\r\n map(result => result.isGatewayProcessElevated)\r\n );\r\n }\r\n\r\n /**\r\n * Perform gateway status query but cut off if it exceeds 2.5 seconds.\r\n */\r\n public getElevatedStatus(): Observable<{ error: boolean; isGatewayProcessElevated: boolean; completed: boolean; id: string }> {\r\n // if the gateway is not responding for 5000ms, cancel the call.\r\n const callCancelTime = 5000;\r\n return new Observable(observer => {\r\n let subscription: Subscription = null;\r\n let timer = setTimeout(() => {\r\n // handle pending timeout of the query when the gateway doesn't respond.\r\n if (subscription) {\r\n observer.next({ error: true, isGatewayProcessElevated: false, completed: undefined, id: undefined });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n timer = null;\r\n }\r\n }, callCancelTime);\r\n subscription = this.getStatus().subscribe({\r\n next: data => {\r\n observer.next({\r\n error: false,\r\n isGatewayProcessElevated: data.isGatewayProcessElevated,\r\n completed: undefined,\r\n id: undefined\r\n });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n },\r\n error: () => {\r\n observer.next({ error: true, isGatewayProcessElevated: false, completed: undefined, id: undefined });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Gets gateway machine if found in list of given nodes\r\n * @param nodes Node names or IPs to check\r\n * @returns Node name of gateway if found, null otherwise\r\n */\r\n public getGateway(nodes: string[]): Observable<string> {\r\n return this.gatewayStatus.pipe(\r\n map(status => {\r\n for (const node of nodes) {\r\n if (MsftSme.isNullOrUndefined(node)) {\r\n continue;\r\n }\r\n\r\n switch (node.toLocaleLowerCase()) {\r\n case this.localhostIpV4:\r\n case this.localhostIpV6:\r\n case this.localhost:\r\n case status.fullyQualifiedDNSName?.toLocaleLowerCase():\r\n case status.name?.toLocaleLowerCase():\r\n case status.machineName?.toLocaleLowerCase():\r\n return node;\r\n }\r\n\r\n if (status.addressList?.find((address: string) => address === node)) {\r\n return node;\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Check gateway condition.\r\n */\r\n public checkCondition(): Observable<GatewayCondition> {\r\n const result = <GatewayCondition>{};\r\n return this.getStatus().pipe(\r\n switchMap(gateway => {\r\n if (gateway.gatewayMode === 'Service') {\r\n result.isServiceMode = true;\r\n result.isGatewayProcessElevated = false;\r\n return this.getAccessCheck();\r\n }\r\n\r\n result.isServiceMode = false;\r\n result.isGatewayProcessElevated = gateway.isGatewayProcessElevated;\r\n return of(true);\r\n }),\r\n map(isAdmin => {\r\n result.isGatewayAdmin = !!isAdmin;\r\n return result;\r\n }),\r\n take(1)\r\n );\r\n }\r\n\r\n /**\r\n * Get gateway status.\r\n */\r\n public getStatus(): Observable<any> {\r\n return this.get('gateway/status').pipe(\r\n tap(status => {\r\n this.lastUpdatedInternalGatewayStatus = Date.now();\r\n this.internalGatewayStatus = status;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get user access check.\r\n */\r\n public getAccessCheck(): Observable<any> {\r\n return this.get(GatewayUrls.accessCheck);\r\n }\r\n\r\n /**\r\n * Called on a child service instance when onForwardInit returns from the parent\r\n * Initialize telemetry from within here so we can leverage gateway status for telemetry metadata.\r\n * @param data The response from the forwardInit call\r\n */\r\n protected onForwardInitResponse(data: RpcForwardResponse<GatewayRPCForwardedProperties>): void {\r\n if (data.error) {\r\n // if there is an error, we cannot continue, so throw its\r\n throw data.error;\r\n }\r\n\r\n if (!MsftSme.self().Environment.configuration.gateway.disabled) {\r\n this.internalGatewayUrl = data.result.gatewayName;\r\n this.internalGatewayUrlSpecified = data.result.gatewayUrlSpecified;\r\n this.internalStaticVersion = data.result.staticVersion;\r\n }\r\n }\r\n\r\n /**\r\n * Called when a new instance of the service in another window is initialized and needs to synchronize with its parent\r\n * @param from The RpcRelationshipType that this request is from\r\n * @returns an observable for the all the values needed to initialize the service\r\n */\r\n protected onForwardInit(): Observable<GatewayRPCForwardedProperties> {\r\n if (this.gatewayUrl) {\r\n return of({\r\n gatewayName: this.gatewayUrl,\r\n gatewayUrlSpecified: this.gatewayUrlSpecified,\r\n staticVersion: this.staticVersion\r\n });\r\n } else {\r\n // if gateway value hasn't been set yet, then wait for it.\r\n if (MsftSme.self().Environment.configuration.gateway.disabled) {\r\n return of(null);\r\n }\r\n\r\n return this.gatewayUrlAwaiter.pipe(\r\n map(url => ({\r\n gatewayName: url,\r\n gatewayUrlSpecified: this.gatewayUrlSpecified,\r\n staticVersion: this.staticVersion\r\n }))\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Called when the forwarded services counterpart wants to get data from the parent\r\n * @param from The RpcRelationshipType that this request is from\r\n * @param name The name of the method to forward to\r\n * @param args The arguments of the method\r\n * @returns an observable for the result of the method call\r\n */\r\n protected onForwardExecute(from: RpcRelationshipType, name: string): Observable<any> {\r\n // gatewayConnection does not allow any method calls at this time\r\n return this.nameNotFound(name);\r\n }\r\n\r\n /**\r\n * Called when the forwarded services counterpart sends a notify message\r\n * @param from The RpcRelationshipType that this request is from\r\n * @param name The name of the property to change\r\n * @param value The new value of the property\r\n * @returns an observable that completes when the property has been changed.\r\n */\r\n protected onForwardNotify(from: RpcRelationshipType, name: string): Observable<void> {\r\n if (from === RpcRelationshipType.Child && name === GatewayConnection.rpcCommands.forbiddenReceived) {\r\n // Deprecated noop version 1.1100.0 at 10/1/2020. Using ErrorMonitor.\r\n return of(null);\r\n }\r\n // gatewayConnection does not allow any other notifications at this time\r\n return this.nameNotFound(name);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"gateway-connection.js","sourceRoot":"","sources":["../../src/data/gateway-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAgB,UAAU,EAAE,MAAM,MAAM,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAI1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,EAA8C,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA0F5B;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAmM3C;IAEC;IApMJ,MAAM,CAAC,WAAW,GAAG;QACzB,iBAAiB,EAAE,mBAAmB;KACzC,CAAC;IAEF;;OAEG;IACc,aAAa,GAAG,WAAW,CAAC;IAE7C;;OAEG;IACc,aAAa,GAAG,KAAK,CAAC;IAEvC;;OAEG;IACc,SAAS,GAAG,WAAW,CAAC;IAEzC;;OAEG;IACc,wCAAwC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;IAEzF;;OAEG;IACK,kBAAkB,CAAS;IAEnC;;OAEG;IACK,qBAAqB,CAAS;IAEtC;;OAEG;IACK,2BAA2B,CAAU;IAE7C;;OAEG;IACK,gCAAgC,CAAS;IAEjD;;OAEG;IACK,qBAAqB,CAA4B;IAEzD;;OAEG;IACK,iBAAiB,GAAG,IAAI,aAAa,CAAS,CAAC,CAAC,CAAC;IAEzD;;OAEG;IACK,aAAa,GAA+B,IAAI,CAAC;IAEzD;;OAEG;IACK,aAAa,GAA+B,IAAI,CAAC;IAEzD;;OAEG;IACK,uBAAuB,GAA8B,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAE7E;;OAEG;IACK,eAAe,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC,CAAC;IAExD;;OAEG;IACH,IAAW,eAAe,CAAC,KAAgC;QACvD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAqC,EAAE,EAAE;gBAClE,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CACtC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAA2B,EAAE,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA,CAAC,CAAC,EAClH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAA4B,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA,CAAC,CAClE,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC;QAC/C,OAAO,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAW,yBAAyB;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAW,qBAAqB,CAAC,KAAc;QAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC;QAED,yFAAyF;QACzF,SAAS;QACT,mBAAmB;QACnB,6CAA6C;QAC7C,iCAAiC;QACjC,yBAAyB;QACzB,oBAAoB;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QAClB,gHAAgH;QAChH,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAY,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,wCAAwC,EAAE,CAAC;YACpI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,YACW,IAAU,EACjB,GAAQ,EACA,oBAA0C;QAElD,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAJ1B,SAAI,GAAJ,IAAI,CAAM;QAET,yBAAoB,GAApB,oBAAoB,CAAsB;QAIlD,8FAA8F;QAC9F,oBAAoB,CAAC,aAAa,CAAC,2BAA2B,CAAyB,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACrK,CAAC;IAED;;OAEG;IACI,2BAA2B,CAAC,GAAW,EAAE,YAAqB,EAAE,aAAqB;QACxF,gBAAgB;QAChB,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC9B,IAAI,CAAC,2BAA2B,GAAG,YAAY,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,GAAW;QAC/B,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACrG,OAAO,GAAG,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,OAAO,GAAG,GAAG,GAAG,QAAQ,iBAAiB,IAAI,CAAC,aAAa,EAAE,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CAAC,WAAmB,EAAE,IAAU,EAAE,OAAwB;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,WAAmB,EAAE,OAAwB;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,GAAG,CAAC,WAAmB,EAAE,IAAa,EAAE,OAAwB;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAmB,EAAE,IAAa,EAAE,OAAwB;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAmB,EAAE,IAAa,EAAE,OAAwB;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,WAAmB,EAAE,OAAa;QACjD,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACzE,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC/E,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;QACrG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC/D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAC,MAAc,EAAE,WAAmB,EAAE,IAAU,EAAE,OAAwB;QAC1F,MAAM,eAAe,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE1C,mDAAmD;QACnD,OAAO,GAAG,OAAO,IAAoB,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,OAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAClF,OAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QACxF,OAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;QACpH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACf,OAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAChF,CAAC;QAED,iDAAiD;QACjD,MAAM,aAAa,GAA+B,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC/D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,aAAa,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC3G,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC;aAC1I,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAA4B;YACpD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,WAAW;YAEhB,sEAAsE;YACtE,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE;YAEhC,qDAAqD;YACrD,OAAO,EAAE,OAAO,CAAC,OAAO;YAExB,uEAAuE;YACvE,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACjE,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACzD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,EAAE;YAErC,aAAa;YACb,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,eAAe;SAC3F,CAAC,CAAC;IACR,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,OAAuB;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,oCAAoC;QACpC,MAAM,YAAY,GAAqB;YACnC,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YACrC,QAAQ,EAAE,OAAO,CAAC,aAAa;SAClC,CAAC;QACF,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAA2B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnJ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,IAAW,wBAAwB;QAC/B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC/D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,KAAgB;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1G,OAAO,IAAI,KAAK,mBAAmB,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,GAAG;QACN,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,gFAAgF;QAChF,uEAAuE;QACvE,oCAAoC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,eAAe,CAAC;QAC5B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAChC,MAAM,CAAC,MAAM,CAAC,EAAE;YACZ,iBAAiB;YACjB,4CAA4C;YAC5C,gCAAgC;YAChC,8FAA8F;YAC9F,qCAAqC;YACrC,mEAAmE;YACnE,mEAAmE;YACnE,wDAAwD;YACxD,cAAc;YACd,MAAM,iBAAiB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACrI,OAAO,EAAE,CAAC;oBACN,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,QAAQ;oBACZ,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;iBAC5D,CAAC,CAAC;YACP,CAAC;YAED,yCAAyC;YACzC,sEAAsE;YACtE,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,EAAE,CAAC;oBACN,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,QAAQ;oBACZ,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;iBAC5D,CAAC,CAAC;YACP,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC,CAAC,EACF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,SAAS,CAAC,EACrE,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CACjD,CAAC;IACN,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,gEAAgE;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,YAAY,GAAiB,IAAI,CAAC;YACtC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,wEAAwE;gBACxE,IAAI,YAAY,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3B,YAAY,GAAG,IAAI,CAAC;oBACpB,KAAK,GAAG,IAAI,CAAC;gBACjB,CAAC;YACL,CAAC,EAAE,cAAc,CAAC,CAAC;YACnB,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;gBACtC,IAAI,EAAE,IAAI,CAAC,EAAE;oBACT,QAAQ,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,KAAK;wBACZ,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;wBACvD,SAAS,EAAE,SAAS;wBACpB,EAAE,EAAE,SAAS;qBAChB,CAAC,CAAC;oBACH,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3B,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,KAAK,EAAE,CAAC;wBACR,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACR,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3B,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,KAAK,EAAE,CAAC;wBACR,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,KAAe;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC1B,GAAG,CAAC,MAAM,CAAC,EAAE;YACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,SAAS;gBACb,CAAC;gBAED,QAAQ,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBAC/B,KAAK,IAAI,CAAC,aAAa,CAAC;oBACxB,KAAK,IAAI,CAAC,aAAa,CAAC;oBACxB,KAAK,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC;oBACvD,KAAK,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE;wBACxC,OAAO,IAAI,CAAC;gBACpB,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;oBAClE,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACxB,SAAS,CAAC,OAAO,CAAC,EAAE;YAChB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,MAAM,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACxC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,CAAC;YAED,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,MAAM,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;YACnE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,EACF,GAAG,CAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EACF,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;IACN,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,MAAM,CAAC,EAAE;YACT,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;QACxC,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACO,qBAAqB,CAAC,IAAuD;QACnF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,yDAAyD;YACzD,MAAM,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAClD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACnE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,aAAa;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;gBACN,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,0DAA0D;YAC1D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAC9B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACR,WAAW,EAAE,GAAG;gBAChB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC,CAAC,CAAC,CACN,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACO,gBAAgB,CAAC,IAAyB,EAAE,IAAY;QAC9D,iEAAiE;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACO,eAAe,CAAC,IAAyB,EAAE,IAAY;QAC7D,IAAI,IAAI,sCAA8B,IAAI,IAAI,KAAK,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACjG,qEAAqE;YACrE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,wEAAwE;QACxE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC","sourcesContent":["import { Observable, of, ReplaySubject, Subscription, throwError } from 'rxjs';\r\nimport { AjaxError, AjaxRequest, AjaxResponse } from 'rxjs/ajax';\r\nimport { catchError, expand, filter, map, mergeMap, switchMap, take, tap } from 'rxjs/operators';\r\nimport { Strings } from '../generated/strings';\r\nimport { EnvironmentModule } from '../manifest/environment-modules';\r\nimport { RpcObservableElevateClient } from '../rpc/elevate/rpc-observable-elevate-client';\r\nimport { RpcObservableElevateError, RpcObservableElevateRequest, RpcObservableElevateResult } from '../rpc/elevate/rpc-observable-elevate-model';\r\nimport { RpcObservableElevateServer } from '../rpc/elevate/rpc-observable-elevate-server';\r\nimport { RpcForwardResponse } from '../rpc/forward/rpc-forward-model';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport { RpcRelationshipType } from '../rpc/rpc-base';\r\nimport { RpcServiceForwarder } from '../rpc/rpc-forwarder';\r\nimport { AuthorizationManager } from '../security/authorization-manager';\r\nimport { SignedHttpRequestToken } from '../security/sign-on-manager';\r\nimport { CoreEnvironment } from './core-environment';\r\nimport { GatewayStatus } from './gateway-status';\r\nimport { GatewayUrlBuilder } from './gateway-url-builder';\r\nimport { GatewayUrls } from './gateway-urls';\r\nimport { Http, HttpMethod, HttpResponseRetryHandler, HttpRetryOptions } from './http';\r\nimport { headerConstants } from './http-constants';\r\nimport { Net } from './net';\r\n\r\n/**\r\n * Gateway Request options that we use to extend the AjaxRequest interface\r\n */\r\nexport interface GatewayRequestOptions {\r\n /**\r\n * Retry handler implementation for a request.\r\n * These handlers are used to invoke specific functionality for non-200 status codes in the http response.\r\n */\r\n retryHandlers?: HttpResponseRetryHandler[];\r\n\r\n /**\r\n * Determines the maximum number of times that any of the retry handlers will be tried.\r\n * before giving up and surfacing the error to the original caller\r\n */\r\n maxRetryCount?: number;\r\n\r\n /**\r\n * Observable handler to insert asynchronous logic before the actual http response is sent.\r\n * For Example: Waiting for pending authentication to complete before adding an authentication header\r\n */\r\n beforeCall?: (request: GatewayRequest) => Observable<void>;\r\n}\r\n\r\n/**\r\n * Extension of AjaxRequest interface for calling the Gateway API\r\n */\r\nexport interface GatewayRequest extends AjaxRequest, GatewayRequestOptions {}\r\n\r\n/**\r\n * Initialization object data for the Gateway's base class.\r\n */\r\nexport interface GatewayRPCForwardedProperties {\r\n /**\r\n * The gateway URL.\r\n */\r\n gatewayName: string;\r\n\r\n /**\r\n * Indicate whether gatewayUrl option was specified. (default to be false)\r\n */\r\n gatewayUrlSpecified: boolean;\r\n\r\n /**\r\n * The stative version. (default to be null)\r\n */\r\n staticVersion: string;\r\n}\r\n\r\n/**\r\n * The gateway information on current gateway URL.\r\n */\r\nexport interface GatewayInformation {\r\n /**\r\n * The name of gateway node.\r\n */\r\n name: string;\r\n\r\n /**\r\n * Indicating if https is used.\r\n */\r\n secure: boolean;\r\n\r\n /**\r\n * The port number of gateway.\r\n */\r\n port: number;\r\n}\r\n\r\n/**\r\n * Condition of gateway.\r\n */\r\nexport interface GatewayCondition {\r\n /**\r\n * the gateway is running as service mode (installed on server operating system).\r\n */\r\n isServiceMode: boolean;\r\n\r\n /**\r\n * the gateway is elevated on the desktop mode.\r\n */\r\n isGatewayProcessElevated: boolean;\r\n\r\n /**\r\n * the user account is a member of the gateway administrators.\r\n */\r\n isGatewayAdmin: boolean;\r\n}\r\n\r\n/**\r\n * The Gateway Connection class for creating requests and calling the Gateway's REST API\r\n */\r\nexport class GatewayConnection extends RpcServiceForwarder {\r\n private static rpcCommands = {\r\n forbiddenReceived: 'forbiddenRecieved'\r\n };\r\n\r\n /**\r\n * The IPv4 address for localhost\r\n */\r\n private readonly localhostIpV4 = '127.0.0.1';\r\n\r\n /**\r\n * The IPv6 address for localhost\r\n */\r\n private readonly localhostIpV6 = '::1';\r\n\r\n /**\r\n * The localhost name\r\n */\r\n private readonly localhost = 'localhost';\r\n\r\n /**\r\n * Time interval to check for internalGatewayStatus refresh.\r\n */\r\n private readonly lastUpdatedInternalGatewayStatusInterval = 1000 * 60 * 10; // 10 minutes\r\n\r\n /**\r\n * internally maintained gateway URL.\r\n */\r\n private internalGatewayUrl: string;\r\n\r\n /**\r\n * internally maintained static version.\r\n */\r\n private internalStaticVersion: string;\r\n\r\n /**\r\n * gatewayUrl param is specified.\r\n */\r\n private internalGatewayUrlSpecified: boolean;\r\n\r\n /**\r\n * Last time internal gateway status was updated in milliseconds\r\n */\r\n private lastUpdatedInternalGatewayStatus: number;\r\n\r\n /**\r\n * Internally maintained gateway status.\r\n */\r\n private internalGatewayStatus: Observable<GatewayStatus>;\r\n\r\n /**\r\n * The replay subject for gateway url to settle.\r\n */\r\n private gatewayUrlAwaiter = new ReplaySubject<string>(1);\r\n\r\n /**\r\n * The RPC observable elevate client.\r\n */\r\n private elevateClient: RpcObservableElevateClient = null;\r\n\r\n /**\r\n * The RPC observable elevate server.\r\n */\r\n private elevateServer: RpcObservableElevateServer = null;\r\n\r\n /**\r\n * The elevate callback observable.\r\n */\r\n private elevateCallbackInternal: () => Observable<boolean> = () => of(false);\r\n\r\n /**\r\n * The replay subject for navigation ready state.\r\n */\r\n private navigationReady = new ReplaySubject<boolean>(1);\r\n\r\n /**\r\n * Sets the elevate callback observable.\r\n */\r\n public set elevateCallback(value: () => Observable<boolean>) {\r\n this.elevateCallbackInternal = value;\r\n if (!this.elevateServer) {\r\n this.elevateServer = new RpcObservableElevateServer(this.rpc);\r\n this.elevateServer.register((_context: RpcObservableElevateRequest) => {\r\n return this.elevateCallbackInternal().pipe(\r\n catchError((error, _caught) => throwError(() => <RpcObservableElevateError>{ error: Net.getErrorMessage(error) })),\r\n map(result => <RpcObservableElevateResult>{ elevated: result })\r\n );\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Indicates that the gateway is disabled and therefore should not be called.\r\n */\r\n public get disabled(): boolean {\r\n const environment = MsftSme.self().Environment;\r\n return environment && environment.configuration.gateway.disabled;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL to connect to.\r\n */\r\n public get gatewayUrl(): string {\r\n return this.internalGatewayUrl;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL specified state.\r\n */\r\n public get staticVersion() {\r\n return this.internalStaticVersion;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL specified state.\r\n */\r\n public get gatewayUrlSpecified(): boolean {\r\n return this.internalGatewayUrlSpecified;\r\n }\r\n\r\n /**\r\n * Gets the gateway URL observable while setting up.\r\n */\r\n public get gatewayUrlObservable(): Observable<string> {\r\n return this.gatewayUrlAwaiter.asObservable();\r\n }\r\n\r\n /**\r\n * Gets the navigation ready observable.\r\n */\r\n public get navigationReadyObservable(): Observable<boolean> {\r\n return this.navigationReady.asObservable();\r\n }\r\n\r\n /**\r\n * Sets the navigation ready status.\r\n */\r\n public set navigationReadyStatus(ready: boolean) {\r\n this.navigationReady.next(ready);\r\n }\r\n\r\n /**\r\n * Gets the gateway information.\r\n */\r\n public get gatewayInfo(): GatewayInformation {\r\n if (!this.internalGatewayUrl) {\r\n throw new Error(MsftSme.getStrings<Strings>().MsftSmeShell.Core.Error.GatewayUrlNotConfigured.message);\r\n }\r\n\r\n // RegEx: ('http' or 'https') '://' (('<gatewayName1>'):('<port>') or ('<gatewayName2>'))\r\n // 0: url\r\n // 1: https or http\r\n // 2: <gatewayName1>:<port> or <gatewayName2>\r\n // 3: <gatewayName1> or undefined\r\n // 4: <port> or undefined\r\n // 5: <gatewayName2>\r\n const url = MsftSme.trimEnd(this.internalGatewayUrl.toLowerCase(), '/');\r\n const match = url.match(/(http|https):\\/\\/((.+):(\\d+)|(.+))/);\r\n if (!match) {\r\n throw new Error(MsftSme.getStrings<Strings>().MsftSmeShell.Core.Error.GatewayUrlMalformed.message);\r\n }\r\n\r\n const secure = match[1] === 'https';\r\n const name = match[3] || match[2];\r\n const port = parseInt(match[4], 10) || (secure ? 443 : 80);\r\n return { name, secure, port };\r\n }\r\n\r\n /**\r\n * Gets the gateway node name to make a CIM/PowerShell query to the gateway node.\r\n */\r\n public get gatewayName(): string {\r\n // localhost will be used to locally query gateway node. if this causes any access problem, need to be replaced.\r\n return 'localhost';\r\n }\r\n\r\n /**\r\n * Gets gateway status from cache or sets cache if it doesn't exist.\r\n */\r\n private get gatewayStatus(): Observable<any> {\r\n if (!this.internalGatewayStatus || Date.now() - this.lastUpdatedInternalGatewayStatus > this.lastUpdatedInternalGatewayStatusInterval) {\r\n return this.getStatus();\r\n }\r\n\r\n return of(this.internalGatewayStatus);\r\n }\r\n\r\n /**\r\n * Initializes a new instance of the Gateway class.\r\n *\r\n * @param http the Http object.\r\n * @param rpc the Rpc class.\r\n * @patam authorizationManager the authorization manager class object.\r\n */\r\n constructor(\r\n public http: Http,\r\n rpc: Rpc,\r\n private authorizationManager: AuthorizationManager\r\n ) {\r\n super('gateway-connection', rpc);\r\n\r\n // restore the AAD token if exist becase ealier access of token is required for gateway calls.\r\n authorizationManager.signOnManager.applySignedHttpRequestToken(<SignedHttpRequestToken>MsftSme.self().Environment.configuration?.signOn?.signedHttpRequestToken);\r\n }\r\n\r\n /**\r\n * Configure the gateway URL to connect to.\r\n */\r\n public configureGatewayEnvironment(url: string, urlSpecified: boolean, staticVersion: string): void {\r\n // trim last \"/\"\r\n if (url[url.length - 1] === '/') {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n this.authorizationManager.setGatewayOrigin(new URL(url).origin);\r\n this.internalGatewayUrl = url;\r\n this.internalGatewayUrlSpecified = urlSpecified;\r\n this.internalStaticVersion = staticVersion;\r\n this.gatewayUrlAwaiter.next(url);\r\n }\r\n\r\n /**\r\n * Update the url with static version option.\r\n * @param url the original URL including options.\r\n * @returns updated url with \"version=\" option if staticVersion present.\r\n */\r\n public addStaticVersion(url: string): string {\r\n if (MsftSme.isNullOrWhiteSpace(this.staticVersion) || this.staticVersion.indexOf('staticVersion=') < 0) {\r\n return url;\r\n }\r\n\r\n const splitter = url.indexOf('?') > 0 ? '&' : '?';\r\n return `${url}${splitter}staticVersion=${this.staticVersion}`;\r\n }\r\n\r\n /**\r\n * Makes a POST call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public post(relativeUrl: string, body?: any, request?: GatewayRequest): Observable<any> {\r\n const postRequest = this.createRequest(HttpMethod.Post, relativeUrl, body, request);\r\n return this.call(postRequest);\r\n }\r\n\r\n /**\r\n * Makes a GET call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param request the gateway request object.\r\n */\r\n public get(relativeUrl: string, request?: GatewayRequest): Observable<any> {\r\n const getRequest = this.createRequest(HttpMethod.Get, relativeUrl, null, request);\r\n return this.call(getRequest);\r\n }\r\n\r\n /**\r\n * Makes a PUT call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public put(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const putRequest = this.createRequest(HttpMethod.Put, relativeUrl, body, request);\r\n return this.call(putRequest);\r\n }\r\n\r\n /**\r\n * Makes a PATCH call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public patch(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const patchRequest = this.createRequest(HttpMethod.Patch, relativeUrl, body, request);\r\n return this.call(patchRequest);\r\n }\r\n\r\n /**\r\n * Makes a DELETE call to the gateway\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object.\r\n */\r\n public delete(relativeUrl: string, body?: string, request?: GatewayRequest): Observable<any> {\r\n const deleteRequest = this.createRequest(HttpMethod.Delete, relativeUrl, body, request);\r\n return this.call(deleteRequest);\r\n }\r\n\r\n /**\r\n * Makes a DELETE call to the gateway without waiting for the response.\r\n *\r\n * @param relativeUrl the relative Url after \"/api\"\r\n * @param request the gateway request object.\r\n */\r\n public deleteQuick(relativeUrl: string, headers?: any): void {\r\n headers[headerConstants.MODULE_NAME] = EnvironmentModule.getModuleName();\r\n headers[headerConstants.MODULE_VERSION] = EnvironmentModule.getModuleVersion();\r\n headers[headerConstants.ACCEPT_LANGUAGE] = CoreEnvironment.localizationManager.getLocaleId().neutral;\r\n if (this.staticVersion) {\r\n headers[headerConstants.STATIC_VERSION] = this.staticVersion;\r\n }\r\n\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(headers);\r\n }\r\n\r\n const url = Net.gatewayApi(this.gatewayUrl, relativeUrl);\r\n this.http.deleteQuick(url, headers);\r\n }\r\n\r\n /**\r\n * Creates a GatewayRequest.\r\n *\r\n * @param method the http method to use\r\n * @param relativeUrl the relative Url after \"/api/\"\r\n * @param body the body string JSON.stringfy'ed\r\n * @param request the gateway request object to extend.\r\n */\r\n public createRequest(method: string, relativeUrl: string, body?: any, request?: GatewayRequest): GatewayRequest {\r\n const defaultMaxRetry = 3;\r\n request = MsftSme.deepAssign({}, request);\r\n\r\n // if request is undefined, default to empty object\r\n request = request || <GatewayRequest>{};\r\n request.headers = request.headers || {};\r\n (<any>request).headers[headerConstants.MODULE_NAME] = EnvironmentModule.getModuleName();\r\n (<any>request).headers[headerConstants.MODULE_VERSION] = EnvironmentModule.getModuleVersion();\r\n (<any>request).headers[headerConstants.ACCEPT_LANGUAGE] = CoreEnvironment.localizationManager.getLocaleId().neutral;\r\n if (this.staticVersion) {\r\n (<any>request).headers[headerConstants.STATIC_VERSION] = this.staticVersion;\r\n }\r\n\r\n // use default retry options if none are provided\r\n const retryHandlers: HttpResponseRetryHandler[] = [];\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(request.headers);\r\n retryHandlers.push({\r\n canHandle: (code, error) => this.authorizationManager.signOnManager.canHandleUnauthorizedLogin(code, error),\r\n handle: (code, originalRequest, error) => this.authorizationManager.signOnManager.handleUnauthorizedLogin(code, originalRequest, error)\r\n });\r\n }\r\n\r\n if (request.retryHandlers != null && request.retryHandlers.length > 0) {\r\n retryHandlers.push(...request.retryHandlers);\r\n }\r\n\r\n return Object.assign(request, <GatewayRequest>(<unknown>{\r\n method: method,\r\n url: relativeUrl,\r\n\r\n // default to the passed in body, the request body, or an empty string\r\n body: body || request.body || '',\r\n\r\n // default to the request headers, or an empty object\r\n headers: request.headers,\r\n\r\n // for the next 2 props, default to true unless explicitly set to false\r\n withCredentials: request.withCredentials === false ? false : true,\r\n crossDomain: request.crossDomain === false ? false : true,\r\n createXHR: () => new XMLHttpRequest(),\r\n\r\n retryHandlers,\r\n maxRetryCount: request.maxRetryCount === 0 ? 0 : request.maxRetryCount || defaultMaxRetry\r\n }));\r\n }\r\n\r\n /**\r\n * Make a request.\r\n *\r\n * @param request the request to execute against the gateway.\r\n * @return Observable<any> the query result observable.\r\n */\r\n public call(request: GatewayRequest): Observable<any> {\r\n if (!this.gatewayUrl) {\r\n return this.gatewayUrlAwaiter.pipe(mergeMap(() => this.call(request)));\r\n }\r\n\r\n // create gateway url from current url if not set yet.\r\n if (!request.url || (!request.url.startsWith('http://') && !request.url.startsWith('https://'))) {\r\n request.url = Net.gatewayApi(this.gatewayUrl, request.url);\r\n }\r\n\r\n // create retry options from request\r\n const retryOptions: HttpRetryOptions = {\r\n handlers: request.retryHandlers || [],\r\n maxRetry: request.maxRetryCount\r\n };\r\n // create observable for our request\r\n const requestObservable = this.http.request(request, retryOptions).pipe(map((response: AjaxResponse<any>) => (response ? response.response : {})));\r\n\r\n if (request.beforeCall) {\r\n return request.beforeCall(request).pipe(mergeMap(() => requestObservable));\r\n }\r\n\r\n return requestObservable;\r\n }\r\n\r\n /**\r\n * Gets default secure request options.\r\n *\r\n * @returns updated request object.\r\n */\r\n public get defaultHttpSecureOptions(): AjaxRequest {\r\n const request = { ...{ headers: {} }, ...Http.defaultHttpOptions };\r\n if (this.authorizationManager.signOnManager.isSignOnTokenEnabled) {\r\n this.authorizationManager.signOnManager.SetAadAuthorizationHeader(request.headers);\r\n }\r\n\r\n return request;\r\n }\r\n\r\n /**\r\n * Check if elevation is required from the error object.\r\n *\r\n * @param error the ajax error object.\r\n */\r\n public isElevationRequired(error: AjaxError): boolean {\r\n const code = error.xhr && error.xhr.response && error.xhr.response.error && error.xhr.response.error.code;\r\n return code === 'ElevationRequired';\r\n }\r\n\r\n /**\r\n * Elevate the gateway if it's desktop mode running.\r\n */\r\n public elevate(): Observable<boolean> {\r\n if (!this.elevateClient) {\r\n this.elevateClient = new RpcObservableElevateClient(this.rpc);\r\n }\r\n\r\n return this.elevateClient.elevate().pipe(map(result => result.elevated));\r\n }\r\n\r\n /**\r\n * Creates and returns a new URL builder for the current connection.\r\n */\r\n public url(): GatewayUrlBuilder {\r\n return new GatewayUrlBuilder(this.gatewayUrl);\r\n }\r\n\r\n /**\r\n * Clear the DNS cache.\r\n */\r\n public clearDnsCache(): Observable<void> {\r\n const dnsCacheClearUrl = 'gateway/dnsCacheClear';\r\n return this.delete(dnsCacheClearUrl).pipe(map(_ => null));\r\n }\r\n\r\n /**\r\n * Polling to check if the gateway is elevated.\r\n */\r\n public pollingGatewayElevated(): Observable<boolean> {\r\n // user might not respond for elevation prompt, maximum waiting time is 2.5 min.\r\n // getElevatedStatus() takes 5000ms when the gateway is not responding.\r\n // 2.5 min = count [30] * 5000 msec.\r\n const uniQueId = MsftSme.getUniqueId();\r\n const maxWaitingCount = 30;\r\n let count = maxWaitingCount;\r\n return this.getElevatedStatus().pipe(\r\n expand(status => {\r\n // user accepted.\r\n // adds 5 calls for the gateway dead period.\r\n // < Restart Requested from UI >\r\n // 1st query: it shows success on slow performed system, the gateway is even not shutdown yet.\r\n // 2nd query: It could success still.\r\n // 3rd query: Maybe timeout because the gateway is not started yet.\r\n // 4rd query: Maybe timeout because the gateway is not started yet.\r\n // 5rd query: Maybe timeout because the gateway is down.\r\n // 25 = 30 - 5\r\n const pollingStartCount = 25;\r\n if (((count <= pollingStartCount && (!status.error || status.isGatewayProcessElevated)) || status.completed) && status.id === uniQueId) {\r\n return of({\r\n completed: true,\r\n id: uniQueId,\r\n isGatewayProcessElevated: status.isGatewayProcessElevated\r\n });\r\n }\r\n\r\n // no response for more than 2.5 minutes.\r\n // gateway was stopped for long or user never responded to UAC prompt.\r\n if (count-- <= 0 && status.id === uniQueId) {\r\n return of({\r\n completed: true,\r\n id: uniQueId,\r\n isGatewayProcessElevated: status.isGatewayProcessElevated\r\n });\r\n }\r\n\r\n return this.getElevatedStatus();\r\n }),\r\n filter(result => result.isGatewayProcessElevated || result.completed),\r\n take(1),\r\n map(result => result.isGatewayProcessElevated)\r\n );\r\n }\r\n\r\n /**\r\n * Perform gateway status query but cut off if it exceeds 2.5 seconds.\r\n */\r\n public getElevatedStatus(): Observable<{ error: boolean; isGatewayProcessElevated: boolean; completed: boolean; id: string }> {\r\n // if the gateway is not responding for 5000ms, cancel the call.\r\n const callCancelTime = 5000;\r\n return new Observable(observer => {\r\n let subscription: Subscription = null;\r\n let timer = setTimeout(() => {\r\n // handle pending timeout of the query when the gateway doesn't respond.\r\n if (subscription) {\r\n observer.next({ error: true, isGatewayProcessElevated: false, completed: undefined, id: undefined });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n timer = null;\r\n }\r\n }, callCancelTime);\r\n subscription = this.getStatus().subscribe({\r\n next: data => {\r\n observer.next({\r\n error: false,\r\n isGatewayProcessElevated: data.isGatewayProcessElevated,\r\n completed: undefined,\r\n id: undefined\r\n });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n },\r\n error: () => {\r\n observer.next({ error: true, isGatewayProcessElevated: false, completed: undefined, id: undefined });\r\n observer.complete();\r\n subscription.unsubscribe();\r\n subscription = null;\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Gets gateway machine if found in list of given nodes\r\n * @param nodes Node names or IPs to check\r\n * @returns Node name of gateway if found, null otherwise\r\n */\r\n public getGateway(nodes: string[]): Observable<string> {\r\n return this.gatewayStatus.pipe(\r\n map(status => {\r\n for (const node of nodes) {\r\n if (MsftSme.isNullOrUndefined(node)) {\r\n continue;\r\n }\r\n\r\n switch (node.toLocaleLowerCase()) {\r\n case this.localhostIpV4:\r\n case this.localhostIpV6:\r\n case this.localhost:\r\n case status.fullyQualifiedDNSName?.toLocaleLowerCase():\r\n case status.name?.toLocaleLowerCase():\r\n case status.machineName?.toLocaleLowerCase():\r\n return node;\r\n }\r\n\r\n if (status.addressList?.find((address: string) => address === node)) {\r\n return node;\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Check gateway condition.\r\n */\r\n public checkCondition(): Observable<GatewayCondition> {\r\n const result = <GatewayCondition>{};\r\n return this.getStatus().pipe(\r\n switchMap(gateway => {\r\n if (gateway.gatewayMode === 'Service') {\r\n result.isServiceMode = true;\r\n result.isGatewayProcessElevated = false;\r\n return this.getAccessCheck();\r\n }\r\n\r\n result.isServiceMode = false;\r\n result.isGatewayProcessElevated = gateway.isGatewayProcessElevated;\r\n return of(true);\r\n }),\r\n map(isAdmin => {\r\n result.isGatewayAdmin = !!isAdmin;\r\n return result;\r\n }),\r\n take(1)\r\n );\r\n }\r\n\r\n /**\r\n * Get gateway status.\r\n */\r\n public getStatus(): Observable<any> {\r\n return this.get('gateway/status').pipe(\r\n tap(status => {\r\n this.lastUpdatedInternalGatewayStatus = Date.now();\r\n this.internalGatewayStatus = status;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get user access check.\r\n */\r\n public getAccessCheck(): Observable<any> {\r\n return this.get(GatewayUrls.accessCheck);\r\n }\r\n\r\n /**\r\n * Called on a child service instance when onForwardInit returns from the parent\r\n * Initialize telemetry from within here so we can leverage gateway status for telemetry metadata.\r\n * @param data The response from the forwardInit call\r\n */\r\n protected onForwardInitResponse(data: RpcForwardResponse<GatewayRPCForwardedProperties>): void {\r\n if (data.error) {\r\n // if there is an error, we cannot continue, so throw its\r\n throw data.error;\r\n }\r\n\r\n if (!MsftSme.self().Environment.configuration.gateway.disabled) {\r\n this.internalGatewayUrl = data.result.gatewayName;\r\n this.internalGatewayUrlSpecified = data.result.gatewayUrlSpecified;\r\n this.internalStaticVersion = data.result.staticVersion;\r\n }\r\n }\r\n\r\n /**\r\n * Called when a new instance of the service in another window is initialized and needs to synchronize with its parent\r\n * @param from The RpcRelationshipType that this request is from\r\n * @returns an observable for the all the values needed to initialize the service\r\n */\r\n protected onForwardInit(): Observable<GatewayRPCForwardedProperties> {\r\n if (this.gatewayUrl) {\r\n return of({\r\n gatewayName: this.gatewayUrl,\r\n gatewayUrlSpecified: this.gatewayUrlSpecified,\r\n staticVersion: this.staticVersion\r\n });\r\n } else {\r\n // if gateway value hasn't been set yet, then wait for it.\r\n if (MsftSme.self().Environment.configuration.gateway.disabled) {\r\n return of(null);\r\n }\r\n\r\n return this.gatewayUrlAwaiter.pipe(\r\n map(url => ({\r\n gatewayName: url,\r\n gatewayUrlSpecified: this.gatewayUrlSpecified,\r\n staticVersion: this.staticVersion\r\n }))\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Called when the forwarded services counterpart wants to get data from the parent\r\n * @param from The RpcRelationshipType that this request is from\r\n * @param name The name of the method to forward to\r\n * @param args The arguments of the method\r\n * @returns an observable for the result of the method call\r\n */\r\n protected onForwardExecute(from: RpcRelationshipType, name: string): Observable<any> {\r\n // gatewayConnection does not allow any method calls at this time\r\n return this.nameNotFound(name);\r\n }\r\n\r\n /**\r\n * Called when the forwarded services counterpart sends a notify message\r\n * @param from The RpcRelationshipType that this request is from\r\n * @param name The name of the property to change\r\n * @param value The new value of the property\r\n * @returns an observable that completes when the property has been changed.\r\n */\r\n protected onForwardNotify(from: RpcRelationshipType, name: string): Observable<void> {\r\n if (from === RpcRelationshipType.Child && name === GatewayConnection.rpcCommands.forbiddenReceived) {\r\n // Deprecated noop version 1.1100.0 at 10/1/2020. Using ErrorMonitor.\r\n return of(null);\r\n }\r\n // gatewayConnection does not allow any other notifications at this time\r\n return this.nameNotFound(name);\r\n }\r\n}\r\n"]}
|
|
@@ -3,6 +3,18 @@ import { AppContext } from '../data/app-context';
|
|
|
3
3
|
import { PowerShellCommand } from '../data/powershell';
|
|
4
4
|
import { RpcNotification } from '../rpc/notification/rpc-notification-model';
|
|
5
5
|
import { IContentUpdateOverrideValues, IPageActionOverrideValues, IPageViewOverrideValues, LighthousePerformanceMetrics, PowershellDetails, SmePerformanceData, TelemetryEventStates } from './sme-web-telemetry-models';
|
|
6
|
+
export interface TelemetryTransportListener {
|
|
7
|
+
eventsSent: (events: {
|
|
8
|
+
baseData?: {
|
|
9
|
+
content?: string;
|
|
10
|
+
};
|
|
11
|
+
}[]) => void;
|
|
12
|
+
eventsDiscarded: (events: {
|
|
13
|
+
baseData?: {
|
|
14
|
+
content?: string;
|
|
15
|
+
};
|
|
16
|
+
}[], reason: number) => void;
|
|
17
|
+
}
|
|
6
18
|
export declare class SmeWebTelemetry {
|
|
7
19
|
/**
|
|
8
20
|
* The source name to use when logging about this service.
|
|
@@ -79,9 +91,13 @@ export declare class SmeWebTelemetry {
|
|
|
79
91
|
* @param overrideValues Various values to override within default Web Telemetry page action fields, see Web Telemetry documentation.
|
|
80
92
|
* @param properties Extra properties in an index signature. These are placed under the data field in partC data.
|
|
81
93
|
*/
|
|
82
|
-
static traceAction(element: Element, overrideValues?: IPageActionOverrideValues, properties?: {
|
|
94
|
+
static traceAction(element: Element | null, overrideValues?: IPageActionOverrideValues, properties?: {
|
|
83
95
|
[name: string]: any;
|
|
84
96
|
}): void;
|
|
97
|
+
/** Subscribe to SDK transport notifications; returns an unsubscribe callback. */
|
|
98
|
+
static subscribeToTransport(listener: TelemetryTransportListener): () => void;
|
|
99
|
+
/** Request an asynchronous SDK flush without implying delivery confirmation. */
|
|
100
|
+
static flush(): void;
|
|
85
101
|
/**
|
|
86
102
|
* Send a Page-View event through Web Telemetry.
|
|
87
103
|
* @param overrideValues Various values to override within default Web Telemetry page view fields, see Web Telemetry documentation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sme-web-telemetry.d.ts","sourceRoot":"","sources":["../../src/diagnostics/sme-web-telemetry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,UAAU,EAAM,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAI7E,OAAO,EAEH,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EAEvB,4BAA4B,EAC5B,iBAAiB,EAEjB,kBAAkB,EAIlB,oBAAoB,EAEvB,MAAM,4BAA4B,CAAC;AAQpC,qBAAa,eAAe;IACxB;;OAEG;IACH,OAAO,CAAC,MAAM,KAAK,aAAa,GAE/B;IACD;;OAEG;IACH,OAAO,CAAC,MAAM,KAAK,YAAY,GAE9B;IAED,OAAO,CAAC,MAAM,KAAK,eAAe,GAEjC;IAED,OAAO,CAAC,MAAM,CAAC,YAAY,CAA+C;IAC1E,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAQ;IAEvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAU;IACjC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2C;IACzE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAQ;IAG7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmB;IAChD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IACtC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;IAElC,WAAkB,YAAY,YAE7B;IAOD,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAgF;IAE5H;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAAM;IAEnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAa/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAwChC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA0B3B;;;OAGG;WACW,iBAAiB,CAAC,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;IAc7E;;;OAGG;WACW,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;IAuD/D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAOjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAmHnC;;;;;OAKG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,yBAAyB,EAAE,UAAU,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"sme-web-telemetry.d.ts","sourceRoot":"","sources":["../../src/diagnostics/sme-web-telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -370,6 +370,22 @@ export class SmeWebTelemetry {
|
|
|
370
370
|
}
|
|
371
371
|
this.telemetryHandler.capturePageAction(element, overrideValues, properties);
|
|
372
372
|
}
|
|
373
|
+
/** Subscribe to SDK transport notifications; returns an unsubscribe callback. */
|
|
374
|
+
static subscribeToTransport(listener) {
|
|
375
|
+
if (!this.telemetryHandler) {
|
|
376
|
+
throw new Error('Telemetry transport is unavailable.');
|
|
377
|
+
}
|
|
378
|
+
const manager = this.telemetryHandler.getNotifyMgr();
|
|
379
|
+
manager.addNotificationListener(listener);
|
|
380
|
+
return () => manager.removeNotificationListener(listener);
|
|
381
|
+
}
|
|
382
|
+
/** Request an asynchronous SDK flush without implying delivery confirmation. */
|
|
383
|
+
static flush() {
|
|
384
|
+
if (!this.telemetryHandler) {
|
|
385
|
+
throw new Error('Telemetry transport is unavailable.');
|
|
386
|
+
}
|
|
387
|
+
this.telemetryHandler.flush(true);
|
|
388
|
+
}
|
|
373
389
|
/**
|
|
374
390
|
* Send a Page-View event through Web Telemetry.
|
|
375
391
|
* @param overrideValues Various values to override within default Web Telemetry page view fields, see Web Telemetry documentation.
|