-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathcapabilities_schema.json
More file actions
54 lines (52 loc) · 2.02 KB
/
capabilities_schema.json
File metadata and controls
54 lines (52 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Capabilities Schema",
"description": "Schema for validating capabilities YAML files that define expected Remote Config capabilities reported by tracer libraries across different versions",
"properties": {
"capabilities": {
"type": "object",
"description": "Main capabilities section mapping language names to their capability definitions. Each language can have a 'base' set (available in all versions) and version-specific capability sets.",
"patternProperties": {
"^[a-z]+$": {
"$ref": "#/$defs/language_capabilities",
"description": "Language name (e.g., 'java', 'nodejs', 'python')"
}
},
"additionalProperties": false
}
},
"required": ["capabilities"],
"additionalProperties": false,
"$defs": {
"language_capabilities": {
"type": "object",
"description": "Capability definitions for a specific language. Must include a 'base' set, and can optionally include version-specific capability sets.",
"properties": {
"base": {
"$ref": "#/$defs/capability_list",
"description": "Capabilities available in all tested versions of this language"
}
},
"patternProperties": {
"^(>=|>|<=|<|\\^|~|\\*|[0-9]).*": {
"$ref": "#/$defs/capability_list",
"description": "Capabilities added in specific version ranges. Uses npm SemVer syntax (e.g., '>=5.72.0', '>=3.0.0 || ^2.13.0')"
}
},
"required": ["base"],
"additionalProperties": false
},
"capability_list": {
"type": "array",
"description": "List of capability names. Each must match a valid Capabilities enum value from utils/dd_constants.py",
"items": {
"type": "string",
"pattern": "^[A-Z_]+$",
"description": "Capability name in UPPER_SNAKE_CASE format (e.g., 'APM_TRACING_SAMPLE_RATE', 'ASM_ACTIVATION')"
},
"uniqueItems": true,
"minItems": 1
}
}
}