MCPcopy Create free account
hub / github.com/bearlyai/OpenADE / registerRuntimeNodeFilesModule

Function registerRuntimeNodeFilesModule

projects/runtime-node/src/files.ts:17–49  ·  view source on GitHub ↗
(server: RuntimeServer, adapter: RuntimeNodeFilesAdapter)

Source from the content-addressed store, hash-verified

15const fileEncoding = optionalStringEnum("encoding", ["utf8", "base64"])
16
17export 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}

Callers 2

startRuntimeNodeServeFunction · 0.90

Calls 13

validateParamsFunction · 0.90
requiredStringFunction · 0.90
optionalBooleanFunction · 0.90
optionalFiniteNumberFunction · 0.90
readFileMethod · 0.80
writeFileMethod · 0.80
createDirectoryMethod · 0.80
removePathMethod · 0.80
copyPathMethod · 0.80
fuzzySearchMethod · 0.80
searchContentMethod · 0.80
registerMethod · 0.65

Tested by

no test coverage detected