Files
codex/codex-rs/app-server-protocol/schema/json/v2/ThreadSectionCreateResponse.json
joeytrasatti-openai 1549756b78 Add appearance metadata to thread sections (#37898)
## What changed

- Add optional `icon` and `color` appearance fields to custom thread sections and expose them through the app-server protocol.
- Persist appearance metadata in SQLite and include it when listing sections or returning threads.
- Let `threadSection/update` preserve an omitted appearance, clear it with `null`, or replace it with a new value.
- Reject appearance fields larger than 64 bytes.

## Testing

- Cover protocol compatibility, persistence across restart, update and clear behavior, and field-length validation.

GitOrigin-RevId: 8f55ce4f42f8bd17aa5416848a85845f681953df
2026-08-10 23:32:42 +00:00

64 lines
1.5 KiB
JSON
Generated

{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"ThreadSection": {
"description": "An independently persisted, user-visible thread section.",
"properties": {
"appearance": {
"anyOf": [
{
"$ref": "#/definitions/ThreadSectionAppearance"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional appearance synchronized across clients."
},
"id": {
"description": "Opaque UUIDv7 identity that remains stable when the section is renamed.",
"type": "string"
},
"name": {
"description": "The current user-visible section name.",
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"ThreadSectionAppearance": {
"description": "Extensible visual presentation for a custom thread section.",
"properties": {
"color": {
"type": [
"string",
"null"
]
},
"icon": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
"description": "The independently persisted section created by the server.",
"properties": {
"section": {
"$ref": "#/definitions/ThreadSection"
}
},
"required": [
"section"
],
"title": "ThreadSectionCreateResponse",
"type": "object"
}