@ibm-aspera/sdk 0.2.9 → 0.2.12

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.
@@ -1,5 +1,6 @@
1
1
  import { AsperaSdkInfo, TransferResponse } from '../models/aspera-sdk.model';
2
2
  import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, ResumeTransferOptions, TransferSpec, WebsocketEvent } from '../models/models';
3
+ import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
3
4
  /**
4
5
  * Check if IBM Aspera for Desktop connection works. This function is called by init
5
6
  * when initializing the SDK. This function can be used at any point for checking.
@@ -8,7 +9,7 @@ import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTr
8
9
  */
9
10
  export declare const testConnection: () => Promise<any>;
10
11
  /**
11
- * Initialize drag and drop. HTTP Gateway does not need to init.
12
+ * Initialize drag and drop. HTTP Gateway and Connect does not need to init.
12
13
  * Ignore if only HTTP Gateway
13
14
  * @param initCall - Indicate if called via init flow and should not reject
14
15
  *
@@ -57,22 +58,6 @@ export declare const registerActivityCallback: (callback: (transfers: TransferRe
57
58
  * @param id the ID returned by `registerActivityCallback`
58
59
  */
59
60
  export declare const deregisterActivityCallback: (id: string) => void;
60
- /**
61
- * Register a callback event for when a user removes or cancels a transfer
62
- * directly from IBM Aspera. This may also be called if IBM Aspera
63
- * is configured to automatically remove completed transfers.
64
- *
65
- * @param callback callback function to receive transfers
66
- *
67
- * @returns ID representing the callback for deregistration purposes
68
- */
69
- export declare const registerRemovedCallback: (callback: (transfer: AsperaSdkTransfer) => void) => string;
70
- /**
71
- * Remove a callback from the removed transfer callback
72
- *
73
- * @param id the ID returned by `registerRemovedCallback`
74
- */
75
- export declare const deregisterRemovedCallback: (id: string) => void;
76
61
  /**
77
62
  * Register a callback for getting updates about the connection status of IBM Aspera SDK.
78
63
  *
@@ -186,11 +171,12 @@ export declare const setBranding: (id: string, options: CustomBrandingOptions) =
186
171
  *
187
172
  * @param callback the function to call once the files are dropped
188
173
  * @param elementSelector the selector of the element on the page that should watch for drop events
174
+ * @param connectOptions options for connect
189
175
  */
190
176
  export declare const createDropzone: (callback: (data: {
191
177
  event: DragEvent;
192
178
  files: DataTransferResponse;
193
- }) => void, elementSelector: string) => void;
179
+ }) => void, elementSelector: string, connectOptions?: ConnectTypes.DragDropOptions) => void;
194
180
  /**
195
181
  * Remove dropzone.
196
182
  *
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterRemovedCallback = exports.registerRemovedCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.init = exports.initDragDrop = exports.testConnection = void 0;
3
+ exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.init = exports.initDragDrop = exports.testConnection = void 0;
4
4
  var messages_1 = require("../constants/messages");
5
5
  var client_1 = require("../helpers/client/client");
6
6
  var helpers_1 = require("../helpers/helpers");
@@ -8,6 +8,8 @@ var http_gateway_1 = require("../http-gateway");
8
8
  var core_1 = require("../http-gateway/core");
9
9
  var index_1 = require("../index");
10
10
  var http_gateway_sdk_js_1 = require("@ibm-aspera/http-gateway-sdk-js");
11
+ var connect_sdk_js_1 = require("@ibm-aspera/connect-sdk-js");
12
+ var core_2 = require("../connect/core");
11
13
  /**
12
14
  * Check if IBM Aspera for Desktop connection works. This function is called by init
13
15
  * when initializing the SDK. This function can be used at any point for checking.
@@ -15,6 +17,9 @@ var http_gateway_sdk_js_1 = require("@ibm-aspera/http-gateway-sdk-js");
15
17
  * @returns a promise that resolves if server can connect or rejects if not
16
18
  */
