rsmp_schema 0.8.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/copilot-instructions.md +19 -20
- data/.gitignore +1 -0
- data/.tool-versions +1 -1
- data/Gemfile.lock +11 -11
- data/lib/rsmp_schema/convert/export/json_schema.rb +78 -38
- data/lib/rsmp_schema/version.rb +1 -1
- data/lib/rsmp_schema.rb +5 -0
- data/rsmp_schema.gemspec +3 -3
- data/schemas/core/3.3.0/aggregated_status.json +90 -0
- data/schemas/core/3.3.0/aggregated_status_request.json +9 -0
- data/schemas/core/3.3.0/alarm.json +75 -0
- data/schemas/core/3.3.0/alarm_request.json +3 -0
- data/schemas/core/3.3.0/command_request.json +26 -0
- data/schemas/core/3.3.0/command_response.json +35 -0
- data/schemas/core/3.3.0/core.json +39 -0
- data/schemas/core/3.3.0/definitions.json +35 -0
- data/schemas/core/3.3.0/rsmp.json +133 -0
- data/schemas/core/3.3.0/status.json +21 -0
- data/schemas/core/3.3.0/status_request.json +23 -0
- data/schemas/core/3.3.0/status_subscribe.json +31 -0
- data/schemas/core/3.3.0/version.json +57 -0
- data/schemas/tlc/1.0.10/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.10/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.10/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.10/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.10/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.10/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.10/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.10/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.10/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.10/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.10/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.10/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.10/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.10/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.10/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.10/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.10/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.10/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.10/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.10/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.10/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.10/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.10/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.10/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.10/commands/commands.json +1 -0
- data/schemas/tlc/1.0.10/rsmp.json +1 -0
- data/schemas/tlc/1.0.10/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.10/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.10/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.10/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.10/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.10/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.10/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.10/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.10/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.10/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.10/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.10/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.10/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.13/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.13/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.13/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.13/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.13/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.13/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.13/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.13/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.13/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.13/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.13/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.13/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.13/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.13/commands/M0014.json +49 -86
- data/schemas/tlc/1.0.13/commands/M0015.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0016.json +32 -60
- data/schemas/tlc/1.0.13/commands/M0017.json +32 -60
- data/schemas/tlc/1.0.13/commands/M0018.json +49 -92
- data/schemas/tlc/1.0.13/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.13/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.13/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.13/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.13/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.13/commands/commands.json +1 -0
- data/schemas/tlc/1.0.13/rsmp.json +1 -0
- data/schemas/tlc/1.0.13/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.13/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.13/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.13/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.13/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.13/statuses/S0022.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0023.json +30 -49
- data/schemas/tlc/1.0.13/statuses/S0024.json +30 -49
- data/schemas/tlc/1.0.13/statuses/S0025.json +153 -241
- data/schemas/tlc/1.0.13/statuses/S0026.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0027.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0028.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0029.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.13/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.13/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.13/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.13/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.13/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.13/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.14/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.14/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.14/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.14/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.14/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.14/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.14/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.14/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.14/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.14/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.14/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.14/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.14/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.14/commands/M0014.json +49 -86
- data/schemas/tlc/1.0.14/commands/M0015.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0016.json +32 -60
- data/schemas/tlc/1.0.14/commands/M0017.json +32 -60
- data/schemas/tlc/1.0.14/commands/M0018.json +49 -92
- data/schemas/tlc/1.0.14/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.14/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.14/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.14/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.14/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.14/commands/commands.json +1 -0
- data/schemas/tlc/1.0.14/rsmp.json +1 -0
- data/schemas/tlc/1.0.14/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.14/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.14/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.14/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.14/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.14/statuses/S0022.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0023.json +30 -49
- data/schemas/tlc/1.0.14/statuses/S0024.json +30 -49
- data/schemas/tlc/1.0.14/statuses/S0025.json +153 -241
- data/schemas/tlc/1.0.14/statuses/S0026.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0027.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0028.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0029.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.14/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.14/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.14/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.14/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.14/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.14/statuses/S0205.json +44 -72
- data/schemas/tlc/1.0.14/statuses/S0206.json +44 -72
- data/schemas/tlc/1.0.14/statuses/S0207.json +44 -72
- data/schemas/tlc/1.0.14/statuses/S0208.json +189 -241
- data/schemas/tlc/1.0.14/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.15/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0010.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.15/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.15/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.15/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.15/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.15/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.15/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.15/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.15/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.15/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.15/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.15/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.15/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.15/commands/M0014.json +49 -86
- data/schemas/tlc/1.0.15/commands/M0015.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0016.json +32 -60
- data/schemas/tlc/1.0.15/commands/M0017.json +32 -60
- data/schemas/tlc/1.0.15/commands/M0018.json +49 -92
- data/schemas/tlc/1.0.15/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.15/commands/M0020.json +67 -119
- data/schemas/tlc/1.0.15/commands/M0021.json +32 -60
- data/schemas/tlc/1.0.15/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.15/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.15/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.15/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.15/commands/commands.json +1 -0
- data/schemas/tlc/1.0.15/rsmp.json +1 -0
- data/schemas/tlc/1.0.15/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.15/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.15/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.15/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.15/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.15/statuses/S0022.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0023.json +30 -49
- data/schemas/tlc/1.0.15/statuses/S0024.json +30 -49
- data/schemas/tlc/1.0.15/statuses/S0025.json +153 -241
- data/schemas/tlc/1.0.15/statuses/S0026.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0027.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0028.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0029.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0030.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0031.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.15/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.15/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.15/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.15/statuses/S0097.json +44 -72
- data/schemas/tlc/1.0.15/statuses/S0098.json +61 -92
- data/schemas/tlc/1.0.15/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.15/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.15/statuses/S0205.json +44 -72
- data/schemas/tlc/1.0.15/statuses/S0206.json +44 -72
- data/schemas/tlc/1.0.15/statuses/S0207.json +44 -72
- data/schemas/tlc/1.0.15/statuses/S0208.json +189 -241
- data/schemas/tlc/1.0.15/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.7/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.7/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.7/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.7/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.7/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.7/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.7/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.7/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.7/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.7/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.7/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.7/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.7/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.7/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.7/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.7/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.7/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.7/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.7/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.7/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.7/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.7/commands/commands.json +1 -0
- data/schemas/tlc/1.0.7/rsmp.json +1 -0
- data/schemas/tlc/1.0.7/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.7/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.7/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.7/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.7/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.7/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.7/statuses/S0025.json +153 -241
- data/schemas/tlc/1.0.7/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.7/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.7/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.7/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.7/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.7/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.7/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.8/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.8/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.8/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.8/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.8/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.8/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.8/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.8/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.8/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.8/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.8/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.8/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.8/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.8/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.8/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.8/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.8/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.8/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.8/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.8/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.8/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.8/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.8/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.8/commands/commands.json +1 -0
- data/schemas/tlc/1.0.8/rsmp.json +1 -0
- data/schemas/tlc/1.0.8/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.8/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.8/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.8/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.8/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.8/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.8/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.8/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.8/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.8/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.8/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.8/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.8/statuses/statuses.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0001.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0002.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0003.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0004.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0005.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0006.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0007.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0008.json +15 -46
- data/schemas/tlc/1.0.9/alarms/A0009.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0101.json +1 -0
- data/schemas/tlc/1.0.9/alarms/A0201.json +20 -45
- data/schemas/tlc/1.0.9/alarms/A0202.json +20 -45
- data/schemas/tlc/1.0.9/alarms/A0301.json +70 -110
- data/schemas/tlc/1.0.9/alarms/A0302.json +93 -136
- data/schemas/tlc/1.0.9/alarms/alarms.json +1 -0
- data/schemas/tlc/1.0.9/commands/M0001.json +72 -124
- data/schemas/tlc/1.0.9/commands/M0002.json +49 -92
- data/schemas/tlc/1.0.9/commands/M0003.json +49 -92
- data/schemas/tlc/1.0.9/commands/M0004.json +32 -66
- data/schemas/tlc/1.0.9/commands/M0005.json +49 -92
- data/schemas/tlc/1.0.9/commands/M0006.json +49 -92
- data/schemas/tlc/1.0.9/commands/M0007.json +32 -66
- data/schemas/tlc/1.0.9/commands/M0008.json +49 -92
- data/schemas/tlc/1.0.9/commands/M0010.json +32 -66
- data/schemas/tlc/1.0.9/commands/M0011.json +32 -66
- data/schemas/tlc/1.0.9/commands/M0012.json +32 -60
- data/schemas/tlc/1.0.9/commands/M0013.json +32 -60
- data/schemas/tlc/1.0.9/commands/M0019.json +67 -119
- data/schemas/tlc/1.0.9/commands/M0103.json +52 -83
- data/schemas/tlc/1.0.9/commands/M0104.json +121 -200
- data/schemas/tlc/1.0.9/commands/command_requests.json +1 -0
- data/schemas/tlc/1.0.9/commands/command_responses.json +1 -0
- data/schemas/tlc/1.0.9/commands/commands.json +1 -0
- data/schemas/tlc/1.0.9/rsmp.json +1 -0
- data/schemas/tlc/1.0.9/statuses/S0001.json +78 -124
- data/schemas/tlc/1.0.9/statuses/S0002.json +29 -48
- data/schemas/tlc/1.0.9/statuses/S0003.json +44 -66
- data/schemas/tlc/1.0.9/statuses/S0004.json +44 -66
- data/schemas/tlc/1.0.9/statuses/S0005.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0006.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0007.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0008.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0009.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0010.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0011.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0012.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0013.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0014.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0015.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0016.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0017.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0018.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0019.json +29 -54
- data/schemas/tlc/1.0.9/statuses/S0020.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0021.json +30 -49
- data/schemas/tlc/1.0.9/statuses/S0091.json +47 -69
- data/schemas/tlc/1.0.9/statuses/S0092.json +47 -69
- data/schemas/tlc/1.0.9/statuses/S0095.json +29 -48
- data/schemas/tlc/1.0.9/statuses/S0096.json +110 -180
- data/schemas/tlc/1.0.9/statuses/S0201.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0202.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0203.json +44 -78
- data/schemas/tlc/1.0.9/statuses/S0204.json +178 -284
- data/schemas/tlc/1.0.9/statuses/statuses.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0001.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0002.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0003.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0004.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0005.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0006.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0007.json +19 -44
- data/schemas/tlc/1.1.0/alarms/A0008.json +15 -46
- data/schemas/tlc/1.1.0/alarms/A0009.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0010.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0101.json +1 -0
- data/schemas/tlc/1.1.0/alarms/A0201.json +20 -45
- data/schemas/tlc/1.1.0/alarms/A0202.json +20 -45
- data/schemas/tlc/1.1.0/alarms/A0301.json +70 -110
- data/schemas/tlc/1.1.0/alarms/A0302.json +93 -136
- data/schemas/tlc/1.1.0/alarms/A0303.json +70 -110
- data/schemas/tlc/1.1.0/alarms/A0304.json +93 -136
- data/schemas/tlc/1.1.0/alarms/alarms.json +1 -0
- data/schemas/tlc/1.1.0/commands/M0001.json +72 -118
- data/schemas/tlc/1.1.0/commands/M0002.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0003.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0004.json +32 -66
- data/schemas/tlc/1.1.0/commands/M0005.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0006.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0007.json +32 -66
- data/schemas/tlc/1.1.0/commands/M0008.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0010.json +32 -66
- data/schemas/tlc/1.1.0/commands/M0011.json +32 -66
- data/schemas/tlc/1.1.0/commands/M0012.json +32 -60
- data/schemas/tlc/1.1.0/commands/M0013.json +32 -60
- data/schemas/tlc/1.1.0/commands/M0014.json +49 -86
- data/schemas/tlc/1.1.0/commands/M0015.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0016.json +32 -60
- data/schemas/tlc/1.1.0/commands/M0017.json +32 -60
- data/schemas/tlc/1.1.0/commands/M0018.json +49 -92
- data/schemas/tlc/1.1.0/commands/M0019.json +67 -119
- data/schemas/tlc/1.1.0/commands/M0020.json +67 -119
- data/schemas/tlc/1.1.0/commands/M0021.json +32 -60
- data/schemas/tlc/1.1.0/commands/M0022.json +227 -333
- data/schemas/tlc/1.1.0/commands/M0023.json +32 -66
- data/schemas/tlc/1.1.0/commands/M0103.json +52 -83
- data/schemas/tlc/1.1.0/commands/M0104.json +121 -200
- data/schemas/tlc/1.1.0/commands/command_requests.json +1 -0
- data/schemas/tlc/1.1.0/commands/command_responses.json +1 -0
- data/schemas/tlc/1.1.0/commands/commands.json +1 -0
- data/schemas/tlc/1.1.0/rsmp.json +1 -0
- data/schemas/tlc/1.1.0/statuses/S0001.json +78 -124
- data/schemas/tlc/1.1.0/statuses/S0002.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0003.json +44 -66
- data/schemas/tlc/1.1.0/statuses/S0004.json +44 -66
- data/schemas/tlc/1.1.0/statuses/S0005.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0006.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0007.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0008.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0009.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0010.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0011.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0012.json +62 -105
- data/schemas/tlc/1.1.0/statuses/S0013.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0014.json +52 -80
- data/schemas/tlc/1.1.0/statuses/S0015.json +52 -80
- data/schemas/tlc/1.1.0/statuses/S0016.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0017.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0018.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0019.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0020.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0021.json +30 -49
- data/schemas/tlc/1.1.0/statuses/S0022.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0023.json +30 -49
- data/schemas/tlc/1.1.0/statuses/S0024.json +30 -49
- data/schemas/tlc/1.1.0/statuses/S0025.json +153 -241
- data/schemas/tlc/1.1.0/statuses/S0026.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0027.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0028.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0029.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0030.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0031.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0032.json +61 -104
- data/schemas/tlc/1.1.0/statuses/S0033.json +67 -104
- data/schemas/tlc/1.1.0/statuses/S0034.json +29 -54
- data/schemas/tlc/1.1.0/statuses/S0091.json +33 -58
- data/schemas/tlc/1.1.0/statuses/S0092.json +33 -58
- data/schemas/tlc/1.1.0/statuses/S0095.json +29 -48
- data/schemas/tlc/1.1.0/statuses/S0096.json +110 -180
- data/schemas/tlc/1.1.0/statuses/S0097.json +44 -72
- data/schemas/tlc/1.1.0/statuses/S0098.json +61 -92
- data/schemas/tlc/1.1.0/statuses/S0201.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0202.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0203.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0204.json +178 -284
- data/schemas/tlc/1.1.0/statuses/S0205.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0206.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0207.json +44 -78
- data/schemas/tlc/1.1.0/statuses/S0208.json +178 -284
- data/schemas/tlc/1.1.0/statuses/statuses.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0001.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0002.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0003.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0004.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0005.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0006.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0007.json +19 -44
- data/schemas/tlc/1.2.0/alarms/A0008.json +15 -46
- data/schemas/tlc/1.2.0/alarms/A0009.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0010.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0101.json +1 -0
- data/schemas/tlc/1.2.0/alarms/A0201.json +20 -45
- data/schemas/tlc/1.2.0/alarms/A0202.json +20 -45
- data/schemas/tlc/1.2.0/alarms/A0301.json +70 -110
- data/schemas/tlc/1.2.0/alarms/A0302.json +93 -136
- data/schemas/tlc/1.2.0/alarms/A0303.json +70 -110
- data/schemas/tlc/1.2.0/alarms/A0304.json +93 -136
- data/schemas/tlc/1.2.0/alarms/alarms.json +1 -0
- data/schemas/tlc/1.2.0/commands/M0001.json +72 -118
- data/schemas/tlc/1.2.0/commands/M0002.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0003.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0004.json +32 -66
- data/schemas/tlc/1.2.0/commands/M0005.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0006.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0007.json +32 -66
- data/schemas/tlc/1.2.0/commands/M0008.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0010.json +32 -66
- data/schemas/tlc/1.2.0/commands/M0011.json +32 -66
- data/schemas/tlc/1.2.0/commands/M0012.json +32 -60
- data/schemas/tlc/1.2.0/commands/M0013.json +32 -60
- data/schemas/tlc/1.2.0/commands/M0014.json +49 -86
- data/schemas/tlc/1.2.0/commands/M0015.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0016.json +32 -60
- data/schemas/tlc/1.2.0/commands/M0017.json +32 -60
- data/schemas/tlc/1.2.0/commands/M0018.json +49 -92
- data/schemas/tlc/1.2.0/commands/M0019.json +67 -119
- data/schemas/tlc/1.2.0/commands/M0020.json +67 -119
- data/schemas/tlc/1.2.0/commands/M0021.json +32 -60
- data/schemas/tlc/1.2.0/commands/M0022.json +227 -333
- data/schemas/tlc/1.2.0/commands/M0023.json +32 -66
- data/schemas/tlc/1.2.0/commands/M0103.json +52 -83
- data/schemas/tlc/1.2.0/commands/M0104.json +121 -200
- data/schemas/tlc/1.2.0/commands/command_requests.json +1 -0
- data/schemas/tlc/1.2.0/commands/command_responses.json +1 -0
- data/schemas/tlc/1.2.0/commands/commands.json +1 -0
- data/schemas/tlc/1.2.0/rsmp.json +1 -0
- data/schemas/tlc/1.2.0/statuses/S0001.json +78 -124
- data/schemas/tlc/1.2.0/statuses/S0002.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0003.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0004.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0005.json +59 -99
- data/schemas/tlc/1.2.0/statuses/S0006.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0007.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0008.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0009.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0010.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0011.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0012.json +62 -105
- data/schemas/tlc/1.2.0/statuses/S0013.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0014.json +52 -80
- data/schemas/tlc/1.2.0/statuses/S0015.json +52 -80
- data/schemas/tlc/1.2.0/statuses/S0016.json +29 -54
- data/schemas/tlc/1.2.0/statuses/S0017.json +29 -54
- data/schemas/tlc/1.2.0/statuses/S0019.json +29 -54
- data/schemas/tlc/1.2.0/statuses/S0020.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0021.json +30 -49
- data/schemas/tlc/1.2.0/statuses/S0022.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0023.json +30 -49
- data/schemas/tlc/1.2.0/statuses/S0024.json +30 -49
- data/schemas/tlc/1.2.0/statuses/S0025.json +153 -241
- data/schemas/tlc/1.2.0/statuses/S0026.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0027.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0028.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0029.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0030.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0031.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0032.json +61 -104
- data/schemas/tlc/1.2.0/statuses/S0033.json +67 -104
- data/schemas/tlc/1.2.0/statuses/S0034.json +29 -54
- data/schemas/tlc/1.2.0/statuses/S0035.json +39 -64
- data/schemas/tlc/1.2.0/statuses/S0091.json +33 -58
- data/schemas/tlc/1.2.0/statuses/S0092.json +33 -58
- data/schemas/tlc/1.2.0/statuses/S0095.json +29 -48
- data/schemas/tlc/1.2.0/statuses/S0096.json +110 -180
- data/schemas/tlc/1.2.0/statuses/S0097.json +44 -72
- data/schemas/tlc/1.2.0/statuses/S0098.json +61 -92
- data/schemas/tlc/1.2.0/statuses/S0201.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0202.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0203.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0204.json +178 -284
- data/schemas/tlc/1.2.0/statuses/S0205.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0206.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0207.json +44 -78
- data/schemas/tlc/1.2.0/statuses/S0208.json +178 -284
- data/schemas/tlc/1.2.0/statuses/statuses.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0001.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0002.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0003.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0004.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0005.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0006.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0007.json +19 -44
- data/schemas/tlc/1.2.1/alarms/A0008.json +15 -46
- data/schemas/tlc/1.2.1/alarms/A0009.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0010.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0101.json +1 -0
- data/schemas/tlc/1.2.1/alarms/A0201.json +20 -45
- data/schemas/tlc/1.2.1/alarms/A0202.json +20 -45
- data/schemas/tlc/1.2.1/alarms/A0301.json +70 -110
- data/schemas/tlc/1.2.1/alarms/A0302.json +93 -136
- data/schemas/tlc/1.2.1/alarms/A0303.json +70 -110
- data/schemas/tlc/1.2.1/alarms/A0304.json +93 -136
- data/schemas/tlc/1.2.1/alarms/alarms.json +1 -0
- data/schemas/tlc/1.2.1/commands/M0001.json +72 -118
- data/schemas/tlc/1.2.1/commands/M0002.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0003.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0004.json +32 -66
- data/schemas/tlc/1.2.1/commands/M0005.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0006.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0007.json +32 -66
- data/schemas/tlc/1.2.1/commands/M0008.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0010.json +32 -66
- data/schemas/tlc/1.2.1/commands/M0011.json +32 -66
- data/schemas/tlc/1.2.1/commands/M0012.json +32 -60
- data/schemas/tlc/1.2.1/commands/M0013.json +32 -60
- data/schemas/tlc/1.2.1/commands/M0014.json +49 -86
- data/schemas/tlc/1.2.1/commands/M0015.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0016.json +32 -60
- data/schemas/tlc/1.2.1/commands/M0017.json +32 -60
- data/schemas/tlc/1.2.1/commands/M0018.json +49 -92
- data/schemas/tlc/1.2.1/commands/M0019.json +67 -119
- data/schemas/tlc/1.2.1/commands/M0020.json +67 -119
- data/schemas/tlc/1.2.1/commands/M0021.json +32 -60
- data/schemas/tlc/1.2.1/commands/M0022.json +227 -333
- data/schemas/tlc/1.2.1/commands/M0023.json +32 -66
- data/schemas/tlc/1.2.1/commands/M0103.json +52 -83
- data/schemas/tlc/1.2.1/commands/M0104.json +121 -200
- data/schemas/tlc/1.2.1/commands/command_requests.json +1 -0
- data/schemas/tlc/1.2.1/commands/command_responses.json +1 -0
- data/schemas/tlc/1.2.1/commands/commands.json +1 -0
- data/schemas/tlc/1.2.1/rsmp.json +1 -0
- data/schemas/tlc/1.2.1/statuses/S0001.json +78 -124
- data/schemas/tlc/1.2.1/statuses/S0002.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0003.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0004.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0005.json +59 -99
- data/schemas/tlc/1.2.1/statuses/S0006.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0007.json +62 -105
- data/schemas/tlc/1.2.1/statuses/S0008.json +62 -105
- data/schemas/tlc/1.2.1/statuses/S0009.json +62 -105
- data/schemas/tlc/1.2.1/statuses/S0010.json +60 -105
- data/schemas/tlc/1.2.1/statuses/S0011.json +62 -105
- data/schemas/tlc/1.2.1/statuses/S0012.json +62 -105
- data/schemas/tlc/1.2.1/statuses/S0013.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0014.json +52 -80
- data/schemas/tlc/1.2.1/statuses/S0015.json +52 -80
- data/schemas/tlc/1.2.1/statuses/S0016.json +29 -54
- data/schemas/tlc/1.2.1/statuses/S0017.json +29 -54
- data/schemas/tlc/1.2.1/statuses/S0019.json +29 -54
- data/schemas/tlc/1.2.1/statuses/S0020.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0021.json +30 -49
- data/schemas/tlc/1.2.1/statuses/S0022.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0023.json +30 -49
- data/schemas/tlc/1.2.1/statuses/S0024.json +30 -49
- data/schemas/tlc/1.2.1/statuses/S0025.json +153 -241
- data/schemas/tlc/1.2.1/statuses/S0026.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0027.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0028.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0029.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0030.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0031.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0032.json +61 -104
- data/schemas/tlc/1.2.1/statuses/S0033.json +67 -104
- data/schemas/tlc/1.2.1/statuses/S0034.json +29 -54
- data/schemas/tlc/1.2.1/statuses/S0035.json +39 -64
- data/schemas/tlc/1.2.1/statuses/S0091.json +33 -58
- data/schemas/tlc/1.2.1/statuses/S0092.json +33 -58
- data/schemas/tlc/1.2.1/statuses/S0095.json +29 -48
- data/schemas/tlc/1.2.1/statuses/S0096.json +110 -180
- data/schemas/tlc/1.2.1/statuses/S0097.json +44 -72
- data/schemas/tlc/1.2.1/statuses/S0098.json +61 -92
- data/schemas/tlc/1.2.1/statuses/S0201.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0202.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0203.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0204.json +178 -284
- data/schemas/tlc/1.2.1/statuses/S0205.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0206.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0207.json +44 -78
- data/schemas/tlc/1.2.1/statuses/S0208.json +178 -284
- data/schemas/tlc/1.2.1/statuses/statuses.json +1 -0
- data/schemas/tlc/defs/guards.json +24 -0
- metadata +23 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86686f176a4c15c90f569c0d60dbeafb56a27c2fe0d06f379791f2314bf1884f
|
4
|
+
data.tar.gz: 5e33a0a3e94483f5fe496168b3de4c704e8ea566f32f217cce4db15829b654c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d579d39429c9b4025794282e3fa45958f05849971b80745c089ca0fb8f79fe35909a1d800e1a6b92ff9aa4976c862e548197cb574b484ff0db5d9d1ed3b4b36
|
7
|
+
data.tar.gz: cb0d7767006fd9aac1ad8d6092df01a33bc089a46eef9d05be21433a0de437034de18cb63a9960bec94c11319735ac7beaf1b16b1841b5ad1c0f71cfa77629b7
|
@@ -5,38 +5,28 @@ RSMP Schema is a Ruby gem that provides JSON Schema validation for RSMP (Road Si
|
|
5
5
|
Always reference these instructions first, and fall back to search or bash commands only when you encounter unexpected information that does not match the info here.
|
6
6
|
|
7
7
|
## Environment Setup
|
8
|
-
Copilot Agent runs in a minimal Docker container, NOT the devcontainer specified in .devcontainer.
|
9
8
|
|
10
|
-
|
11
|
-
The Ruby version migh not match what's specified in .tool-versions, but it should still be possible to work in the repo
|
9
|
+
Bootstrap, build, and test the repository using mise:
|
12
10
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
```sh
|
17
|
-
gem install bundler --install-dir ~/.local/share/gem
|
18
|
-
```
|
11
|
+
```bash
|
12
|
+
# Install mise (if not already installed), follow instructions at https://mise.jdx.dev/
|
13
|
+
curl https://mise.run | sh
|
19
14
|
|
20
|
-
|
21
|
-
|
22
|
-
export PATH="$HOME/.local/share/gem/bin:$PATH"
|
23
|
-
```
|
15
|
+
# Install the Ruby version specified in .tool-versions
|
16
|
+
mise install
|
24
17
|
|
25
|
-
|
26
|
-
|
27
|
-
```sh
|
28
|
-
bundle config set --local path ~/.local/share/gem
|
18
|
+
# Install all dependencies.
|
19
|
+
# The bundler gem is included by default in the Ruby installation and does not have to be installed first.
|
29
20
|
bundle install
|
30
21
|
```
|
31
22
|
|
32
|
-
## Using Gem Executables
|
33
|
-
Always use 'bundle exec' to run executable from gems.
|
34
|
-
|
35
23
|
## Running Tests
|
24
|
+
|
36
25
|
The test suite includes comprehensive RSpec tests covering:
|
37
26
|
- Core RSMP message validation
|
38
27
|
- Traffic Light Controller SXL validation
|
39
28
|
|
29
|
+
|
40
30
|
Run the complete test suite:
|
41
31
|
```bash
|
42
32
|
# Test command takes approximately 2 seconds
|
@@ -46,6 +36,7 @@ bundle exec rspec
|
|
46
36
|
All tests should pass on a clean repository.
|
47
37
|
|
48
38
|
## CLI Tool Usage
|
39
|
+
|
49
40
|
The gem provides a CLI tool for converting YAML SXL files to JSON Schema:
|
50
41
|
|
51
42
|
```bash
|
@@ -60,6 +51,7 @@ bundle exec exe/rsmp_schema convert -i schemas/tlc/1.2.1/sxl.yaml -o tmp/sxl_1.2
|
|
60
51
|
```
|
61
52
|
|
62
53
|
## Schema Regeneration
|
54
|
+
|
63
55
|
Regenerate all TLC JSON schemas from their YAML sources:
|
64
56
|
|
65
57
|
```bash
|
@@ -85,6 +77,7 @@ bundle exec ruby examples/validate.rb
|
|
85
77
|
Expected output: `ok` (indicates successful validation)
|
86
78
|
|
87
79
|
## Repository Structure
|
80
|
+
|
88
81
|
Key directories and files:
|
89
82
|
- `lib/rsmp_schema/` - Main gem code
|
90
83
|
- `lib/rsmp_schema/cli.rb` - CLI tool implementation
|
@@ -114,6 +107,7 @@ Key directories and files:
|
|
114
107
|
- Helper: `spec/schemer_helper.rb`
|
115
108
|
|
116
109
|
## CI Pipeline Validation
|
110
|
+
|
117
111
|
The repository uses GitHub Actions with the following requirements:
|
118
112
|
- Runs on Ubuntu, macOS, and Windows
|
119
113
|
- Tests with different Ruby versions
|
@@ -126,6 +120,7 @@ Before committing changes, ensure:
|
|
126
120
|
- Ruby syntax is valid for modified files
|
127
121
|
|
128
122
|
## Validation Scenarios
|
123
|
+
|
129
124
|
After making changes, always test these scenarios:
|
130
125
|
|
131
126
|
1. **Schema regeneration**: Run `bundle exec rake regenerate` and verify no unexpected changes.
|
@@ -161,12 +156,15 @@ git status
|
|
161
156
|
```
|
162
157
|
|
163
158
|
|
159
|
+
|
164
160
|
## Dependencies and Versions
|
161
|
+
|
165
162
|
See `rsmp_schema.gemspec` for current runtime and development dependencies.
|
166
163
|
|
167
164
|
Requires the Ruby version specified in .tool-versions.
|
168
165
|
|
169
166
|
## Common Issues and Solutions
|
167
|
+
|
170
168
|
**Ruby version or environment issues**:
|
171
169
|
- Use mise for automatic Ruby management: `mise install`
|
172
170
|
|
@@ -186,6 +184,7 @@ Requires the Ruby version specified in .tool-versions.
|
|
186
184
|
- Check Ruby version compatibility (see .tool-versions)
|
187
185
|
|
188
186
|
## Timing Expectations
|
187
|
+
|
189
188
|
- **NEVER CANCEL**: Bundle install takes 10-15 seconds normally - wait for completion
|
190
189
|
- **NEVER CANCEL**: Test suite takes 2 seconds - use 30+ second timeout
|
191
190
|
- **NEVER CANCEL**: Schema regeneration takes 0.75 seconds - very fast but allow buffer
|
data/.gitignore
CHANGED
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 3.
|
1
|
+
ruby 3.4
|
data/Gemfile.lock
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rsmp_schema (0.
|
5
|
-
json_schemer (~> 2.
|
6
|
-
thor (~> 1.
|
4
|
+
rsmp_schema (0.9.0)
|
5
|
+
json_schemer (~> 2.3.0)
|
6
|
+
thor (~> 1.3.1)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
bigdecimal (3.2.
|
11
|
+
bigdecimal (3.2.3)
|
12
12
|
diff-lcs (1.6.2)
|
13
13
|
hana (1.3.7)
|
14
|
-
json_schemer (2.
|
14
|
+
json_schemer (2.3.0)
|
15
15
|
bigdecimal
|
16
16
|
hana (~> 1.3)
|
17
17
|
regexp_parser (~> 2.0)
|
18
18
|
simpleidn (~> 0.2)
|
19
|
-
rake (13.
|
20
|
-
regexp_parser (2.11.
|
19
|
+
rake (13.2.1)
|
20
|
+
regexp_parser (2.11.3)
|
21
21
|
rspec (3.13.1)
|
22
22
|
rspec-core (~> 3.13.0)
|
23
23
|
rspec-expectations (~> 3.13.0)
|
@@ -30,18 +30,18 @@ GEM
|
|
30
30
|
rspec-mocks (3.13.5)
|
31
31
|
diff-lcs (>= 1.2.0, < 2.0)
|
32
32
|
rspec-support (~> 3.13.0)
|
33
|
-
rspec-support (3.13.
|
33
|
+
rspec-support (3.13.6)
|
34
34
|
simpleidn (0.2.3)
|
35
|
-
thor (1.
|
35
|
+
thor (1.3.2)
|
36
36
|
|
37
37
|
PLATFORMS
|
38
38
|
ruby
|
39
39
|
|
40
40
|
DEPENDENCIES
|
41
|
-
rake (~> 13.
|
41
|
+
rake (~> 13.2.1)
|
42
42
|
rsmp_schema!
|
43
43
|
rspec (~> 3.13.0)
|
44
44
|
rspec-expectations (~> 3.13.0)
|
45
45
|
|
46
46
|
BUNDLED WITH
|
47
|
-
2.
|
47
|
+
2.7.2
|
@@ -61,7 +61,7 @@ module RSMP
|
|
61
61
|
"items" => {
|
62
62
|
"type" => "object",
|
63
63
|
"required" => required,
|
64
|
-
"
|
64
|
+
"unevaluatedProperties" => false # Modern alternative to additionalProperties
|
65
65
|
}
|
66
66
|
})
|
67
67
|
out["items"]["properties"] = {}
|
@@ -71,16 +71,10 @@ module RSMP
|
|
71
71
|
out
|
72
72
|
end
|
73
73
|
|
74
|
-
#
|
75
|
-
# to avoid this we need to use an allOf.
|
76
|
-
# this is changed from draft-08, but unfortunately, there is still no Ruby validator for that
|
74
|
+
# JSON Schema 2020-12 allows combining $ref with other properties directly
|
77
75
|
def self.wrap_refs out
|
78
|
-
|
79
|
-
|
80
|
-
{ "allOf" => [out,{"$ref"=>ref}]}
|
81
|
-
else
|
82
|
-
out
|
83
|
-
end
|
76
|
+
# No wrapping needed with modern JSON Schema
|
77
|
+
out
|
84
78
|
end
|
85
79
|
|
86
80
|
# convert a yaml item with list: true to json schema
|
@@ -138,37 +132,53 @@ module RSMP
|
|
138
132
|
def self.build_item item, property_key: 'v'
|
139
133
|
unless item['arguments']
|
140
134
|
json = {
|
135
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
141
136
|
"description" => item['description'],
|
142
137
|
}
|
143
138
|
return json
|
144
139
|
end
|
145
140
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
141
|
+
arguments = item['arguments']
|
142
|
+
|
143
|
+
# For statuses (property_key == 's'), generate a single top-level gate:
|
144
|
+
# if q is undefined/unknown -> no constraints; else -> per-n branches.
|
145
|
+
if property_key == 's'
|
146
|
+
branches = arguments.map do |key, argument|
|
152
147
|
{
|
153
|
-
"if" =>
|
154
|
-
{
|
155
|
-
"required" => ["q"],
|
156
|
-
"properties" => { "q"=> { "enum" => ["undefined","unknown"] }},
|
157
|
-
},
|
158
|
-
"then" => {},
|
159
|
-
"else" => {
|
160
|
-
"allOf" => item['arguments'].map do |key,argument|
|
161
|
-
{
|
162
|
-
"if" => { "required" => ["n"], "properties" => { "n" => { "const" => key }}},
|
163
|
-
"then" => { "properties" => { property_key => build_value(argument) }}
|
164
|
-
}
|
165
|
-
end
|
166
|
-
}
|
148
|
+
"if" => { "properties" => { "n" => { "const" => key } } },
|
149
|
+
"then" => { "properties" => { property_key => build_value(argument) } }
|
167
150
|
}
|
168
|
-
|
169
|
-
|
151
|
+
end
|
152
|
+
|
153
|
+
return {
|
154
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
155
|
+
"description" => item['description'],
|
156
|
+
"properties" => {
|
157
|
+
"n" => { "enum" => arguments.keys.sort }
|
158
|
+
},
|
159
|
+
# reference shared guard (relative from statuses folder to tlc/defs)
|
160
|
+
"if" => { "$ref" => "../../defs/guards.json#/$defs/q_unknown_or_undefined" },
|
161
|
+
"then" => {},
|
162
|
+
"else" => { "allOf" => branches }
|
163
|
+
}
|
164
|
+
end
|
165
|
+
|
166
|
+
# Default behavior (alarms/commands): keep simple per-n if/then rules without q gating
|
167
|
+
rules = arguments.map do |key, argument|
|
168
|
+
{
|
169
|
+
"if" => { "properties" => { "n" => { "const" => key } } },
|
170
|
+
"then" => { "properties" => { property_key => build_value(argument) } }
|
171
|
+
}
|
172
|
+
end
|
170
173
|
|
171
|
-
|
174
|
+
{
|
175
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
176
|
+
"description" => item['description'],
|
177
|
+
"properties" => {
|
178
|
+
"n" => { "enum" => arguments.keys.sort }
|
179
|
+
},
|
180
|
+
"allOf" => rules
|
181
|
+
}
|
172
182
|
end
|
173
183
|
|
174
184
|
# convert alarms to json schema
|
@@ -180,6 +190,7 @@ module RSMP
|
|
180
190
|
}
|
181
191
|
end
|
182
192
|
json = {
|
193
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
183
194
|
"properties" => {
|
184
195
|
"aCId" => { "enum" => items.keys.sort },
|
185
196
|
"rvs" => { "items" => { "allOf" => list } }
|
@@ -197,6 +208,19 @@ module RSMP
|
|
197
208
|
|
198
209
|
# convert statuses to json schema
|
199
210
|
def self.output_statuses out, items
|
211
|
+
# ensure shared guard is written (relative to version folder)
|
212
|
+
out['../defs/guards.json'] ||= output_json({
|
213
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
214
|
+
"$defs" => {
|
215
|
+
"q_unknown_or_undefined" => {
|
216
|
+
"allOf" => [
|
217
|
+
{ "required" => ["q"] },
|
218
|
+
{ "properties" => { "q" => { "enum" => ["undefined", "unknown"] } } }
|
219
|
+
]
|
220
|
+
}
|
221
|
+
}
|
222
|
+
})
|
223
|
+
|
200
224
|
list = [ { "properties" => { "sCI" => { "enum"=> items.keys.sort }}} ]
|
201
225
|
items.keys.sort.each do |key|
|
202
226
|
list << {
|
@@ -204,7 +228,10 @@ module RSMP
|
|
204
228
|
"then" => { "$ref" => "#{key}.json" }
|
205
229
|
}
|
206
230
|
end
|
207
|
-
json = {
|
231
|
+
json = {
|
232
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
233
|
+
"properties" => { "sS" => { "items" => { "allOf" => list }}}
|
234
|
+
}
|
208
235
|
out['statuses/statuses.json'] = output_json json
|
209
236
|
items.each_pair { |key,item| output_status out, key, item }
|
210
237
|
end
|
@@ -224,13 +251,22 @@ module RSMP
|
|
224
251
|
"then" => { "$ref" => "#{key}.json" }
|
225
252
|
}
|
226
253
|
end
|
227
|
-
json = {
|
254
|
+
json = {
|
255
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
256
|
+
"items" => { "allOf" => list }
|
257
|
+
}
|
228
258
|
out['commands/commands.json'] = output_json json
|
229
259
|
|
230
|
-
json = {
|
260
|
+
json = {
|
261
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
262
|
+
"properties" => { "arg" => { "$ref" => "commands.json" }}
|
263
|
+
}
|
231
264
|
out['commands/command_requests.json'] = output_json json
|
232
265
|
|
233
|
-
json = {
|
266
|
+
json = {
|
267
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
268
|
+
"properties" => { "rvs" => { "$ref" => "commands.json" }}
|
269
|
+
}
|
234
270
|
out['commands/command_responses.json'] = output_json json
|
235
271
|
|
236
272
|
items.each_pair { |key,item| output_command out, key, item }
|
@@ -239,13 +275,17 @@ module RSMP
|
|
239
275
|
# convert a command to json schema
|
240
276
|
def self.output_command out, key, item
|
241
277
|
json = build_item item
|
242
|
-
|
278
|
+
# Always add the command operation (cO) constraint at the top-level properties
|
279
|
+
json["properties"] ||= {}
|
280
|
+
json["properties"]["cO"] = { "const" => item['command'] }
|
281
|
+
|
243
282
|
out["commands/#{key}.json"] = output_json json
|
244
283
|
end
|
245
284
|
|
246
285
|
# output the json schema root
|
247
286
|
def self.output_root out, meta
|
248
287
|
json = {
|
288
|
+
"$schema" => "https://json-schema.org/draft/2020-12/schema",
|
249
289
|
"name"=> meta['name'],
|
250
290
|
"description"=> meta['description'],
|
251
291
|
"version"=> meta['version'],
|
data/lib/rsmp_schema/version.rb
CHANGED
data/lib/rsmp_schema.rb
CHANGED
data/rsmp_schema.gemspec
CHANGED
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
|
-
spec.add_dependency "json_schemer", "~> 2.
|
34
|
-
spec.add_dependency "thor", "~> 1.
|
33
|
+
spec.add_dependency "json_schemer", "~> 2.3.0"
|
34
|
+
spec.add_dependency "thor", "~> 1.3.1"
|
35
35
|
|
36
|
-
spec.add_development_dependency "rake", "~> 13.
|
36
|
+
spec.add_development_dependency "rake", "~> 13.2.1"
|
37
37
|
spec.add_development_dependency "rspec", "~> 3.13.0"
|
38
38
|
spec.add_development_dependency "rspec-expectations", "~> 3.13.0"
|
39
39
|
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
{
|
2
|
+
"title" : "Aggregated Status",
|
3
|
+
"description" : "Aggregated status message (bits 2 and 8 are unused and must be false in 3.3.0)",
|
4
|
+
"properties" : {
|
5
|
+
"mId" : { "$ref": "../3.1.2/definitions.json#/message_id" },
|
6
|
+
"aSTS" : { "$ref": "../3.1.2/definitions.json#/timestamp" },
|
7
|
+
"fP" : {
|
8
|
+
"description" : "Functional position",
|
9
|
+
"type" : ["string","null"]
|
10
|
+
},
|
11
|
+
"fS" : {
|
12
|
+
"description" : "Functional state",
|
13
|
+
"type" : ["string","null"]
|
14
|
+
},
|
15
|
+
"se" : {
|
16
|
+
"description" : "Aggregated status bits (2 and 8 unused -> always false)",
|
17
|
+
"type" : "array",
|
18
|
+
"minItems": 8,
|
19
|
+
"maxItems": 8,
|
20
|
+
"items": { "type": "boolean" },
|
21
|
+
"enum": [
|
22
|
+
[false,false,false,false,false,false,false,false],
|
23
|
+
[false,false,false,false,false,false,true,false],
|
24
|
+
[false,false,false,false,false,true,false,false],
|
25
|
+
[false,false,false,false,false,true,true,false],
|
26
|
+
[false,false,false,false,true,false,false,false],
|
27
|
+
[false,false,false,false,true,false,true,false],
|
28
|
+
[false,false,false,false,true,true,false,false],
|
29
|
+
[false,false,false,false,true,true,true,false],
|
30
|
+
[false,false,false,true,false,false,false,false],
|
31
|
+
[false,false,false,true,false,false,true,false],
|
32
|
+
[false,false,false,true,false,true,false,false],
|
33
|
+
[false,false,false,true,false,true,true,false],
|
34
|
+
[false,false,false,true,true,false,false,false],
|
35
|
+
[false,false,false,true,true,false,true,false],
|
36
|
+
[false,false,false,true,true,true,false,false],
|
37
|
+
[false,false,false,true,true,true,true,false],
|
38
|
+
[false,false,true,false,false,false,false,false],
|
39
|
+
[false,false,true,false,false,false,true,false],
|
40
|
+
[false,false,true,false,false,true,false,false],
|
41
|
+
[false,false,true,false,false,true,true,false],
|
42
|
+
[false,false,true,false,true,false,false,false],
|
43
|
+
[false,false,true,false,true,false,true,false],
|
44
|
+
[false,false,true,false,true,true,false,false],
|
45
|
+
[false,false,true,false,true,true,true,false],
|
46
|
+
[false,false,true,true,false,false,false,false],
|
47
|
+
[false,false,true,true,false,false,true,false],
|
48
|
+
[false,false,true,true,false,true,false,false],
|
49
|
+
[false,false,true,true,false,true,true,false],
|
50
|
+
[false,false,true,true,true,false,false,false],
|
51
|
+
[false,false,true,true,true,false,true,false],
|
52
|
+
[false,false,true,true,true,true,false,false],
|
53
|
+
[false,false,true,true,true,true,true,false],
|
54
|
+
[true,false,false,false,false,false,false,false],
|
55
|
+
[true,false,false,false,false,false,true,false],
|
56
|
+
[true,false,false,false,false,true,false,false],
|
57
|
+
[true,false,false,false,false,true,true,false],
|
58
|
+
[true,false,false,false,true,false,false,false],
|
59
|
+
[true,false,false,false,true,false,true,false],
|
60
|
+
[true,false,false,false,true,true,false,false],
|
61
|
+
[true,false,false,false,true,true,true,false],
|
62
|
+
[true,false,false,true,false,false,false,false],
|
63
|
+
[true,false,false,true,false,false,true,false],
|
64
|
+
[true,false,false,true,false,true,false,false],
|
65
|
+
[true,false,false,true,false,true,true,false],
|
66
|
+
[true,false,false,true,true,false,false,false],
|
67
|
+
[true,false,false,true,true,false,true,false],
|
68
|
+
[true,false,false,true,true,true,false,false],
|
69
|
+
[true,false,false,true,true,true,true,false],
|
70
|
+
[true,false,true,false,false,false,false,false],
|
71
|
+
[true,false,true,false,false,false,true,false],
|
72
|
+
[true,false,true,false,false,true,false,false],
|
73
|
+
[true,false,true,false,false,true,true,false],
|
74
|
+
[true,false,true,false,true,false,false,false],
|
75
|
+
[true,false,true,false,true,false,true,false],
|
76
|
+
[true,false,true,false,true,true,false,false],
|
77
|
+
[true,false,true,false,true,true,true,false],
|
78
|
+
[true,false,true,true,false,false,false,false],
|
79
|
+
[true,false,true,true,false,false,true,false],
|
80
|
+
[true,false,true,true,false,true,false,false],
|
81
|
+
[true,false,true,true,false,true,true,false],
|
82
|
+
[true,false,true,true,true,false,false,false],
|
83
|
+
[true,false,true,true,true,false,true,false],
|
84
|
+
[true,false,true,true,true,true,false,false],
|
85
|
+
[true,false,true,true,true,true,true,false]
|
86
|
+
]
|
87
|
+
}
|
88
|
+
},
|
89
|
+
"required" : [ "mId", "aSTS", "fP", "fS", "se" ]
|
90
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{
|
2
|
+
"title" : "Aggregated Status Request",
|
3
|
+
"description" : "Aggregated status request message",
|
4
|
+
"properties" : {
|
5
|
+
"mId" : { "$ref": "../3.1.2/definitions.json#/message_id" },
|
6
|
+
"cId" : { "$ref": "definitions.json#/component_id" }
|
7
|
+
},
|
8
|
+
"required" : [ "mId", "cId" ]
|
9
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
{
|
2
|
+
"title" : "Alarm",
|
3
|
+
"description" : "Alarm messsage",
|
4
|
+
"properties" : {
|
5
|
+
"mId" : { "$ref": "../3.1.2/definitions.json#/message_id" },
|
6
|
+
"cId" : { "$ref": "definitions.json#/component_id" },
|
7
|
+
"aCId" : { "$ref": "../3.1.2/definitions.json#/alarm_code" },
|
8
|
+
"xACId" : { "description" : "External alarm code id", "type" : "string" },
|
9
|
+
"aSp" : {
|
10
|
+
"description" : "Alarm specialization",
|
11
|
+
"type" : "string",
|
12
|
+
"enum" : [ "Issue", "Acknowledge", "Suspend", "Resume", "Request",
|
13
|
+
"issue", "acknowledge", "request" ]
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"required" : [ "aSp"],
|
17
|
+
"allOf" : [
|
18
|
+
{
|
19
|
+
"if": {
|
20
|
+
"required" : [ "aSp" ],
|
21
|
+
"properties" : {
|
22
|
+
"aSp" : { "enum" : [ "Issue",
|
23
|
+
"issue"] }
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"then": { "$ref": "../3.1.2/alarm_issue.json" }
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"if": {
|
30
|
+
"allOf" : [
|
31
|
+
{
|
32
|
+
"required" : [ "aSp" ],
|
33
|
+
"properties" : {
|
34
|
+
"aSp" : { "enum" : [ "Suspend", "Resume"] }
|
35
|
+
}
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"not": { "required" : [ "sS" ] }
|
39
|
+
}
|
40
|
+
]
|
41
|
+
},
|
42
|
+
"then": { "$ref": "../3.1.2/alarm_suspend_resume.json" }
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"if": {
|
46
|
+
"required" : [ "aSp", "sS" ],
|
47
|
+
"properties" : {
|
48
|
+
"aSp" : { "enum" : [ "Suspend", "Resume"] },
|
49
|
+
"sS" : { "enum" : [ "suspended", "notSuspended",
|
50
|
+
"Suspended", "NotSuspended" ] }
|
51
|
+
}
|
52
|
+
},
|
53
|
+
"then": { "$ref": "../3.1.2/alarm_suspended_resumed.json" }
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"if": {
|
57
|
+
"required" : [ "aSp" ],
|
58
|
+
"properties" : {
|
59
|
+
"aSp" : { "enum" : [ "Acknowledge"] }
|
60
|
+
}
|
61
|
+
},
|
62
|
+
"then": { "$ref": "../3.1.2/alarm_acknowledge.json" }
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"if": {
|
66
|
+
"required" : [ "aSp" ],
|
67
|
+
"properties" : {
|
68
|
+
"aSp" : { "enum" : [ "Request",
|
69
|
+
"request"] }
|
70
|
+
}
|
71
|
+
},
|
72
|
+
"then": { "$ref": "alarm_request.json" }
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"title" : "CommandRequest",
|
3
|
+
"description" : "Command request",
|
4
|
+
"properties" : {
|
5
|
+
"mId" : { "$ref": "../3.1.2/definitions.json#/message_id" },
|
6
|
+
"cId" : { "$ref": "definitions.json#/component_id" },
|
7
|
+
"arg" : {
|
8
|
+
"description" : "Command arguments",
|
9
|
+
"type" : "array",
|
10
|
+
"minItems": 1,
|
11
|
+
"maxItems": 1,
|
12
|
+
"items" : {
|
13
|
+
"type" : "object",
|
14
|
+
"properties": {
|
15
|
+
"cCI" : { "$ref": "../3.1.2/definitions.json#/command_code" },
|
16
|
+
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
17
|
+
"cO" : { "description" : "Command", "type" : "string" },
|
18
|
+
"v" : { "description" : "Value" }
|
19
|
+
},
|
20
|
+
"required" : [ "cCI", "n", "cO", "v" ],
|
21
|
+
"additionalProperties": false
|
22
|
+
}
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"required" : [ "mId", "cId", "arg"]
|
26
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{
|
2
|
+
"title" : "CommandResponse",
|
3
|
+
"description" : "Command response",
|
4
|
+
"properties" : {
|
5
|
+
"mId" : { "$ref": "../3.1.2/definitions.json#/message_id" },
|
6
|
+
"cId" : { "$ref": "definitions.json#/component_id" },
|
7
|
+
"cTS" : { "$ref": "../3.1.2/definitions.json#/timestamp" },
|
8
|
+
"rvs" : {
|
9
|
+
"description" : "Command arguments",
|
10
|
+
"type" : "array",
|
11
|
+
"maxItems": 1,
|
12
|
+
"items" : {
|
13
|
+
"type" : "object",
|
14
|
+
"properties": {
|
15
|
+
"cCI" : { "$ref": "../3.1.2/definitions.json#/command_code" },
|
16
|
+
"n" : {
|
17
|
+
"description" : "Unique reference of the value",
|
18
|
+
"type" : "string"
|
19
|
+
},
|
20
|
+
"v" : {
|
21
|
+
"description" : "Value"
|
22
|
+
},
|
23
|
+
"age" : {
|
24
|
+
"description" : "Age of the value",
|
25
|
+
"type" : "string",
|
26
|
+
"enum" : [ "recent", "old", "undefined", "unknown" ]
|
27
|
+
}
|
28
|
+
},
|
29
|
+
"required" : [ "cCI", "n", "v", "age" ],
|
30
|
+
"additionalProperties": false
|
31
|
+
}
|
32
|
+
}
|
33
|
+
},
|
34
|
+
"required" : [ "mId", "cId", "cTS", "rvs" ]
|
35
|
+
}
|