{"version":3,"sources":["webpack://TypeScriptModule/webpack/bootstrap","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/OTelNotifications.js","webpack://TypeScriptModule/./src/index.ts","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Contract.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataFieldType.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataFieldHelper.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataClassification.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/EventFlagsProperties.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/officeeventschema.tml.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/Office.System.Error.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/Contracts.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Event.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryEvent.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TenantTokenManager.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryEventValidator.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/SimpleTelemetryLogger.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Version.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/CorrelationVector.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Activity.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryLogger.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","LogLevel","Category","onNotificationEvent","onNotification","logNotification","level","category","message","fireEvent","logError","error","Error","errorMessage","telemetryLogger","dLE","sWE","sendTelemetryEvent","event","Office","window","officeOnReadyCallback","delay","onReadyTimeStampDate","Date","now","onReadyTimeStamp","performanceTimingData","undefined","performance","getEntries","navigation","getEntriesByType","resource","paint","frame","addSink","OfficeJsSink","setTenantTokens","Extensibility","ariaTenantToken","nexusTenantToken","serviceWorkerExperiment","isServiceWorkerUsed","e","setTimeout","registered","registerTS","supported","registerScope","resourcesFromCache","resourcesFromNetwork","eventName","eventFlags","samplingPolicy","Diagnostics","dataCategories","ProductServiceUsage","ProductServicePerformance","dataFields","location","hostname","contentLoadedTS","scriptFetchedTS","scriptAddedTS","scriptLoadedTS","JSON","stringify","dynamicLoadExperiment","dynamic","scriptLoaded","addEventListener","onReady","then","addContractField","instanceName","contractName","push","DataFieldType","makeBooleanDataField","dataType","Boolean","classification","SystemMetadata","makeInt64DataField","Int64","makeDoubleDataField","Double","makeStringDataField","String","makeGuidDataField","Guid","DataClassification","SamplingPolicy","PersistencePriority","CostPriority","DataCategories","DiagnosticLevel","Activity","getFields","contract","code","type","tag","isExpected","cV","duration","count","aggMode","success","result","apply","id","version","sessionId","alias","primaryIdentityHash","primaryIdentitySpace","tenantId","tenantGroup","isAnonymous","instanceId","marketplaceType","browserToken","osfRuntimeVersion","officeJsVersion","hostJsVersion","assetId","providerName","state","commandSurface","parentName","triggerMethod","timeOffsetMs","errorGroup","Contracts","_Activity","_Result","_Error","_Funnel","_Host","_SDX","_UserAction","_User","System","Result","Funnel","Host","SDX","User","UserAction","Event","this","_listeners","args","forEach","listener","addListener","removeListener","filter","h","getListenerCount","length","cloneEvent","localEvent","telemetryProperties","eventContract","slice","TokenType","TenantTokenManager","ariaTokenMap","nexusTokenMap","tenantTokens","tokenTree","mergeTenantTokens","existingTokenTree","newTokenTree","_i","_a","keys","getAriaTenantToken","ariaToken","getTenantToken","Aria","getNexusTenantToken","nexusToken","Nexus","tokenType","pieces","split","node","token","setTenantToken","namespace","parts","Core","leaf","index","parentNode","getTenantTokens","clear","TelemetryEventValidator","StartsWithCapitalRegex","AlphanumericRegex","isNameValid","test","validateDataField","dataField","dataFieldName","validateInt","isFinite","Math","floor","validateTelemetryEvent","eventNamePieces","eventNodeName","isNamespaceValid","eventNode","isEventNameValid","__assign","assign","arguments","SuppressNexus","SimpleTelemetryLogger","parent","persistentDataFields","config","_b","onSendEvent","getConfig","Warning","processTelemetryEvent","_e","unshift","disableValidation","sink","CorrelationVector","baseHash","baseId","getNext","characters","charAt","random","join","generatePseudoHash","CV","getNextChild","getString","nextChild","base","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","getCurrentMicroseconds","ActivityScope","activityName","_optionalEventFlags","_ended","_telemetryLogger","_activityName","_cv","_dataFields","_success","_startTime","createNew","createChildActivity","setEventFlags","addDataField","addDataFields","setSuccess","setResult","_result","endNow","activity","sendActivity","executeAsync","activityBody","_this","catch","executeSync","ret","executeChildActivityAsync","executeChildActivitySync","extendStatics","__extends","b","setPrototypeOf","__proto__","Array","__","constructor","TelemetryLogger","_super","executeActivityAsync","createNewActivity","executeActivitySync","optionalEventFlags","sendError"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 120);\n","import { Event } from './Event';\r\nvar onNotificationEvent = new Event();\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n})(LogLevel || (LogLevel = {}));\r\nexport var Category;\r\n(function (Category) {\r\n Category[Category[\"Core\"] = 0] = \"Core\";\r\n Category[Category[\"Sink\"] = 1] = \"Sink\";\r\n Category[Category[\"Transport\"] = 2] = \"Transport\";\r\n})(Category || (Category = {}));\r\n/**\r\n * Returns a list of notification event listeners. You can add an event listener:\r\n * onNotification().addListener(event =\\> \\{\r\n * console.log(event!.message + ' ' + event!.level); \\});\r\n *\r\n * DO NOT trigger telemetry events on these notifications, as doing so may\r\n * create an infinite loop of telemetry events.\r\n */\r\nexport function onNotification() {\r\n return onNotificationEvent;\r\n}\r\n/**\r\n * Internal function: log a notification\r\n * @param level - The level of notification to log\r\n * @param category - The category of the notification\r\n * @param message - A function that returns a message to log\r\n */\r\nexport function logNotification(level, category, message) {\r\n onNotificationEvent.fireEvent({ level: level, category: category, message: message });\r\n}\r\n/**\r\n * Internal function: log an error\r\n * @param category - The category of the notification\r\n * @param message - A message that will preceed the message from error object\r\n * @param error - An error object, from which an error message might be obtained\r\n */\r\nexport function logError(category, message, error) {\r\n logNotification(LogLevel.Error, category, function () {\r\n var errorMessage = error instanceof Error ? error.message : '';\r\n return message + \": \" + errorMessage;\r\n });\r\n}\r\n//# sourceMappingURL=OTelNotifications.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n * See LICENSE in the project root for license information.\r\n */\r\n\r\ndeclare var Office: any;\r\ndeclare var dynamicLoadExperiment: any;\r\ndeclare var serviceWorkerExperiment: any;\r\n\r\nimport * as OTel from '@ms/oteljs';\r\n\r\nclass OfficeJsSink implements OTel.TelemetrySink {\r\n public sendTelemetryEvent(event: OTel.TelemetryEvent) {\r\n Office.sendTelemetryEvent(event);\r\n }\r\n}\r\n\r\nexport let telemetryLogger: OTel.TelemetryLogger;\r\n\r\n// Expose global variables\r\n(window as any).telemetryLogger = {};\r\n\r\nlet dLE;\r\nlet sWE;\r\n\r\nconst officeOnReadyCallback = () => {\r\n const onReadyTimeStampDate: number = Date.now();\r\n let onReadyTimeStamp: number = -1;\r\n const performanceTimingData: any = {};\r\n\r\n if (window.performance !== undefined)\r\n {\r\n if (window.performance.now !== undefined)\r\n {\r\n onReadyTimeStamp = performance.now();\r\n }\r\n\r\n if (window.performance.getEntries !== undefined)\r\n {\r\n // PerformanceObserver is not supported by IE11 and for TestSDX we don't lose any buffered data without it.\r\n performanceTimingData.navigation = performance.getEntriesByType('navigation');\r\n performanceTimingData.resource = performance.getEntriesByType('resource');\r\n performanceTimingData.paint = performance.getEntriesByType('paint');\r\n performanceTimingData.frame = performance.getEntriesByType('frame');\r\n }\r\n }\r\n\r\n telemetryLogger = new OTel.TelemetryLogger();\r\n telemetryLogger.addSink(new OfficeJsSink());\r\n\r\n telemetryLogger.setTenantTokens({\r\n Office: {\r\n Extensibility: {\r\n ariaTenantToken: 'db334b301e7b474db5e0f02f07c51a47-a1b5bc36-1bbe-482f-a64a-c2d9cb606706-7439',\r\n nexusTenantToken: 1755\r\n }\r\n }\r\n });\r\n\r\n (window as any).telemetryLogger = telemetryLogger;\r\n\r\n // SeviceWorker related telemetry is available in window.OnLoad().\r\n // To avoid race between window.load and office.onReady, we add 10s delay for service worker case.\r\n let delay;\r\n try {\r\n if (serviceWorkerExperiment.isServiceWorkerUsed) {\r\n delay = 10000;\r\n }\r\n }\r\n catch (e) {\r\n delay = 0;\r\n }\r\n\r\n setTimeout(\r\n () => {\r\n try {\r\n sWE = serviceWorkerExperiment;\r\n }\r\n catch (e) {\r\n sWE = {\r\n registered: false,\r\n registerTS: -1,\r\n supported: false,\r\n registerScope: '',\r\n isServiceWorkerUsed: false,\r\n resourcesFromCache: '',\r\n resourcesFromNetwork: ''\r\n };\r\n }\r\n\r\n telemetryLogger.sendTelemetryEvent({\r\n eventName: 'Office.Extensibility.SDX.Experimentation',\r\n eventFlags: {\r\n samplingPolicy: OTel.SamplingPolicy.Diagnostics,\r\n // tslint:disable-next-line:no-bitwise\r\n dataCategories: OTel.DataCategories.ProductServiceUsage | OTel.DataCategories.ProductServicePerformance\r\n },\r\n dataFields: [\r\n OTel.makeBooleanDataField('Loaded', true),\r\n OTel.makeDoubleDataField('onReadyTimeStamp', onReadyTimeStamp),\r\n OTel.makeStringDataField('URL', window.location.hostname), // Only log hostname, not full URL\r\n OTel.makeDoubleDataField('onReadyTimeStamp_Date', onReadyTimeStampDate),\r\n OTel.makeDoubleDataField('contentLoadedTimeStamp', dLE.contentLoadedTS),\r\n OTel.makeDoubleDataField('scriptFetchedTimeStamp', dLE.scriptFetchedTS),\r\n OTel.makeDoubleDataField('scriptAddedTimeStamp', dLE.scriptAddedTS),\r\n OTel.makeDoubleDataField('scriptLoadedTimeStamp', dLE.scriptLoadedTS),\r\n OTel.makeStringDataField('performanceTimingData', JSON.stringify(performanceTimingData)),\r\n OTel.makeBooleanDataField('swRegistered', sWE.registered),\r\n OTel.makeDoubleDataField('swRegisteredTS', sWE.registerTS),\r\n OTel.makeBooleanDataField('swSupported', sWE.supported),\r\n OTel.makeStringDataField('swRegisterScope', sWE.registerScope),\r\n OTel.makeStringDataField('swResourcesFromCache', sWE.resourcesFromCache),\r\n OTel.makeStringDataField('swResourcesFromNetwork', sWE.resourcesFromNetwork)\r\n ]\r\n });\r\n },\r\n delay\r\n );\r\n};\r\n\r\ntry {\r\n dLE = dynamicLoadExperiment;\r\n}\r\ncatch (e) {\r\n dLE = {\r\n dynamic: false,\r\n scriptLoaded: false,\r\n contentLoadedTS: -1,\r\n scriptFetchedTS: -1,\r\n scriptAddedTS: -1,\r\n scriptLoadedTS: -1\r\n };\r\n}\r\n\r\nif (dLE.dynamic && !dLE.scriptLoaded) {\r\n window.addEventListener('WordJSLoaded', () => Office.onReady()\r\n .then(officeOnReadyCallback),\r\n false);\r\n} else {\r\n Office.onReady()\r\n .then(officeOnReadyCallback);\r\n}\r\n","import { makeStringDataField } from './DataFieldHelper';\r\n/**\r\n * Add a metadata field to the list of data fields indicating that a specific contract has been used.\r\n * For example, we might add the data field zC.MySdx: Office.System.SDX, which indicates that\r\n * the fields under MySdx conform to the Office.System.SDX contract.\r\n * @param dataFields - The list of data fields, to which a contract field will be added\r\n * @param instanceName - The instance of the contract. Usually the same as the contract name without its namespace,\r\n * but can be different, especially if you have more than one of the same contract type in a single event.\r\n * @param contractName - The name of the contract, for example Office.System.SDX\r\n */\r\nexport function addContractField(dataFields, instanceName, contractName) {\r\n dataFields.push(makeStringDataField(\"zC.\" + instanceName, contractName));\r\n}\r\n//# sourceMappingURL=Contract.js.map","export var DataFieldType;\r\n(function (DataFieldType) {\r\n DataFieldType[DataFieldType[\"String\"] = 0] = \"String\";\r\n DataFieldType[DataFieldType[\"Boolean\"] = 1] = \"Boolean\";\r\n DataFieldType[DataFieldType[\"Int64\"] = 2] = \"Int64\";\r\n DataFieldType[DataFieldType[\"Double\"] = 3] = \"Double\";\r\n DataFieldType[DataFieldType[\"Guid\"] = 4] = \"Guid\";\r\n})(DataFieldType || (DataFieldType = {}));\r\n//# sourceMappingURL=DataFieldType.js.map","import { DataFieldType } from './DataFieldType';\r\nimport { DataClassification } from './DataClassification';\r\n/**\r\n * Make a boolean data field.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeBooleanDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Boolean,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a data field corresponding to the Aria Int64 data type. Note that\r\n * JavaScript doesn't actually support Int64 precision on large numbers.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeInt64DataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Int64,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a double data field\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeDoubleDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Double,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a string data field\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeStringDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.String,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a GUID data field\r\n * !!!WARNING: Only the 1DS Sink has support for Guid types.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeGuidDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Guid,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n//# sourceMappingURL=DataFieldHelper.js.map","export var DataClassification;\r\n(function (DataClassification) {\r\n // tslint:disable:no-bitwise\r\n DataClassification[DataClassification[\"EssentialServiceMetadata\"] = 1] = \"EssentialServiceMetadata\";\r\n DataClassification[DataClassification[\"AccountData\"] = 2] = \"AccountData\";\r\n DataClassification[DataClassification[\"SystemMetadata\"] = 4] = \"SystemMetadata\";\r\n DataClassification[DataClassification[\"OrganizationIdentifiableInformation\"] = 8] = \"OrganizationIdentifiableInformation\";\r\n DataClassification[DataClassification[\"EndUserIdentifiableInformation\"] = 16] = \"EndUserIdentifiableInformation\";\r\n DataClassification[DataClassification[\"CustomerContent\"] = 32] = \"CustomerContent\";\r\n DataClassification[DataClassification[\"AccessControl\"] = 64] = \"AccessControl\";\r\n})(DataClassification || (DataClassification = {}));\r\n//# sourceMappingURL=DataClassification.js.map","export var SamplingPolicy;\r\n(function (SamplingPolicy) {\r\n SamplingPolicy[SamplingPolicy[\"NotSet\"] = 0] = \"NotSet\";\r\n SamplingPolicy[SamplingPolicy[\"Measure\"] = 1] = \"Measure\";\r\n SamplingPolicy[SamplingPolicy[\"Diagnostics\"] = 2] = \"Diagnostics\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalBusinessImpact\"] = 191] = \"CriticalBusinessImpact\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalCensus\"] = 192] = \"CriticalCensus\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalExperimentation\"] = 193] = \"CriticalExperimentation\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalUsage\"] = 194] = \"CriticalUsage\";\r\n})(SamplingPolicy || (SamplingPolicy = {}));\r\nexport var PersistencePriority;\r\n(function (PersistencePriority) {\r\n PersistencePriority[PersistencePriority[\"NotSet\"] = 0] = \"NotSet\";\r\n PersistencePriority[PersistencePriority[\"Normal\"] = 1] = \"Normal\";\r\n PersistencePriority[PersistencePriority[\"High\"] = 2] = \"High\";\r\n})(PersistencePriority || (PersistencePriority = {}));\r\nexport var CostPriority;\r\n(function (CostPriority) {\r\n CostPriority[CostPriority[\"NotSet\"] = 0] = \"NotSet\";\r\n CostPriority[CostPriority[\"Normal\"] = 1] = \"Normal\";\r\n CostPriority[CostPriority[\"High\"] = 2] = \"High\";\r\n})(CostPriority || (CostPriority = {}));\r\n/**\r\n * DataCategories\r\n * These can be combined with | as appropriate\r\n */\r\nexport var DataCategories;\r\n(function (DataCategories) {\r\n DataCategories[DataCategories[\"NotSet\"] = 0] = \"NotSet\";\r\n DataCategories[DataCategories[\"SoftwareSetup\"] = 1] = \"SoftwareSetup\";\r\n DataCategories[DataCategories[\"ProductServiceUsage\"] = 2] = \"ProductServiceUsage\";\r\n DataCategories[DataCategories[\"ProductServicePerformance\"] = 4] = \"ProductServicePerformance\";\r\n DataCategories[DataCategories[\"DeviceConfiguration\"] = 8] = \"DeviceConfiguration\";\r\n DataCategories[DataCategories[\"InkingTypingSpeech\"] = 16] = \"InkingTypingSpeech\";\r\n})(DataCategories || (DataCategories = {}));\r\n/**\r\n * The diagnostic level of the event\r\n * For generic events, a user can be set to send no events, only basic events, or all (full and basic) events.\r\n * Services can also send events that are necessary for them to function; these are not affected by the above setting.\r\n * Instead, if the service is turned off, then it will stop functioning and no NecessaryServiceDataEvents will be sent.\r\n * AlwaysOnNecessaryServiceDataEvents are always on.\r\n */\r\nexport var DiagnosticLevel;\r\n(function (DiagnosticLevel) {\r\n DiagnosticLevel[DiagnosticLevel[\"ReservedDoNotUse\"] = 0] = \"ReservedDoNotUse\";\r\n DiagnosticLevel[DiagnosticLevel[\"BasicEvent\"] = 10] = \"BasicEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"FullEvent\"] = 100] = \"FullEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"NecessaryServiceDataEvent\"] = 110] = \"NecessaryServiceDataEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"AlwaysOnNecessaryServiceDataEvent\"] = 120] = \"AlwaysOnNecessaryServiceDataEvent\";\r\n})(DiagnosticLevel || (DiagnosticLevel = {}));\r\n//# sourceMappingURL=EventFlagsProperties.js.map","/*\r\n This code was automatically generated.\r\n Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\r\n*/\r\nimport { makeBooleanDataField, makeInt64DataField, makeStringDataField } from '../DataFieldHelper';\r\nimport { addContractField } from '../Contract';\r\nexport var Result;\r\n(function (Result) {\r\n var contractName = 'Office.System.Result';\r\n /* Gets data fields for the Office.System.Result contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n dataFields.push(makeInt64DataField(instanceName + \".Code\", contract.code));\r\n if (contract.type !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Type\", contract.type));\r\n }\r\n if (contract.tag !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Tag\", contract.tag));\r\n }\r\n if (contract.isExpected !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".IsExpected\", contract.isExpected));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Result.getFields = getFields;\r\n})(Result || (Result = {})); // Result\r\nexport var Activity;\r\n(function (Activity) {\r\n Activity.contractName = 'Office.System.Activity';\r\n /* Gets data fields for the Office.System.Activity contract */\r\n function getFields(contract) {\r\n var instanceName = 'Activity';\r\n var dataFields = [];\r\n if (contract.cV !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".CV\", contract.cV));\r\n }\r\n dataFields.push(makeInt64DataField(instanceName + \".Duration\", contract.duration));\r\n dataFields.push(makeInt64DataField(instanceName + \".Count\", contract.count));\r\n dataFields.push(makeInt64DataField(instanceName + \".AggMode\", contract.aggMode));\r\n if (contract.success !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".Success\", contract.success));\r\n }\r\n if (contract.result !== undefined) {\r\n dataFields.push.apply(dataFields, Result.getFields(instanceName + \".Result\", contract.result));\r\n }\r\n addContractField(dataFields, instanceName, Activity.contractName);\r\n return dataFields;\r\n }\r\n Activity.getFields = getFields;\r\n})(Activity || (Activity = {})); // Activity\r\nexport var Host;\r\n(function (Host) {\r\n var contractName = 'Office.System.Host';\r\n /* Gets data fields for the Office.System.Host contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.version !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Version\", contract.version));\r\n }\r\n if (contract.sessionId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".SessionId\", contract.sessionId));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Host.getFields = getFields;\r\n})(Host || (Host = {})); // Host\r\nexport var User;\r\n(function (User) {\r\n var contractName = 'Office.System.User';\r\n /* Gets data fields for the Office.System.User contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.alias !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Alias\", contract.alias));\r\n }\r\n if (contract.primaryIdentityHash !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".PrimaryIdentityHash\", contract.primaryIdentityHash));\r\n }\r\n if (contract.primaryIdentitySpace !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".PrimaryIdentitySpace\", contract.primaryIdentitySpace));\r\n }\r\n if (contract.tenantId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TenantId\", contract.tenantId));\r\n }\r\n if (contract.tenantGroup !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TenantGroup\", contract.tenantGroup));\r\n }\r\n if (contract.isAnonymous !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".IsAnonymous\", contract.isAnonymous));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n User.getFields = getFields;\r\n})(User || (User = {})); // User\r\nexport var SDX;\r\n(function (SDX) {\r\n var contractName = 'Office.System.SDX';\r\n /* Gets data fields for the Office.System.SDX contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.version !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Version\", contract.version));\r\n }\r\n if (contract.instanceId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".InstanceId\", contract.instanceId));\r\n }\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.marketplaceType !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".MarketplaceType\", contract.marketplaceType));\r\n }\r\n if (contract.sessionId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".SessionId\", contract.sessionId));\r\n }\r\n if (contract.browserToken !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".BrowserToken\", contract.browserToken));\r\n }\r\n if (contract.osfRuntimeVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".OsfRuntimeVersion\", contract.osfRuntimeVersion));\r\n }\r\n if (contract.officeJsVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".OfficeJsVersion\", contract.officeJsVersion));\r\n }\r\n if (contract.hostJsVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".HostJsVersion\", contract.hostJsVersion));\r\n }\r\n if (contract.assetId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".AssetId\", contract.assetId));\r\n }\r\n if (contract.providerName !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".ProviderName\", contract.providerName));\r\n }\r\n if (contract.type !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Type\", contract.type));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n SDX.getFields = getFields;\r\n})(SDX || (SDX = {})); // SDX\r\nexport var Funnel;\r\n(function (Funnel) {\r\n var contractName = 'Office.System.Funnel';\r\n /* Gets data fields for the Office.System.Funnel contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.state !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".State\", contract.state));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Funnel.getFields = getFields;\r\n})(Funnel || (Funnel = {})); // Funnel\r\nexport var UserAction;\r\n(function (UserAction) {\r\n var contractName = 'Office.System.UserAction';\r\n /* Gets data fields for the Office.System.UserAction contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.commandSurface !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".CommandSurface\", contract.commandSurface));\r\n }\r\n if (contract.parentName !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".ParentName\", contract.parentName));\r\n }\r\n if (contract.triggerMethod !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TriggerMethod\", contract.triggerMethod));\r\n }\r\n if (contract.timeOffsetMs !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".TimeOffsetMs\", contract.timeOffsetMs));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n UserAction.getFields = getFields;\r\n})(UserAction || (UserAction = {})); // UserAction\r\n//# sourceMappingURL=officeeventschema.tml.js.map","import { makeInt64DataField, makeStringDataField } from '../DataFieldHelper';\r\nimport { addContractField } from '../Contract';\r\nexport var Error;\r\n(function (Error) {\r\n var contractName = 'Office.System.Error';\r\n /**\r\n * Gets data fields for the Error Contract\r\n * @param instanceName - The instance name of this Error Contract\r\n * @param contract - The object containing data fields pertaining to the Error Contract\r\n */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n dataFields.push(makeStringDataField(instanceName + \".ErrorGroup\", contract.errorGroup));\r\n dataFields.push(makeInt64DataField(instanceName + \".Tag\", contract.tag));\r\n if (contract.code !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Code\", contract.code));\r\n }\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.count !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Count\", contract.count));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Error.getFields = getFields;\r\n})(Error || (Error = {})); // Error\r\n//# sourceMappingURL=Office.System.Error.js.map","import { Activity, Result, Funnel, Host, SDX, UserAction, User } from './officeeventschema.tml';\r\nimport { Error } from './Office.System.Error';\r\nvar _Activity = Activity;\r\nvar _Result = Result;\r\nvar _Error = Error;\r\nvar _Funnel = Funnel;\r\nvar _Host = Host;\r\nvar _SDX = SDX;\r\nvar _UserAction = UserAction;\r\nvar _User = User;\r\nexport var Contracts;\r\n(function (Contracts) {\r\n var Office;\r\n (function (Office) {\r\n var System;\r\n (function (System) {\r\n System.Activity = _Activity;\r\n System.Result = _Result;\r\n System.Error = _Error;\r\n System.Funnel = _Funnel;\r\n System.Host = _Host;\r\n System.SDX = _SDX;\r\n System.User = _User;\r\n System.UserAction = _UserAction;\r\n })(System = Office.System || (Office.System = {}));\r\n })(Office = Contracts.Office || (Contracts.Office = {}));\r\n})(Contracts || (Contracts = {}));\r\n//# sourceMappingURL=Contracts.js.map","/* tslint:disable */\r\n// Event implementation. Allows an object to notify subscribed listeners of an event, passing\r\n// a typed payload for event arguments. Users of this class should keep the Event private,\r\n// and instead expose the object to the outside via the IEventListeners interface to\r\n// prevent other classes from firing the event.\r\nvar Event = /** @class */ (function () {\r\n function Event() {\r\n this._listeners = [];\r\n }\r\n /**\r\n * Fires an event to its listeners\r\n * @param args - The parameters of the event\r\n */\r\n Event.prototype.fireEvent = function (args) {\r\n this._listeners.forEach(function (listener) { return listener(args); });\r\n };\r\n /**\r\n * Add an event listener\r\n * @param listener - The listener that can process events\r\n */\r\n Event.prototype.addListener = function (listener) {\r\n if (listener) {\r\n this._listeners.push(listener);\r\n }\r\n };\r\n /**\r\n * Remove an event listener\r\n * @param listener - The listener to remove\r\n */\r\n Event.prototype.removeListener = function (listener) {\r\n this._listeners = this._listeners.filter(function (h) { return h !== listener; });\r\n };\r\n /**\r\n * Get the count of event listeners\r\n */\r\n Event.prototype.getListenerCount = function () {\r\n return this._listeners.length;\r\n };\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","/**\r\n * Clone a telemetry event; generally so we don't modify the input telemetry event\r\n * Also sets dataFields to [] if it isn't already set\r\n * @param event - The event to clone\r\n */\r\nexport function cloneEvent(event) {\r\n var localEvent = { eventName: event.eventName, eventFlags: event.eventFlags };\r\n if (!!event.telemetryProperties) {\r\n localEvent.telemetryProperties = {\r\n ariaTenantToken: event.telemetryProperties.ariaTenantToken,\r\n nexusTenantToken: event.telemetryProperties.nexusTenantToken\r\n };\r\n }\r\n if (!!event.eventContract) {\r\n localEvent.eventContract = { name: event.eventContract.name, dataFields: event.eventContract.dataFields.slice() };\r\n }\r\n localEvent.dataFields = !!event.dataFields ? event.dataFields.slice() : [];\r\n return localEvent;\r\n}\r\n//# sourceMappingURL=TelemetryEvent.js.map","import { logNotification, LogLevel, Category } from './OTelNotifications';\r\nvar TokenType;\r\n(function (TokenType) {\r\n TokenType[TokenType[\"Aria\"] = 0] = \"Aria\";\r\n TokenType[TokenType[\"Nexus\"] = 1] = \"Nexus\";\r\n})(TokenType || (TokenType = {}));\r\nexport var TenantTokenManager;\r\n(function (TenantTokenManager) {\r\n var ariaTokenMap = {};\r\n var nexusTokenMap = {};\r\n // tslint:disable-next-line:no-any\r\n var tenantTokens = {};\r\n function setTenantToken(namespace, ariaTenantToken, nexusTenantToken) {\r\n var parts = namespace.split('.');\r\n // Ensure that the provided namespace is valid\r\n if (parts.length < 2 || parts[0] !== 'Office') {\r\n logNotification(LogLevel.Error, Category.Core, function () {\r\n return \"Invalid namespace: \" + namespace;\r\n });\r\n return;\r\n }\r\n // Create the leaf node first\r\n var leaf = Object.create(Object.prototype);\r\n if (ariaTenantToken) {\r\n leaf['ariaTenantToken'] = ariaTenantToken;\r\n }\r\n if (nexusTenantToken) {\r\n leaf['nexusTenantToken'] = nexusTenantToken;\r\n }\r\n // Then walk backwards adding the path to the root\r\n var node = leaf;\r\n var index;\r\n for (index = parts.length - 1; index >= 0; --index) {\r\n var parentNode = Object.create(Object.prototype);\r\n parentNode[parts[index]] = node;\r\n node = parentNode;\r\n }\r\n setTenantTokens(node);\r\n }\r\n TenantTokenManager.setTenantToken = setTenantToken;\r\n function setTenantTokens(tokenTree) {\r\n if (typeof tokenTree !== 'object') {\r\n throw new Error('tokenTree must be an object');\r\n }\r\n tenantTokens = mergeTenantTokens(tenantTokens, tokenTree);\r\n }\r\n TenantTokenManager.setTenantTokens = setTenantTokens;\r\n function getTenantTokens(eventName) {\r\n var ariaTenantToken = getAriaTenantToken(eventName);\r\n var nexusTenantToken = getNexusTenantToken(eventName);\r\n if (!nexusTenantToken || !ariaTenantToken) {\r\n throw new Error('Could not find tenant token for ' + eventName);\r\n }\r\n return {\r\n ariaTenantToken: ariaTenantToken,\r\n nexusTenantToken: nexusTenantToken\r\n };\r\n }\r\n TenantTokenManager.getTenantTokens = getTenantTokens;\r\n function getAriaTenantToken(eventName) {\r\n // Return cached token if it exists for eventName\r\n if (ariaTokenMap[eventName]) {\r\n return ariaTokenMap[eventName];\r\n }\r\n var ariaToken = getTenantToken(eventName, TokenType.Aria);\r\n if (typeof ariaToken === 'string') {\r\n ariaTokenMap[eventName] = ariaToken;\r\n return ariaToken;\r\n }\r\n return undefined;\r\n }\r\n TenantTokenManager.getAriaTenantToken = getAriaTenantToken;\r\n function getNexusTenantToken(eventName) {\r\n // Return cached token if it exists for eventName\r\n if (nexusTokenMap[eventName]) {\r\n return nexusTokenMap[eventName];\r\n }\r\n var nexusToken = getTenantToken(eventName, TokenType.Nexus);\r\n if (typeof nexusToken === 'number') {\r\n nexusTokenMap[eventName] = nexusToken;\r\n return nexusToken;\r\n }\r\n return undefined;\r\n }\r\n TenantTokenManager.getNexusTenantToken = getNexusTenantToken;\r\n function getTenantToken(eventName, tokenType) {\r\n // Find token\r\n var pieces = eventName.split('.');\r\n var node = tenantTokens;\r\n var token = undefined;\r\n if (!node) {\r\n return undefined;\r\n }\r\n for (var i = 0; i < pieces.length - 1; i++) {\r\n if (node[pieces[i]]) {\r\n node = node[pieces[i]];\r\n if (tokenType === TokenType.Aria && typeof node.ariaTenantToken === 'string') {\r\n // set token if one is available\r\n token = node.ariaTenantToken;\r\n }\r\n else if (tokenType === TokenType.Nexus && typeof node.nexusTenantToken === 'number') {\r\n token = node.nexusTenantToken;\r\n }\r\n }\r\n }\r\n return token;\r\n }\r\n // tslint:disable-next-line:no-any\r\n function mergeTenantTokens(existingTokenTree, newTokenTree) {\r\n if (typeof newTokenTree !== 'object') {\r\n return newTokenTree;\r\n }\r\n for (var _i = 0, _a = Object.keys(newTokenTree); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key in existingTokenTree && typeof (existingTokenTree[key] === 'object')) {\r\n existingTokenTree[key] = mergeTenantTokens(existingTokenTree[key], newTokenTree[key]);\r\n }\r\n else {\r\n existingTokenTree[key] = newTokenTree[key];\r\n }\r\n }\r\n return existingTokenTree;\r\n }\r\n function clear() {\r\n ariaTokenMap = {};\r\n nexusTokenMap = {};\r\n tenantTokens = {};\r\n }\r\n TenantTokenManager.clear = clear;\r\n})(TenantTokenManager || (TenantTokenManager = {}));\r\n//# sourceMappingURL=TenantTokenManager.js.map","import { DataFieldType } from './DataFieldType';\r\nexport var TelemetryEventValidator;\r\n(function (TelemetryEventValidator) {\r\n var INT64_MIN = -9007199254740991;\r\n var INT64_MAX = 9007199254740991;\r\n // Starts with A-Z, and then contains only alphanumerics\r\n var StartsWithCapitalRegex = /^[A-Z][a-zA-Z0-9]*$/;\r\n // Contains alphanumeric or _ or .\r\n var AlphanumericRegex = /^[a-zA-Z0-9_\\.]*$/;\r\n function validateTelemetryEvent(event) {\r\n if (!isEventNameValid(event.eventName)) {\r\n throw new Error('Invalid eventName');\r\n }\r\n if (event.eventContract && !isEventContractValid(event.eventContract)) {\r\n throw new Error('Invalid eventContract');\r\n }\r\n if (event.dataFields != null) {\r\n for (var i = 0; i < event.dataFields.length; i++) {\r\n validateDataField(event.dataFields[i]);\r\n }\r\n }\r\n }\r\n TelemetryEventValidator.validateTelemetryEvent = validateTelemetryEvent;\r\n function isNamespaceValid(eventNamePieces) {\r\n // Min 3 pieces: Office.(Namespace).EventName)\r\n return !!eventNamePieces && eventNamePieces.length >= 3 && eventNamePieces[0] === 'Office';\r\n }\r\n function isEventNodeValid(eventNode) {\r\n return eventNode !== undefined && StartsWithCapitalRegex.test(eventNode);\r\n }\r\n function isEventNameValid(eventName) {\r\n var maxEventNameLength = 98; // Client Code = 100 limit; Aria Compact SDK = 98 limit.\r\n if (!eventName || eventName.length > maxEventNameLength) {\r\n return false;\r\n }\r\n var eventNamePieces = eventName.split('.');\r\n var eventNodeName = eventNamePieces[eventNamePieces.length - 1];\r\n return isNamespaceValid(eventNamePieces) && isEventNodeValid(eventNodeName);\r\n }\r\n function isEventContractValid(eventContract) {\r\n return isNameValid(eventContract.name);\r\n }\r\n function isDataFieldNameValid(dataFieldName) {\r\n var maxDataFieldNameLength = 100;\r\n var dataFieldPrefixLength = 5;\r\n return !!dataFieldName && isNameValid(dataFieldName) && dataFieldName.length + dataFieldPrefixLength < maxDataFieldNameLength;\r\n }\r\n function isNameValid(name) {\r\n return name !== undefined && AlphanumericRegex.test(name);\r\n }\r\n function validateDataField(dataField) {\r\n if (!isDataFieldNameValid(dataField.name)) {\r\n throw new Error('Invalid dataField name');\r\n }\r\n if (dataField.dataType === DataFieldType.Int64) {\r\n validateInt(dataField.value);\r\n }\r\n }\r\n function validateInt(value) {\r\n if (typeof value !== 'number' || !isFinite(value) || Math.floor(value) !== value || value < INT64_MIN || value > INT64_MAX) {\r\n throw new Error(\"Invalid integer \" + JSON.stringify(value));\r\n }\r\n }\r\n TelemetryEventValidator.validateInt = validateInt;\r\n})(TelemetryEventValidator || (TelemetryEventValidator = {}));\r\n//# sourceMappingURL=TelemetryEventValidator.js.map","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport { cloneEvent } from './TelemetryEvent';\r\nimport { TenantTokenManager } from './TenantTokenManager';\r\nimport { TelemetryEventValidator } from './TelemetryEventValidator';\r\nimport { Event } from './Event';\r\nimport { logNotification, LogLevel, Category, logError } from './OTelNotifications';\r\nimport { makeStringDataField } from '.';\r\nimport { oteljsVersion } from './Version';\r\n/**\r\n * Use this as the Nexus tenant token when Nexus logging is not needed or relevant\r\n */\r\nexport var SuppressNexus = -1;\r\n/**\r\n * SimpleTelemetryLogger is the base implementation of a telemetry logger.\r\n * It exposes sendTelemetryEvent, which is used to log a telemetry event.\r\n */\r\nvar SimpleTelemetryLogger = /** @class */ (function () {\r\n /**\r\n * Creates a telemetry logger\r\n * @param parent - A parent telemetry logger that this telemetry logger should inherit from\r\n * This telemetry logger will send telemetry to the same sinks\r\n * and will send the same persistent data fields as the parent logger\r\n * @param persistentDataFields - Data fields to send with every event\r\n */\r\n function SimpleTelemetryLogger(parent, persistentDataFields, config) {\r\n var _a, _b;\r\n /**\r\n * A list of sinks that telemetry events will be forwarded to\r\n */\r\n this.onSendEvent = new Event();\r\n /**\r\n * @internal Internal variable; do not use publicly.\r\n */\r\n this.persistentDataFields = [];\r\n this.config = config || {};\r\n if (parent) {\r\n this.onSendEvent = parent.onSendEvent;\r\n (_a = this.persistentDataFields).push.apply(_a, parent.persistentDataFields);\r\n this.config = __assign(__assign({}, parent.getConfig()), this.config);\r\n }\r\n if (persistentDataFields) {\r\n (_b = this.persistentDataFields).push.apply(_b, persistentDataFields);\r\n }\r\n }\r\n /**\r\n * SendTelemetryEvent is the basic way to send a telemetry event.\r\n * This should be used for sending telemetry about discrete events that happened\r\n * For telemetry that includes duration and/or success/failure, the Activity API may be more appropriate.\r\n * @param event - The telemetry event to send\r\n */\r\n SimpleTelemetryLogger.prototype.sendTelemetryEvent = function (event) {\r\n var localEvent;\r\n try {\r\n if (this.onSendEvent.getListenerCount() === 0) {\r\n logNotification(LogLevel.Warning, Category.Core, function () { return 'No telemetry sinks are attached.'; });\r\n return;\r\n }\r\n // Don't modify the event that got passed in; we create our own.\r\n localEvent = this.cloneEvent(event);\r\n this.processTelemetryEvent(localEvent);\r\n }\r\n catch (error) {\r\n logError(Category.Core, 'SendTelemetryEvent', error);\r\n return;\r\n }\r\n try {\r\n this.onSendEvent.fireEvent(localEvent);\r\n }\r\n catch (_e) {\r\n // Sinks should handle their own errors;\r\n }\r\n };\r\n /**\r\n * Processes a telemetry event, but does not send it\r\n * Determines the tenant tokens\r\n * Adds persistent data fields\r\n * Validates the event\r\n * Throws if the event is invalid\r\n * @param event - The telemetry event to process\r\n */\r\n SimpleTelemetryLogger.prototype.processTelemetryEvent = function (event) {\r\n var _a;\r\n if (!event.telemetryProperties) {\r\n event.telemetryProperties = TenantTokenManager.getTenantTokens(event.eventName);\r\n }\r\n if (event.dataFields) {\r\n event.dataFields.unshift(makeStringDataField('OTelJS.Version', oteljsVersion));\r\n if (this.persistentDataFields) {\r\n // The last-added data field wins, if the same-named data field is added more than once.\r\n // Persistent data fields should have lower priority than per-event data fields\r\n (_a = event.dataFields).unshift.apply(_a, this.persistentDataFields);\r\n }\r\n }\r\n if (!this.config.disableValidation) {\r\n TelemetryEventValidator.validateTelemetryEvent(event);\r\n }\r\n };\r\n /**\r\n * Adds a telemetry sink, to which events will be sent\r\n * @param sink - The telemetry sink to add\r\n */\r\n SimpleTelemetryLogger.prototype.addSink = function (sink) {\r\n this.onSendEvent.addListener(function (event) { return sink.sendTelemetryEvent(event); });\r\n };\r\n /**\r\n * Sets a tenant token for a single namespace. Events within the namespace will be sent to the corresponding tenant.\r\n * @param namespace - The namespace to which the tokens apply, such as Office.System.\r\n * @param ariaTenantToken - The Aria tenant token\r\n * @param nexusTenantToken - The Nexus tenant token\r\n */\r\n SimpleTelemetryLogger.prototype.setTenantToken = function (namespace, ariaTenantToken, nexusTenantToken) {\r\n TenantTokenManager.setTenantToken(namespace, ariaTenantToken, nexusTenantToken);\r\n };\r\n /**\r\n * Sets tenant tokens for multiple namespaces.\r\n * @param tokenTree - An that represents namespaces and which tenants to send corresponding tokens to\r\n * For example, the following tree identifies where to send events under the Office.System and Office.Word namespaces.\r\n * \\{ Office: \\{\r\n * System: \\{\r\n * ariaTenantToken: 'foo',\r\n * nexusTenantToken: 100\r\n * \\},\r\n * Word: \\{\r\n * ariaTenantToken: 'bar',\r\n * nexusTenantToken: 200\r\n * \\}\r\n * \\}\\}\r\n */\r\n SimpleTelemetryLogger.prototype.setTenantTokens = function (tokenTree) {\r\n TenantTokenManager.setTenantTokens(tokenTree);\r\n };\r\n /**\r\n * Clone a telemetry event; generally so we don't modify the input telemetry event\r\n * Also sets dataFields to [] if it isn't already set\r\n * @param event - The event to clone\r\n */\r\n SimpleTelemetryLogger.prototype.cloneEvent = function (event) {\r\n return cloneEvent(event);\r\n };\r\n /**\r\n * Gets the currently applied configuration\r\n */\r\n SimpleTelemetryLogger.prototype.getConfig = function () {\r\n return this.config;\r\n };\r\n return SimpleTelemetryLogger;\r\n}());\r\nexport { SimpleTelemetryLogger };\r\n//# sourceMappingURL=SimpleTelemetryLogger.js.map","export var oteljsVersion = '3.1.74';\r\n//# sourceMappingURL=Version.js.map","export var CorrelationVector;\r\n(function (CorrelationVector) {\r\n var baseHash;\r\n var baseId = 0;\r\n /**\r\n * Get a new correlation vector representing the next event in sequence\r\n */\r\n function getNext() {\r\n if (baseHash === undefined) {\r\n baseHash = generatePseudoHash();\r\n }\r\n return new CV(baseHash, ++baseId);\r\n }\r\n CorrelationVector.getNext = getNext;\r\n /**\r\n * Get a new correlation vector parented to this one\r\n * @param parent\r\n */\r\n function getNextChild(parent) {\r\n return new CV(parent.getString(), ++parent.nextChild);\r\n }\r\n CorrelationVector.getNextChild = getNextChild;\r\n var CV = /** @class */ (function () {\r\n function CV(base, id) {\r\n this.base = base;\r\n this.id = id;\r\n this.nextChild = 0;\r\n }\r\n CV.prototype.getString = function () {\r\n return this.base + \".\" + this.id;\r\n };\r\n return CV;\r\n }());\r\n CorrelationVector.CV = CV;\r\n function generatePseudoHash() {\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n var hashLength = 22;\r\n var result = [];\r\n for (var i = 0; i < hashLength; i++) {\r\n // tslint:disable: insecure-random (security is not a concern here and secure crypto function is not available on all platform)\r\n result.push(characters.charAt(Math.floor(Math.random() * characters.length)));\r\n }\r\n return result.join('');\r\n }\r\n})(CorrelationVector || (CorrelationVector = {}));\r\n//# sourceMappingURL=CorrelationVector.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { CorrelationVector } from './CorrelationVector';\r\nimport { logNotification, LogLevel, Category } from './OTelNotifications';\r\n// Currently we only send one activity at a time\r\nvar ACTIVITY_COUNT = 1;\r\n// Currently we do not aggregate activities in OTelJS\r\nvar ACTIVITY_AGGMODE = 0;\r\nvar getCurrentMicroseconds = function () {\r\n return Date.now() * 1000;\r\n};\r\nif (typeof window === 'object' && typeof window.performance === 'object' && 'now' in window.performance) {\r\n getCurrentMicroseconds = function () {\r\n return Math.floor(window.performance.now()) * 1000;\r\n };\r\n}\r\n/**\r\n * An activity scope, which automatically records duration and correlation vectors.\r\n * Activity scopes must have their result set with setResult or setSuccess.\r\n * The can be auto-ending when created with executeSync/executeAsync,\r\n * or their scope can be manually managed with createNew and endNow.\r\n * Child activities can be created with corresponding functions.\r\n */\r\nvar ActivityScope = /** @class */ (function () {\r\n function ActivityScope(telemetryLogger, activityName, parent) {\r\n this._optionalEventFlags = {};\r\n this._ended = false;\r\n this._telemetryLogger = telemetryLogger;\r\n this._activityName = activityName;\r\n if (parent) {\r\n this._cv = CorrelationVector.getNextChild(parent._cv);\r\n }\r\n else {\r\n this._cv = CorrelationVector.getNext();\r\n }\r\n this._dataFields = [];\r\n this._success = undefined;\r\n this._startTime = getCurrentMicroseconds();\r\n }\r\n /**\r\n * Creates a new Activity Scope that will be managed by the caller\r\n * One of setSuccess or setResult must be called on the scope, followed by endNow.\r\n * @param telemetryLogger - The telemetry logger that the activity belongs to\r\n * @param activityName - The name of the activity\r\n */\r\n ActivityScope.createNew = function (telemetryLogger, activityName) {\r\n return new ActivityScope(telemetryLogger, activityName);\r\n };\r\n /**\r\n * Creates an activity parented to the current activity. Does not start the activity.\r\n * @param activityName - The name of the activity\r\n */\r\n ActivityScope.prototype.createChildActivity = function (activityName) {\r\n var childActivity = new ActivityScope(this._telemetryLogger, activityName, this);\r\n return childActivity;\r\n };\r\n /**\r\n * Sets optional event flags.\r\n * @param eventFlags - Event flags to set\r\n */\r\n ActivityScope.prototype.setEventFlags = function (eventFlags) {\r\n this._optionalEventFlags = eventFlags;\r\n };\r\n /**\r\n * Adds a data field to the activity\r\n * @param dataField - A data field to add\r\n */\r\n ActivityScope.prototype.addDataField = function (dataField) {\r\n this._dataFields.push(dataField);\r\n };\r\n /**\r\n * Adds data fields to the activity\r\n * @param dataFields - Data fields to add\r\n */\r\n ActivityScope.prototype.addDataFields = function (dataFields) {\r\n var _a;\r\n (_a = this._dataFields).push.apply(_a, dataFields);\r\n };\r\n /**\r\n * Sets whether the activity succeeded\r\n * @param success - Whether the activity succeeded\r\n */\r\n ActivityScope.prototype.setSuccess = function (success) {\r\n this._success = success;\r\n };\r\n /**\r\n * Sets the result of the activity\r\n * @param resultCode - The result code, e.g. 0 for success\r\n * @param resultType - Optional: The result type, e.g. \"HRESULT\"\r\n * @param resultTag - Optional: The result tag\r\n */\r\n // tslint:disable-next-line no-reserved-keywords\r\n ActivityScope.prototype.setResult = function (code, type, tag) {\r\n this._result = { code: code, type: type, tag: tag };\r\n };\r\n /**\r\n * Ends the activity; records the duration and sends a telemetry event.\r\n */\r\n ActivityScope.prototype.endNow = function () {\r\n if (this._ended) {\r\n logNotification(LogLevel.Error, Category.Core, function () { return 'Activity has already ended'; });\r\n return;\r\n }\r\n if (this._success === undefined && this._result === undefined) {\r\n // The Activity dashboard shows these activities as 'unresolved'\r\n // but developers generally should avoid leaving activities in this state.\r\n logNotification(LogLevel.Warning, Category.Core, function () { return 'Activity does not have success or result set'; });\r\n }\r\n var endTime = getCurrentMicroseconds();\r\n var duration = endTime - this._startTime;\r\n this._ended = true;\r\n var activity = {\r\n duration: duration,\r\n count: ACTIVITY_COUNT,\r\n aggMode: ACTIVITY_AGGMODE,\r\n cV: this._cv.getString(),\r\n success: this._success,\r\n result: this._result\r\n };\r\n return this._telemetryLogger.sendActivity(this._activityName, activity, this._dataFields, this._optionalEventFlags);\r\n };\r\n /**\r\n * Starts an activity to execute asynchronously\r\n * You must call setSuccess or setResult on the activity inside the activity body.\r\n * When the activity body resolves or rejects, the duration is recorded and the activity is sent.\r\n * The promise resolution is passed through to the caller.\r\n * @param activityBody - The body of the activity, which should return a promise.\r\n */\r\n ActivityScope.prototype.executeAsync = function (activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, activityBody(this)\r\n .then(function (result) {\r\n _this.endNow();\r\n return result;\r\n })\r\n .catch(function (e) {\r\n _this.endNow();\r\n throw e;\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an activity to execute synchronously\r\n * You must call setSuccess or setResult on the activity inside the activity body.\r\n * When the function returns, the duration is recorded and the activity is sent. The return value is passed through to the caller.\r\n * @param activityBody - The body of the activity, which should return a promise.\r\n */\r\n ActivityScope.prototype.executeSync = function (activityBody) {\r\n try {\r\n var ret = activityBody(this);\r\n this.endNow();\r\n return ret;\r\n }\r\n catch (e) {\r\n this.endNow();\r\n throw e;\r\n }\r\n };\r\n /**\r\n * Starts an activity to execute asynchronously, parented to the current activity.\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n ActivityScope.prototype.executeChildActivityAsync = function (activityName, activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.createChildActivity(activityName).executeAsync(activityBody)];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an activity to execute synchronously, parented to the current activity.\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n ActivityScope.prototype.executeChildActivitySync = function (activityName, activityBody) {\r\n return this.createChildActivity(activityName).executeSync(activityBody);\r\n };\r\n return ActivityScope;\r\n}());\r\nexport { ActivityScope };\r\n//# sourceMappingURL=Activity.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { SimpleTelemetryLogger } from './SimpleTelemetryLogger';\r\nimport { ActivityScope } from './Activity';\r\nimport { Contracts } from './contracts/Contracts';\r\n/**\r\n * A TelemetryLogger that includes more advanced functions than the SimpleTelemetryLogger,\r\n * specifically activities and errors.\r\n */\r\nvar TelemetryLogger = /** @class */ (function (_super) {\r\n __extends(TelemetryLogger, _super);\r\n function TelemetryLogger() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Starts an unparented activity to execute asynchronously\r\n * The caller must call setResult or setSuccess\r\n * Returns the result of the activityBody\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n TelemetryLogger.prototype.executeActivityAsync = function (activityName, activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.createNewActivity(activityName).executeAsync(activityBody)];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an unparented activity to execute synchronously\r\n * The caller must call setResult or setSuccess\r\n * Returns the result of the activityBody\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n TelemetryLogger.prototype.executeActivitySync = function (activityName, activityBody) {\r\n return this.createNewActivity(activityName).executeSync(activityBody);\r\n };\r\n /**\r\n * Creates a new activity. The caller is responsible for setting the result and calling endNow.\r\n * @param activityName - The name of the activity\r\n */\r\n TelemetryLogger.prototype.createNewActivity = function (activityName) {\r\n return ActivityScope.createNew(this, activityName);\r\n };\r\n /**\r\n * Advanced usage: Sends an activity. The caller is responsible for setting all of the activity parameters.\r\n * @param activityName - The name of the activity\r\n * @param activity - The activity contract\r\n * @param dataFields - Optional additional data fields\r\n * @param optionalEventFlags - Optional event flags\r\n */\r\n TelemetryLogger.prototype.sendActivity = function (activityName, activity, dataFields, optionalEventFlags) {\r\n return this.sendTelemetryEvent({\r\n eventName: activityName,\r\n eventContract: {\r\n name: Contracts.Office.System.Activity.contractName,\r\n dataFields: Contracts.Office.System.Activity.getFields(activity)\r\n },\r\n dataFields: dataFields,\r\n eventFlags: optionalEventFlags\r\n });\r\n };\r\n /**\r\n * Sends an event with the Error data contract. A convenience wrapper around sendTelemetryEvent, with\r\n * an Error as a data field.\r\n * @param error - an ErrorEvent that represents the error\r\n */\r\n TelemetryLogger.prototype.sendError = function (error) {\r\n var dataFields = Contracts.Office.System.Error.getFields('Error', error.error);\r\n if (error.dataFields != null) {\r\n dataFields.push.apply(dataFields, error.dataFields);\r\n }\r\n return this.sendTelemetryEvent({\r\n eventName: error.eventName,\r\n dataFields: dataFields,\r\n eventFlags: error.eventFlags\r\n });\r\n };\r\n return TelemetryLogger;\r\n}(SimpleTelemetryLogger));\r\nexport { TelemetryLogger };\r\n//# sourceMappingURL=TelemetryLogger.js.map"],"sourceRoot":""}