@ibm-aspera/sdk 0.9.0 → 0.16.0

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,5 @@
1
1
  import { AsperaSdkInfo, TransferResponse } from '../models/aspera-sdk.model';
2
- import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from '../models/models';
2
+ import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, SaveFileDialogOptions, InitOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse, ReadDirectoryOptions, ReadDirectoryResponse, ShowPreferencesPageOptions, TestSshPortsOptions } from '../models/models';
3
3
  /**
4
4
  * Check if IBM Aspera for Desktop connection works. This function is called by init
5
5
  * when initializing the SDK. This function can be used at any point for checking.
@@ -34,6 +34,26 @@ export declare const initDragDrop: (initCall?: boolean) => Promise<boolean>;
34
34
  * rejects if unable to connect
35
35
  */
36
36
  export declare const init: (options?: InitOptions) => Promise<any>;
37
+ /**
38
+ * Tests SSH port connectivity to a transfer server.
39
+ *
40
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
41
+ *
42
+ * @param options options including the remote host, SSH port, and timeout.
43
+ *
44
+ * @returns a promise that resolves if the SSH port test is successful and rejects otherwise.
45
+ */
46
+ export declare const testSshPorts: (options: TestSshPortsOptions) => Promise<any>;
47
+ /**
48
+ * Authenticates a transfer specification against the remote server.
49
+ *
50
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
51
+ *
52
+ * @param transferSpec the transfer specification to authenticate.
53
+ *
54
+ * @returns a promise that resolves if authentication is successful and rejects otherwise.
55
+ */
56
+ export declare const authenticate: (transferSpec: TransferSpec) => Promise<any>;
37
57
  /**
38
58
  * Start a transfer
39
59
  *
@@ -116,6 +136,16 @@ export declare const showSelectFileDialog: (options?: FileDialogOptions) => Prom
116
136
  * @returns a promise that resolves with the selected folder(s) and rejects if user cancels dialog
117
137
  */
118
138
  export declare const showSelectFolderDialog: (options?: FolderDialogOptions) => Promise<DataTransferResponse>;
139
+ /**
140
+ * Displays a save file dialog for the user to choose a save location and filename.
141
+ *
142
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
143
+ *
144
+ * @param options save file dialog options
145
+ *
146
+ * @returns a promise that resolves with the selected save path and rejects if user cancels dialog
147
+ */
148
+ export declare const showSaveFileDialog: (options?: SaveFileDialogOptions) => Promise<DataTransferResponse>;
119
149
  /**
120
150
  * Shows the about page of the transfer client.
121
151
  *
@@ -130,6 +160,34 @@ export declare const showAbout: () => Promise<any>;
130
160
  * @returns a promise that resolves when the preferences page is opened.
131
161
  */
132
162
  export declare const showPreferences: () => Promise<any>;
163
+ /**
164
+ * Opens the transfer manager UI of the native transfer client.
165
+ *
166
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
167
+ *
168
+ * @returns a promise that resolves when the transfer manager is opened.
169
+ */
170
+ export declare const showTransferManager: () => Promise<any>;
171
+ /**
172
+ * Opens the preferences page of the transfer client to a specific tab.
173
+ *
174
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
175
+ *
176
+ * @param options options including the page (tab) to open
177
+ *
178
+ * @returns a promise that resolves when the preferences page is opened.
179
+ */
180
+ export declare const showPreferencesPage: (options: ShowPreferencesPageOptions) => Promise<any>;
181
+ /**
182
+ * Opens the transfer rate monitor graph for a specific transfer.
183
+ *
184
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
185
+ *
186
+ * @param transferId the unique identifier of the transfer to monitor.
187
+ *
188
+ * @returns a promise that resolves when the transfer monitor is opened.
189
+ */
190
+ export declare const showTransferMonitor: (transferId: string) => Promise<any>;
133
191
  /**
134
192
  * Get all transfers associated with the current application.
135
193
  *
@@ -232,6 +290,16 @@ export declare const readChunkAsArrayBuffer: (path: string, offset: number, chun
232
290
  * @returns a promise that resolves with the checksum information
233
291
  */
