Files
codex/codex-rs/app-server-protocol/schema/json/v2/AppsReadResponse.json
stevenlee-oai b72079a2cf Use batch metadata for plugin app summaries (#34851)
## What changed

- Load app metadata for plugin read and install responses through the authenticated batch API, splitting requests into batches of 100 and retaining cached metadata if a batch fails.
- Preserve every declared app in plugin responses, using its ID as the fallback name and retaining categories from the plugin declaration when metadata is unavailable.
- Add `isEnabled`, `disabledReason`, and `isReadOnly` to `AppToolSummary`, with defaults that keep legacy responses compatible.

## Testing

- Cover plugin reads with more than 100 apps, partial batch failures, install-time authentication results, tool-state propagation, and legacy tool summaries.

GitOrigin-RevId: 14000df9c5c94dde781358e292a8bef741c5dd23
2026-07-23 01:00:35 +00:00

124 lines
2.4 KiB
JSON
Generated

{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"AppToolSummary": {
"description": "EXPERIMENTAL - metadata returned by app/read.",
"properties": {
"description": {
"type": "string"
},
"disabledReason": {
"type": [
"string",
"null"
]
},
"isEnabled": {
"default": true,
"type": "boolean"
},
"isReadOnly": {
"default": false,
"type": "boolean"
},
"name": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"description",
"name"
],
"type": "object"
},
"ConnectorMetadata": {
"description": "EXPERIMENTAL - metadata returned by app/read.",
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"distributionChannel": {
"type": [
"string",
"null"
]
},
"iconUrl": {
"type": [
"string",
"null"
]
},
"iconUrlDark": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"installUrl": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"pluginDisplayNames": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
},
"toolSummaries": {
"items": {
"$ref": "#/definitions/AppToolSummary"
},
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"name"
],
"type": "object"
}
},
"description": "EXPERIMENTAL - app/read response.",
"properties": {
"apps": {
"items": {
"$ref": "#/definitions/ConnectorMetadata"
},
"type": "array"
},
"missingAppIds": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"apps",
"missingAppIds"
],
"title": "AppsReadResponse",
"type": "object"
}