UNPKG

signalk-server

Version:

An implementation of a [Signal K](http://signalk.org) server for boats.

57 lines 1.99 kB
/** * WASM Plugin Virtual Filesystem (VFS) Management * * Handles isolated storage for WASM plugins using WASI virtual filesystem. * Each plugin gets its own VFS root for secure, sandboxed file access. */ export interface PluginStoragePaths { pluginDataRoot: string; configFile: string; vfsRoot: string; vfsData: string; vfsConfig: string; vfsTmp: string; } /** * Get storage paths for a WASM plugin * * @param configPath - Server config directory path * @param pluginId - Plugin ID (e.g., "hello-assemblyscript") - used for config file to match regular plugins * @param packageName - NPM package name (e.g., "@signalk/hello-assemblyscript") - used for VFS directory */ export declare function getPluginStoragePaths(configPath: string, pluginId: string, packageName: string): PluginStoragePaths; /** * Initialize VFS structure for a WASM plugin */ export declare function initializePluginVfs(paths: PluginStoragePaths): void; /** * Read plugin configuration from server-managed config file */ export declare function readPluginConfig(configFile: string): any; /** * Write plugin configuration to server-managed config file */ export declare function writePluginConfig(configFile: string, config: any): void; /** * Migrate data from Node.js plugin format to WASM VFS format * * Copies files from legacy Node.js plugin data directory to VFS /data directory. * Legacy files are preserved for rollback. */ export declare function migrateFromNodeJs(legacyDataDir: string, vfsDataDir: string, filesToMigrate: string[]): void; /** * Clean up VFS temporary files */ export declare function cleanupVfsTmp(vfsTmpDir: string): void; /** * Get disk usage for a plugin's VFS */ export declare function getVfsDiskUsage(vfsRoot: string): { totalBytes: number; fileCount: number; }; /** * Delete all VFS data for a plugin */ export declare function deletePluginVfs(paths: PluginStoragePaths): void; //# sourceMappingURL=wasm-storage.d.ts.map