@interopio/desktop 6.9.0 → 6.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +4 -0
- package/desktop.d.ts +0 -1
- package/dist/desktop.browser.js +29 -13
- package/dist/desktop.browser.js.map +1 -1
- package/dist/desktop.browser.min.js +1 -1
- package/dist/desktop.browser.min.js.map +1 -1
- package/dist/desktop.es.js +29 -13
- package/dist/desktop.es.js.map +1 -1
- package/dist/desktop.umd.js +29 -13
- package/dist/desktop.umd.js.map +1 -1
- package/dist/desktop.umd.min.js +1 -1
- package/dist/desktop.umd.min.js.map +1 -1
- package/package.json +4 -4
package/dist/desktop.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop.es.js","sources":["../../core/dist/core.es.js","../src/activity/entities/activityEntity.ts","../src/activity/helpers/util.ts","../src/activity/entities/activityType.ts","../src/activity/entities/windowType.ts","../src/activity/contracts/entityEvent.ts","../src/activity/core/activityAGM.ts","../src/activity/entities/attachedActivityDescriptor.ts","../src/activity/helpers/promiseExtensions.ts","../src/activity/entities/activity.ts","../src/activity/helpers/logger.ts","../src/activity/entities/activityWindow.ts","../src/activity/contracts/activityStatus.ts","../src/activity/bridges/gw3Bridge.ts","../src/activity/API/activityMyAPI.ts","../src/activity/helpers/readyMarker.ts","../src/activity/helpers/entityObservableCollection.ts","../src/activity/core/activityManager.ts","../src/activity/API/activityManagementAPI.ts","../src/activity/API/activityAPI.ts","../src/activity/activityModule.ts","../src/app-manager/const/agm-names.ts","../../../node_modules/callback-registry/lib/index.js","../src/app-manager/helper.ts","../src/app-manager/application.ts","../src/app-manager/instance.ts","../src/app-manager/app-manager.ts","../src/app-manager/entitlements.ts","../src/app-manager/snapshot.ts","../src/app-manager/const/event-names.ts","../src/app-manager/data-subscription.ts","../src/app-manager/in-memory.ts","../src/app-manager/main.ts","../../../node_modules/nanoid/non-secure/index.js","../src/utils.ts","../src/windows/jumpList/manager.ts","../src/windows/store.ts","../src/windows/jumpList/actions.ts","../src/windows/jumpList/categories.ts","../src/windows/jumpList/main.ts","../src/windows/window.ts","../src/windows/environment/helpers.ts","../src/windows/environment/gd/executor.ts","../src/windows/environment/gd/gd.ts","../src/windows/environment/detector.ts","../src/windows/group.ts","../src/windows/groups.ts","../src/windows/main.ts","../src/layouts/store.ts","../src/layouts/contextProvider.ts","../src/layouts/transform.ts","../src/layouts/layout.ts","../src/layouts/layouts.ts","../src/layouts/stream/acsStream.ts","../src/layouts/stream/nullStream.ts","../src/layouts/main.ts","../src/displays/displayManager.ts","../src/channels/agm.ts","../src/channels/contexts.ts","../src/channels/helpers.ts","../src/channels/channels.ts","../src/channels/main.ts","../src/hotkeys/hotkeys.ts","../src/hotkeys/main.ts","../src/config.ts","../src/notifications/notification.ts","../src/notifications/panel.ts","../src/notifications/main.ts","../src/themes/themes.ts","../src/themes/main.ts","../src/intents/constants.ts","../src/intents/common.ts","../src/intents/helpers.ts","../src/intents/intents.ts","../src/factoryCallInfo.ts","../src/prefs/index.ts","../src/cookies/index.ts","../src/cookies/main.ts","../src/eventsDispatcher.ts","../../core/src/utils/pw.js","../src/interception/main.ts","../src/glue.ts","../src/index.ts"],"sourcesContent":["var MetricTypes = {\n STRING: 1,\n NUMBER: 2,\n TIMESTAMP: 3,\n OBJECT: 4\n};\n\nfunction getMetricTypeByValue(metric) {\n if (metric.type === MetricTypes.TIMESTAMP) {\n return \"timestamp\";\n }\n else if (metric.type === MetricTypes.NUMBER) {\n return \"number\";\n }\n else if (metric.type === MetricTypes.STRING) {\n return \"string\";\n }\n else if (metric.type === MetricTypes.OBJECT) {\n return \"object\";\n }\n return \"unknown\";\n}\nfunction getTypeByValue(value) {\n if (value.constructor === Date) {\n return \"timestamp\";\n }\n else if (typeof value === \"number\") {\n return \"number\";\n }\n else if (typeof value === \"string\") {\n return \"string\";\n }\n else if (typeof value === \"object\") {\n return \"object\";\n }\n else {\n return \"string\";\n }\n}\nfunction serializeMetric(metric) {\n const serializedMetrics = {};\n const type = getMetricTypeByValue(metric);\n if (type === \"object\") {\n const values = Object.keys(metric.value).reduce((memo, key) => {\n const innerType = getTypeByValue(metric.value[key]);\n if (innerType === \"object\") {\n const composite = defineNestedComposite(metric.value[key]);\n memo[key] = {\n type: \"object\",\n description: \"\",\n context: {},\n composite,\n };\n }\n else {\n memo[key] = {\n type: innerType,\n description: \"\",\n context: {},\n };\n }\n return memo;\n }, {});\n serializedMetrics.composite = values;\n }\n serializedMetrics.name = normalizeMetricName(metric.path.join(\"/\") + \"/\" + metric.name);\n serializedMetrics.type = type;\n serializedMetrics.description = metric.description;\n serializedMetrics.context = {};\n return serializedMetrics;\n}\nfunction defineNestedComposite(values) {\n return Object.keys(values).reduce((memo, key) => {\n const type = getTypeByValue(values[key]);\n if (type === \"object\") {\n memo[key] = {\n type: \"object\",\n description: \"\",\n context: {},\n composite: defineNestedComposite(values[key]),\n };\n }\n else {\n memo[key] = {\n type,\n description: \"\",\n context: {},\n };\n }\n return memo;\n }, {});\n}\nfunction normalizeMetricName(name) {\n if (typeof name !== \"undefined\" && name.length > 0 && name[0] !== \"/\") {\n return \"/\" + name;\n }\n else {\n return name;\n }\n}\nfunction getMetricValueByType(metric) {\n const type = getMetricTypeByValue(metric);\n if (type === \"timestamp\") {\n return Date.now();\n }\n else {\n return publishNestedComposite(metric.value);\n }\n}\nfunction publishNestedComposite(values) {\n if (typeof values !== \"object\") {\n return values;\n }\n return Object.keys(values).reduce((memo, key) => {\n const value = values[key];\n if (typeof value === \"object\" && value.constructor !== Date) {\n memo[key] = publishNestedComposite(value);\n }\n else if (value.constructor === Date) {\n memo[key] = new Date(value).getTime();\n }\n else if (value.constructor === Boolean) {\n memo[key] = value.toString();\n }\n else {\n memo[key] = value;\n }\n return memo;\n }, {});\n}\nfunction flatten(arr) {\n return arr.reduce((flat, toFlatten) => {\n return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);\n }, []);\n}\nfunction getHighestState(arr) {\n return arr.sort((a, b) => {\n if (!a.state) {\n return 1;\n }\n if (!b.state) {\n return -1;\n }\n return b.state - a.state;\n })[0];\n}\nfunction aggregateDescription(arr) {\n let msg = \"\";\n arr.forEach((m, idx, a) => {\n const path = m.path.join(\".\");\n if (idx === a.length - 1) {\n msg += path + \".\" + m.name + \": \" + m.description;\n }\n else {\n msg += path + \".\" + m.name + \": \" + m.description + \",\";\n }\n });\n if (msg.length > 100) {\n return msg.slice(0, 100) + \"...\";\n }\n else {\n return msg;\n }\n}\nfunction composeMsgForRootStateMetric(system) {\n const aggregatedState = system.root.getAggregateState();\n const merged = flatten(aggregatedState);\n const highestState = getHighestState(merged);\n const aggregateDesc = aggregateDescription(merged);\n return {\n description: aggregateDesc,\n value: highestState.state,\n };\n}\n\nfunction gw3 (connection, config) {\n if (!connection || typeof connection !== \"object\") {\n throw new Error(\"Connection is required parameter\");\n }\n let joinPromise;\n let session;\n const init = (repo) => {\n let resolveReadyPromise;\n joinPromise = new Promise((resolve) => {\n resolveReadyPromise = resolve;\n });\n session = connection.domain(\"metrics\");\n session.onJoined((reconnect) => {\n if (!reconnect && resolveReadyPromise) {\n resolveReadyPromise();\n resolveReadyPromise = undefined;\n }\n const rootStateMetric = {\n name: \"/State\",\n type: \"object\",\n composite: {\n Description: {\n type: \"string\",\n description: \"\",\n },\n Value: {\n type: \"number\",\n description: \"\",\n },\n },\n description: \"System state\",\n context: {},\n };\n const defineRootMetricsMsg = {\n type: \"define\",\n metrics: [rootStateMetric],\n };\n session.send(defineRootMetricsMsg);\n if (reconnect) {\n replayRepo(repo);\n }\n });\n session.join({\n system: config.system,\n service: config.service,\n instance: config.instance\n });\n };\n const replayRepo = (repo) => {\n replaySystem(repo.root);\n };\n const replaySystem = (system) => {\n createSystem(system);\n system.metrics.forEach((m) => {\n createMetric(m);\n });\n system.subSystems.forEach((ss) => {\n replaySystem(ss);\n });\n };\n const createSystem = async (system) => {\n if (system.parent === undefined) {\n return;\n }\n await joinPromise;\n const metric = {\n name: normalizeMetricName(system.path.join(\"/\") + \"/\" + system.name + \"/State\"),\n type: \"object\",\n composite: {\n Description: {\n type: \"string\",\n description: \"\",\n },\n Value: {\n type: \"number\",\n description: \"\",\n },\n },\n description: \"System state\",\n context: {},\n };\n const createMetricsMsg = {\n type: \"define\",\n metrics: [metric],\n };\n session.send(createMetricsMsg);\n };\n const updateSystem = async (system, state) => {\n await joinPromise;\n const shadowedUpdateMetric = {\n type: \"publish\",\n values: [{\n name: normalizeMetricName(system.path.join(\"/\") + \"/\" + system.name + \"/State\"),\n value: {\n Description: state.description,\n Value: state.state,\n },\n timestamp: Date.now(),\n }],\n };\n session.send(shadowedUpdateMetric);\n const stateObj = composeMsgForRootStateMetric(system);\n const rootMetric = {\n type: \"publish\",\n peer_id: connection.peerId,\n values: [{\n name: \"/State\",\n value: {\n Description: stateObj.description,\n Value: stateObj.value,\n },\n timestamp: Date.now(),\n }],\n };\n session.send(rootMetric);\n };\n const createMetric = async (metric) => {\n const metricClone = cloneMetric(metric);\n await joinPromise;\n const m = serializeMetric(metricClone);\n const createMetricsMsg = {\n type: \"define\",\n metrics: [m],\n };\n session.send(createMetricsMsg);\n if (typeof metricClone.value !== \"undefined\") {\n updateMetricCore(metricClone);\n }\n };\n const updateMetric = async (metric) => {\n const metricClone = cloneMetric(metric);\n await joinPromise;\n updateMetricCore(metricClone);\n };\n const updateMetricCore = (metric) => {\n if (canUpdate()) {\n const value = getMetricValueByType(metric);\n const publishMetricsMsg = {\n type: \"publish\",\n values: [{\n name: normalizeMetricName(metric.path.join(\"/\") + \"/\" + metric.name),\n value,\n timestamp: Date.now(),\n }],\n };\n return session.sendFireAndForget(publishMetricsMsg);\n }\n return Promise.resolve();\n };\n const cloneMetric = (metric) => {\n const metricClone = { ...metric };\n if (typeof metric.value === \"object\" && metric.value !== null) {\n metricClone.value = { ...metric.value };\n }\n return metricClone;\n };\n const canUpdate = () => {\n try {\n const func = config.canUpdateMetric ?? (() => true);\n return func();\n }\n catch {\n return true;\n }\n };\n return {\n init,\n createSystem,\n updateSystem,\n createMetric,\n updateMetric,\n };\n}\n\nvar Helpers = {\n validate: (definition, parent, transport) => {\n if (definition === null || typeof definition !== \"object\") {\n throw new Error(\"Missing definition\");\n }\n if (parent === null || typeof parent !== \"object\") {\n throw new Error(\"Missing parent\");\n }\n if (transport === null || typeof transport !== \"object\") {\n throw new Error(\"Missing transport\");\n }\n },\n};\n\nclass BaseMetric {\n definition;\n system;\n transport;\n value;\n type;\n path = [];\n name;\n description;\n get repo() {\n return this.system?.repo;\n }\n get id() { return `${this.system.path}/${name}`; }\n constructor(definition, system, transport, value, type) {\n this.definition = definition;\n this.system = system;\n this.transport = transport;\n this.value = value;\n this.type = type;\n Helpers.validate(definition, system, transport);\n this.path = system.path.slice(0);\n this.path.push(system.name);\n this.name = definition.name;\n this.description = definition.description;\n transport.createMetric(this);\n }\n update(newValue) {\n this.value = newValue;\n return this.transport.updateMetric(this);\n }\n}\n\nclass NumberMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.NUMBER);\n }\n incrementBy(num) {\n this.update(this.value + num);\n }\n increment() {\n this.incrementBy(1);\n }\n decrement() {\n this.incrementBy(-1);\n }\n decrementBy(num) {\n this.incrementBy(num * -1);\n }\n}\n\nclass ObjectMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.OBJECT);\n }\n update(newValue) {\n this.mergeValues(newValue);\n return this.transport.updateMetric(this);\n }\n mergeValues(values) {\n return Object.keys(this.value).forEach((k) => {\n if (typeof values[k] !== \"undefined\") {\n this.value[k] = values[k];\n }\n });\n }\n}\n\nclass StringMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.STRING);\n }\n}\n\nclass TimestampMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.TIMESTAMP);\n }\n now() {\n this.update(new Date());\n }\n}\n\nfunction system(name, repo, protocol, parent, description) {\n if (!repo) {\n throw new Error(\"Repository is required\");\n }\n if (!protocol) {\n throw new Error(\"Transport is required\");\n }\n const _transport = protocol;\n const _name = name;\n const _description = description || \"\";\n const _repo = repo;\n const _parent = parent;\n const _path = _buildPath(parent);\n let _state = {};\n const id = _arrayToString(_path, \"/\") + name;\n const root = repo.root;\n const _subSystems = [];\n const _metrics = [];\n function subSystem(nameSystem, descriptionSystem) {\n if (!nameSystem || nameSystem.length === 0) {\n throw new Error(\"name is required\");\n }\n const match = _subSystems.filter((s) => s.name === nameSystem);\n if (match.length > 0) {\n return match[0];\n }\n const _system = system(nameSystem, _repo, _transport, me, descriptionSystem);\n _subSystems.push(_system);\n return _system;\n }\n function setState(state, stateDescription) {\n _state = { state, description: stateDescription };\n _transport.updateSystem(me, _state);\n }\n function stringMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.STRING, value, (metricDef) => new StringMetric(metricDef, me, _transport, value));\n }\n function numberMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.NUMBER, value, (metricDef) => new NumberMetric(metricDef, me, _transport, value));\n }\n function objectMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.OBJECT, value, (metricDef) => new ObjectMetric(metricDef, me, _transport, value));\n }\n function timestampMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.TIMESTAMP, value, (metricDef) => new TimestampMetric(metricDef, me, _transport, value));\n }\n function _getOrCreateMetric(metricObject, expectedType, value, createMetric) {\n let metricDef = { name: \"\" };\n if (typeof metricObject === \"string\") {\n metricDef = { name: metricObject };\n }\n else {\n metricDef = metricObject;\n }\n const matching = _metrics.filter((shadowedMetric) => shadowedMetric.name === metricDef.name);\n if (matching.length > 0) {\n const existing = matching[0];\n if (existing.type !== expectedType) {\n throw new Error(`A metric named ${metricDef.name} is already defined with different type.`);\n }\n if (typeof value !== \"undefined\") {\n existing\n .update(value)\n .catch(() => { });\n }\n return existing;\n }\n const metric = createMetric(metricDef);\n _metrics.push(metric);\n return metric;\n }\n function _buildPath(shadowedSystem) {\n if (!shadowedSystem || !shadowedSystem.parent) {\n return [];\n }\n const path = _buildPath(shadowedSystem.parent);\n path.push(shadowedSystem.name);\n return path;\n }\n function _arrayToString(path, separator) {\n return ((path && path.length > 0) ? path.join(separator) : \"\");\n }\n function getAggregateState() {\n const aggState = [];\n if (Object.keys(_state).length > 0) {\n aggState.push({\n name: _name,\n path: _path,\n state: _state.state,\n description: _state.description,\n });\n }\n _subSystems.forEach((shadowedSubSystem) => {\n const result = shadowedSubSystem.getAggregateState();\n if (result.length > 0) {\n aggState.push(...result);\n }\n });\n return aggState;\n }\n const me = {\n get name() {\n return _name;\n },\n get description() {\n return _description;\n },\n get repo() {\n return _repo;\n },\n get parent() {\n return _parent;\n },\n path: _path,\n id,\n root,\n get subSystems() {\n return _subSystems;\n },\n get metrics() {\n return _metrics;\n },\n subSystem,\n getState: () => {\n return _state;\n },\n setState,\n stringMetric,\n timestampMetric,\n objectMetric,\n numberMetric,\n getAggregateState,\n };\n _transport.createSystem(me);\n return me;\n}\n\nclass Repository {\n root;\n constructor(options, protocol) {\n protocol.init(this);\n this.root = system(\"\", this, protocol);\n this.addSystemMetrics(this.root, options.clickStream || options.clickStream === undefined);\n }\n addSystemMetrics(rootSystem, useClickStream) {\n if (typeof navigator !== \"undefined\") {\n rootSystem.stringMetric(\"UserAgent\", navigator.userAgent);\n }\n if (useClickStream && typeof document !== \"undefined\") {\n const clickStream = rootSystem.subSystem(\"ClickStream\");\n const documentClickHandler = (e) => {\n if (!e.target) {\n return;\n }\n const target = e.target;\n const className = target ? target.getAttribute(\"class\") ?? \"\" : \"\";\n clickStream.objectMetric(\"LastBrowserEvent\", {\n type: \"click\",\n timestamp: new Date(),\n target: {\n className,\n id: target.id,\n type: \"<\" + target.tagName.toLowerCase() + \">\",\n href: target.href || \"\",\n },\n });\n };\n clickStream.objectMetric(\"Page\", {\n title: document.title,\n page: window.location.href,\n });\n if (document.addEventListener) {\n document.addEventListener(\"click\", documentClickHandler);\n }\n else {\n document.attachEvent(\"onclick\", documentClickHandler);\n }\n }\n rootSystem.stringMetric(\"StartTime\", (new Date()).toString());\n const urlMetric = rootSystem.stringMetric(\"StartURL\", \"\");\n const appNameMetric = rootSystem.stringMetric(\"AppName\", \"\");\n if (typeof window !== \"undefined\") {\n if (typeof window.location !== \"undefined\") {\n const startUrl = window.location.href;\n urlMetric.update(startUrl);\n }\n if (typeof window.glue42gd !== \"undefined\") {\n appNameMetric.update(window.glue42gd.appName);\n }\n }\n }\n}\n\nclass NullProtocol {\n init(repo) {\n }\n createSystem(system) {\n return Promise.resolve();\n }\n updateSystem(metric, state) {\n return Promise.resolve();\n }\n createMetric(metric) {\n return Promise.resolve();\n }\n updateMetric(metric) {\n return Promise.resolve();\n }\n}\n\nclass PerfTracker {\n api;\n lastCount = 0;\n initialPublishTimeout = 10 * 1000;\n publishInterval = 60 * 1000;\n system;\n constructor(api, initialPublishTimeout, publishInterval) {\n this.api = api;\n this.initialPublishTimeout = initialPublishTimeout ?? this.initialPublishTimeout;\n this.publishInterval = publishInterval ?? this.publishInterval;\n this.scheduleCollection();\n this.system = this.api.subSystem(\"performance\", \"Performance data published by the web application\");\n }\n scheduleCollection() {\n setTimeout(() => {\n this.collect();\n setInterval(() => {\n this.collect();\n }, this.publishInterval);\n }, this.initialPublishTimeout);\n }\n collect() {\n try {\n this.collectMemory();\n this.collectEntries();\n }\n catch {\n }\n }\n collectMemory() {\n const memory = window.performance.memory;\n this.system.stringMetric(\"memory\", JSON.stringify({\n totalJSHeapSize: memory.totalJSHeapSize,\n usedJSHeapSize: memory.usedJSHeapSize\n }));\n }\n collectEntries() {\n const allEntries = window.performance.getEntries();\n if (allEntries.length <= this.lastCount) {\n return;\n }\n this.lastCount = allEntries.length;\n const jsonfiedEntries = allEntries.map((i) => i.toJSON());\n this.system.stringMetric(\"entries\", JSON.stringify(jsonfiedEntries));\n }\n}\n\nvar metrics = (options) => {\n let protocol;\n if (!options.connection || typeof options.connection !== \"object\") {\n protocol = new NullProtocol();\n }\n else {\n protocol = gw3(options.connection, options);\n }\n const repo = new Repository(options, protocol);\n let rootSystem = repo.root;\n if (!options.disableAutoAppSystem) {\n rootSystem = rootSystem.subSystem(\"App\");\n }\n const api = addFAVSupport(rootSystem);\n initPerf(api, options.pagePerformanceMetrics);\n return api;\n};\nfunction initPerf(api, config) {\n if (typeof window === \"undefined\") {\n return;\n }\n const perfConfig = window?.glue42gd?.metrics?.pagePerformanceMetrics;\n if (perfConfig) {\n config = perfConfig;\n }\n if (config?.enabled) {\n new PerfTracker(api, config.initialPublishTimeout, config.publishInterval);\n }\n}\nfunction addFAVSupport(system) {\n const reportingSystem = system.subSystem(\"reporting\");\n const def = {\n name: \"features\"\n };\n let featureMetric;\n const featureMetricFunc = (name, action, payload) => {\n if (typeof name === \"undefined\" || name === \"\") {\n throw new Error(\"name is mandatory\");\n }\n else if (typeof action === \"undefined\" || action === \"\") {\n throw new Error(\"action is mandatory\");\n }\n else if (typeof payload === \"undefined\" || payload === \"\") {\n throw new Error(\"payload is mandatory\");\n }\n if (!featureMetric) {\n featureMetric = reportingSystem.objectMetric(def, { name, action, payload });\n }\n else {\n featureMetric.update({\n name,\n action,\n payload\n });\n }\n };\n system.featureMetric = featureMetricFunc;\n return system;\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\ncreateRegistry.default = createRegistry;\nvar lib = createRegistry;\n\n\nvar CallbackRegistryFactory = /*@__PURE__*/getDefaultExportFromCjs(lib);\n\nclass InProcTransport {\n gw;\n registry = CallbackRegistryFactory();\n client;\n constructor(settings, logger) {\n this.gw = settings.facade;\n this.gw.connect((_client, message) => {\n this.messageHandler(message);\n }).then((client) => {\n this.client = client;\n });\n }\n get isObjectBasedTransport() {\n return true;\n }\n sendObject(msg) {\n if (this.client) {\n this.client.send(msg);\n return Promise.resolve(undefined);\n }\n else {\n return Promise.reject(`not connected`);\n }\n }\n send(_msg) {\n return Promise.reject(\"not supported\");\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n onConnectedChanged(callback) {\n callback(true);\n return () => { };\n }\n close() {\n return Promise.resolve();\n }\n open() {\n return Promise.resolve();\n }\n name() {\n return \"in-memory\";\n }\n reconnect() {\n return Promise.resolve();\n }\n messageHandler(msg) {\n this.registry.execute(\"onMessage\", msg);\n }\n}\n\nclass SharedWorkerTransport {\n logger;\n worker;\n registry = CallbackRegistryFactory();\n constructor(workerFile, logger) {\n this.logger = logger;\n this.worker = new SharedWorker(workerFile);\n this.worker.port.onmessage = (e) => {\n this.messageHandler(e.data);\n };\n }\n get isObjectBasedTransport() {\n return true;\n }\n sendObject(msg) {\n this.worker.port.postMessage(msg);\n return Promise.resolve();\n }\n send(_msg) {\n return Promise.reject(\"not supported\");\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n onConnectedChanged(callback) {\n callback(true);\n return () => { };\n }\n close() {\n return Promise.resolve();\n }\n open() {\n return Promise.resolve();\n }\n name() {\n return \"shared-worker\";\n }\n reconnect() {\n return Promise.resolve();\n }\n messageHandler(msg) {\n this.registry.execute(\"onMessage\", msg);\n }\n}\n\nclass Utils {\n static isNode() {\n if (typeof Utils._isNode !== \"undefined\") {\n return Utils._isNode;\n }\n if (typeof window !== \"undefined\") {\n Utils._isNode = false;\n return false;\n }\n try {\n Utils._isNode = Object.prototype.toString.call(global.process) === \"[object process]\";\n }\n catch (e) {\n Utils._isNode = false;\n }\n return Utils._isNode;\n }\n static _isNode;\n}\n\nclass PromiseWrapper {\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n resolve;\n reject;\n promise;\n rejected = false;\n resolved = false;\n get ended() {\n return this.rejected || this.resolved;\n }\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (t) => {\n this.resolved = true;\n resolve(t);\n };\n this.reject = (err) => {\n this.rejected = true;\n reject(err);\n };\n });\n }\n}\n\nconst timers = {};\nfunction getAllTimers() {\n return timers;\n}\nfunction timer (timerName) {\n const existing = timers[timerName];\n if (existing) {\n return existing;\n }\n const marks = [];\n function now() {\n return new Date().getTime();\n }\n const startTime = now();\n mark(\"start\", startTime);\n let endTime;\n let period;\n function stop() {\n endTime = now();\n mark(\"end\", endTime);\n period = endTime - startTime;\n return period;\n }\n function mark(name, time) {\n const currentTime = time ?? now();\n let diff = 0;\n if (marks.length > 0) {\n diff = currentTime - marks[marks.length - 1].time;\n }\n marks.push({ name, time: currentTime, diff });\n }\n const timerObj = {\n get startTime() {\n return startTime;\n },\n get endTime() {\n return endTime;\n },\n get period() {\n return period;\n },\n stop,\n mark,\n marks\n };\n timers[timerName] = timerObj;\n return timerObj;\n}\n\nconst WebSocketConstructor = Utils.isNode() ? require(\"ws\") : window.WebSocket;\nclass WS {\n ws;\n logger;\n settings;\n startupTimer = timer(\"connection\");\n _running = true;\n _registry = CallbackRegistryFactory();\n wsRequests = [];\n constructor(settings, logger) {\n this.settings = settings;\n this.logger = logger;\n if (!this.settings.ws) {\n throw new Error(\"ws is missing\");\n }\n }\n onMessage(callback) {\n return this._registry.add(\"onMessage\", callback);\n }\n send(msg, options) {\n return new Promise((resolve, reject) => {\n this.waitForSocketConnection(() => {\n try {\n this.ws?.send(msg);\n resolve();\n }\n catch (e) {\n reject(e);\n }\n }, reject);\n });\n }\n open() {\n this.logger.info(\"opening ws...\");\n this._running = true;\n return new Promise((resolve, reject) => {\n this.waitForSocketConnection(resolve, reject);\n });\n }\n close() {\n this._running = false;\n if (this.ws) {\n this.ws.close();\n }\n return Promise.resolve();\n }\n onConnectedChanged(callback) {\n return this._registry.add(\"onConnectedChanged\", callback);\n }\n name() {\n return this.settings.ws;\n }\n reconnect() {\n this.ws?.close();\n const pw = new PromiseWrapper();\n this.waitForSocketConnection(() => {\n pw.resolve();\n });\n return pw.promise;\n }\n waitForSocketConnection(callback, failed) {\n failed = failed ?? (() => { });\n if (!this._running) {\n failed(`wait for socket on ${this.settings.ws} failed - socket closed by user`);\n return;\n }\n if (this.ws?.readyState === 1) {\n callback();\n return;\n }\n this.wsRequests.push({ callback, failed });\n if (this.wsRequests.length > 1) {\n return;\n }\n this.openSocket();\n }\n async openSocket(retryInterval, retriesLeft) {\n this.logger.info(`opening ws to ${this.settings.ws}, retryInterval: ${retryInterval}, retriesLeft: ${retriesLeft}...`);\n this.startupTimer.mark(\"opening-socket\");\n if (retryInterval === undefined) {\n retryInterval = this.settings.reconnectInterval;\n }\n if (typeof retriesLeft === \"undefined\") {\n retriesLeft = this.settings.reconnectAttempts;\n }\n if (retriesLeft !== undefined) {\n if (retriesLeft === 0) {\n this.notifyForSocketState(`wait for socket on ${this.settings.ws} failed - no more retries left`);\n return;\n }\n this.logger.debug(`will retry ${retriesLeft} more times (every ${retryInterval} ms)`);\n }\n try {\n await this.initiateSocket();\n this.startupTimer.mark(\"socket-initiated\");\n this.notifyForSocketState();\n }\n catch {\n setTimeout(() => {\n const retries = retriesLeft === undefined ? undefined : retriesLeft - 1;\n this.openSocket(retryInterval, retries);\n }, retryInterval);\n }\n }\n initiateSocket() {\n const pw = new PromiseWrapper();\n this.logger.debug(`initiating ws to ${this.settings.ws}...`);\n this.ws = new WebSocketConstructor(this.settings.ws ?? \"\");\n this.ws.onerror = (err) => {\n let reason = \"\";\n try {\n reason = JSON.stringify(err);\n }\n catch (error) {\n const seen = new WeakSet();\n const replacer = (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n }\n return value;\n };\n reason = JSON.stringify(err, replacer);\n }\n this.logger.info(`ws error - reason: ${reason}`);\n pw.reject(\"error\");\n this.notifyStatusChanged(false, reason);\n };\n this.ws.onclose = (err) => {\n this.logger.info(`ws closed - code: ${err?.code} reason: ${err?.reason}`);\n pw.reject(\"closed\");\n this.notifyStatusChanged(false);\n };\n this.ws.onopen = () => {\n this.startupTimer.mark(\"ws-opened\");\n this.logger.info(`ws opened ${this.settings.identity?.application}`);\n pw.resolve();\n this.notifyStatusChanged(true);\n };\n this.ws.onmessage = (message) => {\n this._registry.execute(\"onMessage\", message.data);\n };\n return pw.promise;\n }\n notifyForSocketState(error) {\n this.wsRequests.forEach((wsRequest) => {\n if (error) {\n if (wsRequest.failed) {\n wsRequest.failed(error);\n }\n }\n else {\n wsRequest.callback();\n }\n });\n this.wsRequests = [];\n }\n notifyStatusChanged(status, reason) {\n this._registry.execute(\"onConnectedChanged\", status, reason);\n }\n}\n\nclass MessageReplayerImpl {\n specs;\n specsNames = [];\n messages = {};\n isDone;\n subs = {};\n subsRefCount = {};\n connection;\n constructor(specs) {\n this.specs = {};\n for (const spec of specs) {\n this.specs[spec.name] = spec;\n this.specsNames.push(spec.name);\n }\n }\n init(connection) {\n this.connection = connection;\n for (const name of this.specsNames) {\n for (const type of this.specs[name].types) {\n let refCount = this.subsRefCount[type];\n if (!refCount) {\n refCount = 0;\n }\n refCount += 1;\n this.subsRefCount[type] = refCount;\n if (refCount > 1) {\n continue;\n }\n const sub = connection.on(type, (msg) => this.processMessage(type, msg));\n this.subs[type] = sub;\n }\n }\n }\n processMessage(type, msg) {\n if (this.isDone || !msg) {\n return;\n }\n for (const name of this.specsNames) {\n if (this.specs[name].types.indexOf(type) !== -1) {\n const messages = this.messages[name] || [];\n this.messages[name] = messages;\n messages.push(msg);\n }\n }\n }\n drain(name, callback) {\n if (callback) {\n (this.messages[name] || []).forEach(callback);\n }\n delete this.messages[name];\n for (const type of this.specs[name].types) {\n this.subsRefCount[type] -= 1;\n if (this.subsRefCount[type] <= 0) {\n this.connection?.off(this.subs[type]);\n delete this.subs[type];\n delete this.subsRefCount[type];\n }\n }\n delete this.specs[name];\n if (!this.specs.length) {\n this.isDone = true;\n }\n }\n}\n\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';\nlet nanoid = (size = 21) => {\n let id = '';\n let i = size;\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0];\n }\n return id\n};\n\nconst PromisePlus = (executor, timeoutMilliseconds, timeoutMessage) => {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n const message = timeoutMessage || `Promise timeout hit: ${timeoutMilliseconds}`;\n reject(message);\n }, timeoutMilliseconds);\n const providedPromise = new Promise(executor);\n providedPromise\n .then((result) => {\n clearTimeout(timeout);\n resolve(result);\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n};\n\nclass WebPlatformTransport {\n settings;\n logger;\n identity;\n isPreferredActivated;\n _communicationId;\n publicWindowId;\n selfAssignedWindowId;\n iAmConnected = false;\n parentReady = false;\n rejected = false;\n parentPingResolve;\n parentPingInterval;\n connectionResolve;\n extConnectionResolve;\n extConnectionReject;\n connectionReject;\n port;\n myClientId;\n children = [];\n extContentAvailable = false;\n extContentConnecting = false;\n extContentConnected = false;\n parentWindowId;\n parentInExtMode = false;\n webNamespace = \"g42_core_web\";\n parent;\n parentType;\n parentPingTimeout = 5000;\n connectionRequestTimeout = 7000;\n defaultTargetString = \"*\";\n registry = CallbackRegistryFactory();\n messages = {\n connectionAccepted: { name: \"connectionAccepted\", handle: this.handleConnectionAccepted.bind(this) },\n connectionRejected: { name: \"connectionRejected\", handle: this.handleConnectionRejected.bind(this) },\n connectionRequest: { name: \"connectionRequest\", handle: this.handleConnectionRequest.bind(this) },\n parentReady: {\n name: \"parentReady\", handle: () => {\n }\n },\n parentPing: { name: \"parentPing\", handle: this.handleParentPing.bind(this) },\n platformPing: { name: \"platformPing\", handle: this.handlePlatformPing.bind(this) },\n platformReady: { name: \"platformReady\", handle: this.handlePlatformReady.bind(this) },\n clientUnload: { name: \"clientUnload\", handle: this.handleClientUnload.bind(this) },\n manualUnload: { name: \"manualUnload\", handle: this.handleManualUnload.bind(this) },\n extConnectionResponse: { name: \"extConnectionResponse\", handle: this.handleExtConnectionResponse.bind(this) },\n extSetupRequest: { name: \"extSetupRequest\", handle: this.handleExtSetupRequest.bind(this) },\n gatewayDisconnect: { name: \"gatewayDisconnect\", handle: this.handleGatewayDisconnect.bind(this) },\n gatewayInternalConnect: { name: \"gatewayInternalConnect\", handle: this.handleGatewayInternalConnect.bind(this) }\n };\n constructor(settings, logger, identity) {\n this.settings = settings;\n this.logger = logger;\n this.identity = identity;\n this.extContentAvailable = !!window.glue42ext;\n this.setUpMessageListener();\n this.setUpUnload();\n this.setupPlatformUnloadListener();\n this.parentType = window.name.includes(\"#wsp\") ? \"workspace\" : undefined;\n }\n manualSetReadyState() {\n this.iAmConnected = true;\n this.parentReady = true;\n }\n get transportWindowId() {\n return this.publicWindowId;\n }\n get communicationId() {\n return this._communicationId;\n }\n async sendObject(msg) {\n if (this.extContentConnected) {\n return window.postMessage({ glue42ExtOut: msg }, this.defaultTargetString);\n }\n if (!this.port) {\n throw new Error(\"Cannot send message, because the port was not opened yet\");\n }\n this.port.postMessage(msg);\n }\n get isObjectBasedTransport() {\n return true;\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n send() {\n return Promise.reject(\"not supported\");\n }\n onConnectedChanged(callback) {\n return this.registry.add(\"onConnectedChanged\", callback);\n }\n async open() {\n this.logger.debug(\"opening a connection to the web platform gateway.\");\n await this.connect();\n this.notifyStatusChanged(true);\n }\n close() {\n const message = {\n glue42core: {\n type: this.messages.gatewayDisconnect.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n this.port?.postMessage(message);\n this.parentReady = false;\n this.notifyStatusChanged(false, \"manual reconnection\");\n return Promise.resolve();\n }\n name() {\n return \"web-platform\";\n }\n async reconnect() {\n await this.close();\n return Promise.resolve();\n }\n initiateInternalConnection() {\n return new Promise((resolve, reject) => {\n this.logger.debug(\"opening an internal web platform connection\");\n this.port = this.settings.port;\n if (this.iAmConnected) {\n this.logger.warn(\"cannot open a new connection, because this client is currently connected\");\n return;\n }\n this.port.onmessage = (event) => {\n if (this.iAmConnected && !event.data?.glue42core) {\n this.registry.execute(\"onMessage\", event.data);\n return;\n }\n const data = event.data?.glue42core;\n if (!data) {\n return;\n }\n if (data.type === this.messages.gatewayInternalConnect.name && data.success) {\n this.publicWindowId = this.settings.windowId;\n if (this.identity && this.publicWindowId) {\n this.identity.windowId = this.publicWindowId;\n this.identity.instance = this.publicWindowId;\n }\n resolve();\n }\n if (data.type === this.messages.gatewayInternalConnect.name && data.error) {\n reject(data.error);\n }\n };\n this.port.postMessage({\n glue42core: {\n type: this.messages.gatewayInternalConnect.name\n }\n });\n });\n }\n initiateRemoteConnection(target) {\n return PromisePlus((resolve, reject) => {\n this.connectionResolve = resolve;\n this.connectionReject = reject;\n this.myClientId = this.myClientId ?? nanoid(10);\n const bridgeInstanceId = this.getMyWindowId() || nanoid(10);\n const request = {\n glue42core: {\n type: this.messages.connectionRequest.name,\n clientId: this.myClientId,\n clientType: \"child\",\n bridgeInstanceId,\n selfAssignedWindowId: this.selfAssignedWindowId\n }\n };\n this.logger.debug(\"sending connection request\");\n if (this.extContentConnecting) {\n request.glue42core.clientType = \"child\";\n request.glue42core.bridgeInstanceId = this.myClientId;\n request.glue42core.parentWindowId = this.parentWindowId;\n return window.postMessage(request, this.defaultTargetString);\n }\n if (!target) {\n throw new Error(\"Cannot send a connection request, because no glue target was specified!\");\n }\n target.postMessage(request, this.defaultTargetString);\n }, this.connectionRequestTimeout, \"The connection to the target glue window timed out\");\n }\n async isParentCheckSuccess(parentCheck) {\n try {\n await parentCheck;\n return { success: true };\n }\n catch (error) {\n return { success: false };\n }\n }\n setUpMessageListener() {\n if (this.settings.port) {\n this.logger.debug(\"skipping generic message listener, because this is an internal client\");\n return;\n }\n window.addEventListener(\"message\", (event) => {\n const data = event.data?.glue42core;\n if (!data || this.rejected) {\n return;\n }\n const allowedOrigins = this.settings.allowedOrigins || [];\n if (allowedOrigins.length && !allowedOrigins.includes(event.origin)) {\n this.logger.warn(`received a message from an origin which is not in the allowed list: ${event.origin}`);\n return;\n }\n if (!this.checkMessageTypeValid(data.type)) {\n this.logger.error(`cannot handle the incoming glue42 core message, because the type is invalid: ${data.type}`);\n return;\n }\n const messageType = data.type;\n this.logger.debug(`received valid glue42core message of type: ${messageType}`);\n this.messages[messageType].handle(event);\n });\n }\n setUpUnload() {\n if (this.settings.port) {\n this.logger.debug(\"skipping unload event listener, because this is an internal client\");\n return;\n }\n window.addEventListener(\"beforeunload\", () => {\n if (this.extContentConnected) {\n return;\n }\n const message = {\n glue42core: {\n type: this.messages.clientUnload.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n if (this.parent) {\n this.parent.postMessage(message, this.defaultTargetString);\n }\n this.port?.postMessage(message);\n });\n }\n handlePlatformReady(event) {\n this.logger.debug(\"the web platform gave the ready signal\");\n this.parentReady = true;\n if (this.parentPingResolve) {\n this.parentPingResolve();\n delete this.parentPingResolve;\n }\n if (this.parentPingInterval) {\n clearInterval(this.parentPingInterval);\n delete this.parentPingInterval;\n }\n this.parent = event.source;\n this.parentType = window.name.includes(\"#wsp\") ? \"workspace\" : \"window\";\n }\n handleConnectionAccepted(event) {\n const data = event.data?.glue42core;\n if (this.myClientId === data.clientId) {\n return this.handleAcceptanceOfMyRequest(data);\n }\n return this.handleAcceptanceOfGrandChildRequest(data, event);\n }\n handleAcceptanceOfMyRequest(data) {\n this.logger.debug(\"handling a connection accepted signal targeted at me.\");\n this.isPreferredActivated = data.isPreferredActivated;\n if (this.extContentConnecting) {\n return this.processExtContentConnection(data);\n }\n if (!data.port) {\n this.logger.error(\"cannot set up my connection, because I was not provided with a port\");\n return;\n }\n this.publicWindowId = this.getMyWindowId();\n if (this.identity) {\n this.identity.windowId = this.publicWindowId;\n this.identity.instance = this.identity.instance ? this.identity.instance : this.publicWindowId || nanoid(10);\n }\n if (this.identity && data.appName) {\n this.identity.application = data.appName;\n this.identity.applicationName = data.appName;\n }\n this._communicationId = data.communicationId;\n this.port = data.port;\n this.port.onmessage = (e) => this.registry.execute(\"onMessage\", e.data);\n if (this.connectionResolve) {\n this.logger.debug(\"my connection is set up, calling the connection resolve.\");\n this.connectionResolve();\n delete this.connectionResolve;\n return;\n }\n this.logger.error(\"unable to call the connection resolve, because no connection promise was found\");\n }\n processExtContentConnection(data) {\n this.logger.debug(\"handling a connection accepted signal targeted at me for extension content connection.\");\n this.extContentConnecting = false;\n this.extContentConnected = true;\n this.publicWindowId = this.parentWindowId || this.myClientId;\n if (this.extContentConnecting && this.identity) {\n this.identity.windowId = this.publicWindowId;\n }\n if (this.identity && data.appName) {\n this.identity.application = data.appName;\n this.identity.applicationName = data.appName;\n }\n window.addEventListener(\"message\", (event) => {\n const extData = event.data?.glue42ExtInc;\n if (!extData) {\n return;\n }\n const allowedOrigins = this.settings.allowedOrigins || [];\n if (allowedOrigins.length && !allowedOrigins.includes(event.origin)) {\n this.logger.warn(`received a message from an origin which is not in the allowed list: ${event.origin}`);\n return;\n }\n this.registry.execute(\"onMessage\", extData);\n });\n if (this.connectionResolve) {\n this.logger.debug(\"my connection is set up, calling the connection resolve.\");\n this.connectionResolve();\n delete this.connectionResolve;\n return;\n }\n }\n handleAcceptanceOfGrandChildRequest(data, event) {\n if (this.extContentConnecting || this.extContentConnected) {\n this.logger.debug(\"cannot process acceptance of a grandchild, because I am connected to a content script\");\n return;\n }\n this.logger.debug(`handling a connection accepted signal targeted at a grandchild: ${data.clientId}`);\n const child = this.children.find((c) => c.grandChildId === data.clientId);\n if (!child) {\n this.logger.error(`cannot handle connection accepted for grandchild: ${data.clientId}, because there is no grandchild with this id`);\n return;\n }\n child.connected = true;\n this.logger.debug(`the grandchild connection for ${data.clientId} is set up, forwarding the success message and the gateway port`);\n data.parentWindowId = this.publicWindowId;\n child.source.postMessage(event.data, child.origin, [data.port]);\n return;\n }\n handleConnectionRejected() {\n this.logger.debug(\"handling a connection rejection. Most likely the reason is that this window was not created by a glue API call\");\n if (this.connectionReject) {\n this.connectionReject(\"The platform connection was rejected. Most likely because this window was not created by a glue API call\");\n delete this.connectionReject;\n }\n }\n handleConnectionRequest(event) {\n if (this.extContentConnecting) {\n this.logger.debug(\"This connection request event is targeted at the extension content\");\n return;\n }\n const source = event.source;\n const data = event.data.glue42core;\n if (!data.clientType || data.clientType !== \"grandChild\") {\n return this.rejectConnectionRequest(source, event.origin, \"rejecting a connection request, because the source was not opened by a glue API call\");\n }\n if (!data.clientId) {\n return this.rejectConnectionRequest(source, event.origin, \"rejecting a connection request, because the source did not provide a valid id\");\n }\n if (!this.parent) {\n return this.rejectConnectionRequest(source, event.origin, \"Cannot forward the connection request, because no direct connection to the platform was found\");\n }\n this.logger.debug(`handling a connection request for a grandchild: ${data.clientId}`);\n this.children.push({ grandChildId: data.clientId, source, connected: false, origin: event.origin });\n this.logger.debug(`grandchild: ${data.clientId} is prepared, forwarding connection request to the platform`);\n this.parent.postMessage(event.data, this.defaultTargetString);\n }\n handleParentPing(event) {\n if (!this.parentReady) {\n this.logger.debug(\"my parent is not ready, I am ignoring the parent ping\");\n return;\n }\n if (!this.iAmConnected) {\n this.logger.debug(\"i am not fully connected yet, I am ignoring the parent ping\");\n return;\n }\n const message = {\n glue42core: {\n type: this.messages.parentReady.name\n }\n };\n if (this.extContentConnected) {\n message.glue42core.extMode = { windowId: this.myClientId };\n }\n const source = event.source;\n this.logger.debug(\"responding to a parent ping with a ready message\");\n source.postMessage(message, event.origin);\n }\n setupPlatformUnloadListener() {\n this.onMessage((msg) => {\n if (msg.type === \"platformUnload\") {\n this.logger.debug(\"detected a web platform unload\");\n this.parentReady = false;\n this.notifyStatusChanged(false, \"Gateway unloaded\");\n }\n });\n }\n handleManualUnload() {\n const message = {\n glue42core: {\n type: this.messages.clientUnload.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n if (this.extContentConnected) {\n return window.postMessage({ glue42ExtOut: message }, this.defaultTargetString);\n }\n this.port?.postMessage(message);\n }\n handleClientUnload(event) {\n const data = event.data.glue42core;\n const clientId = data?.data.clientId;\n if (!clientId) {\n this.logger.warn(\"cannot process grand child unload, because the provided id was not valid\");\n return;\n }\n const foundChild = this.children.find((child) => child.grandChildId === clientId);\n if (!foundChild) {\n this.logger.warn(\"cannot process grand child unload, because this client is unaware of this grandchild\");\n return;\n }\n this.logger.debug(`handling grandchild unload for id: ${clientId}`);\n this.children = this.children.filter((child) => child.grandChildId !== clientId);\n }\n handlePlatformPing() {\n return;\n }\n notifyStatusChanged(status, reason) {\n this.iAmConnected = status;\n this.registry.execute(\"onConnectedChanged\", status, reason);\n }\n checkMessageTypeValid(typeToValidate) {\n return typeof typeToValidate === \"string\" && !!this.messages[typeToValidate];\n }\n rejectConnectionRequest(source, origin, reason) {\n this.rejected = true;\n this.logger.error(reason);\n const rejection = {\n glue42core: {\n type: this.messages.connectionRejected.name\n }\n };\n source.postMessage(rejection, origin);\n }\n requestConnectionPermissionFromExt() {\n return this.waitForContentScript()\n .then(() => PromisePlus((resolve, reject) => {\n this.extConnectionResolve = resolve;\n this.extConnectionReject = reject;\n const message = {\n glue42core: {\n type: \"extSetupRequest\"\n }\n };\n this.logger.debug(\"permission request to the extension content script was sent\");\n window.postMessage(message, this.defaultTargetString);\n }, this.parentPingTimeout, \"Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection timed out\"));\n }\n handleExtConnectionResponse(event) {\n const data = event.data?.glue42core;\n if (!data.approved) {\n return this.extConnectionReject ? this.extConnectionReject(\"Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection was rejected\") : undefined;\n }\n if (this.extConnectionResolve) {\n this.extConnectionResolve();\n delete this.extConnectionResolve;\n }\n this.extContentConnecting = true;\n this.parentType = \"extension\";\n this.logger.debug(\"The extension connection was approved, proceeding.\");\n }\n handleExtSetupRequest() {\n return;\n }\n handleGatewayDisconnect() {\n return;\n }\n handleGatewayInternalConnect() {\n return;\n }\n waitForContentScript() {\n const contentReady = !!window.glue42ext?.content;\n if (contentReady) {\n return Promise.resolve();\n }\n return PromisePlus((resolve) => {\n window.addEventListener(\"Glue42EXTReady\", () => {\n resolve();\n });\n }, this.connectionRequestTimeout, \"The content script was available, but was never heard to be ready\");\n }\n async connect() {\n if (this.settings.port) {\n await this.initiateInternalConnection();\n this.logger.debug(\"internal web platform connection completed\");\n return;\n }\n this.logger.debug(\"opening a client web platform connection\");\n await this.findParent();\n await this.initiateRemoteConnection(this.parent);\n this.logger.debug(\"the client is connected\");\n }\n async findParent() {\n const connectionNotPossibleMsg = \"Cannot initiate glue, because this window was not opened or created by a glue client\";\n const myInsideParents = this.getPossibleParentsInWindow(window);\n const myOutsideParents = this.getPossibleParentsOutsideWindow(window.top?.opener, window.top);\n const uniqueParents = new Set([...myInsideParents, ...myOutsideParents]);\n if (!uniqueParents.size && !this.extContentAvailable) {\n throw new Error(connectionNotPossibleMsg);\n }\n if (!uniqueParents.size && this.extContentAvailable) {\n await this.requestConnectionPermissionFromExt();\n return;\n }\n const defaultParentCheck = await this.isParentCheckSuccess(this.confirmParent(Array.from(uniqueParents)));\n if (defaultParentCheck.success) {\n this.logger.debug(\"The default parent was found!\");\n return;\n }\n if (!this.extContentAvailable) {\n throw new Error(connectionNotPossibleMsg);\n }\n await this.requestConnectionPermissionFromExt();\n }\n getPossibleParentsInWindow(currentWindow) {\n return (!currentWindow || currentWindow === currentWindow.top) ? [] : [currentWindow.parent, ...this.getPossibleParentsInWindow(currentWindow.parent)];\n }\n getPossibleParentsOutsideWindow(opener, current) {\n return (!opener || !current || opener === current) ? [] : [opener, ...this.getPossibleParentsInWindow(opener), ...this.getPossibleParentsOutsideWindow(opener.opener, opener)];\n }\n confirmParent(targets) {\n const connectionNotPossibleMsg = \"Cannot initiate glue, because this window was not opened or created by a glue client\";\n const parentCheck = PromisePlus((resolve) => {\n this.parentPingResolve = resolve;\n const message = {\n glue42core: {\n type: this.messages.platformPing.name\n }\n };\n this.parentPingInterval = setInterval(() => {\n targets.forEach((target) => {\n target.postMessage(message, this.defaultTargetString);\n });\n }, 1000);\n }, this.parentPingTimeout, connectionNotPossibleMsg);\n parentCheck.catch(() => {\n if (this.parentPingInterval) {\n clearInterval(this.parentPingInterval);\n delete this.parentPingInterval;\n }\n });\n return parentCheck;\n }\n getMyWindowId() {\n if (this.parentType === \"workspace\") {\n return window.name.substring(0, window.name.indexOf(\"#wsp\"));\n }\n if (window !== window.top) {\n return;\n }\n if (window.name?.includes(\"g42\")) {\n return window.name;\n }\n this.selfAssignedWindowId = this.selfAssignedWindowId || `g42-${nanoid(10)}`;\n return this.selfAssignedWindowId;\n }\n}\n\nconst waitForInvocations = (invocations, callback) => {\n let left = invocations;\n return () => {\n left--;\n if (left === 0) {\n callback();\n }\n };\n};\n\nclass AsyncSequelizer {\n minSequenceInterval;\n queue = [];\n isExecutingQueue = false;\n constructor(minSequenceInterval = 0) {\n this.minSequenceInterval = minSequenceInterval;\n }\n enqueue(action) {\n return new Promise((resolve, reject) => {\n this.queue.push({ action, resolve, reject });\n this.executeQueue();\n });\n }\n async executeQueue() {\n if (this.isExecutingQueue) {\n return;\n }\n this.isExecutingQueue = true;\n while (this.queue.length) {\n const operation = this.queue.shift();\n if (!operation) {\n this.isExecutingQueue = false;\n return;\n }\n try {\n const actionResult = await operation.action();\n operation.resolve(actionResult);\n }\n catch (error) {\n operation.reject(error);\n }\n await this.intervalBreak();\n }\n this.isExecutingQueue = false;\n }\n intervalBreak() {\n return new Promise((res) => setTimeout(res, this.minSequenceInterval));\n }\n}\n\nfunction domainSession (domain, connection, logger, successMessages, errorMessages) {\n if (domain == null) {\n domain = \"global\";\n }\n successMessages = successMessages ?? [\"success\"];\n errorMessages = errorMessages ?? [\"error\"];\n let isJoined = domain === \"global\";\n let tryReconnecting = false;\n let _latestOptions;\n let _connectionOn = false;\n const callbacks = CallbackRegistryFactory();\n connection.disconnected(handleConnectionDisconnected);\n connection.loggedIn(handleConnectionLoggedIn);\n connection.on(\"success\", (msg) => handleSuccessMessage(msg));\n connection.on(\"error\", (msg) => handleErrorMessage(msg));\n connection.on(\"result\", (msg) => handleSuccessMessage(msg));\n if (successMessages) {\n successMessages.forEach((sm) => {\n connection.on(sm, (msg) => handleSuccessMessage(msg));\n });\n }\n if (errorMessages) {\n errorMessages.forEach((sm) => {\n connection.on(sm, (msg) => handleErrorMessage(msg));\n });\n }\n const requestsMap = {};\n function join(options) {\n _latestOptions = options;\n return new Promise((resolve, reject) => {\n if (isJoined) {\n resolve({});\n return;\n }\n let joinPromise;\n if (domain === \"global\") {\n joinPromise = _connectionOn ? Promise.resolve({}) : Promise.reject(\"not connected to gateway\");\n }\n else {\n logger.debug(`joining domain ${domain}`);\n const joinMsg = {\n type: \"join\",\n destination: domain,\n domain: \"global\",\n options,\n };\n joinPromise = send(joinMsg);\n }\n joinPromise\n .then(() => {\n handleJoined();\n resolve({});\n })\n .catch((err) => {\n logger.debug(\"error joining \" + domain + \" domain: \" + JSON.stringify(err));\n reject(err);\n });\n });\n }\n function leave() {\n if (domain === \"global\") {\n return Promise.resolve();\n }\n logger.debug(\"stopping session \" + domain + \"...\");\n const leaveMsg = {\n type: \"leave\",\n destination: domain,\n domain: \"global\",\n };\n tryReconnecting = false;\n return send(leaveMsg)\n .then(() => {\n isJoined = false;\n callbacks.execute(\"onLeft\");\n })\n .catch(() => {\n isJoined = false;\n callbacks.execute(\"onLeft\");\n });\n }\n function handleJoined() {\n logger.debug(\"did join \" + domain);\n isJoined = true;\n const wasReconnect = tryReconnecting;\n tryReconnecting = false;\n callbacks.execute(\"onJoined\", wasReconnect);\n }\n function handleConnectionDisconnected() {\n _connectionOn = false;\n logger.debug(\"connection is down\");\n isJoined = false;\n tryReconnecting = true;\n callbacks.execute(\"onLeft\", { disconnected: true });\n }\n function handleConnectionLoggedIn() {\n _connectionOn = true;\n if (tryReconnecting) {\n logger.debug(\"connection is now up - trying to reconnect...\");\n join(_latestOptions);\n }\n }\n function onJoined(callback) {\n if (isJoined) {\n callback(false);\n }\n return callbacks.add(\"onJoined\", callback);\n }\n function onLeft(callback) {\n if (!isJoined) {\n callback();\n }\n return callbacks.add(\"onLeft\", callback);\n }\n function handleErrorMessage(msg) {\n if (domain !== msg.domain) {\n return;\n }\n const requestId = msg.request_id;\n if (!requestId) {\n return;\n }\n const entry = requestsMap[requestId];\n if (!entry) {\n return;\n }\n entry.error(msg);\n }\n function handleSuccessMessage(msg) {\n if (msg.domain !== domain) {\n return;\n }\n const requestId = msg.request_id;\n if (!requestId) {\n return;\n }\n const entry = requestsMap[requestId];\n if (!entry) {\n return;\n }\n entry.success(msg);\n }\n function getNextRequestId() {\n return nanoid(10);\n }\n let queuedCalls = [];\n function send(msg, tag, options) {\n const ignore = [\"hello\", \"join\"];\n if (msg.type && ignore.indexOf(msg.type) === -1) {\n if (!isJoined) {\n console.warn(`trying to send a message (${msg.domain} ${msg.type}) but not connected, will queue`);\n const pw = new PromiseWrapper();\n queuedCalls.push({ msg, tag, options, pw });\n if (queuedCalls.length === 1) {\n const unsubscribe = onJoined(() => {\n logger.info(`joined - will now send queued messages (${queuedCalls.length} -> [${queuedCalls.map((m) => m.msg.type)}])`);\n queuedCalls.forEach((qm) => {\n send(qm.msg, qm.tag, qm.options)\n .then((t) => qm.pw.resolve(t))\n .catch((e) => qm.pw.reject(e));\n });\n queuedCalls = [];\n unsubscribe();\n });\n }\n return pw.promise;\n }\n }\n options = options ?? {};\n msg.request_id = msg.request_id ?? getNextRequestId();\n msg.domain = msg.domain ?? domain;\n if (!options.skipPeerId) {\n msg.peer_id = connection.peerId;\n }\n const requestId = msg.request_id;\n return new Promise((resolve, reject) => {\n requestsMap[requestId] = {\n success: (successMsg) => {\n delete requestsMap[requestId];\n successMsg._tag = tag;\n resolve(successMsg);\n },\n error: (errorMsg) => {\n logger.warn(`Gateway error - ${JSON.stringify(errorMsg)}`);\n delete requestsMap[requestId];\n errorMsg._tag = tag;\n reject(errorMsg);\n },\n };\n connection\n .send(msg, options)\n .catch((err) => {\n requestsMap[requestId].error({ err });\n });\n });\n }\n function sendFireAndForget(msg) {\n msg.request_id = msg.request_id ? msg.request_id : getNextRequestId();\n msg.domain = msg.domain ?? domain;\n msg.peer_id = connection.peerId;\n return connection.send(msg);\n }\n return {\n join,\n leave,\n onJoined,\n onLeft,\n send,\n sendFireAndForget,\n on: (type, callback) => {\n connection.on(type, (msg) => {\n if (msg.domain !== domain) {\n return;\n }\n try {\n callback(msg);\n }\n catch (e) {\n logger.error(`Callback failed: ${e} \\n ${e.stack} \\n msg was: ${JSON.stringify(msg)}`, e);\n }\n });\n },\n loggedIn: (callback) => connection.loggedIn(callback),\n connected: (callback) => connection.connected(callback),\n disconnected: (callback) => connection.disconnected(callback),\n get peerId() {\n return connection.peerId;\n },\n get domain() {\n return domain;\n },\n };\n}\n\nclass Connection {\n settings;\n logger;\n protocolVersion = 3;\n peerId;\n token;\n info;\n resolvedIdentity;\n availableDomains;\n gatewayToken;\n replayer;\n messageHandlers = {};\n ids = 1;\n registry = CallbackRegistryFactory();\n _connected = false;\n isTrace = false;\n transport;\n _defaultTransport;\n _defaultAuth;\n _targetTransport;\n _targetAuth;\n _swapTransport = false;\n _switchInProgress = false;\n _transportSubscriptions = [];\n datePrefix = \"#T42_DATE#\";\n datePrefixLen = this.datePrefix.length;\n dateMinLen = this.datePrefixLen + 1;\n datePrefixFirstChar = this.datePrefix[0];\n _sequelizer = new AsyncSequelizer();\n _isLoggedIn = false;\n shouldTryLogin = true;\n pingTimer;\n sessions = [];\n globalDomain;\n initialLogin = true;\n initialLoginAttempts = 3;\n loginConfig;\n constructor(settings, logger) {\n this.settings = settings;\n this.logger = logger;\n settings = settings || {};\n settings.reconnectAttempts = settings.reconnectAttempts ?? 10;\n settings.reconnectInterval = settings.reconnectInterval ?? 1000;\n if (settings.inproc) {\n this.transport = new InProcTransport(settings.inproc, logger.subLogger(\"inMemory\"));\n }\n else if (settings.sharedWorker) {\n this.transport = new SharedWorkerTransport(settings.sharedWorker, logger.subLogger(\"shared-worker\"));\n }\n else if (settings.webPlatform) {\n this.transport = new WebPlatformTransport(settings.webPlatform, logger.subLogger(\"web-platform\"), settings.identity);\n }\n else if (settings.ws !== undefined) {\n this.transport = new WS(settings, logger.subLogger(\"ws\"));\n }\n else {\n throw new Error(\"No connection information specified\");\n }\n this.isTrace = logger.canPublish(\"trace\");\n logger.debug(`starting with ${this.transport.name()} transport`);\n const unsubConnectionChanged = this.transport.onConnectedChanged(this.handleConnectionChanged.bind(this));\n const unsubOnMessage = this.transport.onMessage(this.handleTransportMessage.bind(this));\n this._transportSubscriptions.push(unsubConnectionChanged);\n this._transportSubscriptions.push(unsubOnMessage);\n this._defaultTransport = this.transport;\n this.ping();\n }\n async switchTransport(settings) {\n return this._sequelizer.enqueue(async () => {\n if (!settings || typeof settings !== \"object\") {\n throw new Error(\"Cannot switch transports, because the settings are missing or invalid.\");\n }\n if (typeof settings.type === \"undefined\") {\n throw new Error(\"Cannot switch the transport, because the type is not defined\");\n }\n this.logger.trace(`Starting transport switch with settings: ${JSON.stringify(settings)}`);\n const switchTargetTransport = settings.type === \"secondary\" ? this.getNewSecondaryTransport(settings) : this._defaultTransport;\n this._targetTransport = switchTargetTransport;\n this._targetAuth = settings.type === \"secondary\" ? this.getNewSecondaryAuth(settings) : this._defaultAuth;\n const verifyPromise = this.verifyConnection();\n this._swapTransport = true;\n this._switchInProgress = true;\n this.logger.trace(\"The new transport has been set, closing the current transport\");\n await this.transport.close();\n try {\n await verifyPromise;\n const isSwitchSuccess = this.transport === switchTargetTransport;\n this.logger.info(`The reconnection after the switch was completed. Was the switch a success: ${isSwitchSuccess}`);\n this._switchInProgress = false;\n return { success: isSwitchSuccess };\n }\n catch (error) {\n this.logger.info(\"The reconnection after the switch timed out, reverting back to the default transport.\");\n this.switchTransport({ type: \"default\" });\n this._switchInProgress = false;\n return { success: false };\n }\n });\n }\n onLibReAnnounced(callback) {\n return this.registry.add(\"libReAnnounced\", callback);\n }\n setLibReAnnounced(lib) {\n this.registry.execute(\"libReAnnounced\", lib);\n }\n send(message, options) {\n if (this.transport.sendObject &&\n this.transport.isObjectBasedTransport) {\n const msg = this.createObjectMessage(message);\n if (this.isTrace) {\n this.logger.trace(`>> ${JSON.stringify(msg)}`);\n }\n return this.transport.sendObject(msg, options);\n }\n else {\n const strMessage = this.createStringMessage(message);\n if (this.isTrace) {\n this.logger.trace(`>> ${strMessage}`);\n }\n return this.transport.send(strMessage, options);\n }\n }\n on(type, messageHandler) {\n type = type.toLowerCase();\n if (this.messageHandlers[type] === undefined) {\n this.messageHandlers[type] = {};\n }\n const id = this.ids++;\n this.messageHandlers[type][id] = messageHandler;\n return {\n type,\n id,\n };\n }\n off(info) {\n delete this.messageHandlers[info.type.toLowerCase()][info.id];\n }\n get isConnected() {\n return this._isLoggedIn;\n }\n connected(callback) {\n return this.loggedIn(() => {\n const currentServer = this.transport.name();\n callback(currentServer);\n });\n }\n disconnected(callback) {\n return this.registry.add(\"disconnected\", callback);\n }\n async login(authRequest, reconnect) {\n if (!this._defaultAuth) {\n this._defaultAuth = authRequest;\n }\n if (this._swapTransport) {\n this.logger.trace(\"Detected a transport swap, swapping transports\");\n const newAuth = this.transportSwap();\n authRequest = newAuth ?? authRequest;\n }\n this.logger.trace(`Starting login for transport: ${this.transport.name()} and auth ${JSON.stringify(authRequest)}`);\n try {\n await this.transport.open();\n this.logger.trace(`Transport: ${this.transport.name()} opened, logging in`);\n timer(\"connection\").mark(\"transport-opened\");\n const identity = await this.loginCore(authRequest, reconnect);\n this.logger.trace(`Logged in with identity: ${JSON.stringify(identity)}`);\n timer(\"connection\").mark(\"protocol-logged-in\");\n return identity;\n }\n catch (error) {\n if (this._switchInProgress) {\n this.logger.trace(\"An error while logging in after a transport swap, preparing a default swap.\");\n this.prepareDefaultSwap();\n }\n throw new Error(error);\n }\n }\n async logout() {\n await this.logoutCore();\n await this.transport.close();\n }\n loggedIn(callback) {\n if (this._isLoggedIn) {\n callback();\n }\n return this.registry.add(\"onLoggedIn\", callback);\n }\n domain(domain, successMessages, errorMessages) {\n let session = this.sessions.find((s) => s.domain === domain);\n if (!session) {\n session = domainSession(domain, this, this.logger.subLogger(`domain=${domain}`), successMessages, errorMessages);\n this.sessions.push(session);\n }\n return session;\n }\n authToken() {\n const createTokenReq = {\n domain: \"global\",\n type: \"create-token\"\n };\n if (!this.globalDomain) {\n return Promise.reject(new Error(\"no global domain session\"));\n }\n return this.globalDomain.send(createTokenReq)\n .then((res) => {\n return res.token;\n });\n }\n reconnect() {\n return this.transport.reconnect();\n }\n setLoggedIn(value) {\n this._isLoggedIn = value;\n if (this._isLoggedIn) {\n this.registry.execute(\"onLoggedIn\");\n }\n }\n distributeMessage(message, type) {\n const handlers = this.messageHandlers[type.toLowerCase()];\n if (handlers !== undefined) {\n Object.keys(handlers).forEach((handlerId) => {\n const handler = handlers[handlerId];\n if (handler !== undefined) {\n try {\n handler(message);\n }\n catch (error) {\n try {\n this.logger.error(`Message handler failed with ${error.stack}`, error);\n }\n catch (loggerError) {\n console.log(\"Message handler failed\", error);\n }\n }\n }\n });\n }\n }\n handleConnectionChanged(connected) {\n if (this._connected === connected) {\n return;\n }\n this._connected = connected;\n if (connected) {\n if (this.settings?.replaySpecs?.length) {\n this.replayer = new MessageReplayerImpl(this.settings.replaySpecs);\n this.replayer.init(this);\n }\n this.registry.execute(\"connected\");\n }\n else {\n this.handleDisconnected();\n this.registry.execute(\"disconnected\");\n }\n }\n handleDisconnected() {\n this.setLoggedIn(false);\n const tryToLogin = this.shouldTryLogin;\n if (tryToLogin && this.initialLogin) {\n if (this.initialLoginAttempts <= 0) {\n return;\n }\n this.initialLoginAttempts--;\n }\n this.logger.debug(\"disconnected - will try new login?\" + this.shouldTryLogin);\n if (this.shouldTryLogin) {\n if (!this.loginConfig) {\n throw new Error(\"no login info\");\n }\n this.login(this.loginConfig, true)\n .catch(() => {\n setTimeout(this.handleDisconnected.bind(this), this.settings.reconnectInterval || 1000);\n });\n }\n }\n handleTransportMessage(msg) {\n let msgObj;\n if (typeof msg === \"string\") {\n msgObj = this.processStringMessage(msg);\n }\n else {\n msgObj = this.processObjectMessage(msg);\n }\n if (this.isTrace) {\n this.logger.trace(`<< ${JSON.stringify(msgObj)}`);\n }\n this.distributeMessage(msgObj.msg, msgObj.msgType);\n }\n verifyConnection() {\n return PromisePlus((resolve) => {\n let unsub;\n const ready = waitForInvocations(2, () => {\n if (unsub) {\n unsub();\n }\n resolve();\n });\n unsub = this.onLibReAnnounced((lib) => {\n if (lib.name === \"interop\") {\n return ready();\n }\n if (lib.name === \"contexts\") {\n return ready();\n }\n });\n }, 10000, \"Transport switch timed out waiting for all libraries to be re-announced\");\n }\n getNewSecondaryTransport(settings) {\n if (!settings.transportConfig?.url) {\n throw new Error(\"Missing secondary transport URL.\");\n }\n return new WS(Object.assign({}, this.settings, { ws: settings.transportConfig.url, reconnectAttempts: 1 }), this.logger.subLogger(\"ws-secondary\"));\n }\n getNewSecondaryAuth(settings) {\n if (!settings.transportConfig?.auth) {\n throw new Error(\"Missing secondary transport auth information.\");\n }\n return settings.transportConfig.auth;\n }\n transportSwap() {\n this._swapTransport = false;\n if (!this._targetTransport || !this._targetAuth) {\n this.logger.warn(`Error while switching transports - either the target transport or auth is not defined: transport defined -> ${!!this._defaultTransport}, auth defined -> ${!!this._targetAuth}. Staying on the current one.`);\n return;\n }\n this._transportSubscriptions.forEach((unsub) => unsub());\n this._transportSubscriptions = [];\n this.transport = this._targetTransport;\n const unsubConnectionChanged = this.transport.onConnectedChanged(this.handleConnectionChanged.bind(this));\n const unsubOnMessage = this.transport.onMessage(this.handleTransportMessage.bind(this));\n this._transportSubscriptions.push(unsubConnectionChanged);\n this._transportSubscriptions.push(unsubOnMessage);\n return this._targetAuth;\n }\n prepareDefaultSwap() {\n this._transportSubscriptions.forEach((unsub) => unsub());\n this._transportSubscriptions = [];\n this.transport.close().catch((error) => this.logger.warn(`Error closing the ${this.transport.name()} transport after a failed connection attempt: ${JSON.stringify(error)}`));\n this._targetTransport = this._defaultTransport;\n this._targetAuth = this._defaultAuth;\n this._swapTransport = true;\n }\n processStringMessage(message) {\n const msg = JSON.parse(message, (key, value) => {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value.length < this.dateMinLen) {\n return value;\n }\n if (!value.startsWith(this.datePrefixFirstChar)) {\n return value;\n }\n if (value.substring(0, this.datePrefixLen) !== this.datePrefix) {\n return value;\n }\n try {\n const milliseconds = parseInt(value.substring(this.datePrefixLen, value.length), 10);\n if (isNaN(milliseconds)) {\n return value;\n }\n return new Date(milliseconds);\n }\n catch (ex) {\n return value;\n }\n });\n return {\n msg,\n msgType: msg.type,\n };\n }\n createStringMessage(message) {\n const oldToJson = Date.prototype.toJSON;\n try {\n const datePrefix = this.datePrefix;\n Date.prototype.toJSON = function () {\n return datePrefix + this.getTime();\n };\n const result = JSON.stringify(message);\n return result;\n }\n finally {\n Date.prototype.toJSON = oldToJson;\n }\n }\n processObjectMessage(message) {\n if (!message.type) {\n throw new Error(\"Object should have type property\");\n }\n return {\n msg: message,\n msgType: message.type,\n };\n }\n createObjectMessage(message) {\n return message;\n }\n async loginCore(config, reconnect) {\n this.logger.info(\"logging in...\");\n this.loginConfig = config;\n if (!this.loginConfig) {\n this.loginConfig = { username: \"\", password: \"\" };\n }\n this.shouldTryLogin = true;\n const authentication = await this.setupAuthConfig(config, reconnect);\n const helloMsg = {\n type: \"hello\",\n identity: this.settings.identity,\n authentication\n };\n if (config.sessionId) {\n helloMsg.request_id = config.sessionId;\n }\n this.globalDomain = domainSession(\"global\", this, this.logger.subLogger(\"global-domain\"), [\n \"welcome\",\n \"token\",\n \"authentication-request\"\n ]);\n const sendOptions = { skipPeerId: true };\n if (this.initialLogin) {\n sendOptions.retryInterval = this.settings.reconnectInterval;\n sendOptions.maxRetries = this.settings.reconnectAttempts;\n }\n try {\n const welcomeMsg = await this.tryAuthenticate(this.globalDomain, helloMsg, sendOptions, config);\n this.initialLogin = false;\n this.logger.info(\"login successful with peerId \" + welcomeMsg.peer_id);\n this.peerId = welcomeMsg.peer_id;\n this.resolvedIdentity = welcomeMsg.resolved_identity;\n this.availableDomains = welcomeMsg.available_domains;\n if (welcomeMsg.options) {\n this.token = welcomeMsg.options.access_token;\n this.info = welcomeMsg.options.info;\n }\n this.setLoggedIn(true);\n return welcomeMsg.resolved_identity;\n }\n catch (err) {\n this.logger.error(\"error sending hello message - \" + (err.message || err.msg || err.reason || err), err);\n throw err;\n }\n finally {\n if (config?.flowCallback && config.sessionId) {\n config.flowCallback(config.sessionId, null);\n }\n }\n }\n async tryAuthenticate(globalDomain, helloMsg, sendOptions, config) {\n let welcomeMsg;\n while (true) {\n const msg = await globalDomain.send(helloMsg, undefined, sendOptions);\n if (msg.type === \"authentication-request\") {\n const token = Buffer.from(msg.authentication.token, \"base64\");\n if (config.flowCallback && config.sessionId) {\n helloMsg.authentication.token =\n (await config.flowCallback(config.sessionId, token))\n .data\n .toString(\"base64\");\n }\n helloMsg.request_id = config.sessionId;\n }\n else if (msg.type === \"welcome\") {\n welcomeMsg = msg;\n break;\n }\n else if (msg.type === \"error\") {\n throw new Error(\"Authentication failed: \" + msg.reason);\n }\n else {\n throw new Error(\"Unexpected message type during authentication: \" + msg.type);\n }\n }\n return welcomeMsg;\n }\n async setupAuthConfig(config, reconnect) {\n const authentication = {};\n this.gatewayToken = config.gatewayToken;\n if (config.gatewayToken) {\n if (reconnect) {\n try {\n config.gatewayToken = await this.getNewGWToken();\n }\n catch (e) {\n this.logger.warn(`failed to get GW token when reconnecting ${e?.message || e}`);\n }\n }\n authentication.method = \"gateway-token\";\n authentication.token = config.gatewayToken;\n this.gatewayToken = config.gatewayToken;\n }\n else if (config.flowName === \"sspi\") {\n authentication.provider = \"win\";\n authentication.method = \"access-token\";\n if (config.flowCallback && config.sessionId) {\n authentication.token =\n (await config.flowCallback(config.sessionId, null))\n .data\n .toString(\"base64\");\n }\n else {\n throw new Error(\"Invalid SSPI config\");\n }\n }\n else if (config.token) {\n authentication.method = \"access-token\";\n authentication.token = config.token;\n }\n else if (config.username) {\n authentication.method = \"secret\";\n authentication.login = config.username;\n authentication.secret = config.password;\n }\n else if (config.provider) {\n authentication.provider = config.provider;\n authentication.providerContext = config.providerContext;\n }\n else {\n throw new Error(\"invalid auth message\" + JSON.stringify(config));\n }\n return authentication;\n }\n async logoutCore() {\n this.logger.debug(\"logging out...\");\n this.shouldTryLogin = false;\n if (this.pingTimer) {\n clearTimeout(this.pingTimer);\n }\n const promises = this.sessions.map((session) => {\n session.leave();\n });\n await Promise.all(promises);\n }\n getNewGWToken() {\n if (typeof window !== \"undefined\") {\n const glue42gd = window.glue42gd;\n if (glue42gd) {\n return glue42gd.getGWToken();\n }\n }\n return Promise.reject(new Error(\"not running in GD\"));\n }\n ping() {\n if (!this.shouldTryLogin) {\n return;\n }\n if (this._isLoggedIn) {\n this.send({ type: \"ping\" });\n }\n this.pingTimer = setTimeout(() => {\n this.ping();\n }, 30 * 1000);\n }\n}\n\nconst order = [\"trace\", \"debug\", \"info\", \"warn\", \"error\", \"off\"];\nclass Logger {\n name;\n parent;\n static Interop;\n static InteropMethodName = \"T42.AppLogger.Log\";\n static Instance;\n path;\n subLoggers = [];\n _consoleLevel;\n _publishLevel;\n loggerFullName;\n includeTimeAndLevel;\n logFn = console;\n customLogFn = false;\n constructor(name, parent, logFn) {\n this.name = name;\n this.parent = parent;\n this.name = name;\n if (parent) {\n this.path = `${parent.path}.${name}`;\n }\n else {\n this.path = name;\n }\n this.loggerFullName = `[${this.path}]`;\n this.includeTimeAndLevel = !logFn;\n if (logFn) {\n this.logFn = logFn;\n this.customLogFn = true;\n }\n }\n subLogger(name) {\n const existingSub = this.subLoggers.filter((subLogger) => {\n return subLogger.name === name;\n })[0];\n if (existingSub !== undefined) {\n return existingSub;\n }\n Object.keys(this).forEach((key) => {\n if (key === name) {\n throw new Error(\"This sub logger name is not allowed.\");\n }\n });\n const sub = new Logger(name, this, this.customLogFn ? this.logFn : undefined);\n this.subLoggers.push(sub);\n return sub;\n }\n publishLevel(level) {\n if (level) {\n this._publishLevel = level;\n }\n return this._publishLevel || this.parent?.publishLevel();\n }\n consoleLevel(level) {\n if (level) {\n this._consoleLevel = level;\n }\n return this._consoleLevel || this.parent?.consoleLevel();\n }\n log(message, level, error) {\n this.publishMessage(level || \"info\", message, error);\n }\n trace(message) {\n this.log(message, \"trace\");\n }\n debug(message) {\n this.log(message, \"debug\");\n }\n info(message) {\n this.log(message, \"info\");\n }\n warn(message) {\n this.log(message, \"warn\");\n }\n error(message, err) {\n this.log(message, \"error\");\n }\n canPublish(level, compareWith) {\n const levelIdx = order.indexOf(level);\n const restrictionIdx = order.indexOf(compareWith || this.consoleLevel() || \"trace\");\n return levelIdx >= restrictionIdx;\n }\n publishMessage(level, message, error) {\n const loggerName = this.loggerFullName;\n if (level === \"error\" && !error) {\n const e = new Error();\n if (e.stack) {\n message =\n message +\n \"\\n\" +\n e.stack\n .split(\"\\n\")\n .slice(3)\n .join(\"\\n\");\n }\n }\n if (this.canPublish(level, this.publishLevel())) {\n const interop = Logger.Interop;\n if (interop) {\n try {\n if (interop.methods({ name: Logger.InteropMethodName }).length > 0) {\n interop.invoke(Logger.InteropMethodName, {\n msg: `${message}`,\n logger: loggerName,\n level\n });\n }\n }\n catch {\n }\n }\n }\n if (this.canPublish(level)) {\n let prefix = \"\";\n if (this.includeTimeAndLevel) {\n const date = new Date();\n const time = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}`;\n prefix = `[${time}] [${level}] `;\n }\n const toPrint = `${prefix}${loggerName}: ${message}`;\n switch (level) {\n case \"trace\":\n this.logFn.debug(toPrint);\n break;\n case \"debug\":\n if (this.logFn.debug) {\n this.logFn.debug(toPrint);\n }\n else {\n this.logFn.log(toPrint);\n }\n break;\n case \"info\":\n this.logFn.info(toPrint);\n break;\n case \"warn\":\n this.logFn.warn(toPrint);\n break;\n case \"error\":\n this.logFn.error(toPrint, error);\n break;\n }\n }\n }\n}\n\nconst GW_MESSAGE_CREATE_CONTEXT = \"create-context\";\nconst GW_MESSAGE_ACTIVITY_CREATED = \"created\";\nconst GW_MESSAGE_ACTIVITY_DESTROYED = \"destroyed\";\nconst GW_MESSAGE_CONTEXT_CREATED = \"context-created\";\nconst GW_MESSAGE_CONTEXT_ADDED = \"context-added\";\nconst GW_MESSAGE_SUBSCRIBE_CONTEXT = \"subscribe-context\";\nconst GW_MESSAGE_SUBSCRIBED_CONTEXT = \"subscribed-context\";\nconst GW_MESSAGE_UNSUBSCRIBE_CONTEXT = \"unsubscribe-context\";\nconst GW_MESSAGE_DESTROY_CONTEXT = \"destroy-context\";\nconst GW_MESSAGE_CONTEXT_DESTROYED = \"context-destroyed\";\nconst GW_MESSAGE_UPDATE_CONTEXT = \"update-context\";\nconst GW_MESSAGE_CONTEXT_UPDATED = \"context-updated\";\nconst GW_MESSAGE_JOINED_ACTIVITY = \"joined\";\n\nconst ContextMessageReplaySpec = {\n get name() {\n return \"context\";\n },\n get types() {\n return [\n GW_MESSAGE_CREATE_CONTEXT,\n GW_MESSAGE_ACTIVITY_CREATED,\n GW_MESSAGE_ACTIVITY_DESTROYED,\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_CONTEXT_ADDED,\n GW_MESSAGE_SUBSCRIBE_CONTEXT,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_UNSUBSCRIBE_CONTEXT,\n GW_MESSAGE_DESTROY_CONTEXT,\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_UPDATE_CONTEXT,\n GW_MESSAGE_CONTEXT_UPDATED,\n GW_MESSAGE_JOINED_ACTIVITY\n ];\n }\n};\n\nvar version = \"6.4.2\";\n\nfunction prepareConfig (configuration, ext, glue42gd) {\n let nodeStartingContext;\n if (Utils.isNode()) {\n const startingContextString = process.env._GD_STARTING_CONTEXT_;\n if (startingContextString) {\n try {\n nodeStartingContext = JSON.parse(startingContextString);\n }\n catch {\n }\n }\n }\n function getConnection() {\n const gwConfig = configuration.gateway;\n const protocolVersion = gwConfig?.protocolVersion ?? 3;\n const reconnectInterval = gwConfig?.reconnectInterval;\n const reconnectAttempts = gwConfig?.reconnectAttempts;\n const defaultWs = \"ws://localhost:8385\";\n let ws = gwConfig?.ws;\n const sharedWorker = gwConfig?.sharedWorker;\n const inproc = gwConfig?.inproc;\n const webPlatform = gwConfig?.webPlatform ?? undefined;\n if (glue42gd) {\n ws = glue42gd.gwURL;\n }\n if (Utils.isNode() && nodeStartingContext && nodeStartingContext.gwURL) {\n ws = nodeStartingContext.gwURL;\n }\n if (!ws && !sharedWorker && !inproc) {\n ws = defaultWs;\n }\n let instanceId;\n let windowId;\n let pid;\n let environment;\n let region;\n const appName = getApplication();\n let uniqueAppName = appName;\n if (typeof glue42gd !== \"undefined\") {\n windowId = glue42gd.windowId;\n pid = glue42gd.pid;\n if (glue42gd.env) {\n environment = glue42gd.env.env;\n region = glue42gd.env.region;\n }\n uniqueAppName = glue42gd.application ?? \"glue-app\";\n instanceId = glue42gd.appInstanceId;\n }\n else if (Utils.isNode()) {\n pid = process.pid;\n if (nodeStartingContext) {\n environment = nodeStartingContext.env;\n region = nodeStartingContext.region;\n instanceId = nodeStartingContext.instanceId;\n }\n }\n else if (typeof window?.glue42electron !== \"undefined\") {\n windowId = window?.glue42electron.instanceId;\n pid = window?.glue42electron.pid;\n environment = window?.glue42electron.env;\n region = window?.glue42electron.region;\n uniqueAppName = window?.glue42electron.application ?? \"glue-app\";\n instanceId = window?.glue42electron.instanceId;\n }\n else ;\n const replaySpecs = configuration.gateway?.replaySpecs ?? [];\n replaySpecs.push(ContextMessageReplaySpec);\n let identity = {\n application: uniqueAppName,\n applicationName: appName,\n windowId,\n instance: instanceId,\n process: pid,\n region,\n environment,\n api: ext.version || version\n };\n if (configuration.identity) {\n identity = Object.assign(identity, configuration.identity);\n }\n return {\n identity,\n reconnectInterval,\n ws,\n sharedWorker,\n webPlatform,\n inproc,\n protocolVersion,\n reconnectAttempts,\n replaySpecs,\n };\n }\n function getContexts() {\n if (typeof configuration.contexts === \"undefined\") {\n return { reAnnounceKnownContexts: true };\n }\n if (typeof configuration.contexts === \"boolean\" && configuration.contexts) {\n return { reAnnounceKnownContexts: true };\n }\n if (typeof configuration.contexts === \"object\") {\n return Object.assign({}, { reAnnounceKnownContexts: true }, configuration.contexts);\n }\n return false;\n }\n function getApplication() {\n if (configuration.application) {\n return configuration.application;\n }\n if (glue42gd) {\n return glue42gd.applicationName;\n }\n if (typeof window !== \"undefined\" && typeof window.glue42electron !== \"undefined\") {\n return window.glue42electron.application;\n }\n const uid = nanoid(10);\n if (Utils.isNode()) {\n if (nodeStartingContext) {\n return nodeStartingContext.applicationConfig.name;\n }\n return \"NodeJS\" + uid;\n }\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n return document.title + ` (${uid})`;\n }\n return uid;\n }\n function getAuth() {\n if (typeof configuration.auth === \"string\") {\n return {\n token: configuration.auth\n };\n }\n if (configuration.auth) {\n return configuration.auth;\n }\n if (Utils.isNode() && nodeStartingContext && nodeStartingContext.gwToken) {\n return {\n gatewayToken: nodeStartingContext.gwToken\n };\n }\n if (configuration.gateway?.webPlatform || configuration.gateway?.inproc || configuration.gateway?.sharedWorker) {\n return {\n username: \"glue42\", password: \"glue42\"\n };\n }\n }\n function getLogger() {\n let config = configuration.logger;\n const defaultLevel = \"warn\";\n if (!config) {\n config = defaultLevel;\n }\n let gdConsoleLevel;\n if (glue42gd) {\n gdConsoleLevel = glue42gd.consoleLogLevel;\n }\n if (typeof config === \"string\") {\n return { console: gdConsoleLevel ?? config, publish: defaultLevel };\n }\n return {\n console: gdConsoleLevel ?? config.console ?? defaultLevel,\n publish: config.publish ?? defaultLevel\n };\n }\n const connection = getConnection();\n let application = getApplication();\n if (typeof window !== \"undefined\") {\n const windowAsAny = window;\n const containerApplication = windowAsAny.htmlContainer ?\n `${windowAsAny.htmlContainer.containerName}.${windowAsAny.htmlContainer.application}` :\n windowAsAny?.glue42gd?.application;\n if (containerApplication) {\n application = containerApplication;\n }\n }\n return {\n bus: configuration.bus ?? false,\n application,\n auth: getAuth(),\n logger: getLogger(),\n connection,\n metrics: configuration.metrics ?? true,\n contexts: getContexts(),\n version: ext.version || version,\n libs: ext.libs ?? [],\n customLogger: configuration.customLogger\n };\n}\n\nclass GW3ContextData {\n name;\n contextId;\n context;\n isAnnounced;\n joinedActivity;\n updateCallbacks = {};\n activityId;\n sentExplicitSubscription;\n hasReceivedSnapshot;\n constructor(contextId, name, isAnnounced, activityId) {\n this.contextId = contextId;\n this.name = name;\n this.isAnnounced = isAnnounced;\n this.activityId = activityId;\n this.context = {};\n }\n hasCallbacks() {\n return Object.keys(this.updateCallbacks).length > 0;\n }\n getState() {\n if (this.isAnnounced && this.hasCallbacks()) {\n return 3;\n }\n if (this.isAnnounced) {\n return 2;\n }\n if (this.hasCallbacks()) {\n return 1;\n }\n return 0;\n }\n}\n\nvar lodash_clonedeep = {exports: {}};\n\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\nlodash_clonedeep.exports;\n\n(function (module, exports) {\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t promiseTag = '[object Promise]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t symbolTag = '[object Symbol]',\n\t weakMapTag = '[object WeakMap]';\n\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n\tcloneableTags[boolTag] = cloneableTags[dateTag] =\n\tcloneableTags[float32Tag] = cloneableTags[float64Tag] =\n\tcloneableTags[int8Tag] = cloneableTags[int16Tag] =\n\tcloneableTags[int32Tag] = cloneableTags[mapTag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[setTag] =\n\tcloneableTags[stringTag] = cloneableTags[symbolTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[weakMapTag] = false;\n\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\n\t/** Detect free variable `exports`. */\n\tvar freeExports = exports && !exports.nodeType && exports;\n\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n\t/**\n\t * Adds the key-value `pair` to `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to modify.\n\t * @param {Array} pair The key-value pair to add.\n\t * @returns {Object} Returns `map`.\n\t */\n\tfunction addMapEntry(map, pair) {\n\t // Don't return `map.set` because it's not chainable in IE 11.\n\t map.set(pair[0], pair[1]);\n\t return map;\n\t}\n\n\t/**\n\t * Adds `value` to `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to modify.\n\t * @param {*} value The value to add.\n\t * @returns {Object} Returns `set`.\n\t */\n\tfunction addSetEntry(set, value) {\n\t // Don't return `set.add` because it's not chainable in IE 11.\n\t set.add(value);\n\t return set;\n\t}\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array ? array.length : 0;\n\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * A specialized version of `_.reduce` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {*} [accumulator] The initial value.\n\t * @param {boolean} [initAccum] Specify using the first element of `array` as\n\t * the initial value.\n\t * @returns {*} Returns the accumulated value.\n\t */\n\tfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n\t var index = -1,\n\t length = array ? array.length : 0;\n\t while (++index < length) {\n\t accumulator = iteratee(accumulator, array[index], index, array);\n\t }\n\t return accumulator;\n\t}\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t var index = -1,\n\t result = Array(map.size);\n\n\t map.forEach(function(value, key) {\n\t result[++index] = [key, value];\n\t });\n\t return result;\n\t}\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function(arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype,\n\t funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined,\n\t Symbol = root.Symbol,\n\t Uint8Array = root.Uint8Array,\n\t getPrototype = overArg(Object.getPrototypeOf, Object),\n\t objectCreate = Object.create,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable,\n\t splice = arrayProto.splice;\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols,\n\t nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n\t nativeKeys = overArg(Object.keys, Object);\n\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView'),\n\t Map = getNative(root, 'Map'),\n\t Promise = getNative(root, 'Promise'),\n\t Set = getNative(root, 'Set'),\n\t WeakMap = getNative(root, 'WeakMap'),\n\t nativeCreate = getNative(Object, 'create');\n\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t mapCtorString = toSource(Map),\n\t promiseCtorString = toSource(Promise),\n\t setCtorString = toSource(Set),\n\t weakMapCtorString = toSource(WeakMap);\n\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t}\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t return this.has(key) && delete this.__data__[key];\n\t}\n\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n\t}\n\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t}\n\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t return true;\n\t}\n\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t return getMapData(this, key)['delete'](key);\n\t}\n\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t getMapData(this, key).set(key, value);\n\t return this;\n\t}\n\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t this.__data__ = new ListCache(entries);\n\t}\n\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t this.__data__ = new ListCache;\n\t}\n\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t return this.__data__['delete'](key);\n\t}\n\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t return this.__data__.get(key);\n\t}\n\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t return this.__data__.has(key);\n\t}\n\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t var cache = this.__data__;\n\t if (cache instanceof ListCache) {\n\t var pairs = cache.__data__;\n\t if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t pairs.push([key, value]);\n\t return this;\n\t }\n\t cache = this.__data__ = new MapCache(pairs);\n\t }\n\t cache.set(key, value);\n\t return this;\n\t}\n\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t // Safari 9 makes `arguments.length` enumerable in strict mode.\n\t var result = (isArray(value) || isArguments(value))\n\t ? baseTimes(value.length, String)\n\t : [];\n\n\t var length = result.length,\n\t skipIndexes = !!length;\n\n\t for (var key in value) {\n\t if ((hasOwnProperty.call(value, key)) &&\n\t !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t object[key] = value;\n\t }\n\t}\n\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\n\t/**\n\t * The base implementation of `_.assign` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return object && copyObject(source, keys(source), object);\n\t}\n\n\t/**\n\t * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n\t * traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {boolean} [isFull] Specify a clone including symbols.\n\t * @param {Function} [customizer] The function to customize cloning.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The parent object of `value`.\n\t * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object, stack) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return copyArray(value, result);\n\t }\n\t } else {\n\t var tag = getTag(value),\n\t isFunc = tag == funcTag || tag == genTag;\n\n\t if (isBuffer(value)) {\n\t return cloneBuffer(value, isDeep);\n\t }\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t if (isHostObject(value)) {\n\t return object ? value : {};\n\t }\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return copySymbols(value, baseAssign(result, value));\n\t }\n\t } else {\n\t if (!cloneableTags[tag]) {\n\t return object ? value : {};\n\t }\n\t result = initCloneByTag(value, tag, baseClone, isDeep);\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stack || (stack = new Stack);\n\t var stacked = stack.get(value);\n\t if (stacked) {\n\t return stacked;\n\t }\n\t stack.set(value, result);\n\n\t if (!isArr) {\n\t var props = isFull ? getAllKeys(value) : keys(value);\n\t }\n\t arrayEach(props || value, function(subValue, key) {\n\t if (props) {\n\t key = subValue;\n\t subValue = value[key];\n\t }\n\t // Recursively populate clone (susceptible to call stack limits).\n\t assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n\t });\n\t return result;\n\t}\n\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} prototype The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tfunction baseCreate(proto) {\n\t return isObject(proto) ? objectCreate(proto) : {};\n\t}\n\n\t/**\n\t * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n\t * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @param {Function} symbolsFunc The function to get the symbols of `object`.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n\t var result = keysFunc(object);\n\t return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n\t}\n\n\t/**\n\t * The base implementation of `getTag`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t return objectToString.call(value);\n\t}\n\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t if (!isPrototype(object)) {\n\t return nativeKeys(object);\n\t }\n\t var result = [];\n\t for (var key in Object(object)) {\n\t if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `buffer`.\n\t *\n\t * @private\n\t * @param {Buffer} buffer The buffer to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Buffer} Returns the cloned buffer.\n\t */\n\tfunction cloneBuffer(buffer, isDeep) {\n\t if (isDeep) {\n\t return buffer.slice();\n\t }\n\t var result = new buffer.constructor(buffer.length);\n\t buffer.copy(result);\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `arrayBuffer`.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction cloneArrayBuffer(arrayBuffer) {\n\t var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n\t new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `dataView`.\n\t *\n\t * @private\n\t * @param {Object} dataView The data view to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned data view.\n\t */\n\tfunction cloneDataView(dataView, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n\t return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n\t}\n\n\t/**\n\t * Creates a clone of `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned map.\n\t */\n\tfunction cloneMap(map, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n\t return arrayReduce(array, addMapEntry, new map.constructor);\n\t}\n\n\t/**\n\t * Creates a clone of `regexp`.\n\t *\n\t * @private\n\t * @param {Object} regexp The regexp to clone.\n\t * @returns {Object} Returns the cloned regexp.\n\t */\n\tfunction cloneRegExp(regexp) {\n\t var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n\t result.lastIndex = regexp.lastIndex;\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned set.\n\t */\n\tfunction cloneSet(set, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n\t return arrayReduce(array, addSetEntry, new set.constructor);\n\t}\n\n\t/**\n\t * Creates a clone of the `symbol` object.\n\t *\n\t * @private\n\t * @param {Object} symbol The symbol object to clone.\n\t * @returns {Object} Returns the cloned symbol object.\n\t */\n\tfunction cloneSymbol(symbol) {\n\t return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n\t}\n\n\t/**\n\t * Creates a clone of `typedArray`.\n\t *\n\t * @private\n\t * @param {Object} typedArray The typed array to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned typed array.\n\t */\n\tfunction cloneTypedArray(typedArray, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n\t return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n\t}\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction copyArray(source, array) {\n\t var index = -1,\n\t length = source.length;\n\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t object || (object = {});\n\n\t var index = -1,\n\t length = props.length;\n\n\t while (++index < length) {\n\t var key = props[index];\n\n\t var newValue = undefined;\n\n\t assignValue(object, key, newValue === undefined ? source[key] : newValue);\n\t }\n\t return object;\n\t}\n\n\t/**\n\t * Copies own symbol properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbols(source, object) {\n\t return copyObject(source, getSymbols(source), object);\n\t}\n\n\t/**\n\t * Creates an array of own enumerable property names and symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeys(object) {\n\t return baseGetAllKeys(object, keys, getSymbols);\n\t}\n\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\n\t/**\n\t * Creates an array of the own enumerable symbol properties of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\n\t// Fallback for data views, maps, sets, and weak maps in IE 11,\n\t// for data views in Edge < 14, and promises in Node.js.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t (Map && getTag(new Map) != mapTag) ||\n\t (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t (Set && getTag(new Set) != setTag) ||\n\t (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t getTag = function(value) {\n\t var result = objectToString.call(value),\n\t Ctor = result == objectTag ? value.constructor : undefined,\n\t ctorString = Ctor ? toSource(Ctor) : undefined;\n\n\t if (ctorString) {\n\t switch (ctorString) {\n\t case dataViewCtorString: return dataViewTag;\n\t case mapCtorString: return mapTag;\n\t case promiseCtorString: return promiseTag;\n\t case setCtorString: return setTag;\n\t case weakMapCtorString: return weakMapTag;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = array.constructor(length);\n\n\t // Add properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t return (typeof object.constructor == 'function' && !isPrototype(object))\n\t ? baseCreate(getPrototype(object))\n\t : {};\n\t}\n\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return cloneArrayBuffer(object);\n\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\n\t case dataViewTag:\n\t return cloneDataView(object, isDeep);\n\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t return cloneTypedArray(object, isDeep);\n\n\t case mapTag:\n\t return cloneMap(object, isDeep, cloneFunc);\n\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\n\t case regexpTag:\n\t return cloneRegExp(object);\n\n\t case setTag:\n\t return cloneSet(object, isDeep, cloneFunc);\n\n\t case symbolTag:\n\t return cloneSymbol(object);\n\t }\n\t}\n\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length &&\n\t (typeof value == 'number' || reIsUint.test(value)) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n\t return value === proto;\n\t}\n\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\n\t/**\n\t * This method is like `_.clone` except that it recursively clones `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 1.0.0\n\t * @category Lang\n\t * @param {*} value The value to recursively clone.\n\t * @returns {*} Returns the deep cloned value.\n\t * @see _.clone\n\t * @example\n\t *\n\t * var objects = [{ 'a': 1 }, { 'b': 2 }];\n\t *\n\t * var deep = _.cloneDeep(objects);\n\t * console.log(deep[0] === objects[0]);\n\t * // => false\n\t */\n\tfunction cloneDeep(value) {\n\t return baseClone(value, true, true);\n\t}\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8-9 which returns 'object' for typed array and other constructors.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\n\t/**\n\t * This method returns a new empty array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {Array} Returns the new empty array.\n\t * @example\n\t *\n\t * var arrays = _.times(2, _.stubArray);\n\t *\n\t * console.log(arrays);\n\t * // => [[], []]\n\t *\n\t * console.log(arrays[0] === arrays[1]);\n\t * // => false\n\t */\n\tfunction stubArray() {\n\t return [];\n\t}\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t return false;\n\t}\n\n\tmodule.exports = cloneDeep; \n} (lodash_clonedeep, lodash_clonedeep.exports));\n\nvar lodash_clonedeepExports = lodash_clonedeep.exports;\nvar cloneDeep = /*@__PURE__*/getDefaultExportFromCjs(lodash_clonedeepExports);\n\nfunction applyContextDelta(context, delta, logger) {\n try {\n if (logger?.canPublish(\"trace\")) {\n logger?.trace(`applying context delta ${JSON.stringify(delta)} on context ${JSON.stringify(context)}`);\n }\n if (!delta) {\n return context;\n }\n if (delta.reset) {\n context = { ...delta.reset };\n return context;\n }\n context = deepClone(context, undefined);\n if (delta.commands) {\n for (const command of delta.commands) {\n if (command.type === \"remove\") {\n deletePath(context, command.path);\n }\n else if (command.type === \"set\") {\n setValueToPath(context, command.value, command.path);\n }\n }\n return context;\n }\n const added = delta.added;\n const updated = delta.updated;\n const removed = delta.removed;\n if (added) {\n Object.keys(added).forEach((key) => {\n context[key] = added[key];\n });\n }\n if (updated) {\n Object.keys(updated).forEach((key) => {\n mergeObjectsProperties(key, context, updated);\n });\n }\n if (removed) {\n removed.forEach((key) => {\n delete context[key];\n });\n }\n return context;\n }\n catch (e) {\n logger?.error(`error applying context delta ${JSON.stringify(delta)} on context ${JSON.stringify(context)}`, e);\n return context;\n }\n}\nfunction deepClone(obj, hash) {\n return cloneDeep(obj);\n}\nconst mergeObjectsProperties = (key, what, withWhat) => {\n const right = withWhat[key];\n if (right === undefined) {\n return what;\n }\n const left = what[key];\n if (!left || !right) {\n what[key] = right;\n return what;\n }\n if (typeof left === \"string\" ||\n typeof left === \"number\" ||\n typeof left === \"boolean\" ||\n typeof right === \"string\" ||\n typeof right === \"number\" ||\n typeof right === \"boolean\" ||\n Array.isArray(left) ||\n Array.isArray(right)) {\n what[key] = right;\n return what;\n }\n what[key] = Object.assign({}, left, right);\n return what;\n};\nfunction deepEqual(x, y) {\n if (x === y) {\n return true;\n }\n if (!(x instanceof Object) || !(y instanceof Object)) {\n return false;\n }\n if (x.constructor !== y.constructor) {\n return false;\n }\n for (const p in x) {\n if (!x.hasOwnProperty(p)) {\n continue;\n }\n if (!y.hasOwnProperty(p)) {\n return false;\n }\n if (x[p] === y[p]) {\n continue;\n }\n if (typeof (x[p]) !== \"object\") {\n return false;\n }\n if (!deepEqual(x[p], y[p])) {\n return false;\n }\n }\n for (const p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) {\n return false;\n }\n }\n return true;\n}\nfunction setValueToPath(obj, value, path) {\n const pathArr = path.split(\".\");\n let i;\n for (i = 0; i < pathArr.length - 1; i++) {\n if (!obj[pathArr[i]]) {\n obj[pathArr[i]] = {};\n }\n if (typeof obj[pathArr[i]] !== \"object\") {\n obj[pathArr[i]] = {};\n }\n obj = obj[pathArr[i]];\n }\n obj[pathArr[i]] = value;\n}\nfunction isSubset(superObj, subObj) {\n return Object.keys(subObj).every((ele) => {\n if (typeof subObj[ele] === \"object\") {\n return isSubset(superObj?.[ele] || {}, subObj[ele] || {});\n }\n return subObj[ele] === superObj?.[ele];\n });\n}\nfunction deletePath(obj, path) {\n const pathArr = path.split(\".\");\n let i;\n for (i = 0; i < pathArr.length - 1; i++) {\n if (!obj[pathArr[i]]) {\n return;\n }\n obj = obj[pathArr[i]];\n }\n delete obj[pathArr[i]];\n}\n\nclass GW3Bridge {\n _logger;\n _connection;\n _trackAllContexts;\n _reAnnounceKnownContexts;\n _gw3Session;\n _contextNameToData = {};\n _gw3Subscriptions = [];\n _nextCallbackSubscriptionNumber = 0;\n _creationPromises = {};\n _contextNameToId = {};\n _contextIdToName = {};\n _protocolVersion = undefined;\n _contextsTempCache = {};\n _contextsSubscriptionsCache = [];\n _systemContextsSubKey;\n get protocolVersion() {\n if (!this._protocolVersion) {\n const contextsDomainInfo = this._connection.availableDomains.find((d) => d.uri === \"context\");\n this._protocolVersion = contextsDomainInfo?.version ?? 1;\n }\n return this._protocolVersion;\n }\n get setPathSupported() {\n return this.protocolVersion >= 2;\n }\n constructor(config) {\n this._connection = config.connection;\n this._logger = config.logger;\n this._trackAllContexts = config.trackAllContexts;\n this._reAnnounceKnownContexts = config.reAnnounceKnownContexts;\n this._gw3Session = this._connection.domain(\"global\", [\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_CONTEXT_UPDATED,\n ]);\n this._gw3Session.disconnected(this.resetState.bind(this));\n this._gw3Session.onJoined((wasReconnect) => {\n if (!wasReconnect) {\n return;\n }\n if (!this._reAnnounceKnownContexts) {\n return this._connection.setLibReAnnounced({ name: \"contexts\" });\n }\n this.reInitiateState().then(() => this._connection.setLibReAnnounced({ name: \"contexts\" }));\n });\n this.subscribeToContextCreatedMessages();\n this.subscribeToContextUpdatedMessages();\n this.subscribeToContextDestroyedMessages();\n this._connection.replayer?.drain(ContextMessageReplaySpec.name, (message) => {\n const type = message.type;\n if (!type) {\n return;\n }\n if (type === GW_MESSAGE_CONTEXT_CREATED ||\n type === GW_MESSAGE_CONTEXT_ADDED ||\n type === GW_MESSAGE_ACTIVITY_CREATED) {\n this.handleContextCreatedMessage(message);\n }\n else if (type === GW_MESSAGE_SUBSCRIBED_CONTEXT ||\n type === GW_MESSAGE_CONTEXT_UPDATED ||\n type === GW_MESSAGE_JOINED_ACTIVITY) {\n this.handleContextUpdatedMessage(message);\n }\n else if (type === GW_MESSAGE_CONTEXT_DESTROYED ||\n type === GW_MESSAGE_ACTIVITY_DESTROYED) {\n this.handleContextDestroyedMessage(message);\n }\n });\n }\n dispose() {\n for (const sub of this._gw3Subscriptions) {\n this._connection.off(sub);\n }\n this._gw3Subscriptions.length = 0;\n for (const contextName in this._contextNameToData) {\n if (this._contextNameToId.hasOwnProperty(contextName)) {\n delete this._contextNameToData[contextName];\n }\n }\n }\n createContext(name, data) {\n if (name in this._creationPromises) {\n return this._creationPromises[name];\n }\n this._creationPromises[name] =\n this._gw3Session\n .send({\n type: GW_MESSAGE_CREATE_CONTEXT,\n domain: \"global\",\n name,\n data,\n lifetime: \"retained\",\n })\n .then((createContextMsg) => {\n this._contextNameToId[name] = createContextMsg.context_id;\n this._contextIdToName[createContextMsg.context_id] = name;\n const contextData = this._contextNameToData[name] || new GW3ContextData(createContextMsg.context_id, name, true, undefined);\n contextData.isAnnounced = true;\n contextData.name = name;\n contextData.contextId = createContextMsg.context_id;\n contextData.context = createContextMsg.data || deepClone(data);\n contextData.hasReceivedSnapshot = true;\n this._contextNameToData[name] = contextData;\n delete this._creationPromises[name];\n return createContextMsg.context_id;\n });\n return this._creationPromises[name];\n }\n all() {\n return Object.keys(this._contextNameToData)\n .filter((name) => this._contextNameToData[name].isAnnounced);\n }\n async update(name, delta) {\n if (delta) {\n delta = deepClone(delta);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return this.createContext(name, delta);\n }\n let currentContext = contextData.context;\n if (!contextData.hasCallbacks()) {\n currentContext = await this.get(contextData.name);\n }\n const calculatedDelta = this.setPathSupported ?\n this.calculateContextDeltaV2(currentContext, delta) :\n this.calculateContextDeltaV1(currentContext, delta);\n if (!Object.keys(calculatedDelta.added).length\n && !Object.keys(calculatedDelta.updated).length\n && !calculatedDelta.removed.length\n && !calculatedDelta.commands?.length) {\n return Promise.resolve();\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: calculatedDelta,\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, calculatedDelta, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n async set(name, data) {\n if (data) {\n data = deepClone(data);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return this.createContext(name, data);\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: { reset: data },\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, {\n reset: data,\n added: {},\n removed: [],\n updated: {}\n }, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n setPath(name, path, value) {\n if (!this.setPathSupported) {\n return Promise.reject(\"glue.contexts.setPath operation is not supported, use Glue42 3.10 or later\");\n }\n return this.setPaths(name, [{ path, value }]);\n }\n async setPaths(name, pathValues) {\n if (!this.setPathSupported) {\n return Promise.reject(\"glue.contexts.setPaths operation is not supported, use Glue42 3.10 or later\");\n }\n if (pathValues) {\n pathValues = deepClone(pathValues);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n const obj = {};\n for (const pathValue of pathValues) {\n setValueToPath(obj, pathValue.value, pathValue.path);\n }\n return this.createContext(name, obj);\n }\n const commands = [];\n for (const pathValue of pathValues) {\n if (pathValue.value === null) {\n commands.push({ type: \"remove\", path: pathValue.path });\n }\n else {\n commands.push({ type: \"set\", path: pathValue.path, value: pathValue.value });\n }\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: { commands }\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, {\n added: {},\n removed: [],\n updated: {},\n commands\n }, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n async get(name) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return Promise.resolve({});\n }\n if (contextData && (!contextData.hasCallbacks() || !contextData.hasReceivedSnapshot)) {\n return new Promise((resolve) => {\n this.subscribe(name, (data, _d, _r, un) => {\n this.unsubscribe(un);\n resolve(data);\n });\n });\n }\n const context = contextData?.context ?? {};\n return Promise.resolve(deepClone(context));\n }\n async subscribe(name, callback, subscriptionKey) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const thisCallbackSubscriptionNumber = typeof subscriptionKey === \"undefined\" ? this._nextCallbackSubscriptionNumber : subscriptionKey;\n if (typeof subscriptionKey === \"undefined\") {\n this._nextCallbackSubscriptionNumber += 1;\n }\n if (this._contextsSubscriptionsCache.every((subscription) => subscription.subKey !== this._nextCallbackSubscriptionNumber)) {\n this._contextsSubscriptionsCache.push({ contextName: name, subKey: thisCallbackSubscriptionNumber, callback });\n }\n let contextData = this._contextNameToData[name];\n if (!contextData ||\n !contextData.isAnnounced) {\n contextData = contextData || new GW3ContextData(undefined, name, false, undefined);\n this._contextNameToData[name] = contextData;\n contextData.updateCallbacks[thisCallbackSubscriptionNumber] = callback;\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n const hadCallbacks = contextData.hasCallbacks();\n contextData.updateCallbacks[thisCallbackSubscriptionNumber] = callback;\n if (!hadCallbacks) {\n if (!contextData.joinedActivity) {\n if (contextData.context && contextData.sentExplicitSubscription) {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n return this.sendSubscribe(contextData)\n .then(() => thisCallbackSubscriptionNumber);\n }\n else {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n }\n else {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n }\n unsubscribe(subscriptionKey) {\n this._contextsSubscriptionsCache = this._contextsSubscriptionsCache.filter((subscription) => subscription.subKey !== subscriptionKey);\n for (const name of Object.keys(this._contextNameToData)) {\n const contextData = this._contextNameToData[name];\n if (!contextData) {\n return;\n }\n const hadCallbacks = contextData.hasCallbacks();\n delete contextData.updateCallbacks[subscriptionKey];\n if (contextData.isAnnounced &&\n hadCallbacks &&\n !contextData.hasCallbacks() &&\n contextData.sentExplicitSubscription) {\n this.sendUnsubscribe(contextData).catch(() => { });\n }\n if (!contextData.isAnnounced &&\n !contextData.hasCallbacks()) {\n delete this._contextNameToData[name];\n }\n }\n }\n async destroy(name) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData) {\n return Promise.reject(`context with ${name} does not exist`);\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_DESTROY_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n handleUpdated(contextData, delta, extraData) {\n const oldContext = contextData.context;\n contextData.context = applyContextDelta(contextData.context, delta, this._logger);\n contextData.hasReceivedSnapshot = true;\n if (this._contextNameToData[contextData.name] === contextData &&\n !deepEqual(oldContext, contextData.context)) {\n this.invokeUpdateCallbacks(contextData, delta, extraData);\n }\n }\n subscribeToContextCreatedMessages() {\n const createdMessageTypes = [\n GW_MESSAGE_CONTEXT_ADDED,\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_ACTIVITY_CREATED,\n ];\n for (const createdMessageType of createdMessageTypes) {\n const sub = this._connection.on(createdMessageType, this.handleContextCreatedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextCreatedMessage(contextCreatedMsg) {\n const createdMessageType = contextCreatedMsg.type;\n if (createdMessageType === GW_MESSAGE_ACTIVITY_CREATED) {\n this._contextNameToId[contextCreatedMsg.activity_id] = contextCreatedMsg.context_id;\n this._contextIdToName[contextCreatedMsg.context_id] = contextCreatedMsg.activity_id;\n }\n else if (createdMessageType === GW_MESSAGE_CONTEXT_ADDED) {\n this._contextNameToId[contextCreatedMsg.name] = contextCreatedMsg.context_id;\n this._contextIdToName[contextCreatedMsg.context_id] = contextCreatedMsg.name;\n }\n else ;\n const name = this._contextIdToName[contextCreatedMsg.context_id];\n if (!name) {\n throw new Error(\"Received created event for context with unknown name: \" + contextCreatedMsg.context_id);\n }\n if (!this._contextNameToId[name]) {\n throw new Error(\"Received created event for context with unknown id: \" + contextCreatedMsg.context_id);\n }\n let contextData = this._contextNameToData[name];\n if (contextData) {\n if (contextData.isAnnounced) {\n return;\n }\n else {\n if (!contextData.hasCallbacks()) {\n throw new Error(\"Assertion failure: contextData.hasCallbacks()\");\n }\n contextData.isAnnounced = true;\n contextData.contextId = contextCreatedMsg.context_id;\n contextData.activityId = contextCreatedMsg.activity_id;\n if (!contextData.sentExplicitSubscription) {\n this.sendSubscribe(contextData);\n }\n }\n }\n else {\n this._contextNameToData[name] = contextData =\n new GW3ContextData(contextCreatedMsg.context_id, name, true, contextCreatedMsg.activity_id);\n if (this._trackAllContexts) {\n this.subscribe(name, () => { }).then((subKey) => this._systemContextsSubKey = subKey);\n }\n }\n }\n subscribeToContextUpdatedMessages() {\n const updatedMessageTypes = [\n GW_MESSAGE_CONTEXT_UPDATED,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_JOINED_ACTIVITY,\n ];\n for (const updatedMessageType of updatedMessageTypes) {\n const sub = this._connection.on(updatedMessageType, this.handleContextUpdatedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextUpdatedMessage(contextUpdatedMsg) {\n const updatedMessageType = contextUpdatedMsg.type;\n const contextId = contextUpdatedMsg.context_id;\n let contextData = this._contextNameToData[this._contextIdToName[contextId]];\n const justSeen = !contextData || !contextData.isAnnounced;\n if (updatedMessageType === GW_MESSAGE_JOINED_ACTIVITY) {\n if (!contextData) {\n contextData =\n this._contextNameToData[contextUpdatedMsg.activity_id] ||\n new GW3ContextData(contextId, contextUpdatedMsg.activity_id, true, contextUpdatedMsg.activity_id);\n }\n this._contextNameToData[contextUpdatedMsg.activity_id] = contextData;\n this._contextIdToName[contextId] = contextUpdatedMsg.activity_id;\n this._contextNameToId[contextUpdatedMsg.activity_id] = contextId;\n contextData.contextId = contextId;\n contextData.isAnnounced = true;\n contextData.activityId = contextUpdatedMsg.activity_id;\n contextData.joinedActivity = true;\n }\n else {\n if (!contextData || !contextData.isAnnounced) {\n if (updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n contextData = contextData || new GW3ContextData(contextId, contextUpdatedMsg.name, true, undefined);\n contextData.sentExplicitSubscription = true;\n this._contextNameToData[contextUpdatedMsg.name] = contextData;\n this._contextIdToName[contextId] = contextUpdatedMsg.name;\n this._contextNameToId[contextUpdatedMsg.name] = contextId;\n }\n else {\n this._logger.error(`Received 'update' for unknown context: ${contextId}`);\n }\n return;\n }\n }\n const oldContext = contextData.context;\n contextData.hasReceivedSnapshot = true;\n if (updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n contextData.context = contextUpdatedMsg.data || {};\n }\n else if (updatedMessageType === GW_MESSAGE_JOINED_ACTIVITY) {\n contextData.context = contextUpdatedMsg.context_snapshot || {};\n }\n else if (updatedMessageType === GW_MESSAGE_CONTEXT_UPDATED) {\n contextData.context = applyContextDelta(contextData.context, contextUpdatedMsg.delta, this._logger);\n }\n else {\n throw new Error(\"Unrecognized context update message \" + updatedMessageType);\n }\n if (justSeen ||\n !deepEqual(contextData.context, oldContext) ||\n updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n this.invokeUpdateCallbacks(contextData, contextUpdatedMsg.delta, { updaterId: contextUpdatedMsg.updater_id });\n }\n }\n invokeUpdateCallbacks(contextData, delta, extraData) {\n delta = delta || { added: {}, updated: {}, reset: {}, removed: [] };\n if (delta.commands) {\n delta.added = delta.updated = delta.reset = {};\n delta.removed = [];\n for (const command of delta.commands) {\n if (command.type === \"remove\") {\n if (command.path.indexOf(\".\") === -1) {\n delta.removed.push(command.path);\n }\n setValueToPath(delta.updated, null, command.path);\n }\n else if (command.type === \"set\") {\n setValueToPath(delta.updated, command.value, command.path);\n }\n }\n }\n for (const updateCallbackIndex in contextData.updateCallbacks) {\n if (contextData.updateCallbacks.hasOwnProperty(updateCallbackIndex)) {\n try {\n const updateCallback = contextData.updateCallbacks[updateCallbackIndex];\n updateCallback(deepClone(contextData.context), deepClone(Object.assign({}, delta.added || {}, delta.updated || {}, delta.reset || {})), delta.removed, parseInt(updateCallbackIndex, 10), extraData);\n }\n catch (err) {\n this._logger.debug(\"callback error: \" + JSON.stringify(err));\n }\n }\n }\n }\n subscribeToContextDestroyedMessages() {\n const destroyedMessageTypes = [\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_ACTIVITY_DESTROYED,\n ];\n for (const destroyedMessageType of destroyedMessageTypes) {\n const sub = this._connection.on(destroyedMessageType, this.handleContextDestroyedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextDestroyedMessage(destroyedMsg) {\n const destroyedMessageType = destroyedMsg.type;\n let contextId;\n let name;\n if (destroyedMessageType === GW_MESSAGE_ACTIVITY_DESTROYED) {\n name = destroyedMsg.activity_id;\n contextId = this._contextNameToId[name];\n if (!contextId) {\n this._logger.error(`Received 'destroyed' for unknown activity: ${destroyedMsg.activity_id}`);\n return;\n }\n }\n else {\n contextId = destroyedMsg.context_id;\n name = this._contextIdToName[contextId];\n if (!name) {\n this._logger.error(`Received 'destroyed' for unknown context: ${destroyedMsg.context_id}`);\n return;\n }\n }\n delete this._contextIdToName[contextId];\n delete this._contextNameToId[name];\n const contextData = this._contextNameToData[name];\n delete this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n this._logger.error(`Received 'destroyed' for unknown context: ${contextId}`);\n return;\n }\n }\n sendSubscribe(contextData) {\n contextData.sentExplicitSubscription = true;\n return this._gw3Session\n .send({\n type: GW_MESSAGE_SUBSCRIBE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n sendUnsubscribe(contextData) {\n contextData.sentExplicitSubscription = false;\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UNSUBSCRIBE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n calculateContextDeltaV1(from, to) {\n const delta = { added: {}, updated: {}, removed: [], reset: undefined };\n if (from) {\n for (const x of Object.keys(from)) {\n if (Object.keys(to).indexOf(x) !== -1\n && to[x] !== null\n && !deepEqual(from[x], to[x])) {\n delta.updated[x] = to[x];\n }\n }\n }\n for (const x of Object.keys(to)) {\n if (!from || (Object.keys(from).indexOf(x) === -1)) {\n if (to[x] !== null) {\n delta.added[x] = to[x];\n }\n }\n else if (to[x] === null) {\n delta.removed.push(x);\n }\n }\n return delta;\n }\n calculateContextDeltaV2(from, to) {\n const delta = { added: {}, updated: {}, removed: [], reset: undefined, commands: [] };\n for (const x of Object.keys(to)) {\n if (to[x] !== null) {\n const fromX = from ? from[x] : null;\n if (!deepEqual(fromX, to[x])) {\n delta.commands?.push({ type: \"set\", path: x, value: to[x] });\n }\n }\n else {\n delta.commands?.push({ type: \"remove\", path: x });\n }\n }\n return delta;\n }\n resetState() {\n for (const sub of this._gw3Subscriptions) {\n this._connection.off(sub);\n }\n if (this._systemContextsSubKey) {\n this.unsubscribe(this._systemContextsSubKey);\n delete this._systemContextsSubKey;\n }\n this._gw3Subscriptions = [];\n this._contextNameToId = {};\n this._contextIdToName = {};\n delete this._protocolVersion;\n this._contextsTempCache = Object.keys(this._contextNameToData).reduce((cacheSoFar, ctxName) => {\n cacheSoFar[ctxName] = this._contextNameToData[ctxName].context;\n return cacheSoFar;\n }, {});\n this._contextNameToData = {};\n }\n async reInitiateState() {\n this.subscribeToContextCreatedMessages();\n this.subscribeToContextUpdatedMessages();\n this.subscribeToContextDestroyedMessages();\n this._connection.replayer?.drain(ContextMessageReplaySpec.name, (message) => {\n const type = message.type;\n if (!type) {\n return;\n }\n if (type === GW_MESSAGE_CONTEXT_CREATED ||\n type === GW_MESSAGE_CONTEXT_ADDED ||\n type === GW_MESSAGE_ACTIVITY_CREATED) {\n this.handleContextCreatedMessage(message);\n }\n else if (type === GW_MESSAGE_SUBSCRIBED_CONTEXT ||\n type === GW_MESSAGE_CONTEXT_UPDATED ||\n type === GW_MESSAGE_JOINED_ACTIVITY) {\n this.handleContextUpdatedMessage(message);\n }\n else if (type === GW_MESSAGE_CONTEXT_DESTROYED ||\n type === GW_MESSAGE_ACTIVITY_DESTROYED) {\n this.handleContextDestroyedMessage(message);\n }\n });\n await Promise.all(this._contextsSubscriptionsCache.map((subscription) => this.subscribe(subscription.contextName, subscription.callback, subscription.subKey)));\n await this.flushQueue();\n for (const ctxName in this._contextsTempCache) {\n if (typeof this._contextsTempCache[ctxName] !== \"object\" || Object.keys(this._contextsTempCache[ctxName]).length === 0) {\n continue;\n }\n const lastKnownData = this._contextsTempCache[ctxName];\n this._logger.info(`Re-announcing known context: ${ctxName}`);\n await this.flushQueue();\n await this.update(ctxName, lastKnownData);\n }\n this._contextsTempCache = {};\n this._logger.info(\"Contexts are re-announced\");\n }\n flushQueue() {\n return new Promise((resolve) => setTimeout(() => resolve(), 0));\n }\n}\n\nclass ContextsModule {\n initTime;\n initStartTime;\n initEndTime;\n _bridge;\n constructor(config) {\n this._bridge = new GW3Bridge(config);\n }\n all() {\n return this._bridge.all();\n }\n update(name, data) {\n this.checkName(name);\n this.checkData(data);\n return this._bridge.update(name, data);\n }\n set(name, data) {\n this.checkName(name);\n this.checkData(data);\n return this._bridge.set(name, data);\n }\n setPath(name, path, data) {\n this.checkName(name);\n this.checkPath(path);\n const isTopLevelPath = path === \"\";\n if (isTopLevelPath) {\n this.checkData(data);\n return this.set(name, data);\n }\n return this._bridge.setPath(name, path, data);\n }\n setPaths(name, paths) {\n this.checkName(name);\n if (!Array.isArray(paths)) {\n throw new Error(\"Please provide the paths as an array of PathValues!\");\n }\n for (const { path, value } of paths) {\n this.checkPath(path);\n const isTopLevelPath = path === \"\";\n if (isTopLevelPath) {\n this.checkData(value);\n }\n }\n return this._bridge.setPaths(name, paths);\n }\n subscribe(name, callback) {\n this.checkName(name);\n if (typeof callback !== \"function\") {\n throw new Error(\"Please provide the callback as a function!\");\n }\n return this._bridge\n .subscribe(name, (data, delta, removed, key, extraData) => callback(data, delta, removed, () => this._bridge.unsubscribe(key), extraData))\n .then((key) => () => {\n this._bridge.unsubscribe(key);\n });\n }\n get(name) {\n this.checkName(name);\n return this._bridge.get(name);\n }\n ready() {\n return Promise.resolve(this);\n }\n destroy(name) {\n this.checkName(name);\n return this._bridge.destroy(name);\n }\n get setPathSupported() {\n return this._bridge.setPathSupported;\n }\n checkName(name) {\n if (typeof name !== \"string\" || name === \"\") {\n throw new Error(\"Please provide the name as a non-empty string!\");\n }\n }\n checkPath(path) {\n if (typeof path !== \"string\") {\n throw new Error(\"Please provide the path as a dot delimited string!\");\n }\n }\n checkData(data) {\n if (typeof data !== \"object\") {\n throw new Error(\"Please provide the data as an object!\");\n }\n }\n}\n\nfunction promisify (promise, successCallback, errorCallback) {\n if (typeof successCallback !== \"function\" && typeof errorCallback !== \"function\") {\n return promise;\n }\n if (typeof successCallback !== \"function\") {\n successCallback = () => { };\n }\n else if (typeof errorCallback !== \"function\") {\n errorCallback = () => { };\n }\n return promise.then(successCallback, errorCallback);\n}\n\nfunction rejectAfter(ms = 0, promise, error) {\n let timeout;\n const clearTimeoutIfThere = () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n promise\n .then(() => {\n clearTimeoutIfThere();\n })\n .catch(() => {\n clearTimeoutIfThere();\n });\n return new Promise((resolve, reject) => {\n timeout = setTimeout(() => reject(error), ms);\n });\n}\n\nvar InvokeStatus;\n(function (InvokeStatus) {\n InvokeStatus[InvokeStatus[\"Success\"] = 0] = \"Success\";\n InvokeStatus[InvokeStatus[\"Error\"] = 1] = \"Error\";\n})(InvokeStatus || (InvokeStatus = {}));\nclass Client {\n protocol;\n repo;\n instance;\n configuration;\n constructor(protocol, repo, instance, configuration) {\n this.protocol = protocol;\n this.repo = repo;\n this.instance = instance;\n this.configuration = configuration;\n }\n subscribe(method, options, successCallback, errorCallback, existingSub) {\n const callProtocolSubscribe = (targetServers, stream, successProxy, errorProxy) => {\n options.methodResponseTimeout = options.methodResponseTimeout ?? options.waitTimeoutMs;\n this.protocol.client.subscribe(stream, options, targetServers, successProxy, errorProxy, existingSub);\n };\n const promise = new Promise((resolve, reject) => {\n const successProxy = (sub) => {\n resolve(sub);\n };\n const errorProxy = (err) => {\n reject(err);\n };\n if (!method) {\n reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n return;\n }\n let methodDef;\n if (typeof method === \"string\") {\n methodDef = { name: method };\n }\n else {\n methodDef = method;\n }\n if (!methodDef.name) {\n reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n return;\n }\n if (options === undefined) {\n options = {};\n }\n let target = options.target;\n if (target === undefined) {\n target = \"best\";\n }\n if (typeof target === \"string\" && target !== \"all\" && target !== \"best\") {\n reject(new Error(`\"${target}\" is not a valid target. Valid targets are \"all\", \"best\", or an instance.`));\n return;\n }\n if (options.methodResponseTimeout === undefined) {\n options.methodResponseTimeout = options.method_response_timeout;\n if (options.methodResponseTimeout === undefined) {\n options.methodResponseTimeout = this.configuration.methodResponseTimeout;\n }\n }\n if (options.waitTimeoutMs === undefined) {\n options.waitTimeoutMs = options.wait_for_method_timeout;\n if (options.waitTimeoutMs === undefined) {\n options.waitTimeoutMs = this.configuration.waitTimeoutMs;\n }\n }\n const delayStep = 500;\n let delayTillNow = 0;\n let currentServers = this.getServerMethodsByFilterAndTarget(methodDef, target);\n if (currentServers.length > 0) {\n callProtocolSubscribe(currentServers, currentServers[0].methods[0], successProxy, errorProxy);\n }\n else {\n const retry = () => {\n if (!target || !(options.waitTimeoutMs)) {\n return;\n }\n delayTillNow += delayStep;\n currentServers = this.getServerMethodsByFilterAndTarget(methodDef, target);\n if (currentServers.length > 0) {\n const streamInfo = currentServers[0].methods[0];\n callProtocolSubscribe(currentServers, streamInfo, successProxy, errorProxy);\n }\n else if (delayTillNow >= options.waitTimeoutMs) {\n const def = typeof method === \"string\" ? { name: method } : method;\n callProtocolSubscribe(currentServers, def, successProxy, errorProxy);\n }\n else {\n setTimeout(retry, delayStep);\n }\n };\n setTimeout(retry, delayStep);\n }\n });\n return promisify(promise, successCallback, errorCallback);\n }\n servers(methodFilter) {\n const filterCopy = methodFilter === undefined\n ? undefined\n : { ...methodFilter };\n return this.getServers(filterCopy).map((serverMethodMap) => {\n return serverMethodMap.server.instance;\n });\n }\n methods(methodFilter) {\n if (typeof methodFilter === \"string\") {\n methodFilter = { name: methodFilter };\n }\n else {\n methodFilter = { ...methodFilter };\n }\n return this.getMethods(methodFilter);\n }\n methodsForInstance(instance) {\n return this.getMethodsForInstance(instance);\n }\n methodAdded(callback) {\n return this.repo.onMethodAdded(callback);\n }\n methodRemoved(callback) {\n return this.repo.onMethodRemoved(callback);\n }\n serverAdded(callback) {\n return this.repo.onServerAdded(callback);\n }\n serverRemoved(callback) {\n return this.repo.onServerRemoved((server, reason) => {\n callback(server, reason);\n });\n }\n serverMethodAdded(callback) {\n return this.repo.onServerMethodAdded((server, method) => {\n callback({ server, method });\n });\n }\n serverMethodRemoved(callback) {\n return this.repo.onServerMethodRemoved((server, method) => {\n callback({ server, method });\n });\n }\n async invoke(methodFilter, argumentObj, target, additionalOptions, success, error) {\n const getInvokePromise = async () => {\n let methodDefinition;\n if (typeof methodFilter === \"string\") {\n methodDefinition = { name: methodFilter };\n }\n else {\n methodDefinition = { ...methodFilter };\n }\n if (!methodDefinition.name) {\n return Promise.reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n }\n if (!argumentObj) {\n argumentObj = {};\n }\n if (!target) {\n target = \"best\";\n }\n if (typeof target === \"string\" && target !== \"all\" && target !== \"best\" && target !== \"skipMine\") {\n return Promise.reject(new Error(`\"${target}\" is not a valid target. Valid targets are \"all\" and \"best\".`));\n }\n if (!additionalOptions) {\n additionalOptions = {};\n }\n if (additionalOptions.methodResponseTimeoutMs === undefined) {\n additionalOptions.methodResponseTimeoutMs = additionalOptions.method_response_timeout;\n if (additionalOptions.methodResponseTimeoutMs === undefined) {\n additionalOptions.methodResponseTimeoutMs = this.configuration.methodResponseTimeout;\n }\n }\n if (additionalOptions.waitTimeoutMs === undefined) {\n additionalOptions.waitTimeoutMs = additionalOptions.wait_for_method_timeout;\n if (additionalOptions.waitTimeoutMs === undefined) {\n additionalOptions.waitTimeoutMs = this.configuration.waitTimeoutMs;\n }\n }\n if (additionalOptions.waitTimeoutMs !== undefined && typeof additionalOptions.waitTimeoutMs !== \"number\") {\n return Promise.reject(new Error(`\"${additionalOptions.waitTimeoutMs}\" is not a valid number for \"waitTimeoutMs\" `));\n }\n if (typeof argumentObj !== \"object\") {\n return Promise.reject(new Error(`The method arguments must be an object. method: ${methodDefinition.name}`));\n }\n let serversMethodMap = this.getServerMethodsByFilterAndTarget(methodDefinition, target);\n if (serversMethodMap.length === 0) {\n try {\n serversMethodMap = await this.tryToAwaitForMethods(methodDefinition, target, additionalOptions);\n }\n catch (err) {\n const method = {\n ...methodDefinition,\n getServers: () => [],\n supportsStreaming: false,\n objectTypes: methodDefinition.objectTypes ?? [],\n flags: methodDefinition.flags?.metadata ?? {}\n };\n const errorObj = {\n method,\n called_with: argumentObj,\n message: `Can not find a method matching ${JSON.stringify(methodFilter)} with server filter ${JSON.stringify(target)}`,\n executed_by: undefined,\n returned: undefined,\n status: undefined,\n };\n return Promise.reject(errorObj);\n }\n }\n const timeout = additionalOptions.methodResponseTimeoutMs;\n const additionalOptionsCopy = additionalOptions;\n const invokePromises = serversMethodMap.map((serversMethodPair) => {\n const invId = nanoid(10);\n const method = serversMethodPair.methods[0];\n const server = serversMethodPair.server;\n const invokePromise = this.protocol.client.invoke(invId, method, argumentObj, server, additionalOptionsCopy);\n return Promise.race([\n invokePromise,\n rejectAfter(timeout, invokePromise, {\n invocationId: invId,\n message: `Invocation timeout (${timeout} ms) reached for method name: ${method?.name}, target instance: ${JSON.stringify(server.instance)}, options: ${JSON.stringify(additionalOptionsCopy)}`,\n status: InvokeStatus.Error,\n })\n ]);\n });\n const invocationMessages = await Promise.all(invokePromises);\n const results = this.getInvocationResultObj(invocationMessages, methodDefinition, argumentObj);\n const allRejected = invocationMessages.every((result) => result.status === InvokeStatus.Error);\n if (allRejected) {\n return Promise.reject(results);\n }\n return results;\n };\n return promisify(getInvokePromise(), success, error);\n }\n getInvocationResultObj(invocationResults, method, calledWith) {\n const all_return_values = invocationResults\n .filter((invokeMessage) => invokeMessage.status === InvokeStatus.Success)\n .reduce((allValues, currentValue) => {\n allValues = [\n ...allValues,\n {\n executed_by: currentValue.instance,\n returned: currentValue.result,\n called_with: calledWith,\n method,\n message: currentValue.message,\n status: currentValue.status,\n }\n ];\n return allValues;\n }, []);\n const all_errors = invocationResults\n .filter((invokeMessage) => invokeMessage.status === InvokeStatus.Error)\n .reduce((allErrors, currError) => {\n allErrors = [\n ...allErrors,\n {\n executed_by: currError.instance,\n called_with: calledWith,\n name: method.name,\n message: currError.message,\n }\n ];\n return allErrors;\n }, []);\n const invResult = invocationResults[0];\n const result = {\n method,\n called_with: calledWith,\n returned: invResult.result,\n executed_by: invResult.instance,\n all_return_values,\n all_errors,\n message: invResult.message,\n status: invResult.status\n };\n return result;\n }\n tryToAwaitForMethods(methodDefinition, target, additionalOptions) {\n return new Promise((resolve, reject) => {\n if (additionalOptions.waitTimeoutMs === 0) {\n reject();\n return;\n }\n const delayStep = 500;\n let delayTillNow = 0;\n const retry = () => {\n delayTillNow += delayStep;\n const serversMethodMap = this.getServerMethodsByFilterAndTarget(methodDefinition, target);\n if (serversMethodMap.length > 0) {\n clearInterval(interval);\n resolve(serversMethodMap);\n }\n else if (delayTillNow >= (additionalOptions.waitTimeoutMs || 10000)) {\n clearInterval(interval);\n reject();\n return;\n }\n };\n const interval = setInterval(retry, delayStep);\n });\n }\n filterByTarget(target, serverMethodMap) {\n if (typeof target === \"string\") {\n if (target === \"all\") {\n return [...serverMethodMap];\n }\n else if (target === \"best\") {\n const localMachine = serverMethodMap\n .find((s) => s.server.instance.isLocal);\n if (localMachine) {\n return [localMachine];\n }\n if (serverMethodMap[0] !== undefined) {\n return [serverMethodMap[0]];\n }\n }\n else if (target === \"skipMine\") {\n return serverMethodMap.filter(({ server }) => server.instance.peerId !== this.instance.peerId);\n }\n }\n else {\n let targetArray;\n if (!Array.isArray(target)) {\n targetArray = [target];\n }\n else {\n targetArray = target;\n }\n const allServersMatching = targetArray.reduce((matches, filter) => {\n const myMatches = serverMethodMap.filter((serverMethodPair) => {\n return this.instanceMatch(filter, serverMethodPair.server.instance);\n });\n return matches.concat(myMatches);\n }, []);\n return allServersMatching;\n }\n return [];\n }\n instanceMatch(instanceFilter, instanceDefinition) {\n if (instanceFilter?.peerId && instanceFilter?.instance) {\n instanceFilter = { ...instanceFilter };\n delete instanceFilter.peerId;\n }\n return this.containsProps(instanceFilter, instanceDefinition);\n }\n methodMatch(methodFilter, methodDefinition) {\n return this.containsProps(methodFilter, methodDefinition);\n }\n containsProps(filter, repoMethod) {\n const filterProps = Object.keys(filter)\n .filter((prop) => {\n return filter[prop] !== undefined\n && filter[prop] !== null\n && typeof filter[prop] !== \"function\"\n && prop !== \"object_types\"\n && prop !== \"display_name\"\n && prop !== \"id\"\n && prop !== \"gatewayId\"\n && prop !== \"identifier\"\n && prop[0] !== \"_\";\n });\n return filterProps.every((prop) => {\n let isMatch;\n const filterValue = filter[prop];\n const repoMethodValue = repoMethod[prop];\n switch (prop) {\n case \"objectTypes\":\n isMatch = (filterValue || []).every((filterValueEl) => {\n return (repoMethodValue || []).includes(filterValueEl);\n });\n break;\n case \"flags\":\n isMatch = isSubset(repoMethodValue || {}, filterValue || {});\n break;\n default:\n isMatch = String(filterValue).toLowerCase() === String(repoMethodValue).toLowerCase();\n }\n return isMatch;\n });\n }\n getMethods(methodFilter) {\n if (methodFilter === undefined) {\n return this.repo.getMethods();\n }\n const methods = this.repo.getMethods().filter((method) => {\n return this.methodMatch(methodFilter, method);\n });\n return methods;\n }\n getMethodsForInstance(instanceFilter) {\n const allServers = this.repo.getServers();\n const matchingServers = allServers.filter((server) => {\n return this.instanceMatch(instanceFilter, server.instance);\n });\n if (matchingServers.length === 0) {\n return [];\n }\n let resultMethodsObject = {};\n if (matchingServers.length === 1) {\n resultMethodsObject = matchingServers[0].methods;\n }\n else {\n matchingServers.forEach((server) => {\n Object.keys(server.methods).forEach((methodKey) => {\n const method = server.methods[methodKey];\n resultMethodsObject[method.identifier] = method;\n });\n });\n }\n return Object.keys(resultMethodsObject)\n .map((key) => {\n return resultMethodsObject[key];\n });\n }\n getServers(methodFilter) {\n const servers = this.repo.getServers();\n if (methodFilter === undefined) {\n return servers.map((server) => {\n return { server, methods: [] };\n });\n }\n return servers.reduce((prev, current) => {\n const methodsForServer = Object.values(current.methods);\n const matchingMethods = methodsForServer.filter((method) => {\n return this.methodMatch(methodFilter, method);\n });\n if (matchingMethods.length > 0) {\n prev.push({ server: current, methods: matchingMethods });\n }\n return prev;\n }, []);\n }\n getServerMethodsByFilterAndTarget(methodFilter, target) {\n const serversMethodMap = this.getServers(methodFilter);\n return this.filterByTarget(target, serversMethodMap);\n }\n}\n\nclass ServerSubscription {\n protocol;\n repoMethod;\n subscription;\n constructor(protocol, repoMethod, subscription) {\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n this.subscription = subscription;\n }\n get stream() {\n if (!this.repoMethod.stream) {\n throw new Error(\"no stream\");\n }\n return this.repoMethod.stream;\n }\n get arguments() { return this.subscription.arguments || {}; }\n get branchKey() { return this.subscription.branchKey; }\n get instance() {\n if (!this.subscription.instance) {\n throw new Error(\"no instance\");\n }\n return this.subscription.instance;\n }\n close() {\n this.protocol.server.closeSingleSubscription(this.repoMethod, this.subscription);\n }\n push(data) {\n this.protocol.server.pushDataToSingle(this.repoMethod, this.subscription, data);\n }\n}\n\nclass Request {\n protocol;\n repoMethod;\n requestContext;\n arguments;\n instance;\n constructor(protocol, repoMethod, requestContext) {\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n this.requestContext = requestContext;\n this.arguments = requestContext.arguments;\n this.instance = requestContext.instance;\n }\n accept() {\n this.protocol.server.acceptRequestOnBranch(this.requestContext, this.repoMethod, \"\");\n }\n acceptOnBranch(branch) {\n this.protocol.server.acceptRequestOnBranch(this.requestContext, this.repoMethod, branch);\n }\n reject(reason) {\n this.protocol.server.rejectRequest(this.requestContext, this.repoMethod, reason);\n }\n}\n\nlet ServerStreaming$1 = class ServerStreaming {\n protocol;\n server;\n constructor(protocol, server) {\n this.protocol = protocol;\n this.server = server;\n protocol.server.onSubRequest((rc, rm) => this.handleSubRequest(rc, rm));\n protocol.server.onSubAdded((sub, rm) => this.handleSubAdded(sub, rm));\n protocol.server.onSubRemoved((sub, rm) => this.handleSubRemoved(sub, rm));\n }\n handleSubRequest(requestContext, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionRequestHandler === \"function\")) {\n return;\n }\n const request = new Request(this.protocol, repoMethod, requestContext);\n repoMethod.streamCallbacks.subscriptionRequestHandler(request);\n }\n handleSubAdded(subscription, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionAddedHandler === \"function\")) {\n return;\n }\n const sub = new ServerSubscription(this.protocol, repoMethod, subscription);\n repoMethod.streamCallbacks.subscriptionAddedHandler(sub);\n }\n handleSubRemoved(subscription, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionRemovedHandler === \"function\")) {\n return;\n }\n const sub = new ServerSubscription(this.protocol, repoMethod, subscription);\n repoMethod.streamCallbacks.subscriptionRemovedHandler(sub);\n }\n};\n\nclass ServerBranch {\n key;\n protocol;\n repoMethod;\n constructor(key, protocol, repoMethod) {\n this.key = key;\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n }\n subscriptions() {\n const subList = this.protocol.server.getSubscriptionList(this.repoMethod, this.key);\n return subList.map((sub) => {\n return new ServerSubscription(this.protocol, this.repoMethod, sub);\n });\n }\n close() {\n this.protocol.server.closeAllSubscriptions(this.repoMethod, this.key);\n }\n push(data) {\n this.protocol.server.pushData(this.repoMethod, data, [this.key]);\n }\n}\n\nclass ServerStream {\n _protocol;\n _repoMethod;\n _server;\n name;\n constructor(_protocol, _repoMethod, _server) {\n this._protocol = _protocol;\n this._repoMethod = _repoMethod;\n this._server = _server;\n this.name = this._repoMethod.definition.name;\n }\n branches(key) {\n const bList = this._protocol.server.getBranchList(this._repoMethod);\n if (key) {\n if (bList.indexOf(key) > -1) {\n return new ServerBranch(key, this._protocol, this._repoMethod);\n }\n return undefined;\n }\n else {\n return bList.map((branchKey) => {\n return new ServerBranch(branchKey, this._protocol, this._repoMethod);\n });\n }\n }\n branch(key) {\n return this.branches(key);\n }\n subscriptions() {\n const subList = this._protocol.server.getSubscriptionList(this._repoMethod);\n return subList.map((sub) => {\n return new ServerSubscription(this._protocol, this._repoMethod, sub);\n });\n }\n get definition() {\n const def2 = this._repoMethod.definition;\n return {\n accepts: def2.accepts,\n description: def2.description,\n displayName: def2.displayName,\n name: def2.name,\n objectTypes: def2.objectTypes,\n returns: def2.returns,\n supportsStreaming: def2.supportsStreaming,\n flags: def2.flags?.metadata,\n };\n }\n close() {\n this._protocol.server.closeAllSubscriptions(this._repoMethod);\n this._server.unregister(this._repoMethod.definition, true);\n }\n push(data, branches) {\n if (typeof branches !== \"string\" && !Array.isArray(branches) && branches !== undefined) {\n throw new Error(\"invalid branches should be string or string array\");\n }\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n this._protocol.server.pushData(this._repoMethod, data, branches);\n }\n updateRepoMethod(repoMethod) {\n this._repoMethod = repoMethod;\n }\n}\n\nclass Server {\n protocol;\n serverRepository;\n streaming;\n invocations = 0;\n currentlyUnregistering = {};\n constructor(protocol, serverRepository) {\n this.protocol = protocol;\n this.serverRepository = serverRepository;\n this.streaming = new ServerStreaming$1(protocol, this);\n this.protocol.server.onInvoked(this.onMethodInvoked.bind(this));\n }\n createStream(streamDef, callbacks, successCallback, errorCallback, existingStream) {\n const promise = new Promise((resolve, reject) => {\n if (!streamDef) {\n reject(\"The stream name must be unique! Please, provide either a unique string for a stream name to “glue.interop.createStream()” or a “methodDefinition” object with a unique “name” property for the stream.\");\n return;\n }\n let streamMethodDefinition;\n if (typeof streamDef === \"string\") {\n streamMethodDefinition = { name: \"\" + streamDef };\n }\n else {\n streamMethodDefinition = { ...streamDef };\n }\n if (!streamMethodDefinition.name) {\n return reject(`The “name” property is required for the “streamDefinition” object and must be unique. Stream definition: ${JSON.stringify(streamMethodDefinition)}`);\n }\n const nameAlreadyExists = this.serverRepository.getList()\n .some((serverMethod) => serverMethod.definition.name === streamMethodDefinition.name);\n if (nameAlreadyExists) {\n return reject(`A stream with the name \"${streamMethodDefinition.name}\" already exists! Please, provide a unique name for the stream.`);\n }\n streamMethodDefinition.supportsStreaming = true;\n if (!callbacks) {\n callbacks = {};\n }\n if (typeof callbacks.subscriptionRequestHandler !== \"function\") {\n callbacks.subscriptionRequestHandler = (request) => {\n request.accept();\n };\n }\n const repoMethod = this.serverRepository.add({\n definition: streamMethodDefinition,\n streamCallbacks: callbacks,\n protocolState: {},\n });\n this.protocol.server.createStream(repoMethod)\n .then(() => {\n let streamUserObject;\n if (existingStream) {\n streamUserObject = existingStream;\n existingStream.updateRepoMethod(repoMethod);\n }\n else {\n streamUserObject = new ServerStream(this.protocol, repoMethod, this);\n }\n repoMethod.stream = streamUserObject;\n resolve(streamUserObject);\n })\n .catch((err) => {\n if (repoMethod.repoId) {\n this.serverRepository.remove(repoMethod.repoId);\n }\n reject(err);\n });\n });\n return promisify(promise, successCallback, errorCallback);\n }\n register(methodDefinition, callback) {\n if (!methodDefinition) {\n return Promise.reject(\"Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.\");\n }\n if (typeof callback !== \"function\") {\n return Promise.reject(`The second parameter must be a callback function. Method: ${typeof methodDefinition === \"string\" ? methodDefinition : methodDefinition.name}`);\n }\n const wrappedCallbackFunction = async (context, resultCallback) => {\n try {\n const result = callback(context.args, context.instance);\n if (result && typeof result.then === \"function\") {\n const resultValue = await result;\n resultCallback(undefined, resultValue);\n }\n else {\n resultCallback(undefined, result);\n }\n }\n catch (e) {\n resultCallback(e ?? \"\", e ?? \"\");\n }\n };\n wrappedCallbackFunction.userCallback = callback;\n return this.registerCore(methodDefinition, wrappedCallbackFunction);\n }\n registerAsync(methodDefinition, callback) {\n if (!methodDefinition) {\n return Promise.reject(\"Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.\");\n }\n if (typeof callback !== \"function\") {\n return Promise.reject(`The second parameter must be a callback function. Method: ${typeof methodDefinition === \"string\" ? methodDefinition : methodDefinition.name}`);\n }\n const wrappedCallback = async (context, resultCallback) => {\n try {\n let resultCalled = false;\n const success = (result) => {\n if (!resultCalled) {\n resultCallback(undefined, result);\n }\n resultCalled = true;\n };\n const error = (e) => {\n if (!resultCalled) {\n if (!e) {\n e = \"\";\n }\n resultCallback(e, e);\n }\n resultCalled = true;\n };\n const methodResult = callback(context.args, context.instance, success, error);\n if (methodResult && typeof methodResult.then === \"function\") {\n methodResult\n .then(success)\n .catch(error);\n }\n }\n catch (e) {\n resultCallback(e, undefined);\n }\n };\n wrappedCallback.userCallbackAsync = callback;\n return this.registerCore(methodDefinition, wrappedCallback);\n }\n async unregister(methodFilter, forStream = false) {\n if (methodFilter === undefined) {\n return Promise.reject(\"Please, provide either a unique string for a name or an object containing a “name” property.\");\n }\n if (typeof methodFilter === \"function\") {\n await this.unregisterWithPredicate(methodFilter, forStream);\n return;\n }\n let methodDefinition;\n if (typeof methodFilter === \"string\") {\n methodDefinition = { name: methodFilter };\n }\n else {\n methodDefinition = methodFilter;\n }\n if (methodDefinition.name === undefined) {\n return Promise.reject(\"Method name is required. Cannot find a method if the method name is undefined!\");\n }\n const methodToBeRemoved = this.serverRepository.getList().find((serverMethod) => {\n return serverMethod.definition.name === methodDefinition.name\n && (serverMethod.definition.supportsStreaming || false) === forStream;\n });\n if (!methodToBeRemoved) {\n return Promise.reject(`Method with a name \"${methodDefinition.name}\" does not exist or is not registered by your application!`);\n }\n await this.removeMethodsOrStreams([methodToBeRemoved]);\n }\n async unregisterWithPredicate(filterPredicate, forStream) {\n const methodsOrStreamsToRemove = this.serverRepository.getList()\n .filter((sm) => filterPredicate(sm.definition))\n .filter((serverMethod) => (serverMethod.definition.supportsStreaming || false) === forStream);\n if (!methodsOrStreamsToRemove || methodsOrStreamsToRemove.length === 0) {\n return Promise.reject(`Could not find a ${forStream ? \"stream\" : \"method\"} matching the specified condition!`);\n }\n await this.removeMethodsOrStreams(methodsOrStreamsToRemove);\n }\n removeMethodsOrStreams(methodsToRemove) {\n const methodUnregPromises = [];\n methodsToRemove.forEach((method) => {\n const promise = this.protocol.server.unregister(method)\n .then(() => {\n if (method.repoId) {\n this.serverRepository.remove(method.repoId);\n }\n });\n methodUnregPromises.push(promise);\n this.addAsCurrentlyUnregistering(method.definition.name, promise);\n });\n return Promise.all(methodUnregPromises);\n }\n async addAsCurrentlyUnregistering(methodName, promise) {\n const timeout = new Promise((resolve) => setTimeout(resolve, 5000));\n this.currentlyUnregistering[methodName] = Promise.race([promise, timeout]).then(() => {\n delete this.currentlyUnregistering[methodName];\n });\n }\n async registerCore(method, theFunction) {\n let methodDefinition;\n if (typeof method === \"string\") {\n methodDefinition = { name: \"\" + method };\n }\n else {\n methodDefinition = { ...method };\n }\n if (!methodDefinition.name) {\n return Promise.reject(`Please, provide a (unique) string value for the “name” property in the “methodDefinition” object: ${JSON.stringify(method)}`);\n }\n const unregisterInProgress = this.currentlyUnregistering[methodDefinition.name];\n if (typeof unregisterInProgress !== \"undefined\") {\n await unregisterInProgress;\n }\n const nameAlreadyExists = this.serverRepository.getList()\n .some((serverMethod) => serverMethod.definition.name === methodDefinition.name);\n if (nameAlreadyExists) {\n return Promise.reject(`A method with the name \"${methodDefinition.name}\" already exists! Please, provide a unique name for the method.`);\n }\n if (methodDefinition.supportsStreaming) {\n return Promise.reject(`When you create methods with “glue.interop.register()” or “glue.interop.registerAsync()” the property “supportsStreaming” cannot be “true”. If you want “${methodDefinition.name}” to be a stream, please use the “glue.interop.createStream()” method.`);\n }\n const repoMethod = this.serverRepository.add({\n definition: methodDefinition,\n theFunction,\n protocolState: {},\n });\n return this.protocol.server.register(repoMethod)\n .catch((err) => {\n if (repoMethod?.repoId) {\n this.serverRepository.remove(repoMethod.repoId);\n }\n throw err;\n });\n }\n onMethodInvoked(methodToExecute, invocationId, invocationArgs) {\n if (!methodToExecute || !methodToExecute.theFunction) {\n return;\n }\n methodToExecute.theFunction(invocationArgs, (err, result) => {\n if (err !== undefined && err !== null) {\n if (err.message && typeof err.message === \"string\") {\n err = err.message;\n }\n else if (typeof err !== \"string\") {\n try {\n err = JSON.stringify(err);\n }\n catch (unStrException) {\n err = `un-stringifyable error in onMethodInvoked! Top level prop names: ${Object.keys(err)}`;\n }\n }\n }\n if (!result) {\n result = {};\n }\n else if (typeof result !== \"object\" || Array.isArray(result)) {\n result = { _value: result };\n }\n this.protocol.server.methodInvocationResult(methodToExecute, invocationId, err, result);\n });\n }\n}\n\nclass InstanceWrapper {\n wrapped = {};\n constructor(API, instance, connection) {\n this.wrapped.getMethods = function () {\n return API.methodsForInstance(this);\n };\n this.wrapped.getStreams = function () {\n return API.methodsForInstance(this).filter((m) => m.supportsStreaming);\n };\n if (instance) {\n this.refreshWrappedObject(instance);\n }\n if (connection) {\n connection.loggedIn(() => {\n this.refresh(connection);\n });\n this.refresh(connection);\n }\n }\n unwrap() {\n return this.wrapped;\n }\n refresh(connection) {\n if (!connection) {\n return;\n }\n const resolvedIdentity = connection?.resolvedIdentity;\n const instance = Object.assign({}, resolvedIdentity ?? {}, { peerId: connection?.peerId });\n this.refreshWrappedObject(instance);\n }\n refreshWrappedObject(resolvedIdentity) {\n Object.keys(resolvedIdentity).forEach((key) => {\n this.wrapped[key] = resolvedIdentity[key];\n });\n this.wrapped.user = resolvedIdentity.user;\n this.wrapped.instance = resolvedIdentity.instance;\n this.wrapped.application = resolvedIdentity.application ?? nanoid(10);\n this.wrapped.applicationName = resolvedIdentity.applicationName;\n this.wrapped.pid = resolvedIdentity.pid ?? resolvedIdentity.process ?? Math.floor(Math.random() * 10000000000);\n this.wrapped.machine = resolvedIdentity.machine;\n this.wrapped.environment = resolvedIdentity.environment;\n this.wrapped.region = resolvedIdentity.region;\n this.wrapped.windowId = resolvedIdentity.windowId;\n this.wrapped.isLocal = resolvedIdentity.isLocal ?? true;\n this.wrapped.api = resolvedIdentity.api;\n this.wrapped.service = resolvedIdentity.service;\n this.wrapped.peerId = resolvedIdentity.peerId;\n }\n}\n\nconst hideMethodSystemFlags = (method) => {\n return {\n ...method,\n flags: method.flags.metadata || {}\n };\n};\nclass ClientRepository {\n logger;\n API;\n servers = {};\n myServer;\n methodsCount = {};\n callbacks = CallbackRegistryFactory();\n constructor(logger, API) {\n this.logger = logger;\n this.API = API;\n const peerId = this.API.instance.peerId;\n this.myServer = {\n id: peerId,\n methods: {},\n instance: this.API.instance,\n wrapper: this.API.unwrappedInstance,\n };\n this.servers[peerId] = this.myServer;\n }\n addServer(info, serverId) {\n this.logger.debug(`adding server ${serverId}`);\n const current = this.servers[serverId];\n if (current) {\n return current.id;\n }\n const wrapper = new InstanceWrapper(this.API, info);\n const serverEntry = {\n id: serverId,\n methods: {},\n instance: wrapper.unwrap(),\n wrapper,\n };\n this.servers[serverId] = serverEntry;\n this.callbacks.execute(\"onServerAdded\", serverEntry.instance);\n return serverId;\n }\n removeServerById(id, reason) {\n const server = this.servers[id];\n if (!server) {\n this.logger.warn(`not aware of server ${id}, my state ${JSON.stringify(Object.keys(this.servers))}`);\n return;\n }\n else {\n this.logger.debug(`removing server ${id}`);\n }\n Object.keys(server.methods).forEach((methodId) => {\n this.removeServerMethod(id, methodId);\n });\n delete this.servers[id];\n this.callbacks.execute(\"onServerRemoved\", server.instance, reason);\n }\n addServerMethod(serverId, method) {\n const server = this.servers[serverId];\n if (!server) {\n throw new Error(\"server does not exists\");\n }\n if (server.methods[method.id]) {\n return;\n }\n const identifier = this.createMethodIdentifier(method);\n const that = this;\n const methodDefinition = {\n identifier,\n gatewayId: method.id,\n name: method.name,\n displayName: method.display_name,\n description: method.description,\n version: method.version,\n objectTypes: method.object_types || [],\n accepts: method.input_signature,\n returns: method.result_signature,\n supportsStreaming: typeof method.flags !== \"undefined\" ? method.flags.streaming : false,\n flags: method.flags ?? {},\n getServers: () => {\n return that.getServersByMethod(identifier);\n }\n };\n methodDefinition.object_types = methodDefinition.objectTypes;\n methodDefinition.display_name = methodDefinition.displayName;\n methodDefinition.version = methodDefinition.version;\n server.methods[method.id] = methodDefinition;\n const clientMethodDefinition = hideMethodSystemFlags(methodDefinition);\n if (!this.methodsCount[identifier]) {\n this.methodsCount[identifier] = 0;\n this.callbacks.execute(\"onMethodAdded\", clientMethodDefinition);\n }\n this.methodsCount[identifier] = this.methodsCount[identifier] + 1;\n this.callbacks.execute(\"onServerMethodAdded\", server.instance, clientMethodDefinition);\n return methodDefinition;\n }\n removeServerMethod(serverId, methodId) {\n const server = this.servers[serverId];\n if (!server) {\n throw new Error(\"server does not exists\");\n }\n const method = server.methods[methodId];\n delete server.methods[methodId];\n const clientMethodDefinition = hideMethodSystemFlags(method);\n this.methodsCount[method.identifier] = this.methodsCount[method.identifier] - 1;\n if (this.methodsCount[method.identifier] === 0) {\n this.callbacks.execute(\"onMethodRemoved\", clientMethodDefinition);\n }\n this.callbacks.execute(\"onServerMethodRemoved\", server.instance, clientMethodDefinition);\n }\n getMethods() {\n return this.extractMethodsFromServers(Object.values(this.servers)).map(hideMethodSystemFlags);\n }\n getServers() {\n return Object.values(this.servers).map(this.hideServerMethodSystemFlags);\n }\n onServerAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerAdded\", callback);\n const serversWithMethodsToReplay = this.getServers().map((s) => s.instance);\n return this.returnUnsubWithDelayedReplay(unsubscribeFunc, serversWithMethodsToReplay, callback);\n }\n onMethodAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onMethodAdded\", callback);\n const methodsToReplay = this.getMethods();\n return this.returnUnsubWithDelayedReplay(unsubscribeFunc, methodsToReplay, callback);\n }\n onServerMethodAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerMethodAdded\", callback);\n let unsubCalled = false;\n const servers = this.getServers();\n setTimeout(() => {\n servers.forEach((server) => {\n const methods = server.methods;\n Object.keys(methods).forEach((methodId) => {\n if (!unsubCalled) {\n callback(server.instance, methods[methodId]);\n }\n });\n });\n }, 0);\n return () => {\n unsubCalled = true;\n unsubscribeFunc();\n };\n }\n onMethodRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onMethodRemoved\", callback);\n return unsubscribeFunc;\n }\n onServerRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerRemoved\", callback);\n return unsubscribeFunc;\n }\n onServerMethodRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerMethodRemoved\", callback);\n return unsubscribeFunc;\n }\n getServerById(id) {\n const server = this.servers[id];\n if (!server) {\n return undefined;\n }\n return this.hideServerMethodSystemFlags(this.servers[id]);\n }\n reset() {\n Object.keys(this.servers).forEach((key) => {\n this.removeServerById(key, \"reset\");\n });\n this.servers = {\n [this.myServer.id]: this.myServer\n };\n this.methodsCount = {};\n }\n createMethodIdentifier(methodInfo) {\n const accepts = methodInfo.input_signature ?? \"\";\n const returns = methodInfo.result_signature ?? \"\";\n return (methodInfo.name + accepts + returns).toLowerCase();\n }\n getServersByMethod(identifier) {\n const allServers = [];\n Object.values(this.servers).forEach((server) => {\n Object.values(server.methods).forEach((method) => {\n if (method.identifier === identifier) {\n allServers.push(server.instance);\n }\n });\n });\n return allServers;\n }\n returnUnsubWithDelayedReplay(unsubscribeFunc, collectionToReplay, callback) {\n let unsubCalled = false;\n setTimeout(() => {\n collectionToReplay.forEach((item) => {\n if (!unsubCalled) {\n callback(item);\n }\n });\n }, 0);\n return () => {\n unsubCalled = true;\n unsubscribeFunc();\n };\n }\n hideServerMethodSystemFlags(server) {\n const clientMethods = {};\n Object.entries(server.methods).forEach(([name, method]) => {\n clientMethods[name] = hideMethodSystemFlags(method);\n });\n return {\n ...server,\n methods: clientMethods\n };\n }\n extractMethodsFromServers(servers) {\n const methods = Object.values(servers).reduce((clientMethods, server) => {\n return [...clientMethods, ...Object.values(server.methods)];\n }, []);\n return methods;\n }\n}\n\nclass ServerRepository {\n nextId = 0;\n methods = [];\n add(method) {\n method.repoId = String(this.nextId);\n this.nextId += 1;\n this.methods.push(method);\n return method;\n }\n remove(repoId) {\n if (typeof repoId !== \"string\") {\n return new TypeError(\"Expecting a string\");\n }\n this.methods = this.methods.filter((m) => {\n return m.repoId !== repoId;\n });\n }\n getById(id) {\n if (typeof id !== \"string\") {\n return undefined;\n }\n return this.methods.find((m) => {\n return m.repoId === id;\n });\n }\n getList() {\n return this.methods.map((m) => m);\n }\n length() {\n return this.methods.length;\n }\n reset() {\n this.methods = [];\n }\n}\n\nconst SUBSCRIPTION_REQUEST = \"onSubscriptionRequest\";\nconst SUBSCRIPTION_ADDED = \"onSubscriptionAdded\";\nconst SUBSCRIPTION_REMOVED = \"onSubscriptionRemoved\";\nclass ServerStreaming {\n session;\n repository;\n serverRepository;\n ERR_URI_SUBSCRIPTION_FAILED = \"com.tick42.agm.errors.subscription.failure\";\n callbacks = CallbackRegistryFactory();\n nextStreamId = 0;\n constructor(session, repository, serverRepository) {\n this.session = session;\n this.repository = repository;\n this.serverRepository = serverRepository;\n session.on(\"add-interest\", (msg) => {\n this.handleAddInterest(msg);\n });\n session.on(\"remove-interest\", (msg) => {\n this.handleRemoveInterest(msg);\n });\n }\n acceptRequestOnBranch(requestContext, streamingMethod, branch) {\n if (typeof branch !== \"string\") {\n branch = \"\";\n }\n if (typeof streamingMethod.protocolState.subscriptionsMap !== \"object\") {\n throw new TypeError(\"The streaming method is missing its subscriptions.\");\n }\n if (!Array.isArray(streamingMethod.protocolState.branchKeyToStreamIdMap)) {\n throw new TypeError(\"The streaming method is missing its branches.\");\n }\n const streamId = this.getStreamId(streamingMethod, branch);\n const key = requestContext.msg.subscription_id;\n const subscription = {\n id: key,\n arguments: requestContext.arguments,\n instance: requestContext.instance,\n branchKey: branch,\n streamId,\n subscribeMsg: requestContext.msg,\n };\n streamingMethod.protocolState.subscriptionsMap[key] = subscription;\n this.session.sendFireAndForget({\n type: \"accepted\",\n subscription_id: key,\n stream_id: streamId,\n });\n this.callbacks.execute(SUBSCRIPTION_ADDED, subscription, streamingMethod);\n }\n rejectRequest(requestContext, streamingMethod, reason) {\n if (typeof reason !== \"string\") {\n reason = \"\";\n }\n this.sendSubscriptionFailed(\"Subscription rejected by user. \" + reason, requestContext.msg.subscription_id);\n }\n pushData(streamingMethod, data, branches) {\n if (typeof streamingMethod !== \"object\" || !Array.isArray(streamingMethod.protocolState.branchKeyToStreamIdMap)) {\n return;\n }\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n if (typeof branches === \"string\") {\n branches = [branches];\n }\n else if (!Array.isArray(branches) || branches.length <= 0) {\n branches = [];\n }\n const streamIdList = streamingMethod.protocolState.branchKeyToStreamIdMap\n .filter((br) => {\n if (!branches || branches.length === 0) {\n return true;\n }\n return branches.indexOf(br.key) >= 0;\n }).map((br) => {\n return br.streamId;\n });\n streamIdList.forEach((streamId) => {\n const publishMessage = {\n type: \"publish\",\n stream_id: streamId,\n data,\n };\n this.session.sendFireAndForget(publishMessage);\n });\n }\n pushDataToSingle(method, subscription, data) {\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n const postMessage = {\n type: \"post\",\n subscription_id: subscription.id,\n data,\n };\n this.session.sendFireAndForget(postMessage);\n }\n closeSingleSubscription(streamingMethod, subscription) {\n if (streamingMethod.protocolState.subscriptionsMap) {\n delete streamingMethod.protocolState.subscriptionsMap[subscription.id];\n }\n const dropSubscriptionMessage = {\n type: \"drop-subscription\",\n subscription_id: subscription.id,\n reason: \"Server dropping a single subscription\",\n };\n this.session.sendFireAndForget(dropSubscriptionMessage);\n subscription.instance;\n this.callbacks.execute(SUBSCRIPTION_REMOVED, subscription, streamingMethod);\n }\n closeMultipleSubscriptions(streamingMethod, branchKey) {\n if (typeof streamingMethod !== \"object\" || typeof streamingMethod.protocolState.subscriptionsMap !== \"object\") {\n return;\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return;\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n let subscriptionsToClose = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n if (typeof branchKey === \"string\") {\n subscriptionsToClose = subscriptionsToClose.filter((sub) => {\n return sub.branchKey === branchKey;\n });\n }\n subscriptionsToClose.forEach((subscription) => {\n delete subscriptionsMap[subscription.id];\n const drop = {\n type: \"drop-subscription\",\n subscription_id: subscription.id,\n reason: \"Server dropping all subscriptions on stream_id: \" + subscription.streamId,\n };\n this.session.sendFireAndForget(drop);\n });\n }\n getSubscriptionList(streamingMethod, branchKey) {\n if (typeof streamingMethod !== \"object\") {\n return [];\n }\n let subscriptions = [];\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return [];\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n const allSubscriptions = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n if (typeof branchKey !== \"string\") {\n subscriptions = allSubscriptions;\n }\n else {\n subscriptions = allSubscriptions.filter((sub) => {\n return sub.branchKey === branchKey;\n });\n }\n return subscriptions;\n }\n getBranchList(streamingMethod) {\n if (typeof streamingMethod !== \"object\") {\n return [];\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return [];\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n const allSubscriptions = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n const result = [];\n allSubscriptions.forEach((sub) => {\n let branch = \"\";\n if (typeof sub === \"object\" && typeof sub.branchKey === \"string\") {\n branch = sub.branchKey;\n }\n if (result.indexOf(branch) === -1) {\n result.push(branch);\n }\n });\n return result;\n }\n onSubAdded(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_ADDED, callback);\n }\n onSubRequest(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_REQUEST, callback);\n }\n onSubRemoved(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_REMOVED, callback);\n }\n handleRemoveInterest(msg) {\n const streamingMethod = this.serverRepository.getById(msg.method_id);\n if (typeof msg.subscription_id !== \"string\" ||\n typeof streamingMethod !== \"object\") {\n return;\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return;\n }\n if (typeof streamingMethod.protocolState.subscriptionsMap[msg.subscription_id] !== \"object\") {\n return;\n }\n const subscription = streamingMethod.protocolState.subscriptionsMap[msg.subscription_id];\n delete streamingMethod.protocolState.subscriptionsMap[msg.subscription_id];\n this.callbacks.execute(SUBSCRIPTION_REMOVED, subscription, streamingMethod);\n }\n onSubscriptionLifetimeEvent(eventName, handlerFunc) {\n this.callbacks.add(eventName, handlerFunc);\n }\n getNextStreamId() {\n return this.nextStreamId++ + \"\";\n }\n handleAddInterest(msg) {\n const caller = this.repository.getServerById(msg.caller_id);\n const instance = caller?.instance ?? {};\n const requestContext = {\n msg,\n arguments: msg.arguments_kv || {},\n instance,\n };\n const streamingMethod = this.serverRepository.getById(msg.method_id);\n if (streamingMethod === undefined) {\n const errorMsg = \"No method with id \" + msg.method_id + \" on this server.\";\n this.sendSubscriptionFailed(errorMsg, msg.subscription_id);\n return;\n }\n if (streamingMethod.protocolState.subscriptionsMap &&\n streamingMethod.protocolState.subscriptionsMap[msg.subscription_id]) {\n this.sendSubscriptionFailed(\"A subscription with id \" + msg.subscription_id + \" already exists.\", msg.subscription_id);\n return;\n }\n this.callbacks.execute(SUBSCRIPTION_REQUEST, requestContext, streamingMethod);\n }\n sendSubscriptionFailed(reason, subscriptionId) {\n const errorMessage = {\n type: \"error\",\n reason_uri: this.ERR_URI_SUBSCRIPTION_FAILED,\n reason,\n request_id: subscriptionId,\n };\n this.session.sendFireAndForget(errorMessage);\n }\n getStreamId(streamingMethod, branchKey) {\n if (typeof branchKey !== \"string\") {\n branchKey = \"\";\n }\n if (!streamingMethod.protocolState.branchKeyToStreamIdMap) {\n throw new Error(`streaming ${streamingMethod.definition.name} method without protocol state`);\n }\n const needleBranch = streamingMethod.protocolState.branchKeyToStreamIdMap.filter((branch) => {\n return branch.key === branchKey;\n })[0];\n let streamId = (needleBranch ? needleBranch.streamId : undefined);\n if (typeof streamId !== \"string\" || streamId === \"\") {\n streamId = this.getNextStreamId();\n streamingMethod.protocolState.branchKeyToStreamIdMap.push({ key: branchKey, streamId });\n }\n return streamId;\n }\n}\n\nclass ServerProtocol {\n session;\n clientRepository;\n serverRepository;\n logger;\n callbacks = CallbackRegistryFactory();\n streaming;\n constructor(session, clientRepository, serverRepository, logger) {\n this.session = session;\n this.clientRepository = clientRepository;\n this.serverRepository = serverRepository;\n this.logger = logger;\n this.streaming = new ServerStreaming(session, clientRepository, serverRepository);\n this.session.on(\"invoke\", (msg) => this.handleInvokeMessage(msg));\n }\n createStream(repoMethod) {\n repoMethod.protocolState.subscriptionsMap = {};\n repoMethod.protocolState.branchKeyToStreamIdMap = [];\n return this.register(repoMethod, true);\n }\n register(repoMethod, isStreaming) {\n const methodDef = repoMethod.definition;\n const flags = Object.assign({}, { metadata: methodDef.flags ?? {} }, { streaming: isStreaming || false });\n const registerMsg = {\n type: \"register\",\n methods: [{\n id: repoMethod.repoId,\n name: methodDef.name,\n display_name: methodDef.displayName,\n description: methodDef.description,\n version: methodDef.version,\n flags,\n object_types: methodDef.objectTypes || methodDef.object_types,\n input_signature: methodDef.accepts,\n result_signature: methodDef.returns,\n restrictions: undefined,\n }],\n };\n return this.session.send(registerMsg, { methodId: repoMethod.repoId })\n .then(() => {\n this.logger.debug(\"registered method \" + repoMethod.definition.name + \" with id \" + repoMethod.repoId);\n })\n .catch((msg) => {\n this.logger.warn(`failed to register method ${repoMethod.definition.name} with id ${repoMethod.repoId} - ${JSON.stringify(msg)}`);\n throw msg;\n });\n }\n onInvoked(callback) {\n this.callbacks.add(\"onInvoked\", callback);\n }\n methodInvocationResult(method, invocationId, err, result) {\n let msg;\n if (err || err === \"\") {\n msg = {\n type: \"error\",\n request_id: invocationId,\n reason_uri: \"agm.errors.client_error\",\n reason: err,\n context: result,\n peer_id: undefined,\n };\n }\n else {\n msg = {\n type: \"yield\",\n invocation_id: invocationId,\n peer_id: this.session.peerId,\n result,\n request_id: undefined,\n };\n }\n this.session.sendFireAndForget(msg);\n }\n async unregister(method) {\n const msg = {\n type: \"unregister\",\n methods: [method.repoId],\n };\n await this.session.send(msg);\n }\n getBranchList(method) {\n return this.streaming.getBranchList(method);\n }\n getSubscriptionList(method, branchKey) {\n return this.streaming.getSubscriptionList(method, branchKey);\n }\n closeAllSubscriptions(method, branchKey) {\n this.streaming.closeMultipleSubscriptions(method, branchKey);\n }\n pushData(method, data, branches) {\n this.streaming.pushData(method, data, branches);\n }\n pushDataToSingle(method, subscription, data) {\n this.streaming.pushDataToSingle(method, subscription, data);\n }\n closeSingleSubscription(method, subscription) {\n this.streaming.closeSingleSubscription(method, subscription);\n }\n acceptRequestOnBranch(requestContext, method, branch) {\n this.streaming.acceptRequestOnBranch(requestContext, method, branch);\n }\n rejectRequest(requestContext, method, reason) {\n this.streaming.rejectRequest(requestContext, method, reason);\n }\n onSubRequest(callback) {\n this.streaming.onSubRequest(callback);\n }\n onSubAdded(callback) {\n this.streaming.onSubAdded(callback);\n }\n onSubRemoved(callback) {\n this.streaming.onSubRemoved(callback);\n }\n handleInvokeMessage(msg) {\n const invocationId = msg.invocation_id;\n const callerId = msg.caller_id;\n const methodId = msg.method_id;\n const args = msg.arguments_kv;\n const methodList = this.serverRepository.getList();\n const method = methodList.filter((m) => {\n return m.repoId === methodId;\n })[0];\n if (method === undefined) {\n return;\n }\n const client = this.clientRepository.getServerById(callerId)?.instance;\n const invocationArgs = { args, instance: client };\n this.callbacks.execute(\"onInvoked\", method, invocationId, invocationArgs);\n }\n}\n\nclass UserSubscription {\n repository;\n subscriptionData;\n get requestArguments() {\n return this.subscriptionData.params.arguments || {};\n }\n get servers() {\n return this.subscriptionData.trackedServers.reduce((servers, pair) => {\n if (pair.subscriptionId) {\n const server = this.repository.getServerById(pair.serverId)?.instance;\n if (server) {\n servers.push(server);\n }\n }\n return servers;\n }, []);\n }\n get serverInstance() {\n return this.servers[0];\n }\n get stream() {\n return this.subscriptionData.method;\n }\n constructor(repository, subscriptionData) {\n this.repository = repository;\n this.subscriptionData = subscriptionData;\n }\n onData(dataCallback) {\n if (typeof dataCallback !== \"function\") {\n throw new TypeError(\"The data callback must be a function.\");\n }\n this.subscriptionData.handlers.onData.push(dataCallback);\n if (this.subscriptionData.handlers.onData.length === 1 && this.subscriptionData.queued.data.length > 0) {\n this.subscriptionData.queued.data.forEach((dataItem) => {\n dataCallback(dataItem);\n });\n }\n }\n onClosed(closedCallback) {\n if (typeof closedCallback !== \"function\") {\n throw new TypeError(\"The callback must be a function.\");\n }\n this.subscriptionData.handlers.onClosed.push(closedCallback);\n }\n onFailed(callback) {\n }\n onConnected(callback) {\n if (typeof callback !== \"function\") {\n throw new TypeError(\"The callback must be a function.\");\n }\n this.subscriptionData.handlers.onConnected.push(callback);\n }\n close() {\n this.subscriptionData.close();\n }\n setNewSubscription(newSub) {\n this.subscriptionData = newSub;\n }\n}\n\nclass TimedCache {\n config;\n cache = [];\n timeoutIds = [];\n constructor(config) {\n this.config = config;\n }\n add(element) {\n const id = nanoid(10);\n this.cache.push({ id, element });\n const timeoutId = setTimeout(() => {\n const elementIdx = this.cache.findIndex((entry) => entry.id === id);\n if (elementIdx < 0) {\n return;\n }\n this.cache.splice(elementIdx, 1);\n }, this.config.ELEMENT_TTL_MS);\n this.timeoutIds.push(timeoutId);\n }\n flush() {\n const elements = this.cache.map((entry) => entry.element);\n this.timeoutIds.forEach((id) => clearInterval(id));\n this.cache = [];\n this.timeoutIds = [];\n return elements;\n }\n}\n\nconst STATUS_AWAITING_ACCEPT = \"awaitingAccept\";\nconst STATUS_SUBSCRIBED = \"subscribed\";\nconst ERR_MSG_SUB_FAILED = \"Subscription failed.\";\nconst ERR_MSG_SUB_REJECTED = \"Subscription rejected.\";\nconst ON_CLOSE_MSG_SERVER_INIT = \"ServerInitiated\";\nconst ON_CLOSE_MSG_CLIENT_INIT = \"ClientInitiated\";\nclass ClientStreaming {\n session;\n repository;\n logger;\n subscriptionsList = {};\n timedCache = new TimedCache({ ELEMENT_TTL_MS: 10000 });\n subscriptionIdToLocalKeyMap = {};\n nextSubLocalKey = 0;\n constructor(session, repository, logger) {\n this.session = session;\n this.repository = repository;\n this.logger = logger;\n session.on(\"subscribed\", this.handleSubscribed);\n session.on(\"event\", this.handleEventData);\n session.on(\"subscription-cancelled\", this.handleSubscriptionCancelled);\n }\n subscribe(streamingMethod, params, targetServers, success, error, existingSub) {\n if (targetServers.length === 0) {\n error({\n method: streamingMethod,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" No available servers matched the target params.\",\n });\n return;\n }\n const subLocalKey = this.getNextSubscriptionLocalKey();\n const pendingSub = this.registerSubscription(subLocalKey, streamingMethod, params, success, error, params.methodResponseTimeout || 10000, existingSub);\n if (typeof pendingSub !== \"object\") {\n error({\n method: streamingMethod,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" Unable to register the user callbacks.\",\n });\n return;\n }\n targetServers.forEach((target) => {\n const serverId = target.server.id;\n const method = target.methods.find((m) => m.name === streamingMethod.name);\n if (!method) {\n this.logger.error(`can not find method ${streamingMethod.name} for target ${target.server.id}`);\n return;\n }\n pendingSub.trackedServers.push({\n serverId,\n subscriptionId: undefined,\n });\n const msg = {\n type: \"subscribe\",\n server_id: serverId,\n method_id: method.gatewayId,\n arguments_kv: params.arguments,\n };\n this.session.send(msg, { serverId, subLocalKey })\n .then((m) => this.handleSubscribed(m))\n .catch((err) => this.handleErrorSubscribing(err));\n });\n }\n drainSubscriptions() {\n const existing = Object.values(this.subscriptionsList);\n this.subscriptionsList = {};\n this.subscriptionIdToLocalKeyMap = {};\n return existing;\n }\n drainSubscriptionsCache() {\n return this.timedCache.flush();\n }\n getNextSubscriptionLocalKey() {\n const current = this.nextSubLocalKey;\n this.nextSubLocalKey += 1;\n return current;\n }\n registerSubscription(subLocalKey, method, params, success, error, timeout, existingSub) {\n const subsInfo = {\n localKey: subLocalKey,\n status: STATUS_AWAITING_ACCEPT,\n method,\n params,\n success,\n error,\n trackedServers: [],\n handlers: {\n onData: existingSub?.handlers.onData || [],\n onClosed: existingSub?.handlers.onClosed || [],\n onConnected: existingSub?.handlers.onConnected || [],\n },\n queued: {\n data: [],\n closers: [],\n },\n timeoutId: undefined,\n close: () => this.closeSubscription(subLocalKey),\n subscription: existingSub?.subscription\n };\n if (!existingSub) {\n if (params.onData) {\n subsInfo.handlers.onData.push(params.onData);\n }\n if (params.onClosed) {\n subsInfo.handlers.onClosed.push(params.onClosed);\n }\n if (params.onConnected) {\n subsInfo.handlers.onConnected.push(params.onConnected);\n }\n }\n this.subscriptionsList[subLocalKey] = subsInfo;\n subsInfo.timeoutId = setTimeout(() => {\n if (this.subscriptionsList[subLocalKey] === undefined) {\n return;\n }\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (pendingSub.status === STATUS_AWAITING_ACCEPT) {\n error({\n method,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" Subscription attempt timed out after \" + timeout + \" ms.\",\n });\n delete this.subscriptionsList[subLocalKey];\n }\n else if (pendingSub.status === STATUS_SUBSCRIBED && pendingSub.trackedServers.length > 0) {\n pendingSub.trackedServers = pendingSub.trackedServers.filter((server) => {\n return (typeof server.subscriptionId !== \"undefined\");\n });\n delete pendingSub.timeoutId;\n if (pendingSub.trackedServers.length <= 0) {\n this.callOnClosedHandlers(pendingSub);\n delete this.subscriptionsList[subLocalKey];\n }\n }\n }, timeout);\n return subsInfo;\n }\n handleErrorSubscribing = (errorResponse) => {\n const tag = errorResponse._tag;\n const subLocalKey = tag.subLocalKey;\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (typeof pendingSub !== \"object\") {\n return;\n }\n pendingSub.trackedServers = pendingSub.trackedServers.filter((server) => {\n return server.serverId !== tag.serverId;\n });\n if (pendingSub.trackedServers.length <= 0) {\n clearTimeout(pendingSub.timeoutId);\n if (pendingSub.status === STATUS_AWAITING_ACCEPT) {\n const reason = (typeof errorResponse.reason === \"string\" && errorResponse.reason !== \"\") ?\n ' Publisher said \"' + errorResponse.reason + '\".' :\n \" No reason given.\";\n const callArgs = typeof pendingSub.params.arguments === \"object\" ?\n JSON.stringify(pendingSub.params.arguments) :\n \"{}\";\n pendingSub.error({\n message: ERR_MSG_SUB_REJECTED + reason + \" Called with:\" + callArgs,\n called_with: pendingSub.params.arguments,\n method: pendingSub.method,\n });\n }\n else if (pendingSub.status === STATUS_SUBSCRIBED) {\n this.callOnClosedHandlers(pendingSub);\n }\n delete this.subscriptionsList[subLocalKey];\n }\n };\n handleSubscribed = (msg) => {\n const subLocalKey = msg._tag.subLocalKey;\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (typeof pendingSub !== \"object\") {\n return;\n }\n const serverId = msg._tag.serverId;\n const acceptingServer = pendingSub.trackedServers\n .filter((server) => {\n return server.serverId === serverId;\n })[0];\n if (typeof acceptingServer !== \"object\") {\n return;\n }\n acceptingServer.subscriptionId = msg.subscription_id;\n this.subscriptionIdToLocalKeyMap[msg.subscription_id] = subLocalKey;\n const isFirstResponse = (pendingSub.status === STATUS_AWAITING_ACCEPT);\n pendingSub.status = STATUS_SUBSCRIBED;\n if (isFirstResponse) {\n let reconnect = false;\n let sub = pendingSub.subscription;\n if (sub) {\n sub.setNewSubscription(pendingSub);\n pendingSub.success(sub);\n reconnect = true;\n }\n else {\n sub = new UserSubscription(this.repository, pendingSub);\n pendingSub.subscription = sub;\n pendingSub.success(sub);\n }\n for (const handler of pendingSub.handlers.onConnected) {\n try {\n handler(sub.serverInstance, reconnect);\n }\n catch (e) {\n }\n }\n }\n };\n handleEventData = (msg) => {\n const subLocalKey = this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n if (typeof subLocalKey === \"undefined\") {\n return;\n }\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n const trackedServersFound = subscription.trackedServers.filter((s) => {\n return s.subscriptionId === msg.subscription_id;\n });\n if (trackedServersFound.length !== 1) {\n return;\n }\n const isPrivateData = msg.oob;\n const sendingServerId = trackedServersFound[0].serverId;\n const server = this.repository.getServerById(sendingServerId);\n const receivedStreamData = () => {\n return {\n data: msg.data,\n server: server?.instance ?? {},\n requestArguments: subscription.params.arguments,\n message: undefined,\n private: isPrivateData,\n };\n };\n const onDataHandlers = subscription.handlers.onData;\n const queuedData = subscription.queued.data;\n if (onDataHandlers.length > 0) {\n onDataHandlers.forEach((callback) => {\n if (typeof callback === \"function\") {\n callback(receivedStreamData());\n }\n });\n }\n else {\n queuedData.push(receivedStreamData());\n }\n };\n handleSubscriptionCancelled = (msg) => {\n const subLocalKey = this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n if (typeof subLocalKey === \"undefined\") {\n return;\n }\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n const expectedNewLength = subscription.trackedServers.length - 1;\n subscription.trackedServers = subscription.trackedServers.filter((server) => {\n if (server.subscriptionId === msg.subscription_id) {\n subscription.queued.closers.push(server.serverId);\n return false;\n }\n else {\n return true;\n }\n });\n if (subscription.trackedServers.length !== expectedNewLength) {\n return;\n }\n if (subscription.trackedServers.length <= 0) {\n this.timedCache.add(subscription);\n clearTimeout(subscription.timeoutId);\n this.callOnClosedHandlers(subscription);\n delete this.subscriptionsList[subLocalKey];\n }\n delete this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n };\n callOnClosedHandlers(subscription, reason) {\n const closersCount = subscription.queued.closers.length;\n const closingServerId = (closersCount > 0) ? subscription.queued.closers[closersCount - 1] : null;\n let closingServer;\n if (closingServerId !== undefined && typeof closingServerId === \"string\") {\n closingServer = this.repository.getServerById(closingServerId)?.instance ?? {};\n }\n subscription.handlers.onClosed.forEach((callback) => {\n if (typeof callback !== \"function\") {\n return;\n }\n callback({\n message: reason || ON_CLOSE_MSG_SERVER_INIT,\n requestArguments: subscription.params.arguments || {},\n server: closingServer,\n stream: subscription.method,\n });\n });\n }\n closeSubscription(subLocalKey) {\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n subscription.trackedServers.forEach((server) => {\n if (typeof server.subscriptionId === \"undefined\") {\n return;\n }\n subscription.queued.closers.push(server.serverId);\n this.session.sendFireAndForget({\n type: \"unsubscribe\",\n subscription_id: server.subscriptionId,\n reason_uri: \"\",\n reason: ON_CLOSE_MSG_CLIENT_INIT,\n });\n delete this.subscriptionIdToLocalKeyMap[server.subscriptionId];\n });\n subscription.trackedServers = [];\n this.callOnClosedHandlers(subscription, ON_CLOSE_MSG_CLIENT_INIT);\n delete this.subscriptionsList[subLocalKey];\n }\n}\n\nclass ClientProtocol {\n session;\n repository;\n logger;\n streaming;\n constructor(session, repository, logger) {\n this.session = session;\n this.repository = repository;\n this.logger = logger;\n session.on(\"peer-added\", (msg) => this.handlePeerAdded(msg));\n session.on(\"peer-removed\", (msg) => this.handlePeerRemoved(msg));\n session.on(\"methods-added\", (msg) => this.handleMethodsAddedMessage(msg));\n session.on(\"methods-removed\", (msg) => this.handleMethodsRemovedMessage(msg));\n this.streaming = new ClientStreaming(session, repository, logger);\n }\n subscribe(stream, options, targetServers, success, error, existingSub) {\n this.streaming.subscribe(stream, options, targetServers, success, error, existingSub);\n }\n invoke(id, method, args, target) {\n const serverId = target.id;\n const methodId = method.gatewayId;\n const msg = {\n type: \"call\",\n server_id: serverId,\n method_id: methodId,\n arguments_kv: args,\n };\n return this.session.send(msg, { invocationId: id, serverId })\n .then((m) => this.handleResultMessage(m))\n .catch((err) => this.handleInvocationError(err));\n }\n drainSubscriptions() {\n return this.streaming.drainSubscriptions();\n }\n drainSubscriptionsCache() {\n return this.streaming.drainSubscriptionsCache();\n }\n handlePeerAdded(msg) {\n const newPeerId = msg.new_peer_id;\n const remoteId = msg.identity;\n const isLocal = msg.meta ? msg.meta.local : true;\n const pid = Number(remoteId.process);\n const serverInfo = {\n machine: remoteId.machine,\n pid: isNaN(pid) ? remoteId.process : pid,\n instance: remoteId.instance,\n application: remoteId.application,\n applicationName: remoteId.applicationName,\n environment: remoteId.environment,\n region: remoteId.region,\n user: remoteId.user,\n windowId: remoteId.windowId,\n peerId: newPeerId,\n api: remoteId.api,\n isLocal\n };\n this.repository.addServer(serverInfo, newPeerId);\n }\n handlePeerRemoved(msg) {\n const removedPeerId = msg.removed_id;\n const reason = msg.reason;\n this.repository.removeServerById(removedPeerId, reason);\n }\n handleMethodsAddedMessage(msg) {\n const serverId = msg.server_id;\n const methods = msg.methods;\n methods.forEach((method) => {\n this.repository.addServerMethod(serverId, method);\n });\n }\n handleMethodsRemovedMessage(msg) {\n const serverId = msg.server_id;\n const methodIdList = msg.methods;\n const server = this.repository.getServerById(serverId);\n if (server) {\n const serverMethodKeys = Object.keys(server.methods);\n serverMethodKeys.forEach((methodKey) => {\n const method = server.methods[methodKey];\n if (methodIdList.indexOf(method.gatewayId) > -1) {\n this.repository.removeServerMethod(serverId, methodKey);\n }\n });\n }\n }\n handleResultMessage(msg) {\n const invocationId = msg._tag.invocationId;\n const result = msg.result;\n const serverId = msg._tag.serverId;\n const server = this.repository.getServerById(serverId);\n return {\n invocationId,\n result,\n instance: server?.instance,\n status: InvokeStatus.Success,\n message: \"\"\n };\n }\n handleInvocationError(msg) {\n this.logger.debug(`handle invocation error ${JSON.stringify(msg)}`);\n if (\"_tag\" in msg) {\n const invocationId = msg._tag.invocationId;\n const serverId = msg._tag.serverId;\n const server = this.repository.getServerById(serverId);\n const message = msg.reason;\n const context = msg.context;\n return {\n invocationId,\n result: context,\n instance: server?.instance,\n status: InvokeStatus.Error,\n message\n };\n }\n else {\n return {\n invocationId: \"\",\n message: msg.message,\n status: InvokeStatus.Error,\n error: msg\n };\n }\n }\n}\n\nfunction gW3ProtocolFactory (instance, connection, clientRepository, serverRepository, libConfig, interop) {\n const logger = libConfig.logger.subLogger(\"gw3-protocol\");\n let resolveReadyPromise;\n const readyPromise = new Promise((resolve) => {\n resolveReadyPromise = resolve;\n });\n const session = connection.domain(\"agm\", [\"subscribed\"]);\n const server = new ServerProtocol(session, clientRepository, serverRepository, logger.subLogger(\"server\"));\n const client = new ClientProtocol(session, clientRepository, logger.subLogger(\"client\"));\n async function handleReconnect() {\n logger.info(\"reconnected - will replay registered methods and subscriptions\");\n client.drainSubscriptionsCache().forEach((sub) => {\n const methodInfo = sub.method;\n const params = Object.assign({}, sub.params);\n logger.info(`trying to soft-re-subscribe to method ${methodInfo.name}, with params: ${JSON.stringify(params)}`);\n interop.client.subscribe(methodInfo, params, undefined, undefined, sub).then(() => logger.info(`soft-subscribing to method ${methodInfo.name} DONE`)).catch((error) => logger.warn(`subscribing to method ${methodInfo.name} failed: ${JSON.stringify(error)}}`));\n });\n const reconnectionPromises = [];\n const existingSubscriptions = client.drainSubscriptions();\n for (const sub of existingSubscriptions) {\n const methodInfo = sub.method;\n const params = Object.assign({}, sub.params);\n logger.info(`trying to re-subscribe to method ${methodInfo.name}, with params: ${JSON.stringify(params)}`);\n reconnectionPromises.push(interop.client.subscribe(methodInfo, params, undefined, undefined, sub).then(() => logger.info(`subscribing to method ${methodInfo.name} DONE`)));\n }\n const registeredMethods = serverRepository.getList();\n serverRepository.reset();\n for (const method of registeredMethods) {\n const def = method.definition;\n if (method.stream) {\n reconnectionPromises.push(interop.server.createStream(def, method.streamCallbacks, undefined, undefined, method.stream)\n .then(() => logger.info(`subscribing to method ${def.name} DONE`))\n .catch(() => logger.warn(`subscribing to method ${def.name} FAILED`)));\n }\n else if (method?.theFunction?.userCallback) {\n reconnectionPromises.push(interop.register(def, method.theFunction.userCallback)\n .then(() => logger.info(`registering method ${def.name} DONE`))\n .catch(() => logger.warn(`registering method ${def.name} FAILED`)));\n }\n else if (method?.theFunction?.userCallbackAsync) {\n reconnectionPromises.push(interop.registerAsync(def, method.theFunction.userCallbackAsync)\n .then(() => logger.info(`registering method ${def.name} DONE`))\n .catch(() => logger.warn(`registering method ${def.name} FAILED`)));\n }\n }\n await Promise.all(reconnectionPromises);\n logger.info(\"Interop is re-announced\");\n }\n function handleInitialJoin() {\n if (resolveReadyPromise) {\n resolveReadyPromise({\n client,\n server,\n });\n resolveReadyPromise = undefined;\n }\n }\n session.onJoined((reconnect) => {\n clientRepository.addServer(instance, connection.peerId);\n if (reconnect) {\n handleReconnect().then(() => connection.setLibReAnnounced({ name: \"interop\" })).catch((error) => logger.warn(`Error while re-announcing interop: ${JSON.stringify(error)}`));\n }\n else {\n handleInitialJoin();\n }\n });\n session.onLeft(() => {\n clientRepository.reset();\n });\n session.join();\n return readyPromise;\n}\n\nclass Interop {\n instance;\n readyPromise;\n client;\n server;\n unwrappedInstance;\n protocol;\n clientRepository;\n serverRepository;\n constructor(configuration) {\n if (typeof configuration === \"undefined\") {\n throw new Error(\"configuration is required\");\n }\n if (typeof configuration.connection === \"undefined\") {\n throw new Error(\"configuration.connections is required\");\n }\n const connection = configuration.connection;\n if (typeof configuration.methodResponseTimeout !== \"number\") {\n configuration.methodResponseTimeout = 30 * 1000;\n }\n if (typeof configuration.waitTimeoutMs !== \"number\") {\n configuration.waitTimeoutMs = 30 * 1000;\n }\n this.unwrappedInstance = new InstanceWrapper(this, undefined, connection);\n this.instance = this.unwrappedInstance.unwrap();\n this.clientRepository = new ClientRepository(configuration.logger.subLogger(\"cRep\"), this);\n this.serverRepository = new ServerRepository();\n let protocolPromise;\n if (connection.protocolVersion === 3) {\n protocolPromise = gW3ProtocolFactory(this.instance, connection, this.clientRepository, this.serverRepository, configuration, this);\n }\n else {\n throw new Error(`protocol ${connection.protocolVersion} not supported`);\n }\n this.readyPromise = protocolPromise.then((protocol) => {\n this.protocol = protocol;\n this.client = new Client(this.protocol, this.clientRepository, this.instance, configuration);\n this.server = new Server(this.protocol, this.serverRepository);\n return this;\n });\n }\n ready() {\n return this.readyPromise;\n }\n serverRemoved(callback) {\n return this.client.serverRemoved(callback);\n }\n serverAdded(callback) {\n return this.client.serverAdded(callback);\n }\n serverMethodRemoved(callback) {\n return this.client.serverMethodRemoved(callback);\n }\n serverMethodAdded(callback) {\n return this.client.serverMethodAdded(callback);\n }\n methodRemoved(callback) {\n return this.client.methodRemoved(callback);\n }\n methodAdded(callback) {\n return this.client.methodAdded(callback);\n }\n methodsForInstance(instance) {\n return this.client.methodsForInstance(instance);\n }\n methods(methodFilter) {\n return this.client.methods(methodFilter);\n }\n servers(methodFilter) {\n return this.client.servers(methodFilter);\n }\n subscribe(method, options, successCallback, errorCallback) {\n return this.client.subscribe(method, options, successCallback, errorCallback);\n }\n createStream(streamDef, callbacks, successCallback, errorCallback) {\n return this.server.createStream(streamDef, callbacks, successCallback, errorCallback);\n }\n unregister(methodFilter) {\n return this.server.unregister(methodFilter);\n }\n registerAsync(methodDefinition, callback) {\n return this.server.registerAsync(methodDefinition, callback);\n }\n register(methodDefinition, callback) {\n return this.server.register(methodDefinition, callback);\n }\n invoke(methodFilter, argumentObj, target, additionalOptions, success, error) {\n return this.client.invoke(methodFilter, argumentObj, target, additionalOptions, success, error);\n }\n waitForMethod(name) {\n const pw = new PromiseWrapper();\n const unsubscribe = this.client.methodAdded((m) => {\n if (m.name === name) {\n unsubscribe();\n pw.resolve(m);\n }\n });\n return pw.promise;\n }\n}\n\nconst successMessages = [\"subscribed\", \"success\"];\nclass MessageBus {\n connection;\n logger;\n peerId;\n session;\n subscriptions;\n readyPromise;\n constructor(connection, logger) {\n this.connection = connection;\n this.logger = logger;\n this.peerId = connection.peerId;\n this.subscriptions = [];\n this.session = connection.domain(\"bus\", successMessages);\n this.readyPromise = this.session.join();\n this.readyPromise.then(() => {\n this.watchOnEvent();\n });\n }\n ready() {\n return this.readyPromise;\n }\n publish = (topic, data, options) => {\n const { routingKey, target } = options || {};\n const args = this.removeEmptyValues({\n type: \"publish\",\n topic,\n data,\n peer_id: this.peerId,\n routing_key: routingKey,\n target_identity: target\n });\n this.session.send(args);\n };\n subscribe = (topic, callback, options) => {\n return new Promise((resolve, reject) => {\n const { routingKey, target } = options || {};\n const args = this.removeEmptyValues({\n type: \"subscribe\",\n topic,\n peer_id: this.peerId,\n routing_key: routingKey,\n source: target\n });\n this.session.send(args)\n .then((response) => {\n const { subscription_id } = response;\n this.subscriptions.push({ subscription_id, topic, callback, source: target });\n resolve({\n unsubscribe: () => {\n this.session.send({ type: \"unsubscribe\", subscription_id, peer_id: this.peerId });\n this.subscriptions = this.subscriptions.filter((s) => s.subscription_id !== subscription_id);\n return Promise.resolve();\n }\n });\n })\n .catch((error) => reject(error));\n });\n };\n watchOnEvent = () => {\n this.session.on(\"event\", (args) => {\n const { data, subscription_id } = args;\n const source = args[\"publisher-identity\"];\n const subscription = this.subscriptions.find((s) => s.subscription_id === subscription_id);\n if (subscription) {\n if (!subscription.source) {\n subscription.callback(data, subscription.topic, source);\n }\n else {\n if (this.keysMatch(subscription.source, source)) {\n subscription.callback(data, subscription.topic, source);\n }\n }\n }\n });\n };\n removeEmptyValues(obj) {\n const cleaned = {};\n Object.keys(obj).forEach((key) => {\n if (obj[key] !== undefined && obj[key] !== null) {\n cleaned[key] = obj[key];\n }\n });\n return cleaned;\n }\n keysMatch(obj1, obj2) {\n const keysObj1 = Object.keys(obj1);\n let allMatch = true;\n keysObj1.forEach((key) => {\n if (obj1[key] !== obj2[key]) {\n allMatch = false;\n }\n });\n return allMatch;\n }\n}\n\nconst IOConnectCoreFactory = (userConfig, ext) => {\n const iodesktop = typeof window === \"object\" ? (window.iodesktop ?? window.glue42gd) : undefined;\n const preloadPromise = typeof window === \"object\" ? (window.gdPreloadPromise ?? Promise.resolve()) : Promise.resolve();\n const glueInitTimer = timer(\"glue\");\n userConfig = userConfig || {};\n ext = ext || {};\n const internalConfig = prepareConfig(userConfig, ext, iodesktop);\n let _connection;\n let _interop;\n let _logger;\n let _metrics;\n let _contexts;\n let _bus;\n let _allowTrace;\n const libs = {};\n function registerLib(name, inner, t) {\n _allowTrace = _logger.canPublish(\"trace\");\n if (_allowTrace) {\n _logger.trace(`registering ${name} module`);\n }\n const done = () => {\n inner.initTime = t.stop();\n inner.initEndTime = t.endTime;\n inner.marks = t.marks;\n if (_allowTrace) {\n _logger.trace(`${name} is ready - ${t.endTime - t.startTime}`);\n }\n };\n inner.initStartTime = t.startTime;\n if (inner.ready) {\n inner.ready().then(() => {\n done();\n });\n }\n else {\n done();\n }\n if (!Array.isArray(name)) {\n name = [name];\n }\n name.forEach((n) => {\n libs[n] = inner;\n IOConnectCoreFactory[n] = inner;\n });\n }\n function setupConnection() {\n const initTimer = timer(\"connection\");\n _connection = new Connection(internalConfig.connection, _logger.subLogger(\"connection\"));\n let authPromise = Promise.resolve(internalConfig.auth);\n if (internalConfig.connection && !internalConfig.auth) {\n if (iodesktop) {\n authPromise = iodesktop.getGWToken()\n .then((token) => {\n return {\n gatewayToken: token\n };\n });\n }\n else if (typeof window !== \"undefined\" && window?.glue42electron) {\n if (typeof window.glue42electron.gwToken === \"string\") {\n authPromise = Promise.resolve({\n gatewayToken: window.glue42electron.gwToken\n });\n }\n }\n else {\n authPromise = Promise.reject(\"You need to provide auth information\");\n }\n }\n return authPromise\n .then((authConfig) => {\n initTimer.mark(\"auth-promise-resolved\");\n let authRequest;\n if (Object.prototype.toString.call(authConfig) === \"[object Object]\") {\n authRequest = authConfig;\n }\n else {\n throw new Error(\"Invalid auth object - \" + JSON.stringify(authConfig));\n }\n return _connection.login(authRequest);\n })\n .then(() => {\n registerLib(\"connection\", _connection, initTimer);\n return internalConfig;\n })\n .catch((e) => {\n if (_connection) {\n _connection.logout();\n }\n throw e;\n });\n }\n function setupLogger() {\n const initTimer = timer(\"logger\");\n _logger = new Logger(`${internalConfig.connection.identity?.application}`, undefined, internalConfig.customLogger);\n _logger.consoleLevel(internalConfig.logger.console);\n _logger.publishLevel(internalConfig.logger.publish);\n if (_logger.canPublish(\"debug\")) {\n _logger.debug(\"initializing glue...\");\n }\n registerLib(\"logger\", _logger, initTimer);\n return Promise.resolve(undefined);\n }\n function setupMetrics() {\n const initTimer = timer(\"metrics\");\n const config = internalConfig.metrics;\n const metricsPublishingEnabledFunc = iodesktop?.getMetricsPublishingEnabled;\n const identity = internalConfig.connection.identity;\n const canUpdateMetric = metricsPublishingEnabledFunc ? metricsPublishingEnabledFunc : () => true;\n const disableAutoAppSystem = (typeof config !== \"boolean\" && config.disableAutoAppSystem) ?? false;\n _metrics = metrics({\n connection: config ? _connection : undefined,\n logger: _logger.subLogger(\"metrics\"),\n canUpdateMetric,\n system: \"Glue42\",\n service: identity?.service ?? iodesktop?.applicationName ?? internalConfig.application,\n instance: identity?.instance ?? identity?.windowId ?? nanoid(10),\n disableAutoAppSystem,\n pagePerformanceMetrics: typeof config !== \"boolean\" ? config?.pagePerformanceMetrics : undefined\n });\n registerLib(\"metrics\", _metrics, initTimer);\n return Promise.resolve();\n }\n function setupInterop() {\n const initTimer = timer(\"interop\");\n const agmConfig = {\n connection: _connection,\n logger: _logger.subLogger(\"interop\"),\n };\n _interop = new Interop(agmConfig);\n Logger.Interop = _interop;\n registerLib([\"interop\", \"agm\"], _interop, initTimer);\n return Promise.resolve();\n }\n function setupContexts() {\n const hasActivities = (internalConfig.activities && _connection.protocolVersion === 3);\n const needsContexts = internalConfig.contexts || hasActivities;\n if (needsContexts) {\n const initTimer = timer(\"contexts\");\n _contexts = new ContextsModule({\n connection: _connection,\n logger: _logger.subLogger(\"contexts\"),\n trackAllContexts: typeof internalConfig.contexts === \"object\" ? internalConfig.contexts.trackAllContexts : false,\n reAnnounceKnownContexts: typeof internalConfig.contexts === \"object\" ? internalConfig.contexts.reAnnounceKnownContexts : false\n });\n registerLib(\"contexts\", _contexts, initTimer);\n return _contexts;\n }\n else {\n const replayer = _connection.replayer;\n if (replayer) {\n replayer.drain(ContextMessageReplaySpec.name);\n }\n }\n }\n async function setupBus() {\n if (!internalConfig.bus) {\n return Promise.resolve();\n }\n const initTimer = timer(\"bus\");\n _bus = new MessageBus(_connection, _logger.subLogger(\"bus\"));\n registerLib(\"bus\", _bus, initTimer);\n return Promise.resolve();\n }\n function setupExternalLibs(externalLibs) {\n try {\n externalLibs.forEach((lib) => {\n setupExternalLib(lib.name, lib.create);\n });\n return Promise.resolve();\n }\n catch (e) {\n return Promise.reject(e);\n }\n }\n function setupExternalLib(name, createCallback) {\n const initTimer = timer(name);\n const lib = createCallback(libs);\n if (lib) {\n registerLib(name, lib, initTimer);\n }\n }\n function waitForLibs() {\n const libsReadyPromises = Object.keys(libs).map((key) => {\n const lib = libs[key];\n return lib.ready ?\n lib.ready() : Promise.resolve();\n });\n return Promise.all(libsReadyPromises);\n }\n function constructGlueObject() {\n const feedbackFunc = (feedbackInfo) => {\n if (!_interop) {\n return;\n }\n _interop.invoke(\"T42.ACS.Feedback\", feedbackInfo, \"best\");\n };\n const info = {\n coreVersion: version,\n version: internalConfig.version\n };\n glueInitTimer.stop();\n const glue = {\n feedback: feedbackFunc,\n info,\n logger: _logger,\n interop: _interop,\n agm: _interop,\n connection: _connection,\n metrics: _metrics,\n contexts: _contexts,\n bus: _bus,\n version: internalConfig.version,\n userConfig,\n done: () => {\n _logger?.info(\"done called by user...\");\n return _connection.logout();\n }\n };\n glue.performance = {\n get glueVer() {\n return internalConfig.version;\n },\n get glueConfig() {\n return JSON.stringify(userConfig);\n },\n get browser() {\n return window.performance.timing.toJSON();\n },\n get memory() {\n return window.performance.memory;\n },\n get initTimes() {\n const all = getAllTimers();\n return Object.keys(all).map((key) => {\n const t = all[key];\n return {\n name: key,\n duration: t.endTime - t.startTime,\n marks: t.marks,\n startTime: t.startTime,\n endTime: t.endTime\n };\n });\n }\n };\n Object.keys(libs).forEach((key) => {\n const lib = libs[key];\n glue[key] = lib;\n });\n glue.config = {};\n Object.keys(internalConfig).forEach((k) => {\n glue.config[k] = internalConfig[k];\n });\n if (ext && ext.extOptions) {\n Object.keys(ext.extOptions).forEach((k) => {\n glue.config[k] = ext?.extOptions[k];\n });\n }\n if (ext?.enrichGlue) {\n ext.enrichGlue(glue);\n }\n if (iodesktop && iodesktop.updatePerfData) {\n iodesktop.updatePerfData(glue.performance);\n }\n if (glue.agm) {\n const deprecatedDecorator = (fn, wrong, proper) => {\n return function () {\n glue.logger.warn(`glue.js - 'glue.agm.${wrong}' method is deprecated, use 'glue.interop.${proper}' instead.`);\n return fn.apply(glue.agm, arguments);\n };\n };\n const agmAny = glue.agm;\n agmAny.method_added = deprecatedDecorator(glue.agm.methodAdded, \"method_added\", \"methodAdded\");\n agmAny.method_removed = deprecatedDecorator(glue.agm.methodRemoved, \"method_removed\", \"methodRemoved\");\n agmAny.server_added = deprecatedDecorator(glue.agm.serverAdded, \"server_added\", \"serverAdded\");\n agmAny.server_method_aded = deprecatedDecorator(glue.agm.serverMethodAdded, \"server_method_aded\", \"serverMethodAdded\");\n agmAny.server_method_removed = deprecatedDecorator(glue.agm.serverMethodRemoved, \"server_method_removed\", \"serverMethodRemoved\");\n }\n return glue;\n }\n async function registerInstanceIfNeeded() {\n const RegisterInstanceMethodName = \"T42.ACS.RegisterInstance\";\n if (Utils.isNode() && typeof process.env._GD_STARTING_CONTEXT_ === \"undefined\" && typeof userConfig?.application !== \"undefined\") {\n const isMethodAvailable = _interop.methods({ name: RegisterInstanceMethodName }).length > 0;\n if (isMethodAvailable) {\n try {\n await _interop.invoke(RegisterInstanceMethodName, { appName: userConfig?.application, pid: process.pid });\n }\n catch (error) {\n const typedError = error;\n _logger.error(`Cannot register as an instance: ${JSON.stringify(typedError.message)}`);\n }\n }\n }\n }\n return preloadPromise\n .then(setupLogger)\n .then(setupConnection)\n .then(() => Promise.all([setupMetrics(), setupInterop(), setupContexts(), setupBus()]))\n .then(() => _interop.readyPromise)\n .then(() => registerInstanceIfNeeded())\n .then(() => {\n return setupExternalLibs(internalConfig.libs || []);\n })\n .then(waitForLibs)\n .then(constructGlueObject)\n .catch((err) => {\n return Promise.reject({\n err,\n libs\n });\n });\n};\nif (typeof window !== \"undefined\") {\n window.IOConnectCore = IOConnectCoreFactory;\n}\nIOConnectCoreFactory.version = version;\nIOConnectCoreFactory.default = IOConnectCoreFactory;\n\nexport { IOConnectCoreFactory as default };\n//# sourceMappingURL=core.es.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map",null,null,null,null,null,null,null,null,null,null,"let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export class PromiseWrapper {\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n resolve;\n reject;\n promise;\n rejected = false;\n resolved = false;\n get ended() {\n return this.rejected || this.resolved;\n }\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (t) => {\n this.resolved = true;\n resolve(t);\n };\n this.reject = (err) => {\n this.rejected = true;\n reject(err);\n };\n });\n }\n}\n//# sourceMappingURL=pw.js.map",null,null,null],"names":["getDefaultExportFromCjs","createRegistry","lib","CallbackRegistryFactory","Utils","PromiseWrapper","urlAlphabet","nanoid","PromisePlus","version","prepareConfig","GW3Bridge","promisify","Logger","util.isUndefinedOrNull","util.isString","util.isArray","util.isFunction","util.isUndefined","util.isObject","util.some","My","AgmNames.GetApplicationsMethodName","AgmNames.StartApplicationMethodName","AgmNames.StopApplicationMethodName","AgmNames.ActivateApplicationMethodName","AgmNames.ACSExecute","AgmNames.GetConfigurationRegionMethodName","AgmNames.GetBranchesMethodName","AgmNames.GetCurrentBranchMethodName","AgmNames.SetConfigurationRegionMethodName","AgmNames.SetCurrentBranchMethodName","AgmNames.GetUserMethodName","AgmNames.GetFunctionalEntitlementMethodName","AgmNames.CanIMethodName","AgmNames.ShutdownMethodName","AgmNames.RestartMethodName","AgmNames.OnEventMethodName","EventNames.OnApplicationAddedEvent","EventNames.OnApplicationChangedEvent","EventNames.OnApplicationRemovedEvent","EventNames.OnApplicationReadyEvent","EventNames.OnApplicationStartedEvent","EventNames.OnApplicationStartFailedEvent","EventNames.OnApplicationStoppedEvent","EventNames.OnApplicationUpdatedEvent","EventNames.OnApplicationAgmServerReadyEvent","EventNames.OnBranchChangedEvent","EventNames.OnBranchesModifiedEvent","subscriptionFactory","CallbackFactory","utils","util.isNullOrWhiteSpace","util.isNumber","GD","callbackRegistry","Layouts","factory","channels","hotkeys","themes","cookies","CoreFactory","CreateGlue"],"mappings":"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AI,CAAC,IAAI,CAAC;AACrC,MAAM,CAAC,OAAO,CAAC,EAAE;AACjB,KAAK,IAAI;AACT,OAAO,QAAQ,IAAI,GAAG,EAAE;AACxB,MAAM,CAAC,OAAO,CAAC,EAAE;AACjB;AACA,GAAG,OAAO,EAAE;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE;AAC3B,GAAG,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE;AAC3B,GAAG,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,WAAW,CAAC,KAAK,EAAE;AAC7B;AACA,GAAG,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1E,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,WAAW,CAAC,KAAK,EAAE;AAC7B,GAAG,OAAO,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,iBAAiB,CAAC,KAAK,EAAE;AACnC,GAAG,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,IAAI,QAAQ,GAAG,cAAc,IAAI,SAAS;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE;AAC5B;AACA;AACA,GAAG,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;AAC9D,GAAG,OAAO,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,MAAM;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC1B,GAAG,OAAO,OAAO,KAAK,IAAI,QAAQ;AAClC,KAAK,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,gBAAgB;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[22,33]}
|
|
1
|
+
{"version":3,"file":"desktop.es.js","sources":["../../core/dist/core.es.js","../src/activity/entities/activityEntity.ts","../src/activity/helpers/util.ts","../src/activity/entities/activityType.ts","../src/activity/entities/windowType.ts","../src/activity/contracts/entityEvent.ts","../src/activity/core/activityAGM.ts","../src/activity/entities/attachedActivityDescriptor.ts","../src/activity/helpers/promiseExtensions.ts","../src/activity/entities/activity.ts","../src/activity/helpers/logger.ts","../src/activity/entities/activityWindow.ts","../src/activity/contracts/activityStatus.ts","../src/activity/bridges/gw3Bridge.ts","../src/activity/API/activityMyAPI.ts","../src/activity/helpers/readyMarker.ts","../src/activity/helpers/entityObservableCollection.ts","../src/activity/core/activityManager.ts","../src/activity/API/activityManagementAPI.ts","../src/activity/API/activityAPI.ts","../src/activity/activityModule.ts","../src/app-manager/const/agm-names.ts","../../../node_modules/callback-registry/lib/index.js","../src/app-manager/helper.ts","../src/app-manager/application.ts","../src/app-manager/instance.ts","../src/app-manager/app-manager.ts","../src/app-manager/entitlements.ts","../src/app-manager/snapshot.ts","../src/app-manager/const/event-names.ts","../src/app-manager/data-subscription.ts","../src/app-manager/in-memory.ts","../src/app-manager/main.ts","../../../node_modules/nanoid/non-secure/index.js","../src/utils.ts","../src/windows/jumpList/manager.ts","../src/windows/store.ts","../src/windows/jumpList/actions.ts","../src/windows/jumpList/categories.ts","../src/windows/jumpList/main.ts","../src/windows/window.ts","../src/windows/environment/helpers.ts","../src/windows/environment/gd/executor.ts","../src/windows/environment/gd/gd.ts","../src/windows/environment/detector.ts","../src/windows/group.ts","../src/windows/groups.ts","../src/windows/main.ts","../src/layouts/store.ts","../src/layouts/contextProvider.ts","../src/layouts/transform.ts","../src/layouts/layout.ts","../src/layouts/layouts.ts","../src/layouts/stream/acsStream.ts","../src/layouts/stream/nullStream.ts","../src/layouts/main.ts","../src/displays/displayManager.ts","../src/channels/agm.ts","../src/channels/contexts.ts","../src/channels/helpers.ts","../src/channels/channels.ts","../src/channels/main.ts","../src/hotkeys/hotkeys.ts","../src/hotkeys/main.ts","../src/config.ts","../src/notifications/notification.ts","../src/notifications/panel.ts","../src/notifications/main.ts","../src/themes/themes.ts","../src/themes/main.ts","../src/intents/constants.ts","../src/intents/common.ts","../src/intents/helpers.ts","../src/intents/intents.ts","../src/factoryCallInfo.ts","../src/prefs/index.ts","../src/cookies/index.ts","../src/cookies/main.ts","../src/eventsDispatcher.ts","../../core/src/utils/pw.js","../src/interception/main.ts","../src/glue.ts","../src/index.ts"],"sourcesContent":["var MetricTypes = {\n STRING: 1,\n NUMBER: 2,\n TIMESTAMP: 3,\n OBJECT: 4\n};\n\nfunction getMetricTypeByValue(metric) {\n if (metric.type === MetricTypes.TIMESTAMP) {\n return \"timestamp\";\n }\n else if (metric.type === MetricTypes.NUMBER) {\n return \"number\";\n }\n else if (metric.type === MetricTypes.STRING) {\n return \"string\";\n }\n else if (metric.type === MetricTypes.OBJECT) {\n return \"object\";\n }\n return \"unknown\";\n}\nfunction getTypeByValue(value) {\n if (value.constructor === Date) {\n return \"timestamp\";\n }\n else if (typeof value === \"number\") {\n return \"number\";\n }\n else if (typeof value === \"string\") {\n return \"string\";\n }\n else if (typeof value === \"object\") {\n return \"object\";\n }\n else {\n return \"string\";\n }\n}\nfunction serializeMetric(metric) {\n const serializedMetrics = {};\n const type = getMetricTypeByValue(metric);\n if (type === \"object\") {\n const values = Object.keys(metric.value).reduce((memo, key) => {\n const innerType = getTypeByValue(metric.value[key]);\n if (innerType === \"object\") {\n const composite = defineNestedComposite(metric.value[key]);\n memo[key] = {\n type: \"object\",\n description: \"\",\n context: {},\n composite,\n };\n }\n else {\n memo[key] = {\n type: innerType,\n description: \"\",\n context: {},\n };\n }\n return memo;\n }, {});\n serializedMetrics.composite = values;\n }\n serializedMetrics.name = normalizeMetricName(metric.path.join(\"/\") + \"/\" + metric.name);\n serializedMetrics.type = type;\n serializedMetrics.description = metric.description;\n serializedMetrics.context = {};\n return serializedMetrics;\n}\nfunction defineNestedComposite(values) {\n return Object.keys(values).reduce((memo, key) => {\n const type = getTypeByValue(values[key]);\n if (type === \"object\") {\n memo[key] = {\n type: \"object\",\n description: \"\",\n context: {},\n composite: defineNestedComposite(values[key]),\n };\n }\n else {\n memo[key] = {\n type,\n description: \"\",\n context: {},\n };\n }\n return memo;\n }, {});\n}\nfunction normalizeMetricName(name) {\n if (typeof name !== \"undefined\" && name.length > 0 && name[0] !== \"/\") {\n return \"/\" + name;\n }\n else {\n return name;\n }\n}\nfunction getMetricValueByType(metric) {\n const type = getMetricTypeByValue(metric);\n if (type === \"timestamp\") {\n return Date.now();\n }\n else {\n return publishNestedComposite(metric.value);\n }\n}\nfunction publishNestedComposite(values) {\n if (typeof values !== \"object\") {\n return values;\n }\n return Object.keys(values).reduce((memo, key) => {\n const value = values[key];\n if (typeof value === \"object\" && value.constructor !== Date) {\n memo[key] = publishNestedComposite(value);\n }\n else if (value.constructor === Date) {\n memo[key] = new Date(value).getTime();\n }\n else if (value.constructor === Boolean) {\n memo[key] = value.toString();\n }\n else {\n memo[key] = value;\n }\n return memo;\n }, {});\n}\nfunction flatten(arr) {\n return arr.reduce((flat, toFlatten) => {\n return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);\n }, []);\n}\nfunction getHighestState(arr) {\n return arr.sort((a, b) => {\n if (!a.state) {\n return 1;\n }\n if (!b.state) {\n return -1;\n }\n return b.state - a.state;\n })[0];\n}\nfunction aggregateDescription(arr) {\n let msg = \"\";\n arr.forEach((m, idx, a) => {\n const path = m.path.join(\".\");\n if (idx === a.length - 1) {\n msg += path + \".\" + m.name + \": \" + m.description;\n }\n else {\n msg += path + \".\" + m.name + \": \" + m.description + \",\";\n }\n });\n if (msg.length > 100) {\n return msg.slice(0, 100) + \"...\";\n }\n else {\n return msg;\n }\n}\nfunction composeMsgForRootStateMetric(system) {\n const aggregatedState = system.root.getAggregateState();\n const merged = flatten(aggregatedState);\n const highestState = getHighestState(merged);\n const aggregateDesc = aggregateDescription(merged);\n return {\n description: aggregateDesc,\n value: highestState.state,\n };\n}\n\nfunction gw3 (connection, config) {\n if (!connection || typeof connection !== \"object\") {\n throw new Error(\"Connection is required parameter\");\n }\n let joinPromise;\n let session;\n const init = (repo) => {\n let resolveReadyPromise;\n joinPromise = new Promise((resolve) => {\n resolveReadyPromise = resolve;\n });\n session = connection.domain(\"metrics\");\n session.onJoined((reconnect) => {\n if (!reconnect && resolveReadyPromise) {\n resolveReadyPromise();\n resolveReadyPromise = undefined;\n }\n const rootStateMetric = {\n name: \"/State\",\n type: \"object\",\n composite: {\n Description: {\n type: \"string\",\n description: \"\",\n },\n Value: {\n type: \"number\",\n description: \"\",\n },\n },\n description: \"System state\",\n context: {},\n };\n const defineRootMetricsMsg = {\n type: \"define\",\n metrics: [rootStateMetric],\n };\n session.send(defineRootMetricsMsg);\n if (reconnect) {\n replayRepo(repo);\n }\n });\n session.join({\n system: config.system,\n service: config.service,\n instance: config.instance\n });\n };\n const replayRepo = (repo) => {\n replaySystem(repo.root);\n };\n const replaySystem = (system) => {\n createSystem(system);\n system.metrics.forEach((m) => {\n createMetric(m);\n });\n system.subSystems.forEach((ss) => {\n replaySystem(ss);\n });\n };\n const createSystem = async (system) => {\n if (system.parent === undefined) {\n return;\n }\n await joinPromise;\n const metric = {\n name: normalizeMetricName(system.path.join(\"/\") + \"/\" + system.name + \"/State\"),\n type: \"object\",\n composite: {\n Description: {\n type: \"string\",\n description: \"\",\n },\n Value: {\n type: \"number\",\n description: \"\",\n },\n },\n description: \"System state\",\n context: {},\n };\n const createMetricsMsg = {\n type: \"define\",\n metrics: [metric],\n };\n session.send(createMetricsMsg);\n };\n const updateSystem = async (system, state) => {\n await joinPromise;\n const shadowedUpdateMetric = {\n type: \"publish\",\n values: [{\n name: normalizeMetricName(system.path.join(\"/\") + \"/\" + system.name + \"/State\"),\n value: {\n Description: state.description,\n Value: state.state,\n },\n timestamp: Date.now(),\n }],\n };\n session.send(shadowedUpdateMetric);\n const stateObj = composeMsgForRootStateMetric(system);\n const rootMetric = {\n type: \"publish\",\n peer_id: connection.peerId,\n values: [{\n name: \"/State\",\n value: {\n Description: stateObj.description,\n Value: stateObj.value,\n },\n timestamp: Date.now(),\n }],\n };\n session.send(rootMetric);\n };\n const createMetric = async (metric) => {\n const metricClone = cloneMetric(metric);\n await joinPromise;\n const m = serializeMetric(metricClone);\n const createMetricsMsg = {\n type: \"define\",\n metrics: [m],\n };\n session.send(createMetricsMsg);\n if (typeof metricClone.value !== \"undefined\") {\n updateMetricCore(metricClone);\n }\n };\n const updateMetric = async (metric) => {\n const metricClone = cloneMetric(metric);\n await joinPromise;\n updateMetricCore(metricClone);\n };\n const updateMetricCore = (metric) => {\n if (canUpdate()) {\n const value = getMetricValueByType(metric);\n const publishMetricsMsg = {\n type: \"publish\",\n values: [{\n name: normalizeMetricName(metric.path.join(\"/\") + \"/\" + metric.name),\n value,\n timestamp: Date.now(),\n }],\n };\n return session.sendFireAndForget(publishMetricsMsg);\n }\n return Promise.resolve();\n };\n const cloneMetric = (metric) => {\n const metricClone = { ...metric };\n if (typeof metric.value === \"object\" && metric.value !== null) {\n metricClone.value = { ...metric.value };\n }\n return metricClone;\n };\n const canUpdate = () => {\n try {\n const func = config.canUpdateMetric ?? (() => true);\n return func();\n }\n catch {\n return true;\n }\n };\n return {\n init,\n createSystem,\n updateSystem,\n createMetric,\n updateMetric,\n };\n}\n\nvar Helpers = {\n validate: (definition, parent, transport) => {\n if (definition === null || typeof definition !== \"object\") {\n throw new Error(\"Missing definition\");\n }\n if (parent === null || typeof parent !== \"object\") {\n throw new Error(\"Missing parent\");\n }\n if (transport === null || typeof transport !== \"object\") {\n throw new Error(\"Missing transport\");\n }\n },\n};\n\nclass BaseMetric {\n definition;\n system;\n transport;\n value;\n type;\n path = [];\n name;\n description;\n get repo() {\n return this.system?.repo;\n }\n get id() { return `${this.system.path}/${name}`; }\n constructor(definition, system, transport, value, type) {\n this.definition = definition;\n this.system = system;\n this.transport = transport;\n this.value = value;\n this.type = type;\n Helpers.validate(definition, system, transport);\n this.path = system.path.slice(0);\n this.path.push(system.name);\n this.name = definition.name;\n this.description = definition.description;\n transport.createMetric(this);\n }\n update(newValue) {\n this.value = newValue;\n return this.transport.updateMetric(this);\n }\n}\n\nclass NumberMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.NUMBER);\n }\n incrementBy(num) {\n this.update(this.value + num);\n }\n increment() {\n this.incrementBy(1);\n }\n decrement() {\n this.incrementBy(-1);\n }\n decrementBy(num) {\n this.incrementBy(num * -1);\n }\n}\n\nclass ObjectMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.OBJECT);\n }\n update(newValue) {\n this.mergeValues(newValue);\n return this.transport.updateMetric(this);\n }\n mergeValues(values) {\n return Object.keys(this.value).forEach((k) => {\n if (typeof values[k] !== \"undefined\") {\n this.value[k] = values[k];\n }\n });\n }\n}\n\nclass StringMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.STRING);\n }\n}\n\nclass TimestampMetric extends BaseMetric {\n constructor(definition, system, transport, value) {\n super(definition, system, transport, value, MetricTypes.TIMESTAMP);\n }\n now() {\n this.update(new Date());\n }\n}\n\nfunction system(name, repo, protocol, parent, description) {\n if (!repo) {\n throw new Error(\"Repository is required\");\n }\n if (!protocol) {\n throw new Error(\"Transport is required\");\n }\n const _transport = protocol;\n const _name = name;\n const _description = description || \"\";\n const _repo = repo;\n const _parent = parent;\n const _path = _buildPath(parent);\n let _state = {};\n const id = _arrayToString(_path, \"/\") + name;\n const root = repo.root;\n const _subSystems = [];\n const _metrics = [];\n function subSystem(nameSystem, descriptionSystem) {\n if (!nameSystem || nameSystem.length === 0) {\n throw new Error(\"name is required\");\n }\n const match = _subSystems.filter((s) => s.name === nameSystem);\n if (match.length > 0) {\n return match[0];\n }\n const _system = system(nameSystem, _repo, _transport, me, descriptionSystem);\n _subSystems.push(_system);\n return _system;\n }\n function setState(state, stateDescription) {\n _state = { state, description: stateDescription };\n _transport.updateSystem(me, _state);\n }\n function stringMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.STRING, value, (metricDef) => new StringMetric(metricDef, me, _transport, value));\n }\n function numberMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.NUMBER, value, (metricDef) => new NumberMetric(metricDef, me, _transport, value));\n }\n function objectMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.OBJECT, value, (metricDef) => new ObjectMetric(metricDef, me, _transport, value));\n }\n function timestampMetric(definition, value) {\n return _getOrCreateMetric(definition, MetricTypes.TIMESTAMP, value, (metricDef) => new TimestampMetric(metricDef, me, _transport, value));\n }\n function _getOrCreateMetric(metricObject, expectedType, value, createMetric) {\n let metricDef = { name: \"\" };\n if (typeof metricObject === \"string\") {\n metricDef = { name: metricObject };\n }\n else {\n metricDef = metricObject;\n }\n const matching = _metrics.filter((shadowedMetric) => shadowedMetric.name === metricDef.name);\n if (matching.length > 0) {\n const existing = matching[0];\n if (existing.type !== expectedType) {\n throw new Error(`A metric named ${metricDef.name} is already defined with different type.`);\n }\n if (typeof value !== \"undefined\") {\n existing\n .update(value)\n .catch(() => { });\n }\n return existing;\n }\n const metric = createMetric(metricDef);\n _metrics.push(metric);\n return metric;\n }\n function _buildPath(shadowedSystem) {\n if (!shadowedSystem || !shadowedSystem.parent) {\n return [];\n }\n const path = _buildPath(shadowedSystem.parent);\n path.push(shadowedSystem.name);\n return path;\n }\n function _arrayToString(path, separator) {\n return ((path && path.length > 0) ? path.join(separator) : \"\");\n }\n function getAggregateState() {\n const aggState = [];\n if (Object.keys(_state).length > 0) {\n aggState.push({\n name: _name,\n path: _path,\n state: _state.state,\n description: _state.description,\n });\n }\n _subSystems.forEach((shadowedSubSystem) => {\n const result = shadowedSubSystem.getAggregateState();\n if (result.length > 0) {\n aggState.push(...result);\n }\n });\n return aggState;\n }\n const me = {\n get name() {\n return _name;\n },\n get description() {\n return _description;\n },\n get repo() {\n return _repo;\n },\n get parent() {\n return _parent;\n },\n path: _path,\n id,\n root,\n get subSystems() {\n return _subSystems;\n },\n get metrics() {\n return _metrics;\n },\n subSystem,\n getState: () => {\n return _state;\n },\n setState,\n stringMetric,\n timestampMetric,\n objectMetric,\n numberMetric,\n getAggregateState,\n };\n _transport.createSystem(me);\n return me;\n}\n\nclass Repository {\n root;\n constructor(options, protocol) {\n protocol.init(this);\n this.root = system(\"\", this, protocol);\n this.addSystemMetrics(this.root, options.clickStream || options.clickStream === undefined);\n }\n addSystemMetrics(rootSystem, useClickStream) {\n if (typeof navigator !== \"undefined\") {\n rootSystem.stringMetric(\"UserAgent\", navigator.userAgent);\n }\n if (useClickStream && typeof document !== \"undefined\") {\n const clickStream = rootSystem.subSystem(\"ClickStream\");\n const documentClickHandler = (e) => {\n if (!e.target) {\n return;\n }\n const target = e.target;\n const className = target ? target.getAttribute(\"class\") ?? \"\" : \"\";\n clickStream.objectMetric(\"LastBrowserEvent\", {\n type: \"click\",\n timestamp: new Date(),\n target: {\n className,\n id: target.id,\n type: \"<\" + target.tagName.toLowerCase() + \">\",\n href: target.href || \"\",\n },\n });\n };\n clickStream.objectMetric(\"Page\", {\n title: document.title,\n page: window.location.href,\n });\n if (document.addEventListener) {\n document.addEventListener(\"click\", documentClickHandler);\n }\n else {\n document.attachEvent(\"onclick\", documentClickHandler);\n }\n }\n rootSystem.stringMetric(\"StartTime\", (new Date()).toString());\n const urlMetric = rootSystem.stringMetric(\"StartURL\", \"\");\n const appNameMetric = rootSystem.stringMetric(\"AppName\", \"\");\n if (typeof window !== \"undefined\") {\n if (typeof window.location !== \"undefined\") {\n const startUrl = window.location.href;\n urlMetric.update(startUrl);\n }\n if (typeof window.glue42gd !== \"undefined\") {\n appNameMetric.update(window.glue42gd.appName);\n }\n }\n }\n}\n\nclass NullProtocol {\n init(repo) {\n }\n createSystem(system) {\n return Promise.resolve();\n }\n updateSystem(metric, state) {\n return Promise.resolve();\n }\n createMetric(metric) {\n return Promise.resolve();\n }\n updateMetric(metric) {\n return Promise.resolve();\n }\n}\n\nclass PerfTracker {\n api;\n lastCount = 0;\n initialPublishTimeout = 10 * 1000;\n publishInterval = 60 * 1000;\n system;\n constructor(api, initialPublishTimeout, publishInterval) {\n this.api = api;\n this.initialPublishTimeout = initialPublishTimeout ?? this.initialPublishTimeout;\n this.publishInterval = publishInterval ?? this.publishInterval;\n this.scheduleCollection();\n this.system = this.api.subSystem(\"performance\", \"Performance data published by the web application\");\n }\n scheduleCollection() {\n setTimeout(() => {\n this.collect();\n setInterval(() => {\n this.collect();\n }, this.publishInterval);\n }, this.initialPublishTimeout);\n }\n collect() {\n try {\n this.collectMemory();\n this.collectEntries();\n }\n catch {\n }\n }\n collectMemory() {\n const memory = window.performance.memory;\n this.system.stringMetric(\"memory\", JSON.stringify({\n totalJSHeapSize: memory.totalJSHeapSize,\n usedJSHeapSize: memory.usedJSHeapSize\n }));\n }\n collectEntries() {\n const allEntries = window.performance.getEntries();\n if (allEntries.length <= this.lastCount) {\n return;\n }\n this.lastCount = allEntries.length;\n const jsonfiedEntries = allEntries.map((i) => i.toJSON());\n this.system.stringMetric(\"entries\", JSON.stringify(jsonfiedEntries));\n }\n}\n\nvar metrics = (options) => {\n let protocol;\n if (!options.connection || typeof options.connection !== \"object\") {\n protocol = new NullProtocol();\n }\n else {\n protocol = gw3(options.connection, options);\n }\n const repo = new Repository(options, protocol);\n let rootSystem = repo.root;\n if (!options.disableAutoAppSystem) {\n rootSystem = rootSystem.subSystem(\"App\");\n }\n const api = addFAVSupport(rootSystem);\n initPerf(api, options.pagePerformanceMetrics);\n return api;\n};\nfunction initPerf(api, config) {\n if (typeof window === \"undefined\") {\n return;\n }\n const perfConfig = window?.glue42gd?.metrics?.pagePerformanceMetrics;\n if (perfConfig) {\n config = perfConfig;\n }\n if (config?.enabled) {\n new PerfTracker(api, config.initialPublishTimeout, config.publishInterval);\n }\n}\nfunction addFAVSupport(system) {\n const reportingSystem = system.subSystem(\"reporting\");\n const def = {\n name: \"features\"\n };\n let featureMetric;\n const featureMetricFunc = (name, action, payload) => {\n if (typeof name === \"undefined\" || name === \"\") {\n throw new Error(\"name is mandatory\");\n }\n else if (typeof action === \"undefined\" || action === \"\") {\n throw new Error(\"action is mandatory\");\n }\n else if (typeof payload === \"undefined\" || payload === \"\") {\n throw new Error(\"payload is mandatory\");\n }\n if (!featureMetric) {\n featureMetric = reportingSystem.objectMetric(def, { name, action, payload });\n }\n else {\n featureMetric.update({\n name,\n action,\n payload\n });\n }\n };\n system.featureMetric = featureMetricFunc;\n return system;\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\ncreateRegistry.default = createRegistry;\nvar lib = createRegistry;\n\n\nvar CallbackRegistryFactory = /*@__PURE__*/getDefaultExportFromCjs(lib);\n\nclass InProcTransport {\n gw;\n registry = CallbackRegistryFactory();\n client;\n constructor(settings, logger) {\n this.gw = settings.facade;\n this.gw.connect((_client, message) => {\n this.messageHandler(message);\n }).then((client) => {\n this.client = client;\n });\n }\n get isObjectBasedTransport() {\n return true;\n }\n sendObject(msg) {\n if (this.client) {\n this.client.send(msg);\n return Promise.resolve(undefined);\n }\n else {\n return Promise.reject(`not connected`);\n }\n }\n send(_msg) {\n return Promise.reject(\"not supported\");\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n onConnectedChanged(callback) {\n callback(true);\n return () => { };\n }\n close() {\n return Promise.resolve();\n }\n open() {\n return Promise.resolve();\n }\n name() {\n return \"in-memory\";\n }\n reconnect() {\n return Promise.resolve();\n }\n messageHandler(msg) {\n this.registry.execute(\"onMessage\", msg);\n }\n}\n\nclass SharedWorkerTransport {\n logger;\n worker;\n registry = CallbackRegistryFactory();\n constructor(workerFile, logger) {\n this.logger = logger;\n this.worker = new SharedWorker(workerFile);\n this.worker.port.onmessage = (e) => {\n this.messageHandler(e.data);\n };\n }\n get isObjectBasedTransport() {\n return true;\n }\n sendObject(msg) {\n this.worker.port.postMessage(msg);\n return Promise.resolve();\n }\n send(_msg) {\n return Promise.reject(\"not supported\");\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n onConnectedChanged(callback) {\n callback(true);\n return () => { };\n }\n close() {\n return Promise.resolve();\n }\n open() {\n return Promise.resolve();\n }\n name() {\n return \"shared-worker\";\n }\n reconnect() {\n return Promise.resolve();\n }\n messageHandler(msg) {\n this.registry.execute(\"onMessage\", msg);\n }\n}\n\nclass Utils {\n static isNode() {\n if (typeof Utils._isNode !== \"undefined\") {\n return Utils._isNode;\n }\n if (typeof window !== \"undefined\") {\n Utils._isNode = false;\n return false;\n }\n try {\n Utils._isNode = Object.prototype.toString.call(global.process) === \"[object process]\";\n }\n catch (e) {\n Utils._isNode = false;\n }\n return Utils._isNode;\n }\n static _isNode;\n}\n\nclass PromiseWrapper {\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n resolve;\n reject;\n promise;\n rejected = false;\n resolved = false;\n get ended() {\n return this.rejected || this.resolved;\n }\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (t) => {\n this.resolved = true;\n resolve(t);\n };\n this.reject = (err) => {\n this.rejected = true;\n reject(err);\n };\n });\n }\n}\n\nconst timers = {};\nfunction getAllTimers() {\n return timers;\n}\nfunction timer (timerName) {\n const existing = timers[timerName];\n if (existing) {\n return existing;\n }\n const marks = [];\n function now() {\n return new Date().getTime();\n }\n const startTime = now();\n mark(\"start\", startTime);\n let endTime;\n let period;\n function stop() {\n endTime = now();\n mark(\"end\", endTime);\n period = endTime - startTime;\n return period;\n }\n function mark(name, time) {\n const currentTime = time ?? now();\n let diff = 0;\n if (marks.length > 0) {\n diff = currentTime - marks[marks.length - 1].time;\n }\n marks.push({ name, time: currentTime, diff });\n }\n const timerObj = {\n get startTime() {\n return startTime;\n },\n get endTime() {\n return endTime;\n },\n get period() {\n return period;\n },\n stop,\n mark,\n marks\n };\n timers[timerName] = timerObj;\n return timerObj;\n}\n\nconst WebSocketConstructor = Utils.isNode() ? require(\"ws\") : window.WebSocket;\nclass WS {\n ws;\n logger;\n settings;\n startupTimer = timer(\"connection\");\n _running = true;\n _registry = CallbackRegistryFactory();\n wsRequests = [];\n constructor(settings, logger) {\n this.settings = settings;\n this.logger = logger;\n if (!this.settings.ws) {\n throw new Error(\"ws is missing\");\n }\n }\n onMessage(callback) {\n return this._registry.add(\"onMessage\", callback);\n }\n send(msg, options) {\n return new Promise((resolve, reject) => {\n this.waitForSocketConnection(() => {\n try {\n this.ws?.send(msg);\n resolve();\n }\n catch (e) {\n reject(e);\n }\n }, reject);\n });\n }\n open() {\n this.logger.info(\"opening ws...\");\n this._running = true;\n return new Promise((resolve, reject) => {\n this.waitForSocketConnection(resolve, reject);\n });\n }\n close() {\n this._running = false;\n if (this.ws) {\n this.ws.close();\n }\n return Promise.resolve();\n }\n onConnectedChanged(callback) {\n return this._registry.add(\"onConnectedChanged\", callback);\n }\n name() {\n return this.settings.ws;\n }\n reconnect() {\n this.ws?.close();\n const pw = new PromiseWrapper();\n this.waitForSocketConnection(() => {\n pw.resolve();\n });\n return pw.promise;\n }\n waitForSocketConnection(callback, failed) {\n failed = failed ?? (() => { });\n if (!this._running) {\n failed(`wait for socket on ${this.settings.ws} failed - socket closed by user`);\n return;\n }\n if (this.ws?.readyState === 1) {\n callback();\n return;\n }\n this.wsRequests.push({ callback, failed });\n if (this.wsRequests.length > 1) {\n return;\n }\n this.openSocket();\n }\n async openSocket(retryInterval, retriesLeft) {\n this.logger.info(`opening ws to ${this.settings.ws}, retryInterval: ${retryInterval}, retriesLeft: ${retriesLeft}...`);\n this.startupTimer.mark(\"opening-socket\");\n if (retryInterval === undefined) {\n retryInterval = this.settings.reconnectInterval;\n }\n if (typeof retriesLeft === \"undefined\") {\n retriesLeft = this.settings.reconnectAttempts;\n }\n if (retriesLeft !== undefined) {\n if (retriesLeft === 0) {\n this.notifyForSocketState(`wait for socket on ${this.settings.ws} failed - no more retries left`);\n return;\n }\n this.logger.debug(`will retry ${retriesLeft} more times (every ${retryInterval} ms)`);\n }\n try {\n await this.initiateSocket();\n this.startupTimer.mark(\"socket-initiated\");\n this.notifyForSocketState();\n }\n catch {\n setTimeout(() => {\n const retries = retriesLeft === undefined ? undefined : retriesLeft - 1;\n this.openSocket(retryInterval, retries);\n }, retryInterval);\n }\n }\n initiateSocket() {\n const pw = new PromiseWrapper();\n this.logger.debug(`initiating ws to ${this.settings.ws}...`);\n this.ws = new WebSocketConstructor(this.settings.ws ?? \"\");\n this.ws.onerror = (err) => {\n let reason = \"\";\n try {\n reason = JSON.stringify(err);\n }\n catch (error) {\n const seen = new WeakSet();\n const replacer = (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n }\n return value;\n };\n reason = JSON.stringify(err, replacer);\n }\n this.logger.info(`ws error - reason: ${reason}`);\n pw.reject(\"error\");\n this.notifyStatusChanged(false, reason);\n };\n this.ws.onclose = (err) => {\n this.logger.info(`ws closed - code: ${err?.code} reason: ${err?.reason}`);\n pw.reject(\"closed\");\n this.notifyStatusChanged(false);\n };\n this.ws.onopen = () => {\n this.startupTimer.mark(\"ws-opened\");\n this.logger.info(`ws opened ${this.settings.identity?.application}`);\n pw.resolve();\n this.notifyStatusChanged(true);\n };\n this.ws.onmessage = (message) => {\n this._registry.execute(\"onMessage\", message.data);\n };\n return pw.promise;\n }\n notifyForSocketState(error) {\n this.wsRequests.forEach((wsRequest) => {\n if (error) {\n if (wsRequest.failed) {\n wsRequest.failed(error);\n }\n }\n else {\n wsRequest.callback();\n }\n });\n this.wsRequests = [];\n }\n notifyStatusChanged(status, reason) {\n this._registry.execute(\"onConnectedChanged\", status, reason);\n }\n}\n\nclass MessageReplayerImpl {\n specs;\n specsNames = [];\n messages = {};\n isDone;\n subs = {};\n subsRefCount = {};\n connection;\n constructor(specs) {\n this.specs = {};\n for (const spec of specs) {\n this.specs[spec.name] = spec;\n this.specsNames.push(spec.name);\n }\n }\n init(connection) {\n this.connection = connection;\n for (const name of this.specsNames) {\n for (const type of this.specs[name].types) {\n let refCount = this.subsRefCount[type];\n if (!refCount) {\n refCount = 0;\n }\n refCount += 1;\n this.subsRefCount[type] = refCount;\n if (refCount > 1) {\n continue;\n }\n const sub = connection.on(type, (msg) => this.processMessage(type, msg));\n this.subs[type] = sub;\n }\n }\n }\n processMessage(type, msg) {\n if (this.isDone || !msg) {\n return;\n }\n for (const name of this.specsNames) {\n if (this.specs[name].types.indexOf(type) !== -1) {\n const messages = this.messages[name] || [];\n this.messages[name] = messages;\n messages.push(msg);\n }\n }\n }\n drain(name, callback) {\n if (callback) {\n (this.messages[name] || []).forEach(callback);\n }\n delete this.messages[name];\n for (const type of this.specs[name].types) {\n this.subsRefCount[type] -= 1;\n if (this.subsRefCount[type] <= 0) {\n this.connection?.off(this.subs[type]);\n delete this.subs[type];\n delete this.subsRefCount[type];\n }\n }\n delete this.specs[name];\n if (!this.specs.length) {\n this.isDone = true;\n }\n }\n}\n\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';\nlet nanoid = (size = 21) => {\n let id = '';\n let i = size;\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0];\n }\n return id\n};\n\nconst PromisePlus = (executor, timeoutMilliseconds, timeoutMessage) => {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n const message = timeoutMessage || `Promise timeout hit: ${timeoutMilliseconds}`;\n reject(message);\n }, timeoutMilliseconds);\n const providedPromise = new Promise(executor);\n providedPromise\n .then((result) => {\n clearTimeout(timeout);\n resolve(result);\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n};\n\nclass WebPlatformTransport {\n settings;\n logger;\n identity;\n isPreferredActivated;\n _communicationId;\n publicWindowId;\n selfAssignedWindowId;\n iAmConnected = false;\n parentReady = false;\n rejected = false;\n parentPingResolve;\n parentPingInterval;\n connectionResolve;\n extConnectionResolve;\n extConnectionReject;\n connectionReject;\n port;\n myClientId;\n children = [];\n extContentAvailable = false;\n extContentConnecting = false;\n extContentConnected = false;\n parentWindowId;\n parentInExtMode = false;\n webNamespace = \"g42_core_web\";\n parent;\n parentType;\n parentPingTimeout = 5000;\n connectionRequestTimeout = 7000;\n defaultTargetString = \"*\";\n registry = CallbackRegistryFactory();\n messages = {\n connectionAccepted: { name: \"connectionAccepted\", handle: this.handleConnectionAccepted.bind(this) },\n connectionRejected: { name: \"connectionRejected\", handle: this.handleConnectionRejected.bind(this) },\n connectionRequest: { name: \"connectionRequest\", handle: this.handleConnectionRequest.bind(this) },\n parentReady: {\n name: \"parentReady\", handle: () => {\n }\n },\n parentPing: { name: \"parentPing\", handle: this.handleParentPing.bind(this) },\n platformPing: { name: \"platformPing\", handle: this.handlePlatformPing.bind(this) },\n platformReady: { name: \"platformReady\", handle: this.handlePlatformReady.bind(this) },\n clientUnload: { name: \"clientUnload\", handle: this.handleClientUnload.bind(this) },\n manualUnload: { name: \"manualUnload\", handle: this.handleManualUnload.bind(this) },\n extConnectionResponse: { name: \"extConnectionResponse\", handle: this.handleExtConnectionResponse.bind(this) },\n extSetupRequest: { name: \"extSetupRequest\", handle: this.handleExtSetupRequest.bind(this) },\n gatewayDisconnect: { name: \"gatewayDisconnect\", handle: this.handleGatewayDisconnect.bind(this) },\n gatewayInternalConnect: { name: \"gatewayInternalConnect\", handle: this.handleGatewayInternalConnect.bind(this) }\n };\n constructor(settings, logger, identity) {\n this.settings = settings;\n this.logger = logger;\n this.identity = identity;\n this.extContentAvailable = !!window.glue42ext;\n this.setUpMessageListener();\n this.setUpUnload();\n this.setupPlatformUnloadListener();\n this.parentType = window.name.includes(\"#wsp\") ? \"workspace\" : undefined;\n }\n manualSetReadyState() {\n this.iAmConnected = true;\n this.parentReady = true;\n }\n get transportWindowId() {\n return this.publicWindowId;\n }\n get communicationId() {\n return this._communicationId;\n }\n async sendObject(msg) {\n if (this.extContentConnected) {\n return window.postMessage({ glue42ExtOut: msg }, this.defaultTargetString);\n }\n if (!this.port) {\n throw new Error(\"Cannot send message, because the port was not opened yet\");\n }\n this.port.postMessage(msg);\n }\n get isObjectBasedTransport() {\n return true;\n }\n onMessage(callback) {\n return this.registry.add(\"onMessage\", callback);\n }\n send() {\n return Promise.reject(\"not supported\");\n }\n onConnectedChanged(callback) {\n return this.registry.add(\"onConnectedChanged\", callback);\n }\n async open() {\n this.logger.debug(\"opening a connection to the web platform gateway.\");\n await this.connect();\n this.notifyStatusChanged(true);\n }\n close() {\n const message = {\n glue42core: {\n type: this.messages.gatewayDisconnect.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n this.port?.postMessage(message);\n this.parentReady = false;\n this.notifyStatusChanged(false, \"manual reconnection\");\n return Promise.resolve();\n }\n name() {\n return \"web-platform\";\n }\n async reconnect() {\n await this.close();\n return Promise.resolve();\n }\n initiateInternalConnection() {\n return new Promise((resolve, reject) => {\n this.logger.debug(\"opening an internal web platform connection\");\n this.port = this.settings.port;\n if (this.iAmConnected) {\n this.logger.warn(\"cannot open a new connection, because this client is currently connected\");\n return;\n }\n this.port.onmessage = (event) => {\n if (this.iAmConnected && !event.data?.glue42core) {\n this.registry.execute(\"onMessage\", event.data);\n return;\n }\n const data = event.data?.glue42core;\n if (!data) {\n return;\n }\n if (data.type === this.messages.gatewayInternalConnect.name && data.success) {\n this.publicWindowId = this.settings.windowId;\n if (this.identity && this.publicWindowId) {\n this.identity.windowId = this.publicWindowId;\n this.identity.instance = this.publicWindowId;\n }\n resolve();\n }\n if (data.type === this.messages.gatewayInternalConnect.name && data.error) {\n reject(data.error);\n }\n };\n this.port.postMessage({\n glue42core: {\n type: this.messages.gatewayInternalConnect.name\n }\n });\n });\n }\n initiateRemoteConnection(target) {\n return PromisePlus((resolve, reject) => {\n this.connectionResolve = resolve;\n this.connectionReject = reject;\n this.myClientId = this.myClientId ?? nanoid(10);\n const bridgeInstanceId = this.getMyWindowId() || nanoid(10);\n const request = {\n glue42core: {\n type: this.messages.connectionRequest.name,\n clientId: this.myClientId,\n clientType: \"child\",\n bridgeInstanceId,\n selfAssignedWindowId: this.selfAssignedWindowId\n }\n };\n this.logger.debug(\"sending connection request\");\n if (this.extContentConnecting) {\n request.glue42core.clientType = \"child\";\n request.glue42core.bridgeInstanceId = this.myClientId;\n request.glue42core.parentWindowId = this.parentWindowId;\n return window.postMessage(request, this.defaultTargetString);\n }\n if (!target) {\n throw new Error(\"Cannot send a connection request, because no glue target was specified!\");\n }\n target.postMessage(request, this.defaultTargetString);\n }, this.connectionRequestTimeout, \"The connection to the target glue window timed out\");\n }\n async isParentCheckSuccess(parentCheck) {\n try {\n await parentCheck;\n return { success: true };\n }\n catch (error) {\n return { success: false };\n }\n }\n setUpMessageListener() {\n if (this.settings.port) {\n this.logger.debug(\"skipping generic message listener, because this is an internal client\");\n return;\n }\n window.addEventListener(\"message\", (event) => {\n const data = event.data?.glue42core;\n if (!data || this.rejected) {\n return;\n }\n const allowedOrigins = this.settings.allowedOrigins || [];\n if (allowedOrigins.length && !allowedOrigins.includes(event.origin)) {\n this.logger.warn(`received a message from an origin which is not in the allowed list: ${event.origin}`);\n return;\n }\n if (!this.checkMessageTypeValid(data.type)) {\n this.logger.error(`cannot handle the incoming glue42 core message, because the type is invalid: ${data.type}`);\n return;\n }\n const messageType = data.type;\n this.logger.debug(`received valid glue42core message of type: ${messageType}`);\n this.messages[messageType].handle(event);\n });\n }\n setUpUnload() {\n if (this.settings.port) {\n this.logger.debug(\"skipping unload event listener, because this is an internal client\");\n return;\n }\n window.addEventListener(\"beforeunload\", () => {\n if (this.extContentConnected) {\n return;\n }\n const message = {\n glue42core: {\n type: this.messages.clientUnload.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n if (this.parent) {\n this.parent.postMessage(message, this.defaultTargetString);\n }\n this.port?.postMessage(message);\n });\n }\n handlePlatformReady(event) {\n this.logger.debug(\"the web platform gave the ready signal\");\n this.parentReady = true;\n if (this.parentPingResolve) {\n this.parentPingResolve();\n delete this.parentPingResolve;\n }\n if (this.parentPingInterval) {\n clearInterval(this.parentPingInterval);\n delete this.parentPingInterval;\n }\n this.parent = event.source;\n this.parentType = window.name.includes(\"#wsp\") ? \"workspace\" : \"window\";\n }\n handleConnectionAccepted(event) {\n const data = event.data?.glue42core;\n if (this.myClientId === data.clientId) {\n return this.handleAcceptanceOfMyRequest(data);\n }\n return this.handleAcceptanceOfGrandChildRequest(data, event);\n }\n handleAcceptanceOfMyRequest(data) {\n this.logger.debug(\"handling a connection accepted signal targeted at me.\");\n this.isPreferredActivated = data.isPreferredActivated;\n if (this.extContentConnecting) {\n return this.processExtContentConnection(data);\n }\n if (!data.port) {\n this.logger.error(\"cannot set up my connection, because I was not provided with a port\");\n return;\n }\n this.publicWindowId = this.getMyWindowId();\n if (this.identity) {\n this.identity.windowId = this.publicWindowId;\n this.identity.instance = this.identity.instance ? this.identity.instance : this.publicWindowId || nanoid(10);\n }\n if (this.identity && data.appName) {\n this.identity.application = data.appName;\n this.identity.applicationName = data.appName;\n }\n this._communicationId = data.communicationId;\n this.port = data.port;\n this.port.onmessage = (e) => this.registry.execute(\"onMessage\", e.data);\n if (this.connectionResolve) {\n this.logger.debug(\"my connection is set up, calling the connection resolve.\");\n this.connectionResolve();\n delete this.connectionResolve;\n return;\n }\n this.logger.error(\"unable to call the connection resolve, because no connection promise was found\");\n }\n processExtContentConnection(data) {\n this.logger.debug(\"handling a connection accepted signal targeted at me for extension content connection.\");\n this.extContentConnecting = false;\n this.extContentConnected = true;\n this.publicWindowId = this.parentWindowId || this.myClientId;\n if (this.extContentConnecting && this.identity) {\n this.identity.windowId = this.publicWindowId;\n }\n if (this.identity && data.appName) {\n this.identity.application = data.appName;\n this.identity.applicationName = data.appName;\n }\n window.addEventListener(\"message\", (event) => {\n const extData = event.data?.glue42ExtInc;\n if (!extData) {\n return;\n }\n const allowedOrigins = this.settings.allowedOrigins || [];\n if (allowedOrigins.length && !allowedOrigins.includes(event.origin)) {\n this.logger.warn(`received a message from an origin which is not in the allowed list: ${event.origin}`);\n return;\n }\n this.registry.execute(\"onMessage\", extData);\n });\n if (this.connectionResolve) {\n this.logger.debug(\"my connection is set up, calling the connection resolve.\");\n this.connectionResolve();\n delete this.connectionResolve;\n return;\n }\n }\n handleAcceptanceOfGrandChildRequest(data, event) {\n if (this.extContentConnecting || this.extContentConnected) {\n this.logger.debug(\"cannot process acceptance of a grandchild, because I am connected to a content script\");\n return;\n }\n this.logger.debug(`handling a connection accepted signal targeted at a grandchild: ${data.clientId}`);\n const child = this.children.find((c) => c.grandChildId === data.clientId);\n if (!child) {\n this.logger.error(`cannot handle connection accepted for grandchild: ${data.clientId}, because there is no grandchild with this id`);\n return;\n }\n child.connected = true;\n this.logger.debug(`the grandchild connection for ${data.clientId} is set up, forwarding the success message and the gateway port`);\n data.parentWindowId = this.publicWindowId;\n child.source.postMessage(event.data, child.origin, [data.port]);\n return;\n }\n handleConnectionRejected(event) {\n this.logger.debug(\"handling a connection rejection. Most likely the reason is that this window was not created by a glue API call\");\n if (!this.connectionReject) {\n return;\n }\n const errorMsg = typeof event.data.glue42core?.error === \"string\"\n ? `Connection was rejected. ${event.data.glue42core?.error}`\n : \"The platform connection was rejected. Most likely because this window was not created by a glue API call\";\n this.connectionReject(errorMsg);\n delete this.connectionReject;\n }\n handleConnectionRequest(event) {\n if (this.extContentConnecting) {\n this.logger.debug(\"This connection request event is targeted at the extension content\");\n return;\n }\n const source = event.source;\n const data = event.data.glue42core;\n if (!data.clientType || data.clientType !== \"grandChild\") {\n return this.rejectConnectionRequest(source, event.origin, \"rejecting a connection request, because the source was not opened by a glue API call\");\n }\n if (!data.clientId) {\n return this.rejectConnectionRequest(source, event.origin, \"rejecting a connection request, because the source did not provide a valid id\");\n }\n if (!this.parent) {\n return this.rejectConnectionRequest(source, event.origin, \"Cannot forward the connection request, because no direct connection to the platform was found\");\n }\n this.logger.debug(`handling a connection request for a grandchild: ${data.clientId}`);\n this.children.push({ grandChildId: data.clientId, source, connected: false, origin: event.origin });\n this.logger.debug(`grandchild: ${data.clientId} is prepared, forwarding connection request to the platform`);\n this.parent.postMessage(event.data, this.defaultTargetString);\n }\n handleParentPing(event) {\n if (!this.parentReady) {\n this.logger.debug(\"my parent is not ready, I am ignoring the parent ping\");\n return;\n }\n if (!this.iAmConnected) {\n this.logger.debug(\"i am not fully connected yet, I am ignoring the parent ping\");\n return;\n }\n const message = {\n glue42core: {\n type: this.messages.parentReady.name\n }\n };\n if (this.extContentConnected) {\n message.glue42core.extMode = { windowId: this.myClientId };\n }\n const source = event.source;\n this.logger.debug(\"responding to a parent ping with a ready message\");\n source.postMessage(message, event.origin);\n }\n setupPlatformUnloadListener() {\n this.onMessage((msg) => {\n if (msg.type === \"platformUnload\") {\n this.logger.debug(\"detected a web platform unload\");\n this.parentReady = false;\n this.notifyStatusChanged(false, \"Gateway unloaded\");\n }\n });\n }\n handleManualUnload() {\n const message = {\n glue42core: {\n type: this.messages.clientUnload.name,\n data: {\n clientId: this.myClientId,\n ownWindowId: this.identity?.windowId\n }\n }\n };\n if (this.extContentConnected) {\n return window.postMessage({ glue42ExtOut: message }, this.defaultTargetString);\n }\n this.port?.postMessage(message);\n }\n handleClientUnload(event) {\n const data = event.data.glue42core;\n const clientId = data?.data.clientId;\n if (!clientId) {\n this.logger.warn(\"cannot process grand child unload, because the provided id was not valid\");\n return;\n }\n const foundChild = this.children.find((child) => child.grandChildId === clientId);\n if (!foundChild) {\n this.logger.warn(\"cannot process grand child unload, because this client is unaware of this grandchild\");\n return;\n }\n this.logger.debug(`handling grandchild unload for id: ${clientId}`);\n this.children = this.children.filter((child) => child.grandChildId !== clientId);\n }\n handlePlatformPing() {\n return;\n }\n notifyStatusChanged(status, reason) {\n this.iAmConnected = status;\n this.registry.execute(\"onConnectedChanged\", status, reason);\n }\n checkMessageTypeValid(typeToValidate) {\n return typeof typeToValidate === \"string\" && !!this.messages[typeToValidate];\n }\n rejectConnectionRequest(source, origin, reason) {\n this.rejected = true;\n this.logger.error(reason);\n const rejection = {\n glue42core: {\n type: this.messages.connectionRejected.name\n }\n };\n source.postMessage(rejection, origin);\n }\n requestConnectionPermissionFromExt() {\n return this.waitForContentScript()\n .then(() => PromisePlus((resolve, reject) => {\n this.extConnectionResolve = resolve;\n this.extConnectionReject = reject;\n const message = {\n glue42core: {\n type: \"extSetupRequest\"\n }\n };\n this.logger.debug(\"permission request to the extension content script was sent\");\n window.postMessage(message, this.defaultTargetString);\n }, this.parentPingTimeout, \"Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection timed out\"));\n }\n handleExtConnectionResponse(event) {\n const data = event.data?.glue42core;\n if (!data.approved) {\n return this.extConnectionReject ? this.extConnectionReject(\"Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection was rejected\") : undefined;\n }\n if (this.extConnectionResolve) {\n this.extConnectionResolve();\n delete this.extConnectionResolve;\n }\n this.extContentConnecting = true;\n this.parentType = \"extension\";\n this.logger.debug(\"The extension connection was approved, proceeding.\");\n }\n handleExtSetupRequest() {\n return;\n }\n handleGatewayDisconnect() {\n return;\n }\n handleGatewayInternalConnect() {\n return;\n }\n waitForContentScript() {\n const contentReady = !!window.glue42ext?.content;\n if (contentReady) {\n return Promise.resolve();\n }\n return PromisePlus((resolve) => {\n window.addEventListener(\"Glue42EXTReady\", () => {\n resolve();\n });\n }, this.connectionRequestTimeout, \"The content script was available, but was never heard to be ready\");\n }\n async connect() {\n if (this.settings.port) {\n await this.initiateInternalConnection();\n this.logger.debug(\"internal web platform connection completed\");\n return;\n }\n this.logger.debug(\"opening a client web platform connection\");\n await this.findParent();\n await this.initiateRemoteConnection(this.parent);\n this.logger.debug(\"the client is connected\");\n }\n async findParent() {\n const connectionNotPossibleMsg = \"Cannot initiate glue, because this window was not opened or created by a glue client\";\n const myInsideParents = this.getPossibleParentsInWindow(window);\n const myOutsideParents = this.getPossibleParentsOutsideWindow(window.top?.opener, window.top);\n const uniqueParents = new Set([...myInsideParents, ...myOutsideParents]);\n if (!uniqueParents.size && !this.extContentAvailable) {\n throw new Error(connectionNotPossibleMsg);\n }\n if (!uniqueParents.size && this.extContentAvailable) {\n await this.requestConnectionPermissionFromExt();\n return;\n }\n const defaultParentCheck = await this.isParentCheckSuccess(this.confirmParent(Array.from(uniqueParents)));\n if (defaultParentCheck.success) {\n this.logger.debug(\"The default parent was found!\");\n return;\n }\n if (!this.extContentAvailable) {\n throw new Error(connectionNotPossibleMsg);\n }\n await this.requestConnectionPermissionFromExt();\n }\n getPossibleParentsInWindow(currentWindow) {\n return (!currentWindow?.parent || currentWindow === currentWindow.parent) ? [] : [currentWindow.parent, ...this.getPossibleParentsInWindow(currentWindow.parent)];\n }\n getPossibleParentsOutsideWindow(opener, current) {\n return (!opener || !current || opener === current) ? [] : [opener, ...this.getPossibleParentsInWindow(opener), ...this.getPossibleParentsOutsideWindow(opener.opener, opener)];\n }\n confirmParent(targets) {\n const connectionNotPossibleMsg = \"Cannot initiate glue, because this window was not opened or created by a glue client\";\n const parentCheck = PromisePlus((resolve) => {\n this.parentPingResolve = resolve;\n const message = {\n glue42core: {\n type: this.messages.platformPing.name\n }\n };\n this.parentPingInterval = setInterval(() => {\n targets.forEach((target) => {\n target.postMessage(message, this.defaultTargetString);\n });\n }, 1000);\n }, this.parentPingTimeout, connectionNotPossibleMsg);\n parentCheck.catch(() => {\n if (this.parentPingInterval) {\n clearInterval(this.parentPingInterval);\n delete this.parentPingInterval;\n }\n });\n return parentCheck;\n }\n getMyWindowId() {\n if (this.parentType === \"workspace\") {\n return window.name.substring(0, window.name.indexOf(\"#wsp\"));\n }\n if (window !== window.top) {\n return;\n }\n if (window.name?.includes(\"g42\")) {\n return window.name;\n }\n this.selfAssignedWindowId = this.selfAssignedWindowId || `g42-${nanoid(10)}`;\n return this.selfAssignedWindowId;\n }\n}\n\nconst waitForInvocations = (invocations, callback) => {\n let left = invocations;\n return () => {\n left--;\n if (left === 0) {\n callback();\n }\n };\n};\n\nclass AsyncSequelizer {\n minSequenceInterval;\n queue = [];\n isExecutingQueue = false;\n constructor(minSequenceInterval = 0) {\n this.minSequenceInterval = minSequenceInterval;\n }\n enqueue(action) {\n return new Promise((resolve, reject) => {\n this.queue.push({ action, resolve, reject });\n this.executeQueue();\n });\n }\n async executeQueue() {\n if (this.isExecutingQueue) {\n return;\n }\n this.isExecutingQueue = true;\n while (this.queue.length) {\n const operation = this.queue.shift();\n if (!operation) {\n this.isExecutingQueue = false;\n return;\n }\n try {\n const actionResult = await operation.action();\n operation.resolve(actionResult);\n }\n catch (error) {\n operation.reject(error);\n }\n await this.intervalBreak();\n }\n this.isExecutingQueue = false;\n }\n intervalBreak() {\n return new Promise((res) => setTimeout(res, this.minSequenceInterval));\n }\n}\n\nfunction domainSession (domain, connection, logger, successMessages, errorMessages) {\n if (domain == null) {\n domain = \"global\";\n }\n successMessages = successMessages ?? [\"success\"];\n errorMessages = errorMessages ?? [\"error\"];\n let isJoined = domain === \"global\";\n let tryReconnecting = false;\n let _latestOptions;\n let _connectionOn = false;\n const callbacks = CallbackRegistryFactory();\n connection.disconnected(handleConnectionDisconnected);\n connection.loggedIn(handleConnectionLoggedIn);\n connection.on(\"success\", (msg) => handleSuccessMessage(msg));\n connection.on(\"error\", (msg) => handleErrorMessage(msg));\n connection.on(\"result\", (msg) => handleSuccessMessage(msg));\n if (successMessages) {\n successMessages.forEach((sm) => {\n connection.on(sm, (msg) => handleSuccessMessage(msg));\n });\n }\n if (errorMessages) {\n errorMessages.forEach((sm) => {\n connection.on(sm, (msg) => handleErrorMessage(msg));\n });\n }\n const requestsMap = {};\n function join(options) {\n _latestOptions = options;\n return new Promise((resolve, reject) => {\n if (isJoined) {\n resolve({});\n return;\n }\n let joinPromise;\n if (domain === \"global\") {\n joinPromise = _connectionOn ? Promise.resolve({}) : Promise.reject(\"not connected to gateway\");\n }\n else {\n logger.debug(`joining domain ${domain}`);\n const joinMsg = {\n type: \"join\",\n destination: domain,\n domain: \"global\",\n options,\n };\n joinPromise = send(joinMsg);\n }\n joinPromise\n .then(() => {\n handleJoined();\n resolve({});\n })\n .catch((err) => {\n logger.debug(\"error joining \" + domain + \" domain: \" + JSON.stringify(err));\n reject(err);\n });\n });\n }\n function leave() {\n if (domain === \"global\") {\n return Promise.resolve();\n }\n logger.debug(\"stopping session \" + domain + \"...\");\n const leaveMsg = {\n type: \"leave\",\n destination: domain,\n domain: \"global\",\n };\n tryReconnecting = false;\n return send(leaveMsg)\n .then(() => {\n isJoined = false;\n callbacks.execute(\"onLeft\");\n })\n .catch(() => {\n isJoined = false;\n callbacks.execute(\"onLeft\");\n });\n }\n function handleJoined() {\n logger.debug(\"did join \" + domain);\n isJoined = true;\n const wasReconnect = tryReconnecting;\n tryReconnecting = false;\n callbacks.execute(\"onJoined\", wasReconnect);\n }\n function handleConnectionDisconnected() {\n _connectionOn = false;\n logger.debug(\"connection is down\");\n isJoined = false;\n tryReconnecting = true;\n callbacks.execute(\"onLeft\", { disconnected: true });\n }\n function handleConnectionLoggedIn() {\n _connectionOn = true;\n if (tryReconnecting) {\n logger.debug(\"connection is now up - trying to reconnect...\");\n join(_latestOptions);\n }\n }\n function onJoined(callback) {\n if (isJoined) {\n callback(false);\n }\n return callbacks.add(\"onJoined\", callback);\n }\n function onLeft(callback) {\n if (!isJoined) {\n callback();\n }\n return callbacks.add(\"onLeft\", callback);\n }\n function handleErrorMessage(msg) {\n if (domain !== msg.domain) {\n return;\n }\n const requestId = msg.request_id;\n if (!requestId) {\n return;\n }\n const entry = requestsMap[requestId];\n if (!entry) {\n return;\n }\n entry.error(msg);\n }\n function handleSuccessMessage(msg) {\n if (msg.domain !== domain) {\n return;\n }\n const requestId = msg.request_id;\n if (!requestId) {\n return;\n }\n const entry = requestsMap[requestId];\n if (!entry) {\n return;\n }\n entry.success(msg);\n }\n function getNextRequestId() {\n return nanoid(10);\n }\n let queuedCalls = [];\n function send(msg, tag, options) {\n const ignore = [\"hello\", \"join\"];\n if (msg.type && ignore.indexOf(msg.type) === -1) {\n if (!isJoined) {\n console.warn(`trying to send a message (${msg.domain} ${msg.type}) but not connected, will queue`);\n const pw = new PromiseWrapper();\n queuedCalls.push({ msg, tag, options, pw });\n if (queuedCalls.length === 1) {\n const unsubscribe = onJoined(() => {\n logger.info(`joined - will now send queued messages (${queuedCalls.length} -> [${queuedCalls.map((m) => m.msg.type)}])`);\n queuedCalls.forEach((qm) => {\n send(qm.msg, qm.tag, qm.options)\n .then((t) => qm.pw.resolve(t))\n .catch((e) => qm.pw.reject(e));\n });\n queuedCalls = [];\n unsubscribe();\n });\n }\n return pw.promise;\n }\n }\n options = options ?? {};\n msg.request_id = msg.request_id ?? getNextRequestId();\n msg.domain = msg.domain ?? domain;\n if (!options.skipPeerId) {\n msg.peer_id = connection.peerId;\n }\n const requestId = msg.request_id;\n return new Promise((resolve, reject) => {\n requestsMap[requestId] = {\n success: (successMsg) => {\n delete requestsMap[requestId];\n successMsg._tag = tag;\n resolve(successMsg);\n },\n error: (errorMsg) => {\n logger.warn(`Gateway error - ${JSON.stringify(errorMsg)}`);\n delete requestsMap[requestId];\n errorMsg._tag = tag;\n reject(errorMsg);\n },\n };\n connection\n .send(msg, options)\n .catch((err) => {\n requestsMap[requestId].error({ err });\n });\n });\n }\n function sendFireAndForget(msg) {\n msg.request_id = msg.request_id ? msg.request_id : getNextRequestId();\n msg.domain = msg.domain ?? domain;\n msg.peer_id = connection.peerId;\n return connection.send(msg);\n }\n return {\n join,\n leave,\n onJoined,\n onLeft,\n send,\n sendFireAndForget,\n on: (type, callback) => {\n connection.on(type, (msg) => {\n if (msg.domain !== domain) {\n return;\n }\n try {\n callback(msg);\n }\n catch (e) {\n logger.error(`Callback failed: ${e} \\n ${e.stack} \\n msg was: ${JSON.stringify(msg)}`, e);\n }\n });\n },\n loggedIn: (callback) => connection.loggedIn(callback),\n connected: (callback) => connection.connected(callback),\n disconnected: (callback) => connection.disconnected(callback),\n get peerId() {\n return connection.peerId;\n },\n get domain() {\n return domain;\n },\n };\n}\n\nclass Connection {\n settings;\n logger;\n protocolVersion = 3;\n peerId;\n token;\n info;\n resolvedIdentity;\n availableDomains;\n gatewayToken;\n replayer;\n messageHandlers = {};\n ids = 1;\n registry = CallbackRegistryFactory();\n _connected = false;\n isTrace = false;\n transport;\n _defaultTransport;\n _defaultAuth;\n _targetTransport;\n _targetAuth;\n _swapTransport = false;\n _switchInProgress = false;\n _transportSubscriptions = [];\n datePrefix = \"#T42_DATE#\";\n datePrefixLen = this.datePrefix.length;\n dateMinLen = this.datePrefixLen + 1;\n datePrefixFirstChar = this.datePrefix[0];\n _sequelizer = new AsyncSequelizer();\n _isLoggedIn = false;\n shouldTryLogin = true;\n pingTimer;\n sessions = [];\n globalDomain;\n initialLogin = true;\n initialLoginAttempts = 3;\n loginConfig;\n constructor(settings, logger) {\n this.settings = settings;\n this.logger = logger;\n settings = settings || {};\n settings.reconnectAttempts = settings.reconnectAttempts ?? 10;\n settings.reconnectInterval = settings.reconnectInterval ?? 1000;\n if (settings.inproc) {\n this.transport = new InProcTransport(settings.inproc, logger.subLogger(\"inMemory\"));\n }\n else if (settings.sharedWorker) {\n this.transport = new SharedWorkerTransport(settings.sharedWorker, logger.subLogger(\"shared-worker\"));\n }\n else if (settings.webPlatform) {\n this.transport = new WebPlatformTransport(settings.webPlatform, logger.subLogger(\"web-platform\"), settings.identity);\n }\n else if (settings.ws !== undefined) {\n this.transport = new WS(settings, logger.subLogger(\"ws\"));\n }\n else {\n throw new Error(\"No connection information specified\");\n }\n this.isTrace = logger.canPublish(\"trace\");\n logger.debug(`starting with ${this.transport.name()} transport`);\n const unsubConnectionChanged = this.transport.onConnectedChanged(this.handleConnectionChanged.bind(this));\n const unsubOnMessage = this.transport.onMessage(this.handleTransportMessage.bind(this));\n this._transportSubscriptions.push(unsubConnectionChanged);\n this._transportSubscriptions.push(unsubOnMessage);\n this._defaultTransport = this.transport;\n this.ping();\n }\n async switchTransport(settings) {\n return this._sequelizer.enqueue(async () => {\n if (!settings || typeof settings !== \"object\") {\n throw new Error(\"Cannot switch transports, because the settings are missing or invalid.\");\n }\n if (typeof settings.type === \"undefined\") {\n throw new Error(\"Cannot switch the transport, because the type is not defined\");\n }\n this.logger.trace(`Starting transport switch with settings: ${JSON.stringify(settings)}`);\n const switchTargetTransport = settings.type === \"secondary\" ? this.getNewSecondaryTransport(settings) : this._defaultTransport;\n this._targetTransport = switchTargetTransport;\n this._targetAuth = settings.type === \"secondary\" ? this.getNewSecondaryAuth(settings) : this._defaultAuth;\n const verifyPromise = this.verifyConnection();\n this._swapTransport = true;\n this._switchInProgress = true;\n this.logger.trace(\"The new transport has been set, closing the current transport\");\n await this.transport.close();\n try {\n await verifyPromise;\n const isSwitchSuccess = this.transport === switchTargetTransport;\n this.logger.info(`The reconnection after the switch was completed. Was the switch a success: ${isSwitchSuccess}`);\n this._switchInProgress = false;\n return { success: isSwitchSuccess };\n }\n catch (error) {\n this.logger.info(\"The reconnection after the switch timed out, reverting back to the default transport.\");\n this.switchTransport({ type: \"default\" });\n this._switchInProgress = false;\n return { success: false };\n }\n });\n }\n onLibReAnnounced(callback) {\n return this.registry.add(\"libReAnnounced\", callback);\n }\n setLibReAnnounced(lib) {\n this.registry.execute(\"libReAnnounced\", lib);\n }\n send(message, options) {\n if (this.transport.sendObject &&\n this.transport.isObjectBasedTransport) {\n const msg = this.createObjectMessage(message);\n if (this.isTrace) {\n this.logger.trace(`>> ${JSON.stringify(msg)}`);\n }\n return this.transport.sendObject(msg, options);\n }\n else {\n const strMessage = this.createStringMessage(message);\n if (this.isTrace) {\n this.logger.trace(`>> ${strMessage}`);\n }\n return this.transport.send(strMessage, options);\n }\n }\n on(type, messageHandler) {\n type = type.toLowerCase();\n if (this.messageHandlers[type] === undefined) {\n this.messageHandlers[type] = {};\n }\n const id = this.ids++;\n this.messageHandlers[type][id] = messageHandler;\n return {\n type,\n id,\n };\n }\n off(info) {\n delete this.messageHandlers[info.type.toLowerCase()][info.id];\n }\n get isConnected() {\n return this._isLoggedIn;\n }\n connected(callback) {\n return this.loggedIn(() => {\n const currentServer = this.transport.name();\n callback(currentServer);\n });\n }\n disconnected(callback) {\n return this.registry.add(\"disconnected\", callback);\n }\n async login(authRequest, reconnect) {\n if (!this._defaultAuth) {\n this._defaultAuth = authRequest;\n }\n if (this._swapTransport) {\n this.logger.trace(\"Detected a transport swap, swapping transports\");\n const newAuth = this.transportSwap();\n authRequest = newAuth ?? authRequest;\n }\n this.logger.trace(`Starting login for transport: ${this.transport.name()} and auth ${JSON.stringify(authRequest)}`);\n try {\n await this.transport.open();\n this.logger.trace(`Transport: ${this.transport.name()} opened, logging in`);\n timer(\"connection\").mark(\"transport-opened\");\n const identity = await this.loginCore(authRequest, reconnect);\n this.logger.trace(`Logged in with identity: ${JSON.stringify(identity)}`);\n timer(\"connection\").mark(\"protocol-logged-in\");\n return identity;\n }\n catch (error) {\n if (this._switchInProgress) {\n this.logger.trace(\"An error while logging in after a transport swap, preparing a default swap.\");\n this.prepareDefaultSwap();\n }\n throw new Error(error);\n }\n }\n async logout() {\n await this.logoutCore();\n await this.transport.close();\n }\n loggedIn(callback) {\n if (this._isLoggedIn) {\n callback();\n }\n return this.registry.add(\"onLoggedIn\", callback);\n }\n domain(domain, successMessages, errorMessages) {\n let session = this.sessions.find((s) => s.domain === domain);\n if (!session) {\n session = domainSession(domain, this, this.logger.subLogger(`domain=${domain}`), successMessages, errorMessages);\n this.sessions.push(session);\n }\n return session;\n }\n authToken() {\n const createTokenReq = {\n domain: \"global\",\n type: \"create-token\"\n };\n if (!this.globalDomain) {\n return Promise.reject(new Error(\"no global domain session\"));\n }\n return this.globalDomain.send(createTokenReq)\n .then((res) => {\n return res.token;\n });\n }\n reconnect() {\n return this.transport.reconnect();\n }\n setLoggedIn(value) {\n this._isLoggedIn = value;\n if (this._isLoggedIn) {\n this.registry.execute(\"onLoggedIn\");\n }\n }\n distributeMessage(message, type) {\n const handlers = this.messageHandlers[type.toLowerCase()];\n if (handlers !== undefined) {\n Object.keys(handlers).forEach((handlerId) => {\n const handler = handlers[handlerId];\n if (handler !== undefined) {\n try {\n handler(message);\n }\n catch (error) {\n try {\n this.logger.error(`Message handler failed with ${error.stack}`, error);\n }\n catch (loggerError) {\n console.log(\"Message handler failed\", error);\n }\n }\n }\n });\n }\n }\n handleConnectionChanged(connected) {\n if (this._connected === connected) {\n return;\n }\n this._connected = connected;\n if (connected) {\n if (this.settings?.replaySpecs?.length) {\n this.replayer = new MessageReplayerImpl(this.settings.replaySpecs);\n this.replayer.init(this);\n }\n this.registry.execute(\"connected\");\n }\n else {\n this.handleDisconnected();\n this.registry.execute(\"disconnected\");\n }\n }\n handleDisconnected() {\n this.setLoggedIn(false);\n const tryToLogin = this.shouldTryLogin;\n if (tryToLogin && this.initialLogin) {\n if (this.initialLoginAttempts <= 0) {\n return;\n }\n this.initialLoginAttempts--;\n }\n this.logger.debug(\"disconnected - will try new login?\" + this.shouldTryLogin);\n if (this.shouldTryLogin) {\n if (!this.loginConfig) {\n throw new Error(\"no login info\");\n }\n this.login(this.loginConfig, true)\n .catch(() => {\n setTimeout(this.handleDisconnected.bind(this), this.settings.reconnectInterval || 1000);\n });\n }\n }\n handleTransportMessage(msg) {\n let msgObj;\n if (typeof msg === \"string\") {\n msgObj = this.processStringMessage(msg);\n }\n else {\n msgObj = this.processObjectMessage(msg);\n }\n if (this.isTrace) {\n this.logger.trace(`<< ${JSON.stringify(msgObj)}`);\n }\n this.distributeMessage(msgObj.msg, msgObj.msgType);\n }\n verifyConnection() {\n return PromisePlus((resolve) => {\n let unsub;\n const ready = waitForInvocations(2, () => {\n if (unsub) {\n unsub();\n }\n resolve();\n });\n unsub = this.onLibReAnnounced((lib) => {\n if (lib.name === \"interop\") {\n return ready();\n }\n if (lib.name === \"contexts\") {\n return ready();\n }\n });\n }, 10000, \"Transport switch timed out waiting for all libraries to be re-announced\");\n }\n getNewSecondaryTransport(settings) {\n if (!settings.transportConfig?.url) {\n throw new Error(\"Missing secondary transport URL.\");\n }\n return new WS(Object.assign({}, this.settings, { ws: settings.transportConfig.url, reconnectAttempts: 1 }), this.logger.subLogger(\"ws-secondary\"));\n }\n getNewSecondaryAuth(settings) {\n if (!settings.transportConfig?.auth) {\n throw new Error(\"Missing secondary transport auth information.\");\n }\n return settings.transportConfig.auth;\n }\n transportSwap() {\n this._swapTransport = false;\n if (!this._targetTransport || !this._targetAuth) {\n this.logger.warn(`Error while switching transports - either the target transport or auth is not defined: transport defined -> ${!!this._defaultTransport}, auth defined -> ${!!this._targetAuth}. Staying on the current one.`);\n return;\n }\n this._transportSubscriptions.forEach((unsub) => unsub());\n this._transportSubscriptions = [];\n this.transport = this._targetTransport;\n const unsubConnectionChanged = this.transport.onConnectedChanged(this.handleConnectionChanged.bind(this));\n const unsubOnMessage = this.transport.onMessage(this.handleTransportMessage.bind(this));\n this._transportSubscriptions.push(unsubConnectionChanged);\n this._transportSubscriptions.push(unsubOnMessage);\n return this._targetAuth;\n }\n prepareDefaultSwap() {\n this._transportSubscriptions.forEach((unsub) => unsub());\n this._transportSubscriptions = [];\n this.transport.close().catch((error) => this.logger.warn(`Error closing the ${this.transport.name()} transport after a failed connection attempt: ${JSON.stringify(error)}`));\n this._targetTransport = this._defaultTransport;\n this._targetAuth = this._defaultAuth;\n this._swapTransport = true;\n }\n processStringMessage(message) {\n const msg = JSON.parse(message, (key, value) => {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value.length < this.dateMinLen) {\n return value;\n }\n if (!value.startsWith(this.datePrefixFirstChar)) {\n return value;\n }\n if (value.substring(0, this.datePrefixLen) !== this.datePrefix) {\n return value;\n }\n try {\n const milliseconds = parseInt(value.substring(this.datePrefixLen, value.length), 10);\n if (isNaN(milliseconds)) {\n return value;\n }\n return new Date(milliseconds);\n }\n catch (ex) {\n return value;\n }\n });\n return {\n msg,\n msgType: msg.type,\n };\n }\n createStringMessage(message) {\n const oldToJson = Date.prototype.toJSON;\n try {\n const datePrefix = this.datePrefix;\n Date.prototype.toJSON = function () {\n return datePrefix + this.getTime();\n };\n const result = JSON.stringify(message);\n return result;\n }\n finally {\n Date.prototype.toJSON = oldToJson;\n }\n }\n processObjectMessage(message) {\n if (!message.type) {\n throw new Error(\"Object should have type property\");\n }\n return {\n msg: message,\n msgType: message.type,\n };\n }\n createObjectMessage(message) {\n return message;\n }\n async loginCore(config, reconnect) {\n this.logger.info(\"logging in...\");\n this.loginConfig = config;\n if (!this.loginConfig) {\n this.loginConfig = { username: \"\", password: \"\" };\n }\n this.shouldTryLogin = true;\n const authentication = await this.setupAuthConfig(config, reconnect);\n const helloMsg = {\n type: \"hello\",\n identity: this.settings.identity,\n authentication\n };\n if (config.sessionId) {\n helloMsg.request_id = config.sessionId;\n }\n this.globalDomain = domainSession(\"global\", this, this.logger.subLogger(\"global-domain\"), [\n \"welcome\",\n \"token\",\n \"authentication-request\"\n ]);\n const sendOptions = { skipPeerId: true };\n if (this.initialLogin) {\n sendOptions.retryInterval = this.settings.reconnectInterval;\n sendOptions.maxRetries = this.settings.reconnectAttempts;\n }\n try {\n const welcomeMsg = await this.tryAuthenticate(this.globalDomain, helloMsg, sendOptions, config);\n this.initialLogin = false;\n this.logger.info(\"login successful with peerId \" + welcomeMsg.peer_id);\n this.peerId = welcomeMsg.peer_id;\n this.resolvedIdentity = welcomeMsg.resolved_identity;\n this.availableDomains = welcomeMsg.available_domains;\n if (welcomeMsg.options) {\n this.token = welcomeMsg.options.access_token;\n this.info = welcomeMsg.options.info;\n }\n this.setLoggedIn(true);\n return welcomeMsg.resolved_identity;\n }\n catch (err) {\n this.logger.error(\"error sending hello message - \" + (err.message || err.msg || err.reason || err), err);\n throw err;\n }\n finally {\n if (config?.flowCallback && config.sessionId) {\n config.flowCallback(config.sessionId, null);\n }\n }\n }\n async tryAuthenticate(globalDomain, helloMsg, sendOptions, config) {\n let welcomeMsg;\n while (true) {\n const msg = await globalDomain.send(helloMsg, undefined, sendOptions);\n if (msg.type === \"authentication-request\") {\n const token = Buffer.from(msg.authentication.token, \"base64\");\n if (config.flowCallback && config.sessionId) {\n helloMsg.authentication.token =\n (await config.flowCallback(config.sessionId, token))\n .data\n .toString(\"base64\");\n }\n helloMsg.request_id = config.sessionId;\n }\n else if (msg.type === \"welcome\") {\n welcomeMsg = msg;\n break;\n }\n else if (msg.type === \"error\") {\n throw new Error(\"Authentication failed: \" + msg.reason);\n }\n else {\n throw new Error(\"Unexpected message type during authentication: \" + msg.type);\n }\n }\n return welcomeMsg;\n }\n async setupAuthConfig(config, reconnect) {\n const authentication = {};\n this.gatewayToken = config.gatewayToken;\n if (config.gatewayToken) {\n if (reconnect) {\n try {\n config.gatewayToken = await this.getNewGWToken();\n }\n catch (e) {\n this.logger.warn(`failed to get GW token when reconnecting ${e?.message || e}`);\n }\n }\n authentication.method = \"gateway-token\";\n authentication.token = config.gatewayToken;\n this.gatewayToken = config.gatewayToken;\n }\n else if (config.flowName === \"sspi\") {\n authentication.provider = \"win\";\n authentication.method = \"access-token\";\n if (config.flowCallback && config.sessionId) {\n authentication.token =\n (await config.flowCallback(config.sessionId, null))\n .data\n .toString(\"base64\");\n }\n else {\n throw new Error(\"Invalid SSPI config\");\n }\n }\n else if (config.token) {\n authentication.method = \"access-token\";\n authentication.token = config.token;\n }\n else if (config.username) {\n authentication.method = \"secret\";\n authentication.login = config.username;\n authentication.secret = config.password;\n }\n else if (config.provider) {\n authentication.provider = config.provider;\n authentication.providerContext = config.providerContext;\n }\n else {\n throw new Error(\"invalid auth message\" + JSON.stringify(config));\n }\n return authentication;\n }\n async logoutCore() {\n this.logger.debug(\"logging out...\");\n this.shouldTryLogin = false;\n if (this.pingTimer) {\n clearTimeout(this.pingTimer);\n }\n const promises = this.sessions.map((session) => {\n session.leave();\n });\n await Promise.all(promises);\n }\n getNewGWToken() {\n if (typeof window !== \"undefined\") {\n const glue42gd = window.glue42gd;\n if (glue42gd) {\n return glue42gd.getGWToken();\n }\n }\n return Promise.reject(new Error(\"not running in GD\"));\n }\n ping() {\n if (!this.shouldTryLogin) {\n return;\n }\n if (this._isLoggedIn) {\n this.send({ type: \"ping\" });\n }\n this.pingTimer = setTimeout(() => {\n this.ping();\n }, 30 * 1000);\n }\n}\n\nconst order = [\"trace\", \"debug\", \"info\", \"warn\", \"error\", \"off\"];\nclass Logger {\n name;\n parent;\n static Interop;\n static InteropMethodName = \"T42.AppLogger.Log\";\n static Instance;\n path;\n subLoggers = [];\n _consoleLevel;\n _publishLevel;\n loggerFullName;\n includeTimeAndLevel;\n logFn = console;\n customLogFn = false;\n constructor(name, parent, logFn) {\n this.name = name;\n this.parent = parent;\n this.name = name;\n if (parent) {\n this.path = `${parent.path}.${name}`;\n }\n else {\n this.path = name;\n }\n this.loggerFullName = `[${this.path}]`;\n this.includeTimeAndLevel = !logFn;\n if (logFn) {\n this.logFn = logFn;\n this.customLogFn = true;\n }\n }\n subLogger(name) {\n const existingSub = this.subLoggers.filter((subLogger) => {\n return subLogger.name === name;\n })[0];\n if (existingSub !== undefined) {\n return existingSub;\n }\n Object.keys(this).forEach((key) => {\n if (key === name) {\n throw new Error(\"This sub logger name is not allowed.\");\n }\n });\n const sub = new Logger(name, this, this.customLogFn ? this.logFn : undefined);\n this.subLoggers.push(sub);\n return sub;\n }\n publishLevel(level) {\n if (level) {\n this._publishLevel = level;\n }\n return this._publishLevel || this.parent?.publishLevel();\n }\n consoleLevel(level) {\n if (level) {\n this._consoleLevel = level;\n }\n return this._consoleLevel || this.parent?.consoleLevel();\n }\n log(message, level, error) {\n this.publishMessage(level || \"info\", message, error);\n }\n trace(message) {\n this.log(message, \"trace\");\n }\n debug(message) {\n this.log(message, \"debug\");\n }\n info(message) {\n this.log(message, \"info\");\n }\n warn(message) {\n this.log(message, \"warn\");\n }\n error(message, err) {\n this.log(message, \"error\", err);\n }\n canPublish(level, compareWith) {\n const levelIdx = order.indexOf(level);\n const restrictionIdx = order.indexOf(compareWith || this.consoleLevel() || \"trace\");\n return levelIdx >= restrictionIdx;\n }\n publishMessage(level, message, error) {\n const loggerName = this.loggerFullName;\n if (level === \"error\" && !error) {\n const e = new Error();\n if (e.stack) {\n message =\n message +\n \"\\n\" +\n e.stack\n .split(\"\\n\")\n .slice(4)\n .join(\"\\n\");\n }\n }\n if (this.canPublish(level, this.publishLevel())) {\n const interop = Logger.Interop;\n if (interop) {\n try {\n if (interop.methods({ name: Logger.InteropMethodName }).length > 0) {\n const args = {\n msg: message,\n logger: loggerName,\n level\n };\n if (error && error instanceof Error) {\n args.error = {\n message: error.message,\n stack: error.stack ?? \"\"\n };\n }\n interop.invoke(Logger.InteropMethodName, args);\n }\n }\n catch {\n }\n }\n }\n if (this.canPublish(level)) {\n let prefix = \"\";\n if (this.includeTimeAndLevel) {\n const date = new Date();\n const time = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}`;\n prefix = `[${time}] [${level}] `;\n }\n const toPrint = `${prefix}${loggerName}: ${message}`;\n switch (level) {\n case \"trace\":\n this.logFn.debug(toPrint);\n break;\n case \"debug\":\n if (this.logFn.debug) {\n this.logFn.debug(toPrint);\n }\n else {\n this.logFn.log(toPrint);\n }\n break;\n case \"info\":\n this.logFn.info(toPrint);\n break;\n case \"warn\":\n this.logFn.warn(toPrint);\n break;\n case \"error\":\n this.logFn.error(toPrint, error);\n break;\n }\n }\n }\n}\n\nconst GW_MESSAGE_CREATE_CONTEXT = \"create-context\";\nconst GW_MESSAGE_ACTIVITY_CREATED = \"created\";\nconst GW_MESSAGE_ACTIVITY_DESTROYED = \"destroyed\";\nconst GW_MESSAGE_CONTEXT_CREATED = \"context-created\";\nconst GW_MESSAGE_CONTEXT_ADDED = \"context-added\";\nconst GW_MESSAGE_SUBSCRIBE_CONTEXT = \"subscribe-context\";\nconst GW_MESSAGE_SUBSCRIBED_CONTEXT = \"subscribed-context\";\nconst GW_MESSAGE_UNSUBSCRIBE_CONTEXT = \"unsubscribe-context\";\nconst GW_MESSAGE_DESTROY_CONTEXT = \"destroy-context\";\nconst GW_MESSAGE_CONTEXT_DESTROYED = \"context-destroyed\";\nconst GW_MESSAGE_UPDATE_CONTEXT = \"update-context\";\nconst GW_MESSAGE_CONTEXT_UPDATED = \"context-updated\";\nconst GW_MESSAGE_JOINED_ACTIVITY = \"joined\";\n\nconst ContextMessageReplaySpec = {\n get name() {\n return \"context\";\n },\n get types() {\n return [\n GW_MESSAGE_CREATE_CONTEXT,\n GW_MESSAGE_ACTIVITY_CREATED,\n GW_MESSAGE_ACTIVITY_DESTROYED,\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_CONTEXT_ADDED,\n GW_MESSAGE_SUBSCRIBE_CONTEXT,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_UNSUBSCRIBE_CONTEXT,\n GW_MESSAGE_DESTROY_CONTEXT,\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_UPDATE_CONTEXT,\n GW_MESSAGE_CONTEXT_UPDATED,\n GW_MESSAGE_JOINED_ACTIVITY\n ];\n }\n};\n\nvar version = \"6.5.0\";\n\nfunction prepareConfig (configuration, ext, glue42gd) {\n let nodeStartingContext;\n if (Utils.isNode()) {\n const startingContextString = process.env._GD_STARTING_CONTEXT_;\n if (startingContextString) {\n try {\n nodeStartingContext = JSON.parse(startingContextString);\n }\n catch {\n }\n }\n }\n function getConnection() {\n const gwConfig = configuration.gateway;\n const protocolVersion = gwConfig?.protocolVersion ?? 3;\n const reconnectInterval = gwConfig?.reconnectInterval;\n const reconnectAttempts = gwConfig?.reconnectAttempts;\n const defaultWs = \"ws://localhost:8385\";\n let ws = gwConfig?.ws;\n const sharedWorker = gwConfig?.sharedWorker;\n const inproc = gwConfig?.inproc;\n const webPlatform = gwConfig?.webPlatform ?? undefined;\n if (glue42gd) {\n ws = glue42gd.gwURL;\n }\n if (Utils.isNode() && nodeStartingContext && nodeStartingContext.gwURL) {\n ws = nodeStartingContext.gwURL;\n }\n if (!ws && !sharedWorker && !inproc) {\n ws = defaultWs;\n }\n let instanceId;\n let windowId;\n let pid;\n let environment;\n let region;\n const appName = getApplication();\n let uniqueAppName = appName;\n if (typeof glue42gd !== \"undefined\") {\n windowId = glue42gd.windowId;\n pid = glue42gd.pid;\n if (glue42gd.env) {\n environment = glue42gd.env.env;\n region = glue42gd.env.region;\n }\n uniqueAppName = glue42gd.application ?? \"glue-app\";\n instanceId = glue42gd.appInstanceId;\n }\n else if (Utils.isNode()) {\n pid = process.pid;\n if (nodeStartingContext) {\n environment = nodeStartingContext.env;\n region = nodeStartingContext.region;\n instanceId = nodeStartingContext.instanceId;\n }\n }\n else if (typeof window?.glue42electron !== \"undefined\") {\n windowId = window?.glue42electron.instanceId;\n pid = window?.glue42electron.pid;\n environment = window?.glue42electron.env;\n region = window?.glue42electron.region;\n uniqueAppName = window?.glue42electron.application ?? \"glue-app\";\n instanceId = window?.glue42electron.instanceId;\n }\n else ;\n const replaySpecs = configuration.gateway?.replaySpecs ?? [];\n replaySpecs.push(ContextMessageReplaySpec);\n let identity = {\n application: uniqueAppName,\n applicationName: appName,\n windowId,\n instance: instanceId,\n process: pid,\n region,\n environment,\n api: ext.version || version\n };\n if (configuration.identity) {\n identity = Object.assign(identity, configuration.identity);\n }\n return {\n identity,\n reconnectInterval,\n ws,\n sharedWorker,\n webPlatform,\n inproc,\n protocolVersion,\n reconnectAttempts,\n replaySpecs,\n };\n }\n function getContexts() {\n if (typeof configuration.contexts === \"undefined\") {\n return { reAnnounceKnownContexts: true };\n }\n if (typeof configuration.contexts === \"boolean\" && configuration.contexts) {\n return { reAnnounceKnownContexts: true };\n }\n if (typeof configuration.contexts === \"object\") {\n return Object.assign({}, { reAnnounceKnownContexts: true }, configuration.contexts);\n }\n return false;\n }\n function getApplication() {\n if (configuration.application) {\n return configuration.application;\n }\n if (glue42gd) {\n return glue42gd.applicationName;\n }\n if (typeof window !== \"undefined\" && typeof window.glue42electron !== \"undefined\") {\n return window.glue42electron.application;\n }\n const uid = nanoid(10);\n if (Utils.isNode()) {\n if (nodeStartingContext) {\n return nodeStartingContext.applicationConfig.name;\n }\n return \"NodeJS\" + uid;\n }\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n return document.title + ` (${uid})`;\n }\n return uid;\n }\n function getAuth() {\n if (typeof configuration.auth === \"string\") {\n return {\n token: configuration.auth\n };\n }\n if (configuration.auth) {\n return configuration.auth;\n }\n if (Utils.isNode() && nodeStartingContext && nodeStartingContext.gwToken) {\n return {\n gatewayToken: nodeStartingContext.gwToken\n };\n }\n if (configuration.gateway?.webPlatform || configuration.gateway?.inproc || configuration.gateway?.sharedWorker) {\n return {\n username: \"glue42\", password: \"glue42\"\n };\n }\n }\n function getLogger() {\n let config = configuration.logger;\n const defaultLevel = \"warn\";\n if (!config) {\n config = defaultLevel;\n }\n let gdConsoleLevel;\n if (glue42gd) {\n gdConsoleLevel = glue42gd.consoleLogLevel;\n }\n if (typeof config === \"string\") {\n return { console: gdConsoleLevel ?? config, publish: defaultLevel };\n }\n return {\n console: gdConsoleLevel ?? config.console ?? defaultLevel,\n publish: config.publish ?? defaultLevel\n };\n }\n const connection = getConnection();\n let application = getApplication();\n if (typeof window !== \"undefined\") {\n const windowAsAny = window;\n const containerApplication = windowAsAny.htmlContainer ?\n `${windowAsAny.htmlContainer.containerName}.${windowAsAny.htmlContainer.application}` :\n windowAsAny?.glue42gd?.application;\n if (containerApplication) {\n application = containerApplication;\n }\n }\n return {\n bus: configuration.bus ?? false,\n application,\n auth: getAuth(),\n logger: getLogger(),\n connection,\n metrics: configuration.metrics ?? true,\n contexts: getContexts(),\n version: ext.version || version,\n libs: ext.libs ?? [],\n customLogger: configuration.customLogger\n };\n}\n\nclass GW3ContextData {\n name;\n contextId;\n context;\n isAnnounced;\n joinedActivity;\n updateCallbacks = {};\n activityId;\n sentExplicitSubscription;\n hasReceivedSnapshot;\n constructor(contextId, name, isAnnounced, activityId) {\n this.contextId = contextId;\n this.name = name;\n this.isAnnounced = isAnnounced;\n this.activityId = activityId;\n this.context = {};\n }\n hasCallbacks() {\n return Object.keys(this.updateCallbacks).length > 0;\n }\n getState() {\n if (this.isAnnounced && this.hasCallbacks()) {\n return 3;\n }\n if (this.isAnnounced) {\n return 2;\n }\n if (this.hasCallbacks()) {\n return 1;\n }\n return 0;\n }\n}\n\nvar lodash_clonedeep = {exports: {}};\n\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\nlodash_clonedeep.exports;\n\n(function (module, exports) {\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t promiseTag = '[object Promise]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t symbolTag = '[object Symbol]',\n\t weakMapTag = '[object WeakMap]';\n\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n\tcloneableTags[boolTag] = cloneableTags[dateTag] =\n\tcloneableTags[float32Tag] = cloneableTags[float64Tag] =\n\tcloneableTags[int8Tag] = cloneableTags[int16Tag] =\n\tcloneableTags[int32Tag] = cloneableTags[mapTag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[setTag] =\n\tcloneableTags[stringTag] = cloneableTags[symbolTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[weakMapTag] = false;\n\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\n\t/** Detect free variable `exports`. */\n\tvar freeExports = exports && !exports.nodeType && exports;\n\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n\t/**\n\t * Adds the key-value `pair` to `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to modify.\n\t * @param {Array} pair The key-value pair to add.\n\t * @returns {Object} Returns `map`.\n\t */\n\tfunction addMapEntry(map, pair) {\n\t // Don't return `map.set` because it's not chainable in IE 11.\n\t map.set(pair[0], pair[1]);\n\t return map;\n\t}\n\n\t/**\n\t * Adds `value` to `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to modify.\n\t * @param {*} value The value to add.\n\t * @returns {Object} Returns `set`.\n\t */\n\tfunction addSetEntry(set, value) {\n\t // Don't return `set.add` because it's not chainable in IE 11.\n\t set.add(value);\n\t return set;\n\t}\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array ? array.length : 0;\n\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * A specialized version of `_.reduce` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {*} [accumulator] The initial value.\n\t * @param {boolean} [initAccum] Specify using the first element of `array` as\n\t * the initial value.\n\t * @returns {*} Returns the accumulated value.\n\t */\n\tfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n\t var index = -1,\n\t length = array ? array.length : 0;\n\t while (++index < length) {\n\t accumulator = iteratee(accumulator, array[index], index, array);\n\t }\n\t return accumulator;\n\t}\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t var index = -1,\n\t result = Array(map.size);\n\n\t map.forEach(function(value, key) {\n\t result[++index] = [key, value];\n\t });\n\t return result;\n\t}\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function(arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype,\n\t funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined,\n\t Symbol = root.Symbol,\n\t Uint8Array = root.Uint8Array,\n\t getPrototype = overArg(Object.getPrototypeOf, Object),\n\t objectCreate = Object.create,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable,\n\t splice = arrayProto.splice;\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols,\n\t nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n\t nativeKeys = overArg(Object.keys, Object);\n\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView'),\n\t Map = getNative(root, 'Map'),\n\t Promise = getNative(root, 'Promise'),\n\t Set = getNative(root, 'Set'),\n\t WeakMap = getNative(root, 'WeakMap'),\n\t nativeCreate = getNative(Object, 'create');\n\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t mapCtorString = toSource(Map),\n\t promiseCtorString = toSource(Promise),\n\t setCtorString = toSource(Set),\n\t weakMapCtorString = toSource(WeakMap);\n\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t}\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t return this.has(key) && delete this.__data__[key];\n\t}\n\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n\t}\n\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t}\n\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t return true;\n\t}\n\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t return getMapData(this, key)['delete'](key);\n\t}\n\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t getMapData(this, key).set(key, value);\n\t return this;\n\t}\n\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t this.__data__ = new ListCache(entries);\n\t}\n\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t this.__data__ = new ListCache;\n\t}\n\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t return this.__data__['delete'](key);\n\t}\n\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t return this.__data__.get(key);\n\t}\n\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t return this.__data__.has(key);\n\t}\n\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t var cache = this.__data__;\n\t if (cache instanceof ListCache) {\n\t var pairs = cache.__data__;\n\t if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t pairs.push([key, value]);\n\t return this;\n\t }\n\t cache = this.__data__ = new MapCache(pairs);\n\t }\n\t cache.set(key, value);\n\t return this;\n\t}\n\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t // Safari 9 makes `arguments.length` enumerable in strict mode.\n\t var result = (isArray(value) || isArguments(value))\n\t ? baseTimes(value.length, String)\n\t : [];\n\n\t var length = result.length,\n\t skipIndexes = !!length;\n\n\t for (var key in value) {\n\t if ((hasOwnProperty.call(value, key)) &&\n\t !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t object[key] = value;\n\t }\n\t}\n\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\n\t/**\n\t * The base implementation of `_.assign` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return object && copyObject(source, keys(source), object);\n\t}\n\n\t/**\n\t * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n\t * traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {boolean} [isFull] Specify a clone including symbols.\n\t * @param {Function} [customizer] The function to customize cloning.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The parent object of `value`.\n\t * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object, stack) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return copyArray(value, result);\n\t }\n\t } else {\n\t var tag = getTag(value),\n\t isFunc = tag == funcTag || tag == genTag;\n\n\t if (isBuffer(value)) {\n\t return cloneBuffer(value, isDeep);\n\t }\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t if (isHostObject(value)) {\n\t return object ? value : {};\n\t }\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return copySymbols(value, baseAssign(result, value));\n\t }\n\t } else {\n\t if (!cloneableTags[tag]) {\n\t return object ? value : {};\n\t }\n\t result = initCloneByTag(value, tag, baseClone, isDeep);\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stack || (stack = new Stack);\n\t var stacked = stack.get(value);\n\t if (stacked) {\n\t return stacked;\n\t }\n\t stack.set(value, result);\n\n\t if (!isArr) {\n\t var props = isFull ? getAllKeys(value) : keys(value);\n\t }\n\t arrayEach(props || value, function(subValue, key) {\n\t if (props) {\n\t key = subValue;\n\t subValue = value[key];\n\t }\n\t // Recursively populate clone (susceptible to call stack limits).\n\t assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n\t });\n\t return result;\n\t}\n\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} prototype The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tfunction baseCreate(proto) {\n\t return isObject(proto) ? objectCreate(proto) : {};\n\t}\n\n\t/**\n\t * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n\t * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @param {Function} symbolsFunc The function to get the symbols of `object`.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n\t var result = keysFunc(object);\n\t return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n\t}\n\n\t/**\n\t * The base implementation of `getTag`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t return objectToString.call(value);\n\t}\n\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t if (!isPrototype(object)) {\n\t return nativeKeys(object);\n\t }\n\t var result = [];\n\t for (var key in Object(object)) {\n\t if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `buffer`.\n\t *\n\t * @private\n\t * @param {Buffer} buffer The buffer to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Buffer} Returns the cloned buffer.\n\t */\n\tfunction cloneBuffer(buffer, isDeep) {\n\t if (isDeep) {\n\t return buffer.slice();\n\t }\n\t var result = new buffer.constructor(buffer.length);\n\t buffer.copy(result);\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `arrayBuffer`.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction cloneArrayBuffer(arrayBuffer) {\n\t var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n\t new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `dataView`.\n\t *\n\t * @private\n\t * @param {Object} dataView The data view to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned data view.\n\t */\n\tfunction cloneDataView(dataView, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n\t return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n\t}\n\n\t/**\n\t * Creates a clone of `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned map.\n\t */\n\tfunction cloneMap(map, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n\t return arrayReduce(array, addMapEntry, new map.constructor);\n\t}\n\n\t/**\n\t * Creates a clone of `regexp`.\n\t *\n\t * @private\n\t * @param {Object} regexp The regexp to clone.\n\t * @returns {Object} Returns the cloned regexp.\n\t */\n\tfunction cloneRegExp(regexp) {\n\t var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n\t result.lastIndex = regexp.lastIndex;\n\t return result;\n\t}\n\n\t/**\n\t * Creates a clone of `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned set.\n\t */\n\tfunction cloneSet(set, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n\t return arrayReduce(array, addSetEntry, new set.constructor);\n\t}\n\n\t/**\n\t * Creates a clone of the `symbol` object.\n\t *\n\t * @private\n\t * @param {Object} symbol The symbol object to clone.\n\t * @returns {Object} Returns the cloned symbol object.\n\t */\n\tfunction cloneSymbol(symbol) {\n\t return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n\t}\n\n\t/**\n\t * Creates a clone of `typedArray`.\n\t *\n\t * @private\n\t * @param {Object} typedArray The typed array to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned typed array.\n\t */\n\tfunction cloneTypedArray(typedArray, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n\t return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n\t}\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction copyArray(source, array) {\n\t var index = -1,\n\t length = source.length;\n\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t object || (object = {});\n\n\t var index = -1,\n\t length = props.length;\n\n\t while (++index < length) {\n\t var key = props[index];\n\n\t var newValue = undefined;\n\n\t assignValue(object, key, newValue === undefined ? source[key] : newValue);\n\t }\n\t return object;\n\t}\n\n\t/**\n\t * Copies own symbol properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbols(source, object) {\n\t return copyObject(source, getSymbols(source), object);\n\t}\n\n\t/**\n\t * Creates an array of own enumerable property names and symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeys(object) {\n\t return baseGetAllKeys(object, keys, getSymbols);\n\t}\n\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\n\t/**\n\t * Creates an array of the own enumerable symbol properties of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\n\t// Fallback for data views, maps, sets, and weak maps in IE 11,\n\t// for data views in Edge < 14, and promises in Node.js.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t (Map && getTag(new Map) != mapTag) ||\n\t (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t (Set && getTag(new Set) != setTag) ||\n\t (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t getTag = function(value) {\n\t var result = objectToString.call(value),\n\t Ctor = result == objectTag ? value.constructor : undefined,\n\t ctorString = Ctor ? toSource(Ctor) : undefined;\n\n\t if (ctorString) {\n\t switch (ctorString) {\n\t case dataViewCtorString: return dataViewTag;\n\t case mapCtorString: return mapTag;\n\t case promiseCtorString: return promiseTag;\n\t case setCtorString: return setTag;\n\t case weakMapCtorString: return weakMapTag;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = array.constructor(length);\n\n\t // Add properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t return (typeof object.constructor == 'function' && !isPrototype(object))\n\t ? baseCreate(getPrototype(object))\n\t : {};\n\t}\n\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return cloneArrayBuffer(object);\n\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\n\t case dataViewTag:\n\t return cloneDataView(object, isDeep);\n\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t return cloneTypedArray(object, isDeep);\n\n\t case mapTag:\n\t return cloneMap(object, isDeep, cloneFunc);\n\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\n\t case regexpTag:\n\t return cloneRegExp(object);\n\n\t case setTag:\n\t return cloneSet(object, isDeep, cloneFunc);\n\n\t case symbolTag:\n\t return cloneSymbol(object);\n\t }\n\t}\n\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length &&\n\t (typeof value == 'number' || reIsUint.test(value)) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n\t return value === proto;\n\t}\n\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\n\t/**\n\t * This method is like `_.clone` except that it recursively clones `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 1.0.0\n\t * @category Lang\n\t * @param {*} value The value to recursively clone.\n\t * @returns {*} Returns the deep cloned value.\n\t * @see _.clone\n\t * @example\n\t *\n\t * var objects = [{ 'a': 1 }, { 'b': 2 }];\n\t *\n\t * var deep = _.cloneDeep(objects);\n\t * console.log(deep[0] === objects[0]);\n\t * // => false\n\t */\n\tfunction cloneDeep(value) {\n\t return baseClone(value, true, true);\n\t}\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8-9 which returns 'object' for typed array and other constructors.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\n\t/**\n\t * This method returns a new empty array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {Array} Returns the new empty array.\n\t * @example\n\t *\n\t * var arrays = _.times(2, _.stubArray);\n\t *\n\t * console.log(arrays);\n\t * // => [[], []]\n\t *\n\t * console.log(arrays[0] === arrays[1]);\n\t * // => false\n\t */\n\tfunction stubArray() {\n\t return [];\n\t}\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t return false;\n\t}\n\n\tmodule.exports = cloneDeep; \n} (lodash_clonedeep, lodash_clonedeep.exports));\n\nvar lodash_clonedeepExports = lodash_clonedeep.exports;\nvar cloneDeep = /*@__PURE__*/getDefaultExportFromCjs(lodash_clonedeepExports);\n\nfunction applyContextDelta(context, delta, logger) {\n try {\n if (logger?.canPublish(\"trace\")) {\n logger?.trace(`applying context delta ${JSON.stringify(delta)} on context ${JSON.stringify(context)}`);\n }\n if (!delta) {\n return context;\n }\n if (delta.reset) {\n context = { ...delta.reset };\n return context;\n }\n context = deepClone(context, undefined);\n if (delta.commands) {\n for (const command of delta.commands) {\n if (command.type === \"remove\") {\n deletePath(context, command.path);\n }\n else if (command.type === \"set\") {\n setValueToPath(context, command.value, command.path);\n }\n }\n return context;\n }\n const added = delta.added;\n const updated = delta.updated;\n const removed = delta.removed;\n if (added) {\n Object.keys(added).forEach((key) => {\n context[key] = added[key];\n });\n }\n if (updated) {\n Object.keys(updated).forEach((key) => {\n mergeObjectsProperties(key, context, updated);\n });\n }\n if (removed) {\n removed.forEach((key) => {\n delete context[key];\n });\n }\n return context;\n }\n catch (e) {\n logger?.error(`error applying context delta ${JSON.stringify(delta)} on context ${JSON.stringify(context)}`, e);\n return context;\n }\n}\nfunction deepClone(obj, hash) {\n return cloneDeep(obj);\n}\nconst mergeObjectsProperties = (key, what, withWhat) => {\n const right = withWhat[key];\n if (right === undefined) {\n return what;\n }\n const left = what[key];\n if (!left || !right) {\n what[key] = right;\n return what;\n }\n if (typeof left === \"string\" ||\n typeof left === \"number\" ||\n typeof left === \"boolean\" ||\n typeof right === \"string\" ||\n typeof right === \"number\" ||\n typeof right === \"boolean\" ||\n Array.isArray(left) ||\n Array.isArray(right)) {\n what[key] = right;\n return what;\n }\n what[key] = Object.assign({}, left, right);\n return what;\n};\nfunction deepEqual(x, y) {\n if (x === y) {\n return true;\n }\n if (!(x instanceof Object) || !(y instanceof Object)) {\n return false;\n }\n if (x.constructor !== y.constructor) {\n return false;\n }\n for (const p in x) {\n if (!x.hasOwnProperty(p)) {\n continue;\n }\n if (!y.hasOwnProperty(p)) {\n return false;\n }\n if (x[p] === y[p]) {\n continue;\n }\n if (typeof (x[p]) !== \"object\") {\n return false;\n }\n if (!deepEqual(x[p], y[p])) {\n return false;\n }\n }\n for (const p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) {\n return false;\n }\n }\n return true;\n}\nfunction setValueToPath(obj, value, path) {\n const pathArr = path.split(\".\");\n let i;\n for (i = 0; i < pathArr.length - 1; i++) {\n if (!obj[pathArr[i]]) {\n obj[pathArr[i]] = {};\n }\n if (typeof obj[pathArr[i]] !== \"object\") {\n obj[pathArr[i]] = {};\n }\n obj = obj[pathArr[i]];\n }\n obj[pathArr[i]] = value;\n}\nfunction isSubset(superObj, subObj) {\n return Object.keys(subObj).every((ele) => {\n if (typeof subObj[ele] === \"object\") {\n return isSubset(superObj?.[ele] || {}, subObj[ele] || {});\n }\n return subObj[ele] === superObj?.[ele];\n });\n}\nfunction deletePath(obj, path) {\n const pathArr = path.split(\".\");\n let i;\n for (i = 0; i < pathArr.length - 1; i++) {\n if (!obj[pathArr[i]]) {\n return;\n }\n obj = obj[pathArr[i]];\n }\n delete obj[pathArr[i]];\n}\n\nclass GW3Bridge {\n _logger;\n _connection;\n _trackAllContexts;\n _reAnnounceKnownContexts;\n _gw3Session;\n _contextNameToData = {};\n _gw3Subscriptions = [];\n _nextCallbackSubscriptionNumber = 0;\n _creationPromises = {};\n _contextNameToId = {};\n _contextIdToName = {};\n _protocolVersion = undefined;\n _contextsTempCache = {};\n _contextsSubscriptionsCache = [];\n _systemContextsSubKey;\n get protocolVersion() {\n if (!this._protocolVersion) {\n const contextsDomainInfo = this._connection.availableDomains.find((d) => d.uri === \"context\");\n this._protocolVersion = contextsDomainInfo?.version ?? 1;\n }\n return this._protocolVersion;\n }\n get setPathSupported() {\n return this.protocolVersion >= 2;\n }\n constructor(config) {\n this._connection = config.connection;\n this._logger = config.logger;\n this._trackAllContexts = config.trackAllContexts;\n this._reAnnounceKnownContexts = config.reAnnounceKnownContexts;\n this._gw3Session = this._connection.domain(\"global\", [\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_CONTEXT_UPDATED,\n ]);\n this._gw3Session.disconnected(this.resetState.bind(this));\n this._gw3Session.onJoined((wasReconnect) => {\n if (!wasReconnect) {\n return;\n }\n if (!this._reAnnounceKnownContexts) {\n return this._connection.setLibReAnnounced({ name: \"contexts\" });\n }\n this.reInitiateState().then(() => this._connection.setLibReAnnounced({ name: \"contexts\" }));\n });\n this.subscribeToContextCreatedMessages();\n this.subscribeToContextUpdatedMessages();\n this.subscribeToContextDestroyedMessages();\n this._connection.replayer?.drain(ContextMessageReplaySpec.name, (message) => {\n const type = message.type;\n if (!type) {\n return;\n }\n if (type === GW_MESSAGE_CONTEXT_CREATED ||\n type === GW_MESSAGE_CONTEXT_ADDED ||\n type === GW_MESSAGE_ACTIVITY_CREATED) {\n this.handleContextCreatedMessage(message);\n }\n else if (type === GW_MESSAGE_SUBSCRIBED_CONTEXT ||\n type === GW_MESSAGE_CONTEXT_UPDATED ||\n type === GW_MESSAGE_JOINED_ACTIVITY) {\n this.handleContextUpdatedMessage(message);\n }\n else if (type === GW_MESSAGE_CONTEXT_DESTROYED ||\n type === GW_MESSAGE_ACTIVITY_DESTROYED) {\n this.handleContextDestroyedMessage(message);\n }\n });\n }\n dispose() {\n for (const sub of this._gw3Subscriptions) {\n this._connection.off(sub);\n }\n this._gw3Subscriptions.length = 0;\n for (const contextName in this._contextNameToData) {\n if (this._contextNameToId.hasOwnProperty(contextName)) {\n delete this._contextNameToData[contextName];\n }\n }\n }\n createContext(name, data) {\n if (name in this._creationPromises) {\n return this._creationPromises[name];\n }\n this._creationPromises[name] =\n this._gw3Session\n .send({\n type: GW_MESSAGE_CREATE_CONTEXT,\n domain: \"global\",\n name,\n data,\n lifetime: \"retained\",\n })\n .then((createContextMsg) => {\n this._contextNameToId[name] = createContextMsg.context_id;\n this._contextIdToName[createContextMsg.context_id] = name;\n const contextData = this._contextNameToData[name] || new GW3ContextData(createContextMsg.context_id, name, true, undefined);\n contextData.isAnnounced = true;\n contextData.name = name;\n contextData.contextId = createContextMsg.context_id;\n contextData.context = createContextMsg.data || deepClone(data);\n contextData.hasReceivedSnapshot = true;\n this._contextNameToData[name] = contextData;\n delete this._creationPromises[name];\n return createContextMsg.context_id;\n });\n return this._creationPromises[name];\n }\n all() {\n return Object.keys(this._contextNameToData)\n .filter((name) => this._contextNameToData[name].isAnnounced);\n }\n async update(name, delta) {\n if (delta) {\n delta = deepClone(delta);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return this.createContext(name, delta);\n }\n let currentContext = contextData.context;\n if (!contextData.hasCallbacks()) {\n currentContext = await this.get(contextData.name);\n }\n const calculatedDelta = this.setPathSupported ?\n this.calculateContextDeltaV2(currentContext, delta) :\n this.calculateContextDeltaV1(currentContext, delta);\n if (!Object.keys(calculatedDelta.added).length\n && !Object.keys(calculatedDelta.updated).length\n && !calculatedDelta.removed.length\n && !calculatedDelta.commands?.length) {\n return Promise.resolve();\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: calculatedDelta,\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, calculatedDelta, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n async set(name, data) {\n if (data) {\n data = deepClone(data);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return this.createContext(name, data);\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: { reset: data },\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, {\n reset: data,\n added: {},\n removed: [],\n updated: {}\n }, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n setPath(name, path, value) {\n if (!this.setPathSupported) {\n return Promise.reject(\"glue.contexts.setPath operation is not supported, use Glue42 3.10 or later\");\n }\n return this.setPaths(name, [{ path, value }]);\n }\n async setPaths(name, pathValues) {\n if (!this.setPathSupported) {\n return Promise.reject(\"glue.contexts.setPaths operation is not supported, use Glue42 3.10 or later\");\n }\n if (pathValues) {\n pathValues = deepClone(pathValues);\n }\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n const obj = {};\n for (const pathValue of pathValues) {\n setValueToPath(obj, pathValue.value, pathValue.path);\n }\n return this.createContext(name, obj);\n }\n const commands = [];\n for (const pathValue of pathValues) {\n if (pathValue.value === null) {\n commands.push({ type: \"remove\", path: pathValue.path });\n }\n else {\n commands.push({ type: \"set\", path: pathValue.path, value: pathValue.value });\n }\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UPDATE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n delta: { commands }\n }, {}, { skipPeerId: false })\n .then((gwResponse) => {\n this.handleUpdated(contextData, {\n added: {},\n removed: [],\n updated: {},\n commands\n }, {\n updaterId: gwResponse.peer_id\n });\n });\n }\n async get(name) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n return Promise.resolve({});\n }\n if (contextData && (!contextData.hasCallbacks() || !contextData.hasReceivedSnapshot)) {\n return new Promise((resolve) => {\n this.subscribe(name, (data, _d, _r, un) => {\n this.unsubscribe(un);\n resolve(data);\n });\n });\n }\n const context = contextData?.context ?? {};\n return Promise.resolve(deepClone(context));\n }\n async subscribe(name, callback, subscriptionKey) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const thisCallbackSubscriptionNumber = typeof subscriptionKey === \"undefined\" ? this._nextCallbackSubscriptionNumber : subscriptionKey;\n if (typeof subscriptionKey === \"undefined\") {\n this._nextCallbackSubscriptionNumber += 1;\n }\n if (this._contextsSubscriptionsCache.every((subscription) => subscription.subKey !== this._nextCallbackSubscriptionNumber)) {\n this._contextsSubscriptionsCache.push({ contextName: name, subKey: thisCallbackSubscriptionNumber, callback });\n }\n let contextData = this._contextNameToData[name];\n if (!contextData ||\n !contextData.isAnnounced) {\n contextData = contextData || new GW3ContextData(undefined, name, false, undefined);\n this._contextNameToData[name] = contextData;\n contextData.updateCallbacks[thisCallbackSubscriptionNumber] = callback;\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n const hadCallbacks = contextData.hasCallbacks();\n contextData.updateCallbacks[thisCallbackSubscriptionNumber] = callback;\n if (!hadCallbacks) {\n if (!contextData.joinedActivity) {\n if (contextData.context && contextData.sentExplicitSubscription) {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n return this.sendSubscribe(contextData)\n .then(() => thisCallbackSubscriptionNumber);\n }\n else {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n }\n else {\n if (contextData.hasReceivedSnapshot) {\n const clone = deepClone(contextData.context);\n callback(clone, clone, [], thisCallbackSubscriptionNumber);\n }\n return Promise.resolve(thisCallbackSubscriptionNumber);\n }\n }\n unsubscribe(subscriptionKey) {\n this._contextsSubscriptionsCache = this._contextsSubscriptionsCache.filter((subscription) => subscription.subKey !== subscriptionKey);\n for (const name of Object.keys(this._contextNameToData)) {\n const contextData = this._contextNameToData[name];\n if (!contextData) {\n return;\n }\n const hadCallbacks = contextData.hasCallbacks();\n delete contextData.updateCallbacks[subscriptionKey];\n if (contextData.isAnnounced &&\n hadCallbacks &&\n !contextData.hasCallbacks() &&\n contextData.sentExplicitSubscription) {\n this.sendUnsubscribe(contextData).catch(() => { });\n }\n if (!contextData.isAnnounced &&\n !contextData.hasCallbacks()) {\n delete this._contextNameToData[name];\n }\n }\n }\n async destroy(name) {\n if (name in this._creationPromises) {\n await this._creationPromises[name];\n }\n const contextData = this._contextNameToData[name];\n if (!contextData) {\n return Promise.reject(`context with ${name} does not exist`);\n }\n return this._gw3Session\n .send({\n type: GW_MESSAGE_DESTROY_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n handleUpdated(contextData, delta, extraData) {\n const oldContext = contextData.context;\n contextData.context = applyContextDelta(contextData.context, delta, this._logger);\n contextData.hasReceivedSnapshot = true;\n if (this._contextNameToData[contextData.name] === contextData &&\n !deepEqual(oldContext, contextData.context)) {\n this.invokeUpdateCallbacks(contextData, delta, extraData);\n }\n }\n subscribeToContextCreatedMessages() {\n const createdMessageTypes = [\n GW_MESSAGE_CONTEXT_ADDED,\n GW_MESSAGE_CONTEXT_CREATED,\n GW_MESSAGE_ACTIVITY_CREATED,\n ];\n for (const createdMessageType of createdMessageTypes) {\n const sub = this._connection.on(createdMessageType, this.handleContextCreatedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextCreatedMessage(contextCreatedMsg) {\n const createdMessageType = contextCreatedMsg.type;\n if (createdMessageType === GW_MESSAGE_ACTIVITY_CREATED) {\n this._contextNameToId[contextCreatedMsg.activity_id] = contextCreatedMsg.context_id;\n this._contextIdToName[contextCreatedMsg.context_id] = contextCreatedMsg.activity_id;\n }\n else if (createdMessageType === GW_MESSAGE_CONTEXT_ADDED) {\n this._contextNameToId[contextCreatedMsg.name] = contextCreatedMsg.context_id;\n this._contextIdToName[contextCreatedMsg.context_id] = contextCreatedMsg.name;\n }\n else ;\n const name = this._contextIdToName[contextCreatedMsg.context_id];\n if (!name) {\n throw new Error(\"Received created event for context with unknown name: \" + contextCreatedMsg.context_id);\n }\n if (!this._contextNameToId[name]) {\n throw new Error(\"Received created event for context with unknown id: \" + contextCreatedMsg.context_id);\n }\n let contextData = this._contextNameToData[name];\n if (contextData) {\n if (contextData.isAnnounced) {\n return;\n }\n else {\n if (!contextData.hasCallbacks()) {\n throw new Error(\"Assertion failure: contextData.hasCallbacks()\");\n }\n contextData.isAnnounced = true;\n contextData.contextId = contextCreatedMsg.context_id;\n contextData.activityId = contextCreatedMsg.activity_id;\n if (!contextData.sentExplicitSubscription) {\n this.sendSubscribe(contextData);\n }\n }\n }\n else {\n this._contextNameToData[name] = contextData =\n new GW3ContextData(contextCreatedMsg.context_id, name, true, contextCreatedMsg.activity_id);\n if (this._trackAllContexts) {\n this.subscribe(name, () => { }).then((subKey) => this._systemContextsSubKey = subKey);\n }\n }\n }\n subscribeToContextUpdatedMessages() {\n const updatedMessageTypes = [\n GW_MESSAGE_CONTEXT_UPDATED,\n GW_MESSAGE_SUBSCRIBED_CONTEXT,\n GW_MESSAGE_JOINED_ACTIVITY,\n ];\n for (const updatedMessageType of updatedMessageTypes) {\n const sub = this._connection.on(updatedMessageType, this.handleContextUpdatedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextUpdatedMessage(contextUpdatedMsg) {\n const updatedMessageType = contextUpdatedMsg.type;\n const contextId = contextUpdatedMsg.context_id;\n let contextData = this._contextNameToData[this._contextIdToName[contextId]];\n const justSeen = !contextData || !contextData.isAnnounced;\n if (updatedMessageType === GW_MESSAGE_JOINED_ACTIVITY) {\n if (!contextData) {\n contextData =\n this._contextNameToData[contextUpdatedMsg.activity_id] ||\n new GW3ContextData(contextId, contextUpdatedMsg.activity_id, true, contextUpdatedMsg.activity_id);\n }\n this._contextNameToData[contextUpdatedMsg.activity_id] = contextData;\n this._contextIdToName[contextId] = contextUpdatedMsg.activity_id;\n this._contextNameToId[contextUpdatedMsg.activity_id] = contextId;\n contextData.contextId = contextId;\n contextData.isAnnounced = true;\n contextData.activityId = contextUpdatedMsg.activity_id;\n contextData.joinedActivity = true;\n }\n else {\n if (!contextData || !contextData.isAnnounced) {\n if (updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n contextData = contextData || new GW3ContextData(contextId, contextUpdatedMsg.name, true, undefined);\n contextData.sentExplicitSubscription = true;\n this._contextNameToData[contextUpdatedMsg.name] = contextData;\n this._contextIdToName[contextId] = contextUpdatedMsg.name;\n this._contextNameToId[contextUpdatedMsg.name] = contextId;\n }\n else {\n this._logger.error(`Received 'update' for unknown context: ${contextId}`);\n }\n return;\n }\n }\n const oldContext = contextData.context;\n contextData.hasReceivedSnapshot = true;\n if (updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n contextData.context = contextUpdatedMsg.data || {};\n }\n else if (updatedMessageType === GW_MESSAGE_JOINED_ACTIVITY) {\n contextData.context = contextUpdatedMsg.context_snapshot || {};\n }\n else if (updatedMessageType === GW_MESSAGE_CONTEXT_UPDATED) {\n contextData.context = applyContextDelta(contextData.context, contextUpdatedMsg.delta, this._logger);\n }\n else {\n throw new Error(\"Unrecognized context update message \" + updatedMessageType);\n }\n if (justSeen ||\n !deepEqual(contextData.context, oldContext) ||\n updatedMessageType === GW_MESSAGE_SUBSCRIBED_CONTEXT) {\n this.invokeUpdateCallbacks(contextData, contextUpdatedMsg.delta, { updaterId: contextUpdatedMsg.updater_id });\n }\n }\n invokeUpdateCallbacks(contextData, delta, extraData) {\n delta = delta || { added: {}, updated: {}, reset: {}, removed: [] };\n if (delta.commands) {\n delta.added = delta.updated = delta.reset = {};\n delta.removed = [];\n for (const command of delta.commands) {\n if (command.type === \"remove\") {\n if (command.path.indexOf(\".\") === -1) {\n delta.removed.push(command.path);\n }\n setValueToPath(delta.updated, null, command.path);\n }\n else if (command.type === \"set\") {\n setValueToPath(delta.updated, command.value, command.path);\n }\n }\n }\n for (const updateCallbackIndex in contextData.updateCallbacks) {\n if (contextData.updateCallbacks.hasOwnProperty(updateCallbackIndex)) {\n try {\n const updateCallback = contextData.updateCallbacks[updateCallbackIndex];\n updateCallback(deepClone(contextData.context), deepClone(Object.assign({}, delta.added || {}, delta.updated || {}, delta.reset || {})), delta.removed, parseInt(updateCallbackIndex, 10), extraData);\n }\n catch (err) {\n this._logger.debug(\"callback error: \" + JSON.stringify(err));\n }\n }\n }\n }\n subscribeToContextDestroyedMessages() {\n const destroyedMessageTypes = [\n GW_MESSAGE_CONTEXT_DESTROYED,\n GW_MESSAGE_ACTIVITY_DESTROYED,\n ];\n for (const destroyedMessageType of destroyedMessageTypes) {\n const sub = this._connection.on(destroyedMessageType, this.handleContextDestroyedMessage.bind(this));\n this._gw3Subscriptions.push(sub);\n }\n }\n handleContextDestroyedMessage(destroyedMsg) {\n const destroyedMessageType = destroyedMsg.type;\n let contextId;\n let name;\n if (destroyedMessageType === GW_MESSAGE_ACTIVITY_DESTROYED) {\n name = destroyedMsg.activity_id;\n contextId = this._contextNameToId[name];\n if (!contextId) {\n this._logger.error(`Received 'destroyed' for unknown activity: ${destroyedMsg.activity_id}`);\n return;\n }\n }\n else {\n contextId = destroyedMsg.context_id;\n name = this._contextIdToName[contextId];\n if (!name) {\n this._logger.error(`Received 'destroyed' for unknown context: ${destroyedMsg.context_id}`);\n return;\n }\n }\n delete this._contextIdToName[contextId];\n delete this._contextNameToId[name];\n const contextData = this._contextNameToData[name];\n delete this._contextNameToData[name];\n if (!contextData || !contextData.isAnnounced) {\n this._logger.error(`Received 'destroyed' for unknown context: ${contextId}`);\n return;\n }\n }\n sendSubscribe(contextData) {\n contextData.sentExplicitSubscription = true;\n return this._gw3Session\n .send({\n type: GW_MESSAGE_SUBSCRIBE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n sendUnsubscribe(contextData) {\n contextData.sentExplicitSubscription = false;\n return this._gw3Session\n .send({\n type: GW_MESSAGE_UNSUBSCRIBE_CONTEXT,\n domain: \"global\",\n context_id: contextData.contextId,\n }).then((_) => undefined);\n }\n calculateContextDeltaV1(from, to) {\n const delta = { added: {}, updated: {}, removed: [], reset: undefined };\n if (from) {\n for (const x of Object.keys(from)) {\n if (Object.keys(to).indexOf(x) !== -1\n && to[x] !== null\n && !deepEqual(from[x], to[x])) {\n delta.updated[x] = to[x];\n }\n }\n }\n for (const x of Object.keys(to)) {\n if (!from || (Object.keys(from).indexOf(x) === -1)) {\n if (to[x] !== null) {\n delta.added[x] = to[x];\n }\n }\n else if (to[x] === null) {\n delta.removed.push(x);\n }\n }\n return delta;\n }\n calculateContextDeltaV2(from, to) {\n const delta = { added: {}, updated: {}, removed: [], reset: undefined, commands: [] };\n for (const x of Object.keys(to)) {\n if (to[x] !== null) {\n const fromX = from ? from[x] : null;\n if (!deepEqual(fromX, to[x])) {\n delta.commands?.push({ type: \"set\", path: x, value: to[x] });\n }\n }\n else {\n delta.commands?.push({ type: \"remove\", path: x });\n }\n }\n return delta;\n }\n resetState() {\n for (const sub of this._gw3Subscriptions) {\n this._connection.off(sub);\n }\n if (this._systemContextsSubKey) {\n this.unsubscribe(this._systemContextsSubKey);\n delete this._systemContextsSubKey;\n }\n this._gw3Subscriptions = [];\n this._contextNameToId = {};\n this._contextIdToName = {};\n delete this._protocolVersion;\n this._contextsTempCache = Object.keys(this._contextNameToData).reduce((cacheSoFar, ctxName) => {\n cacheSoFar[ctxName] = this._contextNameToData[ctxName].context;\n return cacheSoFar;\n }, {});\n this._contextNameToData = {};\n }\n async reInitiateState() {\n this.subscribeToContextCreatedMessages();\n this.subscribeToContextUpdatedMessages();\n this.subscribeToContextDestroyedMessages();\n this._connection.replayer?.drain(ContextMessageReplaySpec.name, (message) => {\n const type = message.type;\n if (!type) {\n return;\n }\n if (type === GW_MESSAGE_CONTEXT_CREATED ||\n type === GW_MESSAGE_CONTEXT_ADDED ||\n type === GW_MESSAGE_ACTIVITY_CREATED) {\n this.handleContextCreatedMessage(message);\n }\n else if (type === GW_MESSAGE_SUBSCRIBED_CONTEXT ||\n type === GW_MESSAGE_CONTEXT_UPDATED ||\n type === GW_MESSAGE_JOINED_ACTIVITY) {\n this.handleContextUpdatedMessage(message);\n }\n else if (type === GW_MESSAGE_CONTEXT_DESTROYED ||\n type === GW_MESSAGE_ACTIVITY_DESTROYED) {\n this.handleContextDestroyedMessage(message);\n }\n });\n await Promise.all(this._contextsSubscriptionsCache.map((subscription) => this.subscribe(subscription.contextName, subscription.callback, subscription.subKey)));\n await this.flushQueue();\n for (const ctxName in this._contextsTempCache) {\n if (typeof this._contextsTempCache[ctxName] !== \"object\" || Object.keys(this._contextsTempCache[ctxName]).length === 0) {\n continue;\n }\n const lastKnownData = this._contextsTempCache[ctxName];\n this._logger.info(`Re-announcing known context: ${ctxName}`);\n await this.flushQueue();\n await this.update(ctxName, lastKnownData);\n }\n this._contextsTempCache = {};\n this._logger.info(\"Contexts are re-announced\");\n }\n flushQueue() {\n return new Promise((resolve) => setTimeout(() => resolve(), 0));\n }\n}\n\nclass ContextsModule {\n initTime;\n initStartTime;\n initEndTime;\n _bridge;\n constructor(config) {\n this._bridge = new GW3Bridge(config);\n }\n all() {\n return this._bridge.all();\n }\n update(name, data) {\n this.checkName(name);\n this.checkData(data);\n return this._bridge.update(name, data);\n }\n set(name, data) {\n this.checkName(name);\n this.checkData(data);\n return this._bridge.set(name, data);\n }\n setPath(name, path, data) {\n this.checkName(name);\n this.checkPath(path);\n const isTopLevelPath = path === \"\";\n if (isTopLevelPath) {\n this.checkData(data);\n return this.set(name, data);\n }\n return this._bridge.setPath(name, path, data);\n }\n setPaths(name, paths) {\n this.checkName(name);\n if (!Array.isArray(paths)) {\n throw new Error(\"Please provide the paths as an array of PathValues!\");\n }\n for (const { path, value } of paths) {\n this.checkPath(path);\n const isTopLevelPath = path === \"\";\n if (isTopLevelPath) {\n this.checkData(value);\n }\n }\n return this._bridge.setPaths(name, paths);\n }\n subscribe(name, callback) {\n this.checkName(name);\n if (typeof callback !== \"function\") {\n throw new Error(\"Please provide the callback as a function!\");\n }\n return this._bridge\n .subscribe(name, (data, delta, removed, key, extraData) => callback(data, delta, removed, () => this._bridge.unsubscribe(key), extraData))\n .then((key) => () => {\n this._bridge.unsubscribe(key);\n });\n }\n get(name) {\n this.checkName(name);\n return this._bridge.get(name);\n }\n ready() {\n return Promise.resolve(this);\n }\n destroy(name) {\n this.checkName(name);\n return this._bridge.destroy(name);\n }\n get setPathSupported() {\n return this._bridge.setPathSupported;\n }\n checkName(name) {\n if (typeof name !== \"string\" || name === \"\") {\n throw new Error(\"Please provide the name as a non-empty string!\");\n }\n }\n checkPath(path) {\n if (typeof path !== \"string\") {\n throw new Error(\"Please provide the path as a dot delimited string!\");\n }\n }\n checkData(data) {\n if (typeof data !== \"object\") {\n throw new Error(\"Please provide the data as an object!\");\n }\n }\n}\n\nfunction promisify (promise, successCallback, errorCallback) {\n if (typeof successCallback !== \"function\" && typeof errorCallback !== \"function\") {\n return promise;\n }\n if (typeof successCallback !== \"function\") {\n successCallback = () => { };\n }\n else if (typeof errorCallback !== \"function\") {\n errorCallback = () => { };\n }\n return promise.then(successCallback, errorCallback);\n}\n\nfunction rejectAfter(ms = 0, promise, error) {\n let timeout;\n const clearTimeoutIfThere = () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n promise\n .then(() => {\n clearTimeoutIfThere();\n })\n .catch(() => {\n clearTimeoutIfThere();\n });\n return new Promise((resolve, reject) => {\n timeout = setTimeout(() => reject(error), ms);\n });\n}\n\nvar InvokeStatus;\n(function (InvokeStatus) {\n InvokeStatus[InvokeStatus[\"Success\"] = 0] = \"Success\";\n InvokeStatus[InvokeStatus[\"Error\"] = 1] = \"Error\";\n})(InvokeStatus || (InvokeStatus = {}));\nclass Client {\n protocol;\n repo;\n instance;\n configuration;\n constructor(protocol, repo, instance, configuration) {\n this.protocol = protocol;\n this.repo = repo;\n this.instance = instance;\n this.configuration = configuration;\n }\n subscribe(method, options, successCallback, errorCallback, existingSub) {\n const callProtocolSubscribe = (targetServers, stream, successProxy, errorProxy) => {\n options.methodResponseTimeout = options.methodResponseTimeout ?? options.waitTimeoutMs;\n this.protocol.client.subscribe(stream, options, targetServers, successProxy, errorProxy, existingSub);\n };\n const promise = new Promise((resolve, reject) => {\n const successProxy = (sub) => {\n resolve(sub);\n };\n const errorProxy = (err) => {\n reject(err);\n };\n if (!method) {\n reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n return;\n }\n let methodDef;\n if (typeof method === \"string\") {\n methodDef = { name: method };\n }\n else {\n methodDef = method;\n }\n if (!methodDef.name) {\n reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n return;\n }\n if (options === undefined) {\n options = {};\n }\n let target = options.target;\n if (target === undefined) {\n target = \"best\";\n }\n if (typeof target === \"string\" && target !== \"all\" && target !== \"best\") {\n reject(new Error(`\"${target}\" is not a valid target. Valid targets are \"all\", \"best\", or an instance.`));\n return;\n }\n if (options.methodResponseTimeout === undefined) {\n options.methodResponseTimeout = options.method_response_timeout;\n if (options.methodResponseTimeout === undefined) {\n options.methodResponseTimeout = this.configuration.methodResponseTimeout;\n }\n }\n if (options.waitTimeoutMs === undefined) {\n options.waitTimeoutMs = options.wait_for_method_timeout;\n if (options.waitTimeoutMs === undefined) {\n options.waitTimeoutMs = this.configuration.waitTimeoutMs;\n }\n }\n const delayStep = 500;\n let delayTillNow = 0;\n let currentServers = this.getServerMethodsByFilterAndTarget(methodDef, target);\n if (currentServers.length > 0) {\n callProtocolSubscribe(currentServers, currentServers[0].methods[0], successProxy, errorProxy);\n }\n else {\n const retry = () => {\n if (!target || !(options.waitTimeoutMs)) {\n return;\n }\n delayTillNow += delayStep;\n currentServers = this.getServerMethodsByFilterAndTarget(methodDef, target);\n if (currentServers.length > 0) {\n const streamInfo = currentServers[0].methods[0];\n callProtocolSubscribe(currentServers, streamInfo, successProxy, errorProxy);\n }\n else if (delayTillNow >= options.waitTimeoutMs) {\n const def = typeof method === \"string\" ? { name: method } : method;\n callProtocolSubscribe(currentServers, def, successProxy, errorProxy);\n }\n else {\n setTimeout(retry, delayStep);\n }\n };\n setTimeout(retry, delayStep);\n }\n });\n return promisify(promise, successCallback, errorCallback);\n }\n servers(methodFilter) {\n const filterCopy = methodFilter === undefined\n ? undefined\n : { ...methodFilter };\n return this.getServers(filterCopy).map((serverMethodMap) => {\n return serverMethodMap.server.instance;\n });\n }\n methods(methodFilter) {\n if (typeof methodFilter === \"string\") {\n methodFilter = { name: methodFilter };\n }\n else {\n methodFilter = { ...methodFilter };\n }\n return this.getMethods(methodFilter);\n }\n methodsForInstance(instance) {\n return this.getMethodsForInstance(instance);\n }\n methodAdded(callback) {\n return this.repo.onMethodAdded(callback);\n }\n methodRemoved(callback) {\n return this.repo.onMethodRemoved(callback);\n }\n serverAdded(callback) {\n return this.repo.onServerAdded(callback);\n }\n serverRemoved(callback) {\n return this.repo.onServerRemoved((server, reason) => {\n callback(server, reason);\n });\n }\n serverMethodAdded(callback) {\n return this.repo.onServerMethodAdded((server, method) => {\n callback({ server, method });\n });\n }\n serverMethodRemoved(callback) {\n return this.repo.onServerMethodRemoved((server, method) => {\n callback({ server, method });\n });\n }\n async invoke(methodFilter, argumentObj, target, additionalOptions, success, error) {\n const getInvokePromise = async () => {\n let methodDefinition;\n if (typeof methodFilter === \"string\") {\n methodDefinition = { name: methodFilter };\n }\n else {\n methodDefinition = { ...methodFilter };\n }\n if (!methodDefinition.name) {\n return Promise.reject(`Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.`);\n }\n if (!argumentObj) {\n argumentObj = {};\n }\n if (!target) {\n target = \"best\";\n }\n if (typeof target === \"string\" && target !== \"all\" && target !== \"best\" && target !== \"skipMine\") {\n return Promise.reject(new Error(`\"${target}\" is not a valid target. Valid targets are \"all\" and \"best\".`));\n }\n if (!additionalOptions) {\n additionalOptions = {};\n }\n if (additionalOptions.methodResponseTimeoutMs === undefined) {\n additionalOptions.methodResponseTimeoutMs = additionalOptions.method_response_timeout;\n if (additionalOptions.methodResponseTimeoutMs === undefined) {\n additionalOptions.methodResponseTimeoutMs = this.configuration.methodResponseTimeout;\n }\n }\n if (additionalOptions.waitTimeoutMs === undefined) {\n additionalOptions.waitTimeoutMs = additionalOptions.wait_for_method_timeout;\n if (additionalOptions.waitTimeoutMs === undefined) {\n additionalOptions.waitTimeoutMs = this.configuration.waitTimeoutMs;\n }\n }\n if (additionalOptions.waitTimeoutMs !== undefined && typeof additionalOptions.waitTimeoutMs !== \"number\") {\n return Promise.reject(new Error(`\"${additionalOptions.waitTimeoutMs}\" is not a valid number for \"waitTimeoutMs\" `));\n }\n if (typeof argumentObj !== \"object\") {\n return Promise.reject(new Error(`The method arguments must be an object. method: ${methodDefinition.name}`));\n }\n let serversMethodMap = this.getServerMethodsByFilterAndTarget(methodDefinition, target);\n if (serversMethodMap.length === 0) {\n try {\n serversMethodMap = await this.tryToAwaitForMethods(methodDefinition, target, additionalOptions);\n }\n catch (err) {\n const method = {\n ...methodDefinition,\n getServers: () => [],\n supportsStreaming: false,\n objectTypes: methodDefinition.objectTypes ?? [],\n flags: methodDefinition.flags?.metadata ?? {}\n };\n const errorObj = {\n method,\n called_with: argumentObj,\n message: `Can not find a method matching ${JSON.stringify(methodFilter)} with server filter ${JSON.stringify(target)}`,\n executed_by: undefined,\n returned: undefined,\n status: undefined,\n };\n return Promise.reject(errorObj);\n }\n }\n const timeout = additionalOptions.methodResponseTimeoutMs;\n const additionalOptionsCopy = additionalOptions;\n const invokePromises = serversMethodMap.map((serversMethodPair) => {\n const invId = nanoid(10);\n const method = serversMethodPair.methods[0];\n const server = serversMethodPair.server;\n const invokePromise = this.protocol.client.invoke(invId, method, argumentObj, server, additionalOptionsCopy);\n return Promise.race([\n invokePromise,\n rejectAfter(timeout, invokePromise, {\n invocationId: invId,\n message: `Invocation timeout (${timeout} ms) reached for method name: ${method?.name}, target instance: ${JSON.stringify(server.instance)}, options: ${JSON.stringify(additionalOptionsCopy)}`,\n status: InvokeStatus.Error,\n })\n ]);\n });\n const invocationMessages = await Promise.all(invokePromises);\n const results = this.getInvocationResultObj(invocationMessages, methodDefinition, argumentObj);\n const allRejected = invocationMessages.every((result) => result.status === InvokeStatus.Error);\n if (allRejected) {\n return Promise.reject(results);\n }\n return results;\n };\n return promisify(getInvokePromise(), success, error);\n }\n getInvocationResultObj(invocationResults, method, calledWith) {\n const all_return_values = invocationResults\n .filter((invokeMessage) => invokeMessage.status === InvokeStatus.Success)\n .reduce((allValues, currentValue) => {\n allValues = [\n ...allValues,\n {\n executed_by: currentValue.instance,\n returned: currentValue.result,\n called_with: calledWith,\n method,\n message: currentValue.message,\n status: currentValue.status,\n }\n ];\n return allValues;\n }, []);\n const all_errors = invocationResults\n .filter((invokeMessage) => invokeMessage.status === InvokeStatus.Error)\n .reduce((allErrors, currError) => {\n allErrors = [\n ...allErrors,\n {\n executed_by: currError.instance,\n called_with: calledWith,\n name: method.name,\n message: currError.message,\n }\n ];\n return allErrors;\n }, []);\n const invResult = invocationResults[0];\n const result = {\n method,\n called_with: calledWith,\n returned: invResult.result,\n executed_by: invResult.instance,\n all_return_values,\n all_errors,\n message: invResult.message,\n status: invResult.status\n };\n return result;\n }\n tryToAwaitForMethods(methodDefinition, target, additionalOptions) {\n return new Promise((resolve, reject) => {\n if (additionalOptions.waitTimeoutMs === 0) {\n reject();\n return;\n }\n const delayStep = 500;\n let delayTillNow = 0;\n const retry = () => {\n delayTillNow += delayStep;\n const serversMethodMap = this.getServerMethodsByFilterAndTarget(methodDefinition, target);\n if (serversMethodMap.length > 0) {\n clearInterval(interval);\n resolve(serversMethodMap);\n }\n else if (delayTillNow >= (additionalOptions.waitTimeoutMs || 10000)) {\n clearInterval(interval);\n reject();\n return;\n }\n };\n const interval = setInterval(retry, delayStep);\n });\n }\n filterByTarget(target, serverMethodMap) {\n if (typeof target === \"string\") {\n if (target === \"all\") {\n return [...serverMethodMap];\n }\n else if (target === \"best\") {\n const localMachine = serverMethodMap\n .find((s) => s.server.instance.isLocal);\n if (localMachine) {\n return [localMachine];\n }\n if (serverMethodMap[0] !== undefined) {\n return [serverMethodMap[0]];\n }\n }\n else if (target === \"skipMine\") {\n return serverMethodMap.filter(({ server }) => server.instance.peerId !== this.instance.peerId);\n }\n }\n else {\n let targetArray;\n if (!Array.isArray(target)) {\n targetArray = [target];\n }\n else {\n targetArray = target;\n }\n const allServersMatching = targetArray.reduce((matches, filter) => {\n const myMatches = serverMethodMap.filter((serverMethodPair) => {\n return this.instanceMatch(filter, serverMethodPair.server.instance);\n });\n return matches.concat(myMatches);\n }, []);\n return allServersMatching;\n }\n return [];\n }\n instanceMatch(instanceFilter, instanceDefinition) {\n if (instanceFilter?.peerId && instanceFilter?.instance) {\n instanceFilter = { ...instanceFilter };\n delete instanceFilter.peerId;\n }\n return this.containsProps(instanceFilter, instanceDefinition);\n }\n methodMatch(methodFilter, methodDefinition) {\n return this.containsProps(methodFilter, methodDefinition);\n }\n containsProps(filter, repoMethod) {\n const filterProps = Object.keys(filter)\n .filter((prop) => {\n return filter[prop] !== undefined\n && filter[prop] !== null\n && typeof filter[prop] !== \"function\"\n && prop !== \"object_types\"\n && prop !== \"display_name\"\n && prop !== \"id\"\n && prop !== \"gatewayId\"\n && prop !== \"identifier\"\n && prop[0] !== \"_\";\n });\n return filterProps.every((prop) => {\n let isMatch;\n const filterValue = filter[prop];\n const repoMethodValue = repoMethod[prop];\n switch (prop) {\n case \"objectTypes\":\n isMatch = (filterValue || []).every((filterValueEl) => {\n return (repoMethodValue || []).includes(filterValueEl);\n });\n break;\n case \"flags\":\n isMatch = isSubset(repoMethodValue || {}, filterValue || {});\n break;\n default:\n isMatch = String(filterValue).toLowerCase() === String(repoMethodValue).toLowerCase();\n }\n return isMatch;\n });\n }\n getMethods(methodFilter) {\n if (methodFilter === undefined) {\n return this.repo.getMethods();\n }\n const methods = this.repo.getMethods().filter((method) => {\n return this.methodMatch(methodFilter, method);\n });\n return methods;\n }\n getMethodsForInstance(instanceFilter) {\n const allServers = this.repo.getServers();\n const matchingServers = allServers.filter((server) => {\n return this.instanceMatch(instanceFilter, server.instance);\n });\n if (matchingServers.length === 0) {\n return [];\n }\n let resultMethodsObject = {};\n if (matchingServers.length === 1) {\n resultMethodsObject = matchingServers[0].methods;\n }\n else {\n matchingServers.forEach((server) => {\n Object.keys(server.methods).forEach((methodKey) => {\n const method = server.methods[methodKey];\n resultMethodsObject[method.identifier] = method;\n });\n });\n }\n return Object.keys(resultMethodsObject)\n .map((key) => {\n return resultMethodsObject[key];\n });\n }\n getServers(methodFilter) {\n const servers = this.repo.getServers();\n if (methodFilter === undefined) {\n return servers.map((server) => {\n return { server, methods: [] };\n });\n }\n return servers.reduce((prev, current) => {\n const methodsForServer = Object.values(current.methods);\n const matchingMethods = methodsForServer.filter((method) => {\n return this.methodMatch(methodFilter, method);\n });\n if (matchingMethods.length > 0) {\n prev.push({ server: current, methods: matchingMethods });\n }\n return prev;\n }, []);\n }\n getServerMethodsByFilterAndTarget(methodFilter, target) {\n const serversMethodMap = this.getServers(methodFilter);\n return this.filterByTarget(target, serversMethodMap);\n }\n}\n\nclass ServerSubscription {\n protocol;\n repoMethod;\n subscription;\n constructor(protocol, repoMethod, subscription) {\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n this.subscription = subscription;\n }\n get stream() {\n if (!this.repoMethod.stream) {\n throw new Error(\"no stream\");\n }\n return this.repoMethod.stream;\n }\n get arguments() { return this.subscription.arguments || {}; }\n get branchKey() { return this.subscription.branchKey; }\n get instance() {\n if (!this.subscription.instance) {\n throw new Error(\"no instance\");\n }\n return this.subscription.instance;\n }\n close() {\n this.protocol.server.closeSingleSubscription(this.repoMethod, this.subscription);\n }\n push(data) {\n this.protocol.server.pushDataToSingle(this.repoMethod, this.subscription, data);\n }\n}\n\nclass Request {\n protocol;\n repoMethod;\n requestContext;\n arguments;\n instance;\n constructor(protocol, repoMethod, requestContext) {\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n this.requestContext = requestContext;\n this.arguments = requestContext.arguments;\n this.instance = requestContext.instance;\n }\n accept() {\n this.protocol.server.acceptRequestOnBranch(this.requestContext, this.repoMethod, \"\");\n }\n acceptOnBranch(branch) {\n this.protocol.server.acceptRequestOnBranch(this.requestContext, this.repoMethod, branch);\n }\n reject(reason) {\n this.protocol.server.rejectRequest(this.requestContext, this.repoMethod, reason);\n }\n}\n\nlet ServerStreaming$1 = class ServerStreaming {\n protocol;\n server;\n constructor(protocol, server) {\n this.protocol = protocol;\n this.server = server;\n protocol.server.onSubRequest((rc, rm) => this.handleSubRequest(rc, rm));\n protocol.server.onSubAdded((sub, rm) => this.handleSubAdded(sub, rm));\n protocol.server.onSubRemoved((sub, rm) => this.handleSubRemoved(sub, rm));\n }\n handleSubRequest(requestContext, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionRequestHandler === \"function\")) {\n return;\n }\n const request = new Request(this.protocol, repoMethod, requestContext);\n repoMethod.streamCallbacks.subscriptionRequestHandler(request);\n }\n handleSubAdded(subscription, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionAddedHandler === \"function\")) {\n return;\n }\n const sub = new ServerSubscription(this.protocol, repoMethod, subscription);\n repoMethod.streamCallbacks.subscriptionAddedHandler(sub);\n }\n handleSubRemoved(subscription, repoMethod) {\n if (!(repoMethod &&\n repoMethod.streamCallbacks &&\n typeof repoMethod.streamCallbacks.subscriptionRemovedHandler === \"function\")) {\n return;\n }\n const sub = new ServerSubscription(this.protocol, repoMethod, subscription);\n repoMethod.streamCallbacks.subscriptionRemovedHandler(sub);\n }\n};\n\nclass ServerBranch {\n key;\n protocol;\n repoMethod;\n constructor(key, protocol, repoMethod) {\n this.key = key;\n this.protocol = protocol;\n this.repoMethod = repoMethod;\n }\n subscriptions() {\n const subList = this.protocol.server.getSubscriptionList(this.repoMethod, this.key);\n return subList.map((sub) => {\n return new ServerSubscription(this.protocol, this.repoMethod, sub);\n });\n }\n close() {\n this.protocol.server.closeAllSubscriptions(this.repoMethod, this.key);\n }\n push(data) {\n this.protocol.server.pushData(this.repoMethod, data, [this.key]);\n }\n}\n\nclass ServerStream {\n _protocol;\n _repoMethod;\n _server;\n name;\n constructor(_protocol, _repoMethod, _server) {\n this._protocol = _protocol;\n this._repoMethod = _repoMethod;\n this._server = _server;\n this.name = this._repoMethod.definition.name;\n }\n branches(key) {\n const bList = this._protocol.server.getBranchList(this._repoMethod);\n if (key) {\n if (bList.indexOf(key) > -1) {\n return new ServerBranch(key, this._protocol, this._repoMethod);\n }\n return undefined;\n }\n else {\n return bList.map((branchKey) => {\n return new ServerBranch(branchKey, this._protocol, this._repoMethod);\n });\n }\n }\n branch(key) {\n return this.branches(key);\n }\n subscriptions() {\n const subList = this._protocol.server.getSubscriptionList(this._repoMethod);\n return subList.map((sub) => {\n return new ServerSubscription(this._protocol, this._repoMethod, sub);\n });\n }\n get definition() {\n const def2 = this._repoMethod.definition;\n return {\n accepts: def2.accepts,\n description: def2.description,\n displayName: def2.displayName,\n name: def2.name,\n objectTypes: def2.objectTypes,\n returns: def2.returns,\n supportsStreaming: def2.supportsStreaming,\n flags: def2.flags?.metadata,\n };\n }\n close() {\n this._protocol.server.closeAllSubscriptions(this._repoMethod);\n this._server.unregister(this._repoMethod.definition, true);\n }\n push(data, branches) {\n if (typeof branches !== \"string\" && !Array.isArray(branches) && branches !== undefined) {\n throw new Error(\"invalid branches should be string or string array\");\n }\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n this._protocol.server.pushData(this._repoMethod, data, branches);\n }\n updateRepoMethod(repoMethod) {\n this._repoMethod = repoMethod;\n }\n}\n\nclass Server {\n protocol;\n serverRepository;\n streaming;\n invocations = 0;\n currentlyUnregistering = {};\n constructor(protocol, serverRepository) {\n this.protocol = protocol;\n this.serverRepository = serverRepository;\n this.streaming = new ServerStreaming$1(protocol, this);\n this.protocol.server.onInvoked(this.onMethodInvoked.bind(this));\n }\n createStream(streamDef, callbacks, successCallback, errorCallback, existingStream) {\n const promise = new Promise((resolve, reject) => {\n if (!streamDef) {\n reject(\"The stream name must be unique! Please, provide either a unique string for a stream name to “glue.interop.createStream()” or a “methodDefinition” object with a unique “name” property for the stream.\");\n return;\n }\n let streamMethodDefinition;\n if (typeof streamDef === \"string\") {\n streamMethodDefinition = { name: \"\" + streamDef };\n }\n else {\n streamMethodDefinition = { ...streamDef };\n }\n if (!streamMethodDefinition.name) {\n return reject(`The “name” property is required for the “streamDefinition” object and must be unique. Stream definition: ${JSON.stringify(streamMethodDefinition)}`);\n }\n const nameAlreadyExists = this.serverRepository.getList()\n .some((serverMethod) => serverMethod.definition.name === streamMethodDefinition.name);\n if (nameAlreadyExists) {\n return reject(`A stream with the name \"${streamMethodDefinition.name}\" already exists! Please, provide a unique name for the stream.`);\n }\n streamMethodDefinition.supportsStreaming = true;\n if (!callbacks) {\n callbacks = {};\n }\n if (typeof callbacks.subscriptionRequestHandler !== \"function\") {\n callbacks.subscriptionRequestHandler = (request) => {\n request.accept();\n };\n }\n const repoMethod = this.serverRepository.add({\n definition: streamMethodDefinition,\n streamCallbacks: callbacks,\n protocolState: {},\n });\n this.protocol.server.createStream(repoMethod)\n .then(() => {\n let streamUserObject;\n if (existingStream) {\n streamUserObject = existingStream;\n existingStream.updateRepoMethod(repoMethod);\n }\n else {\n streamUserObject = new ServerStream(this.protocol, repoMethod, this);\n }\n repoMethod.stream = streamUserObject;\n resolve(streamUserObject);\n })\n .catch((err) => {\n if (repoMethod.repoId) {\n this.serverRepository.remove(repoMethod.repoId);\n }\n reject(err);\n });\n });\n return promisify(promise, successCallback, errorCallback);\n }\n register(methodDefinition, callback) {\n if (!methodDefinition) {\n return Promise.reject(\"Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.\");\n }\n if (typeof callback !== \"function\") {\n return Promise.reject(`The second parameter must be a callback function. Method: ${typeof methodDefinition === \"string\" ? methodDefinition : methodDefinition.name}`);\n }\n const wrappedCallbackFunction = async (context, resultCallback) => {\n try {\n const result = callback(context.args, context.instance);\n if (result && typeof result.then === \"function\") {\n const resultValue = await result;\n resultCallback(undefined, resultValue);\n }\n else {\n resultCallback(undefined, result);\n }\n }\n catch (e) {\n resultCallback(e ?? \"\", e ?? \"\");\n }\n };\n wrappedCallbackFunction.userCallback = callback;\n return this.registerCore(methodDefinition, wrappedCallbackFunction);\n }\n registerAsync(methodDefinition, callback) {\n if (!methodDefinition) {\n return Promise.reject(\"Method definition is required. Please, provide either a unique string for a method name or a “methodDefinition” object with a required “name” property.\");\n }\n if (typeof callback !== \"function\") {\n return Promise.reject(`The second parameter must be a callback function. Method: ${typeof methodDefinition === \"string\" ? methodDefinition : methodDefinition.name}`);\n }\n const wrappedCallback = async (context, resultCallback) => {\n try {\n let resultCalled = false;\n const success = (result) => {\n if (!resultCalled) {\n resultCallback(undefined, result);\n }\n resultCalled = true;\n };\n const error = (e) => {\n if (!resultCalled) {\n if (!e) {\n e = \"\";\n }\n resultCallback(e, e);\n }\n resultCalled = true;\n };\n const methodResult = callback(context.args, context.instance, success, error);\n if (methodResult && typeof methodResult.then === \"function\") {\n methodResult\n .then(success)\n .catch(error);\n }\n }\n catch (e) {\n resultCallback(e, undefined);\n }\n };\n wrappedCallback.userCallbackAsync = callback;\n return this.registerCore(methodDefinition, wrappedCallback);\n }\n async unregister(methodFilter, forStream = false) {\n if (methodFilter === undefined) {\n return Promise.reject(\"Please, provide either a unique string for a name or an object containing a “name” property.\");\n }\n if (typeof methodFilter === \"function\") {\n await this.unregisterWithPredicate(methodFilter, forStream);\n return;\n }\n let methodDefinition;\n if (typeof methodFilter === \"string\") {\n methodDefinition = { name: methodFilter };\n }\n else {\n methodDefinition = methodFilter;\n }\n if (methodDefinition.name === undefined) {\n return Promise.reject(\"Method name is required. Cannot find a method if the method name is undefined!\");\n }\n const methodToBeRemoved = this.serverRepository.getList().find((serverMethod) => {\n return serverMethod.definition.name === methodDefinition.name\n && (serverMethod.definition.supportsStreaming || false) === forStream;\n });\n if (!methodToBeRemoved) {\n return Promise.reject(`Method with a name \"${methodDefinition.name}\" does not exist or is not registered by your application!`);\n }\n await this.removeMethodsOrStreams([methodToBeRemoved]);\n }\n async unregisterWithPredicate(filterPredicate, forStream) {\n const methodsOrStreamsToRemove = this.serverRepository.getList()\n .filter((sm) => filterPredicate(sm.definition))\n .filter((serverMethod) => (serverMethod.definition.supportsStreaming || false) === forStream);\n if (!methodsOrStreamsToRemove || methodsOrStreamsToRemove.length === 0) {\n return Promise.reject(`Could not find a ${forStream ? \"stream\" : \"method\"} matching the specified condition!`);\n }\n await this.removeMethodsOrStreams(methodsOrStreamsToRemove);\n }\n removeMethodsOrStreams(methodsToRemove) {\n const methodUnregPromises = [];\n methodsToRemove.forEach((method) => {\n const promise = this.protocol.server.unregister(method)\n .then(() => {\n if (method.repoId) {\n this.serverRepository.remove(method.repoId);\n }\n });\n methodUnregPromises.push(promise);\n this.addAsCurrentlyUnregistering(method.definition.name, promise);\n });\n return Promise.all(methodUnregPromises);\n }\n async addAsCurrentlyUnregistering(methodName, promise) {\n const timeout = new Promise((resolve) => setTimeout(resolve, 5000));\n this.currentlyUnregistering[methodName] = Promise.race([promise, timeout]).then(() => {\n delete this.currentlyUnregistering[methodName];\n });\n }\n async registerCore(method, theFunction) {\n let methodDefinition;\n if (typeof method === \"string\") {\n methodDefinition = { name: \"\" + method };\n }\n else {\n methodDefinition = { ...method };\n }\n if (!methodDefinition.name) {\n return Promise.reject(`Please, provide a (unique) string value for the “name” property in the “methodDefinition” object: ${JSON.stringify(method)}`);\n }\n const unregisterInProgress = this.currentlyUnregistering[methodDefinition.name];\n if (typeof unregisterInProgress !== \"undefined\") {\n await unregisterInProgress;\n }\n const nameAlreadyExists = this.serverRepository.getList()\n .some((serverMethod) => serverMethod.definition.name === methodDefinition.name);\n if (nameAlreadyExists) {\n return Promise.reject(`A method with the name \"${methodDefinition.name}\" already exists! Please, provide a unique name for the method.`);\n }\n if (methodDefinition.supportsStreaming) {\n return Promise.reject(`When you create methods with “glue.interop.register()” or “glue.interop.registerAsync()” the property “supportsStreaming” cannot be “true”. If you want “${methodDefinition.name}” to be a stream, please use the “glue.interop.createStream()” method.`);\n }\n const repoMethod = this.serverRepository.add({\n definition: methodDefinition,\n theFunction,\n protocolState: {},\n });\n return this.protocol.server.register(repoMethod)\n .catch((err) => {\n if (repoMethod?.repoId) {\n this.serverRepository.remove(repoMethod.repoId);\n }\n throw err;\n });\n }\n onMethodInvoked(methodToExecute, invocationId, invocationArgs) {\n if (!methodToExecute || !methodToExecute.theFunction) {\n return;\n }\n methodToExecute.theFunction(invocationArgs, (err, result) => {\n if (err !== undefined && err !== null) {\n if (err.message && typeof err.message === \"string\") {\n err = err.message;\n }\n else if (typeof err !== \"string\") {\n try {\n err = JSON.stringify(err);\n }\n catch (unStrException) {\n err = `un-stringifyable error in onMethodInvoked! Top level prop names: ${Object.keys(err)}`;\n }\n }\n }\n if (!result) {\n result = {};\n }\n else if (typeof result !== \"object\" || Array.isArray(result)) {\n result = { _value: result };\n }\n this.protocol.server.methodInvocationResult(methodToExecute, invocationId, err, result);\n });\n }\n}\n\nclass InstanceWrapper {\n wrapped = {};\n constructor(API, instance, connection) {\n this.wrapped.getMethods = function () {\n return API.methodsForInstance(this);\n };\n this.wrapped.getStreams = function () {\n return API.methodsForInstance(this).filter((m) => m.supportsStreaming);\n };\n if (instance) {\n this.refreshWrappedObject(instance);\n }\n if (connection) {\n connection.loggedIn(() => {\n this.refresh(connection);\n });\n this.refresh(connection);\n }\n }\n unwrap() {\n return this.wrapped;\n }\n refresh(connection) {\n if (!connection) {\n return;\n }\n const resolvedIdentity = connection?.resolvedIdentity;\n const instance = Object.assign({}, resolvedIdentity ?? {}, { peerId: connection?.peerId });\n this.refreshWrappedObject(instance);\n }\n refreshWrappedObject(resolvedIdentity) {\n Object.keys(resolvedIdentity).forEach((key) => {\n this.wrapped[key] = resolvedIdentity[key];\n });\n this.wrapped.user = resolvedIdentity.user;\n this.wrapped.instance = resolvedIdentity.instance;\n this.wrapped.application = resolvedIdentity.application ?? nanoid(10);\n this.wrapped.applicationName = resolvedIdentity.applicationName;\n this.wrapped.pid = resolvedIdentity.pid ?? resolvedIdentity.process ?? Math.floor(Math.random() * 10000000000);\n this.wrapped.machine = resolvedIdentity.machine;\n this.wrapped.environment = resolvedIdentity.environment;\n this.wrapped.region = resolvedIdentity.region;\n this.wrapped.windowId = resolvedIdentity.windowId;\n this.wrapped.isLocal = resolvedIdentity.isLocal ?? true;\n this.wrapped.api = resolvedIdentity.api;\n this.wrapped.service = resolvedIdentity.service;\n this.wrapped.peerId = resolvedIdentity.peerId;\n }\n}\n\nconst hideMethodSystemFlags = (method) => {\n return {\n ...method,\n flags: method.flags.metadata || {}\n };\n};\nclass ClientRepository {\n logger;\n API;\n servers = {};\n myServer;\n methodsCount = {};\n callbacks = CallbackRegistryFactory();\n constructor(logger, API) {\n this.logger = logger;\n this.API = API;\n const peerId = this.API.instance.peerId;\n this.myServer = {\n id: peerId,\n methods: {},\n instance: this.API.instance,\n wrapper: this.API.unwrappedInstance,\n };\n this.servers[peerId] = this.myServer;\n }\n addServer(info, serverId) {\n this.logger.debug(`adding server ${serverId}`);\n const current = this.servers[serverId];\n if (current) {\n return current.id;\n }\n const wrapper = new InstanceWrapper(this.API, info);\n const serverEntry = {\n id: serverId,\n methods: {},\n instance: wrapper.unwrap(),\n wrapper,\n };\n this.servers[serverId] = serverEntry;\n this.callbacks.execute(\"onServerAdded\", serverEntry.instance);\n return serverId;\n }\n removeServerById(id, reason) {\n const server = this.servers[id];\n if (!server) {\n this.logger.warn(`not aware of server ${id}, my state ${JSON.stringify(Object.keys(this.servers))}`);\n return;\n }\n else {\n this.logger.debug(`removing server ${id}`);\n }\n Object.keys(server.methods).forEach((methodId) => {\n this.removeServerMethod(id, methodId);\n });\n delete this.servers[id];\n this.callbacks.execute(\"onServerRemoved\", server.instance, reason);\n }\n addServerMethod(serverId, method) {\n const server = this.servers[serverId];\n if (!server) {\n throw new Error(\"server does not exists\");\n }\n if (server.methods[method.id]) {\n return;\n }\n const identifier = this.createMethodIdentifier(method);\n const that = this;\n const methodDefinition = {\n identifier,\n gatewayId: method.id,\n name: method.name,\n displayName: method.display_name,\n description: method.description,\n version: method.version,\n objectTypes: method.object_types || [],\n accepts: method.input_signature,\n returns: method.result_signature,\n supportsStreaming: typeof method.flags !== \"undefined\" ? method.flags.streaming : false,\n flags: method.flags ?? {},\n getServers: () => {\n return that.getServersByMethod(identifier);\n }\n };\n methodDefinition.object_types = methodDefinition.objectTypes;\n methodDefinition.display_name = methodDefinition.displayName;\n methodDefinition.version = methodDefinition.version;\n server.methods[method.id] = methodDefinition;\n const clientMethodDefinition = hideMethodSystemFlags(methodDefinition);\n if (!this.methodsCount[identifier]) {\n this.methodsCount[identifier] = 0;\n this.callbacks.execute(\"onMethodAdded\", clientMethodDefinition);\n }\n this.methodsCount[identifier] = this.methodsCount[identifier] + 1;\n this.callbacks.execute(\"onServerMethodAdded\", server.instance, clientMethodDefinition);\n return methodDefinition;\n }\n removeServerMethod(serverId, methodId) {\n const server = this.servers[serverId];\n if (!server) {\n throw new Error(\"server does not exists\");\n }\n const method = server.methods[methodId];\n delete server.methods[methodId];\n const clientMethodDefinition = hideMethodSystemFlags(method);\n this.methodsCount[method.identifier] = this.methodsCount[method.identifier] - 1;\n if (this.methodsCount[method.identifier] === 0) {\n this.callbacks.execute(\"onMethodRemoved\", clientMethodDefinition);\n }\n this.callbacks.execute(\"onServerMethodRemoved\", server.instance, clientMethodDefinition);\n }\n getMethods() {\n return this.extractMethodsFromServers(Object.values(this.servers)).map(hideMethodSystemFlags);\n }\n getServers() {\n return Object.values(this.servers).map(this.hideServerMethodSystemFlags);\n }\n onServerAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerAdded\", callback);\n const serversWithMethodsToReplay = this.getServers().map((s) => s.instance);\n return this.returnUnsubWithDelayedReplay(unsubscribeFunc, serversWithMethodsToReplay, callback);\n }\n onMethodAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onMethodAdded\", callback);\n const methodsToReplay = this.getMethods();\n return this.returnUnsubWithDelayedReplay(unsubscribeFunc, methodsToReplay, callback);\n }\n onServerMethodAdded(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerMethodAdded\", callback);\n let unsubCalled = false;\n const servers = this.getServers();\n setTimeout(() => {\n servers.forEach((server) => {\n const methods = server.methods;\n Object.keys(methods).forEach((methodId) => {\n if (!unsubCalled) {\n callback(server.instance, methods[methodId]);\n }\n });\n });\n }, 0);\n return () => {\n unsubCalled = true;\n unsubscribeFunc();\n };\n }\n onMethodRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onMethodRemoved\", callback);\n return unsubscribeFunc;\n }\n onServerRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerRemoved\", callback);\n return unsubscribeFunc;\n }\n onServerMethodRemoved(callback) {\n const unsubscribeFunc = this.callbacks.add(\"onServerMethodRemoved\", callback);\n return unsubscribeFunc;\n }\n getServerById(id) {\n const server = this.servers[id];\n if (!server) {\n return undefined;\n }\n return this.hideServerMethodSystemFlags(this.servers[id]);\n }\n reset() {\n Object.keys(this.servers).forEach((key) => {\n this.removeServerById(key, \"reset\");\n });\n this.servers = {\n [this.myServer.id]: this.myServer\n };\n this.methodsCount = {};\n }\n createMethodIdentifier(methodInfo) {\n const accepts = methodInfo.input_signature ?? \"\";\n const returns = methodInfo.result_signature ?? \"\";\n return (methodInfo.name + accepts + returns).toLowerCase();\n }\n getServersByMethod(identifier) {\n const allServers = [];\n Object.values(this.servers).forEach((server) => {\n Object.values(server.methods).forEach((method) => {\n if (method.identifier === identifier) {\n allServers.push(server.instance);\n }\n });\n });\n return allServers;\n }\n returnUnsubWithDelayedReplay(unsubscribeFunc, collectionToReplay, callback) {\n let unsubCalled = false;\n setTimeout(() => {\n collectionToReplay.forEach((item) => {\n if (!unsubCalled) {\n callback(item);\n }\n });\n }, 0);\n return () => {\n unsubCalled = true;\n unsubscribeFunc();\n };\n }\n hideServerMethodSystemFlags(server) {\n const clientMethods = {};\n Object.entries(server.methods).forEach(([name, method]) => {\n clientMethods[name] = hideMethodSystemFlags(method);\n });\n return {\n ...server,\n methods: clientMethods\n };\n }\n extractMethodsFromServers(servers) {\n const methods = Object.values(servers).reduce((clientMethods, server) => {\n return [...clientMethods, ...Object.values(server.methods)];\n }, []);\n return methods;\n }\n}\n\nclass ServerRepository {\n nextId = 0;\n methods = [];\n add(method) {\n method.repoId = String(this.nextId);\n this.nextId += 1;\n this.methods.push(method);\n return method;\n }\n remove(repoId) {\n if (typeof repoId !== \"string\") {\n return new TypeError(\"Expecting a string\");\n }\n this.methods = this.methods.filter((m) => {\n return m.repoId !== repoId;\n });\n }\n getById(id) {\n if (typeof id !== \"string\") {\n return undefined;\n }\n return this.methods.find((m) => {\n return m.repoId === id;\n });\n }\n getList() {\n return this.methods.map((m) => m);\n }\n length() {\n return this.methods.length;\n }\n reset() {\n this.methods = [];\n }\n}\n\nconst SUBSCRIPTION_REQUEST = \"onSubscriptionRequest\";\nconst SUBSCRIPTION_ADDED = \"onSubscriptionAdded\";\nconst SUBSCRIPTION_REMOVED = \"onSubscriptionRemoved\";\nclass ServerStreaming {\n session;\n repository;\n serverRepository;\n ERR_URI_SUBSCRIPTION_FAILED = \"com.tick42.agm.errors.subscription.failure\";\n callbacks = CallbackRegistryFactory();\n nextStreamId = 0;\n constructor(session, repository, serverRepository) {\n this.session = session;\n this.repository = repository;\n this.serverRepository = serverRepository;\n session.on(\"add-interest\", (msg) => {\n this.handleAddInterest(msg);\n });\n session.on(\"remove-interest\", (msg) => {\n this.handleRemoveInterest(msg);\n });\n }\n acceptRequestOnBranch(requestContext, streamingMethod, branch) {\n if (typeof branch !== \"string\") {\n branch = \"\";\n }\n if (typeof streamingMethod.protocolState.subscriptionsMap !== \"object\") {\n throw new TypeError(\"The streaming method is missing its subscriptions.\");\n }\n if (!Array.isArray(streamingMethod.protocolState.branchKeyToStreamIdMap)) {\n throw new TypeError(\"The streaming method is missing its branches.\");\n }\n const streamId = this.getStreamId(streamingMethod, branch);\n const key = requestContext.msg.subscription_id;\n const subscription = {\n id: key,\n arguments: requestContext.arguments,\n instance: requestContext.instance,\n branchKey: branch,\n streamId,\n subscribeMsg: requestContext.msg,\n };\n streamingMethod.protocolState.subscriptionsMap[key] = subscription;\n this.session.sendFireAndForget({\n type: \"accepted\",\n subscription_id: key,\n stream_id: streamId,\n });\n this.callbacks.execute(SUBSCRIPTION_ADDED, subscription, streamingMethod);\n }\n rejectRequest(requestContext, streamingMethod, reason) {\n if (typeof reason !== \"string\") {\n reason = \"\";\n }\n this.sendSubscriptionFailed(\"Subscription rejected by user. \" + reason, requestContext.msg.subscription_id);\n }\n pushData(streamingMethod, data, branches) {\n if (typeof streamingMethod !== \"object\" || !Array.isArray(streamingMethod.protocolState.branchKeyToStreamIdMap)) {\n return;\n }\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n if (typeof branches === \"string\") {\n branches = [branches];\n }\n else if (!Array.isArray(branches) || branches.length <= 0) {\n branches = [];\n }\n const streamIdList = streamingMethod.protocolState.branchKeyToStreamIdMap\n .filter((br) => {\n if (!branches || branches.length === 0) {\n return true;\n }\n return branches.indexOf(br.key) >= 0;\n }).map((br) => {\n return br.streamId;\n });\n streamIdList.forEach((streamId) => {\n const publishMessage = {\n type: \"publish\",\n stream_id: streamId,\n data,\n };\n this.session.sendFireAndForget(publishMessage);\n });\n }\n pushDataToSingle(method, subscription, data) {\n if (typeof data !== \"object\") {\n throw new Error(\"Invalid arguments. Data must be an object.\");\n }\n const postMessage = {\n type: \"post\",\n subscription_id: subscription.id,\n data,\n };\n this.session.sendFireAndForget(postMessage);\n }\n closeSingleSubscription(streamingMethod, subscription) {\n if (streamingMethod.protocolState.subscriptionsMap) {\n delete streamingMethod.protocolState.subscriptionsMap[subscription.id];\n }\n const dropSubscriptionMessage = {\n type: \"drop-subscription\",\n subscription_id: subscription.id,\n reason: \"Server dropping a single subscription\",\n };\n this.session.sendFireAndForget(dropSubscriptionMessage);\n subscription.instance;\n this.callbacks.execute(SUBSCRIPTION_REMOVED, subscription, streamingMethod);\n }\n closeMultipleSubscriptions(streamingMethod, branchKey) {\n if (typeof streamingMethod !== \"object\" || typeof streamingMethod.protocolState.subscriptionsMap !== \"object\") {\n return;\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return;\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n let subscriptionsToClose = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n if (typeof branchKey === \"string\") {\n subscriptionsToClose = subscriptionsToClose.filter((sub) => {\n return sub.branchKey === branchKey;\n });\n }\n subscriptionsToClose.forEach((subscription) => {\n delete subscriptionsMap[subscription.id];\n const drop = {\n type: \"drop-subscription\",\n subscription_id: subscription.id,\n reason: \"Server dropping all subscriptions on stream_id: \" + subscription.streamId,\n };\n this.session.sendFireAndForget(drop);\n });\n }\n getSubscriptionList(streamingMethod, branchKey) {\n if (typeof streamingMethod !== \"object\") {\n return [];\n }\n let subscriptions = [];\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return [];\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n const allSubscriptions = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n if (typeof branchKey !== \"string\") {\n subscriptions = allSubscriptions;\n }\n else {\n subscriptions = allSubscriptions.filter((sub) => {\n return sub.branchKey === branchKey;\n });\n }\n return subscriptions;\n }\n getBranchList(streamingMethod) {\n if (typeof streamingMethod !== \"object\") {\n return [];\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return [];\n }\n const subscriptionsMap = streamingMethod.protocolState.subscriptionsMap;\n const allSubscriptions = Object.keys(subscriptionsMap)\n .map((key) => {\n return subscriptionsMap[key];\n });\n const result = [];\n allSubscriptions.forEach((sub) => {\n let branch = \"\";\n if (typeof sub === \"object\" && typeof sub.branchKey === \"string\") {\n branch = sub.branchKey;\n }\n if (result.indexOf(branch) === -1) {\n result.push(branch);\n }\n });\n return result;\n }\n onSubAdded(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_ADDED, callback);\n }\n onSubRequest(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_REQUEST, callback);\n }\n onSubRemoved(callback) {\n this.onSubscriptionLifetimeEvent(SUBSCRIPTION_REMOVED, callback);\n }\n handleRemoveInterest(msg) {\n const streamingMethod = this.serverRepository.getById(msg.method_id);\n if (typeof msg.subscription_id !== \"string\" ||\n typeof streamingMethod !== \"object\") {\n return;\n }\n if (!streamingMethod.protocolState.subscriptionsMap) {\n return;\n }\n if (typeof streamingMethod.protocolState.subscriptionsMap[msg.subscription_id] !== \"object\") {\n return;\n }\n const subscription = streamingMethod.protocolState.subscriptionsMap[msg.subscription_id];\n delete streamingMethod.protocolState.subscriptionsMap[msg.subscription_id];\n this.callbacks.execute(SUBSCRIPTION_REMOVED, subscription, streamingMethod);\n }\n onSubscriptionLifetimeEvent(eventName, handlerFunc) {\n this.callbacks.add(eventName, handlerFunc);\n }\n getNextStreamId() {\n return this.nextStreamId++ + \"\";\n }\n handleAddInterest(msg) {\n const caller = this.repository.getServerById(msg.caller_id);\n const instance = caller?.instance ?? {};\n const requestContext = {\n msg,\n arguments: msg.arguments_kv || {},\n instance,\n };\n const streamingMethod = this.serverRepository.getById(msg.method_id);\n if (streamingMethod === undefined) {\n const errorMsg = \"No method with id \" + msg.method_id + \" on this server.\";\n this.sendSubscriptionFailed(errorMsg, msg.subscription_id);\n return;\n }\n if (streamingMethod.protocolState.subscriptionsMap &&\n streamingMethod.protocolState.subscriptionsMap[msg.subscription_id]) {\n this.sendSubscriptionFailed(\"A subscription with id \" + msg.subscription_id + \" already exists.\", msg.subscription_id);\n return;\n }\n this.callbacks.execute(SUBSCRIPTION_REQUEST, requestContext, streamingMethod);\n }\n sendSubscriptionFailed(reason, subscriptionId) {\n const errorMessage = {\n type: \"error\",\n reason_uri: this.ERR_URI_SUBSCRIPTION_FAILED,\n reason,\n request_id: subscriptionId,\n };\n this.session.sendFireAndForget(errorMessage);\n }\n getStreamId(streamingMethod, branchKey) {\n if (typeof branchKey !== \"string\") {\n branchKey = \"\";\n }\n if (!streamingMethod.protocolState.branchKeyToStreamIdMap) {\n throw new Error(`streaming ${streamingMethod.definition.name} method without protocol state`);\n }\n const needleBranch = streamingMethod.protocolState.branchKeyToStreamIdMap.filter((branch) => {\n return branch.key === branchKey;\n })[0];\n let streamId = (needleBranch ? needleBranch.streamId : undefined);\n if (typeof streamId !== \"string\" || streamId === \"\") {\n streamId = this.getNextStreamId();\n streamingMethod.protocolState.branchKeyToStreamIdMap.push({ key: branchKey, streamId });\n }\n return streamId;\n }\n}\n\nclass ServerProtocol {\n session;\n clientRepository;\n serverRepository;\n logger;\n callbacks = CallbackRegistryFactory();\n streaming;\n constructor(session, clientRepository, serverRepository, logger) {\n this.session = session;\n this.clientRepository = clientRepository;\n this.serverRepository = serverRepository;\n this.logger = logger;\n this.streaming = new ServerStreaming(session, clientRepository, serverRepository);\n this.session.on(\"invoke\", (msg) => this.handleInvokeMessage(msg));\n }\n createStream(repoMethod) {\n repoMethod.protocolState.subscriptionsMap = {};\n repoMethod.protocolState.branchKeyToStreamIdMap = [];\n return this.register(repoMethod, true);\n }\n register(repoMethod, isStreaming) {\n const methodDef = repoMethod.definition;\n const flags = Object.assign({}, { metadata: methodDef.flags ?? {} }, { streaming: isStreaming || false });\n const registerMsg = {\n type: \"register\",\n methods: [{\n id: repoMethod.repoId,\n name: methodDef.name,\n display_name: methodDef.displayName,\n description: methodDef.description,\n version: methodDef.version,\n flags,\n object_types: methodDef.objectTypes || methodDef.object_types,\n input_signature: methodDef.accepts,\n result_signature: methodDef.returns,\n restrictions: undefined,\n }],\n };\n return this.session.send(registerMsg, { methodId: repoMethod.repoId })\n .then(() => {\n this.logger.debug(\"registered method \" + repoMethod.definition.name + \" with id \" + repoMethod.repoId);\n })\n .catch((msg) => {\n this.logger.warn(`failed to register method ${repoMethod.definition.name} with id ${repoMethod.repoId} - ${JSON.stringify(msg)}`);\n throw msg;\n });\n }\n onInvoked(callback) {\n this.callbacks.add(\"onInvoked\", callback);\n }\n methodInvocationResult(method, invocationId, err, result) {\n let msg;\n if (err || err === \"\") {\n msg = {\n type: \"error\",\n request_id: invocationId,\n reason_uri: \"agm.errors.client_error\",\n reason: err,\n context: result,\n peer_id: undefined,\n };\n }\n else {\n msg = {\n type: \"yield\",\n invocation_id: invocationId,\n peer_id: this.session.peerId,\n result,\n request_id: undefined,\n };\n }\n this.session.sendFireAndForget(msg);\n }\n async unregister(method) {\n const msg = {\n type: \"unregister\",\n methods: [method.repoId],\n };\n await this.session.send(msg);\n }\n getBranchList(method) {\n return this.streaming.getBranchList(method);\n }\n getSubscriptionList(method, branchKey) {\n return this.streaming.getSubscriptionList(method, branchKey);\n }\n closeAllSubscriptions(method, branchKey) {\n this.streaming.closeMultipleSubscriptions(method, branchKey);\n }\n pushData(method, data, branches) {\n this.streaming.pushData(method, data, branches);\n }\n pushDataToSingle(method, subscription, data) {\n this.streaming.pushDataToSingle(method, subscription, data);\n }\n closeSingleSubscription(method, subscription) {\n this.streaming.closeSingleSubscription(method, subscription);\n }\n acceptRequestOnBranch(requestContext, method, branch) {\n this.streaming.acceptRequestOnBranch(requestContext, method, branch);\n }\n rejectRequest(requestContext, method, reason) {\n this.streaming.rejectRequest(requestContext, method, reason);\n }\n onSubRequest(callback) {\n this.streaming.onSubRequest(callback);\n }\n onSubAdded(callback) {\n this.streaming.onSubAdded(callback);\n }\n onSubRemoved(callback) {\n this.streaming.onSubRemoved(callback);\n }\n handleInvokeMessage(msg) {\n const invocationId = msg.invocation_id;\n const callerId = msg.caller_id;\n const methodId = msg.method_id;\n const args = msg.arguments_kv;\n const methodList = this.serverRepository.getList();\n const method = methodList.filter((m) => {\n return m.repoId === methodId;\n })[0];\n if (method === undefined) {\n return;\n }\n const client = this.clientRepository.getServerById(callerId)?.instance;\n const invocationArgs = { args, instance: client };\n this.callbacks.execute(\"onInvoked\", method, invocationId, invocationArgs);\n }\n}\n\nclass UserSubscription {\n repository;\n subscriptionData;\n get requestArguments() {\n return this.subscriptionData.params.arguments || {};\n }\n get servers() {\n return this.subscriptionData.trackedServers.reduce((servers, pair) => {\n if (pair.subscriptionId) {\n const server = this.repository.getServerById(pair.serverId)?.instance;\n if (server) {\n servers.push(server);\n }\n }\n return servers;\n }, []);\n }\n get serverInstance() {\n return this.servers[0];\n }\n get stream() {\n return this.subscriptionData.method;\n }\n constructor(repository, subscriptionData) {\n this.repository = repository;\n this.subscriptionData = subscriptionData;\n }\n onData(dataCallback) {\n if (typeof dataCallback !== \"function\") {\n throw new TypeError(\"The data callback must be a function.\");\n }\n this.subscriptionData.handlers.onData.push(dataCallback);\n if (this.subscriptionData.handlers.onData.length === 1 && this.subscriptionData.queued.data.length > 0) {\n this.subscriptionData.queued.data.forEach((dataItem) => {\n dataCallback(dataItem);\n });\n }\n }\n onClosed(closedCallback) {\n if (typeof closedCallback !== \"function\") {\n throw new TypeError(\"The callback must be a function.\");\n }\n this.subscriptionData.handlers.onClosed.push(closedCallback);\n }\n onFailed(callback) {\n }\n onConnected(callback) {\n if (typeof callback !== \"function\") {\n throw new TypeError(\"The callback must be a function.\");\n }\n this.subscriptionData.handlers.onConnected.push(callback);\n }\n close() {\n this.subscriptionData.close();\n }\n setNewSubscription(newSub) {\n this.subscriptionData = newSub;\n }\n}\n\nclass TimedCache {\n config;\n cache = [];\n timeoutIds = [];\n constructor(config) {\n this.config = config;\n }\n add(element) {\n const id = nanoid(10);\n this.cache.push({ id, element });\n const timeoutId = setTimeout(() => {\n const elementIdx = this.cache.findIndex((entry) => entry.id === id);\n if (elementIdx < 0) {\n return;\n }\n this.cache.splice(elementIdx, 1);\n }, this.config.ELEMENT_TTL_MS);\n this.timeoutIds.push(timeoutId);\n }\n flush() {\n const elements = this.cache.map((entry) => entry.element);\n this.timeoutIds.forEach((id) => clearInterval(id));\n this.cache = [];\n this.timeoutIds = [];\n return elements;\n }\n}\n\nconst STATUS_AWAITING_ACCEPT = \"awaitingAccept\";\nconst STATUS_SUBSCRIBED = \"subscribed\";\nconst ERR_MSG_SUB_FAILED = \"Subscription failed.\";\nconst ERR_MSG_SUB_REJECTED = \"Subscription rejected.\";\nconst ON_CLOSE_MSG_SERVER_INIT = \"ServerInitiated\";\nconst ON_CLOSE_MSG_CLIENT_INIT = \"ClientInitiated\";\nclass ClientStreaming {\n session;\n repository;\n logger;\n subscriptionsList = {};\n timedCache = new TimedCache({ ELEMENT_TTL_MS: 10000 });\n subscriptionIdToLocalKeyMap = {};\n nextSubLocalKey = 0;\n constructor(session, repository, logger) {\n this.session = session;\n this.repository = repository;\n this.logger = logger;\n session.on(\"subscribed\", this.handleSubscribed);\n session.on(\"event\", this.handleEventData);\n session.on(\"subscription-cancelled\", this.handleSubscriptionCancelled);\n }\n subscribe(streamingMethod, params, targetServers, success, error, existingSub) {\n if (targetServers.length === 0) {\n error({\n method: streamingMethod,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" No available servers matched the target params.\",\n });\n return;\n }\n const subLocalKey = this.getNextSubscriptionLocalKey();\n const pendingSub = this.registerSubscription(subLocalKey, streamingMethod, params, success, error, params.methodResponseTimeout || 10000, existingSub);\n if (typeof pendingSub !== \"object\") {\n error({\n method: streamingMethod,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" Unable to register the user callbacks.\",\n });\n return;\n }\n targetServers.forEach((target) => {\n const serverId = target.server.id;\n const method = target.methods.find((m) => m.name === streamingMethod.name);\n if (!method) {\n this.logger.error(`can not find method ${streamingMethod.name} for target ${target.server.id}`);\n return;\n }\n pendingSub.trackedServers.push({\n serverId,\n subscriptionId: undefined,\n });\n const msg = {\n type: \"subscribe\",\n server_id: serverId,\n method_id: method.gatewayId,\n arguments_kv: params.arguments,\n };\n this.session.send(msg, { serverId, subLocalKey })\n .then((m) => this.handleSubscribed(m))\n .catch((err) => this.handleErrorSubscribing(err));\n });\n }\n drainSubscriptions() {\n const existing = Object.values(this.subscriptionsList);\n this.subscriptionsList = {};\n this.subscriptionIdToLocalKeyMap = {};\n return existing;\n }\n drainSubscriptionsCache() {\n return this.timedCache.flush();\n }\n getNextSubscriptionLocalKey() {\n const current = this.nextSubLocalKey;\n this.nextSubLocalKey += 1;\n return current;\n }\n registerSubscription(subLocalKey, method, params, success, error, timeout, existingSub) {\n const subsInfo = {\n localKey: subLocalKey,\n status: STATUS_AWAITING_ACCEPT,\n method,\n params,\n success,\n error,\n trackedServers: [],\n handlers: {\n onData: existingSub?.handlers.onData || [],\n onClosed: existingSub?.handlers.onClosed || [],\n onConnected: existingSub?.handlers.onConnected || [],\n },\n queued: {\n data: [],\n closers: [],\n },\n timeoutId: undefined,\n close: () => this.closeSubscription(subLocalKey),\n subscription: existingSub?.subscription\n };\n if (!existingSub) {\n if (params.onData) {\n subsInfo.handlers.onData.push(params.onData);\n }\n if (params.onClosed) {\n subsInfo.handlers.onClosed.push(params.onClosed);\n }\n if (params.onConnected) {\n subsInfo.handlers.onConnected.push(params.onConnected);\n }\n }\n this.subscriptionsList[subLocalKey] = subsInfo;\n subsInfo.timeoutId = setTimeout(() => {\n if (this.subscriptionsList[subLocalKey] === undefined) {\n return;\n }\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (pendingSub.status === STATUS_AWAITING_ACCEPT) {\n error({\n method,\n called_with: params.arguments,\n message: ERR_MSG_SUB_FAILED + \" Subscription attempt timed out after \" + timeout + \" ms.\",\n });\n delete this.subscriptionsList[subLocalKey];\n }\n else if (pendingSub.status === STATUS_SUBSCRIBED && pendingSub.trackedServers.length > 0) {\n pendingSub.trackedServers = pendingSub.trackedServers.filter((server) => {\n return (typeof server.subscriptionId !== \"undefined\");\n });\n delete pendingSub.timeoutId;\n if (pendingSub.trackedServers.length <= 0) {\n this.callOnClosedHandlers(pendingSub);\n delete this.subscriptionsList[subLocalKey];\n }\n }\n }, timeout);\n return subsInfo;\n }\n handleErrorSubscribing = (errorResponse) => {\n const tag = errorResponse._tag;\n const subLocalKey = tag.subLocalKey;\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (typeof pendingSub !== \"object\") {\n return;\n }\n pendingSub.trackedServers = pendingSub.trackedServers.filter((server) => {\n return server.serverId !== tag.serverId;\n });\n if (pendingSub.trackedServers.length <= 0) {\n clearTimeout(pendingSub.timeoutId);\n if (pendingSub.status === STATUS_AWAITING_ACCEPT) {\n const reason = (typeof errorResponse.reason === \"string\" && errorResponse.reason !== \"\") ?\n ' Publisher said \"' + errorResponse.reason + '\".' :\n \" No reason given.\";\n const callArgs = typeof pendingSub.params.arguments === \"object\" ?\n JSON.stringify(pendingSub.params.arguments) :\n \"{}\";\n pendingSub.error({\n message: ERR_MSG_SUB_REJECTED + reason + \" Called with:\" + callArgs,\n called_with: pendingSub.params.arguments,\n method: pendingSub.method,\n });\n }\n else if (pendingSub.status === STATUS_SUBSCRIBED) {\n this.callOnClosedHandlers(pendingSub);\n }\n delete this.subscriptionsList[subLocalKey];\n }\n };\n handleSubscribed = (msg) => {\n const subLocalKey = msg._tag.subLocalKey;\n const pendingSub = this.subscriptionsList[subLocalKey];\n if (typeof pendingSub !== \"object\") {\n return;\n }\n const serverId = msg._tag.serverId;\n const acceptingServer = pendingSub.trackedServers\n .filter((server) => {\n return server.serverId === serverId;\n })[0];\n if (typeof acceptingServer !== \"object\") {\n return;\n }\n acceptingServer.subscriptionId = msg.subscription_id;\n this.subscriptionIdToLocalKeyMap[msg.subscription_id] = subLocalKey;\n const isFirstResponse = (pendingSub.status === STATUS_AWAITING_ACCEPT);\n pendingSub.status = STATUS_SUBSCRIBED;\n if (isFirstResponse) {\n let reconnect = false;\n let sub = pendingSub.subscription;\n if (sub) {\n sub.setNewSubscription(pendingSub);\n pendingSub.success(sub);\n reconnect = true;\n }\n else {\n sub = new UserSubscription(this.repository, pendingSub);\n pendingSub.subscription = sub;\n pendingSub.success(sub);\n }\n for (const handler of pendingSub.handlers.onConnected) {\n try {\n handler(sub.serverInstance, reconnect);\n }\n catch (e) {\n }\n }\n }\n };\n handleEventData = (msg) => {\n const subLocalKey = this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n if (typeof subLocalKey === \"undefined\") {\n return;\n }\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n const trackedServersFound = subscription.trackedServers.filter((s) => {\n return s.subscriptionId === msg.subscription_id;\n });\n if (trackedServersFound.length !== 1) {\n return;\n }\n const isPrivateData = msg.oob;\n const sendingServerId = trackedServersFound[0].serverId;\n const server = this.repository.getServerById(sendingServerId);\n const receivedStreamData = () => {\n return {\n data: msg.data,\n server: server?.instance ?? {},\n requestArguments: subscription.params.arguments,\n message: undefined,\n private: isPrivateData,\n };\n };\n const onDataHandlers = subscription.handlers.onData;\n const queuedData = subscription.queued.data;\n if (onDataHandlers.length > 0) {\n onDataHandlers.forEach((callback) => {\n if (typeof callback === \"function\") {\n callback(receivedStreamData());\n }\n });\n }\n else {\n queuedData.push(receivedStreamData());\n }\n };\n handleSubscriptionCancelled = (msg) => {\n const subLocalKey = this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n if (typeof subLocalKey === \"undefined\") {\n return;\n }\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n const expectedNewLength = subscription.trackedServers.length - 1;\n subscription.trackedServers = subscription.trackedServers.filter((server) => {\n if (server.subscriptionId === msg.subscription_id) {\n subscription.queued.closers.push(server.serverId);\n return false;\n }\n else {\n return true;\n }\n });\n if (subscription.trackedServers.length !== expectedNewLength) {\n return;\n }\n if (subscription.trackedServers.length <= 0) {\n this.timedCache.add(subscription);\n clearTimeout(subscription.timeoutId);\n this.callOnClosedHandlers(subscription);\n delete this.subscriptionsList[subLocalKey];\n }\n delete this.subscriptionIdToLocalKeyMap[msg.subscription_id];\n };\n callOnClosedHandlers(subscription, reason) {\n const closersCount = subscription.queued.closers.length;\n const closingServerId = (closersCount > 0) ? subscription.queued.closers[closersCount - 1] : null;\n let closingServer;\n if (closingServerId !== undefined && typeof closingServerId === \"string\") {\n closingServer = this.repository.getServerById(closingServerId)?.instance ?? {};\n }\n subscription.handlers.onClosed.forEach((callback) => {\n if (typeof callback !== \"function\") {\n return;\n }\n callback({\n message: reason || ON_CLOSE_MSG_SERVER_INIT,\n requestArguments: subscription.params.arguments || {},\n server: closingServer,\n stream: subscription.method,\n });\n });\n }\n closeSubscription(subLocalKey) {\n const subscription = this.subscriptionsList[subLocalKey];\n if (typeof subscription !== \"object\") {\n return;\n }\n subscription.trackedServers.forEach((server) => {\n if (typeof server.subscriptionId === \"undefined\") {\n return;\n }\n subscription.queued.closers.push(server.serverId);\n this.session.sendFireAndForget({\n type: \"unsubscribe\",\n subscription_id: server.subscriptionId,\n reason_uri: \"\",\n reason: ON_CLOSE_MSG_CLIENT_INIT,\n });\n delete this.subscriptionIdToLocalKeyMap[server.subscriptionId];\n });\n subscription.trackedServers = [];\n this.callOnClosedHandlers(subscription, ON_CLOSE_MSG_CLIENT_INIT);\n delete this.subscriptionsList[subLocalKey];\n }\n}\n\nclass ClientProtocol {\n session;\n repository;\n logger;\n streaming;\n constructor(session, repository, logger) {\n this.session = session;\n this.repository = repository;\n this.logger = logger;\n session.on(\"peer-added\", (msg) => this.handlePeerAdded(msg));\n session.on(\"peer-removed\", (msg) => this.handlePeerRemoved(msg));\n session.on(\"methods-added\", (msg) => this.handleMethodsAddedMessage(msg));\n session.on(\"methods-removed\", (msg) => this.handleMethodsRemovedMessage(msg));\n this.streaming = new ClientStreaming(session, repository, logger);\n }\n subscribe(stream, options, targetServers, success, error, existingSub) {\n this.streaming.subscribe(stream, options, targetServers, success, error, existingSub);\n }\n invoke(id, method, args, target) {\n const serverId = target.id;\n const methodId = method.gatewayId;\n const msg = {\n type: \"call\",\n server_id: serverId,\n method_id: methodId,\n arguments_kv: args,\n };\n return this.session.send(msg, { invocationId: id, serverId })\n .then((m) => this.handleResultMessage(m))\n .catch((err) => this.handleInvocationError(err));\n }\n drainSubscriptions() {\n return this.streaming.drainSubscriptions();\n }\n drainSubscriptionsCache() {\n return this.streaming.drainSubscriptionsCache();\n }\n handlePeerAdded(msg) {\n const newPeerId = msg.new_peer_id;\n const remoteId = msg.identity;\n const isLocal = msg.meta ? msg.meta.local : true;\n const pid = Number(remoteId.process);\n const serverInfo = {\n machine: remoteId.machine,\n pid: isNaN(pid) ? remoteId.process : pid,\n instance: remoteId.instance,\n application: remoteId.application,\n applicationName: remoteId.applicationName,\n environment: remoteId.environment,\n region: remoteId.region,\n user: remoteId.user,\n windowId: remoteId.windowId,\n peerId: newPeerId,\n api: remoteId.api,\n isLocal\n };\n this.repository.addServer(serverInfo, newPeerId);\n }\n handlePeerRemoved(msg) {\n const removedPeerId = msg.removed_id;\n const reason = msg.reason;\n this.repository.removeServerById(removedPeerId, reason);\n }\n handleMethodsAddedMessage(msg) {\n const serverId = msg.server_id;\n const methods = msg.methods;\n methods.forEach((method) => {\n this.repository.addServerMethod(serverId, method);\n });\n }\n handleMethodsRemovedMessage(msg) {\n const serverId = msg.server_id;\n const methodIdList = msg.methods;\n const server = this.repository.getServerById(serverId);\n if (server) {\n const serverMethodKeys = Object.keys(server.methods);\n serverMethodKeys.forEach((methodKey) => {\n const method = server.methods[methodKey];\n if (methodIdList.indexOf(method.gatewayId) > -1) {\n this.repository.removeServerMethod(serverId, methodKey);\n }\n });\n }\n }\n handleResultMessage(msg) {\n const invocationId = msg._tag.invocationId;\n const result = msg.result;\n const serverId = msg._tag.serverId;\n const server = this.repository.getServerById(serverId);\n return {\n invocationId,\n result,\n instance: server?.instance,\n status: InvokeStatus.Success,\n message: \"\"\n };\n }\n handleInvocationError(msg) {\n this.logger.debug(`handle invocation error ${JSON.stringify(msg)}`);\n if (\"_tag\" in msg) {\n const invocationId = msg._tag.invocationId;\n const serverId = msg._tag.serverId;\n const server = this.repository.getServerById(serverId);\n const message = msg.reason;\n const context = msg.context;\n return {\n invocationId,\n result: context,\n instance: server?.instance,\n status: InvokeStatus.Error,\n message\n };\n }\n else {\n return {\n invocationId: \"\",\n message: msg.message,\n status: InvokeStatus.Error,\n error: msg\n };\n }\n }\n}\n\nfunction gW3ProtocolFactory (instance, connection, clientRepository, serverRepository, libConfig, interop) {\n const logger = libConfig.logger.subLogger(\"gw3-protocol\");\n let resolveReadyPromise;\n const readyPromise = new Promise((resolve) => {\n resolveReadyPromise = resolve;\n });\n const session = connection.domain(\"agm\", [\"subscribed\"]);\n const server = new ServerProtocol(session, clientRepository, serverRepository, logger.subLogger(\"server\"));\n const client = new ClientProtocol(session, clientRepository, logger.subLogger(\"client\"));\n async function handleReconnect() {\n logger.info(\"reconnected - will replay registered methods and subscriptions\");\n client.drainSubscriptionsCache().forEach((sub) => {\n const methodInfo = sub.method;\n const params = Object.assign({}, sub.params);\n logger.info(`trying to soft-re-subscribe to method ${methodInfo.name}, with params: ${JSON.stringify(params)}`);\n interop.client.subscribe(methodInfo, params, undefined, undefined, sub).then(() => logger.info(`soft-subscribing to method ${methodInfo.name} DONE`)).catch((error) => logger.warn(`subscribing to method ${methodInfo.name} failed: ${JSON.stringify(error)}}`));\n });\n const reconnectionPromises = [];\n const existingSubscriptions = client.drainSubscriptions();\n for (const sub of existingSubscriptions) {\n const methodInfo = sub.method;\n const params = Object.assign({}, sub.params);\n logger.info(`trying to re-subscribe to method ${methodInfo.name}, with params: ${JSON.stringify(params)}`);\n reconnectionPromises.push(interop.client.subscribe(methodInfo, params, undefined, undefined, sub).then(() => logger.info(`subscribing to method ${methodInfo.name} DONE`)));\n }\n const registeredMethods = serverRepository.getList();\n serverRepository.reset();\n for (const method of registeredMethods) {\n const def = method.definition;\n if (method.stream) {\n reconnectionPromises.push(interop.server.createStream(def, method.streamCallbacks, undefined, undefined, method.stream)\n .then(() => logger.info(`subscribing to method ${def.name} DONE`))\n .catch(() => logger.warn(`subscribing to method ${def.name} FAILED`)));\n }\n else if (method?.theFunction?.userCallback) {\n reconnectionPromises.push(interop.register(def, method.theFunction.userCallback)\n .then(() => logger.info(`registering method ${def.name} DONE`))\n .catch(() => logger.warn(`registering method ${def.name} FAILED`)));\n }\n else if (method?.theFunction?.userCallbackAsync) {\n reconnectionPromises.push(interop.registerAsync(def, method.theFunction.userCallbackAsync)\n .then(() => logger.info(`registering method ${def.name} DONE`))\n .catch(() => logger.warn(`registering method ${def.name} FAILED`)));\n }\n }\n await Promise.all(reconnectionPromises);\n logger.info(\"Interop is re-announced\");\n }\n function handleInitialJoin() {\n if (resolveReadyPromise) {\n resolveReadyPromise({\n client,\n server,\n });\n resolveReadyPromise = undefined;\n }\n }\n session.onJoined((reconnect) => {\n clientRepository.addServer(instance, connection.peerId);\n if (reconnect) {\n handleReconnect().then(() => connection.setLibReAnnounced({ name: \"interop\" })).catch((error) => logger.warn(`Error while re-announcing interop: ${JSON.stringify(error)}`));\n }\n else {\n handleInitialJoin();\n }\n });\n session.onLeft(() => {\n clientRepository.reset();\n });\n session.join();\n return readyPromise;\n}\n\nclass Interop {\n instance;\n readyPromise;\n client;\n server;\n unwrappedInstance;\n protocol;\n clientRepository;\n serverRepository;\n constructor(configuration) {\n if (typeof configuration === \"undefined\") {\n throw new Error(\"configuration is required\");\n }\n if (typeof configuration.connection === \"undefined\") {\n throw new Error(\"configuration.connections is required\");\n }\n const connection = configuration.connection;\n if (typeof configuration.methodResponseTimeout !== \"number\") {\n configuration.methodResponseTimeout = 30 * 1000;\n }\n if (typeof configuration.waitTimeoutMs !== \"number\") {\n configuration.waitTimeoutMs = 30 * 1000;\n }\n this.unwrappedInstance = new InstanceWrapper(this, undefined, connection);\n this.instance = this.unwrappedInstance.unwrap();\n this.clientRepository = new ClientRepository(configuration.logger.subLogger(\"cRep\"), this);\n this.serverRepository = new ServerRepository();\n let protocolPromise;\n if (connection.protocolVersion === 3) {\n protocolPromise = gW3ProtocolFactory(this.instance, connection, this.clientRepository, this.serverRepository, configuration, this);\n }\n else {\n throw new Error(`protocol ${connection.protocolVersion} not supported`);\n }\n this.readyPromise = protocolPromise.then((protocol) => {\n this.protocol = protocol;\n this.client = new Client(this.protocol, this.clientRepository, this.instance, configuration);\n this.server = new Server(this.protocol, this.serverRepository);\n return this;\n });\n }\n ready() {\n return this.readyPromise;\n }\n serverRemoved(callback) {\n return this.client.serverRemoved(callback);\n }\n serverAdded(callback) {\n return this.client.serverAdded(callback);\n }\n serverMethodRemoved(callback) {\n return this.client.serverMethodRemoved(callback);\n }\n serverMethodAdded(callback) {\n return this.client.serverMethodAdded(callback);\n }\n methodRemoved(callback) {\n return this.client.methodRemoved(callback);\n }\n methodAdded(callback) {\n return this.client.methodAdded(callback);\n }\n methodsForInstance(instance) {\n return this.client.methodsForInstance(instance);\n }\n methods(methodFilter) {\n return this.client.methods(methodFilter);\n }\n servers(methodFilter) {\n return this.client.servers(methodFilter);\n }\n subscribe(method, options, successCallback, errorCallback) {\n return this.client.subscribe(method, options, successCallback, errorCallback);\n }\n createStream(streamDef, callbacks, successCallback, errorCallback) {\n return this.server.createStream(streamDef, callbacks, successCallback, errorCallback);\n }\n unregister(methodFilter) {\n return this.server.unregister(methodFilter);\n }\n registerAsync(methodDefinition, callback) {\n return this.server.registerAsync(methodDefinition, callback);\n }\n register(methodDefinition, callback) {\n return this.server.register(methodDefinition, callback);\n }\n invoke(methodFilter, argumentObj, target, additionalOptions, success, error) {\n return this.client.invoke(methodFilter, argumentObj, target, additionalOptions, success, error);\n }\n waitForMethod(name) {\n const pw = new PromiseWrapper();\n const unsubscribe = this.client.methodAdded((m) => {\n if (m.name === name) {\n unsubscribe();\n pw.resolve(m);\n }\n });\n return pw.promise;\n }\n}\n\nconst successMessages = [\"subscribed\", \"success\"];\nclass MessageBus {\n connection;\n logger;\n peerId;\n session;\n subscriptions;\n readyPromise;\n constructor(connection, logger) {\n this.connection = connection;\n this.logger = logger;\n this.peerId = connection.peerId;\n this.subscriptions = [];\n this.session = connection.domain(\"bus\", successMessages);\n this.readyPromise = this.session.join();\n this.readyPromise.then(() => {\n this.watchOnEvent();\n });\n }\n ready() {\n return this.readyPromise;\n }\n publish = (topic, data, options) => {\n const { routingKey, target } = options || {};\n const args = this.removeEmptyValues({\n type: \"publish\",\n topic,\n data,\n peer_id: this.peerId,\n routing_key: routingKey,\n target_identity: target\n });\n this.session.send(args);\n };\n subscribe = (topic, callback, options) => {\n return new Promise((resolve, reject) => {\n const { routingKey, target } = options || {};\n const args = this.removeEmptyValues({\n type: \"subscribe\",\n topic,\n peer_id: this.peerId,\n routing_key: routingKey,\n source: target\n });\n this.session.send(args)\n .then((response) => {\n const { subscription_id } = response;\n this.subscriptions.push({ subscription_id, topic, callback, source: target });\n resolve({\n unsubscribe: () => {\n this.session.send({ type: \"unsubscribe\", subscription_id, peer_id: this.peerId });\n this.subscriptions = this.subscriptions.filter((s) => s.subscription_id !== subscription_id);\n return Promise.resolve();\n }\n });\n })\n .catch((error) => reject(error));\n });\n };\n watchOnEvent = () => {\n this.session.on(\"event\", (args) => {\n const { data, subscription_id } = args;\n const source = args[\"publisher-identity\"];\n const subscription = this.subscriptions.find((s) => s.subscription_id === subscription_id);\n if (subscription) {\n if (!subscription.source) {\n subscription.callback(data, subscription.topic, source);\n }\n else {\n if (this.keysMatch(subscription.source, source)) {\n subscription.callback(data, subscription.topic, source);\n }\n }\n }\n });\n };\n removeEmptyValues(obj) {\n const cleaned = {};\n Object.keys(obj).forEach((key) => {\n if (obj[key] !== undefined && obj[key] !== null) {\n cleaned[key] = obj[key];\n }\n });\n return cleaned;\n }\n keysMatch(obj1, obj2) {\n const keysObj1 = Object.keys(obj1);\n let allMatch = true;\n keysObj1.forEach((key) => {\n if (obj1[key] !== obj2[key]) {\n allMatch = false;\n }\n });\n return allMatch;\n }\n}\n\nconst IOConnectCoreFactory = (userConfig, ext) => {\n const iodesktop = typeof window === \"object\" ? (window.iodesktop ?? window.glue42gd) : undefined;\n const preloadPromise = typeof window === \"object\" ? (window.gdPreloadPromise ?? Promise.resolve()) : Promise.resolve();\n const glueInitTimer = timer(\"glue\");\n userConfig = userConfig || {};\n ext = ext || {};\n const internalConfig = prepareConfig(userConfig, ext, iodesktop);\n let _connection;\n let _interop;\n let _logger;\n let _metrics;\n let _contexts;\n let _bus;\n let _allowTrace;\n const libs = {};\n function registerLib(name, inner, t) {\n _allowTrace = _logger.canPublish(\"trace\");\n if (_allowTrace) {\n _logger.trace(`registering ${name} module`);\n }\n const done = () => {\n inner.initTime = t.stop();\n inner.initEndTime = t.endTime;\n inner.marks = t.marks;\n if (_allowTrace) {\n _logger.trace(`${name} is ready - ${t.endTime - t.startTime}`);\n }\n };\n inner.initStartTime = t.startTime;\n if (inner.ready) {\n inner.ready().then(() => {\n done();\n });\n }\n else {\n done();\n }\n if (!Array.isArray(name)) {\n name = [name];\n }\n name.forEach((n) => {\n libs[n] = inner;\n IOConnectCoreFactory[n] = inner;\n });\n }\n function setupConnection() {\n const initTimer = timer(\"connection\");\n _connection = new Connection(internalConfig.connection, _logger.subLogger(\"connection\"));\n let authPromise = Promise.resolve(internalConfig.auth);\n if (internalConfig.connection && !internalConfig.auth) {\n if (iodesktop) {\n authPromise = iodesktop.getGWToken()\n .then((token) => {\n return {\n gatewayToken: token\n };\n });\n }\n else if (typeof window !== \"undefined\" && window?.glue42electron) {\n if (typeof window.glue42electron.gwToken === \"string\") {\n authPromise = Promise.resolve({\n gatewayToken: window.glue42electron.gwToken\n });\n }\n }\n else {\n authPromise = Promise.reject(\"You need to provide auth information\");\n }\n }\n return authPromise\n .then((authConfig) => {\n initTimer.mark(\"auth-promise-resolved\");\n let authRequest;\n if (Object.prototype.toString.call(authConfig) === \"[object Object]\") {\n authRequest = authConfig;\n }\n else {\n throw new Error(\"Invalid auth object - \" + JSON.stringify(authConfig));\n }\n return _connection.login(authRequest);\n })\n .then(() => {\n registerLib(\"connection\", _connection, initTimer);\n return internalConfig;\n })\n .catch((e) => {\n if (_connection) {\n _connection.logout();\n }\n throw e;\n });\n }\n function setupLogger() {\n const initTimer = timer(\"logger\");\n _logger = new Logger(`${internalConfig.connection.identity?.application}`, undefined, internalConfig.customLogger);\n _logger.consoleLevel(internalConfig.logger.console);\n _logger.publishLevel(internalConfig.logger.publish);\n if (_logger.canPublish(\"debug\")) {\n _logger.debug(\"initializing glue...\");\n }\n registerLib(\"logger\", _logger, initTimer);\n return Promise.resolve(undefined);\n }\n function setupMetrics() {\n const initTimer = timer(\"metrics\");\n const config = internalConfig.metrics;\n const metricsPublishingEnabledFunc = iodesktop?.getMetricsPublishingEnabled;\n const identity = internalConfig.connection.identity;\n const canUpdateMetric = metricsPublishingEnabledFunc ? metricsPublishingEnabledFunc : () => true;\n const disableAutoAppSystem = (typeof config !== \"boolean\" && config.disableAutoAppSystem) ?? false;\n _metrics = metrics({\n connection: config ? _connection : undefined,\n logger: _logger.subLogger(\"metrics\"),\n canUpdateMetric,\n system: \"Glue42\",\n service: identity?.service ?? iodesktop?.applicationName ?? internalConfig.application,\n instance: identity?.instance ?? identity?.windowId ?? nanoid(10),\n disableAutoAppSystem,\n pagePerformanceMetrics: typeof config !== \"boolean\" ? config?.pagePerformanceMetrics : undefined\n });\n registerLib(\"metrics\", _metrics, initTimer);\n return Promise.resolve();\n }\n function setupInterop() {\n const initTimer = timer(\"interop\");\n const agmConfig = {\n connection: _connection,\n logger: _logger.subLogger(\"interop\"),\n };\n _interop = new Interop(agmConfig);\n Logger.Interop = _interop;\n registerLib([\"interop\", \"agm\"], _interop, initTimer);\n return Promise.resolve();\n }\n function setupContexts() {\n const hasActivities = (internalConfig.activities && _connection.protocolVersion === 3);\n const needsContexts = internalConfig.contexts || hasActivities;\n if (needsContexts) {\n const initTimer = timer(\"contexts\");\n _contexts = new ContextsModule({\n connection: _connection,\n logger: _logger.subLogger(\"contexts\"),\n trackAllContexts: typeof internalConfig.contexts === \"object\" ? internalConfig.contexts.trackAllContexts : false,\n reAnnounceKnownContexts: typeof internalConfig.contexts === \"object\" ? internalConfig.contexts.reAnnounceKnownContexts : false\n });\n registerLib(\"contexts\", _contexts, initTimer);\n return _contexts;\n }\n else {\n const replayer = _connection.replayer;\n if (replayer) {\n replayer.drain(ContextMessageReplaySpec.name);\n }\n }\n }\n async function setupBus() {\n if (!internalConfig.bus) {\n return Promise.resolve();\n }\n const initTimer = timer(\"bus\");\n _bus = new MessageBus(_connection, _logger.subLogger(\"bus\"));\n registerLib(\"bus\", _bus, initTimer);\n return Promise.resolve();\n }\n function setupExternalLibs(externalLibs) {\n try {\n externalLibs.forEach((lib) => {\n setupExternalLib(lib.name, lib.create);\n });\n return Promise.resolve();\n }\n catch (e) {\n return Promise.reject(e);\n }\n }\n function setupExternalLib(name, createCallback) {\n const initTimer = timer(name);\n const lib = createCallback(libs);\n if (lib) {\n registerLib(name, lib, initTimer);\n }\n }\n function waitForLibs() {\n const libsReadyPromises = Object.keys(libs).map((key) => {\n const lib = libs[key];\n return lib.ready ?\n lib.ready() : Promise.resolve();\n });\n return Promise.all(libsReadyPromises);\n }\n function constructGlueObject() {\n const feedbackFunc = (feedbackInfo) => {\n if (!_interop) {\n return;\n }\n _interop.invoke(\"T42.ACS.Feedback\", feedbackInfo, \"best\");\n };\n const info = {\n coreVersion: version,\n version: internalConfig.version\n };\n glueInitTimer.stop();\n const glue = {\n feedback: feedbackFunc,\n info,\n logger: _logger,\n interop: _interop,\n agm: _interop,\n connection: _connection,\n metrics: _metrics,\n contexts: _contexts,\n bus: _bus,\n version: internalConfig.version,\n userConfig,\n done: () => {\n _logger?.info(\"done called by user...\");\n return _connection.logout();\n }\n };\n glue.performance = {\n get glueVer() {\n return internalConfig.version;\n },\n get glueConfig() {\n return JSON.stringify(userConfig);\n },\n get browser() {\n return window.performance.timing.toJSON();\n },\n get memory() {\n return window.performance.memory;\n },\n get initTimes() {\n const all = getAllTimers();\n return Object.keys(all).map((key) => {\n const t = all[key];\n return {\n name: key,\n duration: t.endTime - t.startTime,\n marks: t.marks,\n startTime: t.startTime,\n endTime: t.endTime\n };\n });\n }\n };\n Object.keys(libs).forEach((key) => {\n const lib = libs[key];\n glue[key] = lib;\n });\n glue.config = {};\n Object.keys(internalConfig).forEach((k) => {\n glue.config[k] = internalConfig[k];\n });\n if (ext && ext.extOptions) {\n Object.keys(ext.extOptions).forEach((k) => {\n glue.config[k] = ext?.extOptions[k];\n });\n }\n if (ext?.enrichGlue) {\n ext.enrichGlue(glue);\n }\n if (iodesktop && iodesktop.updatePerfData) {\n iodesktop.updatePerfData(glue.performance);\n }\n if (glue.agm) {\n const deprecatedDecorator = (fn, wrong, proper) => {\n return function () {\n glue.logger.warn(`glue.js - 'glue.agm.${wrong}' method is deprecated, use 'glue.interop.${proper}' instead.`);\n return fn.apply(glue.agm, arguments);\n };\n };\n const agmAny = glue.agm;\n agmAny.method_added = deprecatedDecorator(glue.agm.methodAdded, \"method_added\", \"methodAdded\");\n agmAny.method_removed = deprecatedDecorator(glue.agm.methodRemoved, \"method_removed\", \"methodRemoved\");\n agmAny.server_added = deprecatedDecorator(glue.agm.serverAdded, \"server_added\", \"serverAdded\");\n agmAny.server_method_aded = deprecatedDecorator(glue.agm.serverMethodAdded, \"server_method_aded\", \"serverMethodAdded\");\n agmAny.server_method_removed = deprecatedDecorator(glue.agm.serverMethodRemoved, \"server_method_removed\", \"serverMethodRemoved\");\n }\n return glue;\n }\n async function registerInstanceIfNeeded() {\n const RegisterInstanceMethodName = \"T42.ACS.RegisterInstance\";\n if (Utils.isNode() && typeof process.env._GD_STARTING_CONTEXT_ === \"undefined\" && typeof userConfig?.application !== \"undefined\") {\n const isMethodAvailable = _interop.methods({ name: RegisterInstanceMethodName }).length > 0;\n if (isMethodAvailable) {\n try {\n await _interop.invoke(RegisterInstanceMethodName, { appName: userConfig?.application, pid: process.pid });\n }\n catch (error) {\n const typedError = error;\n _logger.error(`Cannot register as an instance: ${JSON.stringify(typedError.message)}`);\n }\n }\n }\n }\n return preloadPromise\n .then(setupLogger)\n .then(setupConnection)\n .then(() => Promise.all([setupMetrics(), setupInterop(), setupContexts(), setupBus()]))\n .then(() => _interop.readyPromise)\n .then(() => registerInstanceIfNeeded())\n .then(() => {\n return setupExternalLibs(internalConfig.libs || []);\n })\n .then(waitForLibs)\n .then(constructGlueObject)\n .catch((err) => {\n return Promise.reject({\n err,\n libs\n });\n });\n};\nif (typeof window !== \"undefined\") {\n window.IOConnectCore = IOConnectCoreFactory;\n}\nIOConnectCoreFactory.version = version;\nIOConnectCoreFactory.default = IOConnectCoreFactory;\n\nexport { IOConnectCoreFactory as default };\n//# sourceMappingURL=core.es.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map",null,null,null,null,null,null,null,null,null,null,"let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export class PromiseWrapper {\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n resolve;\n reject;\n promise;\n rejected = false;\n resolved = false;\n get ended() {\n return this.rejected || this.resolved;\n }\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (t) => {\n this.resolved = true;\n resolve(t);\n };\n this.reject = (err) => {\n this.rejected = true;\n reject(err);\n };\n });\n }\n}\n//# sourceMappingURL=pw.js.map",null,null,null],"names":["getDefaultExportFromCjs","createRegistry","lib","CallbackRegistryFactory","Utils","PromiseWrapper","urlAlphabet","nanoid","PromisePlus","version","prepareConfig","GW3Bridge","promisify","Logger","util.isUndefinedOrNull","util.isString","util.isArray","util.isFunction","util.isUndefined","util.isObject","util.some","My","AgmNames.GetApplicationsMethodName","AgmNames.StartApplicationMethodName","AgmNames.StopApplicationMethodName","AgmNames.ActivateApplicationMethodName","AgmNames.ACSExecute","AgmNames.GetConfigurationRegionMethodName","AgmNames.GetBranchesMethodName","AgmNames.GetCurrentBranchMethodName","AgmNames.SetConfigurationRegionMethodName","AgmNames.SetCurrentBranchMethodName","AgmNames.GetUserMethodName","AgmNames.GetFunctionalEntitlementMethodName","AgmNames.CanIMethodName","AgmNames.ShutdownMethodName","AgmNames.RestartMethodName","AgmNames.OnEventMethodName","EventNames.OnApplicationAddedEvent","EventNames.OnApplicationChangedEvent","EventNames.OnApplicationRemovedEvent","EventNames.OnApplicationReadyEvent","EventNames.OnApplicationStartedEvent","EventNames.OnApplicationStartFailedEvent","EventNames.OnApplicationStoppedEvent","EventNames.OnApplicationUpdatedEvent","EventNames.OnApplicationAgmServerReadyEvent","EventNames.OnBranchChangedEvent","EventNames.OnBranchesModifiedEvent","subscriptionFactory","CallbackFactory","utils","util.isNullOrWhiteSpace","util.isNumber","GD","callbackRegistry","Layouts","factory","channels","hotkeys","themes","cookies","CoreFactory","CreateGlue"],"mappings":"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AAM;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC1B,GAAG,OAAO,OAAO,KAAK,IAAI,QAAQ;AAClC,KAAK,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,gBAAgB;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC1B,GAAG,IAAI,IAAI,GAAG,OAAO,KAAK;AAC1B,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,YAAY,CAAC,KAAK,EAAE;AAC9B,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;AACvB,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,SAAS,GAAG;AACtB,GAAG,OAAO,EA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","x_google_ignoreList":[22,33]}
|