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.
Files changed (810) hide show
  1. checksums.yaml +4 -4
  2. data/.github/copilot-instructions.md +19 -20
  3. data/.gitignore +1 -0
  4. data/.tool-versions +1 -1
  5. data/Gemfile.lock +11 -11
  6. data/lib/rsmp_schema/convert/export/json_schema.rb +78 -38
  7. data/lib/rsmp_schema/version.rb +1 -1
  8. data/lib/rsmp_schema.rb +5 -0
  9. data/rsmp_schema.gemspec +3 -3
  10. data/schemas/core/3.3.0/aggregated_status.json +90 -0
  11. data/schemas/core/3.3.0/aggregated_status_request.json +9 -0
  12. data/schemas/core/3.3.0/alarm.json +75 -0
  13. data/schemas/core/3.3.0/alarm_request.json +3 -0
  14. data/schemas/core/3.3.0/command_request.json +26 -0
  15. data/schemas/core/3.3.0/command_response.json +35 -0
  16. data/schemas/core/3.3.0/core.json +39 -0
  17. data/schemas/core/3.3.0/definitions.json +35 -0
  18. data/schemas/core/3.3.0/rsmp.json +133 -0
  19. data/schemas/core/3.3.0/status.json +21 -0
  20. data/schemas/core/3.3.0/status_request.json +23 -0
  21. data/schemas/core/3.3.0/status_subscribe.json +31 -0
  22. data/schemas/core/3.3.0/version.json +57 -0
  23. data/schemas/tlc/1.0.10/alarms/A0001.json +1 -0
  24. data/schemas/tlc/1.0.10/alarms/A0002.json +1 -0
  25. data/schemas/tlc/1.0.10/alarms/A0003.json +1 -0
  26. data/schemas/tlc/1.0.10/alarms/A0004.json +1 -0
  27. data/schemas/tlc/1.0.10/alarms/A0005.json +1 -0
  28. data/schemas/tlc/1.0.10/alarms/A0006.json +1 -0
  29. data/schemas/tlc/1.0.10/alarms/A0007.json +1 -0
  30. data/schemas/tlc/1.0.10/alarms/A0008.json +15 -46
  31. data/schemas/tlc/1.0.10/alarms/A0009.json +1 -0
  32. data/schemas/tlc/1.0.10/alarms/A0101.json +1 -0
  33. data/schemas/tlc/1.0.10/alarms/A0201.json +20 -45
  34. data/schemas/tlc/1.0.10/alarms/A0202.json +20 -45
  35. data/schemas/tlc/1.0.10/alarms/A0301.json +70 -110
  36. data/schemas/tlc/1.0.10/alarms/A0302.json +93 -136
  37. data/schemas/tlc/1.0.10/alarms/alarms.json +1 -0
  38. data/schemas/tlc/1.0.10/commands/M0001.json +72 -124
  39. data/schemas/tlc/1.0.10/commands/M0002.json +49 -92
  40. data/schemas/tlc/1.0.10/commands/M0003.json +49 -92
  41. data/schemas/tlc/1.0.10/commands/M0004.json +32 -66
  42. data/schemas/tlc/1.0.10/commands/M0005.json +49 -92
  43. data/schemas/tlc/1.0.10/commands/M0006.json +49 -92
  44. data/schemas/tlc/1.0.10/commands/M0007.json +32 -66
  45. data/schemas/tlc/1.0.10/commands/M0008.json +49 -92
  46. data/schemas/tlc/1.0.10/commands/M0010.json +32 -66
  47. data/schemas/tlc/1.0.10/commands/M0011.json +32 -66
  48. data/schemas/tlc/1.0.10/commands/M0012.json +32 -60
  49. data/schemas/tlc/1.0.10/commands/M0013.json +32 -60
  50. data/schemas/tlc/1.0.10/commands/M0019.json +67 -119
  51. data/schemas/tlc/1.0.10/commands/M0103.json +52 -83
  52. data/schemas/tlc/1.0.10/commands/M0104.json +121 -200
  53. data/schemas/tlc/1.0.10/commands/command_requests.json +1 -0
  54. data/schemas/tlc/1.0.10/commands/command_responses.json +1 -0
  55. data/schemas/tlc/1.0.10/commands/commands.json +1 -0
  56. data/schemas/tlc/1.0.10/rsmp.json +1 -0
  57. data/schemas/tlc/1.0.10/statuses/S0001.json +78 -124
  58. data/schemas/tlc/1.0.10/statuses/S0002.json +29 -48
  59. data/schemas/tlc/1.0.10/statuses/S0003.json +44 -66
  60. data/schemas/tlc/1.0.10/statuses/S0004.json +44 -66
  61. data/schemas/tlc/1.0.10/statuses/S0005.json +29 -54
  62. data/schemas/tlc/1.0.10/statuses/S0006.json +44 -78
  63. data/schemas/tlc/1.0.10/statuses/S0007.json +44 -78
  64. data/schemas/tlc/1.0.10/statuses/S0008.json +44 -78
  65. data/schemas/tlc/1.0.10/statuses/S0009.json +44 -78
  66. data/schemas/tlc/1.0.10/statuses/S0010.json +44 -78
  67. data/schemas/tlc/1.0.10/statuses/S0011.json +44 -78
  68. data/schemas/tlc/1.0.10/statuses/S0012.json +44 -78
  69. data/schemas/tlc/1.0.10/statuses/S0013.json +44 -78
  70. data/schemas/tlc/1.0.10/statuses/S0014.json +29 -54
  71. data/schemas/tlc/1.0.10/statuses/S0015.json +29 -54
  72. data/schemas/tlc/1.0.10/statuses/S0016.json +29 -54
  73. data/schemas/tlc/1.0.10/statuses/S0017.json +29 -54
  74. data/schemas/tlc/1.0.10/statuses/S0018.json +29 -54
  75. data/schemas/tlc/1.0.10/statuses/S0019.json +29 -54
  76. data/schemas/tlc/1.0.10/statuses/S0020.json +44 -78
  77. data/schemas/tlc/1.0.10/statuses/S0021.json +30 -49
  78. data/schemas/tlc/1.0.10/statuses/S0091.json +47 -69
  79. data/schemas/tlc/1.0.10/statuses/S0092.json +47 -69
  80. data/schemas/tlc/1.0.10/statuses/S0095.json +29 -48
  81. data/schemas/tlc/1.0.10/statuses/S0096.json +110 -180
  82. data/schemas/tlc/1.0.10/statuses/S0201.json +44 -78
  83. data/schemas/tlc/1.0.10/statuses/S0202.json +44 -78
  84. data/schemas/tlc/1.0.10/statuses/S0203.json +44 -78
  85. data/schemas/tlc/1.0.10/statuses/S0204.json +178 -284
  86. data/schemas/tlc/1.0.10/statuses/statuses.json +1 -0
  87. data/schemas/tlc/1.0.13/alarms/A0001.json +1 -0
  88. data/schemas/tlc/1.0.13/alarms/A0002.json +1 -0
  89. data/schemas/tlc/1.0.13/alarms/A0003.json +1 -0
  90. data/schemas/tlc/1.0.13/alarms/A0004.json +1 -0
  91. data/schemas/tlc/1.0.13/alarms/A0005.json +1 -0
  92. data/schemas/tlc/1.0.13/alarms/A0006.json +1 -0
  93. data/schemas/tlc/1.0.13/alarms/A0007.json +1 -0
  94. data/schemas/tlc/1.0.13/alarms/A0008.json +15 -46
  95. data/schemas/tlc/1.0.13/alarms/A0009.json +1 -0
  96. data/schemas/tlc/1.0.13/alarms/A0101.json +1 -0
  97. data/schemas/tlc/1.0.13/alarms/A0201.json +20 -45
  98. data/schemas/tlc/1.0.13/alarms/A0202.json +20 -45
  99. data/schemas/tlc/1.0.13/alarms/A0301.json +70 -110
  100. data/schemas/tlc/1.0.13/alarms/A0302.json +93 -136
  101. data/schemas/tlc/1.0.13/alarms/alarms.json +1 -0
  102. data/schemas/tlc/1.0.13/commands/M0001.json +72 -124
  103. data/schemas/tlc/1.0.13/commands/M0002.json +49 -92
  104. data/schemas/tlc/1.0.13/commands/M0003.json +49 -92
  105. data/schemas/tlc/1.0.13/commands/M0004.json +32 -66
  106. data/schemas/tlc/1.0.13/commands/M0005.json +49 -92
  107. data/schemas/tlc/1.0.13/commands/M0006.json +49 -92
  108. data/schemas/tlc/1.0.13/commands/M0007.json +32 -66
  109. data/schemas/tlc/1.0.13/commands/M0008.json +49 -92
  110. data/schemas/tlc/1.0.13/commands/M0010.json +32 -66
  111. data/schemas/tlc/1.0.13/commands/M0011.json +32 -66
  112. data/schemas/tlc/1.0.13/commands/M0012.json +32 -60
  113. data/schemas/tlc/1.0.13/commands/M0013.json +32 -60
  114. data/schemas/tlc/1.0.13/commands/M0014.json +49 -86
  115. data/schemas/tlc/1.0.13/commands/M0015.json +49 -92
  116. data/schemas/tlc/1.0.13/commands/M0016.json +32 -60
  117. data/schemas/tlc/1.0.13/commands/M0017.json +32 -60
  118. data/schemas/tlc/1.0.13/commands/M0018.json +49 -92
  119. data/schemas/tlc/1.0.13/commands/M0019.json +67 -119
  120. data/schemas/tlc/1.0.13/commands/M0103.json +52 -83
  121. data/schemas/tlc/1.0.13/commands/M0104.json +121 -200
  122. data/schemas/tlc/1.0.13/commands/command_requests.json +1 -0
  123. data/schemas/tlc/1.0.13/commands/command_responses.json +1 -0
  124. data/schemas/tlc/1.0.13/commands/commands.json +1 -0
  125. data/schemas/tlc/1.0.13/rsmp.json +1 -0
  126. data/schemas/tlc/1.0.13/statuses/S0001.json +78 -124
  127. data/schemas/tlc/1.0.13/statuses/S0002.json +29 -48
  128. data/schemas/tlc/1.0.13/statuses/S0003.json +44 -66
  129. data/schemas/tlc/1.0.13/statuses/S0004.json +44 -66
  130. data/schemas/tlc/1.0.13/statuses/S0005.json +29 -54
  131. data/schemas/tlc/1.0.13/statuses/S0006.json +44 -78
  132. data/schemas/tlc/1.0.13/statuses/S0007.json +44 -78
  133. data/schemas/tlc/1.0.13/statuses/S0008.json +44 -78
  134. data/schemas/tlc/1.0.13/statuses/S0009.json +44 -78
  135. data/schemas/tlc/1.0.13/statuses/S0010.json +44 -78
  136. data/schemas/tlc/1.0.13/statuses/S0011.json +44 -78
  137. data/schemas/tlc/1.0.13/statuses/S0012.json +44 -78
  138. data/schemas/tlc/1.0.13/statuses/S0013.json +44 -78
  139. data/schemas/tlc/1.0.13/statuses/S0014.json +29 -54
  140. data/schemas/tlc/1.0.13/statuses/S0015.json +29 -54
  141. data/schemas/tlc/1.0.13/statuses/S0016.json +29 -54
  142. data/schemas/tlc/1.0.13/statuses/S0017.json +29 -54
  143. data/schemas/tlc/1.0.13/statuses/S0018.json +29 -54
  144. data/schemas/tlc/1.0.13/statuses/S0019.json +29 -54
  145. data/schemas/tlc/1.0.13/statuses/S0020.json +44 -78
  146. data/schemas/tlc/1.0.13/statuses/S0021.json +30 -49
  147. data/schemas/tlc/1.0.13/statuses/S0022.json +29 -48
  148. data/schemas/tlc/1.0.13/statuses/S0023.json +30 -49
  149. data/schemas/tlc/1.0.13/statuses/S0024.json +30 -49
  150. data/schemas/tlc/1.0.13/statuses/S0025.json +153 -241
  151. data/schemas/tlc/1.0.13/statuses/S0026.json +29 -48
  152. data/schemas/tlc/1.0.13/statuses/S0027.json +29 -48
  153. data/schemas/tlc/1.0.13/statuses/S0028.json +29 -48
  154. data/schemas/tlc/1.0.13/statuses/S0029.json +29 -48
  155. data/schemas/tlc/1.0.13/statuses/S0091.json +47 -69
  156. data/schemas/tlc/1.0.13/statuses/S0092.json +47 -69
  157. data/schemas/tlc/1.0.13/statuses/S0095.json +29 -48
  158. data/schemas/tlc/1.0.13/statuses/S0096.json +110 -180
  159. data/schemas/tlc/1.0.13/statuses/S0201.json +44 -78
  160. data/schemas/tlc/1.0.13/statuses/S0202.json +44 -78
  161. data/schemas/tlc/1.0.13/statuses/S0203.json +44 -78
  162. data/schemas/tlc/1.0.13/statuses/S0204.json +178 -284
  163. data/schemas/tlc/1.0.13/statuses/statuses.json +1 -0
  164. data/schemas/tlc/1.0.14/alarms/A0001.json +1 -0
  165. data/schemas/tlc/1.0.14/alarms/A0002.json +1 -0
  166. data/schemas/tlc/1.0.14/alarms/A0003.json +1 -0
  167. data/schemas/tlc/1.0.14/alarms/A0004.json +1 -0
  168. data/schemas/tlc/1.0.14/alarms/A0005.json +1 -0
  169. data/schemas/tlc/1.0.14/alarms/A0006.json +1 -0
  170. data/schemas/tlc/1.0.14/alarms/A0007.json +1 -0
  171. data/schemas/tlc/1.0.14/alarms/A0008.json +15 -46
  172. data/schemas/tlc/1.0.14/alarms/A0009.json +1 -0
  173. data/schemas/tlc/1.0.14/alarms/A0101.json +1 -0
  174. data/schemas/tlc/1.0.14/alarms/A0201.json +20 -45
  175. data/schemas/tlc/1.0.14/alarms/A0202.json +20 -45
  176. data/schemas/tlc/1.0.14/alarms/A0301.json +70 -110
  177. data/schemas/tlc/1.0.14/alarms/A0302.json +93 -136
  178. data/schemas/tlc/1.0.14/alarms/alarms.json +1 -0
  179. data/schemas/tlc/1.0.14/commands/M0001.json +72 -124
  180. data/schemas/tlc/1.0.14/commands/M0002.json +49 -92
  181. data/schemas/tlc/1.0.14/commands/M0003.json +49 -92
  182. data/schemas/tlc/1.0.14/commands/M0004.json +32 -66
  183. data/schemas/tlc/1.0.14/commands/M0005.json +49 -92
  184. data/schemas/tlc/1.0.14/commands/M0006.json +49 -92
  185. data/schemas/tlc/1.0.14/commands/M0007.json +32 -66
  186. data/schemas/tlc/1.0.14/commands/M0008.json +49 -92
  187. data/schemas/tlc/1.0.14/commands/M0010.json +32 -66
  188. data/schemas/tlc/1.0.14/commands/M0011.json +32 -66
  189. data/schemas/tlc/1.0.14/commands/M0012.json +32 -60
  190. data/schemas/tlc/1.0.14/commands/M0013.json +32 -60
  191. data/schemas/tlc/1.0.14/commands/M0014.json +49 -86
  192. data/schemas/tlc/1.0.14/commands/M0015.json +49 -92
  193. data/schemas/tlc/1.0.14/commands/M0016.json +32 -60
  194. data/schemas/tlc/1.0.14/commands/M0017.json +32 -60
  195. data/schemas/tlc/1.0.14/commands/M0018.json +49 -92
  196. data/schemas/tlc/1.0.14/commands/M0019.json +67 -119
  197. data/schemas/tlc/1.0.14/commands/M0103.json +52 -83
  198. data/schemas/tlc/1.0.14/commands/M0104.json +121 -200
  199. data/schemas/tlc/1.0.14/commands/command_requests.json +1 -0
  200. data/schemas/tlc/1.0.14/commands/command_responses.json +1 -0
  201. data/schemas/tlc/1.0.14/commands/commands.json +1 -0
  202. data/schemas/tlc/1.0.14/rsmp.json +1 -0
  203. data/schemas/tlc/1.0.14/statuses/S0001.json +78 -124
  204. data/schemas/tlc/1.0.14/statuses/S0002.json +29 -48
  205. data/schemas/tlc/1.0.14/statuses/S0003.json +44 -66
  206. data/schemas/tlc/1.0.14/statuses/S0004.json +44 -66
  207. data/schemas/tlc/1.0.14/statuses/S0005.json +29 -54
  208. data/schemas/tlc/1.0.14/statuses/S0006.json +44 -78
  209. data/schemas/tlc/1.0.14/statuses/S0007.json +44 -78
  210. data/schemas/tlc/1.0.14/statuses/S0008.json +44 -78
  211. data/schemas/tlc/1.0.14/statuses/S0009.json +44 -78
  212. data/schemas/tlc/1.0.14/statuses/S0010.json +44 -78
  213. data/schemas/tlc/1.0.14/statuses/S0011.json +44 -78
  214. data/schemas/tlc/1.0.14/statuses/S0012.json +44 -78
  215. data/schemas/tlc/1.0.14/statuses/S0013.json +44 -78
  216. data/schemas/tlc/1.0.14/statuses/S0014.json +29 -54
  217. data/schemas/tlc/1.0.14/statuses/S0015.json +29 -54
  218. data/schemas/tlc/1.0.14/statuses/S0016.json +29 -54
  219. data/schemas/tlc/1.0.14/statuses/S0017.json +29 -54
  220. data/schemas/tlc/1.0.14/statuses/S0018.json +29 -54
  221. data/schemas/tlc/1.0.14/statuses/S0019.json +29 -54
  222. data/schemas/tlc/1.0.14/statuses/S0020.json +44 -78
  223. data/schemas/tlc/1.0.14/statuses/S0021.json +30 -49
  224. data/schemas/tlc/1.0.14/statuses/S0022.json +29 -48
  225. data/schemas/tlc/1.0.14/statuses/S0023.json +30 -49
  226. data/schemas/tlc/1.0.14/statuses/S0024.json +30 -49
  227. data/schemas/tlc/1.0.14/statuses/S0025.json +153 -241
  228. data/schemas/tlc/1.0.14/statuses/S0026.json +29 -48
  229. data/schemas/tlc/1.0.14/statuses/S0027.json +29 -48
  230. data/schemas/tlc/1.0.14/statuses/S0028.json +29 -48
  231. data/schemas/tlc/1.0.14/statuses/S0029.json +29 -48
  232. data/schemas/tlc/1.0.14/statuses/S0091.json +47 -69
  233. data/schemas/tlc/1.0.14/statuses/S0092.json +47 -69
  234. data/schemas/tlc/1.0.14/statuses/S0095.json +29 -48
  235. data/schemas/tlc/1.0.14/statuses/S0096.json +110 -180
  236. data/schemas/tlc/1.0.14/statuses/S0201.json +44 -78
  237. data/schemas/tlc/1.0.14/statuses/S0202.json +44 -78
  238. data/schemas/tlc/1.0.14/statuses/S0203.json +44 -78
  239. data/schemas/tlc/1.0.14/statuses/S0204.json +178 -284
  240. data/schemas/tlc/1.0.14/statuses/S0205.json +44 -72
  241. data/schemas/tlc/1.0.14/statuses/S0206.json +44 -72
  242. data/schemas/tlc/1.0.14/statuses/S0207.json +44 -72
  243. data/schemas/tlc/1.0.14/statuses/S0208.json +189 -241
  244. data/schemas/tlc/1.0.14/statuses/statuses.json +1 -0
  245. data/schemas/tlc/1.0.15/alarms/A0001.json +1 -0
  246. data/schemas/tlc/1.0.15/alarms/A0002.json +1 -0
  247. data/schemas/tlc/1.0.15/alarms/A0003.json +1 -0
  248. data/schemas/tlc/1.0.15/alarms/A0004.json +1 -0
  249. data/schemas/tlc/1.0.15/alarms/A0005.json +1 -0
  250. data/schemas/tlc/1.0.15/alarms/A0006.json +1 -0
  251. data/schemas/tlc/1.0.15/alarms/A0007.json +1 -0
  252. data/schemas/tlc/1.0.15/alarms/A0008.json +15 -46
  253. data/schemas/tlc/1.0.15/alarms/A0009.json +1 -0
  254. data/schemas/tlc/1.0.15/alarms/A0010.json +1 -0
  255. data/schemas/tlc/1.0.15/alarms/A0101.json +1 -0
  256. data/schemas/tlc/1.0.15/alarms/A0201.json +20 -45
  257. data/schemas/tlc/1.0.15/alarms/A0202.json +20 -45
  258. data/schemas/tlc/1.0.15/alarms/A0301.json +70 -110
  259. data/schemas/tlc/1.0.15/alarms/A0302.json +93 -136
  260. data/schemas/tlc/1.0.15/alarms/alarms.json +1 -0
  261. data/schemas/tlc/1.0.15/commands/M0001.json +72 -124
  262. data/schemas/tlc/1.0.15/commands/M0002.json +49 -92
  263. data/schemas/tlc/1.0.15/commands/M0003.json +49 -92
  264. data/schemas/tlc/1.0.15/commands/M0004.json +32 -66
  265. data/schemas/tlc/1.0.15/commands/M0005.json +49 -92
  266. data/schemas/tlc/1.0.15/commands/M0006.json +49 -92
  267. data/schemas/tlc/1.0.15/commands/M0007.json +32 -66
  268. data/schemas/tlc/1.0.15/commands/M0008.json +49 -92
  269. data/schemas/tlc/1.0.15/commands/M0010.json +32 -66
  270. data/schemas/tlc/1.0.15/commands/M0011.json +32 -66
  271. data/schemas/tlc/1.0.15/commands/M0012.json +32 -60
  272. data/schemas/tlc/1.0.15/commands/M0013.json +32 -60
  273. data/schemas/tlc/1.0.15/commands/M0014.json +49 -86
  274. data/schemas/tlc/1.0.15/commands/M0015.json +49 -92
  275. data/schemas/tlc/1.0.15/commands/M0016.json +32 -60
  276. data/schemas/tlc/1.0.15/commands/M0017.json +32 -60
  277. data/schemas/tlc/1.0.15/commands/M0018.json +49 -92
  278. data/schemas/tlc/1.0.15/commands/M0019.json +67 -119
  279. data/schemas/tlc/1.0.15/commands/M0020.json +67 -119
  280. data/schemas/tlc/1.0.15/commands/M0021.json +32 -60
  281. data/schemas/tlc/1.0.15/commands/M0103.json +52 -83
  282. data/schemas/tlc/1.0.15/commands/M0104.json +121 -200
  283. data/schemas/tlc/1.0.15/commands/command_requests.json +1 -0
  284. data/schemas/tlc/1.0.15/commands/command_responses.json +1 -0
  285. data/schemas/tlc/1.0.15/commands/commands.json +1 -0
  286. data/schemas/tlc/1.0.15/rsmp.json +1 -0
  287. data/schemas/tlc/1.0.15/statuses/S0001.json +78 -124
  288. data/schemas/tlc/1.0.15/statuses/S0002.json +29 -48
  289. data/schemas/tlc/1.0.15/statuses/S0003.json +44 -66
  290. data/schemas/tlc/1.0.15/statuses/S0004.json +44 -66
  291. data/schemas/tlc/1.0.15/statuses/S0005.json +29 -54
  292. data/schemas/tlc/1.0.15/statuses/S0006.json +44 -78
  293. data/schemas/tlc/1.0.15/statuses/S0007.json +44 -78
  294. data/schemas/tlc/1.0.15/statuses/S0008.json +44 -78
  295. data/schemas/tlc/1.0.15/statuses/S0009.json +44 -78
  296. data/schemas/tlc/1.0.15/statuses/S0010.json +44 -78
  297. data/schemas/tlc/1.0.15/statuses/S0011.json +44 -78
  298. data/schemas/tlc/1.0.15/statuses/S0012.json +44 -78
  299. data/schemas/tlc/1.0.15/statuses/S0013.json +44 -78
  300. data/schemas/tlc/1.0.15/statuses/S0014.json +29 -54
  301. data/schemas/tlc/1.0.15/statuses/S0015.json +29 -54
  302. data/schemas/tlc/1.0.15/statuses/S0016.json +29 -54
  303. data/schemas/tlc/1.0.15/statuses/S0017.json +29 -54
  304. data/schemas/tlc/1.0.15/statuses/S0018.json +29 -54
  305. data/schemas/tlc/1.0.15/statuses/S0019.json +29 -54
  306. data/schemas/tlc/1.0.15/statuses/S0020.json +44 -78
  307. data/schemas/tlc/1.0.15/statuses/S0021.json +30 -49
  308. data/schemas/tlc/1.0.15/statuses/S0022.json +29 -48
  309. data/schemas/tlc/1.0.15/statuses/S0023.json +30 -49
  310. data/schemas/tlc/1.0.15/statuses/S0024.json +30 -49
  311. data/schemas/tlc/1.0.15/statuses/S0025.json +153 -241
  312. data/schemas/tlc/1.0.15/statuses/S0026.json +29 -48
  313. data/schemas/tlc/1.0.15/statuses/S0027.json +29 -48
  314. data/schemas/tlc/1.0.15/statuses/S0028.json +29 -48
  315. data/schemas/tlc/1.0.15/statuses/S0029.json +29 -48
  316. data/schemas/tlc/1.0.15/statuses/S0030.json +29 -48
  317. data/schemas/tlc/1.0.15/statuses/S0031.json +29 -48
  318. data/schemas/tlc/1.0.15/statuses/S0091.json +47 -69
  319. data/schemas/tlc/1.0.15/statuses/S0092.json +47 -69
  320. data/schemas/tlc/1.0.15/statuses/S0095.json +29 -48
  321. data/schemas/tlc/1.0.15/statuses/S0096.json +110 -180
  322. data/schemas/tlc/1.0.15/statuses/S0097.json +44 -72
  323. data/schemas/tlc/1.0.15/statuses/S0098.json +61 -92
  324. data/schemas/tlc/1.0.15/statuses/S0201.json +44 -78
  325. data/schemas/tlc/1.0.15/statuses/S0202.json +44 -78
  326. data/schemas/tlc/1.0.15/statuses/S0203.json +44 -78
  327. data/schemas/tlc/1.0.15/statuses/S0204.json +178 -284
  328. data/schemas/tlc/1.0.15/statuses/S0205.json +44 -72
  329. data/schemas/tlc/1.0.15/statuses/S0206.json +44 -72
  330. data/schemas/tlc/1.0.15/statuses/S0207.json +44 -72
  331. data/schemas/tlc/1.0.15/statuses/S0208.json +189 -241
  332. data/schemas/tlc/1.0.15/statuses/statuses.json +1 -0
  333. data/schemas/tlc/1.0.7/alarms/A0001.json +1 -0
  334. data/schemas/tlc/1.0.7/alarms/A0002.json +1 -0
  335. data/schemas/tlc/1.0.7/alarms/A0003.json +1 -0
  336. data/schemas/tlc/1.0.7/alarms/A0004.json +1 -0
  337. data/schemas/tlc/1.0.7/alarms/A0005.json +1 -0
  338. data/schemas/tlc/1.0.7/alarms/A0006.json +1 -0
  339. data/schemas/tlc/1.0.7/alarms/A0007.json +1 -0
  340. data/schemas/tlc/1.0.7/alarms/A0008.json +15 -46
  341. data/schemas/tlc/1.0.7/alarms/A0009.json +1 -0
  342. data/schemas/tlc/1.0.7/alarms/A0101.json +1 -0
  343. data/schemas/tlc/1.0.7/alarms/A0201.json +20 -45
  344. data/schemas/tlc/1.0.7/alarms/A0202.json +20 -45
  345. data/schemas/tlc/1.0.7/alarms/A0301.json +70 -110
  346. data/schemas/tlc/1.0.7/alarms/A0302.json +93 -136
  347. data/schemas/tlc/1.0.7/alarms/alarms.json +1 -0
  348. data/schemas/tlc/1.0.7/commands/M0001.json +72 -124
  349. data/schemas/tlc/1.0.7/commands/M0002.json +49 -92
  350. data/schemas/tlc/1.0.7/commands/M0003.json +49 -92
  351. data/schemas/tlc/1.0.7/commands/M0004.json +32 -66
  352. data/schemas/tlc/1.0.7/commands/M0005.json +49 -92
  353. data/schemas/tlc/1.0.7/commands/M0006.json +49 -92
  354. data/schemas/tlc/1.0.7/commands/M0007.json +32 -66
  355. data/schemas/tlc/1.0.7/commands/M0008.json +49 -92
  356. data/schemas/tlc/1.0.7/commands/M0010.json +32 -66
  357. data/schemas/tlc/1.0.7/commands/M0011.json +32 -66
  358. data/schemas/tlc/1.0.7/commands/M0019.json +67 -119
  359. data/schemas/tlc/1.0.7/commands/M0103.json +52 -83
  360. data/schemas/tlc/1.0.7/commands/M0104.json +121 -200
  361. data/schemas/tlc/1.0.7/commands/command_requests.json +1 -0
  362. data/schemas/tlc/1.0.7/commands/command_responses.json +1 -0
  363. data/schemas/tlc/1.0.7/commands/commands.json +1 -0
  364. data/schemas/tlc/1.0.7/rsmp.json +1 -0
  365. data/schemas/tlc/1.0.7/statuses/S0001.json +78 -124
  366. data/schemas/tlc/1.0.7/statuses/S0002.json +29 -48
  367. data/schemas/tlc/1.0.7/statuses/S0003.json +44 -66
  368. data/schemas/tlc/1.0.7/statuses/S0004.json +44 -66
  369. data/schemas/tlc/1.0.7/statuses/S0005.json +29 -54
  370. data/schemas/tlc/1.0.7/statuses/S0006.json +44 -78
  371. data/schemas/tlc/1.0.7/statuses/S0007.json +44 -78
  372. data/schemas/tlc/1.0.7/statuses/S0008.json +44 -78
  373. data/schemas/tlc/1.0.7/statuses/S0009.json +44 -78
  374. data/schemas/tlc/1.0.7/statuses/S0010.json +44 -78
  375. data/schemas/tlc/1.0.7/statuses/S0011.json +44 -78
  376. data/schemas/tlc/1.0.7/statuses/S0012.json +44 -78
  377. data/schemas/tlc/1.0.7/statuses/S0013.json +44 -78
  378. data/schemas/tlc/1.0.7/statuses/S0014.json +29 -54
  379. data/schemas/tlc/1.0.7/statuses/S0015.json +29 -54
  380. data/schemas/tlc/1.0.7/statuses/S0016.json +29 -54
  381. data/schemas/tlc/1.0.7/statuses/S0017.json +29 -54
  382. data/schemas/tlc/1.0.7/statuses/S0018.json +29 -54
  383. data/schemas/tlc/1.0.7/statuses/S0019.json +29 -54
  384. data/schemas/tlc/1.0.7/statuses/S0020.json +44 -78
  385. data/schemas/tlc/1.0.7/statuses/S0021.json +30 -49
  386. data/schemas/tlc/1.0.7/statuses/S0025.json +153 -241
  387. data/schemas/tlc/1.0.7/statuses/S0091.json +47 -69
  388. data/schemas/tlc/1.0.7/statuses/S0092.json +47 -69
  389. data/schemas/tlc/1.0.7/statuses/S0095.json +29 -48
  390. data/schemas/tlc/1.0.7/statuses/S0096.json +110 -180
  391. data/schemas/tlc/1.0.7/statuses/S0201.json +44 -78
  392. data/schemas/tlc/1.0.7/statuses/S0202.json +44 -78
  393. data/schemas/tlc/1.0.7/statuses/S0203.json +44 -78
  394. data/schemas/tlc/1.0.7/statuses/S0204.json +178 -284
  395. data/schemas/tlc/1.0.7/statuses/statuses.json +1 -0
  396. data/schemas/tlc/1.0.8/alarms/A0001.json +1 -0
  397. data/schemas/tlc/1.0.8/alarms/A0002.json +1 -0
  398. data/schemas/tlc/1.0.8/alarms/A0003.json +1 -0
  399. data/schemas/tlc/1.0.8/alarms/A0004.json +1 -0
  400. data/schemas/tlc/1.0.8/alarms/A0005.json +1 -0
  401. data/schemas/tlc/1.0.8/alarms/A0006.json +1 -0
  402. data/schemas/tlc/1.0.8/alarms/A0007.json +1 -0
  403. data/schemas/tlc/1.0.8/alarms/A0008.json +15 -46
  404. data/schemas/tlc/1.0.8/alarms/A0009.json +1 -0
  405. data/schemas/tlc/1.0.8/alarms/A0101.json +1 -0
  406. data/schemas/tlc/1.0.8/alarms/A0201.json +20 -45
  407. data/schemas/tlc/1.0.8/alarms/A0202.json +20 -45
  408. data/schemas/tlc/1.0.8/alarms/A0301.json +70 -110
  409. data/schemas/tlc/1.0.8/alarms/A0302.json +93 -136
  410. data/schemas/tlc/1.0.8/alarms/alarms.json +1 -0
  411. data/schemas/tlc/1.0.8/commands/M0001.json +72 -124
  412. data/schemas/tlc/1.0.8/commands/M0002.json +49 -92
  413. data/schemas/tlc/1.0.8/commands/M0003.json +49 -92
  414. data/schemas/tlc/1.0.8/commands/M0004.json +32 -66
  415. data/schemas/tlc/1.0.8/commands/M0005.json +49 -92
  416. data/schemas/tlc/1.0.8/commands/M0006.json +49 -92
  417. data/schemas/tlc/1.0.8/commands/M0007.json +32 -66
  418. data/schemas/tlc/1.0.8/commands/M0008.json +49 -92
  419. data/schemas/tlc/1.0.8/commands/M0010.json +32 -66
  420. data/schemas/tlc/1.0.8/commands/M0011.json +32 -66
  421. data/schemas/tlc/1.0.8/commands/M0012.json +32 -60
  422. data/schemas/tlc/1.0.8/commands/M0013.json +32 -60
  423. data/schemas/tlc/1.0.8/commands/M0019.json +67 -119
  424. data/schemas/tlc/1.0.8/commands/M0103.json +52 -83
  425. data/schemas/tlc/1.0.8/commands/M0104.json +121 -200
  426. data/schemas/tlc/1.0.8/commands/command_requests.json +1 -0
  427. data/schemas/tlc/1.0.8/commands/command_responses.json +1 -0
  428. data/schemas/tlc/1.0.8/commands/commands.json +1 -0
  429. data/schemas/tlc/1.0.8/rsmp.json +1 -0
  430. data/schemas/tlc/1.0.8/statuses/S0001.json +78 -124
  431. data/schemas/tlc/1.0.8/statuses/S0002.json +29 -48
  432. data/schemas/tlc/1.0.8/statuses/S0003.json +44 -66
  433. data/schemas/tlc/1.0.8/statuses/S0004.json +44 -66
  434. data/schemas/tlc/1.0.8/statuses/S0005.json +29 -54
  435. data/schemas/tlc/1.0.8/statuses/S0006.json +44 -78
  436. data/schemas/tlc/1.0.8/statuses/S0007.json +44 -78
  437. data/schemas/tlc/1.0.8/statuses/S0008.json +44 -78
  438. data/schemas/tlc/1.0.8/statuses/S0009.json +44 -78
  439. data/schemas/tlc/1.0.8/statuses/S0010.json +44 -78
  440. data/schemas/tlc/1.0.8/statuses/S0011.json +44 -78
  441. data/schemas/tlc/1.0.8/statuses/S0012.json +44 -78
  442. data/schemas/tlc/1.0.8/statuses/S0013.json +44 -78
  443. data/schemas/tlc/1.0.8/statuses/S0014.json +29 -54
  444. data/schemas/tlc/1.0.8/statuses/S0015.json +29 -54
  445. data/schemas/tlc/1.0.8/statuses/S0016.json +29 -54
  446. data/schemas/tlc/1.0.8/statuses/S0017.json +29 -54
  447. data/schemas/tlc/1.0.8/statuses/S0018.json +29 -54
  448. data/schemas/tlc/1.0.8/statuses/S0019.json +29 -54
  449. data/schemas/tlc/1.0.8/statuses/S0020.json +44 -78
  450. data/schemas/tlc/1.0.8/statuses/S0021.json +30 -49
  451. data/schemas/tlc/1.0.8/statuses/S0091.json +47 -69
  452. data/schemas/tlc/1.0.8/statuses/S0092.json +47 -69
  453. data/schemas/tlc/1.0.8/statuses/S0095.json +29 -48
  454. data/schemas/tlc/1.0.8/statuses/S0096.json +110 -180
  455. data/schemas/tlc/1.0.8/statuses/S0201.json +44 -78
  456. data/schemas/tlc/1.0.8/statuses/S0202.json +44 -78
  457. data/schemas/tlc/1.0.8/statuses/S0203.json +44 -78
  458. data/schemas/tlc/1.0.8/statuses/S0204.json +178 -284
  459. data/schemas/tlc/1.0.8/statuses/statuses.json +1 -0
  460. data/schemas/tlc/1.0.9/alarms/A0001.json +1 -0
  461. data/schemas/tlc/1.0.9/alarms/A0002.json +1 -0
  462. data/schemas/tlc/1.0.9/alarms/A0003.json +1 -0
  463. data/schemas/tlc/1.0.9/alarms/A0004.json +1 -0
  464. data/schemas/tlc/1.0.9/alarms/A0005.json +1 -0
  465. data/schemas/tlc/1.0.9/alarms/A0006.json +1 -0
  466. data/schemas/tlc/1.0.9/alarms/A0007.json +1 -0
  467. data/schemas/tlc/1.0.9/alarms/A0008.json +15 -46
  468. data/schemas/tlc/1.0.9/alarms/A0009.json +1 -0
  469. data/schemas/tlc/1.0.9/alarms/A0101.json +1 -0
  470. data/schemas/tlc/1.0.9/alarms/A0201.json +20 -45
  471. data/schemas/tlc/1.0.9/alarms/A0202.json +20 -45
  472. data/schemas/tlc/1.0.9/alarms/A0301.json +70 -110
  473. data/schemas/tlc/1.0.9/alarms/A0302.json +93 -136
  474. data/schemas/tlc/1.0.9/alarms/alarms.json +1 -0
  475. data/schemas/tlc/1.0.9/commands/M0001.json +72 -124
  476. data/schemas/tlc/1.0.9/commands/M0002.json +49 -92
  477. data/schemas/tlc/1.0.9/commands/M0003.json +49 -92
  478. data/schemas/tlc/1.0.9/commands/M0004.json +32 -66
  479. data/schemas/tlc/1.0.9/commands/M0005.json +49 -92
  480. data/schemas/tlc/1.0.9/commands/M0006.json +49 -92
  481. data/schemas/tlc/1.0.9/commands/M0007.json +32 -66
  482. data/schemas/tlc/1.0.9/commands/M0008.json +49 -92
  483. data/schemas/tlc/1.0.9/commands/M0010.json +32 -66
  484. data/schemas/tlc/1.0.9/commands/M0011.json +32 -66
  485. data/schemas/tlc/1.0.9/commands/M0012.json +32 -60
  486. data/schemas/tlc/1.0.9/commands/M0013.json +32 -60
  487. data/schemas/tlc/1.0.9/commands/M0019.json +67 -119
  488. data/schemas/tlc/1.0.9/commands/M0103.json +52 -83
  489. data/schemas/tlc/1.0.9/commands/M0104.json +121 -200
  490. data/schemas/tlc/1.0.9/commands/command_requests.json +1 -0
  491. data/schemas/tlc/1.0.9/commands/command_responses.json +1 -0
  492. data/schemas/tlc/1.0.9/commands/commands.json +1 -0
  493. data/schemas/tlc/1.0.9/rsmp.json +1 -0
  494. data/schemas/tlc/1.0.9/statuses/S0001.json +78 -124
  495. data/schemas/tlc/1.0.9/statuses/S0002.json +29 -48
  496. data/schemas/tlc/1.0.9/statuses/S0003.json +44 -66
  497. data/schemas/tlc/1.0.9/statuses/S0004.json +44 -66
  498. data/schemas/tlc/1.0.9/statuses/S0005.json +29 -54
  499. data/schemas/tlc/1.0.9/statuses/S0006.json +44 -78
  500. data/schemas/tlc/1.0.9/statuses/S0007.json +44 -78
  501. data/schemas/tlc/1.0.9/statuses/S0008.json +44 -78
  502. data/schemas/tlc/1.0.9/statuses/S0009.json +44 -78
  503. data/schemas/tlc/1.0.9/statuses/S0010.json +44 -78
  504. data/schemas/tlc/1.0.9/statuses/S0011.json +44 -78
  505. data/schemas/tlc/1.0.9/statuses/S0012.json +44 -78
  506. data/schemas/tlc/1.0.9/statuses/S0013.json +44 -78
  507. data/schemas/tlc/1.0.9/statuses/S0014.json +29 -54
  508. data/schemas/tlc/1.0.9/statuses/S0015.json +29 -54
  509. data/schemas/tlc/1.0.9/statuses/S0016.json +29 -54
  510. data/schemas/tlc/1.0.9/statuses/S0017.json +29 -54
  511. data/schemas/tlc/1.0.9/statuses/S0018.json +29 -54
  512. data/schemas/tlc/1.0.9/statuses/S0019.json +29 -54
  513. data/schemas/tlc/1.0.9/statuses/S0020.json +44 -78
  514. data/schemas/tlc/1.0.9/statuses/S0021.json +30 -49
  515. data/schemas/tlc/1.0.9/statuses/S0091.json +47 -69
  516. data/schemas/tlc/1.0.9/statuses/S0092.json +47 -69
  517. data/schemas/tlc/1.0.9/statuses/S0095.json +29 -48
  518. data/schemas/tlc/1.0.9/statuses/S0096.json +110 -180
  519. data/schemas/tlc/1.0.9/statuses/S0201.json +44 -78
  520. data/schemas/tlc/1.0.9/statuses/S0202.json +44 -78
  521. data/schemas/tlc/1.0.9/statuses/S0203.json +44 -78
  522. data/schemas/tlc/1.0.9/statuses/S0204.json +178 -284
  523. data/schemas/tlc/1.0.9/statuses/statuses.json +1 -0
  524. data/schemas/tlc/1.1.0/alarms/A0001.json +1 -0
  525. data/schemas/tlc/1.1.0/alarms/A0002.json +1 -0
  526. data/schemas/tlc/1.1.0/alarms/A0003.json +1 -0
  527. data/schemas/tlc/1.1.0/alarms/A0004.json +1 -0
  528. data/schemas/tlc/1.1.0/alarms/A0005.json +1 -0
  529. data/schemas/tlc/1.1.0/alarms/A0006.json +1 -0
  530. data/schemas/tlc/1.1.0/alarms/A0007.json +19 -44
  531. data/schemas/tlc/1.1.0/alarms/A0008.json +15 -46
  532. data/schemas/tlc/1.1.0/alarms/A0009.json +1 -0
  533. data/schemas/tlc/1.1.0/alarms/A0010.json +1 -0
  534. data/schemas/tlc/1.1.0/alarms/A0101.json +1 -0
  535. data/schemas/tlc/1.1.0/alarms/A0201.json +20 -45
  536. data/schemas/tlc/1.1.0/alarms/A0202.json +20 -45
  537. data/schemas/tlc/1.1.0/alarms/A0301.json +70 -110
  538. data/schemas/tlc/1.1.0/alarms/A0302.json +93 -136
  539. data/schemas/tlc/1.1.0/alarms/A0303.json +70 -110
  540. data/schemas/tlc/1.1.0/alarms/A0304.json +93 -136
  541. data/schemas/tlc/1.1.0/alarms/alarms.json +1 -0
  542. data/schemas/tlc/1.1.0/commands/M0001.json +72 -118
  543. data/schemas/tlc/1.1.0/commands/M0002.json +49 -92
  544. data/schemas/tlc/1.1.0/commands/M0003.json +49 -92
  545. data/schemas/tlc/1.1.0/commands/M0004.json +32 -66
  546. data/schemas/tlc/1.1.0/commands/M0005.json +49 -92
  547. data/schemas/tlc/1.1.0/commands/M0006.json +49 -92
  548. data/schemas/tlc/1.1.0/commands/M0007.json +32 -66
  549. data/schemas/tlc/1.1.0/commands/M0008.json +49 -92
  550. data/schemas/tlc/1.1.0/commands/M0010.json +32 -66
  551. data/schemas/tlc/1.1.0/commands/M0011.json +32 -66
  552. data/schemas/tlc/1.1.0/commands/M0012.json +32 -60
  553. data/schemas/tlc/1.1.0/commands/M0013.json +32 -60
  554. data/schemas/tlc/1.1.0/commands/M0014.json +49 -86
  555. data/schemas/tlc/1.1.0/commands/M0015.json +49 -92
  556. data/schemas/tlc/1.1.0/commands/M0016.json +32 -60
  557. data/schemas/tlc/1.1.0/commands/M0017.json +32 -60
  558. data/schemas/tlc/1.1.0/commands/M0018.json +49 -92
  559. data/schemas/tlc/1.1.0/commands/M0019.json +67 -119
  560. data/schemas/tlc/1.1.0/commands/M0020.json +67 -119
  561. data/schemas/tlc/1.1.0/commands/M0021.json +32 -60
  562. data/schemas/tlc/1.1.0/commands/M0022.json +227 -333
  563. data/schemas/tlc/1.1.0/commands/M0023.json +32 -66
  564. data/schemas/tlc/1.1.0/commands/M0103.json +52 -83
  565. data/schemas/tlc/1.1.0/commands/M0104.json +121 -200
  566. data/schemas/tlc/1.1.0/commands/command_requests.json +1 -0
  567. data/schemas/tlc/1.1.0/commands/command_responses.json +1 -0
  568. data/schemas/tlc/1.1.0/commands/commands.json +1 -0
  569. data/schemas/tlc/1.1.0/rsmp.json +1 -0
  570. data/schemas/tlc/1.1.0/statuses/S0001.json +78 -124
  571. data/schemas/tlc/1.1.0/statuses/S0002.json +29 -48
  572. data/schemas/tlc/1.1.0/statuses/S0003.json +44 -66
  573. data/schemas/tlc/1.1.0/statuses/S0004.json +44 -66
  574. data/schemas/tlc/1.1.0/statuses/S0005.json +29 -54
  575. data/schemas/tlc/1.1.0/statuses/S0006.json +44 -78
  576. data/schemas/tlc/1.1.0/statuses/S0007.json +62 -105
  577. data/schemas/tlc/1.1.0/statuses/S0008.json +62 -105
  578. data/schemas/tlc/1.1.0/statuses/S0009.json +62 -105
  579. data/schemas/tlc/1.1.0/statuses/S0010.json +62 -105
  580. data/schemas/tlc/1.1.0/statuses/S0011.json +62 -105
  581. data/schemas/tlc/1.1.0/statuses/S0012.json +62 -105
  582. data/schemas/tlc/1.1.0/statuses/S0013.json +44 -78
  583. data/schemas/tlc/1.1.0/statuses/S0014.json +52 -80
  584. data/schemas/tlc/1.1.0/statuses/S0015.json +52 -80
  585. data/schemas/tlc/1.1.0/statuses/S0016.json +29 -54
  586. data/schemas/tlc/1.1.0/statuses/S0017.json +29 -54
  587. data/schemas/tlc/1.1.0/statuses/S0018.json +29 -54
  588. data/schemas/tlc/1.1.0/statuses/S0019.json +29 -54
  589. data/schemas/tlc/1.1.0/statuses/S0020.json +44 -78
  590. data/schemas/tlc/1.1.0/statuses/S0021.json +30 -49
  591. data/schemas/tlc/1.1.0/statuses/S0022.json +29 -48
  592. data/schemas/tlc/1.1.0/statuses/S0023.json +30 -49
  593. data/schemas/tlc/1.1.0/statuses/S0024.json +30 -49
  594. data/schemas/tlc/1.1.0/statuses/S0025.json +153 -241
  595. data/schemas/tlc/1.1.0/statuses/S0026.json +29 -48
  596. data/schemas/tlc/1.1.0/statuses/S0027.json +29 -48
  597. data/schemas/tlc/1.1.0/statuses/S0028.json +29 -48
  598. data/schemas/tlc/1.1.0/statuses/S0029.json +29 -48
  599. data/schemas/tlc/1.1.0/statuses/S0030.json +29 -48
  600. data/schemas/tlc/1.1.0/statuses/S0031.json +29 -48
  601. data/schemas/tlc/1.1.0/statuses/S0032.json +61 -104
  602. data/schemas/tlc/1.1.0/statuses/S0033.json +67 -104
  603. data/schemas/tlc/1.1.0/statuses/S0034.json +29 -54
  604. data/schemas/tlc/1.1.0/statuses/S0091.json +33 -58
  605. data/schemas/tlc/1.1.0/statuses/S0092.json +33 -58
  606. data/schemas/tlc/1.1.0/statuses/S0095.json +29 -48
  607. data/schemas/tlc/1.1.0/statuses/S0096.json +110 -180
  608. data/schemas/tlc/1.1.0/statuses/S0097.json +44 -72
  609. data/schemas/tlc/1.1.0/statuses/S0098.json +61 -92
  610. data/schemas/tlc/1.1.0/statuses/S0201.json +44 -78
  611. data/schemas/tlc/1.1.0/statuses/S0202.json +44 -78
  612. data/schemas/tlc/1.1.0/statuses/S0203.json +44 -78
  613. data/schemas/tlc/1.1.0/statuses/S0204.json +178 -284
  614. data/schemas/tlc/1.1.0/statuses/S0205.json +44 -78
  615. data/schemas/tlc/1.1.0/statuses/S0206.json +44 -78
  616. data/schemas/tlc/1.1.0/statuses/S0207.json +44 -78
  617. data/schemas/tlc/1.1.0/statuses/S0208.json +178 -284
  618. data/schemas/tlc/1.1.0/statuses/statuses.json +1 -0
  619. data/schemas/tlc/1.2.0/alarms/A0001.json +1 -0
  620. data/schemas/tlc/1.2.0/alarms/A0002.json +1 -0
  621. data/schemas/tlc/1.2.0/alarms/A0003.json +1 -0
  622. data/schemas/tlc/1.2.0/alarms/A0004.json +1 -0
  623. data/schemas/tlc/1.2.0/alarms/A0005.json +1 -0
  624. data/schemas/tlc/1.2.0/alarms/A0006.json +1 -0
  625. data/schemas/tlc/1.2.0/alarms/A0007.json +19 -44
  626. data/schemas/tlc/1.2.0/alarms/A0008.json +15 -46
  627. data/schemas/tlc/1.2.0/alarms/A0009.json +1 -0
  628. data/schemas/tlc/1.2.0/alarms/A0010.json +1 -0
  629. data/schemas/tlc/1.2.0/alarms/A0101.json +1 -0
  630. data/schemas/tlc/1.2.0/alarms/A0201.json +20 -45
  631. data/schemas/tlc/1.2.0/alarms/A0202.json +20 -45
  632. data/schemas/tlc/1.2.0/alarms/A0301.json +70 -110
  633. data/schemas/tlc/1.2.0/alarms/A0302.json +93 -136
  634. data/schemas/tlc/1.2.0/alarms/A0303.json +70 -110
  635. data/schemas/tlc/1.2.0/alarms/A0304.json +93 -136
  636. data/schemas/tlc/1.2.0/alarms/alarms.json +1 -0
  637. data/schemas/tlc/1.2.0/commands/M0001.json +72 -118
  638. data/schemas/tlc/1.2.0/commands/M0002.json +49 -92
  639. data/schemas/tlc/1.2.0/commands/M0003.json +49 -92
  640. data/schemas/tlc/1.2.0/commands/M0004.json +32 -66
  641. data/schemas/tlc/1.2.0/commands/M0005.json +49 -92
  642. data/schemas/tlc/1.2.0/commands/M0006.json +49 -92
  643. data/schemas/tlc/1.2.0/commands/M0007.json +32 -66
  644. data/schemas/tlc/1.2.0/commands/M0008.json +49 -92
  645. data/schemas/tlc/1.2.0/commands/M0010.json +32 -66
  646. data/schemas/tlc/1.2.0/commands/M0011.json +32 -66
  647. data/schemas/tlc/1.2.0/commands/M0012.json +32 -60
  648. data/schemas/tlc/1.2.0/commands/M0013.json +32 -60
  649. data/schemas/tlc/1.2.0/commands/M0014.json +49 -86
  650. data/schemas/tlc/1.2.0/commands/M0015.json +49 -92
  651. data/schemas/tlc/1.2.0/commands/M0016.json +32 -60
  652. data/schemas/tlc/1.2.0/commands/M0017.json +32 -60
  653. data/schemas/tlc/1.2.0/commands/M0018.json +49 -92
  654. data/schemas/tlc/1.2.0/commands/M0019.json +67 -119
  655. data/schemas/tlc/1.2.0/commands/M0020.json +67 -119
  656. data/schemas/tlc/1.2.0/commands/M0021.json +32 -60
  657. data/schemas/tlc/1.2.0/commands/M0022.json +227 -333
  658. data/schemas/tlc/1.2.0/commands/M0023.json +32 -66
  659. data/schemas/tlc/1.2.0/commands/M0103.json +52 -83
  660. data/schemas/tlc/1.2.0/commands/M0104.json +121 -200
  661. data/schemas/tlc/1.2.0/commands/command_requests.json +1 -0
  662. data/schemas/tlc/1.2.0/commands/command_responses.json +1 -0
  663. data/schemas/tlc/1.2.0/commands/commands.json +1 -0
  664. data/schemas/tlc/1.2.0/rsmp.json +1 -0
  665. data/schemas/tlc/1.2.0/statuses/S0001.json +78 -124
  666. data/schemas/tlc/1.2.0/statuses/S0002.json +29 -48
  667. data/schemas/tlc/1.2.0/statuses/S0003.json +29 -48
  668. data/schemas/tlc/1.2.0/statuses/S0004.json +29 -48
  669. data/schemas/tlc/1.2.0/statuses/S0005.json +59 -99
  670. data/schemas/tlc/1.2.0/statuses/S0006.json +44 -78
  671. data/schemas/tlc/1.2.0/statuses/S0007.json +62 -105
  672. data/schemas/tlc/1.2.0/statuses/S0008.json +62 -105
  673. data/schemas/tlc/1.2.0/statuses/S0009.json +62 -105
  674. data/schemas/tlc/1.2.0/statuses/S0010.json +62 -105
  675. data/schemas/tlc/1.2.0/statuses/S0011.json +62 -105
  676. data/schemas/tlc/1.2.0/statuses/S0012.json +62 -105
  677. data/schemas/tlc/1.2.0/statuses/S0013.json +44 -78
  678. data/schemas/tlc/1.2.0/statuses/S0014.json +52 -80
  679. data/schemas/tlc/1.2.0/statuses/S0015.json +52 -80
  680. data/schemas/tlc/1.2.0/statuses/S0016.json +29 -54
  681. data/schemas/tlc/1.2.0/statuses/S0017.json +29 -54
  682. data/schemas/tlc/1.2.0/statuses/S0019.json +29 -54
  683. data/schemas/tlc/1.2.0/statuses/S0020.json +44 -78
  684. data/schemas/tlc/1.2.0/statuses/S0021.json +30 -49
  685. data/schemas/tlc/1.2.0/statuses/S0022.json +29 -48
  686. data/schemas/tlc/1.2.0/statuses/S0023.json +30 -49
  687. data/schemas/tlc/1.2.0/statuses/S0024.json +30 -49
  688. data/schemas/tlc/1.2.0/statuses/S0025.json +153 -241
  689. data/schemas/tlc/1.2.0/statuses/S0026.json +29 -48
  690. data/schemas/tlc/1.2.0/statuses/S0027.json +29 -48
  691. data/schemas/tlc/1.2.0/statuses/S0028.json +29 -48
  692. data/schemas/tlc/1.2.0/statuses/S0029.json +29 -48
  693. data/schemas/tlc/1.2.0/statuses/S0030.json +29 -48
  694. data/schemas/tlc/1.2.0/statuses/S0031.json +29 -48
  695. data/schemas/tlc/1.2.0/statuses/S0032.json +61 -104
  696. data/schemas/tlc/1.2.0/statuses/S0033.json +67 -104
  697. data/schemas/tlc/1.2.0/statuses/S0034.json +29 -54
  698. data/schemas/tlc/1.2.0/statuses/S0035.json +39 -64
  699. data/schemas/tlc/1.2.0/statuses/S0091.json +33 -58
  700. data/schemas/tlc/1.2.0/statuses/S0092.json +33 -58
  701. data/schemas/tlc/1.2.0/statuses/S0095.json +29 -48
  702. data/schemas/tlc/1.2.0/statuses/S0096.json +110 -180
  703. data/schemas/tlc/1.2.0/statuses/S0097.json +44 -72
  704. data/schemas/tlc/1.2.0/statuses/S0098.json +61 -92
  705. data/schemas/tlc/1.2.0/statuses/S0201.json +44 -78
  706. data/schemas/tlc/1.2.0/statuses/S0202.json +44 -78
  707. data/schemas/tlc/1.2.0/statuses/S0203.json +44 -78
  708. data/schemas/tlc/1.2.0/statuses/S0204.json +178 -284
  709. data/schemas/tlc/1.2.0/statuses/S0205.json +44 -78
  710. data/schemas/tlc/1.2.0/statuses/S0206.json +44 -78
  711. data/schemas/tlc/1.2.0/statuses/S0207.json +44 -78
  712. data/schemas/tlc/1.2.0/statuses/S0208.json +178 -284
  713. data/schemas/tlc/1.2.0/statuses/statuses.json +1 -0
  714. data/schemas/tlc/1.2.1/alarms/A0001.json +1 -0
  715. data/schemas/tlc/1.2.1/alarms/A0002.json +1 -0
  716. data/schemas/tlc/1.2.1/alarms/A0003.json +1 -0
  717. data/schemas/tlc/1.2.1/alarms/A0004.json +1 -0
  718. data/schemas/tlc/1.2.1/alarms/A0005.json +1 -0
  719. data/schemas/tlc/1.2.1/alarms/A0006.json +1 -0
  720. data/schemas/tlc/1.2.1/alarms/A0007.json +19 -44
  721. data/schemas/tlc/1.2.1/alarms/A0008.json +15 -46
  722. data/schemas/tlc/1.2.1/alarms/A0009.json +1 -0
  723. data/schemas/tlc/1.2.1/alarms/A0010.json +1 -0
  724. data/schemas/tlc/1.2.1/alarms/A0101.json +1 -0
  725. data/schemas/tlc/1.2.1/alarms/A0201.json +20 -45
  726. data/schemas/tlc/1.2.1/alarms/A0202.json +20 -45
  727. data/schemas/tlc/1.2.1/alarms/A0301.json +70 -110
  728. data/schemas/tlc/1.2.1/alarms/A0302.json +93 -136
  729. data/schemas/tlc/1.2.1/alarms/A0303.json +70 -110
  730. data/schemas/tlc/1.2.1/alarms/A0304.json +93 -136
  731. data/schemas/tlc/1.2.1/alarms/alarms.json +1 -0
  732. data/schemas/tlc/1.2.1/commands/M0001.json +72 -118
  733. data/schemas/tlc/1.2.1/commands/M0002.json +49 -92
  734. data/schemas/tlc/1.2.1/commands/M0003.json +49 -92
  735. data/schemas/tlc/1.2.1/commands/M0004.json +32 -66
  736. data/schemas/tlc/1.2.1/commands/M0005.json +49 -92
  737. data/schemas/tlc/1.2.1/commands/M0006.json +49 -92
  738. data/schemas/tlc/1.2.1/commands/M0007.json +32 -66
  739. data/schemas/tlc/1.2.1/commands/M0008.json +49 -92
  740. data/schemas/tlc/1.2.1/commands/M0010.json +32 -66
  741. data/schemas/tlc/1.2.1/commands/M0011.json +32 -66
  742. data/schemas/tlc/1.2.1/commands/M0012.json +32 -60
  743. data/schemas/tlc/1.2.1/commands/M0013.json +32 -60
  744. data/schemas/tlc/1.2.1/commands/M0014.json +49 -86
  745. data/schemas/tlc/1.2.1/commands/M0015.json +49 -92
  746. data/schemas/tlc/1.2.1/commands/M0016.json +32 -60
  747. data/schemas/tlc/1.2.1/commands/M0017.json +32 -60
  748. data/schemas/tlc/1.2.1/commands/M0018.json +49 -92
  749. data/schemas/tlc/1.2.1/commands/M0019.json +67 -119
  750. data/schemas/tlc/1.2.1/commands/M0020.json +67 -119
  751. data/schemas/tlc/1.2.1/commands/M0021.json +32 -60
  752. data/schemas/tlc/1.2.1/commands/M0022.json +227 -333
  753. data/schemas/tlc/1.2.1/commands/M0023.json +32 -66
  754. data/schemas/tlc/1.2.1/commands/M0103.json +52 -83
  755. data/schemas/tlc/1.2.1/commands/M0104.json +121 -200
  756. data/schemas/tlc/1.2.1/commands/command_requests.json +1 -0
  757. data/schemas/tlc/1.2.1/commands/command_responses.json +1 -0
  758. data/schemas/tlc/1.2.1/commands/commands.json +1 -0
  759. data/schemas/tlc/1.2.1/rsmp.json +1 -0
  760. data/schemas/tlc/1.2.1/statuses/S0001.json +78 -124
  761. data/schemas/tlc/1.2.1/statuses/S0002.json +29 -48
  762. data/schemas/tlc/1.2.1/statuses/S0003.json +29 -48
  763. data/schemas/tlc/1.2.1/statuses/S0004.json +29 -48
  764. data/schemas/tlc/1.2.1/statuses/S0005.json +59 -99
  765. data/schemas/tlc/1.2.1/statuses/S0006.json +44 -78
  766. data/schemas/tlc/1.2.1/statuses/S0007.json +62 -105
  767. data/schemas/tlc/1.2.1/statuses/S0008.json +62 -105
  768. data/schemas/tlc/1.2.1/statuses/S0009.json +62 -105
  769. data/schemas/tlc/1.2.1/statuses/S0010.json +60 -105
  770. data/schemas/tlc/1.2.1/statuses/S0011.json +62 -105
  771. data/schemas/tlc/1.2.1/statuses/S0012.json +62 -105
  772. data/schemas/tlc/1.2.1/statuses/S0013.json +44 -78
  773. data/schemas/tlc/1.2.1/statuses/S0014.json +52 -80
  774. data/schemas/tlc/1.2.1/statuses/S0015.json +52 -80
  775. data/schemas/tlc/1.2.1/statuses/S0016.json +29 -54
  776. data/schemas/tlc/1.2.1/statuses/S0017.json +29 -54
  777. data/schemas/tlc/1.2.1/statuses/S0019.json +29 -54
  778. data/schemas/tlc/1.2.1/statuses/S0020.json +44 -78
  779. data/schemas/tlc/1.2.1/statuses/S0021.json +30 -49
  780. data/schemas/tlc/1.2.1/statuses/S0022.json +29 -48
  781. data/schemas/tlc/1.2.1/statuses/S0023.json +30 -49
  782. data/schemas/tlc/1.2.1/statuses/S0024.json +30 -49
  783. data/schemas/tlc/1.2.1/statuses/S0025.json +153 -241
  784. data/schemas/tlc/1.2.1/statuses/S0026.json +29 -48
  785. data/schemas/tlc/1.2.1/statuses/S0027.json +29 -48
  786. data/schemas/tlc/1.2.1/statuses/S0028.json +29 -48
  787. data/schemas/tlc/1.2.1/statuses/S0029.json +29 -48
  788. data/schemas/tlc/1.2.1/statuses/S0030.json +29 -48
  789. data/schemas/tlc/1.2.1/statuses/S0031.json +29 -48
  790. data/schemas/tlc/1.2.1/statuses/S0032.json +61 -104
  791. data/schemas/tlc/1.2.1/statuses/S0033.json +67 -104
  792. data/schemas/tlc/1.2.1/statuses/S0034.json +29 -54
  793. data/schemas/tlc/1.2.1/statuses/S0035.json +39 -64
  794. data/schemas/tlc/1.2.1/statuses/S0091.json +33 -58
  795. data/schemas/tlc/1.2.1/statuses/S0092.json +33 -58
  796. data/schemas/tlc/1.2.1/statuses/S0095.json +29 -48
  797. data/schemas/tlc/1.2.1/statuses/S0096.json +110 -180
  798. data/schemas/tlc/1.2.1/statuses/S0097.json +44 -72
  799. data/schemas/tlc/1.2.1/statuses/S0098.json +61 -92
  800. data/schemas/tlc/1.2.1/statuses/S0201.json +44 -78
  801. data/schemas/tlc/1.2.1/statuses/S0202.json +44 -78
  802. data/schemas/tlc/1.2.1/statuses/S0203.json +44 -78
  803. data/schemas/tlc/1.2.1/statuses/S0204.json +178 -284
  804. data/schemas/tlc/1.2.1/statuses/S0205.json +44 -78
  805. data/schemas/tlc/1.2.1/statuses/S0206.json +44 -78
  806. data/schemas/tlc/1.2.1/statuses/S0207.json +44 -78
  807. data/schemas/tlc/1.2.1/statuses/S0208.json +178 -284
  808. data/schemas/tlc/1.2.1/statuses/statuses.json +1 -0
  809. data/schemas/tlc/defs/guards.json +24 -0
  810. metadata +23 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3d517e40ea10e09d966c92de4c6b80f4ca7fef46d455ad0cb1ae729d487801c
