(server: RuntimeServer, adapter: RuntimeNodeFilesAdapter)
| 15 | const fileEncoding = optionalStringEnum("encoding", ["utf8", "base64"]) |
| 16 | |
| 17 | export function registerRuntimeNodeFilesModule(server: RuntimeServer, adapter: RuntimeNodeFilesAdapter): void { |
| 18 | server.register("fs/path/describe", (params) => adapter.describePath(params), { |
| 19 | validateParams: validateParams(requiredString("path"), optionalBoolean("readContents"), optionalFiniteNumber("maxReadSize"), optionalBoolean("showHidden")), |
| 20 | }) |
| 21 | server.register("fs/file/read", (params) => adapter.readFile(params), { |
| 22 | validateParams: validateParams(requiredString("path"), fileEncoding, optionalFiniteNumber("maxReadSize")), |
| 23 | }) |
| 24 | server.register("fs/file/write", (params) => adapter.writeFile(params), { |
| 25 | validateParams: validateParams(requiredString("path"), requiredString("content", { allowEmpty: true }), fileEncoding, optionalBoolean("createDirectory")), |
| 26 | }) |
| 27 | server.register("fs/directory/create", (params) => adapter.createDirectory(params), { |
| 28 | validateParams: validateParams(requiredString("path"), optionalBoolean("recursive")), |
| 29 | }) |
| 30 | server.register("fs/path/remove", (params) => adapter.removePath(params), { |
| 31 | validateParams: validateParams(requiredString("path"), optionalBoolean("recursive"), optionalBoolean("force")), |
| 32 | }) |
| 33 | server.register("fs/path/copy", (params) => adapter.copyPath(params), { |
| 34 | validateParams: validateParams(requiredString("from"), requiredString("to"), optionalBoolean("recursive"), optionalBoolean("force")), |
| 35 | }) |
| 36 | server.register("fs/search/fuzzy", (params) => adapter.fuzzySearch(params), { |
| 37 | validateParams: validateParams(requiredString("dir"), requiredString("query", { allowEmpty: true }), optionalBoolean("matchDirs"), optionalFiniteNumber("limit")), |
| 38 | }) |
| 39 | server.register("fs/search/content", (params) => adapter.searchContent(params), { |
| 40 | validateParams: validateParams( |
| 41 | requiredString("dir"), |
| 42 | requiredString("query", { allowEmpty: true }), |
| 43 | optionalFiniteNumber("limit"), |
| 44 | optionalBoolean("caseSensitive"), |
| 45 | optionalBoolean("regex"), |
| 46 | optionalBoolean("rankByHotFiles") |
| 47 | ), |
| 48 | }) |
| 49 | } |
no test coverage detected