@hamak/ui-remote-fs 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/api/contracts/i-remote-fs-service.d.ts +85 -0
  2. package/dist/api/contracts/i-remote-fs-service.d.ts.map +1 -0
  3. package/dist/api/contracts/i-remote-fs-service.js +6 -0
  4. package/dist/api/contracts/index.d.ts +5 -0
  5. package/dist/api/contracts/index.d.ts.map +1 -0
  6. package/dist/api/contracts/index.js +4 -0
  7. package/dist/api/index.d.ts +8 -0
  8. package/dist/api/index.d.ts.map +1 -0
  9. package/dist/api/index.js +7 -0
  10. package/dist/api/tokens/index.d.ts +5 -0
  11. package/dist/api/tokens/index.d.ts.map +1 -0
  12. package/dist/api/tokens/index.js +4 -0
  13. package/dist/api/tokens/remote-fs.tokens.d.ts +29 -0
  14. package/dist/api/tokens/remote-fs.tokens.d.ts.map +1 -0
  15. package/dist/api/tokens/remote-fs.tokens.js +28 -0
  16. package/dist/api/types/index.d.ts +7 -0
  17. package/dist/api/types/index.d.ts.map +1 -0
  18. package/dist/api/types/index.js +6 -0
  19. package/dist/api/types/remote-fs-action.types.d.ts +34 -0
  20. package/dist/api/types/remote-fs-action.types.d.ts.map +1 -0
  21. package/dist/api/types/remote-fs-action.types.js +42 -0
  22. package/dist/api/types/remote-fs-config.types.d.ts +40 -0
  23. package/dist/api/types/remote-fs-config.types.d.ts.map +1 -0
  24. package/dist/api/types/remote-fs-config.types.js +12 -0
  25. package/dist/api/types/remote-fs-error.types.d.ts +28 -0
  26. package/dist/api/types/remote-fs-error.types.d.ts.map +1 -0
  27. package/dist/api/types/remote-fs-error.types.js +15 -0
  28. package/dist/impl/actions/index.d.ts +5 -0
  29. package/dist/impl/actions/index.d.ts.map +1 -0
  30. package/dist/impl/actions/index.js +4 -0
  31. package/dist/impl/actions/remote-fs-actions.d.ts +196 -0
  32. package/dist/impl/actions/remote-fs-actions.d.ts.map +1 -0
  33. package/dist/impl/actions/remote-fs-actions.js +151 -0
  34. package/dist/impl/autosave/index.d.ts +5 -0
  35. package/dist/impl/autosave/index.d.ts.map +1 -0
  36. package/dist/impl/autosave/index.js +4 -0
  37. package/dist/impl/autosave/remote-fs-autosave-provider.d.ts +46 -0
  38. package/dist/impl/autosave/remote-fs-autosave-provider.d.ts.map +1 -0
  39. package/dist/impl/autosave/remote-fs-autosave-provider.js +80 -0
  40. package/dist/impl/index.d.ts +14 -0
  41. package/dist/impl/index.d.ts.map +1 -0
  42. package/dist/impl/index.js +13 -0
  43. package/dist/impl/middleware/index.d.ts +6 -0
  44. package/dist/impl/middleware/index.d.ts.map +1 -0
  45. package/dist/impl/middleware/index.js +5 -0
  46. package/dist/impl/middleware/remote-fs-middleware.d.ts +38 -0
  47. package/dist/impl/middleware/remote-fs-middleware.d.ts.map +1 -0
  48. package/dist/impl/middleware/remote-fs-middleware.js +192 -0
  49. package/dist/impl/middleware/store-sync-middleware.d.ts +35 -0
  50. package/dist/impl/middleware/store-sync-middleware.d.ts.map +1 -0
  51. package/dist/impl/middleware/store-sync-middleware.js +135 -0
  52. package/dist/impl/plugin/index.d.ts +5 -0
  53. package/dist/impl/plugin/index.d.ts.map +1 -0
  54. package/dist/impl/plugin/index.js +4 -0
  55. package/dist/impl/plugin/remote-fs-plugin-factory.d.ts +84 -0
  56. package/dist/impl/plugin/remote-fs-plugin-factory.d.ts.map +1 -0
  57. package/dist/impl/plugin/remote-fs-plugin-factory.js +150 -0
  58. package/dist/impl/providers/http-workspace-client.d.ts +103 -0
  59. package/dist/impl/providers/http-workspace-client.d.ts.map +1 -0
  60. package/dist/impl/providers/http-workspace-client.js +215 -0
  61. package/dist/impl/providers/index.d.ts +5 -0
  62. package/dist/impl/providers/index.d.ts.map +1 -0
  63. package/dist/impl/providers/index.js +4 -0
  64. package/dist/impl/services/index.d.ts +5 -0
  65. package/dist/impl/services/index.d.ts.map +1 -0
  66. package/dist/impl/services/index.js +4 -0
  67. package/dist/impl/services/remote-fs-service.d.ts +10 -0
  68. package/dist/impl/services/remote-fs-service.d.ts.map +1 -0
  69. package/dist/impl/services/remote-fs-service.js +12 -0
  70. package/dist/index.d.ts +6 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +5 -0
  73. package/dist/spi/index.d.ts +8 -0
  74. package/dist/spi/index.d.ts.map +1 -0
  75. package/dist/spi/index.js +7 -0
  76. package/dist/spi/middleware/index.d.ts +5 -0
  77. package/dist/spi/middleware/index.d.ts.map +1 -0
  78. package/dist/spi/middleware/index.js +4 -0
  79. package/dist/spi/middleware/remote-fs-middleware.types.d.ts +61 -0
  80. package/dist/spi/middleware/remote-fs-middleware.types.d.ts.map +1 -0
  81. package/dist/spi/middleware/remote-fs-middleware.types.js +6 -0
  82. package/dist/spi/providers/i-path-translator.d.ts +74 -0
  83. package/dist/spi/providers/i-path-translator.d.ts.map +1 -0
  84. package/dist/spi/providers/i-path-translator.js +61 -0
  85. package/dist/spi/providers/i-remote-fs-provider.d.ts +78 -0
  86. package/dist/spi/providers/i-remote-fs-provider.d.ts.map +1 -0
  87. package/dist/spi/providers/i-remote-fs-provider.js +6 -0
  88. package/dist/spi/providers/i-workspace-client.d.ts +97 -0
  89. package/dist/spi/providers/i-workspace-client.d.ts.map +1 -0
  90. package/dist/spi/providers/i-workspace-client.js +7 -0
  91. package/dist/spi/providers/index.d.ts +7 -0
  92. package/dist/spi/providers/index.d.ts.map +1 -0
  93. package/dist/spi/providers/index.js +6 -0
  94. package/package.json +69 -0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Remote FS Service Contract
