@ibm-aspera/sdk 0.11.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, ReadDirectoryOptions, ReadDirectoryResponse } 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
  *
@@ -138,6 +168,26 @@ export declare const showPreferences: () => Promise<any>;
138
168
  * @returns a promise that resolves when the transfer manager is opened.
139
169
  */
140
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>;
141
191
  /**
142
192
  * Get all transfers associated with the current application.
143
193
  *
@@ -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.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.showTransferManager = 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
  *
@@ -511,6 +613,78 @@ var showTransferManager = function () {
511
613
  return promiseInfo.promise;
512
614
  };
513
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;
514
688
  /**
515
689
  * Get all transfers associated with the current application.
516
690
  *
@@ -1017,7 +1191,7 @@ var supportsMethod = function (method) {
1017
1191
  // We currently do not support calculating file checksums when using HTTP Gateway. In theory it should be possible
1018
1192
  // to calculate this directly in the browser similar to how `readAsArrayBuffer()` is implemented.
1019
1193
  // HTTP Gateway also does not support showing native transfer client UI (about, preferences, etc.).
1020
- if (index_1.asperaSdk.useHttpGateway && (method === 'get_checksum' || method === 'show_about' || method === 'open_preferences' || method === 'show_transfer_manager' || method === 'read_directory')) {
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')) {
1021
1195
  return false;
1022
1196
  }
1023
1197
  // Reading directory contents is only supported by the Desktop App (not Connect).
@@ -1057,6 +1231,10 @@ var getCapabilities = function () {
1057
1231
  showAbout: supportsMethod('show_about'),
1058
1232
  showPreferences: supportsMethod('open_preferences'),
1059
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'),
1060
1238
  readDirectory: supportsMethod('read_directory'),
1061
1239
  };
1062
1240
  };
@@ -45,4 +45,14 @@ export declare const messages: {
45
45
  readDirectoryNotSupported: string;
46
46
  showTransferManagerFailed: string;
47
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;
48
58
  };
@@ -48,4 +48,14 @@ exports.messages = {
48
48
  readDirectoryNotSupported: 'Read directory is not supported for current transfer client',
49
49
  showTransferManagerFailed: 'Unable to show transfer manager',
50
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',
51
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, readDirectory, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, showTransferManager, 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, showTransferManager, 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, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ReadDirectoryOptions, ReadDirectoryResponse, 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.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.showTransferManager = 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,6 +50,7 @@ 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; } });
54
56
  Object.defineProperty(exports, "readDirectory", { enumerable: true, get: function () { return core_1.readDirectory; } });
@@ -61,12 +63,15 @@ Object.defineProperty(exports, "setBranding", { enumerable: true, get: function
61
63
  Object.defineProperty(exports, "showAbout", { enumerable: true, get: function () { return core_1.showAbout; } });
62
64
  Object.defineProperty(exports, "showDirectory", { enumerable: true, get: function () { return core_1.showDirectory; } });
63
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; } });
64
67
  Object.defineProperty(exports, "showSelectFileDialog", { enumerable: true, get: function () { return core_1.showSelectFileDialog; } });
65
68
  Object.defineProperty(exports, "showSelectFolderDialog", { enumerable: true, get: function () { return core_1.showSelectFolderDialog; } });
66
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; } });
67
71
  Object.defineProperty(exports, "startTransfer", { enumerable: true, get: function () { return core_1.startTransfer; } });
68
72
  Object.defineProperty(exports, "stopTransfer", { enumerable: true, get: function () { return core_1.stopTransfer; } });
69
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; } });
70
75
  var installer_1 = require("./app/installer");
71
76
  Object.defineProperty(exports, "getInstallerInfo", { enumerable: true, get: function () { return installer_1.getInstallerInfo; } });
72
77
  var helpers_1 = require("./helpers/helpers");
@@ -75,6 +80,8 @@ Object.defineProperty(exports, "isSafari", { enumerable: true, get: function ()
75
80
  var httpGatewayCalls = __importStar(require("./http-gateway"));
76
81
  exports.asperaSdk = new aspera_sdk_model_1.AsperaSdk();
77
82
  exports.asperaSdk.init = core_1.init;
83
+ exports.asperaSdk.authenticate = core_1.authenticate;
84
+ exports.asperaSdk.testSshPorts = core_1.testSshPorts;
78
85
  exports.asperaSdk.testConnection = core_1.testConnection;
79
86
  exports.asperaSdk.startTransfer = core_1.startTransfer;
80
87
  exports.asperaSdk.registerActivityCallback = core_1.registerActivityCallback;
@@ -89,8 +96,11 @@ exports.asperaSdk.getTransfer = core_1.getTransfer;
89
96
  exports.asperaSdk.getFilesList = core_1.getFilesList;
90
97
  exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
91
98
  exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
99
+ exports.asperaSdk.showSaveFileDialog = core_1.showSaveFileDialog;
92
100
  exports.asperaSdk.showPreferences = core_1.showPreferences;
93
101
  exports.asperaSdk.showTransferManager = core_1.showTransferManager;
102
+ exports.asperaSdk.showTransferMonitor = core_1.showTransferMonitor;
103
+ exports.asperaSdk.showPreferencesPage = core_1.showPreferencesPage;
94
104
  exports.asperaSdk.modifyTransfer = core_1.modifyTransfer;
95
105
  exports.asperaSdk.createDropzone = core_1.createDropzone;
96
106
  exports.asperaSdk.removeDropzone = core_1.removeDropzone;
@@ -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, ReadDirectoryOptions, ReadDirectoryResponse } 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,12 +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>;
208
210
  /** Function to show the transfer manager UI */
