mirror of
https://github.com/openai/codex.git
synced 2026-04-25 15:15:15 +00:00
Add a protocol-level filesystem surface to the v2 app-server so Codex clients can read and write files, inspect directories, and subscribe to path changes without relying on host-specific helpers. High-level changes: - define the new v2 fs/readFile, fs/writeFile, fs/createDirectory, fs/getMetadata, fs/readDirectory, fs/remove, fs/copy RPCs - implement the app-server handlers, including absolute-path validation, base64 file payloads, recursive copy/remove semantics - document the API, regenerate protocol schemas/types, and add end-to-end tests for filesystem operations, copy edge cases Testing plan: - validate protocol serialization and generated schema output for the new fs request, response, and notification types - run app-server integration coverage for file and directory CRUD paths, metadata/readDirectory responses, copy failure modes, and absolute-path validation
43 lines
1.1 KiB
JSON
43 lines
1.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"definitions": {
|
|
"FsReadDirectoryEntry": {
|
|
"description": "A directory entry returned by `fs/readDirectory`.",
|
|
"properties": {
|
|
"fileName": {
|
|
"description": "Direct child entry name only, not an absolute or relative path.",
|
|
"type": "string"
|
|
},
|
|
"isDirectory": {
|
|
"description": "Whether this entry resolves to a directory.",
|
|
"type": "boolean"
|
|
},
|
|
"isFile": {
|
|
"description": "Whether this entry resolves to a regular file.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"fileName",
|
|
"isDirectory",
|
|
"isFile"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"description": "Directory entries returned by `fs/readDirectory`.",
|
|
"properties": {
|
|
"entries": {
|
|
"description": "Direct child entries in the requested directory.",
|
|
"items": {
|
|
"$ref": "#/definitions/FsReadDirectoryEntry"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"entries"
|
|
],
|
|
"title": "FsReadDirectoryResponse",
|
|
"type": "object"
|
|
} |