234
292
  export declare const getChecksum: (options: GetChecksumOptions) => Promise<ChecksumFileResponse>;
293
+ /**
294
+ * Read the contents of a directory, returning all entries as a flat list.
295
+ *
296
+ * This API is only supported when using IBM Aspera for desktop.
297
+ *
298
+ * @param options options including the directory path, optional recursion depth, and filters
299
+ *
300
+ * @returns a promise that resolves with the directory entries and total count
301
+ */
302
+ export declare const readDirectory: (options: ReadDirectoryOptions) => Promise<ReadDirectoryResponse>;
235
303
  /**
236
304
  * Returns an object describing the high-level capabilities supported by the user's
237
305
  * transfer client (e.g. IBM Aspera for desktop, Connect, or HTTP Gateway).
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.hasCapability = exports.getCapabilities = exports.getChecksum = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showAbout = 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;
14
+ exports.hasCapability = exports.getCapabilities = exports.readDirectory = exports.getChecksum = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.showTransferMonitor = exports.showPreferencesPage = exports.showTransferManager = exports.showPreferences = exports.showAbout = exports.showSaveFileDialog = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.authenticate = exports.testSshPorts = exports.init = exports.initDragDrop = exports.testConnection = void 0;
15
15
  var messages_1 = require("../constants/messages");
16
16
  var client_1 = require("../helpers/client/client");
17
17
  var helpers_1 = require("../helpers/helpers");
@@ -185,6 +185,70 @@ var init = function (options) {
185
185
  return ((_c = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _c === void 0 ? void 0 : _c.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
186
186
  };
187
187
  exports.init = init;
188
+ /**
189
+ * Tests SSH port connectivity to a transfer server.
190
+ *
191
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
192
+ *
193
+ * @param options options including the remote host, SSH port, and timeout.
194
+ *
195
+ * @returns a promise that resolves if the SSH port test is successful and rejects otherwise.
196
+ */
197
+ var testSshPorts = function (options) {
198
+ var _a, _b;
199
+ if (index_1.asperaSdk.useHttpGateway) {
200
+ return (0, helpers_1.throwError)(messages_1.messages.testSshPortsNotSupported);
201
+ }
202
+ if (index_1.asperaSdk.useConnect) {
203
+ return index_1.asperaSdk.globals.connect.testSshPorts(options);
204
+ }
205
+ if (!index_1.asperaSdk.isReady) {
206
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
207
+ }
208
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
209
+ var payload = {
210
+ remote_host: options.remote_host,
211
+ ssh_port: (_a = options.ssh_port) !== null && _a !== void 0 ? _a : 33001,
212
+ timeout_sec: (_b = options.timeout_sec) !== null && _b !== void 0 ? _b : 3,
213
+ };
214
+ client_1.client.request('test_ssh_ports', payload)
215
+ .then(function (data) { return promiseInfo.resolver(data); })
216
+ .catch(function (error) {
217
+ (0, helpers_1.errorLog)(messages_1.messages.testSshPortsFailed, error);
218
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.testSshPortsFailed, error));
219
+ });
220
+ return promiseInfo.promise;
221
+ };
222
+ exports.testSshPorts = testSshPorts;
223
+ /**
224
+ * Authenticates a transfer specification against the remote server.
225
+ *
226
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
227
+ *
228
+ * @param transferSpec the transfer specification to authenticate.
229
+ *
230
+ * @returns a promise that resolves if authentication is successful and rejects otherwise.
231
+ */
232
+ var authenticate = function (transferSpec) {
233
+ if (index_1.asperaSdk.useHttpGateway) {
234
+ return (0, helpers_1.throwError)(messages_1.messages.authenticateNotSupported);
235
+ }
236
+ if (index_1.asperaSdk.useConnect) {
237
+ return index_1.asperaSdk.globals.connect.authenticate(transferSpec);
238
+ }
239
+ if (!index_1.asperaSdk.isReady) {
240
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
241
+ }
242
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
243
+ client_1.client.request('authenticate', { transfer_spec: transferSpec })
244
+ .then(function (data) { return promiseInfo.resolver(data); })
245
+ .catch(function (error) {
246
+ (0, helpers_1.errorLog)(messages_1.messages.authenticateFailed, error);
247
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.authenticateFailed, error));
248
+ });
249
+ return promiseInfo.promise;
250
+ };
251
+ exports.authenticate = authenticate;
188
252
  /**
189
253
  * Start a transfer
190
254
  *
@@ -435,6 +499,44 @@ var showSelectFolderDialog = function (options) {
435
499
  return promiseInfo.promise;
436
500
  };
437
501
  exports.showSelectFolderDialog = showSelectFolderDialog;
502
+ /**
503
+ * Displays a save file dialog for the user to choose a save location and filename.
504
+ *
505
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
506
+ *
507
+ * @param options save file dialog options
508
+ *
509
+ * @returns a promise that resolves with the selected save path and rejects if user cancels dialog
510
+ */
511
+ var showSaveFileDialog = function (options) {
512
+ if (index_1.asperaSdk.useHttpGateway) {
513
+ return (0, helpers_1.throwError)(messages_1.messages.showSaveFileDialogNotSupported);
514
+ }
515
+ if (index_1.asperaSdk.useConnect) {
516
+ var connectPromiseInfo_1 = (0, helpers_1.generatePromiseObjects)();
517
+ index_1.asperaSdk.globals.connect.showSaveFileDialog({
518
+ success: function (data) { return connectPromiseInfo_1.resolver(data); },
519
+ error: function (error) { return connectPromiseInfo_1.rejecter(error); },
520
+ }, options);
521
+ return connectPromiseInfo_1.promise;
522
+ }
523
+ if (!index_1.asperaSdk.isReady) {
524
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
525
+ }
526
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
527
+ var payload = {
528
+ options: options || {},
529
+ app_id: index_1.asperaSdk.globals.appId,
530
+ };
531
+ client_1.client.request('show_save_file_dialog', payload)
532
+ .then(function (data) { return promiseInfo.resolver(data); })
533
+ .catch(function (error) {
534
+ (0, helpers_1.errorLog)(messages_1.messages.showSaveFileDialogFailed, error);
535
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.showSaveFileDialogFailed, error));
536
+ });
537
+ return promiseInfo.promise;
538
+ };
539
+ exports.showSaveFileDialog = showSaveFileDialog;
438
540
  /**
439
541
  * Shows the about page of the transfer client.
440
542
  *
@@ -484,6 +586,105 @@ var showPreferences = function () {
484
586
  return promiseInfo.promise;
485
587
  };
486
588
  exports.showPreferences = showPreferences;
589
+ /**
590
+ * Opens the transfer manager UI of the native transfer client.
591
+ *
592
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
593
+ *
594
+ * @returns a promise that resolves when the transfer manager is opened.
595
+ */
596
+ var showTransferManager = function () {
597
+ if (index_1.asperaSdk.useHttpGateway) {
598
+ return (0, helpers_1.throwError)(messages_1.messages.showTransferManagerNotSupported);
599
+ }
600
+ if (index_1.asperaSdk.useConnect) {
601
+ return index_1.asperaSdk.globals.connect.showTransferManager();
602
+ }
603
+ if (!index_1.asperaSdk.isReady) {
604
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
605
+ }
606
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
607
+ client_1.client.request('show_transfer_manager')
608
+ .then(function (data) { return promiseInfo.resolver(data); })
609
+ .catch(function (error) {
610
+ (0, helpers_1.errorLog)(messages_1.messages.showTransferManagerFailed, error);
611
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.showTransferManagerFailed, error));
612
+ });
613
+ return promiseInfo.promise;
614
+ };
615
+ exports.showTransferManager = showTransferManager;
616
+ /**
617
+ * Maps consumer-facing preference page names to the page names supported by
618
+ * the IBM Aspera for desktop RPC server.
619
+ */
620
+ var mapPreferencesPageForDesktop = function (page) {
621
+ switch (page) {
622
+ case 'network': return 'proxies';
623
+ case 'bandwidth': return 'transfers';
624
+ default: return page;
625
+ }
626
+ };
627
+ /**
628
+ * Opens the preferences page of the transfer client to a specific tab.
629
+ *
630
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
631
+ *
632
+ * @param options options including the page (tab) to open
633
+ *
634
+ * @returns a promise that resolves when the preferences page is opened.
635
+ */
636
+ var showPreferencesPage = function (options) {
637
+ if (index_1.asperaSdk.useHttpGateway) {
638
+ return (0, helpers_1.throwError)(messages_1.messages.openPreferencesPageNotSupported);
639
+ }
640
+ if (index_1.asperaSdk.useConnect) {
641
+ return index_1.asperaSdk.globals.connect.showPreferencesPage(options);
642
+ }
643
+ if (!index_1.asperaSdk.isReady) {
644
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
645
+ }
646
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
647
+ var payload = {
648
+ tab: mapPreferencesPageForDesktop(options.page),
649
+ };
650
+ client_1.client.request('open_preferences', payload)
651
+ .then(function (data) { return promiseInfo.resolver(data); })
652
+ .catch(function (error) {
653
+ (0, helpers_1.errorLog)(messages_1.messages.openPreferencesPageFailed, error);
654
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.openPreferencesPageFailed, error));
655
+ });
656
+ return promiseInfo.promise;
657
+ };
658
+ exports.showPreferencesPage = showPreferencesPage;
659
+ /**
660
+ * Opens the transfer rate monitor graph for a specific transfer.
661
+ *
662
+ * Supported for Connect and IBM Aspera for desktop. Not supported for HTTP Gateway.
663
+ *
664
+ * @param transferId the unique identifier of the transfer to monitor.
665
+ *
666
+ * @returns a promise that resolves when the transfer monitor is opened.
667
+ */
668
+ var showTransferMonitor = function (transferId) {
669
+ if (index_1.asperaSdk.useHttpGateway) {
670
+ return (0, helpers_1.throwError)(messages_1.messages.showTransferMonitorNotSupported);
671
+ }
672
+ if (index_1.asperaSdk.useConnect) {
673
+ return index_1.asperaSdk.globals.connect.showTransferMonitor(transferId);
674
+ }
675
+ if (!index_1.asperaSdk.isReady) {
676
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
677
+ }
678
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
679
+ client_1.client.request('show_transfer_monitor', { transfer_id: transferId })
680
+ .then(function (data) { return promiseInfo.resolver(data); })
681
+ .catch(function (error) {
682
+ (0, helpers_1.errorLog)(messages_1.messages.showTransferMonitorFailed, error);
683
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.showTransferMonitorFailed, error));
684
+ });
685
+ return promiseInfo.promise;
686
+ };
687
+ exports.showTransferMonitor = showTransferMonitor;
487
688
  /**
488
689
  * Get all transfers associated with the current application.
489
690
  *
@@ -949,11 +1150,52 @@ var getChecksum = function (options) {
949
1150
  return promiseInfo.promise;
950
1151
  };
951
1152
  exports.getChecksum = getChecksum;
1153
+ /**
1154
+ * Read the contents of a directory, returning all entries as a flat list.
1155
+ *
1156
+ * This API is only supported when using IBM Aspera for desktop.
1157
+ *
1158
+ * @param options options including the directory path, optional recursion depth, and filters
1159
+ *
1160
+ * @returns a promise that resolves with the directory entries and total count
1161
+ */
1162
+ var readDirectory = function (options) {
1163
+ if (index_1.asperaSdk.useHttpGateway) {
1164
+ return (0, helpers_1.throwError)(messages_1.messages.readDirectoryNotSupported);
1165
+ }
1166
+ if (index_1.asperaSdk.useConnect) {
1167
+ return (0, helpers_1.throwError)(messages_1.messages.readDirectoryNotSupported);
1168
+ }
1169
+ if (!index_1.asperaSdk.isReady) {
1170
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
1171
+ }
1172
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
1173
+ var payload = {
1174
+ request: {
1175
+ path: options.path,
1176
+ depth: options.depth,
1177
+ filters: options.filters,
1178
+ },
1179
+ app_id: index_1.asperaSdk.globals.appId,
1180
+ };
1181
+ client_1.client.request('read_directory', payload)
1182
+ .then(function (data) { return promiseInfo.resolver(data); })
1183
+ .catch(function (error) {
1184
+ (0, helpers_1.errorLog)(messages_1.messages.readDirectoryFailed, error);
1185
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.readDirectoryFailed, error));
1186
+ });
1187
+ return promiseInfo.promise;
1188
+ };
1189
+ exports.readDirectory = readDirectory;
952
1190
  var supportsMethod = function (method) {
953
1191
  // We currently do not support calculating file checksums when using HTTP Gateway. In theory it should be possible
954
1192
  // to calculate this directly in the browser similar to how `readAsArrayBuffer()` is implemented.
955
1193
  // HTTP Gateway also does not support showing native transfer client UI (about, preferences, etc.).
956
- if (index_1.asperaSdk.useHttpGateway && (method === 'get_checksum' || method === 'show_about' || method === 'open_preferences')) {
1194
+ if (index_1.asperaSdk.useHttpGateway && (method === 'get_checksum' || method === 'show_about' || method === 'open_preferences' || method === 'show_transfer_manager' || method === 'show_transfer_monitor' || method === 'authenticate' || method === 'test_ssh_ports' || method === 'show_save_file_dialog' || method === 'read_directory')) {
1195
+ return false;
1196
+ }
1197
+ // Reading directory contents is only supported by the Desktop App (not Connect).
1198
+ if (index_1.asperaSdk.useConnect && method === 'read_directory') {
957
1199
  return false;
958
1200
  }
959
1201
  // HTTP Gateway and Connect do not have any RPC methods so fallback to true
@@ -988,6 +1230,12 @@ var getCapabilities = function () {
988
1230
  fileChecksum: supportsMethod('get_checksum'),
989
1231
  showAbout: supportsMethod('show_about'),
990
1232
  showPreferences: supportsMethod('open_preferences'),
1233
+ showTransferManager: supportsMethod('show_transfer_manager'),
1234
+ showTransferMonitor: supportsMethod('show_transfer_monitor'),
1235
+ authenticate: supportsMethod('authenticate'),
1236
+ testSshPorts: supportsMethod('test_ssh_ports'),
1237
+ showSaveFileDialog: supportsMethod('show_save_file_dialog'),
1238
+ readDirectory: supportsMethod('read_directory'),
991
1239
  };
992
1240
  };
993
1241
  exports.getCapabilities = getCapabilities;
@@ -41,4 +41,18 @@ export declare const messages: {
41
41
  getChecksumNotSupported: string;
42
42
  showAboutFailed: string;
43
43
  showAboutNotSupported: string;
44
+ readDirectoryFailed: string;
45
+ readDirectoryNotSupported: string;
46
+ showTransferManagerFailed: string;
47
+ showTransferManagerNotSupported: string;
48
+ openPreferencesPageFailed: string;
49
+ openPreferencesPageNotSupported: string;
50
+ showTransferMonitorFailed: string;
51
+ showTransferMonitorNotSupported: string;
52
+ authenticateFailed: string;
53
+ authenticateNotSupported: string;
54
+ testSshPortsFailed: string;
55
+ testSshPortsNotSupported: string;
56
+ showSaveFileDialogFailed: string;
57
+ showSaveFileDialogNotSupported: string;
44
58
  };
@@ -44,4 +44,18 @@ exports.messages = {
44
44
  getChecksumNotSupported: 'File checksum not supported for current transfer client',
45
45
  showAboutFailed: 'Unable to show about page',
46
46
  showAboutNotSupported: 'Show about is not supported for current transfer client',
47
+ readDirectoryFailed: 'Unable to read directory contents',
48
+ readDirectoryNotSupported: 'Read directory is not supported for current transfer client',
49
+ showTransferManagerFailed: 'Unable to show transfer manager',
50
+ showTransferManagerNotSupported: 'Show transfer manager is not supported for current transfer client',
51
+ openPreferencesPageFailed: 'Unable to open preferences page',
52
+ openPreferencesPageNotSupported: 'Open preferences page is not supported for current transfer client',
53
+ showTransferMonitorFailed: 'Unable to show transfer monitor',
54
+ showTransferMonitorNotSupported: 'Show transfer monitor is not supported for current transfer client',
55
+ authenticateFailed: 'Unable to authenticate',
56
+ authenticateNotSupported: 'Authenticate is not supported for current transfer client',
57
+ testSshPortsFailed: 'Unable to test SSH ports',
58
+ testSshPortsNotSupported: 'Test SSH ports is not supported for current transfer client',
59
+ showSaveFileDialogFailed: 'Unable to show save file dialog',
60
+ showSaveFileDialogNotSupported: 'Show save file dialog is not supported for current transfer client',
47
61
  };
@@ -1,11 +1,11 @@
1
1
  import { AsperaSdk } from './models/aspera-sdk.model';
2
- import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getTransfer, hasCapability, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
2
+ import { authenticate, createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getTransfer, hasCapability, init, initDragDrop, modifyTransfer, showPreferencesPage, readAsArrayBuffer, readChunkAsArrayBuffer, readDirectory, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSaveFileDialog, showSelectFileDialog, showSelectFolderDialog, showTransferManager, showTransferMonitor, startTransfer, stopTransfer, testConnection, testSshPorts } 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, showAbout, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, hasCapability, getChecksum, };
8
- export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
7
+ export { isSafari, init, authenticate, testSshPorts, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showAbout, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showSaveFileDialog, showPreferences, showTransferManager, showTransferMonitor, showPreferencesPage as openPreferencesPage, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, hasCapability, getChecksum, readDirectory, };
8
+ export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, DirectoryEntry, DirectoryListFilters, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, DropzoneEventData, DropzoneEventType, EntryType, DropzoneOptions, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, SaveFileDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, ShowPreferencesPageOptions as OpenPreferencesPageOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, PreferencesPage, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ReadDirectoryOptions, ReadDirectoryResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TestSshPortsOptions, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
9
9
  export type { ActivityMessage, ActivityMessageTypes, AsperaSdkClientInfo, AsperaSdkInfo, TransferResponse, } from './models/aspera-sdk.model';