209
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>;
210
220
  /** Function to modify a running transfer */
211
221
  modifyTransfer: (transferId: string, options: ModifyTransferOptions) => Promise<AsperaSdkTransfer>;
212
222
  /** Function to set custom branding for IBM Aspera */
@@ -28,6 +28,14 @@ export interface FolderDialogOptions {
28
28
  /** Allow user to select multiple folders */
29
29
  multiple?: boolean;
30
30
  }
31
+ export interface SaveFileDialogOptions {
32
+ /** Filter the files displayed by file extension. */
33
+ allowedFileTypes?: any;
34
+ /** The filename to pre-fill the dialog with. */
35
+ suggestedName?: string;
36
+ /** The name of the dialog window. */
37
+ title?: string;
38
+ }
31
39
  /**
32
40
  * Options related to fetching the latest Aspera installer information.
33
41
  *
@@ -176,7 +184,23 @@ export interface DirectoryListFilters {
176
184
  /** Whether to include hidden files and directories in the results. */
177
185
  hidden?: boolean;
178
186
  }
187
+ /** Options for testing SSH port connectivity to a transfer server. */
188
+ export interface TestSshPortsOptions {
189
+ /** Domain name of the transfer server */
190
+ remote_host: string;
191
+ /** SSH port */
192
+ ssh_port?: number;
193
+ /** Timeout value in seconds */
194
+ timeout_sec?: number;
195
+ }
179
196
  /** Options for reading directory contents */
197
+ /** Valid page names for the preferences page. */
198
+ export type PreferencesPage = 'general' | 'transfers' | 'network' | 'bandwidth' | 'security';
199
+ /** Options for opening the preferences page to a specific tab. */
200
+ export interface ShowPreferencesPageOptions {
201
+ /** The preferences page (tab) to open. */
202
+ page: PreferencesPage;
203
+ }
180
204
  export interface ReadDirectoryOptions {
181
205
  /** Absolute path to the directory to enumerate. Must have been previously allowed via dialog selection or drag-drop. */
182
206
  path: string;
@@ -938,6 +962,34 @@ export interface SdkCapabilities {
938
962
  * but not HTTP Gateway.
939
963
  */
940
964
  showTransferManager: boolean;
965
+ /**
966
+ * Whether the transfer client supports showing the transfer rate monitor.
967
+ *
968
+ * This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
969
+ * but not HTTP Gateway.
970
+ */
971
+ showTransferMonitor: boolean;
972
+ /**
973
+ * Whether the transfer client supports authenticating a transfer specification.
974
+ *
975
+ * This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
976
+ * but not HTTP Gateway.
977
+ */
978
+ authenticate: boolean;
979
+ /**
980
+ * Whether the transfer client supports testing SSH port connectivity.
981
+ *
982
+ * This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
983
+ * but not HTTP Gateway.
984
+ */
985
+ testSshPorts: boolean;
986
+ /**
987
+ * Whether the transfer client supports showing the save file dialog.
988
+ *
989
+ * This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
990
+ * but not HTTP Gateway.
991
+ */
992
+ showSaveFileDialog: boolean;
941
993
  /**
942
994
  * Whether the SDK can read directory contents.
943
995
  *