{ "$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" }, "ConfigLayerMetadata": { "properties": { "name": { "$ref": "#/definitions/ConfigLayerSource" }, "version": { "type": "string" } }, "required": [ "name", "version" ], "type": "object" }, "ConfigLayerSource": { "oneOf": [ { "description": "Managed preferences layer delivered by MDM (macOS only).", "properties": { "domain": { "type": "string" }, "key": { "type": "string" }, "type": { "enum": [ "mdm" ], "title": "MdmConfigLayerSourceType", "type": "string" } }, "required": [ "domain", "key", "type" ], "title": "MdmConfigLayerSource", "type": "object" }, { "description": "Managed config layer from a file (usually `managed_config.toml`).", "properties": { "file": { "allOf": [ { "$ref": "#/definitions/AbsolutePathBuf" } ], "description": "This is the path to the system config.toml file, though it is not guaranteed to exist." }, "type": { "enum": [ "system" ], "title": "SystemConfigLayerSourceType", "type": "string" } }, "required": [ "file", "type" ], "title": "SystemConfigLayerSource", "type": "object" }, { "description": "User config layer from $CODEX_HOME/config.toml. This layer is special in that it is expected to be: - writable by the user - generally outside the workspace directory", "properties": { "file": { "allOf": [ { "$ref": "#/definitions/AbsolutePathBuf" } ], "description": "This is the path to the user's config.toml file, though it is not guaranteed to exist." }, "type": { "enum": [ "user" ], "title": "UserConfigLayerSourceType", "type": "string" } }, "required": [ "file", "type" ], "title": "UserConfigLayerSource", "type": "object" }, { "description": "Path to a .codex/ folder within a project. There could be multiple of these between `cwd` and the project/repo root.", "properties": { "dotCodexFolder": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": { "enum": [ "project" ], "title": "ProjectConfigLayerSourceType", "type": "string" } }, "required": [ "dotCodexFolder", "type" ], "title": "ProjectConfigLayerSource", "type": "object" }, { "description": "Session-layer overrides supplied via `-c`/`--config`.", "properties": { "type": { "enum": [ "sessionFlags" ], "title": "SessionFlagsConfigLayerSourceType", "type": "string" } }, "required": [ "type" ], "title": "SessionFlagsConfigLayerSource", "type": "object" }, { "description": "`managed_config.toml` was designed to be a config that was loaded as the last layer on top of everything else. This scheme did not quite work out as intended, but we keep this variant as a \"best effort\" while we phase out `managed_config.toml` in favor of `requirements.toml`.", "properties": { "file": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": { "enum": [ "legacyManagedConfigTomlFromFile" ], "title": "LegacyManagedConfigTomlFromFileConfigLayerSourceType", "type": "string" } }, "required": [ "file", "type" ], "title": "LegacyManagedConfigTomlFromFileConfigLayerSource", "type": "object" }, { "properties": { "type": { "enum": [ "legacyManagedConfigTomlFromMdm" ], "title": "LegacyManagedConfigTomlFromMdmConfigLayerSourceType", "type": "string" } }, "required": [ "type" ], "title": "LegacyManagedConfigTomlFromMdmConfigLayerSource", "type": "object" } ] }, "OverriddenMetadata": { "properties": { "effectiveValue": true, "message": { "type": "string" }, "overridingLayer": { "$ref": "#/definitions/ConfigLayerMetadata" } }, "required": [ "effectiveValue", "message", "overridingLayer" ], "type": "object" }, "WriteStatus": { "enum": [ "ok", "okOverridden" ], "type": "string" } }, "properties": { "filePath": { "allOf": [ { "$ref": "#/definitions/AbsolutePathBuf" } ], "description": "Canonical path to the config file that was written." }, "overriddenMetadata": { "anyOf": [ { "$ref": "#/definitions/OverriddenMetadata" }, { "type": "null" } ] }, "status": { "$ref": "#/definitions/WriteStatus" }, "version": { "type": "string" } }, "required": [ "filePath", "status", "version" ], "title": "ConfigWriteResponse", "type": "object" }