10
10
  export { AsperaSdk, AsperaSdkGlobals } from './models/aspera-sdk.model';
11
11
  export type { HttpGatewayInfo } from './http-gateway/models';
@@ -33,9 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AsperaSdkGlobals = exports.AsperaSdk = exports.getChecksum = exports.hasCapability = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = 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.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.showAbout = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
36
+ exports.AsperaSdkGlobals = exports.AsperaSdk = exports.readDirectory = exports.getChecksum = exports.hasCapability = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.openPreferencesPage = exports.showTransferMonitor = exports.showTransferManager = exports.showPreferences = exports.showSaveFileDialog = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.showAbout = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.testSshPorts = exports.authenticate = 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
+ Object.defineProperty(exports, "authenticate", { enumerable: true, get: function () { return core_1.authenticate; } });
39
40
  Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
40
41
  Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true, get: function () { return core_1.deregisterActivityCallback; } });
41
42
  Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
@@ -49,8 +50,10 @@ Object.defineProperty(exports, "hasCapability", { enumerable: true, get: functio
49
50
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
50
51
  Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
51
52
  Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
53
+ Object.defineProperty(exports, "openPreferencesPage", { enumerable: true, get: function () { return core_1.showPreferencesPage; } });
52
54
  Object.defineProperty(exports, "readAsArrayBuffer", { enumerable: true, get: function () { return core_1.readAsArrayBuffer; } });
53
55
  Object.defineProperty(exports, "readChunkAsArrayBuffer", { enumerable: true, get: function () { return core_1.readChunkAsArrayBuffer; } });
56
+ Object.defineProperty(exports, "readDirectory", { enumerable: true, get: function () { return core_1.readDirectory; } });
54
57
  Object.defineProperty(exports, "registerActivityCallback", { enumerable: true, get: function () { return core_1.registerActivityCallback; } });
55
58
  Object.defineProperty(exports, "registerStatusCallback", { enumerable: true, get: function () { return core_1.registerStatusCallback; } });
56
59
  Object.defineProperty(exports, "removeDropzone", { enumerable: true, get: function () { return core_1.removeDropzone; } });
@@ -60,11 +63,15 @@ Object.defineProperty(exports, "setBranding", { enumerable: true, get: function
60
63
  Object.defineProperty(exports, "showAbout", { enumerable: true, get: function () { return core_1.showAbout; } });
61
64
  Object.defineProperty(exports, "showDirectory", { enumerable: true, get: function () { return core_1.showDirectory; } });
62
65
  Object.defineProperty(exports, "showPreferences", { enumerable: true, get: function () { return core_1.showPreferences; } });
66
+ Object.defineProperty(exports, "showSaveFileDialog", { enumerable: true, get: function () { return core_1.showSaveFileDialog; } });
63
67
  Object.defineProperty(exports, "showSelectFileDialog", { enumerable: true, get: function () { return core_1.showSelectFileDialog; } });
64
68
  Object.defineProperty(exports, "showSelectFolderDialog", { enumerable: true, get: function () { return core_1.showSelectFolderDialog; } });
69
+ Object.defineProperty(exports, "showTransferManager", { enumerable: true, get: function () { return core_1.showTransferManager; } });
70
+ Object.defineProperty(exports, "showTransferMonitor", { enumerable: true, get: function () { return core_1.showTransferMonitor; } });
65
71
  Object.defineProperty(exports, "startTransfer", { enumerable: true, get: function () { return core_1.startTransfer; } });
66
72
  Object.defineProperty(exports, "stopTransfer", { enumerable: true, get: function () { return core_1.stopTransfer; } });
67
73
  Object.defineProperty(exports, "testConnection", { enumerable: true, get: function () { return core_1.testConnection; } });
74
+ Object.defineProperty(exports, "testSshPorts", { enumerable: true, get: function () { return core_1.testSshPorts; } });
68
75
  var installer_1 = require("./app/installer");
69
76
  Object.defineProperty(exports, "getInstallerInfo", { enumerable: true, get: function () { return installer_1.getInstallerInfo; } });
70
77
  var helpers_1 = require("./helpers/helpers");
@@ -73,6 +80,8 @@ Object.defineProperty(exports, "isSafari", { enumerable: true, get: function ()
73
80
  var httpGatewayCalls = __importStar(require("./http-gateway"));
74
81
  exports.asperaSdk = new aspera_sdk_model_1.AsperaSdk();
75
82
  exports.asperaSdk.init = core_1.init;
83
+ exports.asperaSdk.authenticate = core_1.authenticate;
84
+ exports.asperaSdk.testSshPorts = core_1.testSshPorts;
76
85
  exports.asperaSdk.testConnection = core_1.testConnection;
77
86
  exports.asperaSdk.startTransfer = core_1.startTransfer;
78
87
  exports.asperaSdk.registerActivityCallback = core_1.registerActivityCallback;
@@ -87,7 +96,11 @@ exports.asperaSdk.getTransfer = core_1.getTransfer;
87
96
  exports.asperaSdk.getFilesList = core_1.getFilesList;
88
97
  exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
89
98
  exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
99
+ exports.asperaSdk.showSaveFileDialog = core_1.showSaveFileDialog;
90
100
  exports.asperaSdk.showPreferences = core_1.showPreferences;
101
+ exports.asperaSdk.showTransferManager = core_1.showTransferManager;
102
+ exports.asperaSdk.showTransferMonitor = core_1.showTransferMonitor;
103
+ exports.asperaSdk.showPreferencesPage = core_1.showPreferencesPage;
91
104
  exports.asperaSdk.modifyTransfer = core_1.modifyTransfer;
92
105
  exports.asperaSdk.createDropzone = core_1.createDropzone;
93
106
  exports.asperaSdk.removeDropzone = core_1.removeDropzone;
@@ -104,6 +117,7 @@ exports.asperaSdk.getInstallerUrls = helpers_1.getInstallerUrls;
104
117
  exports.asperaSdk.getCapabilities = core_1.getCapabilities;
105
118
  exports.asperaSdk.hasCapability = core_1.hasCapability;
106
119
  exports.asperaSdk.getChecksum = core_1.getChecksum;
120
+ exports.asperaSdk.readDirectory = core_1.readDirectory;
107
121
  exports.asperaSdk.httpGatewayCalls = httpGatewayCalls;
108
122
  var launch = exports.asperaSdk.globals.launch;
109
123
  exports.launch = launch;
@@ -1,4 +1,4 @@
1
- import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from './models';
1
+ import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, SaveFileDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse, ReadDirectoryOptions, ReadDirectoryResponse, ShowPreferencesPageOptions, TestSshPortsOptions } from './models';
2
2
  import { HttpGatewayInfo } from '../http-gateway/models';
3
3
  import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
4
4
  import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
@@ -201,10 +201,22 @@ export declare class AsperaSdk {
201
201
  showSelectFileDialog: (options?: FileDialogOptions) => Promise<DataTransferResponse>;
202
202
  /** Function to display a folder dialog for the user to select folders. */
203
203
  showSelectFolderDialog: (options?: FolderDialogOptions) => Promise<DataTransferResponse>;
204
+ /** Function to display a save file dialog for the user to choose a save location */
205
+ showSaveFileDialog: (options?: SaveFileDialogOptions) => Promise<DataTransferResponse>;
204
206
  /** Function to show the about page of the transfer client */
205
207
  showAbout: () => Promise<any>;
206
208
  /** Function to display the IBM Aspera preferences page */
207
209
  showPreferences: () => Promise<any>;
210
+ /** Function to show the transfer manager UI */
211
+ showTransferManager: () => Promise<any>;
212
+ /** Function to open a specific preferences page */
213
+ showPreferencesPage: (options: ShowPreferencesPageOptions) => Promise<any>;
214
+ /** Function to show the transfer rate monitor for a specific transfer */
215
+ showTransferMonitor: (transferId: string) => Promise<any>;
216
+ /** Function to authenticate a transfer specification against the remote server */
217
+ authenticate: (transferSpec: TransferSpec) => Promise<any>;
218
+ /** Function to test SSH port connectivity to a transfer server */
219
+ testSshPorts: (options: TestSshPortsOptions) => Promise<any>;
208
220
  /** Function to modify a running transfer */
209
221
  modifyTransfer: (transferId: string, options: ModifyTransferOptions) => Promise<AsperaSdkTransfer>;
210
222
  /** Function to set custom branding for IBM Aspera */
@@ -241,6 +253,8 @@ export declare class AsperaSdk {
241
253
  hasCapability: (capability: keyof SdkCapabilities) => boolean;
242
254
  /** Function to get a checksum for a file */
243
255
  getChecksum: (options: GetChecksumOptions) => Promise<ChecksumFileResponse>;
256
+ /** Function to read directory contents and return entries as a flat list */
257
+ readDirectory: (options: ReadDirectoryOptions) => Promise<ReadDirectoryResponse>;
244
258
  /** Indicate if Safari Extension is enabled. If the extension is disabled during the lifecycle this will not update to disabled. */
245
259
  SAFARI_EXTENSION_STATUS: SafariExtensionEvent;
246
260
  /** Aspera HTTP Gateway calls. This normally is not needed by clients but expose just in case. */