3
+ *
4
+ * Public interface for remote filesystem service.
5
+ */
6
+ import { FileInfo } from '@hamak/shared-utils';
7
+ import { ErrorObject } from '../types/remote-fs-error.types';
8
+ /**
9
+ * Result type for remote filesystem operations
10
+ */
11
+ export type RemoteFsResult<T> = {
12
+ success: true;
13
+ data: T;
14
+ } | {
15
+ success: false;
16
+ error: ErrorObject;
17
+ };
18
+ /**
19
+ * Service interface for remote filesystem operations
20
+ *
21
+ * This interface defines the public API for interacting with the remote filesystem.
22
+ * Implementations should handle the communication with the backend and provide
23
+ * a consistent interface for filesystem operations.
24
+ */
25
+ export interface IRemoteFsService {
26
+ /**
27
+ * List files and directories at the specified path
28
+ *
29
+ * @param path - Path segments to list (e.g., ['folder', 'subfolder'])
30
+ * @returns Promise resolving to array of FileInfo objects
31
+ */
32
+ listFiles(path: string[]): Promise<FileInfo[]>;
33
+ /**
34
+ * Create a directory at the specified path
35
+ *
36
+ * @param path - Path segments for the new directory
37
+ * @returns Promise resolving to FileInfo of created directory
38
+ */
39
+ createDirectory(path: string[]): Promise<FileInfo>;
40
+ /**
41
+ * Read a file's content from the specified path
42
+ *
43
+ * @param path - Path segments to the file
44
+ * @returns Promise resolving to FileInfo with content
45
+ */
46
+ readFile(path: string[]): Promise<FileInfo>;
47
+ /**
48
+ * Write content to a file (create or update)
49
+ *
50
+ * @param path - Path segments to the file
51
+ * @param content - Content to write (string or object to be serialized)
52
+ * @returns Promise resolving to FileInfo of written file
53
+ */
54
+ writeFile(path: string[], content: any): Promise<FileInfo>;
55
+ /**
56
+ * Update an existing file's content
57
+ *
58
+ * @param path - Path segments to the file
59
+ * @param content - Content to write (string or object to be serialized)
60
+ * @returns Promise resolving to FileInfo of updated file
61
+ */
62
+ updateFile(path: string[], content: any): Promise<FileInfo>;
63
+ /**
64
+ * Delete a file or directory
65
+ *
66
+ * @param path - Path segments to delete
67
+ * @returns Promise resolving to FileInfo of deleted item
68
+ */
69
+ deleteFile(path: string[]): Promise<FileInfo>;
70
+ /**
71
+ * Check if a path exists
72
+ *
73
+ * @param path - Path segments to check
74
+ * @returns Promise resolving to true if exists, false otherwise
75
+ */
76
+ exists(path: string[]): Promise<boolean>;
77
+ /**
78
+ * Get file or directory information without reading content
79
+ *
80
+ * @param path - Path segments to get info for
81
+ * @returns Promise resolving to FileInfo
82
+ */
83
+ getInfo(path: string[]): Promise<FileInfo>;
84
+ }
85
+ //# sourceMappingURL=i-remote-fs-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-remote-fs-service.d.ts","sourceRoot":"","sources":["../../../src/api/contracts/i-remote-fs-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC1B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5D;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Remote FS Service Contract
3
+ *
4
+ * Public interface for remote filesystem service.
5
+ */
6
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Remote FS Contracts
3
+ */
4
+ export * from './i-remote-fs-service';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/contracts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Remote FS Contracts
3
+ */
4
+ export * from './i-remote-fs-service';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * UI Remote FS API
3
+ * Public interfaces, types, and contracts for remote filesystem
4
+ */
5
+ export * from './types';
6
+ export * from './contracts';
7
+ export * from './tokens';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * UI Remote FS API
3
+ * Public interfaces, types, and contracts for remote filesystem
4
+ */
5
+ export * from './types';
6
+ export * from './contracts';
7
+ export * from './tokens';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Dependency Injection Tokens
3
+ */
4
+ export * from './remote-fs.tokens';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/tokens/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Dependency Injection Tokens
3
+ */
4
+ export * from './remote-fs.tokens';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Remote FS Dependency Injection Tokens
3
+ *
4
+ * Tokens for registering and resolving Remote FS services in the DI container.
5
+ */
6
+ /**
7
+ * Token for IRemoteFsService
8
+ * Provides high-level API for remote filesystem operations
9
+ */
10
+ export declare const REMOTE_FS_SERVICE_TOKEN: unique symbol;
11
+ /**
12
+ * Token for IWorkspaceClient
13
+ * Provides low-level HTTP client for workspace API
14
+ */
15
+ export declare const WORKSPACE_CLIENT_TOKEN: unique symbol;
16
+ /**
17
+ * Token for IPathTranslator
18
+ * Provides path translation between local mount point and remote paths
19
+ */
20
+ export declare const PATH_TRANSLATOR_TOKEN: unique symbol;
21
+ /**
22
+ * Token for Remote FS middleware configuration
23
+ */
24
+ export declare const REMOTE_FS_MIDDLEWARE_CONFIG_TOKEN: unique symbol;
25
+ /**
26
+ * Token for Store Sync middleware configuration
27
+ */
28
+ export declare const STORE_SYNC_MIDDLEWARE_CONFIG_TOKEN: unique symbol;
29
+ //# sourceMappingURL=remote-fs.tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-fs.tokens.d.ts","sourceRoot":"","sources":["../../../src/api/tokens/remote-fs.tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAA4C,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAqD,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,iCAAiC,eAAsD,CAAC;AAErG;;GAEG;AACH,eAAO,MAAM,kCAAkC,eAAsD,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Remote FS Dependency Injection Tokens
3
+ *
4
+ * Tokens for registering and resolving Remote FS services in the DI container.
5
+ */
6
+ /**
7
+ * Token for IRemoteFsService
8
+ * Provides high-level API for remote filesystem operations
9
+ */
10
+ export const REMOTE_FS_SERVICE_TOKEN = Symbol.for('@hamak/ui-remote-fs:service');
11
+ /**
12
+ * Token for IWorkspaceClient
13
+ * Provides low-level HTTP client for workspace API
14
+ */
15
+ export const WORKSPACE_CLIENT_TOKEN = Symbol.for('@hamak/ui-remote-fs:workspace-client');
16
+ /**
17
+ * Token for IPathTranslator
18
+ * Provides path translation between local mount point and remote paths
19
+ */
20
+ export const PATH_TRANSLATOR_TOKEN = Symbol.for('@hamak/ui-remote-fs:path-translator');
21
+ /**
22
+ * Token for Remote FS middleware configuration
23
+ */
24
+ export const REMOTE_FS_MIDDLEWARE_CONFIG_TOKEN = Symbol.for('@hamak/ui-remote-fs:middleware-config');
25
+ /**
26
+ * Token for Store Sync middleware configuration
27
+ */
28
+ export const STORE_SYNC_MIDDLEWARE_CONFIG_TOKEN = Symbol.for('@hamak/ui-remote-fs:store-sync-config');
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Remote FS Type Definitions
3
+ */
4
+ export * from './remote-fs-action.types';
5
+ export * from './remote-fs-error.types';
6
+ export * from './remote-fs-config.types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Remote FS Type Definitions
3
+ */
4
+ export * from './remote-fs-action.types';
5
+ export * from './remote-fs-error.types';
6
+ export * from './remote-fs-config.types';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Remote FS Action Types
3
+ *
4
+ * Action type constants for remote filesystem operations.
5
+ * Extracted from amk/libs/ui/core/remote-fs/src/lib/remote-fs-actions.ts
6
+ */
7
+ /**
8
+ * Enum defining all remote filesystem action types
9
+ */
10
+ export declare enum RemoteFsActionTypes {
11
+ LS_REQUEST = "[Remote FS] List/Request",
12
+ LS_COMPLETED = "[Remote FS] List/Completed",
13
+ LS_FAILED = "[Remote FS] List/Failed",
14
+ MKDIR_REQUEST = "[Remote FS] Make Directory/Request",
15
+ MKDIR_COMPLETED = "[Remote FS] Make Directory/Completed",
16
+ MKDIR_FAILED = "[Remote FS] Make Directory/Failed",
17
+ GET_REQUEST = "[Remote FS] Get/Request",
18
+ GET_COMPLETED = "[Remote FS] Get/Completed",
19
+ GET_FAILED = "[Remote FS] Get/Failed",
20
+ POST_REQUEST = "[Remote FS] Post/Request",
21
+ POST_COMPLETED = "[Remote FS] Post/Completed",
22
+ POST_FAILED = "[Remote FS] Post/Failed",
23
+ PUT_REQUEST = "[Remote FS] Put/Request",
24
+ PUT_COMPLETED = "[Remote FS] Put/Completed",
25
+ PUT_FAILED = "[Remote FS] Put/Failed",
26
+ DELETE_REQUEST = "[Remote FS] Delete/Request",
27
+ DELETE_COMPLETED = "[Remote FS] Delete/Completed",
28
+ DELETE_FAILED = "[Remote FS] Delete/Failed"
29
+ }
30
+ /**
31
+ * Type guard to check if an action is a remote FS action
32
+ */
33
+ export declare function isRemoteFsActionType(type: string): type is RemoteFsActionTypes;
34
+ //# sourceMappingURL=remote-fs-action.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-fs-action.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/remote-fs-action.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,oBAAY,mBAAmB;IAE7B,UAAU,6BAA6B;IACvC,YAAY,+BAA+B;IAC3C,SAAS,4BAA4B;IAGrC,aAAa,uCAAuC;IACpD,eAAe,yCAAyC;IACxD,YAAY,sCAAsC;IAGlD,WAAW,4BAA4B;IACvC,aAAa,8BAA8B;IAC3C,UAAU,2BAA2B;IAGrC,YAAY,6BAA6B;IACzC,cAAc,+BAA+B;IAC7C,WAAW,4BAA4B;IAGvC,WAAW,4BAA4B;IACvC,aAAa,8BAA8B;IAC3C,UAAU,2BAA2B;IAGrC,cAAc,+BAA+B;IAC7C,gBAAgB,iCAAiC;IACjD,aAAa,8BAA8B;CAC5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,mBAAmB,CAE9E"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Remote FS Action Types
3
+ *
4
+ * Action type constants for remote filesystem operations.
5
+ * Extracted from amk/libs/ui/core/remote-fs/src/lib/remote-fs-actions.ts
6
+ */
7
+ /**
8
+ * Enum defining all remote filesystem action types
9
+ */
10
+ export var RemoteFsActionTypes;
11
+ (function (RemoteFsActionTypes) {
12
+ // List operations
13
+ RemoteFsActionTypes["LS_REQUEST"] = "[Remote FS] List/Request";
14
+ RemoteFsActionTypes["LS_COMPLETED"] = "[Remote FS] List/Completed";
15
+ RemoteFsActionTypes["LS_FAILED"] = "[Remote FS] List/Failed";
16
+ // Make directory operations
17
+ RemoteFsActionTypes["MKDIR_REQUEST"] = "[Remote FS] Make Directory/Request";
18
+ RemoteFsActionTypes["MKDIR_COMPLETED"] = "[Remote FS] Make Directory/Completed";
19
+ RemoteFsActionTypes["MKDIR_FAILED"] = "[Remote FS] Make Directory/Failed";
20
+ // Get operations
21
+ RemoteFsActionTypes["GET_REQUEST"] = "[Remote FS] Get/Request";
22
+ RemoteFsActionTypes["GET_COMPLETED"] = "[Remote FS] Get/Completed";
23
+ RemoteFsActionTypes["GET_FAILED"] = "[Remote FS] Get/Failed";
24
+ // Post operations
25
+ RemoteFsActionTypes["POST_REQUEST"] = "[Remote FS] Post/Request";
26
+ RemoteFsActionTypes["POST_COMPLETED"] = "[Remote FS] Post/Completed";
27
+ RemoteFsActionTypes["POST_FAILED"] = "[Remote FS] Post/Failed";
28
+ // Put operations
29
+ RemoteFsActionTypes["PUT_REQUEST"] = "[Remote FS] Put/Request";
30
+ RemoteFsActionTypes["PUT_COMPLETED"] = "[Remote FS] Put/Completed";
31
+ RemoteFsActionTypes["PUT_FAILED"] = "[Remote FS] Put/Failed";
32
+ // Delete operations
33
+ RemoteFsActionTypes["DELETE_REQUEST"] = "[Remote FS] Delete/Request";
34
+ RemoteFsActionTypes["DELETE_COMPLETED"] = "[Remote FS] Delete/Completed";
35
+ RemoteFsActionTypes["DELETE_FAILED"] = "[Remote FS] Delete/Failed";
36
+ })(RemoteFsActionTypes || (RemoteFsActionTypes = {}));
37
+ /**
38
+ * Type guard to check if an action is a remote FS action
39
+ */
40
+ export function isRemoteFsActionType(type) {
41
+ return Object.values(RemoteFsActionTypes).includes(type);
42
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Remote FS Configuration Types
3
+ *
4
+ * Configuration types for remote filesystem plugin.
5
+ */
6
+ import { Pathway } from '@hamak/shared-utils';
7
+ /**
8
+ * Configuration for remote filesystem plugin
9
+ */
10
+ export interface RemoteFsPluginConfig {
11
+ /**
12
+ * Mount path where the remote filesystem will be accessible
13
+ * Default: Pathway.ofRoot().resolve('remote')
14
+ */
15
+ mountPath: Pathway;
16
+ /**
17
+ * Workspace ID for the remote server
18
+ */
19
+ workspaceId: string;
20
+ /**
21
+ * Base URL for the remote filesystem API
22
+ * Default: derived from window.location
23
+ */
24
+ baseUrl?: string;
25
+ /**
26
+ * Whether to automatically sync on mount
27
+ * Default: true
28
+ */
29
+ autoSync?: boolean;
30
+ /**
31
+ * Request timeout in milliseconds
32
+ * Default: 30000 (30 seconds)
33
+ */
34
+ timeout?: number;
35
+ }
36
+ /**
37
+ * Default configuration values
38
+ */
39
+ export declare const DEFAULT_REMOTE_FS_CONFIG: Partial<RemoteFsPluginConfig>;
40
+ //# sourceMappingURL=remote-fs-config.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-fs-config.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/remote-fs-config.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,oBAAoB,CAGlE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Remote FS Configuration Types
3
+ *
4
+ * Configuration types for remote filesystem plugin.
5
+ */
6
+ /**
7
+ * Default configuration values
8
+ */
9
+ export const DEFAULT_REMOTE_FS_CONFIG = {
10
+ autoSync: true,
11
+ timeout: 30000,
12
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Remote FS Error Types
3
+ *
4
+ * Error types for remote filesystem operations.
5
+ * Extracted from amk/libs/server/ws/ws-client/src/lib/server-ws-ws-client.ts
6
+ */
7
+ /**
8
+ * Standard error object for remote filesystem operations
9
+ */
10
+ export interface ErrorObject {
11
+ /**
12
+ * Error code (e.g., 'ENOENT', 'EACCES', 'UNKNOWN')
13
+ */
14
+ code: string;
15
+ /**
16
+ * Human-readable error message
17
+ */
18
+ message: string;
19
+ /**
20
+ * Optional additional parameters related to the error
21
+ */
22
+ params?: Record<string, any>;
23
+ }
24
+ /**
25
+ * Type guard to check if an object is an ErrorObject
26
+ */
27
+ export declare function isErrorObject(obj: any): obj is ErrorObject;
28
+ //# sourceMappingURL=remote-fs-error.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-fs-error.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/remote-fs-error.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,CAO1D"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Remote FS Error Types
3
+ *
4
+ * Error types for remote filesystem operations.
5
+ * Extracted from amk/libs/server/ws/ws-client/src/lib/server-ws-ws-client.ts
6
+ */
7
+ /**
8
+ * Type guard to check if an object is an ErrorObject
9
+ */
10
+ export function isErrorObject(obj) {
11
+ return (obj &&
12
+ typeof obj === 'object' &&
13
+ typeof obj.code === 'string' &&
14
+ typeof obj.message === 'string');
15
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Remote FS Actions
3
+ */
4
+ export * from './remote-fs-actions';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/impl/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Remote FS Actions
3
+ */
4
+ export * from './remote-fs-actions';
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Remote FS Actions
3
+ *
4
+ * Action creators for remote filesystem operations.
5
+ * Migrated from amk/libs/ui/core/remote-fs/src/lib/remote-fs-actions.ts
6
+ */
7
+ import { RemoteFsActionTypes, ErrorObject } from '../../api';
8
+ import { FileInfo } from '@hamak/shared-utils';
9
+ import { RequestOptions } from '../../spi';
10
+ export interface LsRequestAction {
11
+ type: RemoteFsActionTypes.LS_REQUEST;
12
+ payload: {
13
+ path: string | string[];
14
+ options?: RequestOptions;
15
+ };
16
+ [key: string]: any;
17
+ }
18
+ export interface LsCompletedAction {
19
+ type: RemoteFsActionTypes.LS_COMPLETED;
20
+ payload: {
21
+ data: FileInfo[];
22
+ request: LsRequestAction;
23
+ };
24
+ [key: string]: any;
25
+ }
26
+ export interface LsFailedAction {
27
+ type: RemoteFsActionTypes.LS_FAILED;
28
+ payload: {
29
+ error: ErrorObject;
30
+ request: LsRequestAction;
31
+ };
32
+ [key: string]: any;
33
+ }
34
+ export interface MkdirRequestAction {
35
+ type: RemoteFsActionTypes.MKDIR_REQUEST;
36
+ payload: {
37
+ path: string | string[];
38
+ options?: RequestOptions;
39
+ };
40
+ [key: string]: any;
41
+ }
42
+ export interface MkdirCompletedAction {
43
+ type: RemoteFsActionTypes.MKDIR_COMPLETED;
44
+ payload: {
45
+ data: FileInfo;
46
+ request: MkdirRequestAction;
47
+ };
48
+ [key: string]: any;
49
+ }
50
+ export interface MkdirFailedAction {
51
+ type: RemoteFsActionTypes.MKDIR_FAILED;
52
+ payload: {
53
+ error: ErrorObject;
54
+ request: MkdirRequestAction;
55
+ };
56
+ [key: string]: any;
57
+ }
58
+ export interface GetRequestAction {
59
+ type: RemoteFsActionTypes.GET_REQUEST;
60
+ payload: {
61
+ path: string | string[];
62
+ options?: RequestOptions;
63
+ };
64
+ [key: string]: any;
65
+ }
66
+ export interface GetCompletedAction {
67
+ type: RemoteFsActionTypes.GET_COMPLETED;
68
+ payload: {
69
+ data: FileInfo;
70
+ request: GetRequestAction;
71
+ };
72
+ [key: string]: any;
73
+ }
74
+ export interface GetFailedAction {
75
+ type: RemoteFsActionTypes.GET_FAILED;
76
+ payload: {
77
+ error: ErrorObject;
78
+ request: GetRequestAction;
79
+ };
80
+ [key: string]: any;
81
+ }
82
+ export interface PostRequestAction {
83
+ type: RemoteFsActionTypes.POST_REQUEST;
84
+ payload: {
85
+ path: string | string[];
86
+ content: any;
87
+ options?: RequestOptions;
88
+ };
89
+ [key: string]: any;
90
+ }
91
+ export interface PostCompletedAction {
92
+ type: RemoteFsActionTypes.POST_COMPLETED;
93
+ payload: {
94
+ data: FileInfo;
95
+ request: PostRequestAction;
96
+ };
97
+ [key: string]: any;
98
+ }
99
+ export interface PostFailedAction {
100
+ type: RemoteFsActionTypes.POST_FAILED;
101
+ payload: {
102
+ error: ErrorObject;
103
+ request: PostRequestAction;
104
+ };
105
+ [key: string]: any;
106
+ }
107
+ export interface PutRequestAction {
108
+ type: RemoteFsActionTypes.PUT_REQUEST;
109
+ payload: {
110
+ path: string | string[];
111
+ content: any;
112
+ options?: RequestOptions;
113
+ };
114
+ [key: string]: any;
115
+ }
116
+ export interface PutCompletedAction {
117
+ type: RemoteFsActionTypes.PUT_COMPLETED;
118
+ payload: {
119
+ data: FileInfo;
120
+ request: PutRequestAction;
121
+ };
122
+ [key: string]: any;
123
+ }
124
+ export interface PutFailedAction {
125
+ type: RemoteFsActionTypes.PUT_FAILED;
126
+ payload: {
127
+ error: ErrorObject;
128
+ request: PutRequestAction;
129
+ };
130
+ [key: string]: any;
131
+ }
132
+ export interface DeleteRequestAction {
133
+ type: RemoteFsActionTypes.DELETE_REQUEST;
134
+ payload: {
135
+ path: string | string[];
136
+ options?: RequestOptions;
137
+ };
138
+ [key: string]: any;
139
+ }
140
+ export interface DeleteCompletedAction {
141
+ type: RemoteFsActionTypes.DELETE_COMPLETED;
142
+ payload: {
143
+ data: FileInfo;
144
+ request: DeleteRequestAction;
145
+ };
146
+ [key: string]: any;
147
+ }
148
+ export interface DeleteFailedAction {
149
+ type: RemoteFsActionTypes.DELETE_FAILED;
150
+ payload: {
151
+ error: ErrorObject;
152
+ request: DeleteRequestAction;
153
+ };
154
+ [key: string]: any;
155
+ }
156
+ /**
157
+ * Union type for all remote FS actions
158
+ */
159
+ export type RemoteFsAction = LsRequestAction | LsCompletedAction | LsFailedAction | MkdirRequestAction | MkdirCompletedAction | MkdirFailedAction | GetRequestAction | GetCompletedAction | GetFailedAction | PostRequestAction | PostCompletedAction | PostFailedAction | PutRequestAction | PutCompletedAction | PutFailedAction | DeleteRequestAction | DeleteCompletedAction | DeleteFailedAction;
160
+ /**
161
+ * Action factory class for creating remote filesystem actions
162
+ */
163
+ export declare class RemoteFsActionFactory {
164
+ types: typeof RemoteFsActionTypes;
165
+ ofLsRequest(path: string | string[], options?: RequestOptions): LsRequestAction;
166
+ ofLsCompleted(data: FileInfo[], request: LsRequestAction): LsCompletedAction;
167
+ ofLsFailed(error: ErrorObject, request: LsRequestAction): LsFailedAction;
168
+ ofMkdirRequest(path: string | string[], options?: RequestOptions): MkdirRequestAction;
169
+ ofMkdirCompleted(data: FileInfo, request: MkdirRequestAction): MkdirCompletedAction;
170
+ ofMkdirFailed(error: ErrorObject, request: MkdirRequestAction): MkdirFailedAction;
171
+ ofGetRequest(path: string | string[], options?: RequestOptions): GetRequestAction;
172
+ ofGetCompleted(data: FileInfo, request: GetRequestAction): GetCompletedAction;
173
+ ofGetFailed(error: ErrorObject, request: GetRequestAction): GetFailedAction;
174
+ ofPostRequest(path: string | string[], content: any, options?: RequestOptions): PostRequestAction;
175
+ ofPostCompleted(data: FileInfo, request: PostRequestAction): PostCompletedAction;
176
+ ofPostFailed(error: ErrorObject, request: PostRequestAction): PostFailedAction;
177
+ ofPutRequest(path: string | string[], content: any, options?: RequestOptions): PutRequestAction;
178
+ ofPutCompleted(data: FileInfo, request: PutRequestAction): PutCompletedAction;
179
+ ofPutFailed(error: ErrorObject, request: PutRequestAction): PutFailedAction;
180
+ ofDeleteRequest(path: string | string[], options?: RequestOptions): DeleteRequestAction;
181
+ ofDeleteCompleted(data: FileInfo, request: DeleteRequestAction): DeleteCompletedAction;
182
+ ofDeleteFailed(error: ErrorObject, request: DeleteRequestAction): DeleteFailedAction;
183
+ /**
184
+ * Type guard to check if an action is a remote FS action
185
+ */
186
+ isRemoteFsAction(action: any): action is RemoteFsAction;
187
+ }
188
+ /**
189
+ * Singleton instance of the action factory
190
+ */
191
+ export declare const rfsActions: RemoteFsActionFactory;
192
+ /**
193
+ * Re-export the action types enum for convenience
194
+ */
195
+ export { RemoteFsActionTypes };
196
+ //# sourceMappingURL=remote-fs-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-fs-actions.d.ts","sourceRoot":"","sources":["../../../src/impl/actions/remote-fs-actions.ts"],"names":[],"mappings":"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"}