| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "definitions": { |
| "ExperimentalFeature": { |
| "properties": { |
| "announcement": { |
| "description": "Announcement copy shown to users when the feature is introduced. Null when this feature is not in beta.", |
| "type": [ |
| "string", |
| "null" |
| ] |
| }, |
| "defaultEnabled": { |
| "description": "Whether this feature is enabled by default.", |
| "type": "boolean" |
| }, |
| "description": { |
| "description": "Short summary describing what the feature does. Null when this feature is not in beta.", |
| "type": [ |
| "string", |
| "null" |
| ] |
| }, |
| "displayName": { |
| "description": "User-facing display name shown in the experimental features UI. Null when this feature is not in beta.", |
| "type": [ |
| "string", |
| "null" |
| ] |
| }, |
| "enabled": { |
| "description": "Whether this feature is currently enabled in the loaded config.", |
| "type": "boolean" |
| }, |
| "name": { |
| "description": "Stable key used in config.toml and CLI flag toggles.", |
| "type": "string" |
| }, |
| "stage": { |
| "allOf": [ |
| { |
| "$ref": "#/definitions/ExperimentalFeatureStage" |
| } |
| ], |
| "description": "Lifecycle stage of this feature flag." |
| } |
| }, |
| "required": [ |
| "defaultEnabled", |
| "enabled", |
| "name", |
| "stage" |
| ], |
| "type": "object" |
| }, |
| "ExperimentalFeatureStage": { |
| "oneOf": [ |
| { |
| "description": "Feature is available for user testing and feedback.", |
| "enum": [ |
| "beta" |
| ], |
| "type": "string" |
| }, |
| { |
| "description": "Feature is still being built and not ready for broad use.", |
| "enum": [ |
| "underDevelopment" |
| ], |
| "type": "string" |
| }, |
| { |
| "description": "Feature is production-ready.", |
| "enum": [ |
| "stable" |
| ], |
| "type": "string" |
| }, |
| { |
| "description": "Feature is deprecated and should be avoided.", |
| "enum": [ |
| "deprecated" |
| ], |
| "type": "string" |
| }, |
| { |
| "description": "Feature flag is retained only for backwards compatibility.", |
| "enum": [ |
| "removed" |
| ], |
| "type": "string" |
| } |
| ] |
| } |
| }, |
| "properties": { |
| "data": { |
| "items": { |
| "$ref": "#/definitions/ExperimentalFeature" |
| }, |
| "type": "array" |
| }, |
| "nextCursor": { |
| "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.", |
| "type": [ |
| "string", |
| "null" |
| ] |
| } |
| }, |
| "required": [ |
| "data" |
| ], |
| "title": "ExperimentalFeatureListResponse", |
| "type": "object" |
| } |