UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

145 lines (144 loc) 3.38 kB
{ "id": "file-transfer", "activation": { "onStartup": true }, "enabledByDefault": true, "name": "File Transfer", "description": "Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB.", "cliCommands": [ { "name": "file-transfer", "description": "Review file-transfer standing approvals", "hasSubcommands": true } ], "doctorContract": { "configRepair": true }, "contracts": { "tools": [ "file_fetch", "dir_list", "dir_fetch", "file_write" ] }, "configSchema": { "type": "object", "additionalProperties": false, "properties": { "policyVersion": { "type": "integer", "const": 2 }, "literalGrants": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "nodeId", "command", "requestedPath", "canonicalPath" ], "properties": { "nodeId": { "type": "string", "minLength": 1 }, "command": { "type": "string", "enum": [ "file.fetch", "dir.list", "dir.fetch", "file.write" ] }, "requestedPath": { "type": "string", "minLength": 1 }, "canonicalPath": { "type": "string", "minLength": 1 } } } }, "pendingReapprovals": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "selector", "kind", "path" ], "properties": { "selector": { "type": "string", "minLength": 1 }, "kind": { "type": "string", "enum": [ "read", "write" ] }, "path": { "type": "string", "minLength": 1 } } } }, "nodes": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": false, "properties": { "ask": { "type": "string", "enum": [ "off", "on-miss", "always" ] }, "allowReadPaths": { "type": "array", "items": { "type": "string" } }, "allowWritePaths": { "type": "array", "items": { "type": "string" } }, "denyPaths": { "type": "array", "items": { "type": "string" } }, "maxBytes": { "type": "number" }, "followSymlinks": { "type": "boolean", "default": false } } } } } } }