@dynamic-labs/message-transport 4.20.12 → 4.20.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +7 -7
  5. package/src/debug/debug.cjs +17 -0
  6. package/src/debug/debug.d.ts +2 -0
  7. package/src/debug/debug.js +12 -0
  8. package/src/debug/index.d.ts +1 -0
  9. package/src/index.cjs +8 -3
  10. package/src/index.d.ts +3 -2
  11. package/src/index.js +3 -1
  12. package/src/messageTransport/decorators/applyTransportStamps/applyTransportStamps.cjs +25 -0
  13. package/src/messageTransport/decorators/applyTransportStamps/applyTransportStamps.d.ts +6 -0
  14. package/src/messageTransport/decorators/applyTransportStamps/applyTransportStamps.js +21 -0
  15. package/src/messageTransport/decorators/applyTransportStamps/index.d.ts +1 -0
  16. package/src/messageTransport/decorators/index.d.ts +2 -1
  17. package/src/messageTransport/messageTransport.d.ts +19 -0
  18. package/src/messageTypes/SdkModuleMessages.d.ts +6 -1
  19. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.cjs +35 -7
  20. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.d.ts +4 -2
  21. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.js +35 -7
  22. package/src/requestChannel/requestChannel.cjs +33 -9
  23. package/src/requestChannel/requestChannel.d.ts +16 -1
  24. package/src/requestChannel/requestChannel.js +33 -9
  25. package/src/requestChannel/utils/utils.cjs +1 -1
  26. package/src/requestChannel/utils/utils.d.ts +1 -1
  27. package/src/requestChannel/utils/utils.js +1 -1
  28. package/src/utils/parseMessageTransportData/parseMessageTransportData.cjs +2 -0
  29. package/src/utils/parseMessageTransportData/parseMessageTransportData.js +2 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,24 @@
1
1
 
