/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import fs from 'fs/promises'; /** * Interface for file system operations that may be delegated to different implementations */ export interface FileSystemService { /** * Read text content from a file * * @param filePath - The path to the file to read * @returns The file content as a string */ readTextFile(filePath: string): Promise; /** * Write text content to a file * * @param filePath - The path to the file to write * @param content - The content to write */ writeTextFile(filePath: string, content: string): Promise; } /** * Standard file system implementation */ export class StandardFileSystemService implements FileSystemService { async readTextFile(filePath: string): Promise { return fs.readFile(filePath, 'utf-8'); } async writeTextFile(filePath: string, content: string): Promise { await fs.writeFile(filePath, content, 'utf-8'); } }