tabby-sftp-ui 0.2.5 → 0.2.6

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,7 +1,7 @@
1
1
  import { Injector, OnInit } from '@angular/core';
2
2
  import { AppService, BaseTabComponent, FileTransfer, ProfilesService } from 'tabby-core';
3
3
  import type { RecoveryToken } from 'tabby-core';
4
- import { SftpConnectionService, SFTPFile, SSHSessionLike } from './sftp.service';
4
+ import { SftpConnectionService, SFTPFile, SSHSessionLike, SSHShellSessionLike } from './sftp.service';
5
5
  type LocalEntry = {
6
6
  name: string;
7
7
  fullPath: string;
@@ -14,6 +14,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
14
14
  private profilesService;
15
15
  private app;
16
16
  sshSession: SSHSessionLike | null;
17
+ shellSession: SSHShellSessionLike | null;
17
18
  profile: any;
18
19
  recoveredStub: boolean;
19
20
  connecting: boolean;
@@ -27,6 +28,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
27
28
  remotePath: string;
28
29
  remoteEntries: SFTPFile[];
29
30
  private sftpSession;
31
+ private connectPromise;
30
32
  localDropActive: boolean;
31
33
  remoteDropActive: boolean;
32
34
  transfers: Array<{
@@ -97,10 +99,14 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
97
99
  constructor(injector: Injector, sftp: SftpConnectionService, profilesService: ProfilesService, app: AppService);
98
100
  ngOnInit(): void;
99
101
  connect(): Promise<void>;
102
+ private waitForConnection;
103
+ private connectInternal;
104
+ private initializeRemotePath;
100
105
  disconnect(): Promise<void>;
101
106
  canLocalUp(): boolean;
102
107
  localUp(): void;
103
108
  remoteUp(): void;
109
+ canRemoteUp(): boolean;
104
110
  refreshLocal(): Promise<void>;
105
111
  refreshRemote(): Promise<void>;
106
112
  openLocal(e: LocalEntry): void;
@@ -164,7 +170,17 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
164
170
  }): void;
165
171
  private normalizeLocalPath;
166
172
  private normalizeRemotePath;
167
- private getDefaultRemotePath;
173
+ private resolveDefaultRemotePath;
174
+ private syncRemotePathFromInput;
175
+ private ensureRemoteDirectoryReady;
176
+ private getRemoteUsername;
177
+ private buildDefaultRemotePathCandidates;
178
+ private canonicalizeRemotePath;
179
+ private remotePathExists;
180
+ private toRemoteSftpPath;
181
+ private isWindowsSftpPath;
182
+ private getWindowsSftpBreadcrumbs;
183
+ private remoteParentPath;
168
184
  private loadRecentProfiles;
169
185
  getProfileLabel(p: any): string;
170
186
  launchProfileFromSFTP(p: any): void;
@@ -15,6 +15,13 @@ export type SFTPSessionLike = {
15
15
  rename: (oldPath: string, newPath: string) => Promise<void>;
16
16
  upload: (remotePath: string, transfer: import('tabby-core').FileUpload) => Promise<void>;
17
17
  download: (remotePath: string, transfer: import('tabby-core').FileDownload) => Promise<void>;
18
+ stat?: (p: string) => Promise<{
19
+ isDirectory: boolean;
20
+ }>;
21
+ };
22
+ export type SSHShellSessionLike = {
23
+ getWorkingDirectory?: () => Promise<string | null>;
24
+ supportsWorkingDirectory?: () => boolean;
18
25
  };
19
26
  export type SSHSessionLike = {
20
27
  openSFTP: () => Promise<SFTPSessionLike>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabby-sftp-ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "SFTP UI for Tabby (Termius-like file manager).",
5
5
  "keywords": [
6
6
  "tabby-plugin"