17
19
  var testConnection = function () {
20
+ if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
21
+ return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
22
+ }
18
23
  return client_1.client.request('get_info')
19
24
  .then(function (data) {
20
25
  index_1.asperaSdk.globals.asperaSdkInfo = data;
@@ -24,14 +29,14 @@ var testConnection = function () {
24
29
  };
25
30
  exports.testConnection = testConnection;
26
31
  /**
27
- * Initialize drag and drop. HTTP Gateway does not need to init.
32
+ * Initialize drag and drop. HTTP Gateway and Connect does not need to init.
28
33
  * Ignore if only HTTP Gateway
29
34
  * @param initCall - Indicate if called via init flow and should not reject
30
35
  *
31
36
  * @returns a promise that resolves if the initialization was successful or not
32
37
  */
33
38
  var initDragDrop = function (initCall) {
34
- if (index_1.asperaSdk.useHttpGateway) {
39
+ if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
35
40
  return Promise.resolve(true);
36
41
  }
37
42
  else if (!index_1.asperaSdk.isReady) {
@@ -72,7 +77,7 @@ exports.initDragDrop = initDragDrop;
72
77
  * rejects if unable to connect
73
78
  */
74
79
  var init = function (options) {
75
- var _a, _b;
80
+ var _a, _b, _c, _d;
76
81
  var appId = (_a = options === null || options === void 0 ? void 0 : options.appId) !== null && _a !== void 0 ? _a : (0, helpers_1.randomUUID)();
77
82
  var supportMultipleUsers = (_b = options === null || options === void 0 ? void 0 : options.supportMultipleUsers) !== null && _b !== void 0 ? _b : false;
78
83
  index_1.asperaSdk.globals.appId = appId;
@@ -91,6 +96,23 @@ var init = function (options) {
91
96
  index_1.asperaSdk.globals.asperaAppVerified = false;
92
97
  throw (0, helpers_1.generateErrorBody)(messages_1.messages.serverError, error);
93
98
  };
99
+ var getConnectStartCalls = function () {
100
+ index_1.asperaSdk.globals.connect = new connect_sdk_js_1.Connect({
101
+ minVersion: options.connectSettings.minVersion || '3.10.1',
102
+ dragDropEnabled: options.connectSettings.dragDropEnabled,
103
+ connectMethod: options.connectSettings.method,
104
+ });
105
+ index_1.asperaSdk.globals.connectInstaller = new connect_sdk_js_1.ConnectInstaller({
106
+ sdkLocation: options.connectSettings.sdkLocation,
107
+ correlationId: options.connectSettings.correlationId,
108
+ style: 'carbon',
109
+ });
110
+ index_1.asperaSdk.globals.connectAW4 = {
111
+ Connect: connect_sdk_js_1.Connect,
112
+ ConnectInstaller: connect_sdk_js_1.ConnectInstaller,
113
+ };
114
+ return (0, core_2.initConnect)(!options.connectSettings.hideIncludedInstaller);
115
+ };
94
116
  var getDesktopStartCalls = function () {
95
117
  return index_1.asperaSdk.activityTracking.setup()
96
118
  .then(function () { return (0, exports.testConnection)(); })
@@ -98,8 +120,8 @@ var init = function (options) {
98
120
  .then(function () { return index_1.asperaSdk.globals.sdkResponseData; })
99
121
  .catch(handleErrors);
100
122
  };
101
- if (options.httpGatewayUrl && !index_1.asperaSdk.globals.httpGatewayVerified) {
102
- var finalHttpGatewayUrl = options.httpGatewayUrl.trim();
123
+ if (((_c = options === null || options === void 0 ? void 0 : options.httpGatewaySettings) === null || _c === void 0 ? void 0 : _c.url) && !index_1.asperaSdk.globals.httpGatewayVerified) {
124
+ var finalHttpGatewayUrl = options.httpGatewaySettings.url.trim();
103
125
  if (finalHttpGatewayUrl.indexOf('http') !== 0) {
104
126
  finalHttpGatewayUrl = "https://".concat(finalHttpGatewayUrl);
105
127
  }
@@ -115,6 +137,7 @@ var init = function (options) {
115
137
  return responseData;
116
138
  });
117
139
  }).then(function (response) {
140
+ var _a, _b;
118
141
  index_1.asperaSdk.globals.httpGatewayInfo = response;
119
142
  index_1.asperaSdk.globals.httpGatewayVerified = true;
120
143
  var iframeContainer = document.createElement('div');
@@ -122,19 +145,20 @@ var init = function (options) {
122
145
  iframeContainer.style = 'display: none;';
123
146
  document.body.appendChild(iframeContainer);
124
147
  index_1.asperaSdk.globals.httpGatewayIframeContainer = iframeContainer;
125
- if (options.forceHttpGateway) {
148
+ if ((_a = options === null || options === void 0 ? void 0 : options.httpGatewaySettings) === null || _a === void 0 ? void 0 : _a.forceGateway) {
126
149
  return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
127
150
  }
128
151
  else {
129
- return getDesktopStartCalls();
152
+ return ((_b = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _b === void 0 ? void 0 : _b.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
130
153
  }
131
154
  }).catch(function (error) {
155
+ var _a;
132
156
  // If HTTP Gateway fails log and move on to desktop
133
157
  (0, helpers_1.errorLog)(messages_1.messages.httpInitFail, error);
134
- return getDesktopStartCalls();
158
+ return ((_a = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _a === void 0 ? void 0 : _a.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
135
159
  });
136
160
  }
137
- return getDesktopStartCalls();
161
+ return ((_d = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _d === void 0 ? void 0 : _d.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
138
162
  };
139
163
  exports.init = init;
140
164
  /**
@@ -152,6 +176,11 @@ var startTransfer = function (transferSpec, asperaSdkSpec) {
152
176
  if (index_1.asperaSdk.useHttpGateway) {
153
177
  return transferSpec.direction === 'receive' ? (0, http_gateway_1.httpDownload)(transferSpec, asperaSdkSpec) : (0, http_gateway_1.httpUpload)(transferSpec, asperaSdkSpec);
154
178
  }
179
+ else if (index_1.asperaSdk.useConnect) {
180
+ return index_1.asperaSdk.globals.connect.startTransferPromise(transferSpec, asperaSdkSpec).then(function (response) {
181
+ return response.transfer_specs[0];
182
+ });
183
+ }
155
184
  else if (!index_1.asperaSdk.isReady) {
156
185
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
157
186
  }
@@ -190,28 +219,6 @@ var deregisterActivityCallback = function (id) {
190
219
  index_1.asperaSdk.activityTracking.removeCallback(id);
191
220
  };
192
221
  exports.deregisterActivityCallback = deregisterActivityCallback;
193
- /**
194
- * Register a callback event for when a user removes or cancels a transfer
195
- * directly from IBM Aspera. This may also be called if IBM Aspera
196
- * is configured to automatically remove completed transfers.
197
- *
198
- * @param callback callback function to receive transfers
199
- *
200
- * @returns ID representing the callback for deregistration purposes
201
- */
202
- var registerRemovedCallback = function (callback) {
203
- return index_1.asperaSdk.activityTracking.setRemovedCallback(callback);
204
- };
205
- exports.registerRemovedCallback = registerRemovedCallback;
206
- /**
207
- * Remove a callback from the removed transfer callback
208
- *
209
- * @param id the ID returned by `registerRemovedCallback`
210
- */
211
- var deregisterRemovedCallback = function (id) {
212
- index_1.asperaSdk.activityTracking.removeRemovedCallback(id);
213
- };
214
- exports.deregisterRemovedCallback = deregisterRemovedCallback;
215
222
  /**
216
223
  * Register a callback for getting updates about the connection status of IBM Aspera SDK.
217
224
  *
@@ -247,6 +254,9 @@ var removeTransfer = function (id) {
247
254
  if (index_1.asperaSdk.useHttpGateway) {
248
255
  return (0, core_1.httpRemoveTransfer)(id);
249
256
  }
257
+ else if (index_1.asperaSdk.useConnect) {
258
+ return index_1.asperaSdk.globals.connect.removeTransfer(id);
259
+ }
250
260
  if (!index_1.asperaSdk.isReady) {
251
261
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
252
262
  }
@@ -271,6 +281,9 @@ exports.removeTransfer = removeTransfer;
271
281
  * @returns a promise that resolves if transfer is stopped and rejects if transfer cannot be stopped
272
282
  */
273
283
  var stopTransfer = function (id) {
284
+ if (index_1.asperaSdk.useConnect) {
285
+ return index_1.asperaSdk.globals.connect.stopTransfer(id);
286
+ }
274
287
  if (!index_1.asperaSdk.isReady) {
275
288
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
276
289
  }
@@ -296,6 +309,11 @@ exports.stopTransfer = stopTransfer;
296
309
  * @returns a promise that resolves with the new transfer object if transfer is resumed
297
310
  */
298
311
  var resumeTransfer = function (id, options) {
312
+ if (index_1.asperaSdk.useConnect) {
313
+ return index_1.asperaSdk.globals.connect.resumeTransfer(id, options).then(function (response) {
314
+ return response.transfer_spec;
315
+ });
316
+ }
299
317
  if (!index_1.asperaSdk.isReady) {
300
318
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
301
319
  }
@@ -324,6 +342,11 @@ var showSelectFileDialog = function (options) {
324
342
  if (index_1.asperaSdk.useHttpGateway) {
325
343
  return (0, core_1.httpGatewaySelectFileFolderDialog)(options, false);
326
344
  }
345
+ else if (index_1.asperaSdk.useConnect) {
346
+ return index_1.asperaSdk.globals.connect.showSelectFileDialogPromise(options).then(function (response) {
347
+ return response;
348
+ });
349
+ }
327
350
  else if (!index_1.asperaSdk.isReady) {
328
351
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
329
352
  }
@@ -352,6 +375,11 @@ var showSelectFolderDialog = function (options) {
352
375
  if (index_1.asperaSdk.useHttpGateway) {
353
376
  return (0, core_1.httpGatewaySelectFileFolderDialog)(options, true);
354
377
  }
378
+ else if (index_1.asperaSdk.useConnect) {
379
+ return index_1.asperaSdk.globals.connect.showSelectFolderDialogPromise(options).then(function (response) {
380
+ return response;
381
+ });
382
+ }
355
383
  else if (!index_1.asperaSdk.isReady) {
356
384
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
357
385
  }
@@ -375,6 +403,9 @@ exports.showSelectFolderDialog = showSelectFolderDialog;
375
403
  * @returns a promise that resolves when the preferences page is opened.
376
404
  */
377
405
  var showPreferences = function () {
406
+ if (index_1.asperaSdk.useConnect) {
407
+ return index_1.asperaSdk.globals.connect.showPreferences();
408
+ }
378
409
  if (!index_1.asperaSdk.isReady) {
379
410
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
380
411
  }
@@ -394,13 +425,23 @@ exports.showPreferences = showPreferences;
394
425
  * @returns a promise that resolves with an array of transfers.
395
426
  */
396
427
  var getAllTransfers = function () {
428
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
397
429
  if (index_1.asperaSdk.useHttpGateway) {
398
430
  return Promise.resolve((0, core_1.httpGetAllTransfers)());
399
431
  }
432
+ else if (index_1.asperaSdk.useConnect) {
433
+ index_1.asperaSdk.globals.connect.getAllTransfers({
434
+ success: function (data) {
435
+ promiseInfo.resolver(data.transfers);
436
+ }, error: function (error) {
437
+ promiseInfo.rejecter(error);
438
+ },
439
+ });
440
+ return promiseInfo.promise;
441
+ }
400
442
  if (!index_1.asperaSdk.isReady) {
401
443
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
402
444
  }
403
- var promiseInfo = (0, helpers_1.generatePromiseObjects)();
404
445
  var payload = {
405
446
  app_id: index_1.asperaSdk.globals.appId,
406
447
  };
@@ -430,6 +471,11 @@ var getTransfer = function (id) {
430
471
  return Promise.reject((0, helpers_1.generateErrorBody)(messages_1.messages.getTransferFailed, { reason: 'Not found' }));
431
472
  }
432
473
  }
474
+ else if (index_1.asperaSdk.useConnect) {
475
+ return index_1.asperaSdk.globals.connect.getTransfer(id).then(function (response) {
476
+ return response.transfer_info;
477
+ });
478
+ }
433
479
  if (!index_1.asperaSdk.isReady) {
434
480
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
435
481
  }
@@ -455,6 +501,9 @@ exports.getTransfer = getTransfer;
455
501
  * @returns a promise that resolves if the file can be shown and rejects if not
456
502
  */
457
503
  var showDirectory = function (id) {
504
+ if (index_1.asperaSdk.useConnect) {
505
+ return index_1.asperaSdk.globals.connect.showDirectory(id);
506
+ }
458
507
  if (!index_1.asperaSdk.isReady) {
459
508
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
460
509
  }
@@ -480,6 +529,11 @@ exports.showDirectory = showDirectory;
480
529
  * @returns a promise that resolves if the transfer rate can be modified and rejects if not
481
530
  */
482
531
  var modifyTransfer = function (id, options) {
532
+ if (index_1.asperaSdk.useConnect) {
533
+ return index_1.asperaSdk.globals.connect.modifyTransfer(id, options).then(function (response) {
534
+ return response;
535
+ });
536
+ }
483
537
  if (!index_1.asperaSdk.isReady) {
484
538
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
485
539
  }
@@ -534,8 +588,18 @@ exports.setBranding = setBranding;
534
588
  *
535
589
  * @param callback the function to call once the files are dropped
536
590
  * @param elementSelector the selector of the element on the page that should watch for drop events
591
+ * @param connectOptions options for connect
537
592
  */
538
- var createDropzone = function (callback, elementSelector) {
593
+ var createDropzone = function (callback, elementSelector, connectOptions) {
594
+ if (index_1.asperaSdk.useConnect) {
595
+ index_1.asperaSdk.globals.connect.setDragDropTargets(elementSelector, connectOptions, function (result) {
596
+ callback({
597
+ event: result.event,
598
+ files: result.files,
599
+ });
600
+ });
601
+ return;
602
+ }
539
603
  var elements = document.querySelectorAll(elementSelector);
540
604
  if (!elements || !elements.length) {
541
605
  (0, helpers_1.errorLog)(messages_1.messages.unableToFindElementOnPage);
@@ -605,6 +669,9 @@ exports.removeDropzone = removeDropzone;
605
669
  * @returns a promise that returns information about the user's IBM Aspera installation.
606
670
  */
607
671
  var getInfo = function () {
672
+ if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
673
+ return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
674
+ }
608
675
  if (!index_1.asperaSdk.isReady) {
609
676
  return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
610
677
  }
@@ -0,0 +1,11 @@
1
+ import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
2
+ /**
3
+ * Connect Core Logic
4
+ *
5
+ * @remarks
6
+ * Most logic is called directly by Desktop SDK functions
7
+ * You may not need to import anything from this file.
8
+ */
9
+ export declare const handleTransfers: (transfers: ConnectTypes.TransferInfo[]) => void;
10
+ export declare const connectInstallationFlow: () => void;
11
+ export declare const initConnect: (useIncludedInstaller?: boolean) => Promise<unknown>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initConnect = exports.connectInstallationFlow = exports.handleTransfers = void 0;
4
+ var index_1 = require("../index");
5
+ var connect_sdk_js_1 = require("@ibm-aspera/connect-sdk-js");
6
+ var transferMonitorActivated = false;
7
+ var installerFlowActivated = false;
8
+ /**
9
+ * Connect Core Logic
10
+ *
11
+ * @remarks
12
+ * Most logic is called directly by Desktop SDK functions
13
+ * You may not need to import anything from this file.
14
+ */
15
+ var handleTransfers = function (transfers) {
16
+ index_1.asperaSdk.activityTracking.handleTransferActivity({
17
+ type: 'transferUpdated',
18
+ data: { transfers: transfers },
19
+ });
20
+ };
21
+ exports.handleTransfers = handleTransfers;
22
+ var connectInstallationFlow = function () {
23
+ if (installerFlowActivated) {
24
+ return;
25
+ }
26
+ installerFlowActivated = true;
27
+ var handleInstallerEvent = function (eventType, eventStatus) {
28
+ // Verify that the event matches
29
+ if (index_1.asperaSdk.globals.connectAW4.Connect.EVENT.STATUS !== eventType) {
30
+ return;
31
+ }
32
+ // Depending on status show the proper installer screen
33
+ switch (eventStatus) {
34
+ case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.INITIALIZING:
35
+ index_1.asperaSdk.globals.connectInstaller.showLaunching();
36
+ break;
37
+ case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.EXTENSION_INSTALL:
38
+ index_1.asperaSdk.globals.connectInstaller.showExtensionInstall();
39
+ break;
40
+ case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.FAILED:
41
+ index_1.asperaSdk.globals.connectInstaller.showDownload();
42
+ break;
43
+ case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.OUTDATED:
44
+ index_1.asperaSdk.globals.connectInstaller.showUpdate();
45
+ break;
46
+ case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.RUNNING:
47
+ index_1.asperaSdk.globals.connectInstaller.connected();
48
+ break;
49
+ }
50
+ };
51
+ index_1.asperaSdk.globals.connect.addEventListener(index_1.asperaSdk.globals.connectAW4.Connect.EVENT.STATUS, handleInstallerEvent);
52
+ };
53
+ exports.connectInstallationFlow = connectInstallationFlow;
54
+ var initConnect = function (useIncludedInstaller) {
55
+ index_1.asperaSdk.globals.connect.addEventListener(connect_sdk_js_1.Connect.EVENT.STATUS, function (eventType, eventStatus) {
56
+ if (eventType === connect_sdk_js_1.Connect.EVENT.STATUS) {
57
+ index_1.asperaSdk.globals.connectStatus = eventStatus;
58
+ index_1.asperaSdk.activityTracking.sendManualEventCallback(eventStatus);
59
+ if (eventStatus === 'RUNNING' && !transferMonitorActivated) {
60
+ transferMonitorActivated = true;
61
+ index_1.asperaSdk.globals.connect.addEventListener(connect_sdk_js_1.Connect.EVENT.TRANSFER, function (_event, data) {
62
+ (0, exports.handleTransfers)(data.transfers);
63
+ });
64
+ }
65
+ }
66
+ });
67
+ index_1.asperaSdk.globals.connect.initSession(index_1.asperaSdk.globals.appId);
68
+ if (useIncludedInstaller) {
69
+ (0, exports.connectInstallationFlow)();
70
+ }
71
+ return Promise.resolve({ connectMode: true });
72
+ };
73
+ exports.initConnect = initConnect;
@@ -55,7 +55,7 @@ var WebsocketService = /** @class */ (function () {
55
55
  return;
56
56
  }
57
57
  var socket = _this.sockets.get(data.method);
58
- if (socket && data.params) {
58
+ if (typeof socket === 'function' && data.params) {
59
59
  socket(data.params);
60
60
  }
61
61
  };
@@ -1,8 +1,8 @@
1
1
  import { AsperaSdk } from './models/aspera-sdk.model';
2
- import { createDropzone, deregisterActivityCallback, deregisterRemovedCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerRemovedCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
2
+ import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
3
3
  import { getInstallerInfo } from './app/installer';
4
4
  import { getInstallerUrls, isSafari } from './helpers/helpers';
5
5
  export declare const asperaSdk: AsperaSdk;
6
6
  declare const launch: () => void;
7
- export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, registerRemovedCallback, deregisterRemovedCallback, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, getInstallerUrls, };
7
+ export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, getInstallerUrls, };
8
8
  export default asperaSdk;
@@ -33,12 +33,11 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.deregisterRemovedCallback = exports.registerRemovedCallback = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
36
+ exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
37
37
  var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
38
38
  var core_1 = require("./app/core");
39
39
  Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
40
40
  Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true, get: function () { return core_1.deregisterActivityCallback; } });
41
- Object.defineProperty(exports, "deregisterRemovedCallback", { enumerable: true, get: function () { return core_1.deregisterRemovedCallback; } });
42
41
  Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
43
42
  Object.defineProperty(exports, "getAllTransfers", { enumerable: true, get: function () { return core_1.getAllTransfers; } });
44
43
  Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
@@ -47,7 +46,6 @@ Object.defineProperty(exports, "init", { enumerable: true, get: function () { re
47
46
  Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
48
47
  Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
49
48
  Object.defineProperty(exports, "registerActivityCallback", { enumerable: true, get: function () { return core_1.registerActivityCallback; } });
50
- Object.defineProperty(exports, "registerRemovedCallback", { enumerable: true, get: function () { return core_1.registerRemovedCallback; } });
51
49
  Object.defineProperty(exports, "registerStatusCallback", { enumerable: true, get: function () { return core_1.registerStatusCallback; } });
52
50
  Object.defineProperty(exports, "removeDropzone", { enumerable: true, get: function () { return core_1.removeDropzone; } });
53
51
  Object.defineProperty(exports, "removeTransfer", { enumerable: true, get: function () { return core_1.removeTransfer; } });
@@ -78,8 +76,6 @@ exports.asperaSdk.stopTransfer = core_1.stopTransfer;
78
76
  exports.asperaSdk.resumeTransfer = core_1.resumeTransfer;
79
77
  exports.asperaSdk.getAllTransfers = core_1.getAllTransfers;
80
78
  exports.asperaSdk.getTransfer = core_1.getTransfer;
81
- exports.asperaSdk.registerRemovedCallback = core_1.registerRemovedCallback;
82
- exports.asperaSdk.deregisterRemovedCallback = core_1.deregisterRemovedCallback;
83
79
  exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
84
80
  exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
85
81
  exports.asperaSdk.showPreferences = core_1.showPreferences;
@@ -1,5 +1,7 @@
1
1
  import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo } from './models';
2
2
  import { HttpGatewayInfo } from '../http-gateway/models';
3
+ import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
4
+ import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
3
5
  declare class AsperaSdkGlobals {
4
6
  /** The URL of the IBM Aspera HTTP server to use with the SDK */
5
7
  asperaAppUrl: string;
@@ -30,6 +32,17 @@ declare class AsperaSdkGlobals {
30
32
  httpGatewayInfo?: HttpGatewayInfo;
31
33
  /** Http Gateway IFRAME container */
32
34
  httpGatewayIframeContainer?: HTMLDivElement;
35
+ /** Connect raw AW4 objects */
36
+ connectAW4?: {
37
+ Connect: typeof Connect;
38
+ ConnectInstaller: typeof ConnectInstaller;
39
+ };
40
+ /** Connect instance */
41
+ connect?: ConnectTypes.ConnectClientType;
42
+ /** Connect installer instance */
43
+ connectInstaller?: ConnectTypes.ConnectInstallerClientType;
44
+ /** Connect status */
45
+ connectStatus: ConnectTypes.ConnectStatusStrings;
33
46
  backupLaunchMethod(url: string): void;
34
47
  /**
35
48
  * Launch the IBM Aspera App via protocol url. By default, a hidden IFRAME attempts to
@@ -51,6 +64,10 @@ export type AsperaSdkInfo = AsperaSdkClientInfo & {
51
64
  url?: string;
52
65
  info?: HttpGatewayInfo;
53
66
  };
67
+ connect: {
68
+ active: boolean;
69
+ status: ConnectTypes.ConnectStatusStrings;
70
+ };
54
71
  };
55
72
  export interface TransferResponse {
56
73
  transfers: AsperaSdkTransfer[];
@@ -63,8 +80,6 @@ export interface ActivityMessage {
63
80
  export declare class ActivityTracking {
64
81
  /** Map of callbacks that receive transfer update events */
65
82
  private activity_callbacks;
66
- /** Map of callbacks that received removed transfer events */
67
- private removed_callbacks;
68
83
  /** Map of callbacks that receive connection events */
69
84
  private event_callbacks;
70
85
  /** Keep track of the last WebSocket event **/
@@ -90,6 +105,8 @@ export declare class ActivityTracking {
90
105
  * @param webSocketEvent the event type.
91
106
  */
92
107
  private notifyWebSocketEvent;
108
+ /** Trigger manual event for other event types. */
109
+ sendManualEventCallback(status: string): void;
93
110
  /**
94
111
  * Notify all consumers when the client changes status. For example, when
95
112
  * IBM Aspera App is launched or closed.
@@ -124,20 +141,6 @@ export declare class ActivityTracking {
124
141
  * @param id the string of the callback to remove
125
142
  */
126
143
  removeCallback(id: string): void;
127
- /**
128
- * Register a callback for getting transfers back to the consumer
129
- *
130
- * @param callback the function to call with the array of transfers
131
- *
132
- * @returns the ID of the callback index
133
- */
134
- setRemovedCallback(callback: (transfer: AsperaSdkTransfer) => void): string;
135
- /**
136
- * Remove the callback (deregister) from the list of callbacks
137
- *
138
- * @param id the string of the callback to remove
139
- */
140
- removeRemovedCallback(id: string): void;
141
144
  /**
142
145
  * Register a callback for getting websocket events back to the consumer
143
146
  *
@@ -173,10 +176,6 @@ export declare class AsperaSdk {
173
176
  registerActivityCallback: (callback: (transfers: TransferResponse) => void) => string;
174
177
  /** Deregister callback to remove it from the callbacks getting transfer data */
175
178
  deregisterActivityCallback: (id: string) => void;
176
- /** Register callback for removed transfers from the app */
177
- registerRemovedCallback: (callback: (transfer: AsperaSdkTransfer) => void) => string;
178
- /** Deregister callback to remove it from the callbacks getting removed transfer data */
179
- deregisterRemovedCallback: (id: string) => void;
180
179
  /** Register callback for connection status events from the app */
181
180
  registerStatusCallback: (callback: (status: WebsocketEvent) => void) => string;
182
181
  /** Deregister callback to remove it from the callbacks getting connection events */
@@ -234,6 +233,8 @@ export declare class AsperaSdk {
234
233
  * @returns a boolean indicating if SDK can be used for requests
235
234
  */
236
235
  get isReady(): boolean;
236
+ /** Indicate that Connect is available. */
237
+ get useConnect(): boolean;
237
238
  /** Indicate that HTTP Gateway is available. */
238
239
  get httpGatewayIsReady(): boolean;
239
240
  /** Indicates if internal calls should use Gateway */