openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
145 lines (144 loc) • 3.38 kB
JSON
{
"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
}
}
}
}
}
}
}