@microsoft/applicationinsights-cfgsync-js 3.3.5-nightly3.2411-13 → 3.3.5-nightly3.2412-01

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.
Files changed (42) hide show
  1. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.cjs.js → ai.cfgsync.3.3.5-nightly3.2412-01.cjs.js} +3 -3
  2. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.gbl.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.cjs.js.map} +1 -1
  3. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.cjs.min.js → ai.cfgsync.3.3.5-nightly3.2412-01.cjs.min.js} +3 -3
  4. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.cjs.min.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.cjs.min.js.map} +1 -1
  5. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.gbl.js → ai.cfgsync.3.3.5-nightly3.2412-01.gbl.js} +5 -5
  6. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.cjs.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.gbl.js.map} +1 -1
  7. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.gbl.min.js → ai.cfgsync.3.3.5-nightly3.2412-01.gbl.min.js} +3 -3
  8. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.gbl.min.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.gbl.min.js.map} +1 -1
  9. package/browser/es5/ai.cfgsync.3.3.5-nightly3.2412-01.integrity.json +66 -0
  10. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.js → ai.cfgsync.3.3.5-nightly3.2412-01.js} +5 -5
  11. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.js.map} +1 -1
  12. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.min.js → ai.cfgsync.3.3.5-nightly3.2412-01.min.js} +3 -3
  13. package/browser/es5/{ai.cfgsync.3.3.5-nightly3.2411-13.min.js.map → ai.cfgsync.3.3.5-nightly3.2412-01.min.js.map} +1 -1
  14. package/browser/es5/ai.cfgsync.3.cjs.js +2 -2
  15. package/browser/es5/ai.cfgsync.3.cjs.js.map +1 -1
  16. package/browser/es5/ai.cfgsync.3.cjs.min.js +2 -2
  17. package/browser/es5/ai.cfgsync.3.cjs.min.js.map +1 -1
  18. package/browser/es5/ai.cfgsync.3.gbl.js +4 -4
  19. package/browser/es5/ai.cfgsync.3.gbl.js.map +1 -1
  20. package/browser/es5/ai.cfgsync.3.gbl.min.js +2 -2
  21. package/browser/es5/ai.cfgsync.3.gbl.min.js.map +1 -1
  22. package/browser/es5/ai.cfgsync.3.integrity.json +25 -25
  23. package/browser/es5/ai.cfgsync.3.js +4 -4
  24. package/browser/es5/ai.cfgsync.3.js.map +1 -1
  25. package/browser/es5/ai.cfgsync.3.min.js +2 -2
  26. package/browser/es5/ai.cfgsync.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-cfgsync-js.js +2 -2
  28. package/dist/es5/applicationinsights-cfgsync-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-cfgsync-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-cfgsync-js.min.js.map +1 -1
  31. package/dist-es5/CfgSyncHelperFuncs.js +1 -1
  32. package/dist-es5/CfgSyncPlugin.js +1 -1
  33. package/dist-es5/CfgSyncPlugin.js.map +1 -1
  34. package/dist-es5/Interfaces/ICfgSyncCdnConfig.js +1 -1
  35. package/dist-es5/Interfaces/ICfgSyncConfig.js +1 -1
  36. package/dist-es5/Interfaces/ICfgSyncPlugin.js +1 -1
  37. package/dist-es5/__DynamicConstants.js +1 -1
  38. package/dist-es5/applicationinsights-cfgsync-js.js +1 -1
  39. package/package.json +3 -3
  40. package/types/applicationinsights-cfgsync-js.d.ts +11 -11
  41. package/types/applicationinsights-cfgsync-js.namespaced.d.ts +30 -36
  42. package/browser/es5/ai.cfgsync.3.3.5-nightly3.2411-13.integrity.json +0 -66
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  import { isNullOrUndefined, isObject, objExtend, objForEachKey, setValueByKey } from "@nevware21/ts-utils";
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CfgSyncPlugin.js.map","sources":["CfgSyncPlugin.js"],"sourcesContent":["/**\r\n* CfgSyncPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, createProcessTelemetryContext, createUniqueNamespace, eventOff, eventOn, getGlobal, getJSON, isFetchSupported, isXhrSupported, mergeEvtNamespace, onConfigChange, sendCustomEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { applyCdnfeatureCfg, replaceByNonOverrideCfg } from \"./CfgSyncHelperFuncs\";\r\nimport { _DYN_NON_OVERRIDE_CONFIGS, _DYN_ON_CFG_CHANGE_RECEIV0, _DYN_SCHEDULE_FETCH_TIMEO1 } from \"./__DynamicConstants\";\r\nvar EVENT_NAME = \"ai_cfgsync\";\r\nvar STR_GET_METHOD = \"GET\";\r\nvar FETCH_TIMEOUT = 1800000; // 30 minutes\r\nvar udfVal = undefined;\r\nvar defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };\r\nvar _defaultConfig = objDeepFreeze((_a = {\r\n syncMode: 1 /* ICfgSyncMode.Broadcast */,\r\n blkCdnCfg: udfVal,\r\n customEvtName: udfVal,\r\n cfgUrl: udfVal,\r\n overrideSyncFn: udfVal,\r\n overrideFetchFn: udfVal\r\n },\r\n _a[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:onCfgChangeReceive */] = udfVal,\r\n _a[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:scheduleFetchTimeout */] = FETCH_TIMEOUT,\r\n _a[_DYN_NON_OVERRIDE_CONFIGS /* @min:nonOverrideConfigs */] = defaultNonOverrideCfg,\r\n _a));\r\nvar CfgSyncPlugin = /** @class */ (function (_super) {\r\n __extends(CfgSyncPlugin, _super);\r\n function CfgSyncPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 198;\r\n _this.identifier = \"AppInsightsCfgSyncPlugin\";\r\n var _extensionConfig;\r\n var _mainConfig; // throttle config should be wrapped in IConfiguration\r\n var _evtName;\r\n var _evtNamespace;\r\n var _cfgUrl;\r\n var _timeoutHandle;\r\n var _receiveChanges;\r\n var _broadcastChanges;\r\n var _blkCdnCfg;\r\n var _fetchTimeout;\r\n var _retryCnt;\r\n var _onCfgChangeReceive;\r\n var _nonOverrideConfigs;\r\n var _fetchFn;\r\n var _overrideFetchFn;\r\n var _overrideSyncFn;\r\n var _paused = false;\r\n dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n };\r\n _self.getCfg = function () {\r\n return _mainConfig;\r\n };\r\n _self.pause = function () {\r\n _paused = true;\r\n _clearScheduledTimer();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _setupTimer();\r\n };\r\n // used for V2 to manaully trigger config udpate\r\n _self.setCfg = function (config) {\r\n return _setCfg(config);\r\n };\r\n _self.sync = function (customDetails) {\r\n return _sendCfgsyncEvents(customDetails);\r\n };\r\n _self.updateEventListenerName = function (eventName) {\r\n return _updateEventListenerName(eventName);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _eventOff();\r\n _clearScheduledTimer();\r\n _initDefaults();\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg, _nonOverrideConfigs];\r\n };\r\n function _initDefaults() {\r\n _mainConfig = null;\r\n _evtName = null;\r\n _evtNamespace = null;\r\n _cfgUrl = null;\r\n _receiveChanges = null;\r\n _broadcastChanges = null;\r\n _nonOverrideConfigs = null;\r\n _timeoutHandle = null;\r\n _fetchTimeout = null;\r\n _retryCnt = null;\r\n _blkCdnCfg = null;\r\n _overrideFetchFn = null;\r\n _overrideSyncFn = null;\r\n _onCfgChangeReceive = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n var preBlkCdn = _blkCdnCfg;\r\n _blkCdnCfg = !!_extensionConfig.blkCdnCfg;\r\n // avoid initial call\r\n if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {\r\n if (!_blkCdnCfg && _cfgUrl) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n else {\r\n _clearScheduledTimer();\r\n }\r\n }\r\n if (isNullOrUndefined(_receiveChanges)) {\r\n _receiveChanges = _extensionConfig.syncMode === 2 /* ICfgSyncMode.Receive */;\r\n }\r\n if (isNullOrUndefined(_broadcastChanges)) {\r\n _broadcastChanges = _extensionConfig.syncMode === 1 /* ICfgSyncMode.Broadcast */;\r\n }\r\n var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;\r\n if (_evtName !== newEvtName) {\r\n if (_receiveChanges) {\r\n _updateEventListenerName(newEvtName);\r\n }\r\n else {\r\n _eventOff();\r\n _evtName = newEvtName;\r\n }\r\n }\r\n if (isNullOrUndefined(_cfgUrl)) {\r\n _cfgUrl = _extensionConfig.cfgUrl;\r\n }\r\n // if cfgUrl is set, we will ignore core config change\r\n if (!_cfgUrl) {\r\n _mainConfig = config;\r\n if (_broadcastChanges) {\r\n _sendCfgsyncEvents();\r\n }\r\n }\r\n }));\r\n _overrideSyncFn = _extensionConfig.overrideSyncFn;\r\n _overrideFetchFn = _extensionConfig.overrideFetchFn;\r\n _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:%2eonCfgChangeReceive */];\r\n _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS /* @min:%2enonOverrideConfigs */]; // override values should not be changed\r\n _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:%2escheduleFetchTimeout */];\r\n _fetchFn = _getFetchFnInterface();\r\n _retryCnt = 0;\r\n // NOT support cfgURL change to avoid mutiple fetch calls\r\n if (_cfgUrl && !_blkCdnCfg) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n }\r\n function _setCfg(config, isAutoSync) {\r\n if (config) {\r\n _mainConfig = config;\r\n if (!!isAutoSync && !_paused) {\r\n return _sendCfgsyncEvents();\r\n }\r\n if (_receiveChanges && !_paused) {\r\n _self.core.updateCfg(config);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _eventOff() {\r\n try {\r\n var global_1 = getGlobal();\r\n if (global_1) {\r\n eventOff(global_1, null, null, _evtNamespace);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _sendCfgsyncEvents(customDetails) {\r\n try {\r\n if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {\r\n return _overrideSyncFn(_mainConfig, customDetails);\r\n }\r\n return sendCustomEvent(_evtName, _mainConfig, customDetails);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _updateEventListenerName(name) {\r\n try {\r\n _eventOff();\r\n if (name) {\r\n _evtName = name;\r\n _addEventListener();\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getFetchFnInterface() {\r\n var _fetchFn = _overrideFetchFn;\r\n if (isNullOrUndefined(_fetchFn)) {\r\n if (isFetchSupported()) {\r\n _fetchFn = _fetchSender;\r\n }\r\n else if (isXhrSupported()) {\r\n _fetchFn = _xhrSender;\r\n }\r\n }\r\n return _fetchFn;\r\n }\r\n function _fetchSender(url, oncomplete, isAutoSync) {\r\n var global = getGlobal();\r\n var fetchFn = (global && global.fetch) || null;\r\n if (url && fetchFn && isFunction(fetchFn)) {\r\n try {\r\n var init = {\r\n method: STR_GET_METHOD\r\n };\r\n var request = new Request(url, init);\r\n doAwaitResponse(fetch(request), function (result) {\r\n var response = result.value;\r\n if (!result.rejected) {\r\n if (response.ok) {\r\n doAwaitResponse(response.text(), function (res) {\r\n _doOnComplete(oncomplete, response.status, res.value, isAutoSync);\r\n });\r\n }\r\n else {\r\n _doOnComplete(oncomplete, response.status, null, isAutoSync);\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n function _xhrSender(url, oncomplete, isAutoSync) {\r\n try {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(STR_GET_METHOD, url);\r\n xhr_1.onreadystatechange = function () {\r\n if (xhr_1.readyState === XMLHttpRequest.DONE) {\r\n _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);\r\n }\r\n };\r\n xhr_1.onerror = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.ontimeout = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.send();\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _onFetchComplete(status, response, isAutoSync) {\r\n try {\r\n if (status >= 200 && status < 400 && response) {\r\n _retryCnt = 0; // any successful response will reset retry count to 0\r\n var JSON_1 = getJSON();\r\n if (JSON_1) {\r\n var cdnCfg = JSON_1.parse(response); //comments are not allowed\r\n var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg, isAutoSync);\r\n //cfg && _setCfg(cfg, isAutoSync);\r\n }\r\n }\r\n else {\r\n _retryCnt++;\r\n }\r\n if (_retryCnt < 3) {\r\n _setupTimer();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doOnComplete(oncomplete, status, response, isAutoSync) {\r\n try {\r\n oncomplete(status, response, isAutoSync);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _addEventListener() {\r\n if (_receiveChanges) {\r\n var global_2 = getGlobal();\r\n if (global_2) {\r\n try {\r\n eventOn(global_2, _evtName, function (event) {\r\n // TODO: add more validation here\r\n // may include a \"name\" or some other features to check\r\n var cfgEvent = event && event.detail;\r\n if (_onCfgChangeReceive && cfgEvent) {\r\n _onCfgChangeReceive(cfgEvent);\r\n }\r\n else {\r\n var cfg = cfgEvent && cfgEvent.cfg;\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg);\r\n }\r\n }, _evtNamespace, true);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n }\r\n // 4 levels\r\n function _replaceTartgetByKeys(cfg, level) {\r\n var _cfg = null;\r\n try {\r\n if (cfg) {\r\n _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return _cfg;\r\n }\r\n /**\r\n * Sets up the timer which triggers fetching cdn every 30mins after inital call\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && _fetchTimeout) {\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }, _fetchTimeout);\r\n _timeoutHandle.unref();\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryCnt = 0;\r\n }\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n });\r\n return _this;\r\n }\r\n CfgSyncPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get current configs of current instance.\r\n * @param config current configs\r\n */\r\n CfgSyncPlugin.prototype.getCfg = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually set configs of current instance.\r\n * @param config new configs\r\n */\r\n CfgSyncPlugin.prototype.setCfg = function (config) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually broadcast configs of current instance to all other instances.\r\n * @param customDetails additional details should also be sent out to other instances\r\n */\r\n CfgSyncPlugin.prototype.sync = function (customDetails) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually update event name.\r\n * If current instance is the main instance, then following config changes will be sent out under this new event name.\r\n * If current instance is listener instances, it will listen to event details under this new name.\r\n * @param eventName new event name\r\n */\r\n CfgSyncPlugin.prototype.updateEventListenerName = function (eventName) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Pause the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n // /**\r\n // * Add Part A fields to the event\r\n // * @param event - The event that needs to be processed\r\n // */\r\n CfgSyncPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return CfgSyncPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { CfgSyncPlugin };\r\n//# sourceMappingURL=CfgSyncPlugin.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA,gFAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;mEAuDM,CAAC;;;;;yBACkB;AACzB;AACA;AACA"}
1
+ {"version":3,"file":"CfgSyncPlugin.js.map","sources":["CfgSyncPlugin.js"],"sourcesContent":["/**\r\n* CfgSyncPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, createProcessTelemetryContext, createUniqueNamespace, eventOff, eventOn, getGlobal, getJSON, isFetchSupported, isXhrSupported, mergeEvtNamespace, onConfigChange, sendCustomEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { applyCdnfeatureCfg, replaceByNonOverrideCfg } from \"./CfgSyncHelperFuncs\";\r\nimport { _DYN_NON_OVERRIDE_CONFIGS, _DYN_ON_CFG_CHANGE_RECEIV0, _DYN_SCHEDULE_FETCH_TIMEO1 } from \"./__DynamicConstants\";\r\nvar EVENT_NAME = \"ai_cfgsync\";\r\nvar STR_GET_METHOD = \"GET\";\r\nvar FETCH_TIMEOUT = 1800000; // 30 minutes\r\nvar udfVal = undefined;\r\nvar defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };\r\nvar _defaultConfig = objDeepFreeze((_a = {\r\n syncMode: 1 /* ICfgSyncMode.Broadcast */,\r\n blkCdnCfg: udfVal,\r\n customEvtName: udfVal,\r\n cfgUrl: udfVal,\r\n overrideSyncFn: udfVal,\r\n overrideFetchFn: udfVal\r\n },\r\n _a[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:onCfgChangeReceive */] = udfVal,\r\n _a[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:scheduleFetchTimeout */] = FETCH_TIMEOUT,\r\n _a[_DYN_NON_OVERRIDE_CONFIGS /* @min:nonOverrideConfigs */] = defaultNonOverrideCfg,\r\n _a));\r\nvar CfgSyncPlugin = /** @class */ (function (_super) {\r\n __extends(CfgSyncPlugin, _super);\r\n function CfgSyncPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 198;\r\n _this.identifier = \"AppInsightsCfgSyncPlugin\";\r\n var _extensionConfig;\r\n var _mainConfig; // throttle config should be wrapped in IConfiguration\r\n var _evtName;\r\n var _evtNamespace;\r\n var _cfgUrl;\r\n var _timeoutHandle;\r\n var _receiveChanges;\r\n var _broadcastChanges;\r\n var _blkCdnCfg;\r\n var _fetchTimeout;\r\n var _retryCnt;\r\n var _onCfgChangeReceive;\r\n var _nonOverrideConfigs;\r\n var _fetchFn;\r\n var _overrideFetchFn;\r\n var _overrideSyncFn;\r\n var _paused = false;\r\n dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n };\r\n _self.getCfg = function () {\r\n return _mainConfig;\r\n };\r\n _self.pause = function () {\r\n _paused = true;\r\n _clearScheduledTimer();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _setupTimer();\r\n };\r\n // used for V2 to manaully trigger config udpate\r\n _self.setCfg = function (config) {\r\n return _setCfg(config);\r\n };\r\n _self.sync = function (customDetails) {\r\n return _sendCfgsyncEvents(customDetails);\r\n };\r\n _self.updateEventListenerName = function (eventName) {\r\n return _updateEventListenerName(eventName);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _eventOff();\r\n _clearScheduledTimer();\r\n _initDefaults();\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg, _nonOverrideConfigs];\r\n };\r\n function _initDefaults() {\r\n _mainConfig = null;\r\n _evtName = null;\r\n _evtNamespace = null;\r\n _cfgUrl = null;\r\n _receiveChanges = null;\r\n _broadcastChanges = null;\r\n _nonOverrideConfigs = null;\r\n _timeoutHandle = null;\r\n _fetchTimeout = null;\r\n _retryCnt = null;\r\n _blkCdnCfg = null;\r\n _overrideFetchFn = null;\r\n _overrideSyncFn = null;\r\n _onCfgChangeReceive = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n var preBlkCdn = _blkCdnCfg;\r\n _blkCdnCfg = !!_extensionConfig.blkCdnCfg;\r\n // avoid initial call\r\n if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {\r\n if (!_blkCdnCfg && _cfgUrl) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n else {\r\n _clearScheduledTimer();\r\n }\r\n }\r\n if (isNullOrUndefined(_receiveChanges)) {\r\n _receiveChanges = _extensionConfig.syncMode === 2 /* ICfgSyncMode.Receive */;\r\n }\r\n if (isNullOrUndefined(_broadcastChanges)) {\r\n _broadcastChanges = _extensionConfig.syncMode === 1 /* ICfgSyncMode.Broadcast */;\r\n }\r\n var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;\r\n if (_evtName !== newEvtName) {\r\n if (_receiveChanges) {\r\n _updateEventListenerName(newEvtName);\r\n }\r\n else {\r\n _eventOff();\r\n _evtName = newEvtName;\r\n }\r\n }\r\n if (isNullOrUndefined(_cfgUrl)) {\r\n _cfgUrl = _extensionConfig.cfgUrl;\r\n }\r\n // if cfgUrl is set, we will ignore core config change\r\n if (!_cfgUrl) {\r\n _mainConfig = config;\r\n if (_broadcastChanges) {\r\n _sendCfgsyncEvents();\r\n }\r\n }\r\n }));\r\n _overrideSyncFn = _extensionConfig.overrideSyncFn;\r\n _overrideFetchFn = _extensionConfig.overrideFetchFn;\r\n _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:%2eonCfgChangeReceive */];\r\n _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS /* @min:%2enonOverrideConfigs */]; // override values should not be changed\r\n _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:%2escheduleFetchTimeout */];\r\n _fetchFn = _getFetchFnInterface();\r\n _retryCnt = 0;\r\n // NOT support cfgURL change to avoid mutiple fetch calls\r\n if (_cfgUrl && !_blkCdnCfg) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n }\r\n function _setCfg(config, isAutoSync) {\r\n if (config) {\r\n _mainConfig = config;\r\n if (!!isAutoSync && !_paused) {\r\n return _sendCfgsyncEvents();\r\n }\r\n if (_receiveChanges && !_paused) {\r\n _self.core.updateCfg(config);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _eventOff() {\r\n try {\r\n var global_1 = getGlobal();\r\n if (global_1) {\r\n eventOff(global_1, null, null, _evtNamespace);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _sendCfgsyncEvents(customDetails) {\r\n try {\r\n if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {\r\n return _overrideSyncFn(_mainConfig, customDetails);\r\n }\r\n return sendCustomEvent(_evtName, _mainConfig, customDetails);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _updateEventListenerName(name) {\r\n try {\r\n _eventOff();\r\n if (name) {\r\n _evtName = name;\r\n _addEventListener();\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getFetchFnInterface() {\r\n var _fetchFn = _overrideFetchFn;\r\n if (isNullOrUndefined(_fetchFn)) {\r\n if (isFetchSupported()) {\r\n _fetchFn = _fetchSender;\r\n }\r\n else if (isXhrSupported()) {\r\n _fetchFn = _xhrSender;\r\n }\r\n }\r\n return _fetchFn;\r\n }\r\n function _fetchSender(url, oncomplete, isAutoSync) {\r\n var global = getGlobal();\r\n var fetchFn = (global && global.fetch) || null;\r\n if (url && fetchFn && isFunction(fetchFn)) {\r\n try {\r\n var init = {\r\n method: STR_GET_METHOD\r\n };\r\n var request = new Request(url, init);\r\n doAwaitResponse(fetch(request), function (result) {\r\n var response = result.value;\r\n if (!result.rejected) {\r\n if (response.ok) {\r\n doAwaitResponse(response.text(), function (res) {\r\n _doOnComplete(oncomplete, response.status, res.value, isAutoSync);\r\n });\r\n }\r\n else {\r\n _doOnComplete(oncomplete, response.status, null, isAutoSync);\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n function _xhrSender(url, oncomplete, isAutoSync) {\r\n try {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(STR_GET_METHOD, url);\r\n xhr_1.onreadystatechange = function () {\r\n if (xhr_1.readyState === XMLHttpRequest.DONE) {\r\n _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);\r\n }\r\n };\r\n xhr_1.onerror = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.ontimeout = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.send();\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _onFetchComplete(status, response, isAutoSync) {\r\n try {\r\n if (status >= 200 && status < 400 && response) {\r\n _retryCnt = 0; // any successful response will reset retry count to 0\r\n var JSON_1 = getJSON();\r\n if (JSON_1) {\r\n var cdnCfg = JSON_1.parse(response); //comments are not allowed\r\n var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg, isAutoSync);\r\n //cfg && _setCfg(cfg, isAutoSync);\r\n }\r\n }\r\n else {\r\n _retryCnt++;\r\n }\r\n if (_retryCnt < 3) {\r\n _setupTimer();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doOnComplete(oncomplete, status, response, isAutoSync) {\r\n try {\r\n oncomplete(status, response, isAutoSync);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _addEventListener() {\r\n if (_receiveChanges) {\r\n var global_2 = getGlobal();\r\n if (global_2) {\r\n try {\r\n eventOn(global_2, _evtName, function (event) {\r\n // TODO: add more validation here\r\n // may include a \"name\" or some other features to check\r\n var cfgEvent = event && event.detail;\r\n if (_onCfgChangeReceive && cfgEvent) {\r\n _onCfgChangeReceive(cfgEvent);\r\n }\r\n else {\r\n var cfg = cfgEvent && cfgEvent.cfg;\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg);\r\n }\r\n }, _evtNamespace, true);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n }\r\n // 4 levels\r\n function _replaceTartgetByKeys(cfg, level) {\r\n var _cfg = null;\r\n try {\r\n if (cfg) {\r\n _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return _cfg;\r\n }\r\n /**\r\n * Sets up the timer which triggers fetching cdn every 30mins after inital call\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && _fetchTimeout) {\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }, _fetchTimeout);\r\n _timeoutHandle.unref();\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryCnt = 0;\r\n }\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n });\r\n return _this;\r\n }\r\n CfgSyncPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get current configs of current instance.\r\n * @param config - current configs\r\n */\r\n CfgSyncPlugin.prototype.getCfg = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually set configs of current instance.\r\n * @param config - new configs\r\n */\r\n CfgSyncPlugin.prototype.setCfg = function (config) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually broadcast configs of current instance to all other instances.\r\n * @param customDetails - additional details should also be sent out to other instances\r\n */\r\n CfgSyncPlugin.prototype.sync = function (customDetails) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually update event name.\r\n * If current instance is the main instance, then following config changes will be sent out under this new event name.\r\n * If current instance is listener instances, it will listen to event details under this new name.\r\n * @param eventName - new event name\r\n */\r\n CfgSyncPlugin.prototype.updateEventListenerName = function (eventName) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Pause the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n // /**\r\n // * Add Part A fields to the event\r\n // * @param event - The event that needs to be processed\r\n // */\r\n CfgSyncPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return CfgSyncPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { CfgSyncPlugin };\r\n//# sourceMappingURL=CfgSyncPlugin.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA,gFAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;mEAuDM,CAAC;;;;;yBACkB;AACzB;AACA;AACA"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2411-13
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  import { CfgSyncPlugin } from "./CfgSyncPlugin";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/applicationinsights-cfgsync-js",
3
- "version": "3.3.5-nightly3.2411-13",
3
+ "version": "3.3.5-nightly3.2412-01",
4
4
  "description": "Microsoft Application Insights CfgSync Plugin",
5
5
  "homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
6
6
  "author": "Microsoft Application Insights Team",
@@ -58,8 +58,8 @@
58
58
  "dependencies": {
59
59
  "@microsoft/dynamicproto-js": "^2.0.3",
60
60
  "@microsoft/applicationinsights-shims": "3.0.1",
61
- "@microsoft/applicationinsights-core-js": "3.3.5-nightly3.2411-13",
62
- "@microsoft/applicationinsights-common": "3.3.5-nightly3.2411-13",
61
+ "@microsoft/applicationinsights-core-js": "3.3.5-nightly3.2412-01",
62
+ "@microsoft/applicationinsights-common": "3.3.5-nightly3.2412-01",
63
63
  "@nevware21/ts-utils": ">= 0.11.3 < 2.x",
64
64
  "@nevware21/ts-async": ">= 0.5.2 < 2.x"
65
65
  },
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights idsync plugin, 3.3.5-nightly3.2411-13
2
+ * Microsoft Application Insights idsync plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -28,24 +28,24 @@ export declare class CfgSyncPlugin extends BaseTelemetryPlugin implements ICfgSy
28
28
  initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
29
29
  /**
30
30
  * Get current configs of current instance.
31
- * @param config current configs
31
+ * @param config - current configs
32
32
  */
33
33
  getCfg(): IConfiguration & IConfig;
34
34
  /**
35
35
  * Manually set configs of current instance.
36
- * @param config new configs
36
+ * @param config - new configs
37
37
  */
38
38
  setCfg(config?: IConfiguration & IConfig): boolean;
39
39
  /**
40
40
  * Manually broadcast configs of current instance to all other instances.
41
- * @param customDetails additional details should also be sent out to other instances
41
+ * @param customDetails - additional details should also be sent out to other instances
42
42
  */
43
43
  sync(customDetails?: any): boolean;
44
44
  /**
45
45
  * Manually update event name.
46
46
  * If current instance is the main instance, then following config changes will be sent out under this new event name.
47
47
  * If current instance is listener instances, it will listen to event details under this new name.
48
- * @param eventName new event name
48
+ * @param eventName - new event name
49
49
  */
50
50
  updateEventListenerName(eventName?: string): boolean;
51
51
  /**
@@ -86,7 +86,7 @@ export declare interface ICfgSyncConfig {
86
86
  */
87
87
  onCfgChangeReceive?: (event?: ICfgSyncEvent) => void;
88
88
  /**
89
- * Overrides sync() function to broadcast changes.\
89
+ * Overrides sync() function to broadcast changes.
90
90
  * @default null
91
91
  */
92
92
  overrideSyncFn?: (config?: IConfiguration & IConfig, customDetails?: any) => boolean;
@@ -98,7 +98,7 @@ export declare interface ICfgSyncConfig {
98
98
  /**
99
99
  * When current instance is set with syncMode: `Receive`, config fields under nonOverrideConfigs will NOT be changed by any config details sent out from other instances.
100
100
  * NOTE: this config will be ONLY applied during initialization, so it won't be changed dynamically
101
- * @default {instrumentationKey:true,connectionString:true,endpointUrl:true}
101
+ * @default \{instrumentationKey:true,connectionString:true,endpointUrl:true\}
102
102
  */
103
103
  nonOverrideConfigs?: NonOverrideCfg;
104
104
  /**
@@ -139,24 +139,24 @@ export declare const enum ICfgSyncMode {
139
139
  export declare interface ICfgSyncPlugin {
140
140
  /**
141
141
  * Get current configs of current instance.
142
- * @param config current configs
142
+ * @param config - current configs
143
143
  */
144
144
  getCfg(): IConfiguration & IConfig;
145
145
  /**
146
146
  * Manually set configs of current instance.
147
- * @param config new configs
147
+ * @param config - new configs
148
148
  */
149
149
  setCfg(config?: IConfiguration & IConfig): boolean;
150
150
  /**
151
151
  * Manually broadcast configs of current instance to all other instances.
152
- * @param customDetails additional details should also be sent out to other instances
152
+ * @param customDetails - additional details should also be sent out to other instances
153
153
  */
154
154
  sync(customDetails?: any): boolean;
155
155
  /**
156
156
  * Manually update event name.
157
157
  * If current instance is the main instance, then following config changes will be sent out under this new event name.
158
158
  * If current instance is listener instances, it will listen to event details under this new name.
159
- * @param eventName new event name
159
+ * @param eventName - new event name
160
160
  */
161
161
  updateEventListenerName(eventName?: string): boolean;
162
162
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights idsync plugin, 3.3.5-nightly3.2411-13
2
+ * Microsoft Application Insights idsync plugin, 3.3.5-nightly3.2412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -113,24 +113,24 @@ declare namespace ApplicationInsights {
113
113
  initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
114
114
  /**
115
115
  * Get current configs of current instance.
116
- * @param config current configs
116
+ * @param config - current configs
117
117
  */
118
118
  getCfg(): IConfiguration & IConfig;
119
119
  /**
120
120
  * Manually set configs of current instance.
121
- * @param config new configs
121
+ * @param config - new configs
122
122
  */
123
123
  setCfg(config?: IConfiguration & IConfig): boolean;
124
124
  /**
125
125
  * Manually broadcast configs of current instance to all other instances.
126
- * @param customDetails additional details should also be sent out to other instances
126
+ * @param customDetails - additional details should also be sent out to other instances
127
127
  */
128
128
  sync(customDetails?: any): boolean;
129
129
  /**
130
130
  * Manually update event name.
131
131
  * If current instance is the main instance, then following config changes will be sent out under this new event name.
132
132
  * If current instance is listener instances, it will listen to event details under this new name.
133
- * @param eventName new event name
133
+ * @param eventName - new event name
134
134
  */
135
135
  updateEventListenerName(eventName?: string): boolean;
136
136
  /**
@@ -407,7 +407,6 @@ declare namespace ApplicationInsights {
407
407
  unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void | IPromise<ITelemetryUnloadState>;
408
408
  /**
409
409
  * Find and return the (first) plugin with the specified identifier if present
410
- * @param pluginIdentifier
411
410
  */
412
411
  getPlugin<T extends IPlugin = IPlugin>(pluginIdentifier: string): ILoadedPlugin<T>;
413
412
  /**
@@ -462,7 +461,6 @@ declare namespace ApplicationInsights {
462
461
  /**
463
462
  * Watches and tracks changes for accesses to the current config, and if the accessed config changes the
464
463
  * handler will be recalled.
465
- * @param handler
466
464
  * @returns A watcher handler instance that can be used to remove itself when being unloaded
467
465
  */
468
466
  onCfgChange(handler: WatcherFunction<CfgType>): IUnloadHook;
@@ -575,7 +573,7 @@ declare namespace ApplicationInsights {
575
573
  */
576
574
  onCfgChangeReceive?: (event?: ICfgSyncEvent) => void;
577
575
  /**
578
- * Overrides sync() function to broadcast changes.\
576
+ * Overrides sync() function to broadcast changes.
579
577
  * @default null
580
578
  */
581
579
  overrideSyncFn?: (config?: IConfiguration & IConfig, customDetails?: any) => boolean;
@@ -587,7 +585,7 @@ declare namespace ApplicationInsights {
587
585
  /**
588
586
  * When current instance is set with syncMode: `Receive`, config fields under nonOverrideConfigs will NOT be changed by any config details sent out from other instances.
589
587
  * NOTE: this config will be ONLY applied during initialization, so it won't be changed dynamically
590
- * @default {instrumentationKey:true,connectionString:true,endpointUrl:true}
588
+ * @default \{instrumentationKey:true,connectionString:true,endpointUrl:true\}
591
589
  */
592
590
  nonOverrideConfigs?: NonOverrideCfg;
593
591
  /**
@@ -628,24 +626,24 @@ declare namespace ApplicationInsights {
628
626
  interface ICfgSyncPlugin {
629
627
  /**
630
628
  * Get current configs of current instance.
631
- * @param config current configs
629
+ * @param config - current configs
632
630
  */
633
631
  getCfg(): IConfiguration & IConfig;
634
632
  /**
635
633
  * Manually set configs of current instance.
636
- * @param config new configs
634
+ * @param config - new configs
637
635
  */
638
636
  setCfg(config?: IConfiguration & IConfig): boolean;
639
637
  /**
640
638
  * Manually broadcast configs of current instance to all other instances.
641
- * @param customDetails additional details should also be sent out to other instances
639
+ * @param customDetails - additional details should also be sent out to other instances
642
640
  */
643
641
  sync(customDetails?: any): boolean;
644
642
  /**
645
643
  * Manually update event name.
646
644
  * If current instance is the main instance, then following config changes will be sent out under this new event name.
647
645
  * If current instance is listener instances, it will listen to event details under this new name.
648
- * @param eventName new event name
646
+ * @param eventName - new event name
649
647
  */
650
648
  updateEventListenerName(eventName?: string): boolean;
651
649
  /**
@@ -819,7 +817,7 @@ declare namespace ApplicationInsights {
819
817
  */
820
818
  disableFlushOnBeforeUnload?: boolean;
821
819
  /**
822
- * Default value of {@link #disableFlushOnBeforeUnload}. If true, flush method will not be called when onPageHide or onVisibilityChange (hidden state) event(s) trigger.
820
+ * Default value of `disableFlushOnBeforeUnload`. If true, flush method will not be called when onPageHide or onVisibilityChange (hidden state) event(s) trigger.
823
821
  */
824
822
  disableFlushOnUnload?: boolean;
825
823
  /**
@@ -871,12 +869,12 @@ declare namespace ApplicationInsights {
871
869
  */
872
870
  isStorageUseDisabled?: boolean;
873
871
  /**
874
- * If false, the SDK will send all telemetry using the [Beacon API](https://www.w3.org/TR/beacon)
872
+ * If false, the SDK will send all telemetry using the <a href="https://www.w3.org/TR/beacon">Beacon API</a>.
875
873
  * @defaultValue true
876
874
  */
877
875
  isBeaconApiDisabled?: boolean;
878
876
  /**
879
- * Don't use XMLHttpRequest or XDomainRequest (for IE < 9) by default instead attempt to use fetch() or sendBeacon.
877
+ * Don't use XMLHttpRequest or XDomainRequest (for IE \< 9) by default instead attempt to use fetch() or sendBeacon.
880
878
  * If no other transport is available it will still use XMLHttpRequest
881
879
  */
882
880
  disableXhr?: boolean;
@@ -1133,8 +1131,8 @@ declare namespace ApplicationInsights {
1133
1131
  * be logged to console if their severity meets the configured loggingConsoleLevel
1134
1132
  *
1135
1133
  * 0: ALL console logging off
1136
- * 1: logs to console: severity >= CRITICAL
1137
- * 2: logs to console: severity >= WARNING
1134
+ * 1: logs to console: severity \>= CRITICAL
1135
+ * 2: logs to console: severity \>= WARNING
1138
1136
  */
1139
1137
  loggingLevelConsole?: number;
1140
1138
  /**
@@ -1143,8 +1141,8 @@ declare namespace ApplicationInsights {
1143
1141
  * the configured instrumentation key.
1144
1142
  *
1145
1143
  * 0: ALL iKey logging off
1146
- * 1: logs to iKey: severity >= CRITICAL
1147
- * 2: logs to iKey: severity >= WARNING
1144
+ * 1: logs to iKey: severity \>= CRITICAL
1145
+ * 2: logs to iKey: severity \>= WARNING
1148
1146
  */
1149
1147
  loggingLevelTelemetry?: number;
1150
1148
  /**
@@ -1171,7 +1169,6 @@ declare namespace ApplicationInsights {
1171
1169
  */
1172
1170
  readonly channels?: IChannelControls[][];
1173
1171
  /**
1174
- * @type {boolean}
1175
1172
  * Flag that disables the Instrumentation Key validation.
1176
1173
  */
1177
1174
  disableInstrumentationKeyValidation?: boolean;
@@ -1202,14 +1199,12 @@ declare namespace ApplicationInsights {
1202
1199
  /**
1203
1200
  * @description Custom cookie domain. This is helpful if you want to share Application Insights cookies across subdomains. It
1204
1201
  * can be set here or as part of the cookieCfg.domain, the cookieCfg takes precedence if both are specified.
1205
- * @type {string}
1206
1202
  * @defaultValue ""
1207
1203
  */
1208
1204
  cookieDomain?: string;
1209
1205
  /**
1210
1206
  * @description Custom cookie path. This is helpful if you want to share Application Insights cookies behind an application
1211
1207
  * gateway. It can be set here or as part of the cookieCfg.domain, the cookieCfg takes precedence if both are specified.
1212
- * @type {string}
1213
1208
  * @defaultValue ""
1214
1209
  */
1215
1210
  cookiePath?: string;
@@ -1321,7 +1316,7 @@ declare namespace ApplicationInsights {
1321
1316
  /**
1322
1317
  * Optional Callback hook to allow the cookie manager to update it's configuration, not generally implemented now that
1323
1318
  * dynamic configuration is supported
1324
- * @param updateState
1319
+ * @param updateState - The new configuration state to apply to the cookie manager
1325
1320
  */
1326
1321
  update?(updateState: ITelemetryUpdateState): void;
1327
1322
  /**
@@ -1435,7 +1430,7 @@ declare namespace ApplicationInsights {
1435
1430
  logInternalMessage?(severity: LoggingSeverity, message: _InternalLogMessage): void;
1436
1431
  /**
1437
1432
  * Optional Callback hook to allow the diagnostic logger to update it's configuration
1438
- * @param updateState
1433
+ * @param updateState - The new configuration state to apply to the diagnostic logger
1439
1434
  */
1440
1435
  update?(updateState: ITelemetryUpdateState): void;
1441
1436
  /**
@@ -1456,7 +1451,7 @@ declare namespace ApplicationInsights {
1456
1451
  getName(): string;
1457
1452
  /**
1458
1453
  * Sets the current name of the page
1459
- * @param pageName
1454
+ * @param pageName - The name of the page
1460
1455
  */
1461
1456
  setName(pageName: string): void;
1462
1457
  /**
@@ -1488,7 +1483,7 @@ declare namespace ApplicationInsights {
1488
1483
  getTraceFlags(): number | undefined;
1489
1484
  /**
1490
1485
  * https://www.w3.org/TR/trace-context/#trace-flags
1491
- * @param newValue
1486
+ * @param newValue - An integer representation of the W3C TraceContext trace-flags.
1492
1487
  */
1493
1488
  setTraceFlags(newValue?: number): void;
1494
1489
  }
@@ -1527,10 +1522,10 @@ declare namespace ApplicationInsights {
1527
1522
  *
1528
1523
  * This callback is called before telemetry data is sent, allowing for dynamic customization of the logs.
1529
1524
  *
1530
- * @returns {Object} An object with the following property:
1525
+ * @returns An object with the following property:
1531
1526
  * - logs: An array of strings, where each string represents a log entry to be included in the telemetry.
1532
1527
  *
1533
- * @property {number} maxLogs - Specifies the maximum number of logs that can be generated. If not explicitly set, it defaults to 50.
1528
+ * @property maxLogs - Specifies the maximum number of logs that can be generated. If not explicitly set, it defaults to 50.
1534
1529
  */
1535
1530
  expLog?: () => {
1536
1531
  logs: string[];
@@ -1589,32 +1584,31 @@ declare namespace ApplicationInsights {
1589
1584
  getUrl: () => string;
1590
1585
  /**
1591
1586
  * Create payload data
1592
- * @param data data
1593
1587
  * @returns IPayloadData
1594
1588
  */
1595
1589
  createPayload: (data: string | Uint8Array) => IPayloadData;
1596
1590
  /**
1597
1591
  * Serialize an item into a string
1598
- * @param input telemetry item
1599
- * @param convertUndefined convert undefined to a custom-defined object
1592
+ * @param input - telemetry item
1593
+ * @param convertUndefined - convert undefined to a custom-defined object
1600
1594
  * @returns Serialized string
1601
1595
  */
1602
1596
  serialize?: (input: ITelemetryItem, convertUndefined?: any) => string;
1603
1597
  /**
1604
1598
  * Batch an array of strings into one string
1605
- * @param arr array of strings
1599
+ * @param arr - array of strings
1606
1600
  * @returns a string represent all items in the given array
1607
1601
  */
1608
1602
  batch?: (arr: string[]) => string;
1609
1603
  /**
1610
1604
  * If the item should be processed by offline channel
1611
- * @param evt telemetry item
1605
+ * @param evt - telemetry item
1612
1606
  * @returns should process or not
1613
1607
  */
1614
1608
  shouldProcess?: (evt: ITelemetryItem) => boolean;
1615
1609
  /**
1616
1610
  * Create 1ds payload data
1617
- * @param evts ITelemetryItems
1611
+ * @param evts - ITelemetryItems
1618
1612
  * @returns IPayloadData
1619
1613
  */
1620
1614
  createOneDSPayload?: (evts: ITelemetryItem[]) => IPayloadData;
@@ -1674,7 +1668,7 @@ declare namespace ApplicationInsights {
1674
1668
  /**
1675
1669
  * [Optional] This event is sent if you have enabled perf events, they are primarily used to track internal performance testing and debugging
1676
1670
  * the event can be displayed via the debug plugin extension.
1677
- * @param perfEvent
1671
+ * @param perfEvent - The performance event object
1678
1672
  */
1679
1673
  perfEvent?: (perfEvent: IPerfEvent) => void;
1680
1674
  /**
@@ -1,66 +0,0 @@
1
- {
2
- "name": "ai.cfgsync",
3
- "version": "3.3.5-nightly3.2411-13",
4
- "ext": {
5
- "@cjs.js": {
6
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.cjs.js",
7
- "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-/g6mEdz2T1N11qFAlR7yNNuI18ai3sloPqmnSi+qwQU= sha384-pujO63MAA5xjNrddhIhAzkpJljyD2RwZTEv/bvIU4AwxEwBK2agJqJlduH331J99 sha512-PGxEmoOfSi21/ROKp0lrMi6QiMIictzT7CJ8orVGnZdcPjKBMnUjx9mwQYxE5PF1EovnfToSsdGOVhVrwZG50w==",
9
- "hashes": {
10
- "sha256": "/g6mEdz2T1N11qFAlR7yNNuI18ai3sloPqmnSi+qwQU=",
11
- "sha384": "pujO63MAA5xjNrddhIhAzkpJljyD2RwZTEv/bvIU4AwxEwBK2agJqJlduH331J99",
12
- "sha512": "PGxEmoOfSi21/ROKp0lrMi6QiMIictzT7CJ8orVGnZdcPjKBMnUjx9mwQYxE5PF1EovnfToSsdGOVhVrwZG50w=="
13
- }
14
- },
15
- "@cjs.min.js": {
16
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.cjs.min.js",
17
- "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-GQjIcOEIUdLSJa7T6+Ud8HQyPygTDvbG6TDcevwJzLU= sha384-kBu/rN+XvLmjykj6I9B2LmZAj02QUS1fzhVn9fJeAgz7XL8qn4VvL+ZDdgs3DbWZ sha512-1rzkmwMtpWtkH9Eku8lPeoph70PzD4iNGLGnmsAN+bbkZa/1o5wEPcncEzSCEnJG5DeJL0gG4Q5o9y4xRC1EoQ==",
19
- "hashes": {
20
- "sha256": "GQjIcOEIUdLSJa7T6+Ud8HQyPygTDvbG6TDcevwJzLU=",
21
- "sha384": "kBu/rN+XvLmjykj6I9B2LmZAj02QUS1fzhVn9fJeAgz7XL8qn4VvL+ZDdgs3DbWZ",
22
- "sha512": "1rzkmwMtpWtkH9Eku8lPeoph70PzD4iNGLGnmsAN+bbkZa/1o5wEPcncEzSCEnJG5DeJL0gG4Q5o9y4xRC1EoQ=="
23
- }
24
- },
25
- "@gbl.js": {
26
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.gbl.js",
27
- "type": "text/javascript; charset=utf-8",
28
- "integrity": "sha256-57QPbMJ87osZ8mADcniDlH/AZ7973QRRfoISjaLLTzI= sha384-uwOx7EX6u6GhTJW6Gvjj/PDuRMHiisdpxM9KuUjbQLaOdKFeJCSOZdF3WMo2/xha sha512-K+Cht3NY8j9F0Uu4pjlpnkMSVx6SANlibGMyVh/hV2Vlf4uPbHwsktYgUkMh8y4IlgtccceOoh/0D6ZCCTnn0g==",
29
- "hashes": {
30
- "sha256": "57QPbMJ87osZ8mADcniDlH/AZ7973QRRfoISjaLLTzI=",
31
- "sha384": "uwOx7EX6u6GhTJW6Gvjj/PDuRMHiisdpxM9KuUjbQLaOdKFeJCSOZdF3WMo2/xha",
32
- "sha512": "K+Cht3NY8j9F0Uu4pjlpnkMSVx6SANlibGMyVh/hV2Vlf4uPbHwsktYgUkMh8y4IlgtccceOoh/0D6ZCCTnn0g=="
33
- }
34
- },
35
- "@gbl.min.js": {
36
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.gbl.min.js",
37
- "type": "text/javascript; charset=utf-8",
38
- "integrity": "sha256-gDrCQ91xNpNuKs71TcC3enlCqWpTe6BIL7ERpDrkznQ= sha384-KxCGrUxUmjcMtH0GHa8swHK3Fx61Q7CNSBJTUD/FZpEXlFgLjChoT3XR1pdqo/Wf sha512-hqcO4XfdZQ2N4LDgfP0LEtneKWRxJCBA1fyghfGHxlBWPXgrFyhQx/Ip1QLoy7i6IPiu49Ax++aiXlJnHayVFw==",
39
- "hashes": {
40
- "sha256": "gDrCQ91xNpNuKs71TcC3enlCqWpTe6BIL7ERpDrkznQ=",
41
- "sha384": "KxCGrUxUmjcMtH0GHa8swHK3Fx61Q7CNSBJTUD/FZpEXlFgLjChoT3XR1pdqo/Wf",
42
- "sha512": "hqcO4XfdZQ2N4LDgfP0LEtneKWRxJCBA1fyghfGHxlBWPXgrFyhQx/Ip1QLoy7i6IPiu49Ax++aiXlJnHayVFw=="
43
- }
44
- },
45
- "@js": {
46
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.js",
47
- "type": "text/javascript; charset=utf-8",
48
- "integrity": "sha256-XSe06+fzCEyH7vh26A7u6mAJz/MFHCUSYdrDaDg5a8c= sha384-i81+TP5cUnGtjAHHGfUaAV3eAhHUxyz0HDsYvNEtPB3wNn6kuokmX1GPqzsZT5t5 sha512-cSxxOxguGppFb/DXXIGInDoM6/aIpNRcB5/2m/5O08S4+5KRkmTqdhaiOjn+FZ82jUv7/Fif6GGGQ2IafjT2pg==",
49
- "hashes": {
50
- "sha256": "XSe06+fzCEyH7vh26A7u6mAJz/MFHCUSYdrDaDg5a8c=",
51
- "sha384": "i81+TP5cUnGtjAHHGfUaAV3eAhHUxyz0HDsYvNEtPB3wNn6kuokmX1GPqzsZT5t5",
52
- "sha512": "cSxxOxguGppFb/DXXIGInDoM6/aIpNRcB5/2m/5O08S4+5KRkmTqdhaiOjn+FZ82jUv7/Fif6GGGQ2IafjT2pg=="
53
- }
54
- },
55
- "@min.js": {
56
- "file": "ai.cfgsync.3.3.5-nightly3.2411-13.min.js",
57
- "type": "text/javascript; charset=utf-8",
58
- "integrity": "sha256-7hLiAAiCIRujX3AWJ+hPfZGlftPfTdoiWtQ1NtZd9dg= sha384-Ov8eK1rALSkJa2yxMp+0IKm57N9HH9OjGM8Pdl5QuS87Ofb8hNwZuV4d4Tq6R5cU sha512-2w/0XEBhjU4QguGE8eKMIbNvD4qd0c/D396RJhjYUFH80kdACWonTBguEcFiiySHiAsgEx3TmS7CvLiSKSlF5g==",
59
- "hashes": {
60
- "sha256": "7hLiAAiCIRujX3AWJ+hPfZGlftPfTdoiWtQ1NtZd9dg=",
61
- "sha384": "Ov8eK1rALSkJa2yxMp+0IKm57N9HH9OjGM8Pdl5QuS87Ofb8hNwZuV4d4Tq6R5cU",
62
- "sha512": "2w/0XEBhjU4QguGE8eKMIbNvD4qd0c/D396RJhjYUFH80kdACWonTBguEcFiiySHiAsgEx3TmS7CvLiSKSlF5g=="
63
- }
64
- }
65
- }
66
- }