@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":"sme-web-telemetry.js","sourceRoot":"","sources":["../../src/diagnostics/sme-web-telemetry.ts"],"names":[],"mappings":"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","sourcesContent":["// 1DS documentation found at\r\n// https://eng.ms/docs/products/geneva/collect/instrument/1ds/javascriptsdk/getting-started\r\n\r\nimport { EMPTY, Observable, of } from 'rxjs';\r\nimport { catchError, delay, retry, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { AppContext } from '../data/app-context';\r\nimport { Cookie } from '../data/cookie';\r\nimport { PowerShellCommand } from '../data/powershell';\r\nimport { NotificationState } from '../notification/notification-state';\r\nimport { RpcNotification } from '../rpc/notification/rpc-notification-model';\r\nimport { GatewayInstallationType, GatewayInventory, GatewayMode, GatewayOperationalMode } from '../shared/gateway-inventory/gateway-inventory';\r\nimport { GatewayInventoryCache } from '../shared/gateway-inventory/gateway-inventory-cache';\r\nimport { Logging } from './logging';\r\nimport {\r\n CompleteSmePerformanceData,\r\n IContentUpdateOverrideValues,\r\n IPageActionOverrideValues,\r\n IPageViewOverrideValues,\r\n IPageViewPerformanceOverrideValues,\r\n LighthousePerformanceMetrics,\r\n PowershellDetails,\r\n SmeMetaLabels,\r\n SmePerformanceData,\r\n TelemetryActionTypes,\r\n TelemetryEventBody,\r\n TelemetryEvents,\r\n TelemetryEventStates,\r\n TelemetryEventTypes\r\n} from './sme-web-telemetry-models';\r\n\r\n// placeholder for the oneDS type, introduced when we load script.\r\ndeclare let oneDS: any;\r\n\r\n//placeholder for WCPConsent type, introduced when we load script.\r\ndeclare let WcpConsent: any;\r\n\r\nexport class SmeWebTelemetry {\r\n /**\r\n * The source name to use when logging about this service.\r\n */\r\n private static get logSourceName() {\r\n return 'WebTelemetry';\r\n }\r\n /**\r\n * Gets the name of current shell or module.\r\n */\r\n private static get nameOfModule(): string {\r\n return MsftSme.self().Init.moduleName ? MsftSme.self().Init.moduleName : SmeWebTelemetry.testMode;\r\n }\r\n\r\n private static get backlogHasSpace(): boolean {\r\n return this.eventBacklog.length < 50;\r\n }\r\n\r\n private static eventBacklog: [TelemetryEvents, TelemetryEventBody][] = [];\r\n private static telemetryHandler = null;\r\n\r\n private static testMode = 'test';\r\n private static rpcInitAlready = false;\r\n private static metaTags: { [tag: string]: string } = {};\r\n private static powershellIdMap: { [id: string]: PowerShellCommand } = {};\r\n private static isProd = true;\r\n\r\n // Cookie banner ID is used as a placeholder for the WCP consent banner - on WCP init it is replaced with banner.\r\n private static cookieBannerId = 'cookie-banner';\r\n private static telemetryConfig = null;\r\n private static siteConsent = null;\r\n\r\n public static get isProduction() {\r\n return this.isProd;\r\n }\r\n\r\n // AppId/Tenant Token provided by MarTech support\r\n // AppId is not used, but it will be mapped to later in the pipeline\r\n // Full keys are JS:WindowsAdminCenter and o:f78e2b7c9ae4461399c360160d82dcfc for\r\n // AppId/Tenant token respectively. In Cosmos, only the initial portion of the tenant token is used.\r\n // private static windowsAdminCenterAppId = 'WindowsAdminCenter';\r\n private static windowsAdminCenterTenantToken = 'f78e2b7c9ae4461399c360160d82dcfc-9371288c-a1b9-4fdc-a196-0340fc5f9880-7071';\r\n\r\n /**\r\n * Map of module versions used in this instance of web telemetry - memoize values here.\r\n */\r\n private static moduleVersions = {};\r\n\r\n /**\r\n * Get the list of module versions for use in telemetry where the event is sent via RPC to shell\r\n * from the actual module the event is called in.\r\n * @returns list of module mappings to versions\r\n */\r\n private static getModuleVersion(moduleName: string): string {\r\n if (this.moduleVersions[moduleName]) {\r\n return this.moduleVersions[moduleName];\r\n }\r\n const environment = MsftSme.self().Environment;\r\n const moduleObject = environment.modules.find(module => {\r\n return module.name === moduleName;\r\n });\r\n const version = moduleObject ? moduleObject.version : 'N/A';\r\n this.moduleVersions[moduleName] = version;\r\n return version;\r\n }\r\n\r\n /**\r\n * Send any manual events that were triggered prior to telemetry initializing.\r\n */\r\n private static sendBacklogEvents(): void {\r\n this.eventBacklog.forEach(([type, body]: [TelemetryEvents, TelemetryEventBody]) => {\r\n switch (type) {\r\n case TelemetryEvents.Performance: {\r\n const overrideVals = body.overrideValues as IContentUpdateOverrideValues;\r\n this.tracePerformanceData(body.performance, overrideVals ? overrideVals.content : null);\r\n break;\r\n }\r\n case TelemetryEvents.Lighthouse: {\r\n this.traceLighthouseData(body.lighthouse, body.overrideValues as IContentUpdateOverrideValues);\r\n break;\r\n }\r\n case TelemetryEvents.ModuleOpenPerformance:\r\n this.traceModuleOpenPerformance(body.performance);\r\n break;\r\n case TelemetryEvents.Action: {\r\n const overrideVals = body.overrideValues as IPageActionOverrideValues;\r\n this.traceAction(body.element, overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.ContentUpdate: {\r\n const overrideVals = body.overrideValues as IContentUpdateOverrideValues;\r\n this.traceContentUpdate(overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.PageView: {\r\n const overrideVals = body.overrideValues as IPageViewOverrideValues;\r\n this.tracePageView(overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.Notification:\r\n this.traceClientNotification(body.notification);\r\n break;\r\n default:\r\n return;\r\n }\r\n });\r\n this.eventBacklog = [];\r\n }\r\n\r\n /**\r\n * Helper to combine setting metaTags, initialize handler, and\r\n * send any telemetry events that occurred prior to initialization\r\n */\r\n private static configureAndInitTelemetry(): void {\r\n this.setMetaInDom();\r\n this.initTelemetryHandler().subscribe({\r\n next: () => {\r\n this.sendBacklogEvents();\r\n },\r\n error: (error: Error) => {\r\n Logging.logError(this.logSourceName, '{0}: {1}'.format(error.name, error.message));\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Helper function to set metaTags in DOM\r\n */\r\n private static setMetaInDom(): void {\r\n // create an indexed table of current meta data.\r\n const metaList = document.head.getElementsByTagName('meta');\r\n const metaIndex = {};\r\n for (let i = 0; i < metaList.length; i++) {\r\n const metaName = metaList[i].getAttribute('name');\r\n if (metaName && metaName.indexOf('awa-') === 0) {\r\n metaIndex[metaName] = metaList[i];\r\n }\r\n }\r\n\r\n // set or replace meta tags in the DOM\r\n for (const [key, value] of Object.entries(this.metaTags)) {\r\n const metaName = `awa-${key}`;\r\n const oldMeta = metaIndex[metaName];\r\n if (oldMeta) {\r\n document.head.removeChild(oldMeta);\r\n }\r\n\r\n const newMeta = document.createElement('meta');\r\n newMeta.name = metaName;\r\n newMeta.content = value;\r\n document.head.appendChild(newMeta);\r\n }\r\n }\r\n\r\n /**\r\n * Update Meta-tags and/or initialize telemetry, depending on whether rpc message came before or after app-context init.\r\n * @param newMetaTags Primarily contains WAC-Session-Id & extension-version, received from RPC message\r\n */\r\n public static updateFromRpcInit(newMetaTags: { [tag: string]: string }): void {\r\n // All the fields will be updated at the same time here, checking one (wac-session-id is the main one) is enough for the check\r\n const shouldInitHere = SmeMetaLabels.SessionId in this.metaTags && this.metaTags[SmeMetaLabels.SessionId] === 'N/A';\r\n\r\n this.rpcInitAlready = true;\r\n MsftSme.deepAssign(this.metaTags, newMetaTags);\r\n\r\n // If metaTags contains session ID but it's N/A (ie initial init was called already), call the init. If not,\r\n // just wait for normal init to be called in app-context. Depending on timing RPC update can happen before or after.\r\n if (shouldInitHere) {\r\n this.configureAndInitTelemetry();\r\n }\r\n }\r\n\r\n /**\r\n * Load 1DS if does not already exist.\r\n * @param appContext App context currently being used\r\n */\r\n public static init(appContext: AppContext): Observable<boolean> {\r\n if (this.telemetryHandler) {\r\n return EMPTY;\r\n }\r\n\r\n // Set fields we don't need gateway for, if connection to gateway fails, initialize telemetry with limited fields\r\n this.metaTags[SmeMetaLabels.Language] = MsftSme.self().Resources.localeId;\r\n this.metaTags[SmeMetaLabels.Market] = MsftSme.self().Resources.localeId;\r\n this.metaTags[SmeMetaLabels.IsProduction] = MsftSme.self().Init.isProduction.toString();\r\n this.metaTags[SmeMetaLabels.Environment] = MsftSme.self().Init.isProduction.toString();\r\n this.metaTags[SmeMetaLabels.ExtensionVersion] = MsftSme.self().Environment.version;\r\n this.metaTags[SmeMetaLabels.SessionId] = MsftSme.sessionId();\r\n // Instantiate these initially so they aren't empty values\r\n this.metaTags[SmeMetaLabels.InstallationType] = 'N/A';\r\n this.metaTags[SmeMetaLabels.Build] = 'N/A';\r\n this.metaTags[SmeMetaLabels.GatewayMode] = GatewayMode[MsftSme.self().Init.mode];\r\n this.metaTags[SmeMetaLabels.GatewayOperationalMode] = 'N/A';\r\n this.metaTags[SmeMetaLabels.ProductMode] = 'N/A';\r\n this.isProd = MsftSme.self().Init.isProduction;\r\n\r\n const gatewayInventoryCache = new GatewayInventoryCache(appContext);\r\n return gatewayInventoryCache.query({}).pipe(\r\n retry({\r\n count: 2,\r\n delay: error =>\r\n error.pipe(\r\n delay(1000),\r\n tap(() => Logging.logDebug(this.logSourceName, 'Attempting to query gateway again...'))\r\n )\r\n }),\r\n take(1),\r\n tap((status: any) => {\r\n const inventory: GatewayInventory = status.instance;\r\n this.isProd = this.isProd && inventory.gatewayOperationalMode === GatewayOperationalMode.Production;\r\n\r\n this.metaTags[SmeMetaLabels.InstallationType] = inventory.installationType || GatewayInstallationType.Standard;\r\n this.metaTags[SmeMetaLabels.Build] = inventory.gatewayVersion;\r\n this.metaTags[SmeMetaLabels.GatewayMode] = GatewayMode[inventory.mode];\r\n this.metaTags[SmeMetaLabels.GatewayOperationalMode] = GatewayOperationalMode[inventory.gatewayOperationalMode];\r\n this.metaTags[SmeMetaLabels.ProductMode] = inventory.productMode || '';\r\n this.metaTags[SmeMetaLabels.IsProduction] = this.isProd.toString();\r\n this.metaTags[SmeMetaLabels.Environment] = this.isProd.toString();\r\n // If not shell, handle in RPC handler, because some fields will init after 1DS inits\r\n // If rpc handler has happened already, go ahead with this\r\n if (MsftSme.isShell() || this.rpcInitAlready) {\r\n this.configureAndInitTelemetry();\r\n }\r\n }),\r\n catchError(error => {\r\n Logging.logWarning(this.logSourceName, 'Telemetry failed to initialized with error {}'.format(error.message));\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Helper function to create the cookie banner div\r\n */\r\n private static createCookieBanner(): void {\r\n const cookieBannerDiv = document.createElement('div');\r\n cookieBannerDiv.setAttribute('id', this.cookieBannerId);\r\n cookieBannerDiv.setAttribute('classes', 'sme-layout-relative sme-position-flex-auto');\r\n document.body.appendChild(cookieBannerDiv);\r\n }\r\n\r\n /**\r\n * Initialize WCP Consent\r\n * Due to the way we are importing WCP consent, this function is called assuming the WCP script is already loaded. If not it will fail\r\n */\r\n private static initWcpConsent(): void {\r\n this.createCookieBanner();\r\n WcpConsent.init(\r\n MsftSme.self().Resources.localeId,\r\n this.cookieBannerId,\r\n (err, _siteConsent) => {\r\n if (err !== undefined) {\r\n Logging.logError(this.logSourceName, 'WCP Consent initialization error: {0}'.format(err));\r\n return err;\r\n } else {\r\n this.siteConsent = _siteConsent;\r\n }\r\n },\r\n null,\r\n MsftSme.self().Resources.theme,\r\n 'd2NwLWNvbnNlbnQtbGli'\r\n );\r\n }\r\n\r\n /**\r\n * Set config and initialize telemetry library handler\r\n */\r\n private static initTelemetryHandler(): Observable<any> {\r\n const observable = new Observable(observer => {\r\n const script: HTMLScriptElement = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = MsftSme.self().Environment.configuration.telemetry.sourceLibraryCdnLink;\r\n script.integrity = MsftSme.self().Environment.configuration.telemetry.sourceLibraryCdnIntegrityHash;\r\n script.crossOrigin = 'anonymous';\r\n script.async = true;\r\n\r\n script.onload = () => {\r\n this.telemetryHandler = new oneDS.ApplicationInsights();\r\n const entryType: string = MsftSme.self().Init.entryPointType;\r\n const entryName: string = MsftSme.self().Init.entryPointName;\r\n\r\n this.telemetryConfig = {\r\n instrumentationKey: this.windowsAdminCenterTenantToken,\r\n // post channel configuration\r\n channelConfiguration: {\r\n eventsLimitInMem: 50\r\n },\r\n // Properties Plugin configuration\r\n propertyConfiguration: {\r\n userAgent: 'Windows Admin Center',\r\n sessionAsGuid: true,\r\n gpcDataSharingOptIn: true,\r\n callback: {\r\n userConsentDetails: () => {\r\n if (this.siteConsent) {\r\n return this.siteConsent.getConsent();\r\n }\r\n\r\n if (Cookie.get('MSCC')) {\r\n this.initWcpConsent();\r\n if (this.siteConsent) {\r\n return this.siteConsent.getConsent();\r\n }\r\n }\r\n\r\n // Defaults are required only, everything else false.\r\n return {\r\n Required: true,\r\n Analytics: false,\r\n SocialMedia: false,\r\n Advertising: false\r\n };\r\n }\r\n }\r\n },\r\n // Web Analytics Plugin configuration\r\n webAnalyticsConfiguration: {\r\n autoCapture: {\r\n scroll: false,\r\n pageView: true,\r\n onLoad: false,\r\n onUnload: true,\r\n click: true,\r\n resize: true,\r\n jsError: true,\r\n lineage: true\r\n },\r\n coreData: {\r\n pageName: this.nameOfModule,\r\n // to prevent personal data from being sent in URI\r\n referrerUri: 'windows.admin.center',\r\n requestUri: 'windows.admin.center',\r\n pageTags: {\r\n entryPointName: entryName || '',\r\n entryPointType: entryType || ''\r\n }\r\n },\r\n useShortNameForContentBlob: false\r\n }\r\n };\r\n this.telemetryHandler.initialize(this.telemetryConfig, []);\r\n this.telemetryHandler.addTelemetryInitializer((event: any) => {\r\n // If we send an event that originates from a different module (eg notifications in shell)\r\n // change the extension version to match module\r\n if (event.baseData.name !== this.nameOfModule) {\r\n event.baseData.properties.pageTags.metaTags[SmeMetaLabels.ExtensionVersion] = this.getModuleVersion(event.baseData.name);\r\n }\r\n event.baseData.properties.pageTags.screenResolution = {\r\n availableHeight: window.screen.availHeight,\r\n availableWidth: window.screen.availWidth\r\n };\r\n event.baseData.properties.pageTags.frameDetails = { height: window.innerHeight, width: window.innerWidth };\r\n });\r\n\r\n observer.next(undefined);\r\n observer.complete();\r\n };\r\n script.onerror = () => {\r\n script.remove();\r\n observer.error(new Error('1DS Script could not be loaded'));\r\n };\r\n\r\n const cookieScript = document.createElement('script');\r\n cookieScript.type = 'text/javascript';\r\n //TODO add WCP consent to library as npm package instead, but will require more in depth work so leave til after.\r\n cookieScript.src = 'https://wcpstatic.microsoft.com/mscc/lib/v2/wcp-consent.js';\r\n cookieScript.onload = () => {\r\n if (!MsftSme.isShell()) {\r\n // Only init WCP consent if in shell, because extension init will happen on cookie detection instead.\r\n return;\r\n }\r\n this.initWcpConsent();\r\n };\r\n cookieScript.onerror = () => {\r\n Logging.logError(this.logSourceName, 'WCP Consent script could not be loaded');\r\n };\r\n document.body.appendChild(cookieScript);\r\n document.body.appendChild(script);\r\n }).pipe(shareReplay(1));\r\n return observable;\r\n }\r\n\r\n /**\r\n * Send a Page-Action event through Web Telemetry.\r\n * @param element Element action is being executed on\r\n * @param overrideValues Various values to override within default Web Telemetry page action fields, see Web Telemetry documentation.\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static traceAction(element: Element, overrideValues?: IPageActionOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Action,\r\n {\r\n element: element,\r\n overrideValues: overrideValues,\r\n customProperties: properties\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n if (!overrideValues.actionType) {\r\n overrideValues.actionType = TelemetryActionTypes.Automatic;\r\n }\r\n this.telemetryHandler.capturePageAction(element, overrideValues, properties);\r\n }\r\n\r\n /**\r\n * Send a Page-View event through Web Telemetry.\r\n * @param overrideValues Various values to override within default Web Telemetry page view fields, see Web Telemetry documentation.\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static tracePageView(overrideValues: IPageViewOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.PageView, { overrideValues: overrideValues }]);\r\n }\r\n return;\r\n }\r\n this.telemetryHandler.capturePageView(overrideValues, properties);\r\n }\r\n\r\n /**\r\n * Send a Content-Update event through Web Telemetry.\r\n * @param overrideValues Various values to override within default Web Telemetry content update fields, see Web Telemetry documentation\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static traceContentUpdate(overrideValues: IContentUpdateOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.ContentUpdate, { overrideValues: overrideValues, customProperties: properties }]);\r\n }\r\n return;\r\n }\r\n if (!overrideValues.actionType) {\r\n overrideValues.actionType = TelemetryActionTypes.Automatic;\r\n }\r\n this.telemetryHandler.captureContentUpdate(overrideValues, properties);\r\n }\r\n\r\n /**\r\n * Add standard fields onto performance data\r\n * @param data SmePerformanceData to be sent\r\n */\r\n private static fillStandardPerformanceData(data: SmePerformanceData): CompleteSmePerformanceData {\r\n const fullDataPayload: CompleteSmePerformanceData = {\r\n extension: MsftSme.self().Environment.name,\r\n entryPointName: MsftSme.self().Init.entryPointName || '',\r\n url: window.location.pathname,\r\n moduleOpened: false,\r\n totalLoadTime: '',\r\n label: data.label,\r\n sme: {},\r\n resources: {},\r\n navigation: {}\r\n };\r\n // Truncate all decimals to 5 places to avoid cosmos stream from redacting any\r\n // Convert PerformanceNavigationTiming to JSON so we can manipulate it via Object.() methods.\r\n fullDataPayload.totalLoadTime = data.totalLoadTime.toFixed(5);\r\n const timingData = {\r\n sme: data.sme || {},\r\n resources: data.resources || {},\r\n navigation: data.navigation ? data.navigation.toJSON() : {}\r\n };\r\n\r\n for (const [sourceKey, sourceVal] of Object.entries(timingData)) {\r\n for (const [resourceKey, resourceVal] of Object.entries(sourceVal)) {\r\n // navigation has some string-string maps, ignore the string values.\r\n // Convert all numbers back into numbers to preserve types in cosmos stream\r\n if (!MsftSme.isEmpty(sourceVal) && typeof resourceVal === 'number') {\r\n fullDataPayload[sourceKey][resourceKey] = parseFloat(resourceVal.toFixed(7));\r\n }\r\n }\r\n }\r\n\r\n // Set this here if need - often the appLoad times happen before Init is populated,\r\n // so check again to make sure if its actually empty.\r\n if (fullDataPayload.navigation) {\r\n fullDataPayload.entryPointName = MsftSme.self().Init.entryPointName || '';\r\n }\r\n return fullDataPayload;\r\n }\r\n\r\n /**\r\n * Send a content update event. This content update contains an updated sme-specific timings structure with relevant\r\n * performance data under the data field. The original timings data is also contained under the navigation field.\r\n * The structure of the event is such:\r\n * data : { ...,\r\n * \"timings\": {\r\n * \"extension\": [extension-name],\r\n * \"entryPointName\": [entryPointName],\r\n * \"url\": [url-endpoint],\r\n * \"moduleOpened\" : [isModuleOpened],\r\n * \"sme\": {\r\n * [sme-mark] : [mark-timestamps],\r\n * ...\r\n * },\r\n * \"resources\": {\r\n * [resource-endpoint] : [resource-load-complete-timestamps],\r\n * ...\r\n * },\r\n * \"navigation\": {\r\n * [performance-navigation-event]: [navigation-event-timestamps]\r\n * }\r\n * }, ...\r\n * }\r\n * Certain fields are set within this class instead of outside modules since they will always be the same.\r\n * @param dataPayload performance data to be sent through telemetry.\r\n * @param contentOverrides any content overriding behavior wanted in the performance event\r\n */\r\n public static tracePerformanceData(dataPayload: SmePerformanceData, contentOverrides?: any): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Performance,\r\n {\r\n performance: dataPayload,\r\n overrideValues: { content: contentOverrides } as IContentUpdateOverrideValues\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n const data = SmeWebTelemetry.fillStandardPerformanceData(dataPayload);\r\n\r\n // A for automatic, performance tracking is done automatically.\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n actionType: TelemetryActionTypes.Automatic,\r\n content: contentOverrides || dataPayload\r\n };\r\n\r\n const customProps = { timings: data, type: TelemetryEventTypes.Performance };\r\n this.telemetryHandler.captureContentUpdate(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * Send a content update event - this event will contain timings for lighthouse calculation in the backend\r\n * This can potentially be sent a couple times with overlapping data for one page load event, depending\r\n * on when the TTI is calculated. In this scenario, it will be handled on the backend.\r\n * @param dataPayload Lighthouse data\r\n * @param contentOverrides any content overriding behavior wanted in the performance event\r\n */\r\n public static traceLighthouseData(dataPayload: LighthousePerformanceMetrics, contentOverrides?: any, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Lighthouse,\r\n {\r\n lighthouse: dataPayload,\r\n overrideValues: { content: contentOverrides } as IContentUpdateOverrideValues\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n actionType: TelemetryActionTypes.Automatic,\r\n content: contentOverrides || dataPayload\r\n };\r\n\r\n const customProps = { timings: dataPayload, type: TelemetryEventTypes.Lighthouse };\r\n MsftSme.deepAssign(customProps, properties);\r\n this.telemetryHandler.captureContentUpdate(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * See tracePerformanceData comments, only difference is moduleOpened is true and the contentOverrides\r\n * @param dataPayload performance data to be sent through telemetry.\r\n */\r\n public static traceModuleOpenPerformance(dataPayload: SmePerformanceData): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.ModuleOpenPerformance, { performance: dataPayload }]);\r\n }\r\n return;\r\n }\r\n const data = SmeWebTelemetry.fillStandardPerformanceData(dataPayload);\r\n data.moduleOpened = true;\r\n\r\n const overrideValues: IPageViewPerformanceOverrideValues = {\r\n customTiming: JSON.stringify(data)\r\n };\r\n const customProps = { timings: data, type: TelemetryEventTypes.Performance };\r\n\r\n this.telemetryHandler.capturePageViewPerformance(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for notification\r\n * @param clientNotification Client notification to send event for\r\n */\r\n public static traceClientNotification(clientNotification: RpcNotification): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.Notification, { notification: clientNotification }]);\r\n }\r\n return;\r\n }\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n content: {\r\n message: clientNotification.message,\r\n title: clientNotification.title,\r\n state: NotificationState[clientNotification.state],\r\n contentType: TelemetryEventTypes.Notification\r\n },\r\n // If source is not shell, replace pagename with proper source.\r\n pageName: clientNotification.sourceName ? clientNotification.sourceName : this.nameOfModule\r\n };\r\n this.traceContentUpdate(overrideValues, { type: TelemetryEventTypes.Notification });\r\n }\r\n\r\n /**\r\n * Helper function to assign a command to an id in a multi-step workitem process\r\n * @param id The ID of the powershell session to assign\r\n * @param command The command to assign to the session ID\r\n */\r\n public static addPowershellId(id: string, command: PowerShellCommand) {\r\n this.powershellIdMap[id] = command;\r\n }\r\n\r\n /**\r\n * Helper function to assign a command to an id in a multi-step workitem process\r\n * @param id The ID of the powershell session to assign\r\n * @param command The command to assign to the session ID\r\n */\r\n public static removePowershellId(id: string) {\r\n delete this.powershellIdMap[id];\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for powershell event. In the case where command is not available,\r\n * use an ID (usually ps session ID, which may correlate with work item id)\r\n * @param command Powershell Command\r\n * @param state State of powershell event (start/end/etc)\r\n * @param details Optional details object - see interface for more detail.\r\n */\r\n public static tracePowershellEvent(command: PowerShellCommand, state: TelemetryEventStates, details?: PowershellDetails): void {\r\n const id = details ? details.id : null;\r\n const response = details ? details.response : null;\r\n const psCommand = command ? command : this.powershellIdMap[id];\r\n\r\n // Ignore any events that are either null or un-named PS commands.\r\n if ((psCommand && !psCommand.command) || !psCommand) {\r\n return;\r\n }\r\n\r\n // If state is not started and id is provided, remove the ID from the map to save space.\r\n if (state !== TelemetryEventStates.Started && id) {\r\n this.removePowershellId(id);\r\n }\r\n\r\n const psContent = {\r\n psCommand: psCommand.command,\r\n state: state,\r\n psModule: psCommand.module,\r\n otherData: details && details.otherData ? details.otherData : {}\r\n };\r\n const sourceName = this.nameOfModule;\r\n if (response && response.error) {\r\n psContent['errorCodes'] = [response.error.code];\r\n } else if (response && response.errors) {\r\n psContent['errorCodes'] = response.errors.map(e => e.errorType);\r\n psContent.otherData['hResult'] = response.errors.map(e => e.detailRecord && e.detailRecord.hResult);\r\n }\r\n SmeWebTelemetry.traceAction(null, { content: psContent, pageName: sourceName }, { type: TelemetryEventTypes.Powershell });\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for powershell batch event. Batch doesn't deal with work items, so\r\n * we can ignore the ID and sourceName handling that the above function handles.\r\n * @param commands Powershell Commands List in properties stringified form. PS Batch events places PS command into a\r\n * '{properties: PSCommand }' string structure.\r\n * @param state State of powershell event (start/end/etc)\r\n * @param details Optional details object contains various optional fields in powershell event.\r\n * @returns\r\n */\r\n public static tracePowershellBatchEvent(commands: string[], state: TelemetryEventStates, details?: PowershellDetails) {\r\n // check that at least one command is valid\r\n if (!commands || commands.length === 0) {\r\n return;\r\n }\r\n\r\n let parsedCommands: string[] = [];\r\n parsedCommands = commands.reduce((commandList, currentCommand) => {\r\n if (currentCommand) {\r\n const parsedCommand = JSON.parse(currentCommand).properties.command;\r\n if (parsedCommand) {\r\n commandList.push(parsedCommand);\r\n }\r\n return commandList;\r\n }\r\n }, parsedCommands);\r\n\r\n const response = details ? details.response : null;\r\n\r\n const psContent = { psCommands: parsedCommands, state: state, otherData: details && details.otherData ? details.otherData : {} };\r\n\r\n if (response && response.error) {\r\n psContent['errorCodes'] = [response.error.code];\r\n } else if (response && response.errors) {\r\n psContent['errorCodes'] = response.errors.map(e => e.errorType);\r\n psContent.otherData['hResult'] = response.errors.map(e => e.detailRecord && e.detailRecord.hResult);\r\n }\r\n SmeWebTelemetry.traceAction(null, { content: psContent }, { type: TelemetryEventTypes.Powershell });\r\n }\r\n\r\n /**\r\n * Helper to redactGenericModel function\r\n * Determines whether field should be redacted according to fields provided for redacting and exceptions\r\n * @param key The field in question\r\n * @param keywordsToRedact List of string inclusions to redact - if the field contains any part of this, it will be redacted\r\n * @param exceptions Set of exceptions to the above - if the field matches an exception, it will not be redacted\r\n * @returns True if field should be redacted, false otherwise\r\n */\r\n private static fieldShouldBeRedacted(key: string, keywordsToRedact: string[], exceptions: Set<string>): boolean {\r\n if (exceptions.has(key)) {\r\n return false;\r\n }\r\n\r\n for (const field of keywordsToRedact) {\r\n if (key.toLowerCase().includes(field.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Telemetry utility function to redact a model object. This function will traverse the model in BFS fashion and redact any fields\r\n * that contain any string in the keywordsToRedact array, unless the field is an exception (in the exceptions array).\r\n * This function will not affect keys in StringMaps or Maps - if names exist there, they should be handled separately.\r\n *\r\n * @param model Model to redact\r\n * @param keywordsToRedact List of string inclusions to redact\r\n * @param fieldExceptions List of exceptions to the above\r\n * @returns Redacted model\r\n */\r\n public static redactGenericModel(model: any, keywordsToRedact: string[], fieldExceptions: string[]): any {\r\n const redacted_model: any = JSON.parse(JSON.stringify(model));\r\n const remainingObjects = [redacted_model];\r\n const exceptionSet = new Set(fieldExceptions);\r\n\r\n while (remainingObjects.length > 0) {\r\n const currentTree = remainingObjects[0];\r\n\r\n Object.keys(currentTree).forEach(key => {\r\n if (MsftSme.isPlainObject(currentTree[key])) {\r\n remainingObjects.push(currentTree[key]);\r\n } else if (Array.isArray(currentTree[key]) && currentTree[key].some((field: any) => MsftSme.isPlainObject(field))) {\r\n // If array intermixes objects and non-objects, we will push the objects into the queue and ignore the non-objects.\r\n // The non-objects will avoid redaction, but this should never be a concern in practice.\r\n remainingObjects.push(currentTree[key].filter((field: any) => MsftSme.isPlainObject(field)));\r\n } else if (this.fieldShouldBeRedacted(key, keywordsToRedact, exceptionSet)) {\r\n if (Array.isArray(currentTree[key])) {\r\n for (let i = 0; i < currentTree[key].length; ++i) {\r\n currentTree[key][i] = '***';\r\n }\r\n } else {\r\n currentTree[key] = '***';\r\n }\r\n }\r\n });\r\n remainingObjects.shift();\r\n }\r\n return redacted_model;\r\n }\r\n\r\n public static manageCookies() {\r\n if (this.siteConsent) {\r\n this.siteConsent.manageConsent();\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"sme-web-telemetry.js","sourceRoot":"","sources":["../../src/diagnostics/sme-web-telemetry.ts"],"names":[],"mappings":"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","sourcesContent":["// 1DS documentation found at\r\n// https://eng.ms/docs/products/geneva/collect/instrument/1ds/javascriptsdk/getting-started\r\n\r\nimport { EMPTY, Observable, of } from 'rxjs';\r\nimport { catchError, delay, retry, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { AppContext } from '../data/app-context';\r\nimport { Cookie } from '../data/cookie';\r\nimport { PowerShellCommand } from '../data/powershell';\r\nimport { NotificationState } from '../notification/notification-state';\r\nimport { RpcNotification } from '../rpc/notification/rpc-notification-model';\r\nimport { GatewayInstallationType, GatewayInventory, GatewayMode, GatewayOperationalMode } from '../shared/gateway-inventory/gateway-inventory';\r\nimport { GatewayInventoryCache } from '../shared/gateway-inventory/gateway-inventory-cache';\r\nimport { Logging } from './logging';\r\nimport {\r\n CompleteSmePerformanceData,\r\n IContentUpdateOverrideValues,\r\n IPageActionOverrideValues,\r\n IPageViewOverrideValues,\r\n IPageViewPerformanceOverrideValues,\r\n LighthousePerformanceMetrics,\r\n PowershellDetails,\r\n SmeMetaLabels,\r\n SmePerformanceData,\r\n TelemetryActionTypes,\r\n TelemetryEventBody,\r\n TelemetryEvents,\r\n TelemetryEventStates,\r\n TelemetryEventTypes\r\n} from './sme-web-telemetry-models';\r\n\r\n// placeholder for the oneDS type, introduced when we load script.\r\ndeclare let oneDS: any;\r\n\r\n//placeholder for WCPConsent type, introduced when we load script.\r\ndeclare let WcpConsent: any;\r\n\r\nexport interface TelemetryTransportListener {\r\n eventsSent: (events: { baseData?: { content?: string } }[]) => void;\r\n eventsDiscarded: (events: { baseData?: { content?: string } }[], reason: number) => void;\r\n}\r\n\r\nexport class SmeWebTelemetry {\r\n /**\r\n * The source name to use when logging about this service.\r\n */\r\n private static get logSourceName() {\r\n return 'WebTelemetry';\r\n }\r\n /**\r\n * Gets the name of current shell or module.\r\n */\r\n private static get nameOfModule(): string {\r\n return MsftSme.self().Init.moduleName ? MsftSme.self().Init.moduleName : SmeWebTelemetry.testMode;\r\n }\r\n\r\n private static get backlogHasSpace(): boolean {\r\n return this.eventBacklog.length < 50;\r\n }\r\n\r\n private static eventBacklog: [TelemetryEvents, TelemetryEventBody][] = [];\r\n private static telemetryHandler = null;\r\n\r\n private static testMode = 'test';\r\n private static rpcInitAlready = false;\r\n private static metaTags: { [tag: string]: string } = {};\r\n private static powershellIdMap: { [id: string]: PowerShellCommand } = {};\r\n private static isProd = true;\r\n\r\n // Cookie banner ID is used as a placeholder for the WCP consent banner - on WCP init it is replaced with banner.\r\n private static cookieBannerId = 'cookie-banner';\r\n private static telemetryConfig = null;\r\n private static siteConsent = null;\r\n\r\n public static get isProduction() {\r\n return this.isProd;\r\n }\r\n\r\n // AppId/Tenant Token provided by MarTech support\r\n // AppId is not used, but it will be mapped to later in the pipeline\r\n // Full keys are JS:WindowsAdminCenter and o:f78e2b7c9ae4461399c360160d82dcfc for\r\n // AppId/Tenant token respectively. In Cosmos, only the initial portion of the tenant token is used.\r\n // private static windowsAdminCenterAppId = 'WindowsAdminCenter';\r\n private static windowsAdminCenterTenantToken = 'f78e2b7c9ae4461399c360160d82dcfc-9371288c-a1b9-4fdc-a196-0340fc5f9880-7071';\r\n\r\n /**\r\n * Map of module versions used in this instance of web telemetry - memoize values here.\r\n */\r\n private static moduleVersions = {};\r\n\r\n /**\r\n * Get the list of module versions for use in telemetry where the event is sent via RPC to shell\r\n * from the actual module the event is called in.\r\n * @returns list of module mappings to versions\r\n */\r\n private static getModuleVersion(moduleName: string): string {\r\n if (this.moduleVersions[moduleName]) {\r\n return this.moduleVersions[moduleName];\r\n }\r\n const environment = MsftSme.self().Environment;\r\n const moduleObject = environment.modules.find(module => {\r\n return module.name === moduleName;\r\n });\r\n const version = moduleObject ? moduleObject.version : 'N/A';\r\n this.moduleVersions[moduleName] = version;\r\n return version;\r\n }\r\n\r\n /**\r\n * Send any manual events that were triggered prior to telemetry initializing.\r\n */\r\n private static sendBacklogEvents(): void {\r\n this.eventBacklog.forEach(([type, body]: [TelemetryEvents, TelemetryEventBody]) => {\r\n switch (type) {\r\n case TelemetryEvents.Performance: {\r\n const overrideVals = body.overrideValues as IContentUpdateOverrideValues;\r\n this.tracePerformanceData(body.performance, overrideVals ? overrideVals.content : null);\r\n break;\r\n }\r\n case TelemetryEvents.Lighthouse: {\r\n this.traceLighthouseData(body.lighthouse, body.overrideValues as IContentUpdateOverrideValues);\r\n break;\r\n }\r\n case TelemetryEvents.ModuleOpenPerformance:\r\n this.traceModuleOpenPerformance(body.performance);\r\n break;\r\n case TelemetryEvents.Action: {\r\n const overrideVals = body.overrideValues as IPageActionOverrideValues;\r\n this.traceAction(body.element, overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.ContentUpdate: {\r\n const overrideVals = body.overrideValues as IContentUpdateOverrideValues;\r\n this.traceContentUpdate(overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.PageView: {\r\n const overrideVals = body.overrideValues as IPageViewOverrideValues;\r\n this.tracePageView(overrideVals, body.customProperties);\r\n break;\r\n }\r\n case TelemetryEvents.Notification:\r\n this.traceClientNotification(body.notification);\r\n break;\r\n default:\r\n return;\r\n }\r\n });\r\n this.eventBacklog = [];\r\n }\r\n\r\n /**\r\n * Helper to combine setting metaTags, initialize handler, and\r\n * send any telemetry events that occurred prior to initialization\r\n */\r\n private static configureAndInitTelemetry(): void {\r\n this.setMetaInDom();\r\n this.initTelemetryHandler().subscribe({\r\n next: () => {\r\n this.sendBacklogEvents();\r\n },\r\n error: (error: Error) => {\r\n Logging.logError(this.logSourceName, '{0}: {1}'.format(error.name, error.message));\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Helper function to set metaTags in DOM\r\n */\r\n private static setMetaInDom(): void {\r\n // create an indexed table of current meta data.\r\n const metaList = document.head.getElementsByTagName('meta');\r\n const metaIndex = {};\r\n for (let i = 0; i < metaList.length; i++) {\r\n const metaName = metaList[i].getAttribute('name');\r\n if (metaName && metaName.indexOf('awa-') === 0) {\r\n metaIndex[metaName] = metaList[i];\r\n }\r\n }\r\n\r\n // set or replace meta tags in the DOM\r\n for (const [key, value] of Object.entries(this.metaTags)) {\r\n const metaName = `awa-${key}`;\r\n const oldMeta = metaIndex[metaName];\r\n if (oldMeta) {\r\n document.head.removeChild(oldMeta);\r\n }\r\n\r\n const newMeta = document.createElement('meta');\r\n newMeta.name = metaName;\r\n newMeta.content = value;\r\n document.head.appendChild(newMeta);\r\n }\r\n }\r\n\r\n /**\r\n * Update Meta-tags and/or initialize telemetry, depending on whether rpc message came before or after app-context init.\r\n * @param newMetaTags Primarily contains WAC-Session-Id & extension-version, received from RPC message\r\n */\r\n public static updateFromRpcInit(newMetaTags: { [tag: string]: string }): void {\r\n // All the fields will be updated at the same time here, checking one (wac-session-id is the main one) is enough for the check\r\n const shouldInitHere = SmeMetaLabels.SessionId in this.metaTags && this.metaTags[SmeMetaLabels.SessionId] === 'N/A';\r\n\r\n this.rpcInitAlready = true;\r\n MsftSme.deepAssign(this.metaTags, newMetaTags);\r\n\r\n // If metaTags contains session ID but it's N/A (ie initial init was called already), call the init. If not,\r\n // just wait for normal init to be called in app-context. Depending on timing RPC update can happen before or after.\r\n if (shouldInitHere) {\r\n this.configureAndInitTelemetry();\r\n }\r\n }\r\n\r\n /**\r\n * Load 1DS if does not already exist.\r\n * @param appContext App context currently being used\r\n */\r\n public static init(appContext: AppContext): Observable<boolean> {\r\n if (this.telemetryHandler) {\r\n return EMPTY;\r\n }\r\n\r\n // Set fields we don't need gateway for, if connection to gateway fails, initialize telemetry with limited fields\r\n this.metaTags[SmeMetaLabels.Language] = MsftSme.self().Resources.localeId;\r\n this.metaTags[SmeMetaLabels.Market] = MsftSme.self().Resources.localeId;\r\n this.metaTags[SmeMetaLabels.IsProduction] = MsftSme.self().Init.isProduction.toString();\r\n this.metaTags[SmeMetaLabels.Environment] = MsftSme.self().Init.isProduction.toString();\r\n this.metaTags[SmeMetaLabels.ExtensionVersion] = MsftSme.self().Environment.version;\r\n this.metaTags[SmeMetaLabels.SessionId] = MsftSme.sessionId();\r\n // Instantiate these initially so they aren't empty values\r\n this.metaTags[SmeMetaLabels.InstallationType] = 'N/A';\r\n this.metaTags[SmeMetaLabels.Build] = 'N/A';\r\n this.metaTags[SmeMetaLabels.GatewayMode] = GatewayMode[MsftSme.self().Init.mode];\r\n this.metaTags[SmeMetaLabels.GatewayOperationalMode] = 'N/A';\r\n this.metaTags[SmeMetaLabels.ProductMode] = 'N/A';\r\n this.isProd = MsftSme.self().Init.isProduction;\r\n\r\n const gatewayInventoryCache = new GatewayInventoryCache(appContext);\r\n return gatewayInventoryCache.query({}).pipe(\r\n retry({\r\n count: 2,\r\n delay: error =>\r\n error.pipe(\r\n delay(1000),\r\n tap(() => Logging.logDebug(this.logSourceName, 'Attempting to query gateway again...'))\r\n )\r\n }),\r\n take(1),\r\n tap((status: any) => {\r\n const inventory: GatewayInventory = status.instance;\r\n this.isProd = this.isProd && inventory.gatewayOperationalMode === GatewayOperationalMode.Production;\r\n\r\n this.metaTags[SmeMetaLabels.InstallationType] = inventory.installationType || GatewayInstallationType.Standard;\r\n this.metaTags[SmeMetaLabels.Build] = inventory.gatewayVersion;\r\n this.metaTags[SmeMetaLabels.GatewayMode] = GatewayMode[inventory.mode];\r\n this.metaTags[SmeMetaLabels.GatewayOperationalMode] = GatewayOperationalMode[inventory.gatewayOperationalMode];\r\n this.metaTags[SmeMetaLabels.ProductMode] = inventory.productMode || '';\r\n this.metaTags[SmeMetaLabels.IsProduction] = this.isProd.toString();\r\n this.metaTags[SmeMetaLabels.Environment] = this.isProd.toString();\r\n // If not shell, handle in RPC handler, because some fields will init after 1DS inits\r\n // If rpc handler has happened already, go ahead with this\r\n if (MsftSme.isShell() || this.rpcInitAlready) {\r\n this.configureAndInitTelemetry();\r\n }\r\n }),\r\n catchError(error => {\r\n Logging.logWarning(this.logSourceName, 'Telemetry failed to initialized with error {}'.format(error.message));\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Helper function to create the cookie banner div\r\n */\r\n private static createCookieBanner(): void {\r\n const cookieBannerDiv = document.createElement('div');\r\n cookieBannerDiv.setAttribute('id', this.cookieBannerId);\r\n cookieBannerDiv.setAttribute('classes', 'sme-layout-relative sme-position-flex-auto');\r\n document.body.appendChild(cookieBannerDiv);\r\n }\r\n\r\n /**\r\n * Initialize WCP Consent\r\n * Due to the way we are importing WCP consent, this function is called assuming the WCP script is already loaded. If not it will fail\r\n */\r\n private static initWcpConsent(): void {\r\n this.createCookieBanner();\r\n WcpConsent.init(\r\n MsftSme.self().Resources.localeId,\r\n this.cookieBannerId,\r\n (err, _siteConsent) => {\r\n if (err !== undefined) {\r\n Logging.logError(this.logSourceName, 'WCP Consent initialization error: {0}'.format(err));\r\n return err;\r\n } else {\r\n this.siteConsent = _siteConsent;\r\n }\r\n },\r\n null,\r\n MsftSme.self().Resources.theme,\r\n 'd2NwLWNvbnNlbnQtbGli'\r\n );\r\n }\r\n\r\n /**\r\n * Set config and initialize telemetry library handler\r\n */\r\n private static initTelemetryHandler(): Observable<any> {\r\n const observable = new Observable(observer => {\r\n const script: HTMLScriptElement = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = MsftSme.self().Environment.configuration.telemetry.sourceLibraryCdnLink;\r\n script.integrity = MsftSme.self().Environment.configuration.telemetry.sourceLibraryCdnIntegrityHash;\r\n script.crossOrigin = 'anonymous';\r\n script.async = true;\r\n\r\n script.onload = () => {\r\n this.telemetryHandler = new oneDS.ApplicationInsights();\r\n const entryType: string = MsftSme.self().Init.entryPointType;\r\n const entryName: string = MsftSme.self().Init.entryPointName;\r\n\r\n this.telemetryConfig = {\r\n instrumentationKey: this.windowsAdminCenterTenantToken,\r\n // post channel configuration\r\n channelConfiguration: {\r\n eventsLimitInMem: 50\r\n },\r\n // Properties Plugin configuration\r\n propertyConfiguration: {\r\n userAgent: 'Windows Admin Center',\r\n sessionAsGuid: true,\r\n gpcDataSharingOptIn: true,\r\n callback: {\r\n userConsentDetails: () => {\r\n if (this.siteConsent) {\r\n return this.siteConsent.getConsent();\r\n }\r\n\r\n if (Cookie.get('MSCC')) {\r\n this.initWcpConsent();\r\n if (this.siteConsent) {\r\n return this.siteConsent.getConsent();\r\n }\r\n }\r\n\r\n // Defaults are required only, everything else false.\r\n return {\r\n Required: true,\r\n Analytics: false,\r\n SocialMedia: false,\r\n Advertising: false\r\n };\r\n }\r\n }\r\n },\r\n // Web Analytics Plugin configuration\r\n webAnalyticsConfiguration: {\r\n autoCapture: {\r\n scroll: false,\r\n pageView: true,\r\n onLoad: false,\r\n onUnload: true,\r\n click: true,\r\n resize: true,\r\n jsError: true,\r\n lineage: true\r\n },\r\n coreData: {\r\n pageName: this.nameOfModule,\r\n // to prevent personal data from being sent in URI\r\n referrerUri: 'windows.admin.center',\r\n requestUri: 'windows.admin.center',\r\n pageTags: {\r\n entryPointName: entryName || '',\r\n entryPointType: entryType || ''\r\n }\r\n },\r\n useShortNameForContentBlob: false\r\n }\r\n };\r\n this.telemetryHandler.initialize(this.telemetryConfig, []);\r\n this.telemetryHandler.addTelemetryInitializer((event: any) => {\r\n // If we send an event that originates from a different module (eg notifications in shell)\r\n // change the extension version to match module\r\n if (event.baseData.name !== this.nameOfModule) {\r\n event.baseData.properties.pageTags.metaTags[SmeMetaLabels.ExtensionVersion] = this.getModuleVersion(event.baseData.name);\r\n }\r\n event.baseData.properties.pageTags.screenResolution = {\r\n availableHeight: window.screen.availHeight,\r\n availableWidth: window.screen.availWidth\r\n };\r\n event.baseData.properties.pageTags.frameDetails = { height: window.innerHeight, width: window.innerWidth };\r\n });\r\n\r\n observer.next(undefined);\r\n observer.complete();\r\n };\r\n script.onerror = () => {\r\n script.remove();\r\n observer.error(new Error('1DS Script could not be loaded'));\r\n };\r\n\r\n const cookieScript = document.createElement('script');\r\n cookieScript.type = 'text/javascript';\r\n //TODO add WCP consent to library as npm package instead, but will require more in depth work so leave til after.\r\n cookieScript.src = 'https://wcpstatic.microsoft.com/mscc/lib/v2/wcp-consent.js';\r\n cookieScript.onload = () => {\r\n if (!MsftSme.isShell()) {\r\n // Only init WCP consent if in shell, because extension init will happen on cookie detection instead.\r\n return;\r\n }\r\n this.initWcpConsent();\r\n };\r\n cookieScript.onerror = () => {\r\n Logging.logError(this.logSourceName, 'WCP Consent script could not be loaded');\r\n };\r\n document.body.appendChild(cookieScript);\r\n document.body.appendChild(script);\r\n }).pipe(shareReplay(1));\r\n return observable;\r\n }\r\n\r\n /**\r\n * Send a Page-Action event through Web Telemetry.\r\n * @param element Element action is being executed on\r\n * @param overrideValues Various values to override within default Web Telemetry page action fields, see Web Telemetry documentation.\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static traceAction(element: Element | null, overrideValues?: IPageActionOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Action,\r\n {\r\n element: element,\r\n overrideValues: overrideValues,\r\n customProperties: properties\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n if (!overrideValues.actionType) {\r\n overrideValues.actionType = TelemetryActionTypes.Automatic;\r\n }\r\n this.telemetryHandler.capturePageAction(element, overrideValues, properties);\r\n }\r\n\r\n /** Subscribe to SDK transport notifications; returns an unsubscribe callback. */\r\n public static subscribeToTransport(listener: TelemetryTransportListener): () => void {\r\n if (!this.telemetryHandler) {\r\n throw new Error('Telemetry transport is unavailable.');\r\n }\r\n const manager = this.telemetryHandler.getNotifyMgr();\r\n manager.addNotificationListener(listener);\r\n return () => manager.removeNotificationListener(listener);\r\n }\r\n\r\n /** Request an asynchronous SDK flush without implying delivery confirmation. */\r\n public static flush(): void {\r\n if (!this.telemetryHandler) {\r\n throw new Error('Telemetry transport is unavailable.');\r\n }\r\n this.telemetryHandler.flush(true);\r\n }\r\n\r\n /**\r\n * Send a Page-View event through Web Telemetry.\r\n * @param overrideValues Various values to override within default Web Telemetry page view fields, see Web Telemetry documentation.\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static tracePageView(overrideValues: IPageViewOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.PageView, { overrideValues: overrideValues }]);\r\n }\r\n return;\r\n }\r\n this.telemetryHandler.capturePageView(overrideValues, properties);\r\n }\r\n\r\n /**\r\n * Send a Content-Update event through Web Telemetry.\r\n * @param overrideValues Various values to override within default Web Telemetry content update fields, see Web Telemetry documentation\r\n * @param properties Extra properties in an index signature. These are placed under the data field in partC data.\r\n */\r\n public static traceContentUpdate(overrideValues: IContentUpdateOverrideValues, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.ContentUpdate, { overrideValues: overrideValues, customProperties: properties }]);\r\n }\r\n return;\r\n }\r\n if (!overrideValues.actionType) {\r\n overrideValues.actionType = TelemetryActionTypes.Automatic;\r\n }\r\n this.telemetryHandler.captureContentUpdate(overrideValues, properties);\r\n }\r\n\r\n /**\r\n * Add standard fields onto performance data\r\n * @param data SmePerformanceData to be sent\r\n */\r\n private static fillStandardPerformanceData(data: SmePerformanceData): CompleteSmePerformanceData {\r\n const fullDataPayload: CompleteSmePerformanceData = {\r\n extension: MsftSme.self().Environment.name,\r\n entryPointName: MsftSme.self().Init.entryPointName || '',\r\n url: window.location.pathname,\r\n moduleOpened: false,\r\n totalLoadTime: '',\r\n label: data.label,\r\n sme: {},\r\n resources: {},\r\n navigation: {}\r\n };\r\n // Truncate all decimals to 5 places to avoid cosmos stream from redacting any\r\n // Convert PerformanceNavigationTiming to JSON so we can manipulate it via Object.() methods.\r\n fullDataPayload.totalLoadTime = data.totalLoadTime.toFixed(5);\r\n const timingData = {\r\n sme: data.sme || {},\r\n resources: data.resources || {},\r\n navigation: data.navigation ? data.navigation.toJSON() : {}\r\n };\r\n\r\n for (const [sourceKey, sourceVal] of Object.entries(timingData)) {\r\n for (const [resourceKey, resourceVal] of Object.entries(sourceVal)) {\r\n // navigation has some string-string maps, ignore the string values.\r\n // Convert all numbers back into numbers to preserve types in cosmos stream\r\n if (!MsftSme.isEmpty(sourceVal) && typeof resourceVal === 'number') {\r\n fullDataPayload[sourceKey][resourceKey] = parseFloat(resourceVal.toFixed(7));\r\n }\r\n }\r\n }\r\n\r\n // Set this here if need - often the appLoad times happen before Init is populated,\r\n // so check again to make sure if its actually empty.\r\n if (fullDataPayload.navigation) {\r\n fullDataPayload.entryPointName = MsftSme.self().Init.entryPointName || '';\r\n }\r\n return fullDataPayload;\r\n }\r\n\r\n /**\r\n * Send a content update event. This content update contains an updated sme-specific timings structure with relevant\r\n * performance data under the data field. The original timings data is also contained under the navigation field.\r\n * The structure of the event is such:\r\n * data : { ...,\r\n * \"timings\": {\r\n * \"extension\": [extension-name],\r\n * \"entryPointName\": [entryPointName],\r\n * \"url\": [url-endpoint],\r\n * \"moduleOpened\" : [isModuleOpened],\r\n * \"sme\": {\r\n * [sme-mark] : [mark-timestamps],\r\n * ...\r\n * },\r\n * \"resources\": {\r\n * [resource-endpoint] : [resource-load-complete-timestamps],\r\n * ...\r\n * },\r\n * \"navigation\": {\r\n * [performance-navigation-event]: [navigation-event-timestamps]\r\n * }\r\n * }, ...\r\n * }\r\n * Certain fields are set within this class instead of outside modules since they will always be the same.\r\n * @param dataPayload performance data to be sent through telemetry.\r\n * @param contentOverrides any content overriding behavior wanted in the performance event\r\n */\r\n public static tracePerformanceData(dataPayload: SmePerformanceData, contentOverrides?: any): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Performance,\r\n {\r\n performance: dataPayload,\r\n overrideValues: { content: contentOverrides } as IContentUpdateOverrideValues\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n const data = SmeWebTelemetry.fillStandardPerformanceData(dataPayload);\r\n\r\n // A for automatic, performance tracking is done automatically.\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n actionType: TelemetryActionTypes.Automatic,\r\n content: contentOverrides || dataPayload\r\n };\r\n\r\n const customProps = { timings: data, type: TelemetryEventTypes.Performance };\r\n this.telemetryHandler.captureContentUpdate(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * Send a content update event - this event will contain timings for lighthouse calculation in the backend\r\n * This can potentially be sent a couple times with overlapping data for one page load event, depending\r\n * on when the TTI is calculated. In this scenario, it will be handled on the backend.\r\n * @param dataPayload Lighthouse data\r\n * @param contentOverrides any content overriding behavior wanted in the performance event\r\n */\r\n public static traceLighthouseData(dataPayload: LighthousePerformanceMetrics, contentOverrides?: any, properties?: { [name: string]: any }): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([\r\n TelemetryEvents.Lighthouse,\r\n {\r\n lighthouse: dataPayload,\r\n overrideValues: { content: contentOverrides } as IContentUpdateOverrideValues\r\n }\r\n ]);\r\n }\r\n return;\r\n }\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n actionType: TelemetryActionTypes.Automatic,\r\n content: contentOverrides || dataPayload\r\n };\r\n\r\n const customProps = { timings: dataPayload, type: TelemetryEventTypes.Lighthouse };\r\n MsftSme.deepAssign(customProps, properties);\r\n this.telemetryHandler.captureContentUpdate(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * See tracePerformanceData comments, only difference is moduleOpened is true and the contentOverrides\r\n * @param dataPayload performance data to be sent through telemetry.\r\n */\r\n public static traceModuleOpenPerformance(dataPayload: SmePerformanceData): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.ModuleOpenPerformance, { performance: dataPayload }]);\r\n }\r\n return;\r\n }\r\n const data = SmeWebTelemetry.fillStandardPerformanceData(dataPayload);\r\n data.moduleOpened = true;\r\n\r\n const overrideValues: IPageViewPerformanceOverrideValues = {\r\n customTiming: JSON.stringify(data)\r\n };\r\n const customProps = { timings: data, type: TelemetryEventTypes.Performance };\r\n\r\n this.telemetryHandler.capturePageViewPerformance(overrideValues, customProps);\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for notification\r\n * @param clientNotification Client notification to send event for\r\n */\r\n public static traceClientNotification(clientNotification: RpcNotification): void {\r\n if (!this.telemetryHandler) {\r\n if (this.backlogHasSpace) {\r\n this.eventBacklog.push([TelemetryEvents.Notification, { notification: clientNotification }]);\r\n }\r\n return;\r\n }\r\n const overrideValues: IContentUpdateOverrideValues = {\r\n content: {\r\n message: clientNotification.message,\r\n title: clientNotification.title,\r\n state: NotificationState[clientNotification.state],\r\n contentType: TelemetryEventTypes.Notification\r\n },\r\n // If source is not shell, replace pagename with proper source.\r\n pageName: clientNotification.sourceName ? clientNotification.sourceName : this.nameOfModule\r\n };\r\n this.traceContentUpdate(overrideValues, { type: TelemetryEventTypes.Notification });\r\n }\r\n\r\n /**\r\n * Helper function to assign a command to an id in a multi-step workitem process\r\n * @param id The ID of the powershell session to assign\r\n * @param command The command to assign to the session ID\r\n */\r\n public static addPowershellId(id: string, command: PowerShellCommand) {\r\n this.powershellIdMap[id] = command;\r\n }\r\n\r\n /**\r\n * Helper function to assign a command to an id in a multi-step workitem process\r\n * @param id The ID of the powershell session to assign\r\n * @param command The command to assign to the session ID\r\n */\r\n public static removePowershellId(id: string) {\r\n delete this.powershellIdMap[id];\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for powershell event. In the case where command is not available,\r\n * use an ID (usually ps session ID, which may correlate with work item id)\r\n * @param command Powershell Command\r\n * @param state State of powershell event (start/end/etc)\r\n * @param details Optional details object - see interface for more detail.\r\n */\r\n public static tracePowershellEvent(command: PowerShellCommand, state: TelemetryEventStates, details?: PowershellDetails): void {\r\n const id = details ? details.id : null;\r\n const response = details ? details.response : null;\r\n const psCommand = command ? command : this.powershellIdMap[id];\r\n\r\n // Ignore any events that are either null or un-named PS commands.\r\n if ((psCommand && !psCommand.command) || !psCommand) {\r\n return;\r\n }\r\n\r\n // If state is not started and id is provided, remove the ID from the map to save space.\r\n if (state !== TelemetryEventStates.Started && id) {\r\n this.removePowershellId(id);\r\n }\r\n\r\n const psContent = {\r\n psCommand: psCommand.command,\r\n state: state,\r\n psModule: psCommand.module,\r\n otherData: details && details.otherData ? details.otherData : {}\r\n };\r\n const sourceName = this.nameOfModule;\r\n if (response && response.error) {\r\n psContent['errorCodes'] = [response.error.code];\r\n } else if (response && response.errors) {\r\n psContent['errorCodes'] = response.errors.map(e => e.errorType);\r\n psContent.otherData['hResult'] = response.errors.map(e => e.detailRecord && e.detailRecord.hResult);\r\n }\r\n SmeWebTelemetry.traceAction(null, { content: psContent, pageName: sourceName }, { type: TelemetryEventTypes.Powershell });\r\n }\r\n\r\n /**\r\n * Helper to create event boilerplate for powershell batch event. Batch doesn't deal with work items, so\r\n * we can ignore the ID and sourceName handling that the above function handles.\r\n * @param commands Powershell Commands List in properties stringified form. PS Batch events places PS command into a\r\n * '{properties: PSCommand }' string structure.\r\n * @param state State of powershell event (start/end/etc)\r\n * @param details Optional details object contains various optional fields in powershell event.\r\n * @returns\r\n */\r\n public static tracePowershellBatchEvent(commands: string[], state: TelemetryEventStates, details?: PowershellDetails) {\r\n // check that at least one command is valid\r\n if (!commands || commands.length === 0) {\r\n return;\r\n }\r\n\r\n let parsedCommands: string[] = [];\r\n parsedCommands = commands.reduce((commandList, currentCommand) => {\r\n if (currentCommand) {\r\n const parsedCommand = JSON.parse(currentCommand).properties.command;\r\n if (parsedCommand) {\r\n commandList.push(parsedCommand);\r\n }\r\n return commandList;\r\n }\r\n }, parsedCommands);\r\n\r\n const response = details ? details.response : null;\r\n\r\n const psContent = { psCommands: parsedCommands, state: state, otherData: details && details.otherData ? details.otherData : {} };\r\n\r\n if (response && response.error) {\r\n psContent['errorCodes'] = [response.error.code];\r\n } else if (response && response.errors) {\r\n psContent['errorCodes'] = response.errors.map(e => e.errorType);\r\n psContent.otherData['hResult'] = response.errors.map(e => e.detailRecord && e.detailRecord.hResult);\r\n }\r\n SmeWebTelemetry.traceAction(null, { content: psContent }, { type: TelemetryEventTypes.Powershell });\r\n }\r\n\r\n /**\r\n * Helper to redactGenericModel function\r\n * Determines whether field should be redacted according to fields provided for redacting and exceptions\r\n * @param key The field in question\r\n * @param keywordsToRedact List of string inclusions to redact - if the field contains any part of this, it will be redacted\r\n * @param exceptions Set of exceptions to the above - if the field matches an exception, it will not be redacted\r\n * @returns True if field should be redacted, false otherwise\r\n */\r\n private static fieldShouldBeRedacted(key: string, keywordsToRedact: string[], exceptions: Set<string>): boolean {\r\n if (exceptions.has(key)) {\r\n return false;\r\n }\r\n\r\n for (const field of keywordsToRedact) {\r\n if (key.toLowerCase().includes(field.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Telemetry utility function to redact a model object. This function will traverse the model in BFS fashion and redact any fields\r\n * that contain any string in the keywordsToRedact array, unless the field is an exception (in the exceptions array).\r\n * This function will not affect keys in StringMaps or Maps - if names exist there, they should be handled separately.\r\n *\r\n * @param model Model to redact\r\n * @param keywordsToRedact List of string inclusions to redact\r\n * @param fieldExceptions List of exceptions to the above\r\n * @returns Redacted model\r\n */\r\n public static redactGenericModel(model: any, keywordsToRedact: string[], fieldExceptions: string[]): any {\r\n const redacted_model: any = JSON.parse(JSON.stringify(model));\r\n const remainingObjects = [redacted_model];\r\n const exceptionSet = new Set(fieldExceptions);\r\n\r\n while (remainingObjects.length > 0) {\r\n const currentTree = remainingObjects[0];\r\n\r\n Object.keys(currentTree).forEach(key => {\r\n if (MsftSme.isPlainObject(currentTree[key])) {\r\n remainingObjects.push(currentTree[key]);\r\n } else if (Array.isArray(currentTree[key]) && currentTree[key].some((field: any) => MsftSme.isPlainObject(field))) {\r\n // If array intermixes objects and non-objects, we will push the objects into the queue and ignore the non-objects.\r\n // The non-objects will avoid redaction, but this should never be a concern in practice.\r\n remainingObjects.push(currentTree[key].filter((field: any) => MsftSme.isPlainObject(field)));\r\n } else if (this.fieldShouldBeRedacted(key, keywordsToRedact, exceptionSet)) {\r\n if (Array.isArray(currentTree[key])) {\r\n for (let i = 0; i < currentTree[key].length; ++i) {\r\n currentTree[key][i] = '***';\r\n }\r\n } else {\r\n currentTree[key] = '***';\r\n }\r\n }\r\n });\r\n remainingObjects.shift();\r\n }\r\n return redacted_model;\r\n }\r\n\r\n public static manageCookies() {\r\n if (this.siteConsent) {\r\n this.siteConsent.manageConsent();\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -50,10 +50,8 @@ export declare enum EnterpriseObjectTypes {
|
|
|
50
50
|
NasServers = "nasservers",
|
|
51
51
|
/** Windows Server NAS file servers. */
|
|
52
52
|
NasFileServers = "nasfileservers",
|
|
53
|
-
/** Third-party
|
|
54
|
-
|
|
55
|
-
/** Third-party NAS servers. */
|
|
56
|
-
ThirdPartyNasServers = "thirdpartynasservers",
|
|
53
|
+
/** Third-party storage providers. */
|
|
54
|
+
ThirdPartyStorage = "thirdpartystorage",
|
|
57
55
|
/** VM templates. */
|
|
58
56
|
VMTemplates = "vmtemplates",
|
|
59
57
|
/** Network intent templates. */
|
|
@@ -113,6 +111,12 @@ export declare enum VMEnabledState {
|
|
|
113
111
|
Paused = 32768,
|
|
114
112
|
Suspended = 32769
|
|
115
113
|
}
|
|
114
|
+
/** Replication roles reported for a virtual machine. */
|
|
115
|
+
export declare enum VMReplicationMode {
|
|
116
|
+
Primary = "Primary",
|
|
117
|
+
Replica = "Replica",
|
|
118
|
+
ExtendedReplica = "ExtendedReplica"
|
|
119
|
+
}
|
|
116
120
|
/**
|
|
117
121
|
* VM-specific properties bag.
|
|
118
122
|
*
|
|
@@ -121,7 +125,9 @@ export declare enum VMEnabledState {
|
|
|
121
125
|
* the shared open {@link ResourceProperties} bag so unnamed backend fields remain readable.
|
|
122
126
|
*/
|
|
123
127
|
export interface VMProperties extends ResourceProperties {
|
|
128
|
+
vmId: string;
|
|
124
129
|
vmEnabledState: VMEnabledState;
|
|
130
|
+
replicationModes: VMReplicationMode[];
|
|
125
131
|
}
|
|
126
132
|
/**
|
|
127
133
|
* The state of a cluster node, reported in {@link ClusterNode.state}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise-models.d.ts","sourceRoot":"","sources":["../../src/enterprise/enterprise-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;;;;GAYG;AACH,oBAAY,qBAAqB;IAC7B,sDAAsD;IACtD,MAAM,mBAAmB;IACzB,yBAAyB;IACzB,QAAQ,aAAa;IACrB,qBAAqB;IACrB,KAAK,UAAU;IACf,wBAAwB;IACxB,eAAe,QAAQ;IACvB,2BAA2B;IAC3B,KAAK,UAAU;IACf,mCAAmC;IACnC,WAAW,gBAAgB;IAC3B,kCAAkC;IAClC,UAAU,eAAe;IACzB,uCAAuC;IACvC,cAAc,mBAAmB;IACjC
|
|
1
|
+
{"version":3,"file":"enterprise-models.d.ts","sourceRoot":"","sources":["../../src/enterprise/enterprise-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,10 +51,8 @@ export var EnterpriseObjectTypes;
|
|
|
51
51
|
EnterpriseObjectTypes["NasServers"] = "nasservers";
|
|
52
52
|
/** Windows Server NAS file servers. */
|
|
53
53
|
EnterpriseObjectTypes["NasFileServers"] = "nasfileservers";
|
|
54
|
-
/** Third-party
|
|
55
|
-
EnterpriseObjectTypes["
|
|
56
|
-
/** Third-party NAS servers. */
|
|
57
|
-
EnterpriseObjectTypes["ThirdPartyNasServers"] = "thirdpartynasservers";
|
|
54
|
+
/** Third-party storage providers. */
|
|
55
|
+
EnterpriseObjectTypes["ThirdPartyStorage"] = "thirdpartystorage";
|
|
58
56
|
/** VM templates. */
|
|
59
57
|
EnterpriseObjectTypes["VMTemplates"] = "vmtemplates";
|
|
60
58
|
/** Network intent templates. */
|
|
@@ -92,6 +90,13 @@ export var VMEnabledState;
|
|
|
92
90
|
VMEnabledState[VMEnabledState["Paused"] = 32768] = "Paused";
|
|
93
91
|
VMEnabledState[VMEnabledState["Suspended"] = 32769] = "Suspended";
|
|
94
92
|
})(VMEnabledState || (VMEnabledState = {}));
|
|
93
|
+
/** Replication roles reported for a virtual machine. */
|
|
94
|
+
export var VMReplicationMode;
|
|
95
|
+
(function (VMReplicationMode) {
|
|
96
|
+
VMReplicationMode["Primary"] = "Primary";
|
|
97
|
+
VMReplicationMode["Replica"] = "Replica";
|
|
98
|
+
VMReplicationMode["ExtendedReplica"] = "ExtendedReplica";
|
|
99
|
+
})(VMReplicationMode || (VMReplicationMode = {}));
|
|
95
100
|
/**
|
|
96
101
|
* The state of a cluster node, reported in {@link ClusterNode.state}.
|
|
97
102
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise-models.js","sourceRoot":"","sources":["../../src/enterprise/enterprise-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,qBA2BX;AA3BD,WAAY,qBAAqB;IAC7B,sDAAsD;IACtD,kDAAyB,CAAA;IACzB,yBAAyB;IACzB,8CAAqB,CAAA;IACrB,qBAAqB;IACrB,wCAAe,CAAA;IACf,wBAAwB;IACxB,gDAAuB,CAAA;IACvB,2BAA2B;IAC3B,wCAAe,CAAA;IACf,mCAAmC;IACnC,oDAA2B,CAAA;IAC3B,kCAAkC;IAClC,kDAAyB,CAAA;IACzB,uCAAuC;IACvC,0DAAiC,CAAA;IACjC,+BAA+B;IAC/B,sEAA6C,CAAA;IAC7C,+BAA+B;IAC/B,sEAA6C,CAAA;IAC7C,oBAAoB;IACpB,oDAA2B,CAAA;IAC3B,gCAAgC;IAChC,0EAAiD,CAAA;IACjD,uBAAuB;IACvB,0DAAiC,CAAA;AACrC,CAAC,EA3BW,qBAAqB,KAArB,qBAAqB,QA2BhC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAExE,oGAAoG;AACpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AA2BvE;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,cAcX;AAdD,WAAY,cAAc;IACtB,yDAAW,CAAA;IACX,qDAAS,CAAA;IACT,yDAAW,CAAA;IACX,iDAAO,CAAA;IACP,mEAAgB,CAAA;IAChB,qEAAiB,CAAA;IACjB,6EAAqB,CAAA;IACrB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;IACX,4DAAa,CAAA;IACb,2DAAc,CAAA;IACd,iEAAiB,CAAA;AACrB,CAAC,EAdW,cAAc,KAAd,cAAc,QAczB;AAaD;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IACxB,4GAA4G;IAC5G,8DAAY,CAAA;IACZ,8GAA8G;IAC9G,mDAAM,CAAA;IACN,6EAA6E;IAC7E,uDAAQ,CAAA;IACR,qGAAqG;IACrG,2DAAU,CAAA;IACV,sFAAsF;IACtF,6DAAW,CAAA;AACf,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B","sourcesContent":["/**\r\n * Shared, backend-faithful data contract for the Windows Admin Center enterprise inventory APIs\r\n * (`services/enterprisedata/data/...`).\r\n *\r\n * This module is the **single source** for the wire shapes and vocabularies that the gateway V2\r\n * enterprise-data database returns. It is deliberately un-branded and framework-agnostic: each type\r\n * here is a direct copy of a gateway backend DTO (see the per-type `Direct copy of backend ...`\r\n * references) so that every wac-ux consumer transcribes the backend **once**, in this file, instead\r\n * of each maintaining its own copy.\r\n *\r\n * Two distinct consumers build on this base:\r\n * - the partner-facing SDK in `packages/core/src/virtualization/`, which re-exports **branded**\r\n * `Virtualization*` views of these shapes (see {@link ../virtualization/virtualization-models});\r\n * - the shell-internal `EnterpriseService` in `@msft-sme/shell-react`, which layers its additional\r\n * storage/network resource kinds on top.\r\n *\r\n * \"Enterprise\" (not \"virtualization\") is the umbrella term on purpose: virtualization\r\n * (hosts/clusters/VMs/groups) is one facet of the enterprise-data surface, which also covers\r\n * NAS/SAN storage and network intents. The naming matches the API route (`services/enterprisedata`),\r\n * the gateway status probe (`gateway/enterpriseStatus`) and the backend `Enterprise/EnterpriseStorage`\r\n * project.\r\n */\r\n\r\n/**\r\n * The kinds of resource object stored in the enterprise inventory database — the virtualization\r\n * hosts/clusters/vms/groups plus the storage and network-intent kinds.\r\n *\r\n * This enum is the **single, shared** object-kind vocabulary for the enterprise data APIs, so the\r\n * literals are transcribed exactly once and consumers reference these members rather than\r\n * re-declaring them. Each value doubles as the gateway URL segment for that collection\r\n * (e.g. `hosts` -> `services/enterprisedata/data/hosts`), but that addressing is a consequence of\r\n * the object kind, not the reason the vocabulary exists.\r\n *\r\n * NOTE: distinct from the resource-kind discriminant wire values (the backend `ObjectDataType`\r\n * enum, of which the virtualization SDK models a subset as `VirtualizationObjectType`).\r\n */\r\nexport enum EnterpriseObjectTypes {\r\n /** User-defined groupings of enterprise resources. */\r\n Groups = 'resourceGroups',\r\n /** Failover clusters. */\r\n Clusters = 'clusters',\r\n /** Hyper-V hosts. */\r\n Hosts = 'hosts',\r\n /** Virtual machines. */\r\n VirtualMachines = 'vms',\r\n /** Root inventory node. */\r\n Roots = 'roots',\r\n /** Windows Server NAS clusters. */\r\n NasClusters = 'nasclusters',\r\n /** Windows Server NAS servers. */\r\n NasServers = 'nasservers',\r\n /** Windows Server NAS file servers. */\r\n NasFileServers = 'nasfileservers',\r\n /** Third-party SAN servers. */\r\n ThirdPartySanServers = 'thirdpartysanservers',\r\n /** Third-party NAS servers. */\r\n ThirdPartyNasServers = 'thirdpartynasservers',\r\n /** VM templates. */\r\n VMTemplates = 'vmtemplates',\r\n /** Network intent templates. */\r\n NetworkIntentTemplates = 'networkintenttemplates',\r\n /** Network intents. */\r\n NetworkIntents = 'networkintents'\r\n}\r\n\r\n/** Base path for the enterprise inventory data APIs on the gateway. */\r\nexport const ENTERPRISE_DATA_BASE_PATH = 'services/enterprisedata/data';\r\n\r\n/** Gateway probe used to detect whether the enterprise (vMode) database exists on this platform. */\r\nexport const ENTERPRISE_STATUS_PROBE_PATH = 'gateway/enterpriseStatus';\r\n\r\n/**\r\n * RBAC access metadata attached to an enterprise resource describing the caller's effective access\r\n * to that object.\r\n *\r\n * Direct copy of the gateway backend model `AccessProperties`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/AccessProperties.cs).\r\n */\r\nexport interface AccessProperties {\r\n allowedRoleDefinitionNames: string[];\r\n assignedOnObjectName?: string;\r\n assignedOnObjectType?: string;\r\n assignmentScope?: string;\r\n}\r\n\r\n/**\r\n * Base for the per-type `properties` bag on an enterprise resource.\r\n *\r\n * The gateway carries type-specific data in a nested `properties` object (e.g. a VM's power state).\r\n * Consumers type the fields they have evidence for but keep this open `[key: string]: unknown`\r\n * signature so any field the backend adds later is immediately readable without a release.\r\n */\r\nexport interface ResourceProperties {\r\n [key: string]: unknown;\r\n}\r\n\r\n/**\r\n * Power state of a virtual machine, reported by the gateway in {@link VMProperties.vmEnabledState}.\r\n *\r\n * The numeric values are a direct copy of the gateway backend enum `VMEnabledState`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/VirtualMachine/VMEnabledState.cs). The two\r\n * common runtime states carry the shell-facing friendly names `Running`/`Off` (the backend names\r\n * these `Enabled`/`Disabled`; the values are identical) so shell call sites read naturally.\r\n * `Paused`/`Suspended` are Hyper-V runtime states observed on the wire beyond the backend enum;\r\n * because the value is a plain number, an unrecognized future state is still readable.\r\n */\r\nexport enum VMEnabledState {\r\n Unknown = 0,\r\n Other = 1,\r\n Running = 2,\r\n Off = 3,\r\n ShuttingDown = 4,\r\n NotApplicable = 5,\r\n EnabledButOffline = 6,\r\n InTest = 7,\r\n Deferred = 8,\r\n Quiesce = 9,\r\n Starting = 10,\r\n Paused = 32768,\r\n Suspended = 32769\r\n}\r\n\r\n/**\r\n * VM-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `VMObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/VirtualMachine/VMObjectProperties.cs). Extends\r\n * the shared open {@link ResourceProperties} bag so unnamed backend fields remain readable.\r\n */\r\nexport interface VMProperties extends ResourceProperties {\r\n vmEnabledState: VMEnabledState;\r\n}\r\n\r\n/**\r\n * The state of a cluster node, reported in {@link ClusterNode.state}.\r\n *\r\n * The numeric values are a direct copy of the gateway backend enum `ClusterNodeState`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterNodeState.cs). The member\r\n * names are the friendly, unprefixed forms of the backend names (backend: `ClusterNodeStateUnknown`/\r\n * `ClusterNodeUp`/`ClusterNodeDown`/`ClusterNodePaused`/`ClusterNodeJoining`; the numeric values are\r\n * identical) so call sites read naturally. Because the wire value is a plain number, an unrecognized\r\n * future state is still readable.\r\n */\r\nexport enum ClusterNodeState {\r\n /** The operation was not successful / state could not be determined (backend `ClusterNodeStateUnknown`). */\r\n Unknown = -1,\r\n /** The node is plugged in, turned on, booted, and capable of executing programs (backend `ClusterNodeUp`). */\r\n Up = 0,\r\n /** The node is turned off or not operational (backend `ClusterNodeDown`). */\r\n Down = 1,\r\n /** The node is running but not participating in cluster operations (backend `ClusterNodePaused`). */\r\n Paused = 2,\r\n /** The node is in the process of joining a cluster (backend `ClusterNodeJoining`). */\r\n Joining = 3\r\n}\r\n\r\n/**\r\n * A single node within a failover cluster, listed in {@link ClusterProperties.clusterNodes}.\r\n *\r\n * Direct copy of the gateway backend model `ClusterNodeObject`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterNodeObject.cs), whose fields\r\n * are all non-nullable on the backend (string fields default to empty, numeric to zero), so they are\r\n * required here. This is the closed, backend-faithful mirror of a cluster node; the containing\r\n * {@link ClusterProperties} bag stays forward-open via {@link ResourceProperties}.\r\n */\r\nexport interface ClusterNode {\r\n /** The cluster node name. */\r\n name: string;\r\n /** The FQDN of the cluster node. */\r\n fqdn: string;\r\n /** The build number of the cluster node. */\r\n buildNumber: number;\r\n /** The state of the cluster node. */\r\n state: ClusterNodeState;\r\n}\r\n\r\n/**\r\n * Cluster-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `ClusterObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterObjectProperties.cs). Extends\r\n * the shared open {@link ResourceProperties} bag so unnamed backend fields remain readable. The\r\n * `clusterNodes` list is optional to match the backend (`List<ClusterNodeObject>?`).\r\n */\r\nexport interface ClusterProperties extends ResourceProperties {\r\n /** The nodes that make up this cluster. */\r\n clusterNodes?: ClusterNode[];\r\n}\r\n\r\n/**\r\n * Hyper-V host-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `HostObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Host/HostObjectProperties.cs), which carries\r\n * no host-specific fields today (host identity lives on the base resource: `name`/`displayName`).\r\n * The inherited open {@link ResourceProperties} index signature means any host property the backend\r\n * adds later is readable without a release.\r\n */\r\nexport interface HostProperties extends ResourceProperties {}\r\n\r\n/**\r\n * Uniform system/audit metadata that may accompany an enterprise resource.\r\n *\r\n * Direct copy of the gateway backend model `SystemData`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/SystemData.cs). Every field is optional and\r\n * the bag is open: this metadata is **not guaranteed** to be present on every list response, so\r\n * treat it as best-effort.\r\n */\r\nexport interface SystemData {\r\n /** The creator of the object. */\r\n createdBy?: string;\r\n /** The creation date of the object (ISO-8601 string). */\r\n createdDate?: string;\r\n /** The last updater of the object. */\r\n lastUpdatedBy?: string;\r\n /** The last update date of the object (ISO-8601 string). */\r\n lastUpdatedDate?: string;\r\n /** Any as-yet-unnamed backend field, returned verbatim. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/**\r\n * A single node of a resource's ancestry path (root -> ... -> resource), returned in\r\n * {@link TypedResource.hierarchy}.\r\n *\r\n * Direct copy of the gateway backend model `PathData`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/PathData.cs).\r\n */\r\nexport interface PathData {\r\n name: string;\r\n displayName: string;\r\n /** Backend `ObjectDataType` enum serialized to its member name (e.g. `Hyperv`). */\r\n objectType: string;\r\n depth: number;\r\n}\r\n\r\n/**\r\n * A single enterprise inventory resource. The same base shape is returned for every collection; the\r\n * {@link TypedResource.objectType} field distinguishes the concrete kind. When `expand=children` is\r\n * requested, the {@link TypedResource.children} array is populated.\r\n *\r\n * Direct copy of the gateway backend model `TypedResource` and its base `BaseResource`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/TypedResource.cs and .../BaseResource.cs).\r\n * Every inventory list endpoint returns `ListApiResponse<List<TypedResource>>`.\r\n *\r\n * This base is intentionally **closed** (no `[key: string]: unknown` index signature) to stay\r\n * faithful to the backend DTO; forward-compatibility for per-type data comes from the shared open\r\n * {@link ResourceProperties} bag that each concrete resource's `properties` narrows to.\r\n */\r\nexport interface TypedResource {\r\n /**\r\n * The concrete kind of this resource, as the backend `ObjectDataType` enum serialized to its\r\n * member name (e.g. `Hyperv`, `VirtualMachine`). Typed as `string` to stay faithful to the raw\r\n * wire without curating the backend's full kind list; the virtualization SDK narrows this to its\r\n * modeled subset via `VirtualizationObjectType`.\r\n */\r\n objectType: string;\r\n name: string;\r\n displayName: string;\r\n description?: string;\r\n /** Whether this resource is a traversal-only node (a grouping that carries no data of its own). */\r\n isTraverseOnly?: boolean;\r\n accessProperties: AccessProperties;\r\n children?: ChildObjectDataResource[];\r\n /** The resource's ancestry path from the root, when returned by the gateway. */\r\n hierarchy?: PathData[];\r\n /** Per-type data bag; the concrete resource kinds narrow this to their specific properties type. */\r\n properties?: ResourceProperties;\r\n /** Best-effort system/audit metadata; see {@link SystemData} (not always present). */\r\n systemData?: SystemData;\r\n}\r\n\r\n/**\r\n * A child entry returned when a resource is expanded (e.g. the VMs under a host, or the hosts under\r\n * a cluster). It carries the full {@link TypedResource} shape plus the parent-linkage fields below.\r\n *\r\n * Direct copy of the gateway backend model `ChildObjectDataResource : TypedResource`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/ChildObjectDataResource.cs), which\r\n * adds `ParentName`, `HasChildren` and `OverallHealthStatus` on top of the base resource.\r\n */\r\nexport interface ChildObjectDataResource extends TypedResource {\r\n /** Name of the parent resource this child belongs to. */\r\n parentName: string;\r\n /** Whether this child itself has further children (i.e. is expandable). */\r\n hasChildren: boolean;\r\n /**\r\n * The overall health status of the node (e.g. \"Healthy\", \"Unhealthy\"). For a node with its own\r\n * agent this is that agent's status; for a container (Cluster, ResourceGroup, NAS cluster) it is\r\n * \"Unhealthy\" when a readable descendant agent is unhealthy, and left unset otherwise. Omitted\r\n * from the response when unset.\r\n */\r\n overallHealthStatus?: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"enterprise-models.js","sourceRoot":"","sources":["../../src/enterprise/enterprise-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,qBAyBX;AAzBD,WAAY,qBAAqB;IAC7B,sDAAsD;IACtD,kDAAyB,CAAA;IACzB,yBAAyB;IACzB,8CAAqB,CAAA;IACrB,qBAAqB;IACrB,wCAAe,CAAA;IACf,wBAAwB;IACxB,gDAAuB,CAAA;IACvB,2BAA2B;IAC3B,wCAAe,CAAA;IACf,mCAAmC;IACnC,oDAA2B,CAAA;IAC3B,kCAAkC;IAClC,kDAAyB,CAAA;IACzB,uCAAuC;IACvC,0DAAiC,CAAA;IACjC,qCAAqC;IACrC,gEAAuC,CAAA;IACvC,oBAAoB;IACpB,oDAA2B,CAAA;IAC3B,gCAAgC;IAChC,0EAAiD,CAAA;IACjD,uBAAuB;IACvB,0DAAiC,CAAA;AACrC,CAAC,EAzBW,qBAAqB,KAArB,qBAAqB,QAyBhC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAExE,oGAAoG;AACpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AA2BvE;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,cAcX;AAdD,WAAY,cAAc;IACtB,yDAAW,CAAA;IACX,qDAAS,CAAA;IACT,yDAAW,CAAA;IACX,iDAAO,CAAA;IACP,mEAAgB,CAAA;IAChB,qEAAiB,CAAA;IACjB,6EAAqB,CAAA;IACrB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;IACX,4DAAa,CAAA;IACb,2DAAc,CAAA;IACd,iEAAiB,CAAA;AACrB,CAAC,EAdW,cAAc,KAAd,cAAc,QAczB;AAED,wDAAwD;AACxD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,wDAAmC,CAAA;AACvC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAeD;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IACxB,4GAA4G;IAC5G,8DAAY,CAAA;IACZ,8GAA8G;IAC9G,mDAAM,CAAA;IACN,6EAA6E;IAC7E,uDAAQ,CAAA;IACR,qGAAqG;IACrG,2DAAU,CAAA;IACV,sFAAsF;IACtF,6DAAW,CAAA;AACf,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B","sourcesContent":["/**\r\n * Shared, backend-faithful data contract for the Windows Admin Center enterprise inventory APIs\r\n * (`services/enterprisedata/data/...`).\r\n *\r\n * This module is the **single source** for the wire shapes and vocabularies that the gateway V2\r\n * enterprise-data database returns. It is deliberately un-branded and framework-agnostic: each type\r\n * here is a direct copy of a gateway backend DTO (see the per-type `Direct copy of backend ...`\r\n * references) so that every wac-ux consumer transcribes the backend **once**, in this file, instead\r\n * of each maintaining its own copy.\r\n *\r\n * Two distinct consumers build on this base:\r\n * - the partner-facing SDK in `packages/core/src/virtualization/`, which re-exports **branded**\r\n * `Virtualization*` views of these shapes (see {@link ../virtualization/virtualization-models});\r\n * - the shell-internal `EnterpriseService` in `@msft-sme/shell-react`, which layers its additional\r\n * storage/network resource kinds on top.\r\n *\r\n * \"Enterprise\" (not \"virtualization\") is the umbrella term on purpose: virtualization\r\n * (hosts/clusters/VMs/groups) is one facet of the enterprise-data surface, which also covers\r\n * NAS/SAN storage and network intents. The naming matches the API route (`services/enterprisedata`),\r\n * the gateway status probe (`gateway/enterpriseStatus`) and the backend `Enterprise/EnterpriseStorage`\r\n * project.\r\n */\r\n\r\n/**\r\n * The kinds of resource object stored in the enterprise inventory database — the virtualization\r\n * hosts/clusters/vms/groups plus the storage and network-intent kinds.\r\n *\r\n * This enum is the **single, shared** object-kind vocabulary for the enterprise data APIs, so the\r\n * literals are transcribed exactly once and consumers reference these members rather than\r\n * re-declaring them. Each value doubles as the gateway URL segment for that collection\r\n * (e.g. `hosts` -> `services/enterprisedata/data/hosts`), but that addressing is a consequence of\r\n * the object kind, not the reason the vocabulary exists.\r\n *\r\n * NOTE: distinct from the resource-kind discriminant wire values (the backend `ObjectDataType`\r\n * enum, of which the virtualization SDK models a subset as `VirtualizationObjectType`).\r\n */\r\nexport enum EnterpriseObjectTypes {\r\n /** User-defined groupings of enterprise resources. */\r\n Groups = 'resourceGroups',\r\n /** Failover clusters. */\r\n Clusters = 'clusters',\r\n /** Hyper-V hosts. */\r\n Hosts = 'hosts',\r\n /** Virtual machines. */\r\n VirtualMachines = 'vms',\r\n /** Root inventory node. */\r\n Roots = 'roots',\r\n /** Windows Server NAS clusters. */\r\n NasClusters = 'nasclusters',\r\n /** Windows Server NAS servers. */\r\n NasServers = 'nasservers',\r\n /** Windows Server NAS file servers. */\r\n NasFileServers = 'nasfileservers',\r\n /** Third-party storage providers. */\r\n ThirdPartyStorage = 'thirdpartystorage',\r\n /** VM templates. */\r\n VMTemplates = 'vmtemplates',\r\n /** Network intent templates. */\r\n NetworkIntentTemplates = 'networkintenttemplates',\r\n /** Network intents. */\r\n NetworkIntents = 'networkintents'\r\n}\r\n\r\n/** Base path for the enterprise inventory data APIs on the gateway. */\r\nexport const ENTERPRISE_DATA_BASE_PATH = 'services/enterprisedata/data';\r\n\r\n/** Gateway probe used to detect whether the enterprise (vMode) database exists on this platform. */\r\nexport const ENTERPRISE_STATUS_PROBE_PATH = 'gateway/enterpriseStatus';\r\n\r\n/**\r\n * RBAC access metadata attached to an enterprise resource describing the caller's effective access\r\n * to that object.\r\n *\r\n * Direct copy of the gateway backend model `AccessProperties`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/AccessProperties.cs).\r\n */\r\nexport interface AccessProperties {\r\n allowedRoleDefinitionNames: string[];\r\n assignedOnObjectName?: string;\r\n assignedOnObjectType?: string;\r\n assignmentScope?: string;\r\n}\r\n\r\n/**\r\n * Base for the per-type `properties` bag on an enterprise resource.\r\n *\r\n * The gateway carries type-specific data in a nested `properties` object (e.g. a VM's power state).\r\n * Consumers type the fields they have evidence for but keep this open `[key: string]: unknown`\r\n * signature so any field the backend adds later is immediately readable without a release.\r\n */\r\nexport interface ResourceProperties {\r\n [key: string]: unknown;\r\n}\r\n\r\n/**\r\n * Power state of a virtual machine, reported by the gateway in {@link VMProperties.vmEnabledState}.\r\n *\r\n * The numeric values are a direct copy of the gateway backend enum `VMEnabledState`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/VirtualMachine/VMEnabledState.cs). The two\r\n * common runtime states carry the shell-facing friendly names `Running`/`Off` (the backend names\r\n * these `Enabled`/`Disabled`; the values are identical) so shell call sites read naturally.\r\n * `Paused`/`Suspended` are Hyper-V runtime states observed on the wire beyond the backend enum;\r\n * because the value is a plain number, an unrecognized future state is still readable.\r\n */\r\nexport enum VMEnabledState {\r\n Unknown = 0,\r\n Other = 1,\r\n Running = 2,\r\n Off = 3,\r\n ShuttingDown = 4,\r\n NotApplicable = 5,\r\n EnabledButOffline = 6,\r\n InTest = 7,\r\n Deferred = 8,\r\n Quiesce = 9,\r\n Starting = 10,\r\n Paused = 32768,\r\n Suspended = 32769\r\n}\r\n\r\n/** Replication roles reported for a virtual machine. */\r\nexport enum VMReplicationMode {\r\n Primary = 'Primary',\r\n Replica = 'Replica',\r\n ExtendedReplica = 'ExtendedReplica'\r\n}\r\n\r\n/**\r\n * VM-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `VMObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/VirtualMachine/VMObjectProperties.cs). Extends\r\n * the shared open {@link ResourceProperties} bag so unnamed backend fields remain readable.\r\n */\r\nexport interface VMProperties extends ResourceProperties {\r\n vmId: string;\r\n vmEnabledState: VMEnabledState;\r\n replicationModes: VMReplicationMode[];\r\n}\r\n\r\n/**\r\n * The state of a cluster node, reported in {@link ClusterNode.state}.\r\n *\r\n * The numeric values are a direct copy of the gateway backend enum `ClusterNodeState`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterNodeState.cs). The member\r\n * names are the friendly, unprefixed forms of the backend names (backend: `ClusterNodeStateUnknown`/\r\n * `ClusterNodeUp`/`ClusterNodeDown`/`ClusterNodePaused`/`ClusterNodeJoining`; the numeric values are\r\n * identical) so call sites read naturally. Because the wire value is a plain number, an unrecognized\r\n * future state is still readable.\r\n */\r\nexport enum ClusterNodeState {\r\n /** The operation was not successful / state could not be determined (backend `ClusterNodeStateUnknown`). */\r\n Unknown = -1,\r\n /** The node is plugged in, turned on, booted, and capable of executing programs (backend `ClusterNodeUp`). */\r\n Up = 0,\r\n /** The node is turned off or not operational (backend `ClusterNodeDown`). */\r\n Down = 1,\r\n /** The node is running but not participating in cluster operations (backend `ClusterNodePaused`). */\r\n Paused = 2,\r\n /** The node is in the process of joining a cluster (backend `ClusterNodeJoining`). */\r\n Joining = 3\r\n}\r\n\r\n/**\r\n * A single node within a failover cluster, listed in {@link ClusterProperties.clusterNodes}.\r\n *\r\n * Direct copy of the gateway backend model `ClusterNodeObject`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterNodeObject.cs), whose fields\r\n * are all non-nullable on the backend (string fields default to empty, numeric to zero), so they are\r\n * required here. This is the closed, backend-faithful mirror of a cluster node; the containing\r\n * {@link ClusterProperties} bag stays forward-open via {@link ResourceProperties}.\r\n */\r\nexport interface ClusterNode {\r\n /** The cluster node name. */\r\n name: string;\r\n /** The FQDN of the cluster node. */\r\n fqdn: string;\r\n /** The build number of the cluster node. */\r\n buildNumber: number;\r\n /** The state of the cluster node. */\r\n state: ClusterNodeState;\r\n}\r\n\r\n/**\r\n * Cluster-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `ClusterObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Cluster/ClusterObjectProperties.cs). Extends\r\n * the shared open {@link ResourceProperties} bag so unnamed backend fields remain readable. The\r\n * `clusterNodes` list is optional to match the backend (`List<ClusterNodeObject>?`).\r\n */\r\nexport interface ClusterProperties extends ResourceProperties {\r\n /** The nodes that make up this cluster. */\r\n clusterNodes?: ClusterNode[];\r\n}\r\n\r\n/**\r\n * Hyper-V host-specific properties bag.\r\n *\r\n * Mirrors the gateway backend model `HostObjectProperties : ObjectProperties`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/Host/HostObjectProperties.cs), which carries\r\n * no host-specific fields today (host identity lives on the base resource: `name`/`displayName`).\r\n * The inherited open {@link ResourceProperties} index signature means any host property the backend\r\n * adds later is readable without a release.\r\n */\r\nexport interface HostProperties extends ResourceProperties {}\r\n\r\n/**\r\n * Uniform system/audit metadata that may accompany an enterprise resource.\r\n *\r\n * Direct copy of the gateway backend model `SystemData`\r\n * (wac repo: src/Enterprise/EnterpriseCommon/DataModel/SystemData.cs). Every field is optional and\r\n * the bag is open: this metadata is **not guaranteed** to be present on every list response, so\r\n * treat it as best-effort.\r\n */\r\nexport interface SystemData {\r\n /** The creator of the object. */\r\n createdBy?: string;\r\n /** The creation date of the object (ISO-8601 string). */\r\n createdDate?: string;\r\n /** The last updater of the object. */\r\n lastUpdatedBy?: string;\r\n /** The last update date of the object (ISO-8601 string). */\r\n lastUpdatedDate?: string;\r\n /** Any as-yet-unnamed backend field, returned verbatim. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/**\r\n * A single node of a resource's ancestry path (root -> ... -> resource), returned in\r\n * {@link TypedResource.hierarchy}.\r\n *\r\n * Direct copy of the gateway backend model `PathData`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/PathData.cs).\r\n */\r\nexport interface PathData {\r\n name: string;\r\n displayName: string;\r\n /** Backend `ObjectDataType` enum serialized to its member name (e.g. `Hyperv`). */\r\n objectType: string;\r\n depth: number;\r\n}\r\n\r\n/**\r\n * A single enterprise inventory resource. The same base shape is returned for every collection; the\r\n * {@link TypedResource.objectType} field distinguishes the concrete kind. When `expand=children` is\r\n * requested, the {@link TypedResource.children} array is populated.\r\n *\r\n * Direct copy of the gateway backend model `TypedResource` and its base `BaseResource`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/TypedResource.cs and .../BaseResource.cs).\r\n * Every inventory list endpoint returns `ListApiResponse<List<TypedResource>>`.\r\n *\r\n * This base is intentionally **closed** (no `[key: string]: unknown` index signature) to stay\r\n * faithful to the backend DTO; forward-compatibility for per-type data comes from the shared open\r\n * {@link ResourceProperties} bag that each concrete resource's `properties` narrows to.\r\n */\r\nexport interface TypedResource {\r\n /**\r\n * The concrete kind of this resource, as the backend `ObjectDataType` enum serialized to its\r\n * member name (e.g. `Hyperv`, `VirtualMachine`). Typed as `string` to stay faithful to the raw\r\n * wire without curating the backend's full kind list; the virtualization SDK narrows this to its\r\n * modeled subset via `VirtualizationObjectType`.\r\n */\r\n objectType: string;\r\n name: string;\r\n displayName: string;\r\n description?: string;\r\n /** Whether this resource is a traversal-only node (a grouping that carries no data of its own). */\r\n isTraverseOnly?: boolean;\r\n accessProperties: AccessProperties;\r\n children?: ChildObjectDataResource[];\r\n /** The resource's ancestry path from the root, when returned by the gateway. */\r\n hierarchy?: PathData[];\r\n /** Per-type data bag; the concrete resource kinds narrow this to their specific properties type. */\r\n properties?: ResourceProperties;\r\n /** Best-effort system/audit metadata; see {@link SystemData} (not always present). */\r\n systemData?: SystemData;\r\n}\r\n\r\n/**\r\n * A child entry returned when a resource is expanded (e.g. the VMs under a host, or the hosts under\r\n * a cluster). It carries the full {@link TypedResource} shape plus the parent-linkage fields below.\r\n *\r\n * Direct copy of the gateway backend model `ChildObjectDataResource : TypedResource`\r\n * (wac repo: src/Enterprise/EnterpriseStorage/DataAccess/Models/ChildObjectDataResource.cs), which\r\n * adds `ParentName`, `HasChildren` and `OverallHealthStatus` on top of the base resource.\r\n */\r\nexport interface ChildObjectDataResource extends TypedResource {\r\n /** Name of the parent resource this child belongs to. */\r\n parentName: string;\r\n /** Whether this child itself has further children (i.e. is expandable). */\r\n hasChildren: boolean;\r\n /**\r\n * The overall health status of the node (e.g. \"Healthy\", \"Unhealthy\"). For a node with its own\r\n * agent this is that agent's status; for a container (Cluster, ResourceGroup, NAS cluster) it is\r\n * \"Unhealthy\" when a readable descendant agent is unhealthy, and left unset otherwise. Omitted\r\n * from the response when unset.\r\n */\r\n overallHealthStatus?: string;\r\n}\r\n"]}
|
package/core/index.d.ts
CHANGED
|
@@ -161,6 +161,8 @@ export { RpcOverlayCloseClient } from './rpc/overlay/rpc-overlay-close-client';
|
|
|
161
161
|
export { RpcOverlayOpenClient } from './rpc/overlay/rpc-overlay-open-client';
|
|
162
162
|
export { RpcReportClient } from './rpc/report/rpc-report-client';
|
|
163
163
|
export { RpcRemoteStatusData, RpcReportData, RpcReportDataInbound, RpcReportDataInternal, SelectablePath } from './rpc/report/rpc-report-model';
|
|
164
|
+
export { RpcResourceDataChangedClient } from './rpc/resource-data-changed/rpc-resource-data-changed-client';
|
|
165
|
+
export { RpcResourceDataChanged } from './rpc/resource-data-changed/rpc-resource-data-changed-model';
|
|
164
166
|
export { DeferredData, Rpc } from './rpc/rpc';
|
|
165
167
|
export { CommandCallBackType, RpcActivateData, RpcBase, RpcBaseData, RpcDeactivateResult, RpcDeactivateState, RpcInboundCommands, RpcInboundHandlers, RpcInitData, RpcInitDataInternal, RpcMessageEvent, RpcMessagePacket, RpcMessagePacketType, RpcMode, RpcOpenData, RpcOpenDataInternal, RpcOpenResult, RpcOpenState, RpcOutboundCommands, RpcOutboundHandlers, RpcPingResult, RpcRelationshipType, RpcShutdownData, RpcShutdownResult, rpcVersion } from './rpc/rpc-base';
|
|
166
168
|
export { RpcChannel } from './rpc/rpc-channel';
|
|
@@ -188,7 +190,7 @@ export { RpcWorkItem, RpcWorkItemResult } from './rpc/work-item/rpc-work-item-mo
|
|
|
188
190
|
export { RpcWorkItemFindClient } from './rpc/work-item-find/rpc-work-item-find-client';
|
|
189
191
|
export { RpcWorkItemFind, RpcWorkItemFindResult } from './rpc/work-item-find/rpc-work-item-find-model';
|
|
190
192
|
export { ActiveConnection } from './security/active-connection';
|
|
191
|
-
export { AuthorizationCredentials, AuthorizationManager, AuthorizationManagerInitProperties, NodeAuthorizationErrorData, NodeAuthorizationHandler } from './security/authorization-manager';
|
|
193
|
+
export { AuthorizationCredentials, AuthorizationManager, AuthorizationManagerInitProperties, AuthorizationManagerOptions, AuthorizationTokenSet, NodeAuthorizationErrorData, NodeAuthorizationHandler } from './security/authorization-manager';
|
|
192
194
|
export { Connection, ConnectionProperties, connectionTypeConstants, ConnectionUtility } from './security/connection';
|
|
193
195
|
export { ConnectionChangedEvent, ConnectionChangeType, ConnectionManager, ConnectionsChangedEvent, ConnectionsInitializedEvent } from './security/connection-manager';
|
|
194
196
|
export { CredSSPManager } from './security/credssp-manager';
|
|
@@ -208,8 +210,8 @@ export { ServerInventoryDetailCache } from './shared/server-inventory/server-inv
|
|
|
208
210
|
export { SharedCache, SharedCacheContainer, SharedCacheOptions } from './shared/shared-cache';
|
|
209
211
|
export { compareVersions, isFourPartNumericVersion } from './updates/version-compare';
|
|
210
212
|
export { AccessProperties, ChildObjectDataResource, ENTERPRISE_DATA_BASE_PATH, EnterpriseObjectTypes, PathData, ResourceProperties, SystemData, TypedResource } from './enterprise/enterprise-models';
|
|
211
|
-
export { VirtualizationClientHost,
|
|
212
|
-
export { ClusterNode, ClusterNodeState, ClusterProperties, HostProperties, VirtualizationCapabilities, VirtualizationCluster, VirtualizationHost, VirtualizationHostChild, VirtualizationListResponse, VirtualizationObjectType, VirtualizationResource, VirtualizationResourceGroup, VirtualizationVm, VirtualizationVmChild, VMEnabledState, VMProperties } from './virtualization/virtualization-models';
|
|
213
|
+
export { VirtualizationClientHost, VirtualizationClient } from './virtualization/virtualization-client';
|
|
214
|
+
export { ClusterNode, ClusterNodeState, ClusterProperties, HostProperties, VirtualizationCapabilities, VirtualizationCluster, VirtualizationHost, VirtualizationHostChild, VirtualizationListResponse, VirtualizationObjectType, VirtualizationResource, VirtualizationResourceGroup, VirtualizationVm, VirtualizationVmChild, VMEnabledState, VMProperties, VMReplicationMode } from './virtualization/virtualization-models';
|
|
213
215
|
export { VirtualizationResourceNotFoundError } from './virtualization/virtualization-resource-not-found-error';
|
|
214
216
|
export { VirtualizationUnavailableError } from './virtualization/virtualization-unavailable-error';
|
|
215
217
|
export { PersistentLocalStorage } from './workflow/persistent-local-storage';
|
package/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/core/index.js
CHANGED
|
@@ -140,6 +140,7 @@ export { RpcNotificationClient } from './rpc/notification/rpc-notification-clien
|
|
|
140
140
|
export { RpcOverlayCloseClient } from './rpc/overlay/rpc-overlay-close-client';
|
|
141
141
|
export { RpcOverlayOpenClient } from './rpc/overlay/rpc-overlay-open-client';
|
|
142
142
|
export { RpcReportClient } from './rpc/report/rpc-report-client';
|
|
143
|
+
export { RpcResourceDataChangedClient } from './rpc/resource-data-changed/rpc-resource-data-changed-client';
|
|
143
144
|
export { Rpc } from './rpc/rpc';
|
|
144
145
|
export { RpcBase, RpcDeactivateState, RpcInboundCommands, RpcMessagePacketType, RpcOpenState, RpcOutboundCommands, rpcVersion } from './rpc/rpc-base';
|
|
145
146
|
export { RpcChannel } from './rpc/rpc-channel';
|
|
@@ -180,7 +181,7 @@ export { SharedCache } from './shared/shared-cache';
|
|
|
180
181
|
export { compareVersions, isFourPartNumericVersion } from './updates/version-compare';
|
|
181
182
|
export { ENTERPRISE_DATA_BASE_PATH, EnterpriseObjectTypes } from './enterprise/enterprise-models';
|
|
182
183
|
export { VirtualizationClient } from './virtualization/virtualization-client';
|
|
183
|
-
export { ClusterNodeState, VirtualizationObjectType, VMEnabledState } from './virtualization/virtualization-models';
|
|
184
|
+
export { ClusterNodeState, VirtualizationObjectType, VMEnabledState, VMReplicationMode } from './virtualization/virtualization-models';
|
|
184
185
|
export { VirtualizationResourceNotFoundError } from './virtualization/virtualization-resource-not-found-error';
|
|
185
186
|
export { VirtualizationUnavailableError } from './virtualization/virtualization-unavailable-error';
|
|
186
187
|
export { PersistentLocalStorage } from './workflow/persistent-local-storage';
|