4
- data.tar.gz: 17885aac6cd969bce5a059210658dee89fea7313641d28b45b1b05b526725283
3
+ metadata.gz: 86686f176a4c15c90f569c0d60dbeafb56a27c2fe0d06f379791f2314bf1884f
4
+ data.tar.gz: 5e33a0a3e94483f5fe496168b3de4c704e8ea566f32f217cce4db15829b654c6
5
5
  SHA512:
6
- metadata.gz: e1d6261fc9b66f618996b82aedffec5499928686d737d4fcec33430c67486b82120a8d4d35612b18fa421b3f38f91462f3641d08bb7b4eba38f0f693e434ce97
7
- data.tar.gz: b44020651b67f07b26a9a1907ca81b346a48d0be1f384cf8d60c870e3aa08ba472dd886390ef06c2434f24310e434ed327d74526a90b9a55d67c08a0d775f2ac
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
- Ruby will be available, but bundler and gems must be installed.
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
- ## Installing bundler
14
- The bundler gem itself is usually included in modern Ruby distributions, but it's NOT included in the copilot agent container, so always install with:
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
- Add gem executables to the PATH so they can be found:
21
- ```sh
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
- ## Installing Gems
26
- Always use the bundler `path` config to install gems in the user’s local directory:
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
@@ -5,3 +5,4 @@
5
5
  /tmp/
6
6
  /.DS_Store
7
7
  /.rspec_status
8
+ /vendor/bundle/
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.3.2
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.8.9)
5
- json_schemer (~> 2.4.0)
6
- thor (~> 1.4.0)
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.2)
11
+ bigdecimal (3.2.3)
12
12
  diff-lcs (1.6.2)
13
13
  hana (1.3.7)
14
- json_schemer (2.4.0)
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.3.0)
20
- regexp_parser (2.11.2)
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.5)
33
+ rspec-support (3.13.6)
34
34
  simpleidn (0.2.3)
35
- thor (1.4.0)
35
+ thor (1.3.2)
36
36
 
37
37
  PLATFORMS
38
38
  ruby
39
39
 
40
40
  DEPENDENCIES
41
- rake (~> 13.3.0)
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.5.11
47
+ 2.7.2
@@ -61,7 +61,7 @@ module RSMP
61
61
  "items" => {
62
62
  "type" => "object",
63
63
  "required" => required,
64
- "additionalProperties": false
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
- # with draft-07 and older, using a $ref mean all other properties are ignored.
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
- if out.keys.include? '$ref'
79
- ref = out.delete '$ref'
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
- json = {
147
- "description" => item['description'],
148
- "allOf" => [
149
- {
150
- "properties" => { "n" => { "enum" => item['arguments'].keys.sort }},
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
- json
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 = { "properties" => { "sS" => { "items" => { "allOf" => list }}}}
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 = { "items" => { "allOf" => list }}
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 = { "properties" => { "arg" => { "$ref" => "commands.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 = { "properties" => { "rvs" => { "$ref" => "commands.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
- json["allOf"].first["properties"]['cO'] = { "const" => item['command'] }
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'],
@@ -1,5 +1,5 @@
1
1
  module RSMP
2
2
  module Schema
3
- VERSION = "0.8.9"
3
+ VERSION = "0.9.0"
4
4
  end
5
5
  end
data/lib/rsmp_schema.rb CHANGED
@@ -1,5 +1,10 @@
1
1
  require 'yaml'
2
2
  require 'json_schemer'
3
+
4
+ # Define module hierarchy first
5
+ module RSMP
6
+ end
7
+
3
8
  require 'rsmp_schema/error'
4
9
  require 'rsmp_schema/schema'
5
10
  require 'rsmp_schema/convert/import/yaml'
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.4.0"
34
- spec.add_dependency "thor", "~> 1.4.0"
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.3.0"
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,3 @@
1
+ {
2
+ "required" : [ "mId", "cId", "aCId", "xACId", "aSp" ]
3
+ }
@@ -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
+ }