2
+ ### [4.20.14](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.13...v4.20.14) (2025-07-03)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * refresh function user state for sessionId ([#9073](https://github.com/dynamic-labs/dynamic-auth/issues/9073)) ([080e923](https://github.com/dynamic-labs/dynamic-auth/commit/080e92356e3920f1d240b5025db9c831aa2abc5a))
8
+ * remove default commonjs setups for @dynamic-labs-wallet/browser-wallet-client ([#9079](https://github.com/dynamic-labs/dynamic-auth/issues/9079)) ([27507ab](https://github.com/dynamic-labs/dynamic-auth/commit/27507abedfd223209cad15d5c1e12b37fa421071))
9
+
10
+ ### [4.20.13](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.12...v4.20.13) (2025-07-02)
11
+
12
+
13
+ ### Features
14
+
15
+ * add createWalletClient method to ZeroDevExtension ([#9036](https://github.com/dynamic-labs/dynamic-auth/issues/9036)) ([674df45](https://github.com/dynamic-labs/dynamic-auth/commit/674df45f21e76070594963c2e3b7c19ba94e3004))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * allow to retry metamask deeplink ([#9066](https://github.com/dynamic-labs/dynamic-auth/issues/9066)) ([308c0d2](https://github.com/dynamic-labs/dynamic-auth/commit/308c0d2ddd7a5c7460f31d25365687b315b0a0f4))
21
+
2
22
  ### [4.20.12](https://github.com/dynamic-labs/dynamic-auth/compare/v4.20.11...v4.20.12) (2025-07-01)
3
23
 
4
24
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.20.12";
6
+ var version = "4.20.14";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.20.12";
2
+ var version = "4.20.14";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/message-transport",
3
- "version": "4.20.12",
3
+ "version": "4.20.14",
4
4
  "description": "Defines the interface to communicate with dynamic's webview",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,14 +18,14 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/sdk-api-core": "0.0.699",
21
+ "@dynamic-labs/sdk-api-core": "0.0.704",
22
22
  "@vue/reactivity": "^3.4.21",
23
- "@dynamic-labs/types": "4.20.12",
23
+ "@dynamic-labs/types": "4.20.14",
24
24
  "eventemitter3": "5.0.1",
25
- "@dynamic-labs/assert-package-version": "4.20.12",
26
- "@dynamic-labs/logger": "4.20.12",
27
- "@dynamic-labs/utils": "4.20.12",
28
- "@dynamic-labs/webauthn": "4.20.12"
25
+ "@dynamic-labs/assert-package-version": "4.20.14",
26
+ "@dynamic-labs/logger": "4.20.14",
27
+ "@dynamic-labs/utils": "4.20.14",
28
+ "@dynamic-labs/webauthn": "4.20.14"
29
29
  },
30
30
  "peerDependencies": {}
31
31
  }
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * Global debug flag that can be set to true to enable debug mode
8
+ * for all resources that use the message transport.
9
+ */
10
+ let globalDebugEnabled = false;
11
+ const setGlobalDebugEnabled = (debug) => {
12
+ globalDebugEnabled = debug;
13
+ };
14
+ const isGlobalDebugEnabled = () => globalDebugEnabled;
15
+
16
+ exports.isGlobalDebugEnabled = isGlobalDebugEnabled;
17
+ exports.setGlobalDebugEnabled = setGlobalDebugEnabled;
@@ -0,0 +1,2 @@
1
+ export declare const setGlobalDebugEnabled: (debug: boolean) => void;
2
+ export declare const isGlobalDebugEnabled: () => boolean;
@@ -0,0 +1,12 @@
1
+ 'use client'
2
+ /**
3
+ * Global debug flag that can be set to true to enable debug mode
4
+ * for all resources that use the message transport.
5
+ */
6
+ let globalDebugEnabled = false;
7
+ const setGlobalDebugEnabled = (debug) => {
8
+ globalDebugEnabled = debug;
9
+ };
10
+ const isGlobalDebugEnabled = () => globalDebugEnabled;
11
+
12
+ export { isGlobalDebugEnabled, setGlobalDebugEnabled };
@@ -0,0 +1 @@
1
+ export * from './debug';
package/src/index.cjs CHANGED
@@ -7,9 +7,10 @@ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
7
7
  var _package = require('../package.cjs');
8
8
  var messageTransport = require('./messageTransport/messageTransport.cjs');
9
9
  var applyDefaultMessageOrigin = require('./messageTransport/decorators/applyDefaultMessageOrigin/applyDefaultMessageOrigin.cjs');
10
+ var applyRecoveryManager = require('./messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.cjs');
11
+ var applyTransportStamps = require('./messageTransport/decorators/applyTransportStamps/applyTransportStamps.cjs');
10
12
  var makeWaitForInitEvent = require('./messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.cjs');
11
13
  var makeWaitForUnblock = require('./messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.cjs');
12
- var applyRecoveryManager = require('./messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.cjs');
13
14
  var requestChannel = require('./requestChannel/requestChannel.cjs');
14
15
  var utils = require('./requestChannel/utils/utils.cjs');
15
16
  var isSerializedError = require('./utils/isSerializedError/isSerializedError.cjs');
@@ -25,15 +26,17 @@ var OtpMessages = require('./messageTypes/OtpMessages.cjs');
25
26
  var SdkModuleMessages = require('./messageTypes/SdkModuleMessages.cjs');
26
27
  var UserInterfaceModuleMessages = require('./messageTypes/UserInterfaceModuleMessages.cjs');
27
28
  var WalletsModuleMessages = require('./messageTypes/WalletsModuleMessages.cjs');
29
+ var debug = require('./debug/debug.cjs');
28
30
 
29
31
  assertPackageVersion.assertPackageVersion('@dynamic-labs/message-transport', _package.version);
30
32
 
31
33
  exports.createMessageTransport = messageTransport.createMessageTransport;
32
34
  exports.applyDefaultMessageOrigin = applyDefaultMessageOrigin.applyDefaultMessageOrigin;
33
- exports.makeWaitForInitEvent = makeWaitForInitEvent.makeWaitForInitEvent;
34
- exports.makeWaitForUnblock = makeWaitForUnblock.makeWaitForUnblock;
35
35
  exports.applyRecoveryManager = applyRecoveryManager.applyRecoveryManager;
36
36
  exports.hasRecoveryManager = applyRecoveryManager.hasRecoveryManager;
37
+ exports.applyTransportStamps = applyTransportStamps.applyTransportStamps;
38
+ exports.makeWaitForInitEvent = makeWaitForInitEvent.makeWaitForInitEvent;
39
+ exports.makeWaitForUnblock = makeWaitForUnblock.makeWaitForUnblock;
37
40
  exports.createRequestChannel = requestChannel.createRequestChannel;
38
41
  exports.getAckMessageType = utils.getAckMessageType;
39
42
  exports.getRejectMessageType = utils.getRejectMessageType;
@@ -56,3 +59,5 @@ exports.smsEventNames = OtpMessages.smsEventNames;
56
59
  exports.sdkHasLoadedEventName = SdkModuleMessages.sdkHasLoadedEventName;
57
60
  exports.userInterfaceEventNames = UserInterfaceModuleMessages.userInterfaceEventNames;
58
61
  exports.userWalletsEventNames = WalletsModuleMessages.userWalletsEventNames;
62
+ exports.isGlobalDebugEnabled = debug.isGlobalDebugEnabled;
63
+ exports.setGlobalDebugEnabled = debug.setGlobalDebugEnabled;
package/src/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { applyDefaultMessageOrigin, applyRecoveryManager, createMessageTransport, hasRecoveryManager, makeWaitForInitEvent, makeWaitForUnblock, type BypassBlockCallback, type MessageTransport, type MessageTransportCallback, type MessageTransportData, type MessageTransportDataOptionalOrigin, type MessageTransportWithDefaultOrigin, } from './messageTransport';
1
+ export { applyDefaultMessageOrigin, applyRecoveryManager, applyTransportStamps, createMessageTransport, hasRecoveryManager, makeWaitForInitEvent, makeWaitForUnblock, type BypassBlockCallback, type MessageTransport, type MessageTransportCallback, type MessageTransportData, type MessageTransportDataOptionalOrigin, type MessageTransportWithDefaultOrigin, } from './messageTransport';
2
2
  export { createRequestChannel, getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isRequestMessageType, isResolveMessageType, type RequestChannel, type RequestTypes, type TypesExpectingResponse, } from './requestChannel';
3
3
  export { isSerializedError } from './utils/isSerializedError';
4
4
  export { parseErrorFromTransport } from './utils/parseErrorFromTransport';
@@ -7,4 +7,5 @@ export { serializeErrorForTransport, type SerializedError, } from './utils/seria
7
7
  export { createEventEmitterForMessages, createStore, createStoreSetter, type CreateStoreProps, } from './store';
8
8
  export type { Store, StoreEventListeners, StoreKeys, StoreSetter, StoreStateChangeEvent, StoreStateEvents, StoreStateGetters, } from './store/types';
9
9
  export type { PickedEventListeners } from './types';
10
- export { authEventNames, emailEventNames, embeddedWalletsEventNames, sdkHasLoadedEventName, smsEventNames, userInterfaceEventNames, userWalletsEventNames, type AccountAbstractionGetEOAWalletArgs, type AccountAbstractionGetSmartWalletArgs, type AccountAbstractionIsSmartWalletArgs, type AccountAbstractionMessages, type AuthModuleMessages, type AuthModuleState, type ClientManifest, type ConsoleMessages, type CreateEmbeddedWalletArgs, type DeleteStorageItemArgs, type EmailOtpParams, type EmbeddedWalletsModuleMessages, type EmbeddedWalletsModuleState, type EthMessages, type EthRequestParams, type EthRequestWithAddressParams, type EthRequestWithChainIdParams, type ExternalAuthMessages, type FetchMessages, type GetStorageItemArgs, type NetworksModuleState, type OtpData, type OtpMessages, type PasskeyMessages, type PlatformServiceMessages, type ProjectSettingsMessages, type SdkModuleMessages, type SdkModuleState, type SetStorageItemArgs, type SignInWithExternalJwtParams, type SmsOtpParams, type SocialAuthModuleMessages, type MfaMessages, type SocialProvider, type SolanaMessages, type StorageMessages, type StorageMessageSource, type TurnkeyIframeEventProxyMessages, type UserInterfaceModuleMessages, type VerifyWithExternalJwtParams, type ViemMessages, type WaasMessages, type WalletEvents, type WalletsModuleMessages, type WalletsModuleState, type WebViewVisibilityMessages, type ZeroDevExtensionMessages, } from './messageTypes';
10
+ export { authEventNames, emailEventNames, embeddedWalletsEventNames, sdkHasLoadedEventName, smsEventNames, userInterfaceEventNames, userWalletsEventNames, type AccountAbstractionGetEOAWalletArgs, type AccountAbstractionGetSmartWalletArgs, type AccountAbstractionIsSmartWalletArgs, type AccountAbstractionMessages, type AuthModuleMessages, type AuthModuleState, type ClientManifest, type ConsoleMessages, type CreateEmbeddedWalletArgs, type DeleteStorageItemArgs, type EmailOtpParams, type EmbeddedWalletsModuleMessages, type EmbeddedWalletsModuleState, type EthMessages, type EthRequestParams, type EthRequestWithAddressParams, type EthRequestWithChainIdParams, type ExternalAuthMessages, type FetchMessages, type GetStorageItemArgs, type MfaMessages, type NetworksModuleState, type OtpData, type OtpMessages, type PasskeyMessages, type PlatformServiceMessages, type ProjectSettingsMessages, type SdkModuleMessages, type SdkModuleState, type SetStorageItemArgs, type SignInWithExternalJwtParams, type SmsOtpParams, type SocialAuthModuleMessages, type SocialProvider, type SolanaMessages, type StorageMessages, type StorageMessageSource, type TurnkeyIframeEventProxyMessages, type UserInterfaceModuleMessages, type VerifyWithExternalJwtParams, type ViemMessages, type WaasMessages, type WalletEvents, type WalletsModuleMessages, type WalletsModuleState, type WebViewVisibilityMessages, type ZeroDevExtensionMessages, } from './messageTypes';
11
+ export { isGlobalDebugEnabled, setGlobalDebugEnabled } from './debug';
package/src/index.js CHANGED
@@ -3,9 +3,10 @@ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
3
3
  import { version } from '../package.js';
4
4
  export { createMessageTransport } from './messageTransport/messageTransport.js';
5
5
  export { applyDefaultMessageOrigin } from './messageTransport/decorators/applyDefaultMessageOrigin/applyDefaultMessageOrigin.js';
6
+ export { applyRecoveryManager, hasRecoveryManager } from './messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.js';
7
+ export { applyTransportStamps } from './messageTransport/decorators/applyTransportStamps/applyTransportStamps.js';
6
8
  export { makeWaitForInitEvent } from './messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.js';
7
9
  export { makeWaitForUnblock } from './messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.js';
8
- export { applyRecoveryManager, hasRecoveryManager } from './messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.js';
9
10
  export { createRequestChannel } from './requestChannel/requestChannel.js';
10
11
  export { getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isRequestMessageType, isResolveMessageType } from './requestChannel/utils/utils.js';
11
12
  export { isSerializedError } from './utils/isSerializedError/isSerializedError.js';
@@ -21,5 +22,6 @@ export { emailEventNames, smsEventNames } from './messageTypes/OtpMessages.js';
21
22
  export { sdkHasLoadedEventName } from './messageTypes/SdkModuleMessages.js';
22
23
  export { userInterfaceEventNames } from './messageTypes/UserInterfaceModuleMessages.js';
23
24
  export { userWalletsEventNames } from './messageTypes/WalletsModuleMessages.js';
25
+ export { isGlobalDebugEnabled, setGlobalDebugEnabled } from './debug/debug.js';
24
26
 
25
27
  assertPackageVersion('@dynamic-labs/message-transport', version);
@@ -0,0 +1,25 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * Applies transport stamps to a message transport
8
+ * as a trail of where the message has been
9
+ */
10
+ const applyTransportStamps = (messageTransport) => {
11
+ const id = Math.random().toString(36).slice(2);
12
+ return Object.assign(Object.assign({}, messageTransport), { emit: (message) => {
13
+ var _a;
14
+ const transportStamps = [
15
+ ...((_a = message.transportStamps) !== null && _a !== void 0 ? _a : []),
16
+ {
17
+ emittedAt: new Date().toISOString(),
18
+ messageTransportId: id,
19
+ },
20
+ ];
21
+ messageTransport.emit(Object.assign(Object.assign({}, message), { transportStamps }));
22
+ } });
23
+ };
24
+
25
+ exports.applyTransportStamps = applyTransportStamps;
@@ -0,0 +1,6 @@
1
+ import { MessageTransport } from '../../messageTransport';
2
+ /**
3
+ * Applies transport stamps to a message transport
4
+ * as a trail of where the message has been
5
+ */
6
+ export declare const applyTransportStamps: <T extends MessageTransport>(messageTransport: T) => T;
@@ -0,0 +1,21 @@
1
+ 'use client'
2
+ /**
3
+ * Applies transport stamps to a message transport
4
+ * as a trail of where the message has been
5
+ */
6
+ const applyTransportStamps = (messageTransport) => {
7
+ const id = Math.random().toString(36).slice(2);
8
+ return Object.assign(Object.assign({}, messageTransport), { emit: (message) => {
9
+ var _a;
10
+ const transportStamps = [
11
+ ...((_a = message.transportStamps) !== null && _a !== void 0 ? _a : []),
12
+ {
13
+ emittedAt: new Date().toISOString(),
14
+ messageTransportId: id,
15
+ },
16
+ ];
17
+ messageTransport.emit(Object.assign(Object.assign({}, message), { transportStamps }));
18
+ } });
19
+ };
20
+
21
+ export { applyTransportStamps };
@@ -0,0 +1 @@
1
+ export { applyTransportStamps } from './applyTransportStamps';
@@ -1,4 +1,5 @@
1
1
  export * from './applyDefaultMessageOrigin';
2
+ export { applyRecoveryManager, hasRecoveryManager, } from './applyRecoveryManager';
3
+ export * from './applyTransportStamps';
2
4
  export * from './makeWaitForInitEvent';
3
5
  export * from './makeWaitForUnblock';
4
- export { applyRecoveryManager, hasRecoveryManager, } from './applyRecoveryManager';
@@ -1,5 +1,18 @@
1
1
  /** Defines the structure of messages that can be sent to and from webviews */
2
2
  export type MessageTransportData = {
3
+ /**
4
+ * A list of stamps that represent the history of the message
5
+ */
6
+ transportStamps?: {
7
+ /**
8
+ * The id of the message transport that emitted this message
9
+ */
10
+ messageTransportId: string;
11
+ /**
12
+ * The date and time when the message was emitted
13
+ */
14
+ emittedAt: string;
15
+ }[];
3
16
  /**
4
17
  * Defines which kind of message this is.
5
18
  *
@@ -25,6 +38,12 @@ export type MessageTransportData = {
25
38
  messageSessionId: string;
26
39
  /** Identifies which end emitted this message */
27
40
  origin: 'webview' | 'host';
41
+ /**
42
+ * Whether this message is expected to NOT receive an ack reply.
43
+ *
44
+ * If this is true, the other end should NOT emit an ack message.
45
+ */
46
+ doNotAck?: boolean;
28
47
  };
29
48
  export type MessageTransportCallback = (data: MessageTransportData) => void;
30
49
  /**
@@ -1,3 +1,4 @@
1
+ import { LogLevel } from '@dynamic-labs/logger';
1
2
  /**
2
3
  * Defines the settings required by the SDK to be properly initialized
3
4
  * inside the webview
@@ -12,7 +13,11 @@ export type ClientManifest = {
12
13
  environmentId: string;
13
14
  platform: 'browser' | 'react-native' | 'flutter' | 'swift';
14
15
  redirectUrl: string;
15
- debugWebview?: boolean;
16
+ debug?: {
17
+ webview?: boolean;
18
+ messageTransport?: boolean;
19
+ loggerLevel?: LogLevel;
20
+ };
16
21
  };
17
22
  export type SdkModuleState = {
18
23
  /** Indicates the SDK is set up and ready for requests */
@@ -3,11 +3,12 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var debug = require('../../debug/debug.cjs');
6
7
  var applyRecoveryManager = require('../../messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.cjs');
7
8
  var logger = require('../../utils/logger.cjs');
8
9
  var utils = require('../utils/utils.cjs');
9
10
 
10
- const createRequestChannelMessageSender = ({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, }) => {
11
+ const createRequestChannelMessageSender = ({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, debugOverride, disableAckForOutgoingMessage = false, }) => {
11
12
  /**
12
13
  * Tracks whether this sender's message has timed out.
13
14
  * This way we can identify that it was a false negative if the message
@@ -15,30 +16,54 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
15
16
  */
16
17
  let messageTimedOut = false;
17
18
  const ackMessageType = utils.getAckMessageType(requestType);
18
- const message = {
19
+ const isDebugEnabled = () => debugOverride !== null && debugOverride !== void 0 ? debugOverride : debug.isGlobalDebugEnabled();
20
+ const outgoingMessage = {
19
21
  args: params,
22
+ doNotAck: disableAckForOutgoingMessage,
20
23
  messageSessionId,
21
24
  type: requestType,
22
25
  };
26
+ const getTimestamp = () => new Date().toISOString();
23
27
  // We must listen for acks
24
- const handleAckMessage = ({ messageSessionId: incomingSessionId, type: incomingType, }) => {
28
+ const handleAckMessage = ({ messageSessionId: incomingSessionId, type: incomingType, doNotAck: incomingDoNotAck, }) => {
29
+ // DO NOT ignore ack messages when disableAckForOutgoingMessage is true.
30
+ // disableAckForOutgoingMessage means OUTGOING messages will not receive an ack.
31
+ // This is different than the INCOMING message's doNotAck, which is what we care about here
25
32
  if (incomingSessionId !== messageSessionId ||
26
- incomingType !== ackMessageType)
33
+ incomingType !== ackMessageType ||
34
+ incomingDoNotAck) {
27
35
  return;
36
+ }
37
+ if (isDebugEnabled()) {
38
+ logger.logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — received ack message (messageSessionId: ${messageSessionId}). Message timeout ID: ${timeoutMap[messageSessionId]}. Content of timeoutMap: ${JSON.stringify(timeoutMap)}`);
39
+ }
28
40
  clearTimeout(timeoutMap[messageSessionId]);
29
41
  delete timeoutMap[messageSessionId];
30
42
  onReceiveAck === null || onReceiveAck === void 0 ? void 0 : onReceiveAck();
31
43
  if (messageTimedOut) {
44
+ if (isDebugEnabled()) {
45
+ logger.logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — identified a false negative for message time out. Message: ${requestType} with session id ${messageSessionId}`);
46
+ }
32
47
  logger.logger.instrument(`Identified a false negative for message time out. Message: ${requestType} with session id ${messageSessionId}. Params: ${JSON.stringify(params)}`);
33
48
  }
34
49
  };
35
50
  const sendMessage = () => {
51
+ if (disableAckForOutgoingMessage) {
52
+ messageTransport.emit(outgoingMessage);
53
+ return;
54
+ }
36
55
  const startTimer = () => {
37
56
  const timeoutTimer = setTimeout(() => {
38
57
  // Try to recover connection if available
39
58
  if (applyRecoveryManager.hasRecoveryManager(messageTransport) &&
40
59
  messageTransport.recoveryManager.canRetryMessageSessionId(messageSessionId)) {
60
+ if (isDebugEnabled()) {
61
+ logger.logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — timed out, triggering recovery (messageSessionId: ${messageSessionId})`);
62
+ }
41
63
  messageTransport.recoveryManager.triggerRecovery(messageSessionId);
64
+ if (isDebugEnabled()) {
65
+ logger.logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — attempting to send message again (messageSessionId: ${messageSessionId})`);
66
+ }
42
67
  sendMessage();
43
68
  }
44
69
  else {
@@ -47,6 +72,9 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
47
72
  messageTimedOut = true;
48
73
  }
49
74
  }, utils.TIMEOUT_DURATION);
75
+ if (isDebugEnabled()) {
76
+ logger.logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — setting timeout timer (messageSessionId: ${messageSessionId}). Timeout ID: ${timeoutTimer}. Content of timeoutMap: ${JSON.stringify(timeoutMap)}`);
77
+ }
50
78
  timeoutMap[messageSessionId] = timeoutTimer;
51
79
  };
52
80
  // If this message transport is currently blocked, we must only start
@@ -54,13 +82,13 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
54
82
  // We don't just default to this because the onEmit option is only
55
83
  // present in the message transport if has the block decorator
56
84
  if ('isBlocked' in messageTransport && messageTransport.isBlocked()) {
57
- messageTransport.emit(message, { onEmit: startTimer });
85
+ messageTransport.emit(outgoingMessage, { onEmit: startTimer });
58
86
  return;
59
87
  }
60
- // Now we emit the event to set off the request
61
- messageTransport.emit(message);
62
88
  // We start the timer immediately since the message was not blocked
63
89
  startTimer();
90
+ // Now we emit the event to set off the request
91
+ messageTransport.emit(outgoingMessage);
64
92
  };
65
93
  return { handleAckMessage, sendMessage };
66
94
  };
@@ -10,9 +10,11 @@ type RequestChannelMessageSenderParams<T extends RequestTypes, K extends Extract
10
10
  onTimeout: VoidFunction;
11
11
  messageTransport: MessageTransportWithDefaultOrigin | WithBlock<MessageTransportWithDefaultOrigin>;
12
12
  params: Parameters<T[K]>;
13
+ debugOverride?: boolean;
14
+ disableAckForOutgoingMessage?: boolean;
13
15
  };
14
- export declare const createRequestChannelMessageSender: <T extends RequestTypes, K extends Extract<keyof T, string>>({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, }: RequestChannelMessageSenderParams<T, K>) => {
15
- handleAckMessage: ({ messageSessionId: incomingSessionId, type: incomingType, }: MessageTransportData) => void;
16
+ export declare const createRequestChannelMessageSender: <T extends RequestTypes, K extends Extract<keyof T, string>>({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, debugOverride, disableAckForOutgoingMessage, }: RequestChannelMessageSenderParams<T, K>) => {
17
+ handleAckMessage: ({ messageSessionId: incomingSessionId, type: incomingType, doNotAck: incomingDoNotAck, }: MessageTransportData) => void;
16
18
  sendMessage: () => void;
17
19
  };
18
20
  export {};
@@ -1,9 +1,10 @@
1
1
  'use client'
2
+ import { isGlobalDebugEnabled } from '../../debug/debug.js';
2
3
  import { hasRecoveryManager } from '../../messageTransport/decorators/applyRecoveryManager/applyRecoveryManager.js';
3
4
  import { logger } from '../../utils/logger.js';
4
5
  import { getAckMessageType, TIMEOUT_DURATION } from '../utils/utils.js';
5
6
 
6
- const createRequestChannelMessageSender = ({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, }) => {
7
+ const createRequestChannelMessageSender = ({ requestType, messageSessionId, timeoutMap, onReceiveAck, messageTransport, onTimeout, params, debugOverride, disableAckForOutgoingMessage = false, }) => {
7
8
  /**
8
9
  * Tracks whether this sender's message has timed out.
9
10
  * This way we can identify that it was a false negative if the message
@@ -11,30 +12,54 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
11
12
  */
12
13
  let messageTimedOut = false;
13
14
  const ackMessageType = getAckMessageType(requestType);
14
- const message = {
15
+ const isDebugEnabled = () => debugOverride !== null && debugOverride !== void 0 ? debugOverride : isGlobalDebugEnabled();
16
+ const outgoingMessage = {
15
17
  args: params,
18
+ doNotAck: disableAckForOutgoingMessage,
16
19
  messageSessionId,
17
20
  type: requestType,
18
21
  };
22
+ const getTimestamp = () => new Date().toISOString();
19
23
  // We must listen for acks
20
- const handleAckMessage = ({ messageSessionId: incomingSessionId, type: incomingType, }) => {
24
+ const handleAckMessage = ({ messageSessionId: incomingSessionId, type: incomingType, doNotAck: incomingDoNotAck, }) => {
25
+ // DO NOT ignore ack messages when disableAckForOutgoingMessage is true.
26
+ // disableAckForOutgoingMessage means OUTGOING messages will not receive an ack.
27
+ // This is different than the INCOMING message's doNotAck, which is what we care about here
21
28
  if (incomingSessionId !== messageSessionId ||
22
- incomingType !== ackMessageType)
29
+ incomingType !== ackMessageType ||
30
+ incomingDoNotAck) {
23
31
  return;
32
+ }
33
+ if (isDebugEnabled()) {
34
+ logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — received ack message (messageSessionId: ${messageSessionId}). Message timeout ID: ${timeoutMap[messageSessionId]}. Content of timeoutMap: ${JSON.stringify(timeoutMap)}`);
35
+ }
24
36
  clearTimeout(timeoutMap[messageSessionId]);
25
37
  delete timeoutMap[messageSessionId];
26
38
  onReceiveAck === null || onReceiveAck === void 0 ? void 0 : onReceiveAck();
27
39
  if (messageTimedOut) {
40
+ if (isDebugEnabled()) {
41
+ logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — identified a false negative for message time out. Message: ${requestType} with session id ${messageSessionId}`);
42
+ }
28
43
  logger.instrument(`Identified a false negative for message time out. Message: ${requestType} with session id ${messageSessionId}. Params: ${JSON.stringify(params)}`);
29
44
  }
30
45
  };
31
46
  const sendMessage = () => {
47
+ if (disableAckForOutgoingMessage) {
48
+ messageTransport.emit(outgoingMessage);
49
+ return;
50
+ }
32
51
  const startTimer = () => {
33
52
  const timeoutTimer = setTimeout(() => {
34
53
  // Try to recover connection if available
35
54
  if (hasRecoveryManager(messageTransport) &&
36
55
  messageTransport.recoveryManager.canRetryMessageSessionId(messageSessionId)) {
56
+ if (isDebugEnabled()) {
57
+ logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — timed out, triggering recovery (messageSessionId: ${messageSessionId})`);
58
+ }
37
59
  messageTransport.recoveryManager.triggerRecovery(messageSessionId);
60
+ if (isDebugEnabled()) {
61
+ logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — attempting to send message again (messageSessionId: ${messageSessionId})`);
62
+ }
38
63
  sendMessage();
39
64
  }
40
65
  else {
@@ -43,6 +68,9 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
43
68
  messageTimedOut = true;
44
69
  }
45
70
  }, TIMEOUT_DURATION);
71
+ if (isDebugEnabled()) {
72
+ logger.debug(`[messageSender ${requestType} ${getTimestamp()}] — setting timeout timer (messageSessionId: ${messageSessionId}). Timeout ID: ${timeoutTimer}. Content of timeoutMap: ${JSON.stringify(timeoutMap)}`);
73
+ }
46
74
  timeoutMap[messageSessionId] = timeoutTimer;
47
75
  };
48
76
  // If this message transport is currently blocked, we must only start
@@ -50,13 +78,13 @@ const createRequestChannelMessageSender = ({ requestType, messageSessionId, time
50
78
  // We don't just default to this because the onEmit option is only
51
79
  // present in the message transport if has the block decorator
52
80
  if ('isBlocked' in messageTransport && messageTransport.isBlocked()) {
53
- messageTransport.emit(message, { onEmit: startTimer });
81
+ messageTransport.emit(outgoingMessage, { onEmit: startTimer });
54
82
  return;
55
83
  }
56
- // Now we emit the event to set off the request
57
- messageTransport.emit(message);
58
84
  // We start the timer immediately since the message was not blocked
59
85
  startTimer();
86
+ // Now we emit the event to set off the request
87
+ messageTransport.emit(outgoingMessage);
60
88
  };
61
89
  return { handleAckMessage, sendMessage };
62
90
  };
@@ -4,7 +4,9 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../_virtual/_tslib.cjs');
7
+ var debug = require('../debug/debug.cjs');
7
8
  var isSerializedError = require('../utils/isSerializedError/isSerializedError.cjs');
9
+ var logger = require('../utils/logger.cjs');
8
10
  var parseErrorFromTransport = require('../utils/parseErrorFromTransport/parseErrorFromTransport.cjs');
9
11
  var serializeErrorForTransport = require('../utils/serializeErrorForTransport/serializeErrorForTransport.cjs');
10
12
  var createRequestChannelMessageSender = require('./createRequestChannelMessageSender/createRequestChannelMessageSender.cjs');
@@ -28,7 +30,7 @@ var utils = require('./utils/utils.cjs');
28
30
  *
29
31
  * This is an abstraction built on top of the MessageTransport interface.
30
32
  */
31
- const createRequestChannel = (messageTransport) => {
33
+ const createRequestChannel = (messageTransport, { debugOverride, disableAcknowledgement } = {}) => {
32
34
  /** Used to generated unique ids */
33
35
  let uniqueIdCounter = 0;
34
36
  /** Id prefix unique to this channel */
@@ -37,6 +39,8 @@ const createRequestChannel = (messageTransport) => {
37
39
  const getUniqueId = () => `${idPrefix}-${uniqueIdCounter++}`;
38
40
  /** Maps a request's session ID to its time out timer */
39
41
  const timeoutMap = {};
42
+ const isDebugEnabled = () => debugOverride !== null && debugOverride !== void 0 ? debugOverride : debug.isGlobalDebugEnabled();
43
+ const getTimestamp = () => new Date().toISOString();
40
44
  return {
41
45
  emit: (requestType, ...params) => new Promise((resolve, reject) => {
42
46
  // Generate the unique id for this message exchange session
@@ -44,6 +48,8 @@ const createRequestChannel = (messageTransport) => {
44
48
  // to avoid tangling with other requests.
45
49
  const messageSessionId = getUniqueId();
46
50
  const { handleAckMessage, sendMessage } = createRequestChannelMessageSender.createRequestChannelMessageSender({
51
+ debugOverride,
52
+ disableAckForOutgoingMessage: disableAcknowledgement,
47
53
  messageSessionId,
48
54
  messageTransport,
49
55
  onReceiveAck: () => {
@@ -59,19 +65,26 @@ const createRequestChannel = (messageTransport) => {
59
65
  timeoutMap,
60
66
  });
61
67
  const cleanupMessageHandler = () => messageTransport.off(handleAckMessage);
62
- messageTransport.on(handleAckMessage);
68
+ if (disableAcknowledgement) {
69
+ resolve();
70
+ }
71
+ else {
72
+ messageTransport.on(handleAckMessage);
73
+ }
63
74
  sendMessage();
64
75
  }),
65
76
  handle: (requestType, handler) => {
66
- const messageHandler = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ args, messageSessionId, type: incomingType, }) {
77
+ const messageHandler = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ args, messageSessionId, type: incomingType, doNotAck = false, }) {
67
78
  if (requestType !== incomingType)
68
79
  return;
69
- // Emit an Ack since the message will time out unless some handler acks it in time
70
- messageTransport.emit({
71
- args: [],
72
- messageSessionId,
73
- type: utils.getAckMessageType(requestType),
74
- });
80
+ if (!doNotAck) {
81
+ // Emit an Ack since the message will time out unless some handler acks it in time
82
+ messageTransport.emit({
83
+ args: [],
84
+ messageSessionId,
85
+ type: utils.getAckMessageType(requestType),
86
+ });
87
+ }
75
88
  const result = handler(...args);
76
89
  // If the handler doesn't return a promise,
77
90
  // that means we don't need to respond.
@@ -106,6 +119,8 @@ const createRequestChannel = (messageTransport) => {
106
119
  const resolveMessageType = utils.getResolveMessageType(requestType);
107
120
  const rejectMessageType = utils.getRejectMessageType(requestType);
108
121
  const { handleAckMessage, sendMessage } = createRequestChannelMessageSender.createRequestChannelMessageSender({
122
+ debugOverride,
123
+ disableAckForOutgoingMessage: disableAcknowledgement,
109
124
  messageSessionId,
110
125
  messageTransport,
111
126
  onTimeout: () => {
@@ -120,10 +135,16 @@ const createRequestChannel = (messageTransport) => {
120
135
  const handleMessage = (message) => {
121
136
  if (message.messageSessionId !== messageSessionId)
122
137
  return;
138
+ if (isDebugEnabled()) {
139
+ logger.logger.debug(`[request ${requestType} ${getTimestamp()}] — received response message (messageSessionId: ${messageSessionId})`);
140
+ }
123
141
  const { args: [result], type: incomingType, } = message;
124
142
  if (incomingType === resolveMessageType) {
125
143
  cleanupMessageHandler();
126
144
  resolve(result);
145
+ if (isDebugEnabled()) {
146
+ logger.logger.debug(`[request ${requestType} ${getTimestamp()}] — resolved message (messageSessionId: ${messageSessionId})`);
147
+ }
127
148
  return;
128
149
  }
129
150
  if (incomingType === rejectMessageType) {
@@ -134,6 +155,9 @@ const createRequestChannel = (messageTransport) => {
134
155
  else {
135
156
  reject(result);
136
157
  }
158
+ if (isDebugEnabled()) {
159
+ logger.logger.debug(`[request ${requestType} ${getTimestamp()}] — rejected message (messageSessionId: ${messageSessionId})`);
160
+ }
137
161
  return;
138
162
  }
139
163
  handleAckMessage(message);
@@ -1,6 +1,20 @@
1
1
  import { WithBlock } from '../messageTransport';
2
2
  import { MessageTransportWithDefaultOrigin } from '../messageTransport/decorators/applyDefaultMessageOrigin/applyDefaultMessageOrigin';
3
3
  import { RequestChannel, RequestTypes } from './types';
4
+ type CreateRequestChannelProps = {
5
+ /**
6
+ * Overrides whether to debug the request channel messages
7
+ */
8
+ debugOverride?: boolean;
9
+ /**
10
+ * Disables ack message replies for messages sent from this channel.
11
+ *
12
+ * Doesn't mean that this channel won't send ack replies to messages sent from
13
+ * other channels — what this does mean is messages SENT from THIS channel will
14
+ * not receive an ack reply.
15
+ */
16
+ disableAcknowledgement?: boolean;
17
+ };
4
18
  /**
5
19
  * Allows handling and submitting requests to and from a webview.
6
20
  * Requests are messages that (can) expect some response.
@@ -19,4 +33,5 @@ import { RequestChannel, RequestTypes } from './types';
19
33
  *
20
34
  * This is an abstraction built on top of the MessageTransport interface.
21
35
  */
22
- export declare const createRequestChannel: <T extends RequestTypes = never>(messageTransport: MessageTransportWithDefaultOrigin | WithBlock<MessageTransportWithDefaultOrigin>) => RequestChannel<T>;
36
+ export declare const createRequestChannel: <T extends RequestTypes = never>(messageTransport: MessageTransportWithDefaultOrigin | WithBlock<MessageTransportWithDefaultOrigin>, { debugOverride, disableAcknowledgement }?: CreateRequestChannelProps) => RequestChannel<T>;
37
+ export {};
@@ -1,6 +1,8 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
+ import { isGlobalDebugEnabled } from '../debug/debug.js';
3
4
  import { isSerializedError } from '../utils/isSerializedError/isSerializedError.js';
5
+ import { logger } from '../utils/logger.js';
4
6
  import { parseErrorFromTransport } from '../utils/parseErrorFromTransport/parseErrorFromTransport.js';
5
7
  import { serializeErrorForTransport } from '../utils/serializeErrorForTransport/serializeErrorForTransport.js';
6
8
  import { createRequestChannelMessageSender } from './createRequestChannelMessageSender/createRequestChannelMessageSender.js';
@@ -24,7 +26,7 @@ import { createNoHandlerError, getAckMessageType, getResolveMessageType, getReje
24
26
  *
25
27
  * This is an abstraction built on top of the MessageTransport interface.
26
28
  */
27
- const createRequestChannel = (messageTransport) => {
29
+ const createRequestChannel = (messageTransport, { debugOverride, disableAcknowledgement } = {}) => {
28
30
  /** Used to generated unique ids */
29
31
  let uniqueIdCounter = 0;
30
32
  /** Id prefix unique to this channel */
@@ -33,6 +35,8 @@ const createRequestChannel = (messageTransport) => {
33
35
  const getUniqueId = () => `${idPrefix}-${uniqueIdCounter++}`;
34
36
  /** Maps a request's session ID to its time out timer */
35
37
  const timeoutMap = {};
38
+ const isDebugEnabled = () => debugOverride !== null && debugOverride !== void 0 ? debugOverride : isGlobalDebugEnabled();
39
+ const getTimestamp = () => new Date().toISOString();
36
40
  return {
37
41
  emit: (requestType, ...params) => new Promise((resolve, reject) => {
38
42
  // Generate the unique id for this message exchange session
@@ -40,6 +44,8 @@ const createRequestChannel = (messageTransport) => {
40
44
  // to avoid tangling with other requests.
41
45
  const messageSessionId = getUniqueId();
42
46
  const { handleAckMessage, sendMessage } = createRequestChannelMessageSender({
47
+ debugOverride,
48
+ disableAckForOutgoingMessage: disableAcknowledgement,
43
49
  messageSessionId,
44
50
  messageTransport,
45
51
  onReceiveAck: () => {
@@ -55,19 +61,26 @@ const createRequestChannel = (messageTransport) => {
55
61
  timeoutMap,
56
62
  });
57
63
  const cleanupMessageHandler = () => messageTransport.off(handleAckMessage);
58
- messageTransport.on(handleAckMessage);
64
+ if (disableAcknowledgement) {
65
+ resolve();
66
+ }
67
+ else {
68
+ messageTransport.on(handleAckMessage);
69
+ }
59
70
  sendMessage();
60
71
  }),
61
72
  handle: (requestType, handler) => {
62
- const messageHandler = (_a) => __awaiter(void 0, [_a], void 0, function* ({ args, messageSessionId, type: incomingType, }) {
73
+ const messageHandler = (_a) => __awaiter(void 0, [_a], void 0, function* ({ args, messageSessionId, type: incomingType, doNotAck = false, }) {
63
74
  if (requestType !== incomingType)
64
75
  return;
65
- // Emit an Ack since the message will time out unless some handler acks it in time
66
- messageTransport.emit({
67
- args: [],
68
- messageSessionId,
69
- type: getAckMessageType(requestType),
70
- });
76
+ if (!doNotAck) {
77
+ // Emit an Ack since the message will time out unless some handler acks it in time
78
+ messageTransport.emit({
79
+ args: [],
80
+ messageSessionId,
81
+ type: getAckMessageType(requestType),
82
+ });
83
+ }
71
84
  const result = handler(...args);
72
85
  // If the handler doesn't return a promise,
73
86
  // that means we don't need to respond.
@@ -102,6 +115,8 @@ const createRequestChannel = (messageTransport) => {
102
115
  const resolveMessageType = getResolveMessageType(requestType);
103
116
  const rejectMessageType = getRejectMessageType(requestType);
104
117
  const { handleAckMessage, sendMessage } = createRequestChannelMessageSender({
118
+ debugOverride,
119
+ disableAckForOutgoingMessage: disableAcknowledgement,
105
120
  messageSessionId,
106
121
  messageTransport,
107
122
  onTimeout: () => {
@@ -116,10 +131,16 @@ const createRequestChannel = (messageTransport) => {
116
131
  const handleMessage = (message) => {
117
132
  if (message.messageSessionId !== messageSessionId)
118
133
  return;
134
+ if (isDebugEnabled()) {
135
+ logger.debug(`[request ${requestType} ${getTimestamp()}] — received response message (messageSessionId: ${messageSessionId})`);
136
+ }
119
137
  const { args: [result], type: incomingType, } = message;
120
138
  if (incomingType === resolveMessageType) {
121
139
  cleanupMessageHandler();
122
140
  resolve(result);
141
+ if (isDebugEnabled()) {
142
+ logger.debug(`[request ${requestType} ${getTimestamp()}] — resolved message (messageSessionId: ${messageSessionId})`);
143
+ }
123
144
  return;
124
145
  }
125
146
  if (incomingType === rejectMessageType) {
@@ -130,6 +151,9 @@ const createRequestChannel = (messageTransport) => {
130
151
  else {
131
152
  reject(result);
132
153
  }
154
+ if (isDebugEnabled()) {
155
+ logger.debug(`[request ${requestType} ${getTimestamp()}] — rejected message (messageSessionId: ${messageSessionId})`);
156
+ }
133
157
  return;
134
158
  }
135
159
  handleAckMessage(message);
@@ -34,7 +34,7 @@ const createNoHandlerError = (type) => {
34
34
  *
35
35
  * This controls how many ms we should wait before we time out.
36
36
  */
37
- const TIMEOUT_DURATION = 1000;
37
+ const TIMEOUT_DURATION = 5000;
38
38
 
39
39
  exports.TIMEOUT_DURATION = TIMEOUT_DURATION;
40
40
  exports.createNoHandlerError = createNoHandlerError;
@@ -21,4 +21,4 @@ export declare const createNoHandlerError: (type: string) => RequestChannelNotHa
21
21
  *
22
22
  * This controls how many ms we should wait before we time out.
23
23
  */
24
- export declare const TIMEOUT_DURATION = 1000;
24
+ export declare const TIMEOUT_DURATION = 5000;
@@ -30,6 +30,6 @@ const createNoHandlerError = (type) => {
30
30
  *
31
31
  * This controls how many ms we should wait before we time out.
32
32
  */
33
- const TIMEOUT_DURATION = 1000;
33
+ const TIMEOUT_DURATION = 5000;
34
34
 
35
35
  export { TIMEOUT_DURATION, createNoHandlerError, getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isRequestMessageType, isResolveMessageType };
@@ -11,8 +11,10 @@ parsedData) => {
11
11
  }
12
12
  const message = {
13
13
  args: parsedData.args,
14
+ doNotAck: parsedData.doNotAck,
14
15
  messageSessionId: parsedData.messageSessionId,
15
16
  origin: parsedData.origin,
17
+ transportStamps: parsedData.transportStamps,
16
18
  type: parsedData.type,
17
19
  };
18
20
  if (!Array.isArray(message.args) ||
@@ -7,8 +7,10 @@ parsedData) => {
7
7
  }
8
8
  const message = {
9
9
  args: parsedData.args,
10
+ doNotAck: parsedData.doNotAck,
10
11
  messageSessionId: parsedData.messageSessionId,
11
12
  origin: parsedData.origin,
13
+ transportStamps: parsedData.transportStamps,
12
14
  type: parsedData.type,
13
15
  };
14
16
  if (!Array.isArray(message.args) ||