{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "AbsolutePathBuf": { "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", "type": "string" }, "NetworkAccess": { "enum": [ "restricted", "enabled" ], "type": "string" }, "ReadOnlyAccess": { "oneOf": [ { "properties": { "includePlatformDefaults": { "default": true, "type": "boolean" }, "readableRoots": { "default": [], "items": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": "array" }, "type": { "enum": [ "restricted" ], "title": "RestrictedReadOnlyAccessType", "type": "string" } }, "required": [ "type" ], "title": "RestrictedReadOnlyAccess", "type": "object" }, { "properties": { "type": { "enum": [ "fullAccess" ], "title": "FullAccessReadOnlyAccessType", "type": "string" } }, "required": [ "type" ], "title": "FullAccessReadOnlyAccess", "type": "object" } ] }, "SandboxPolicy": { "oneOf": [ { "properties": { "type": { "enum": [ "dangerFullAccess" ], "title": "DangerFullAccessSandboxPolicyType", "type": "string" } }, "required": [ "type" ], "title": "DangerFullAccessSandboxPolicy", "type": "object" }, { "properties": { "access": { "allOf": [ { "$ref": "#/definitions/ReadOnlyAccess" } ], "default": { "type": "fullAccess" } }, "type": { "enum": [ "readOnly" ], "title": "ReadOnlySandboxPolicyType", "type": "string" } }, "required": [ "type" ], "title": "ReadOnlySandboxPolicy", "type": "object" }, { "properties": { "networkAccess": { "allOf": [ { "$ref": "#/definitions/NetworkAccess" } ], "default": "restricted" }, "type": { "enum": [ "externalSandbox" ], "title": "ExternalSandboxSandboxPolicyType", "type": "string" } }, "required": [ "type" ], "title": "ExternalSandboxSandboxPolicy", "type": "object" }, { "properties": { "excludeSlashTmp": { "default": false, "type": "boolean" }, "excludeTmpdirEnvVar": { "default": false, "type": "boolean" }, "networkAccess": { "default": false, "type": "boolean" }, "readOnlyAccess": { "allOf": [ { "$ref": "#/definitions/ReadOnlyAccess" } ], "default": { "type": "fullAccess" } }, "type": { "enum": [ "workspaceWrite" ], "title": "WorkspaceWriteSandboxPolicyType", "type": "string" }, "writableRoots": { "default": [], "items": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": "array" } }, "required": [ "type" ], "title": "WorkspaceWriteSandboxPolicy", "type": "object" } ] } }, "properties": { "command": { "items": { "type": "string" }, "type": "array" }, "cwd": { "type": [ "string", "null" ] }, "sandboxPolicy": { "anyOf": [ { "$ref": "#/definitions/SandboxPolicy" }, { "type": "null" } ] }, "timeoutMs": { "format": "int64", "type": [ "integer", "null" ] } }, "required": [ "command" ], "title": "CommandExecParams", "type": "object" }