{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "PermissionsRequestApprovalParams", "type": "object", "required": [ "cwd", "itemId", "permissions", "startedAtMs", "threadId", "turnId" ], "properties": { "cwd": { "$ref": "#/definitions/AbsolutePathBuf" }, "itemId": { "type": "string" }, "permissions": { "$ref": "#/definitions/RequestPermissionProfile" }, "reason": { "type": [ "string", "null" ] }, "startedAtMs": { "description": "Unix timestamp (in milliseconds) when this approval request started.", "type": "integer", "format": "int64" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } }, "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" }, "AdditionalFileSystemPermissions": { "type": "object", "properties": { "entries": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/FileSystemSandboxEntry" } }, "globScanMaxDepth": { "type": [ "integer", "null" ], "format": "uint", "minimum": 1.0 }, "read": { "description": "This will be removed in favor of `entries`.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/AbsolutePathBuf" } }, "write": { "description": "This will be removed in favor of `entries`.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/AbsolutePathBuf" } } } }, "AdditionalNetworkPermissions": { "type": "object", "properties": { "enabled": { "type": [ "boolean", "null" ] } } }, "FileSystemAccessMode": { "type": "string", "enum": [ "read", "write", "none" ] }, "FileSystemPath": { "oneOf": [ { "type": "object", "required": [ "path", "type" ], "properties": { "path": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": { "type": "string", "enum": [ "path" ], "title": "PathFileSystemPathType" } }, "title": "PathFileSystemPath" }, { "type": "object", "required": [ "pattern", "type" ], "properties": { "pattern": { "type": "string" }, "type": { "type": "string", "enum": [ "glob_pattern" ], "title": "GlobPatternFileSystemPathType" } }, "title": "GlobPatternFileSystemPath" }, { "type": "object", "required": [ "type", "value" ], "properties": { "type": { "type": "string", "enum": [ "special" ], "title": "SpecialFileSystemPathType" }, "value": { "$ref": "#/definitions/FileSystemSpecialPath" } }, "title": "SpecialFileSystemPath" } ] }, "FileSystemSandboxEntry": { "type": "object", "required": [ "access", "path" ], "properties": { "access": { "$ref": "#/definitions/FileSystemAccessMode" }, "path": { "$ref": "#/definitions/FileSystemPath" } } }, "FileSystemSpecialPath": { "oneOf": [ { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "root" ] } }, "title": "RootFileSystemSpecialPath" }, { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "minimal" ] } }, "title": "MinimalFileSystemSpecialPath" }, { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "project_roots" ] }, "subpath": { "type": [ "string", "null" ] } }, "title": "KindFileSystemSpecialPath" }, { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "tmpdir" ] } }, "title": "TmpdirFileSystemSpecialPath" }, { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "slash_tmp" ] } }, "title": "SlashTmpFileSystemSpecialPath" }, { "type": "object", "required": [ "kind", "path" ], "properties": { "kind": { "type": "string", "enum": [ "unknown" ] }, "path": { "type": "string" }, "subpath": { "type": [ "string", "null" ] } } } ] }, "RequestPermissionProfile": { "type": "object", "properties": { "fileSystem": { "anyOf": [ { "$ref": "#/definitions/AdditionalFileSystemPermissions" }, { "type": "null" } ] }, "network": { "anyOf": [ { "$ref": "#/definitions/AdditionalNetworkPermissions" }, { "type": "null" } ] } }, "additionalProperties": false } } }