@openfin/node-adapter 40.82.11 → 40.82.13
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/out/node-adapter.js +246 -50
- package/package.json +2 -2
package/out/node-adapter.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var require$$0 = require('events');
|
|
4
|
-
var require$$
|
|
4
|
+
var require$$0$1 = require('lodash/cloneDeep');
|
|
5
|
+
var require$$3 = require('lodash/isEqual');
|
|
5
6
|
var fs = require('fs');
|
|
6
7
|
var crypto = require('crypto');
|
|
7
8
|
var _WS = require('ws');
|
|
@@ -355,19 +356,57 @@ var NotImplementedError_1 = transportErrors.NotImplementedError = NotImplemented
|
|
|
355
356
|
class NotSupportedError extends Error {
|
|
356
357
|
}
|
|
357
358
|
var NotSupportedError_1 = transportErrors.NotSupportedError = NotSupportedError;
|
|
358
|
-
class
|
|
359
|
+
class DeserializedError extends Error {
|
|
359
360
|
constructor(err) {
|
|
360
361
|
const { message, name, stack, ...rest } = err;
|
|
361
362
|
super(message);
|
|
363
|
+
if ('cause' in err && err.cause) {
|
|
364
|
+
this.cause = new DeserializedError(err.cause);
|
|
365
|
+
}
|
|
362
366
|
this.name = name || 'Error';
|
|
363
367
|
this.stack = stack ?? this.toString();
|
|
364
|
-
Object.keys(rest)
|
|
368
|
+
Object.keys(rest)
|
|
369
|
+
.filter((k) => k !== 'cause')
|
|
370
|
+
.forEach((key) => {
|
|
365
371
|
this[key] = rest[key];
|
|
366
372
|
});
|
|
367
373
|
}
|
|
368
374
|
}
|
|
369
375
|
// For documentation of the error methods being used see here: https://v8.dev/docs/stack-trace-api
|
|
370
376
|
class RuntimeError extends Error {
|
|
377
|
+
static trimEndCallSites(err, takeUntilRegex) {
|
|
378
|
+
// save original props
|
|
379
|
+
const length = Error.stackTraceLimit;
|
|
380
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
381
|
+
const _prepareStackTrace = Error.prepareStackTrace;
|
|
382
|
+
// This will be called when we access the `stack` property
|
|
383
|
+
Error.prepareStackTrace = (_, stack) => stack;
|
|
384
|
+
// in channel errors, the error was already serialized so we need to handle both string and CallSite[]
|
|
385
|
+
const isString = typeof err.stack === 'string';
|
|
386
|
+
const stack = (isString ? err.stack?.split('\n') : err.stack) ?? [];
|
|
387
|
+
// restore original props
|
|
388
|
+
Error.prepareStackTrace = _prepareStackTrace;
|
|
389
|
+
Error.stackTraceLimit = length;
|
|
390
|
+
// stack is optional in non chromium contexts
|
|
391
|
+
if (stack.length) {
|
|
392
|
+
const newStack = [];
|
|
393
|
+
// remove this call ONLY if it's not a string
|
|
394
|
+
for (const line of isString ? stack : stack.slice(1)) {
|
|
395
|
+
// inclusive take until
|
|
396
|
+
newStack.push(line);
|
|
397
|
+
if (takeUntilRegex.test(line.toString())) {
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
if (isString) {
|
|
402
|
+
// maintain it as a string
|
|
403
|
+
err.stack = newStack.join('\n');
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
err.stack = RuntimeError.prepareStackTrace(err, newStack);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
371
410
|
static getCallSite(callsToRemove = 0) {
|
|
372
411
|
const length = Error.stackTraceLimit;
|
|
373
412
|
const realCallsToRemove = callsToRemove + 1; // remove this call;
|
|
@@ -386,21 +425,82 @@ class RuntimeError extends Error {
|
|
|
386
425
|
if (typeof Error.prepareStackTrace === 'function') {
|
|
387
426
|
return Error.prepareStackTrace(err, callSites);
|
|
388
427
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
428
|
+
// TODO: this is just a first iteration, we can make this "nicer" at some point
|
|
429
|
+
// const EXCLUSIONS = ['IpcRenderer', 'Object.onMessage', 'Transport.onmessage', 'MessageReceiver.onmessage'];
|
|
430
|
+
let stackTrace = `${err.name || 'Error'}: ${err.message || ''}\n`;
|
|
431
|
+
stackTrace += callSites
|
|
432
|
+
.map((line) => ` at ${line}`)
|
|
433
|
+
// .filter((line) => !EXCLUSIONS.some((l) => line.includes(l)))
|
|
434
|
+
.join('\n');
|
|
435
|
+
return stackTrace;
|
|
436
|
+
}
|
|
437
|
+
/*
|
|
438
|
+
|
|
439
|
+
NON filtered stack trace example from MTP page channel-errors.tsx:
|
|
440
|
+
|
|
441
|
+
Caused by: ChannelError: Error from ch0
|
|
442
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
443
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
444
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
445
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
446
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
447
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
448
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
449
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
450
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
451
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
452
|
+
Caused by: ChannelError: Error from ch0
|
|
453
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
454
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
455
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
456
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
457
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
458
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
459
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
460
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
461
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
462
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
463
|
+
Caused by: ChannelError: Error from ch0
|
|
464
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
465
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
466
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
467
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
468
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
469
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
470
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
471
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
472
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
473
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
474
|
+
Caused by: ChannelError: Error from ch0
|
|
475
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
476
|
+
at eval (test-channel-errors.tsx:50:23)
|
|
477
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
478
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
479
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
480
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
481
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
482
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
483
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
484
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
485
|
+
Caused by: Error: Error from ch0
|
|
486
|
+
at eval (test-channel-errors.tsx:54:19)
|
|
487
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
488
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
489
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
490
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
491
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
492
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
493
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
494
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
*/
|
|
398
498
|
constructor(payload, callSites) {
|
|
399
499
|
const { reason, error } = payload;
|
|
400
500
|
super(reason);
|
|
401
|
-
this.name =
|
|
501
|
+
this.name = this.constructor.name;
|
|
402
502
|
if (error?.stack) {
|
|
403
|
-
this.cause = new
|
|
503
|
+
this.cause = new DeserializedError(error);
|
|
404
504
|
}
|
|
405
505
|
if (callSites) {
|
|
406
506
|
this.stack = RuntimeError.prepareStackTrace(this, callSites);
|
|
@@ -528,7 +628,9 @@ function requireFactory$3 () {
|
|
|
528
628
|
* @experimental
|
|
529
629
|
*/
|
|
530
630
|
async wrap(identity) {
|
|
531
|
-
this.wire.sendAction('view-wrap')
|
|
631
|
+
this.wire.sendAction('view-wrap').catch((e) => {
|
|
632
|
+
// we do not want to expose this error, just continue if this analytics-only call fails
|
|
633
|
+
});
|
|
532
634
|
const errorMsg = (0, validate_1.validateIdentity)(identity);
|
|
533
635
|
if (errorMsg) {
|
|
534
636
|
throw new Error(errorMsg);
|
|
@@ -2751,9 +2853,14 @@ function requireInstance$2 () {
|
|
|
2751
2853
|
// don't expose
|
|
2752
2854
|
});
|
|
2753
2855
|
const layoutWindow = await this.getCurrentWindow();
|
|
2856
|
+
let layoutWindowIdentity = layoutWindow.identity;
|
|
2857
|
+
// TODO: CORE-1857 - when we tearout active layout or drag a view out of a window, the above identity includes the whole window info.
|
|
2858
|
+
if (layoutWindowIdentity.identity) {
|
|
2859
|
+
layoutWindowIdentity = layoutWindowIdentity.identity;
|
|
2860
|
+
}
|
|
2754
2861
|
try {
|
|
2755
2862
|
const providerChannelClient = await __classPrivateFieldGet(this, _View_providerChannelClient, "f").getValue();
|
|
2756
|
-
const client = await layout_entities_1.LayoutNode.newLayoutEntitiesClient(providerChannelClient, layout_constants_1.LAYOUT_CONTROLLER_ID,
|
|
2863
|
+
const client = await layout_entities_1.LayoutNode.newLayoutEntitiesClient(providerChannelClient, layout_constants_1.LAYOUT_CONTROLLER_ID, layoutWindowIdentity);
|
|
2757
2864
|
const layoutIdentity = await client.getLayoutIdentityForViewOrThrow(this.identity);
|
|
2758
2865
|
return this.fin.Platform.Layout.wrap(layoutIdentity);
|
|
2759
2866
|
}
|
|
@@ -2766,7 +2873,7 @@ function requireInstance$2 () {
|
|
|
2766
2873
|
throw e;
|
|
2767
2874
|
}
|
|
2768
2875
|
// fallback logic for missing endpoint
|
|
2769
|
-
return this.fin.Platform.Layout.wrap(
|
|
2876
|
+
return this.fin.Platform.Layout.wrap(layoutWindowIdentity);
|
|
2770
2877
|
}
|
|
2771
2878
|
};
|
|
2772
2879
|
/**
|
|
@@ -5642,7 +5749,7 @@ function requireWindow () {
|
|
|
5642
5749
|
Object.defineProperty(system, "__esModule", { value: true });
|
|
5643
5750
|
system.System = void 0;
|
|
5644
5751
|
const base_1$i = base;
|
|
5645
|
-
const transport_errors_1$
|
|
5752
|
+
const transport_errors_1$6 = transportErrors;
|
|
5646
5753
|
const window_1 = requireWindow();
|
|
5647
5754
|
const events_1$6 = require$$0;
|
|
5648
5755
|
/**
|
|
@@ -6732,9 +6839,9 @@ class System extends base_1$i.EmitterBase {
|
|
|
6732
6839
|
});
|
|
6733
6840
|
// node.js environment not supported
|
|
6734
6841
|
if (this.wire.environment.type !== 'openfin') {
|
|
6735
|
-
throw new transport_errors_1$
|
|
6842
|
+
throw new transport_errors_1$6.NotSupportedError('downloadAsset only supported in an OpenFin Render process');
|
|
6736
6843
|
}
|
|
6737
|
-
const callSite = transport_errors_1$
|
|
6844
|
+
const callSite = transport_errors_1$6.RuntimeError.getCallSite();
|
|
6738
6845
|
const downloadId = this.wire.environment.getNextMessageId().toString();
|
|
6739
6846
|
const dlProgressKey = `asset-download-progress-${downloadId}`;
|
|
6740
6847
|
const dlErrorKey = `asset-download-error-${downloadId}`;
|
|
@@ -6754,7 +6861,7 @@ class System extends base_1$i.EmitterBase {
|
|
|
6754
6861
|
const dlError = (payload) => {
|
|
6755
6862
|
cleanListeners();
|
|
6756
6863
|
const { reason, err: error } = payload;
|
|
6757
|
-
reject(new transport_errors_1$
|
|
6864
|
+
reject(new transport_errors_1$6.RuntimeError({ reason, error }, callSite));
|
|
6758
6865
|
};
|
|
6759
6866
|
const dlComplete = () => {
|
|
6760
6867
|
cleanListeners();
|
|
@@ -6805,11 +6912,11 @@ class System extends base_1$i.EmitterBase {
|
|
|
6805
6912
|
* ```
|
|
6806
6913
|
*/
|
|
6807
6914
|
downloadRuntime(options, progressListener) {
|
|
6808
|
-
const callsites = transport_errors_1$
|
|
6915
|
+
const callsites = transport_errors_1$6.RuntimeError.getCallSite();
|
|
6809
6916
|
return new Promise((resolve, reject) => {
|
|
6810
6917
|
// node.js environment not supported
|
|
6811
6918
|
if (this.wire.environment.type !== 'openfin') {
|
|
6812
|
-
reject(new transport_errors_1$
|
|
6919
|
+
reject(new transport_errors_1$6.NotSupportedError('downloadRuntime only supported in an OpenFin Render process'));
|
|
6813
6920
|
return;
|
|
6814
6921
|
}
|
|
6815
6922
|
const downloadId = this.wire.environment.getNextMessageId().toString();
|
|
@@ -6831,7 +6938,7 @@ class System extends base_1$i.EmitterBase {
|
|
|
6831
6938
|
const dlError = (payload) => {
|
|
6832
6939
|
cleanListeners();
|
|
6833
6940
|
const { reason, err: error } = payload;
|
|
6834
|
-
reject(new transport_errors_1$
|
|
6941
|
+
reject(new transport_errors_1$6.RuntimeError({ reason, error }, callsites));
|
|
6835
6942
|
};
|
|
6836
6943
|
const dlComplete = () => {
|
|
6837
6944
|
cleanListeners();
|
|
@@ -7566,6 +7673,7 @@ var channel = {};
|
|
|
7566
7673
|
|
|
7567
7674
|
Object.defineProperty(channel, "__esModule", { value: true });
|
|
7568
7675
|
channel.ChannelBase = channel.ProtectedItems = void 0;
|
|
7676
|
+
const transport_errors_1$5 = transportErrors;
|
|
7569
7677
|
const resultOrPayload = (func) => async (topic, payload, senderIdentity) => {
|
|
7570
7678
|
const res = await func(topic, payload, senderIdentity);
|
|
7571
7679
|
return res === undefined ? payload : res;
|
|
@@ -7598,6 +7706,7 @@ class ChannelBase {
|
|
|
7598
7706
|
return this.postAction ? await this.postAction(topic, actionProcessed, senderIdentity) : actionProcessed;
|
|
7599
7707
|
}
|
|
7600
7708
|
catch (e) {
|
|
7709
|
+
transport_errors_1$5.RuntimeError.trimEndCallSites(e, /Channel.*processAction/);
|
|
7601
7710
|
if (this.errorMiddleware) {
|
|
7602
7711
|
return this.errorMiddleware(topic, e, senderIdentity);
|
|
7603
7712
|
}
|
|
@@ -7899,6 +8008,25 @@ class ChannelBase {
|
|
|
7899
8008
|
}
|
|
7900
8009
|
channel.ChannelBase = ChannelBase;
|
|
7901
8010
|
|
|
8011
|
+
var channelError = {};
|
|
8012
|
+
|
|
8013
|
+
Object.defineProperty(channelError, "__esModule", { value: true });
|
|
8014
|
+
channelError.ChannelError = void 0;
|
|
8015
|
+
const transport_errors_1$4 = transportErrors;
|
|
8016
|
+
class ChannelError extends Error {
|
|
8017
|
+
constructor(originalError, action, dispatchPayload, callsites) {
|
|
8018
|
+
super(originalError.message);
|
|
8019
|
+
this.action = action;
|
|
8020
|
+
this.dispatchPayload = dispatchPayload;
|
|
8021
|
+
this.name = this.constructor.name;
|
|
8022
|
+
if ('cause' in originalError && originalError.cause instanceof Error) {
|
|
8023
|
+
this.cause = originalError.cause;
|
|
8024
|
+
}
|
|
8025
|
+
this.stack = transport_errors_1$4.RuntimeError.prepareStackTrace(this, callsites);
|
|
8026
|
+
}
|
|
8027
|
+
}
|
|
8028
|
+
channelError.ChannelError = ChannelError;
|
|
8029
|
+
|
|
7902
8030
|
var __classPrivateFieldGet$c = (commonjsGlobal && commonjsGlobal.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
7903
8031
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
7904
8032
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
@@ -7913,7 +8041,9 @@ var __classPrivateFieldSet$a = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
7913
8041
|
var _ChannelClient_protectedObj, _ChannelClient_strategy, _ChannelClient_close;
|
|
7914
8042
|
Object.defineProperty(client, "__esModule", { value: true });
|
|
7915
8043
|
client.ChannelClient = void 0;
|
|
8044
|
+
const transport_errors_1$3 = transportErrors;
|
|
7916
8045
|
const channel_1$1 = channel;
|
|
8046
|
+
const channel_error_1$1 = channelError;
|
|
7917
8047
|
const channelClientsByEndpointId = new Map();
|
|
7918
8048
|
/**
|
|
7919
8049
|
* Instance created to enable use of a channel as a client. Allows for communication with the
|
|
@@ -8015,7 +8145,10 @@ class ChannelClient extends channel_1$1.ChannelBase {
|
|
|
8015
8145
|
*/
|
|
8016
8146
|
async dispatch(action, payload) {
|
|
8017
8147
|
if (__classPrivateFieldGet$c(this, _ChannelClient_strategy, "f").isEndpointConnected(this.providerIdentity.channelId)) {
|
|
8018
|
-
|
|
8148
|
+
const callSites = transport_errors_1$3.RuntimeError.getCallSite();
|
|
8149
|
+
return __classPrivateFieldGet$c(this, _ChannelClient_strategy, "f").send(this.providerIdentity.channelId, action, payload).catch((e) => {
|
|
8150
|
+
throw new channel_error_1$1.ChannelError(e, action, payload, callSites);
|
|
8151
|
+
});
|
|
8019
8152
|
}
|
|
8020
8153
|
throw new Error('The client you are trying to dispatch from is disconnected from the target provider.');
|
|
8021
8154
|
}
|
|
@@ -8130,7 +8263,7 @@ class ClassicStrategy {
|
|
|
8130
8263
|
_ClassicStrategy_endpointIdentityMap.set(this, new Map());
|
|
8131
8264
|
// Store a set of cancellable promises to be able to reject them when client
|
|
8132
8265
|
// connection problems occur
|
|
8133
|
-
_ClassicStrategy_pendingMessagesByEndpointId.set(this, new Map);
|
|
8266
|
+
_ClassicStrategy_pendingMessagesByEndpointId.set(this, new Map());
|
|
8134
8267
|
this.send = async (endpointId, action, payload) => {
|
|
8135
8268
|
const to = __classPrivateFieldGet$b(this, _ClassicStrategy_endpointIdentityMap, "f").get(endpointId);
|
|
8136
8269
|
if (!to) {
|
|
@@ -8144,17 +8277,21 @@ class ClassicStrategy {
|
|
|
8144
8277
|
}
|
|
8145
8278
|
delete cleanId.isLocalEndpointId;
|
|
8146
8279
|
// grab the promise before awaiting it to save in our pending messages map
|
|
8147
|
-
const p = __classPrivateFieldGet$b(this, _ClassicStrategy_wire, "f")
|
|
8148
|
-
.sendAction('send-channel-message', {
|
|
8280
|
+
const p = __classPrivateFieldGet$b(this, _ClassicStrategy_wire, "f").sendAction('send-channel-message', {
|
|
8149
8281
|
...cleanId,
|
|
8150
8282
|
providerIdentity: this.providerIdentity,
|
|
8151
8283
|
action,
|
|
8152
8284
|
payload
|
|
8153
8285
|
});
|
|
8154
8286
|
__classPrivateFieldGet$b(this, _ClassicStrategy_pendingMessagesByEndpointId, "f").get(endpointId)?.add(p);
|
|
8155
|
-
const raw = await p
|
|
8287
|
+
const raw = await p
|
|
8288
|
+
.catch((error) => {
|
|
8289
|
+
if ('cause' in error) {
|
|
8290
|
+
throw error;
|
|
8291
|
+
}
|
|
8156
8292
|
throw new Error(error.message);
|
|
8157
|
-
})
|
|
8293
|
+
})
|
|
8294
|
+
.finally(() => {
|
|
8158
8295
|
// clean up the pending promise
|
|
8159
8296
|
__classPrivateFieldGet$b(this, _ClassicStrategy_pendingMessagesByEndpointId, "f").get(endpointId)?.delete(p);
|
|
8160
8297
|
});
|
|
@@ -8208,13 +8345,17 @@ var errors = {};
|
|
|
8208
8345
|
Object.defineProperty(errors, "__esModule", { value: true });
|
|
8209
8346
|
errors.errorToPOJO = void 0;
|
|
8210
8347
|
function errorToPOJO(error) {
|
|
8211
|
-
|
|
8348
|
+
const errorObj = {
|
|
8212
8349
|
stack: error.stack,
|
|
8213
8350
|
name: error.name,
|
|
8214
8351
|
message: error.message,
|
|
8215
8352
|
// support the case where stack is empty or missing
|
|
8216
8353
|
toString: () => error.stack || error.toString()
|
|
8217
8354
|
};
|
|
8355
|
+
if ('cause' in error) {
|
|
8356
|
+
errorObj.cause = errorToPOJO(error.cause);
|
|
8357
|
+
}
|
|
8358
|
+
return errorObj;
|
|
8218
8359
|
}
|
|
8219
8360
|
errors.errorToPOJO = errorToPOJO;
|
|
8220
8361
|
|
|
@@ -8233,7 +8374,7 @@ var _RTCEndpoint_processAction, _RTCEndpoint_disconnectListener;
|
|
|
8233
8374
|
Object.defineProperty(endpoint, "__esModule", { value: true });
|
|
8234
8375
|
endpoint.RTCEndpoint = void 0;
|
|
8235
8376
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
8236
|
-
const errors_1$
|
|
8377
|
+
const errors_1$2 = errors;
|
|
8237
8378
|
/*
|
|
8238
8379
|
This handles sending RTC messages between RTC connections over the request and response data channels.
|
|
8239
8380
|
*/
|
|
@@ -8322,7 +8463,7 @@ class RTCEndpoint {
|
|
|
8322
8463
|
if (this.rtc.channels.response.readyState === 'open') {
|
|
8323
8464
|
this.rtc.channels.response.send(JSON.stringify({
|
|
8324
8465
|
messageId,
|
|
8325
|
-
error: (0, errors_1$
|
|
8466
|
+
error: (0, errors_1$2.errorToPOJO)(error),
|
|
8326
8467
|
success: false
|
|
8327
8468
|
}));
|
|
8328
8469
|
}
|
|
@@ -8638,8 +8779,10 @@ var __classPrivateFieldSet$6 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
8638
8779
|
var _ChannelProvider_connections, _ChannelProvider_protectedObj, _ChannelProvider_strategy, _ChannelProvider_removeEndpoint, _ChannelProvider_close;
|
|
8639
8780
|
Object.defineProperty(provider, "__esModule", { value: true });
|
|
8640
8781
|
provider.ChannelProvider = void 0;
|
|
8641
|
-
const
|
|
8782
|
+
const transport_errors_1$2 = transportErrors;
|
|
8642
8783
|
const runtimeVersioning_1 = runtimeVersioning;
|
|
8784
|
+
const channel_1 = channel;
|
|
8785
|
+
const channel_error_1 = channelError;
|
|
8643
8786
|
/**
|
|
8644
8787
|
* Instance created to enable use of a channel as a provider. Allows for communication with the {@link ChannelClient ChannelClients} by invoking an action on
|
|
8645
8788
|
* a single client via {@link ChannelProvider#dispatch dispatch} or all clients via {@link ChannelProvider#publish publish}
|
|
@@ -8756,7 +8899,10 @@ class ChannelProvider extends channel_1.ChannelBase {
|
|
|
8756
8899
|
dispatch(to, action, payload) {
|
|
8757
8900
|
const endpointId = to.endpointId ?? this.getEndpointIdForOpenFinId(to, action);
|
|
8758
8901
|
if (endpointId && __classPrivateFieldGet$8(this, _ChannelProvider_strategy, "f").isEndpointConnected(endpointId)) {
|
|
8759
|
-
|
|
8902
|
+
const callSites = transport_errors_1$2.RuntimeError.getCallSite();
|
|
8903
|
+
return __classPrivateFieldGet$8(this, _ChannelProvider_strategy, "f").send(endpointId, action, payload).catch((e) => {
|
|
8904
|
+
throw new channel_error_1.ChannelError(e, action, payload, callSites);
|
|
8905
|
+
});
|
|
8760
8906
|
}
|
|
8761
8907
|
return Promise.reject(new Error(`Client connection with identity uuid: ${to.uuid} / name: ${to.name} / endpointId: ${endpointId} no longer connected.`));
|
|
8762
8908
|
}
|
|
@@ -8969,6 +9115,7 @@ Object.defineProperty(messageReceiver$1, "__esModule", { value: true });
|
|
|
8969
9115
|
messageReceiver$1.MessageReceiver = void 0;
|
|
8970
9116
|
const client_1$1 = client;
|
|
8971
9117
|
const base_1$g = base;
|
|
9118
|
+
const errors_1$1 = errors;
|
|
8972
9119
|
/*
|
|
8973
9120
|
This is a singleton (per fin object) tasked with routing messages coming off the ipc to the correct endpoint.
|
|
8974
9121
|
It needs to be a singleton because there can only be one per wire. It tracks both clients and providers' processAction passed in via the strategy.
|
|
@@ -8997,6 +9144,7 @@ class MessageReceiver extends base_1$g.Base {
|
|
|
8997
9144
|
if (!handler) {
|
|
8998
9145
|
ackToSender.payload.success = false;
|
|
8999
9146
|
ackToSender.payload.reason = `Client connection with identity uuid: ${this.wire.me.uuid} / name: ${this.wire.me.name} / endpointId: ${key} no longer connected.`;
|
|
9147
|
+
ackToSender.payload.error = (0, errors_1$1.errorToPOJO)(new Error(ackToSender.payload.reason));
|
|
9000
9148
|
return this.wire.sendRaw(ackToSender);
|
|
9001
9149
|
}
|
|
9002
9150
|
try {
|
|
@@ -9008,6 +9156,7 @@ class MessageReceiver extends base_1$g.Base {
|
|
|
9008
9156
|
catch (e) {
|
|
9009
9157
|
ackToSender.payload.success = false;
|
|
9010
9158
|
ackToSender.payload.reason = e.message;
|
|
9159
|
+
ackToSender.payload.error = (0, errors_1$1.errorToPOJO)(e);
|
|
9011
9160
|
return this.wire.sendRaw(ackToSender);
|
|
9012
9161
|
}
|
|
9013
9162
|
}
|
|
@@ -9152,6 +9301,9 @@ var __classPrivateFieldGet$7 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
9152
9301
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
9153
9302
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
9154
9303
|
};
|
|
9304
|
+
var __importDefault$1 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
9305
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9306
|
+
};
|
|
9155
9307
|
var _ConnectionManager_messageReceiver, _ConnectionManager_rtcConnectionManager;
|
|
9156
9308
|
Object.defineProperty(connectionManager, "__esModule", { value: true });
|
|
9157
9309
|
connectionManager.ConnectionManager = void 0;
|
|
@@ -9163,7 +9315,7 @@ const ice_manager_1 = iceManager;
|
|
|
9163
9315
|
const provider_1$1 = provider;
|
|
9164
9316
|
const message_receiver_1 = messageReceiver$1;
|
|
9165
9317
|
const protocol_manager_1 = protocolManager;
|
|
9166
|
-
const strategy_3 = strategy;
|
|
9318
|
+
const strategy_3 = __importDefault$1(strategy);
|
|
9167
9319
|
class ConnectionManager extends base_1$f.Base {
|
|
9168
9320
|
static getProtocolOptionsFromStrings(protocols) {
|
|
9169
9321
|
return protocols.map((protocol) => {
|
|
@@ -13042,13 +13194,16 @@ function requireInteropBroker () {
|
|
|
13042
13194
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13043
13195
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
13044
13196
|
};
|
|
13197
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
13198
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13199
|
+
};
|
|
13045
13200
|
var _InteropBroker_fdc3Info, _InteropBroker_contextGroups, _InteropBroker_providerPromise;
|
|
13046
13201
|
Object.defineProperty(InteropBroker, "__esModule", { value: true });
|
|
13047
13202
|
InteropBroker.InteropBroker = void 0;
|
|
13048
13203
|
const base_1 = base;
|
|
13049
|
-
const SessionContextGroupBroker_1 = requireSessionContextGroupBroker();
|
|
13204
|
+
const SessionContextGroupBroker_1 = __importDefault(requireSessionContextGroupBroker());
|
|
13050
13205
|
const utils_1 = utils$3;
|
|
13051
|
-
const
|
|
13206
|
+
const isEqual_1 = __importDefault(require$$3);
|
|
13052
13207
|
const PrivateChannelProvider_1 = requirePrivateChannelProvider();
|
|
13053
13208
|
const lazy_1 = lazy;
|
|
13054
13209
|
const defaultContextGroups = [
|
|
@@ -13246,7 +13401,7 @@ function requireInteropBroker () {
|
|
|
13246
13401
|
constructor(...unused) {
|
|
13247
13402
|
if (unused.length) {
|
|
13248
13403
|
const [_ignore1, ignore2, opts] = unused;
|
|
13249
|
-
if (opts && typeof opts === 'object' && !(0,
|
|
13404
|
+
if (opts && typeof opts === 'object' && !(0, isEqual_1.default)(opts, args[2])) {
|
|
13250
13405
|
// eslint-disable-next-line no-console
|
|
13251
13406
|
console.warn('You have modified the parameters of the InteropOverride constructor. This behavior is deprecated and will be removed in a future version. You can modify these options in your manifest. Please consult our Interop docs for guidance on migrating to the new override scheme.');
|
|
13252
13407
|
super(args[0], args[1], opts);
|
|
@@ -14423,9 +14578,32 @@ var utils$2 = {};
|
|
|
14423
14578
|
|
|
14424
14579
|
var PrivateChannelClient$1 = {};
|
|
14425
14580
|
|
|
14581
|
+
var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14582
|
+
if (k2 === undefined) k2 = k;
|
|
14583
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14584
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14585
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14586
|
+
}
|
|
14587
|
+
Object.defineProperty(o, k2, desc);
|
|
14588
|
+
}) : (function(o, m, k, k2) {
|
|
14589
|
+
if (k2 === undefined) k2 = k;
|
|
14590
|
+
o[k2] = m[k];
|
|
14591
|
+
}));
|
|
14592
|
+
var __setModuleDefault = (commonjsGlobal && commonjsGlobal.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14593
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14594
|
+
}) : function(o, v) {
|
|
14595
|
+
o["default"] = v;
|
|
14596
|
+
});
|
|
14597
|
+
var __importStar = (commonjsGlobal && commonjsGlobal.__importStar) || function (mod) {
|
|
14598
|
+
if (mod && mod.__esModule) return mod;
|
|
14599
|
+
var result = {};
|
|
14600
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
14601
|
+
__setModuleDefault(result, mod);
|
|
14602
|
+
return result;
|
|
14603
|
+
};
|
|
14426
14604
|
Object.defineProperty(PrivateChannelClient$1, "__esModule", { value: true });
|
|
14427
14605
|
PrivateChannelClient$1.PrivateChannelClient = void 0;
|
|
14428
|
-
const utils$1 = utils$3;
|
|
14606
|
+
const utils$1 = __importStar(utils$3);
|
|
14429
14607
|
class PrivateChannelClient {
|
|
14430
14608
|
constructor(client, id) {
|
|
14431
14609
|
this.id = id;
|
|
@@ -14514,11 +14692,14 @@ class PrivateChannelClient {
|
|
|
14514
14692
|
PrivateChannelClient$1.PrivateChannelClient = PrivateChannelClient;
|
|
14515
14693
|
|
|
14516
14694
|
(function (exports) {
|
|
14695
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
14696
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14697
|
+
};
|
|
14517
14698
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14518
14699
|
exports.getIntentResolution = exports.isChannel = exports.isContext = exports.connectPrivateChannel = exports.buildAppChannelObject = exports.buildPrivateChannelObject = exports.ChannelError = exports.ResultError = exports.UnsupportedChannelApiError = exports.getUnsupportedChannelApis = void 0;
|
|
14519
14700
|
const utils_1 = utils$3;
|
|
14520
14701
|
const PrivateChannelClient_1 = PrivateChannelClient$1;
|
|
14521
|
-
const
|
|
14702
|
+
const isEqual_1 = __importDefault(require$$3);
|
|
14522
14703
|
const getUnsupportedChannelApis = (channelType) => {
|
|
14523
14704
|
return {
|
|
14524
14705
|
addContextListener: () => {
|
|
@@ -14646,7 +14827,7 @@ PrivateChannelClient$1.PrivateChannelClient = PrivateChannelClient;
|
|
|
14646
14827
|
const wrappedHandler = (context, contextMetadata) => {
|
|
14647
14828
|
if (first) {
|
|
14648
14829
|
first = false;
|
|
14649
|
-
if ((0,
|
|
14830
|
+
if ((0, isEqual_1.default)(currentContext, context)) {
|
|
14650
14831
|
return;
|
|
14651
14832
|
}
|
|
14652
14833
|
}
|
|
@@ -14768,13 +14949,16 @@ function requireFdc3Common () {
|
|
|
14768
14949
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14769
14950
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
14770
14951
|
};
|
|
14952
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
14953
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14954
|
+
};
|
|
14771
14955
|
var _FDC3ModuleBase_producer;
|
|
14772
14956
|
Object.defineProperty(fdc3Common, "__esModule", { value: true });
|
|
14773
14957
|
fdc3Common.FDC3ModuleBase = void 0;
|
|
14774
14958
|
const utils_1 = utils$2;
|
|
14775
14959
|
const utils_2 = utils$3;
|
|
14776
14960
|
const InteropClient_1 = requireInteropClient();
|
|
14777
|
-
const
|
|
14961
|
+
const isEqual_1 = __importDefault(require$$3);
|
|
14778
14962
|
class FDC3ModuleBase {
|
|
14779
14963
|
get client() {
|
|
14780
14964
|
return __classPrivateFieldGet(this, _FDC3ModuleBase_producer, "f").call(this);
|
|
@@ -14963,7 +15147,7 @@ function requireFdc3Common () {
|
|
|
14963
15147
|
const wrappedHandler = (context, contextMetadata) => {
|
|
14964
15148
|
if (first) {
|
|
14965
15149
|
first = false;
|
|
14966
|
-
if ((0,
|
|
15150
|
+
if ((0, isEqual_1.default)(currentContext, context)) {
|
|
14967
15151
|
return;
|
|
14968
15152
|
}
|
|
14969
15153
|
}
|
|
@@ -15576,11 +15760,14 @@ function requireInteropClient () {
|
|
|
15576
15760
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
15577
15761
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15578
15762
|
};
|
|
15763
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
15764
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15765
|
+
};
|
|
15579
15766
|
var _InteropClient_clientPromise, _InteropClient_sessionContextGroups;
|
|
15580
15767
|
Object.defineProperty(InteropClient, "__esModule", { value: true });
|
|
15581
15768
|
InteropClient.InteropClient = void 0;
|
|
15582
15769
|
const base_1 = base;
|
|
15583
|
-
const SessionContextGroupClient_1 = SessionContextGroupClient$1;
|
|
15770
|
+
const SessionContextGroupClient_1 = __importDefault(SessionContextGroupClient$1);
|
|
15584
15771
|
const fdc3_1_2_1 = requireFdc31_2();
|
|
15585
15772
|
const fdc3_2_0_1 = requireFdc32_0();
|
|
15586
15773
|
const utils_1 = utils$3;
|
|
@@ -16220,9 +16407,12 @@ var hasRequiredFactory;
|
|
|
16220
16407
|
function requireFactory () {
|
|
16221
16408
|
if (hasRequiredFactory) return Factory$1;
|
|
16222
16409
|
hasRequiredFactory = 1;
|
|
16410
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
16411
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16412
|
+
};
|
|
16223
16413
|
Object.defineProperty(Factory$1, "__esModule", { value: true });
|
|
16224
16414
|
Factory$1.InteropModule = void 0;
|
|
16225
|
-
const
|
|
16415
|
+
const cloneDeep_1 = __importDefault(require$$0$1);
|
|
16226
16416
|
const inaccessibleObject_1 = inaccessibleObject;
|
|
16227
16417
|
const base_1 = base;
|
|
16228
16418
|
const InteropBroker_1 = requireInteropBroker();
|
|
@@ -16259,7 +16449,7 @@ function requireFactory () {
|
|
|
16259
16449
|
// Allows for manifest-level configuration, without having to override. (e.g. specifying custom context groups)
|
|
16260
16450
|
const options = await this.wire.environment.getInteropInfo(this.wire.getFin());
|
|
16261
16451
|
const objectThatThrows = (0, inaccessibleObject_1.createUnusableObject)(BrokerParamAccessError);
|
|
16262
|
-
const warningOptsClone = (0, inaccessibleObject_1.createWarningObject)(BrokerParamAccessError, (0,
|
|
16452
|
+
const warningOptsClone = (0, inaccessibleObject_1.createWarningObject)(BrokerParamAccessError, (0, cloneDeep_1.default)(options));
|
|
16263
16453
|
const getProvider = () => {
|
|
16264
16454
|
return this.fin.InterApplicationBus.Channel.create(`interop-broker-${name}`);
|
|
16265
16455
|
};
|
|
@@ -17441,7 +17631,7 @@ class NodeEnvironment extends BaseEnvironment_1 {
|
|
|
17441
17631
|
};
|
|
17442
17632
|
}
|
|
17443
17633
|
getAdapterVersionSync() {
|
|
17444
|
-
return "40.82.
|
|
17634
|
+
return "40.82.13";
|
|
17445
17635
|
}
|
|
17446
17636
|
observeBounds(element, onChange) {
|
|
17447
17637
|
throw new Error('Method not implemented.');
|
|
@@ -17572,13 +17762,16 @@ var __classPrivateFieldGet = (commonjsGlobal && commonjsGlobal.__classPrivateFie
|
|
|
17572
17762
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
17573
17763
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17574
17764
|
};
|
|
17765
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
17766
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17767
|
+
};
|
|
17575
17768
|
var _Transport_wire, _Transport_fin;
|
|
17576
17769
|
Object.defineProperty(transport, "__esModule", { value: true });
|
|
17577
17770
|
var Transport_1 = transport.Transport = void 0;
|
|
17578
17771
|
const events_1$1 = require$$0;
|
|
17579
17772
|
const wire_1 = wire;
|
|
17580
17773
|
const transport_errors_1$1 = transportErrors;
|
|
17581
|
-
const eventAggregator_1 = eventAggregator;
|
|
17774
|
+
const eventAggregator_1 = __importDefault(eventAggregator);
|
|
17582
17775
|
const me_1 = me;
|
|
17583
17776
|
const errors_1 = errors;
|
|
17584
17777
|
class Transport extends events_1$1.EventEmitter {
|
|
@@ -17772,7 +17965,10 @@ class Transport extends events_1$1.EventEmitter {
|
|
|
17772
17965
|
}
|
|
17773
17966
|
else {
|
|
17774
17967
|
console.warn('Received invalid response from core', data);
|
|
17775
|
-
handleNack({
|
|
17968
|
+
handleNack({
|
|
17969
|
+
reason: 'invalid response shape',
|
|
17970
|
+
error: (0, errors_1.errorToPOJO)(new Error('Invalid response shape'))
|
|
17971
|
+
});
|
|
17776
17972
|
}
|
|
17777
17973
|
}
|
|
17778
17974
|
else if (!data.payload.success) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfin/node-adapter",
|
|
3
|
-
"version": "40.82.
|
|
3
|
+
"version": "40.82.13",
|
|
4
4
|
"description": "See README.md",
|
|
5
5
|
"main": "out/node-adapter.js",
|
|
6
6
|
"types": "out/node-adapter.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"author": "OpenFin",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@types/node": "^20.14.2",
|
|
26
|
-
"@openfin/core": "40.82.
|
|
26
|
+
"@openfin/core": "40.82.13",
|
|
27
27
|
"lodash": "^4.17.21",
|
|
28
28
|
"ws": "^7.3.0"
|
|
29
29
|
}
|