rsmp 0.47.0 → 0.48.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 (426) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/copilot-setup-steps.yml +1 -1
  3. data/.github/workflows/rubocop.yaml +1 -1
  4. data/.github/workflows/sus.yaml +1 -1
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile.lock +5 -5
  7. data/README.md +3 -1
  8. data/documentation/cli.md +225 -0
  9. data/documentation/configuration.md +57 -0
  10. data/lib/rsmp/cli/configuration.rb +30 -0
  11. data/lib/rsmp/cli.rb +18 -45
  12. data/lib/rsmp/collect/command_matcher.rb +13 -4
  13. data/lib/rsmp/collect/status_matcher.rb +14 -4
  14. data/lib/rsmp/command_list.rb +1 -1
  15. data/lib/rsmp/convert/export/json_schema/index.rb +64 -0
  16. data/lib/rsmp/convert/export/json_schema/items.rb +9 -1
  17. data/lib/rsmp/convert/export/json_schema/outputs.rb +65 -25
  18. data/lib/rsmp/convert/export/json_schema/values.rb +40 -11
  19. data/lib/rsmp/convert/export/json_schema.rb +3 -1
  20. data/lib/rsmp/message/sxl_codec.rb +194 -0
  21. data/lib/rsmp/message.rb +2 -0
  22. data/lib/rsmp/node/site/connections.rb +80 -0
  23. data/lib/rsmp/node/site/site.rb +21 -35
  24. data/lib/rsmp/node/supervisor/supervisor.rb +42 -0
  25. data/lib/rsmp/options/schemas/site.json +3 -0
  26. data/lib/rsmp/options/schemas/supervisor.json +1 -0
  27. data/lib/rsmp/options/site_options.rb +30 -21
  28. data/lib/rsmp/options/supervisor_options.rb +1 -0
  29. data/lib/rsmp/proxy/modules/receive.rb +3 -1
  30. data/lib/rsmp/proxy/modules/send.rb +26 -14
  31. data/lib/rsmp/proxy/proxy.rb +17 -0
  32. data/lib/rsmp/proxy/site/connection.rb +79 -0
  33. data/lib/rsmp/proxy/site/modules/commands.rb +24 -1
  34. data/lib/rsmp/proxy/site/site_proxy.rb +6 -15
  35. data/lib/rsmp/proxy/supervisor/modules/commands.rb +55 -0
  36. data/lib/rsmp/proxy/supervisor/modules/status.rb +13 -104
  37. data/lib/rsmp/proxy/supervisor/modules/status_updates.rb +148 -0
  38. data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +19 -0
  39. data/lib/rsmp/schema.rb +38 -1
  40. data/lib/rsmp/tlc/detector_logic.rb +2 -2
  41. data/lib/rsmp/tlc/modules/helpers.rb +0 -22
  42. data/lib/rsmp/tlc/modules/inputs.rb +4 -3
  43. data/lib/rsmp/tlc/modules/modes.rb +2 -2
  44. data/lib/rsmp/tlc/modules/plans.rb +7 -3
  45. data/lib/rsmp/tlc/modules/system.rb +1 -1
  46. data/lib/rsmp/tlc/proxy/control.rb +19 -19
  47. data/lib/rsmp/tlc/proxy/detectors.rb +3 -3
  48. data/lib/rsmp/tlc/proxy/io.rb +15 -12
  49. data/lib/rsmp/tlc/proxy/plans.rb +14 -14
  50. data/lib/rsmp/tlc/proxy/status.rb +9 -5
  51. data/lib/rsmp/tlc/proxy/system.rb +12 -6
  52. data/lib/rsmp/tlc/signal_group.rb +2 -2
  53. data/lib/rsmp/tlc/supervisor_interface.rb +42 -0
  54. data/lib/rsmp/tlc/traffic_controller_site.rb +1 -18
  55. data/lib/rsmp/version.rb +1 -1
  56. data/lib/rsmp.rb +4 -0
  57. data/schemas/core/3.1.4/command_response.json +11 -0
  58. data/schemas/core/3.1.5/command_response.json +11 -0
  59. data/schemas/core/3.2.0/command_response.json +11 -0
  60. data/schemas/core/3.2.1/command_response.json +11 -0
  61. data/schemas/core/3.2.2/command_response.json +11 -0
  62. data/schemas/core/3.3.0/command_response.json +11 -0
  63. data/schemas/tlc/1.0.10/alarms/A0008.json +21 -15
  64. data/schemas/tlc/1.0.10/alarms/A0201.json +26 -20
  65. data/schemas/tlc/1.0.10/alarms/A0202.json +26 -20
  66. data/schemas/tlc/1.0.10/alarms/A0301.json +69 -63
  67. data/schemas/tlc/1.0.10/alarms/A0302.json +87 -81
  68. data/schemas/tlc/1.0.10/commands/M0001.json +66 -60
  69. data/schemas/tlc/1.0.10/commands/M0002.json +48 -42
  70. data/schemas/tlc/1.0.10/commands/M0003.json +48 -42
  71. data/schemas/tlc/1.0.10/commands/M0004.json +35 -29
  72. data/schemas/tlc/1.0.10/commands/M0005.json +48 -42
  73. data/schemas/tlc/1.0.10/commands/M0006.json +48 -42
  74. data/schemas/tlc/1.0.10/commands/M0007.json +35 -29
  75. data/schemas/tlc/1.0.10/commands/M0008.json +48 -42
  76. data/schemas/tlc/1.0.10/commands/M0010.json +35 -29
  77. data/schemas/tlc/1.0.10/commands/M0011.json +35 -29
  78. data/schemas/tlc/1.0.10/commands/M0012.json +35 -29
  79. data/schemas/tlc/1.0.10/commands/M0013.json +35 -29
  80. data/schemas/tlc/1.0.10/commands/M0019.json +61 -55
  81. data/schemas/tlc/1.0.10/commands/M0103.json +51 -45
  82. data/schemas/tlc/1.0.10/commands/M0104.json +100 -94
  83. data/schemas/tlc/1.0.10/commands/command_requests.json +995 -1
  84. data/schemas/tlc/1.0.10/defs/guards.json +19 -0
  85. data/schemas/tlc/1.0.10/sxl.yaml +56 -56
  86. data/schemas/tlc/1.0.10/sxl_index.json +226 -244
  87. data/schemas/tlc/1.0.13/alarms/A0008.json +21 -15
  88. data/schemas/tlc/1.0.13/alarms/A0201.json +26 -20
  89. data/schemas/tlc/1.0.13/alarms/A0202.json +26 -20
  90. data/schemas/tlc/1.0.13/alarms/A0301.json +69 -63
  91. data/schemas/tlc/1.0.13/alarms/A0302.json +87 -81
  92. data/schemas/tlc/1.0.13/commands/M0001.json +66 -60
  93. data/schemas/tlc/1.0.13/commands/M0002.json +48 -42
  94. data/schemas/tlc/1.0.13/commands/M0003.json +48 -42
  95. data/schemas/tlc/1.0.13/commands/M0004.json +35 -29
  96. data/schemas/tlc/1.0.13/commands/M0005.json +48 -42
  97. data/schemas/tlc/1.0.13/commands/M0006.json +48 -42
  98. data/schemas/tlc/1.0.13/commands/M0007.json +35 -29
  99. data/schemas/tlc/1.0.13/commands/M0008.json +48 -42
  100. data/schemas/tlc/1.0.13/commands/M0010.json +35 -29
  101. data/schemas/tlc/1.0.13/commands/M0011.json +35 -29
  102. data/schemas/tlc/1.0.13/commands/M0012.json +35 -29
  103. data/schemas/tlc/1.0.13/commands/M0013.json +35 -29
  104. data/schemas/tlc/1.0.13/commands/M0014.json +48 -42
  105. data/schemas/tlc/1.0.13/commands/M0015.json +48 -42
  106. data/schemas/tlc/1.0.13/commands/M0016.json +35 -29
  107. data/schemas/tlc/1.0.13/commands/M0017.json +35 -29
  108. data/schemas/tlc/1.0.13/commands/M0018.json +48 -42
  109. data/schemas/tlc/1.0.13/commands/M0019.json +61 -55
  110. data/schemas/tlc/1.0.13/commands/M0103.json +51 -45
  111. data/schemas/tlc/1.0.13/commands/M0104.json +100 -94
  112. data/schemas/tlc/1.0.13/commands/command_requests.json +1293 -1
  113. data/schemas/tlc/1.0.13/defs/guards.json +19 -0
  114. data/schemas/tlc/1.0.13/sxl.yaml +63 -63
  115. data/schemas/tlc/1.0.13/sxl_index.json +280 -298
  116. data/schemas/tlc/1.0.14/alarms/A0008.json +21 -15
  117. data/schemas/tlc/1.0.14/alarms/A0201.json +26 -20
  118. data/schemas/tlc/1.0.14/alarms/A0202.json +26 -20
  119. data/schemas/tlc/1.0.14/alarms/A0301.json +69 -63
  120. data/schemas/tlc/1.0.14/alarms/A0302.json +87 -81
  121. data/schemas/tlc/1.0.14/commands/M0001.json +66 -60
  122. data/schemas/tlc/1.0.14/commands/M0002.json +48 -42
  123. data/schemas/tlc/1.0.14/commands/M0003.json +48 -42
  124. data/schemas/tlc/1.0.14/commands/M0004.json +35 -29
  125. data/schemas/tlc/1.0.14/commands/M0005.json +48 -42
  126. data/schemas/tlc/1.0.14/commands/M0006.json +48 -42
  127. data/schemas/tlc/1.0.14/commands/M0007.json +35 -29
  128. data/schemas/tlc/1.0.14/commands/M0008.json +48 -42
  129. data/schemas/tlc/1.0.14/commands/M0010.json +35 -29
  130. data/schemas/tlc/1.0.14/commands/M0011.json +35 -29
  131. data/schemas/tlc/1.0.14/commands/M0012.json +35 -29
  132. data/schemas/tlc/1.0.14/commands/M0013.json +35 -29
  133. data/schemas/tlc/1.0.14/commands/M0014.json +48 -42
  134. data/schemas/tlc/1.0.14/commands/M0015.json +48 -42
  135. data/schemas/tlc/1.0.14/commands/M0016.json +35 -29
  136. data/schemas/tlc/1.0.14/commands/M0017.json +35 -29
  137. data/schemas/tlc/1.0.14/commands/M0018.json +48 -42
  138. data/schemas/tlc/1.0.14/commands/M0019.json +61 -55
  139. data/schemas/tlc/1.0.14/commands/M0103.json +51 -45
  140. data/schemas/tlc/1.0.14/commands/M0104.json +100 -94
  141. data/schemas/tlc/1.0.14/commands/command_requests.json +1293 -1
  142. data/schemas/tlc/1.0.14/defs/guards.json +19 -0
  143. data/schemas/tlc/1.0.14/sxl.yaml +63 -63
  144. data/schemas/tlc/1.0.14/sxl_index.json +304 -322
  145. data/schemas/tlc/1.0.15/alarms/A0008.json +21 -15
  146. data/schemas/tlc/1.0.15/alarms/A0201.json +26 -20
  147. data/schemas/tlc/1.0.15/alarms/A0202.json +26 -20
  148. data/schemas/tlc/1.0.15/alarms/A0301.json +69 -63
  149. data/schemas/tlc/1.0.15/alarms/A0302.json +87 -81
  150. data/schemas/tlc/1.0.15/commands/M0001.json +66 -60
  151. data/schemas/tlc/1.0.15/commands/M0002.json +48 -42
  152. data/schemas/tlc/1.0.15/commands/M0003.json +48 -42
  153. data/schemas/tlc/1.0.15/commands/M0004.json +35 -29
  154. data/schemas/tlc/1.0.15/commands/M0005.json +48 -42
  155. data/schemas/tlc/1.0.15/commands/M0006.json +48 -42
  156. data/schemas/tlc/1.0.15/commands/M0007.json +35 -29
  157. data/schemas/tlc/1.0.15/commands/M0008.json +48 -42
  158. data/schemas/tlc/1.0.15/commands/M0010.json +35 -29
  159. data/schemas/tlc/1.0.15/commands/M0011.json +35 -29
  160. data/schemas/tlc/1.0.15/commands/M0012.json +35 -29
  161. data/schemas/tlc/1.0.15/commands/M0013.json +35 -29
  162. data/schemas/tlc/1.0.15/commands/M0014.json +48 -42
  163. data/schemas/tlc/1.0.15/commands/M0015.json +48 -42
  164. data/schemas/tlc/1.0.15/commands/M0016.json +35 -29
  165. data/schemas/tlc/1.0.15/commands/M0017.json +35 -29
  166. data/schemas/tlc/1.0.15/commands/M0018.json +48 -42
  167. data/schemas/tlc/1.0.15/commands/M0019.json +61 -55
  168. data/schemas/tlc/1.0.15/commands/M0020.json +61 -55
  169. data/schemas/tlc/1.0.15/commands/M0021.json +35 -29
  170. data/schemas/tlc/1.0.15/commands/M0103.json +51 -45
  171. data/schemas/tlc/1.0.15/commands/M0104.json +100 -94
  172. data/schemas/tlc/1.0.15/commands/command_requests.json +1425 -1
  173. data/schemas/tlc/1.0.15/defs/guards.json +19 -0
  174. data/schemas/tlc/1.0.15/sxl.yaml +66 -66
  175. data/schemas/tlc/1.0.15/sxl_index.json +330 -350
  176. data/schemas/tlc/1.0.7/alarms/A0008.json +21 -15
  177. data/schemas/tlc/1.0.7/alarms/A0201.json +26 -20
  178. data/schemas/tlc/1.0.7/alarms/A0202.json +26 -20
  179. data/schemas/tlc/1.0.7/alarms/A0301.json +69 -63
  180. data/schemas/tlc/1.0.7/alarms/A0302.json +87 -81
  181. data/schemas/tlc/1.0.7/commands/M0001.json +66 -60
  182. data/schemas/tlc/1.0.7/commands/M0002.json +48 -42
  183. data/schemas/tlc/1.0.7/commands/M0003.json +48 -42
  184. data/schemas/tlc/1.0.7/commands/M0004.json +35 -29
  185. data/schemas/tlc/1.0.7/commands/M0005.json +48 -42
  186. data/schemas/tlc/1.0.7/commands/M0006.json +48 -42
  187. data/schemas/tlc/1.0.7/commands/M0007.json +35 -29
  188. data/schemas/tlc/1.0.7/commands/M0008.json +48 -42
  189. data/schemas/tlc/1.0.7/commands/M0010.json +35 -29
  190. data/schemas/tlc/1.0.7/commands/M0011.json +35 -29
  191. data/schemas/tlc/1.0.7/commands/M0019.json +61 -55
  192. data/schemas/tlc/1.0.7/commands/M0103.json +51 -45
  193. data/schemas/tlc/1.0.7/commands/M0104.json +100 -94
  194. data/schemas/tlc/1.0.7/commands/command_requests.json +895 -1
  195. data/schemas/tlc/1.0.7/defs/guards.json +19 -0
  196. data/schemas/tlc/1.0.7/sxl.yaml +58 -58
  197. data/schemas/tlc/1.0.7/sxl_index.json +228 -246
  198. data/schemas/tlc/1.0.8/alarms/A0008.json +21 -15
  199. data/schemas/tlc/1.0.8/alarms/A0201.json +26 -20
  200. data/schemas/tlc/1.0.8/alarms/A0202.json +26 -20
  201. data/schemas/tlc/1.0.8/alarms/A0301.json +69 -63
  202. data/schemas/tlc/1.0.8/alarms/A0302.json +87 -81
  203. data/schemas/tlc/1.0.8/commands/M0001.json +66 -60
  204. data/schemas/tlc/1.0.8/commands/M0002.json +48 -42
  205. data/schemas/tlc/1.0.8/commands/M0003.json +48 -42
  206. data/schemas/tlc/1.0.8/commands/M0004.json +35 -29
  207. data/schemas/tlc/1.0.8/commands/M0005.json +48 -42
  208. data/schemas/tlc/1.0.8/commands/M0006.json +48 -42
  209. data/schemas/tlc/1.0.8/commands/M0007.json +35 -29
  210. data/schemas/tlc/1.0.8/commands/M0008.json +48 -42
  211. data/schemas/tlc/1.0.8/commands/M0010.json +35 -29
  212. data/schemas/tlc/1.0.8/commands/M0011.json +35 -29
  213. data/schemas/tlc/1.0.8/commands/M0012.json +35 -29
  214. data/schemas/tlc/1.0.8/commands/M0013.json +35 -29
  215. data/schemas/tlc/1.0.8/commands/M0019.json +61 -55
  216. data/schemas/tlc/1.0.8/commands/M0103.json +51 -45
  217. data/schemas/tlc/1.0.8/commands/M0104.json +100 -94
  218. data/schemas/tlc/1.0.8/commands/command_requests.json +995 -1
  219. data/schemas/tlc/1.0.8/defs/guards.json +19 -0
  220. data/schemas/tlc/1.0.8/sxl.yaml +56 -56
  221. data/schemas/tlc/1.0.8/sxl_index.json +226 -244
  222. data/schemas/tlc/1.0.9/alarms/A0008.json +21 -15
  223. data/schemas/tlc/1.0.9/alarms/A0201.json +26 -20
  224. data/schemas/tlc/1.0.9/alarms/A0202.json +26 -20
  225. data/schemas/tlc/1.0.9/alarms/A0301.json +69 -63
  226. data/schemas/tlc/1.0.9/alarms/A0302.json +87 -81
  227. data/schemas/tlc/1.0.9/commands/M0001.json +66 -60
  228. data/schemas/tlc/1.0.9/commands/M0002.json +48 -42
  229. data/schemas/tlc/1.0.9/commands/M0003.json +48 -42
  230. data/schemas/tlc/1.0.9/commands/M0004.json +35 -29
  231. data/schemas/tlc/1.0.9/commands/M0005.json +48 -42
  232. data/schemas/tlc/1.0.9/commands/M0006.json +48 -42
  233. data/schemas/tlc/1.0.9/commands/M0007.json +35 -29
  234. data/schemas/tlc/1.0.9/commands/M0008.json +48 -42
  235. data/schemas/tlc/1.0.9/commands/M0010.json +35 -29
  236. data/schemas/tlc/1.0.9/commands/M0011.json +35 -29
  237. data/schemas/tlc/1.0.9/commands/M0012.json +35 -29
  238. data/schemas/tlc/1.0.9/commands/M0013.json +35 -29
  239. data/schemas/tlc/1.0.9/commands/M0019.json +61 -55
  240. data/schemas/tlc/1.0.9/commands/M0103.json +51 -45
  241. data/schemas/tlc/1.0.9/commands/M0104.json +100 -94
  242. data/schemas/tlc/1.0.9/commands/command_requests.json +995 -1
  243. data/schemas/tlc/1.0.9/defs/guards.json +19 -0
  244. data/schemas/tlc/1.0.9/sxl.yaml +56 -56
  245. data/schemas/tlc/1.0.9/sxl_index.json +226 -244
  246. data/schemas/tlc/1.1.0/alarms/A0007.json +25 -19
  247. data/schemas/tlc/1.1.0/alarms/A0008.json +21 -15
  248. data/schemas/tlc/1.1.0/alarms/A0201.json +26 -20
  249. data/schemas/tlc/1.1.0/alarms/A0202.json +26 -20
  250. data/schemas/tlc/1.1.0/alarms/A0301.json +69 -63
  251. data/schemas/tlc/1.1.0/alarms/A0302.json +87 -81
  252. data/schemas/tlc/1.1.0/alarms/A0303.json +69 -63
  253. data/schemas/tlc/1.1.0/alarms/A0304.json +87 -81
  254. data/schemas/tlc/1.1.0/commands/M0001.json +66 -60
  255. data/schemas/tlc/1.1.0/commands/M0002.json +48 -42
  256. data/schemas/tlc/1.1.0/commands/M0003.json +48 -42
  257. data/schemas/tlc/1.1.0/commands/M0004.json +35 -29
  258. data/schemas/tlc/1.1.0/commands/M0005.json +48 -42
  259. data/schemas/tlc/1.1.0/commands/M0006.json +48 -42
  260. data/schemas/tlc/1.1.0/commands/M0007.json +35 -29
  261. data/schemas/tlc/1.1.0/commands/M0008.json +48 -42
  262. data/schemas/tlc/1.1.0/commands/M0010.json +35 -29
  263. data/schemas/tlc/1.1.0/commands/M0011.json +35 -29
  264. data/schemas/tlc/1.1.0/commands/M0012.json +35 -29
  265. data/schemas/tlc/1.1.0/commands/M0013.json +35 -29
  266. data/schemas/tlc/1.1.0/commands/M0014.json +48 -42
  267. data/schemas/tlc/1.1.0/commands/M0015.json +48 -42
  268. data/schemas/tlc/1.1.0/commands/M0016.json +35 -29
  269. data/schemas/tlc/1.1.0/commands/M0017.json +35 -29
  270. data/schemas/tlc/1.1.0/commands/M0018.json +48 -42
  271. data/schemas/tlc/1.1.0/commands/M0019.json +61 -55
  272. data/schemas/tlc/1.1.0/commands/M0020.json +61 -55
  273. data/schemas/tlc/1.1.0/commands/M0021.json +35 -29
  274. data/schemas/tlc/1.1.0/commands/M0022.json +194 -188
  275. data/schemas/tlc/1.1.0/commands/M0023.json +35 -29
  276. data/schemas/tlc/1.1.0/commands/M0103.json +51 -45
  277. data/schemas/tlc/1.1.0/commands/M0104.json +100 -94
  278. data/schemas/tlc/1.1.0/commands/command_requests.json +1525 -1
  279. data/schemas/tlc/1.1.0/defs/guards.json +19 -0
  280. data/schemas/tlc/1.1.0/statuses/S0033.json +2 -2
  281. data/schemas/tlc/1.1.0/sxl.yaml +75 -74
  282. data/schemas/tlc/1.1.0/sxl_index.json +391 -398
  283. data/schemas/tlc/1.2.0/alarms/A0007.json +25 -19
  284. data/schemas/tlc/1.2.0/alarms/A0008.json +21 -15
  285. data/schemas/tlc/1.2.0/alarms/A0201.json +26 -20
  286. data/schemas/tlc/1.2.0/alarms/A0202.json +26 -20
  287. data/schemas/tlc/1.2.0/alarms/A0301.json +69 -63
  288. data/schemas/tlc/1.2.0/alarms/A0302.json +87 -81
  289. data/schemas/tlc/1.2.0/alarms/A0303.json +69 -63
  290. data/schemas/tlc/1.2.0/alarms/A0304.json +87 -81
  291. data/schemas/tlc/1.2.0/commands/M0001.json +66 -60
  292. data/schemas/tlc/1.2.0/commands/M0002.json +48 -42
  293. data/schemas/tlc/1.2.0/commands/M0003.json +48 -42
  294. data/schemas/tlc/1.2.0/commands/M0004.json +35 -29
  295. data/schemas/tlc/1.2.0/commands/M0005.json +48 -42
  296. data/schemas/tlc/1.2.0/commands/M0006.json +48 -42
  297. data/schemas/tlc/1.2.0/commands/M0007.json +35 -29
  298. data/schemas/tlc/1.2.0/commands/M0008.json +48 -42
  299. data/schemas/tlc/1.2.0/commands/M0010.json +35 -29
  300. data/schemas/tlc/1.2.0/commands/M0011.json +35 -29
  301. data/schemas/tlc/1.2.0/commands/M0012.json +35 -29
  302. data/schemas/tlc/1.2.0/commands/M0013.json +35 -29
  303. data/schemas/tlc/1.2.0/commands/M0014.json +48 -42
  304. data/schemas/tlc/1.2.0/commands/M0015.json +48 -42
  305. data/schemas/tlc/1.2.0/commands/M0016.json +35 -29
  306. data/schemas/tlc/1.2.0/commands/M0017.json +35 -29
  307. data/schemas/tlc/1.2.0/commands/M0018.json +48 -42
  308. data/schemas/tlc/1.2.0/commands/M0019.json +61 -55
  309. data/schemas/tlc/1.2.0/commands/M0020.json +61 -55
  310. data/schemas/tlc/1.2.0/commands/M0021.json +35 -29
  311. data/schemas/tlc/1.2.0/commands/M0022.json +194 -188
  312. data/schemas/tlc/1.2.0/commands/M0023.json +35 -29
  313. data/schemas/tlc/1.2.0/commands/M0103.json +51 -45
  314. data/schemas/tlc/1.2.0/commands/M0104.json +100 -94
  315. data/schemas/tlc/1.2.0/commands/command_requests.json +1525 -1
  316. data/schemas/tlc/1.2.0/defs/guards.json +19 -0
  317. data/schemas/tlc/1.2.0/statuses/S0033.json +2 -2
  318. data/schemas/tlc/1.2.0/sxl.yaml +77 -76
  319. data/schemas/tlc/1.2.0/sxl_index.json +401 -397
  320. data/schemas/tlc/1.2.1/alarms/A0007.json +25 -19
  321. data/schemas/tlc/1.2.1/alarms/A0008.json +21 -15
  322. data/schemas/tlc/1.2.1/alarms/A0201.json +26 -20
  323. data/schemas/tlc/1.2.1/alarms/A0202.json +26 -20
  324. data/schemas/tlc/1.2.1/alarms/A0301.json +69 -63
  325. data/schemas/tlc/1.2.1/alarms/A0302.json +87 -81
  326. data/schemas/tlc/1.2.1/alarms/A0303.json +69 -63
  327. data/schemas/tlc/1.2.1/alarms/A0304.json +87 -81
  328. data/schemas/tlc/1.2.1/commands/M0001.json +66 -60
  329. data/schemas/tlc/1.2.1/commands/M0002.json +48 -42
  330. data/schemas/tlc/1.2.1/commands/M0003.json +48 -42
  331. data/schemas/tlc/1.2.1/commands/M0004.json +35 -29
  332. data/schemas/tlc/1.2.1/commands/M0005.json +48 -42
  333. data/schemas/tlc/1.2.1/commands/M0006.json +48 -42
  334. data/schemas/tlc/1.2.1/commands/M0007.json +35 -29
  335. data/schemas/tlc/1.2.1/commands/M0008.json +48 -42
  336. data/schemas/tlc/1.2.1/commands/M0010.json +35 -29
  337. data/schemas/tlc/1.2.1/commands/M0011.json +35 -29
  338. data/schemas/tlc/1.2.1/commands/M0012.json +35 -29
  339. data/schemas/tlc/1.2.1/commands/M0013.json +35 -29
  340. data/schemas/tlc/1.2.1/commands/M0014.json +48 -42
  341. data/schemas/tlc/1.2.1/commands/M0015.json +48 -42
  342. data/schemas/tlc/1.2.1/commands/M0016.json +35 -29
  343. data/schemas/tlc/1.2.1/commands/M0017.json +35 -29
  344. data/schemas/tlc/1.2.1/commands/M0018.json +48 -42
  345. data/schemas/tlc/1.2.1/commands/M0019.json +61 -55
  346. data/schemas/tlc/1.2.1/commands/M0020.json +61 -55
  347. data/schemas/tlc/1.2.1/commands/M0021.json +35 -29
  348. data/schemas/tlc/1.2.1/commands/M0022.json +194 -188
  349. data/schemas/tlc/1.2.1/commands/M0023.json +35 -29
  350. data/schemas/tlc/1.2.1/commands/M0103.json +51 -45
  351. data/schemas/tlc/1.2.1/commands/M0104.json +100 -94
  352. data/schemas/tlc/1.2.1/commands/command_requests.json +1525 -1
  353. data/schemas/tlc/1.2.1/defs/guards.json +19 -0
  354. data/schemas/tlc/1.2.1/statuses/S0033.json +2 -2
  355. data/schemas/tlc/1.2.1/sxl.yaml +77 -76
  356. data/schemas/tlc/1.2.1/sxl_index.json +401 -397
  357. data/schemas/tlc/1.3.0/alarms/A0007.json +25 -19
  358. data/schemas/tlc/1.3.0/alarms/A0008.json +21 -15
  359. data/schemas/tlc/1.3.0/alarms/A0201.json +26 -20
  360. data/schemas/tlc/1.3.0/alarms/A0202.json +26 -20
  361. data/schemas/tlc/1.3.0/alarms/A0301.json +69 -63
  362. data/schemas/tlc/1.3.0/alarms/A0302.json +87 -81
  363. data/schemas/tlc/1.3.0/alarms/A0303.json +70 -64
  364. data/schemas/tlc/1.3.0/alarms/A0304.json +88 -82
  365. data/schemas/tlc/1.3.0/commands/M0001.json +66 -60
  366. data/schemas/tlc/1.3.0/commands/M0002.json +48 -42
  367. data/schemas/tlc/1.3.0/commands/M0003.json +48 -42
  368. data/schemas/tlc/1.3.0/commands/M0004.json +35 -29
  369. data/schemas/tlc/1.3.0/commands/M0005.json +48 -42
  370. data/schemas/tlc/1.3.0/commands/M0006.json +48 -42
  371. data/schemas/tlc/1.3.0/commands/M0007.json +35 -29
  372. data/schemas/tlc/1.3.0/commands/M0008.json +61 -55
  373. data/schemas/tlc/1.3.0/commands/M0010.json +35 -29
  374. data/schemas/tlc/1.3.0/commands/M0011.json +35 -29
  375. data/schemas/tlc/1.3.0/commands/M0012.json +35 -29
  376. data/schemas/tlc/1.3.0/commands/M0013.json +36 -30
  377. data/schemas/tlc/1.3.0/commands/M0014.json +48 -42
  378. data/schemas/tlc/1.3.0/commands/M0015.json +48 -42
  379. data/schemas/tlc/1.3.0/commands/M0016.json +35 -29
  380. data/schemas/tlc/1.3.0/commands/M0017.json +35 -29
  381. data/schemas/tlc/1.3.0/commands/M0018.json +48 -42
  382. data/schemas/tlc/1.3.0/commands/M0019.json +61 -55
  383. data/schemas/tlc/1.3.0/commands/M0020.json +61 -55
  384. data/schemas/tlc/1.3.0/commands/M0021.json +35 -29
  385. data/schemas/tlc/1.3.0/commands/M0022.json +195 -189
  386. data/schemas/tlc/1.3.0/commands/M0023.json +35 -29
  387. data/schemas/tlc/1.3.0/commands/M0024.json +21 -15
  388. data/schemas/tlc/1.3.0/commands/M0103.json +51 -45
  389. data/schemas/tlc/1.3.0/commands/M0104.json +100 -94
  390. data/schemas/tlc/1.3.0/commands/command_requests.json +1559 -1
  391. data/schemas/tlc/1.3.0/defs/guards.json +19 -0
  392. data/schemas/tlc/1.3.0/statuses/S0001.json +4 -4
  393. data/schemas/tlc/1.3.0/statuses/S0005.json +3 -3
  394. data/schemas/tlc/1.3.0/statuses/S0006.json +2 -2
  395. data/schemas/tlc/1.3.0/statuses/S0007.json +1 -1
  396. data/schemas/tlc/1.3.0/statuses/S0008.json +1 -1
  397. data/schemas/tlc/1.3.0/statuses/S0009.json +1 -1
  398. data/schemas/tlc/1.3.0/statuses/S0010.json +1 -1
  399. data/schemas/tlc/1.3.0/statuses/S0011.json +1 -1
  400. data/schemas/tlc/1.3.0/statuses/S0012.json +1 -1
  401. data/schemas/tlc/1.3.0/statuses/S0013.json +1 -1
  402. data/schemas/tlc/1.3.0/statuses/S0014.json +1 -1
  403. data/schemas/tlc/1.3.0/statuses/S0015.json +1 -1
  404. data/schemas/tlc/1.3.0/statuses/S0016.json +1 -1
  405. data/schemas/tlc/1.3.0/statuses/S0017.json +1 -1
  406. data/schemas/tlc/1.3.0/statuses/S0019.json +1 -1
  407. data/schemas/tlc/1.3.0/statuses/S0020.json +1 -1
  408. data/schemas/tlc/1.3.0/statuses/S0025.json +2 -2
  409. data/schemas/tlc/1.3.0/statuses/S0027.json +1 -1
  410. data/schemas/tlc/1.3.0/statuses/S0032.json +2 -2
  411. data/schemas/tlc/1.3.0/statuses/S0033.json +5 -5
  412. data/schemas/tlc/1.3.0/statuses/S0034.json +1 -1
  413. data/schemas/tlc/1.3.0/statuses/S0035.json +1 -1
  414. data/schemas/tlc/1.3.0/statuses/S0091.json +1 -1
  415. data/schemas/tlc/1.3.0/statuses/S0092.json +1 -1
  416. data/schemas/tlc/1.3.0/statuses/S0096.json +6 -6
  417. data/schemas/tlc/1.3.0/statuses/S0201.json +1 -1
  418. data/schemas/tlc/1.3.0/statuses/S0202.json +1 -1
  419. data/schemas/tlc/1.3.0/statuses/S0203.json +1 -1
  420. data/schemas/tlc/1.3.0/statuses/S0204.json +9 -9
  421. data/schemas/tlc/1.3.0/statuses/S0205.json +1 -1
  422. data/schemas/tlc/1.3.0/statuses/S0206.json +1 -1
  423. data/schemas/tlc/1.3.0/statuses/S0207.json +1 -1
  424. data/schemas/tlc/1.3.0/statuses/S0208.json +9 -9
  425. data/schemas/tlc/1.3.0/sxl_index.json +408 -402
  426. metadata +8 -1
@@ -13,57 +13,63 @@
13
13
  "const" : "setForceDetectorLogic"
14
14
  }
15
15
  },
16
- "allOf" : [
17
- {
18
- "if" : {
19
- "properties" : {
20
- "n" : {
21
- "const" : "status"
22
- }
23
- }
24
- },
25
- "then" : {
26
- "properties" : {
27
- "v" : {
28
- "description" : "False: Deactivate manual control of detector logic\nTrue: Activate manual control of detector logic",
29
- "$ref" : "../defs/definitions.json#/boolean"
16
+ "if" : {
17
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
18
+ },
19
+ "then" : {},
20
+ "else" : {
21
+ "allOf" : [
22
+ {
23
+ "if" : {
24
+ "properties" : {
25
+ "n" : {
26
+ "const" : "status"
27
+ }
30
28
  }
31
- }
32
- }
33
- },
34
- {
35
- "if" : {
36
- "properties" : {
37
- "n" : {
38
- "const" : "securityCode"
29
+ },
30
+ "then" : {
31
+ "properties" : {
32
+ "v" : {
33
+ "description" : "False: Deactivate manual control of detector logic\nTrue: Activate manual control of detector logic",
34
+ "$ref" : "../defs/definitions.json#/boolean"
35
+ }
39
36
  }
40
37
  }
41
38
  },
42
- "then" : {
43
- "properties" : {
44
- "v" : {
45
- "description" : "Security code 2",
46
- "type" : "string"
39
+ {
40
+ "if" : {
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "securityCode"
44
+ }
47
45
  }
48
- }
49
- }
50
- },
51
- {
52
- "if" : {
53
- "properties" : {
54
- "n" : {
55
- "const" : "mode"
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "description" : "Security code 2",
51
+ "type" : "string"
52
+ }
56
53
  }
57
54
  }
58
55
  },
59
- "then" : {
60
- "properties" : {
61
- "v" : {
62
- "description" : "False: Deactivate detector logic\nTrue: Activate detector logic",
63
- "$ref" : "../defs/definitions.json#/boolean"
56
+ {
57
+ "if" : {
58
+ "properties" : {
59
+ "n" : {
60
+ "const" : "mode"
61
+ }
62
+ }
63
+ },
64
+ "then" : {
65
+ "properties" : {
66
+ "v" : {
67
+ "description" : "False: Deactivate detector logic\nTrue: Activate detector logic",
68
+ "$ref" : "../defs/definitions.json#/boolean"
69
+ }
64
70
  }
65
71
  }
66
72
  }
67
- }
68
- ]
73
+ ]
74
+ }
69
75
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setStart"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
15
+ "if" : {
16
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
17
+ },
18
+ "then" : {},
19
+ "else" : {
20
+ "allOf" : [
21
+ {
22
+ "if" : {
23
+ "properties" : {
24
+ "n" : {
25
+ "const" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "False: No command (default)\nTrue: Order a signal group to green",
28
- "$ref" : "../defs/definitions.json#/boolean"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "False: No command (default)\nTrue: Order a signal group to green",
33
+ "$ref" : "../defs/definitions.json#/boolean"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setStop"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
15
+ "if" : {
16
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
17
+ },
18
+ "then" : {},
19
+ "else" : {
20
+ "allOf" : [
21
+ {
22
+ "if" : {
23
+ "properties" : {
24
+ "n" : {
25
+ "const" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "False: No command (default)\nTrue: Order a signal group to red",
28
- "$ref" : "../defs/definitions.json#/boolean"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "False: No command (default)\nTrue: Order a signal group to red",
33
+ "$ref" : "../defs/definitions.json#/boolean"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setStart"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
15
+ "if" : {
16
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
17
+ },
18
+ "then" : {},
19
+ "else" : {
20
+ "allOf" : [
21
+ {
22
+ "if" : {
23
+ "properties" : {
24
+ "n" : {
25
+ "const" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.\n\n1=Order signal group to green\n0=Order signal group to red\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both these examples could be sent in the same message as:\n\"5,4143,65:22,1,4\"\n\nSuch a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.\n\n1=Order signal group to green\n0=Order signal group to red\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both these examples could be sent in the same message as:\n\"5,4143,65:22,1,4\"\n\nSuch a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setInput"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
15
+ "if" : {
16
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
17
+ },
18
+ "then" : {},
19
+ "else" : {
20
+ "allOf" : [
21
+ {
22
+ "if" : {
23
+ "properties" : {
24
+ "n" : {
25
+ "const" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, \":\" is used in example below.\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both thease examples could be sent in the same message as:\n\"5,4143:65:22,1,4\"\n\nSuch a message would activate input 6,7,10,17,22 and deactivate input 5,11,24",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, \":\" is used in example below.\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both thease examples could be sent in the same message as:\n\"5,4143:65:22,1,4\"\n\nSuch a message would activate input 6,7,10,17,22 and deactivate input 5,11,24",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -14,74 +14,80 @@
14
14
  "const" : "setInput"
15
15
  }
16
16
  },
17
- "allOf" : [
18
- {
19
- "if" : {
20
- "properties" : {
21
- "n" : {
22
- "const" : "status"
23
- }
24
- }
25
- },
26
- "then" : {
27
- "properties" : {
28
- "v" : {
29
- "description" : "False: Force input\nTrue: Release input",
30
- "$ref" : "../defs/definitions.json#/boolean"
17
+ "if" : {
18
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
19
+ },
20
+ "then" : {},
21
+ "else" : {
22
+ "allOf" : [
23
+ {
24
+ "if" : {
25
+ "properties" : {
26
+ "n" : {
27
+ "const" : "status"
28
+ }
31
29
  }
32
- }
33
- }
34
- },
35
- {
36
- "if" : {
37
- "properties" : {
38
- "n" : {
39
- "const" : "securityCode"
30
+ },
31
+ "then" : {
32
+ "properties" : {
33
+ "v" : {
34
+ "description" : "False: Force input\nTrue: Release input",
35
+ "$ref" : "../defs/definitions.json#/boolean"
36
+ }
40
37
  }
41
38
  }
42
39
  },
43
- "then" : {
44
- "properties" : {
45
- "v" : {
46
- "description" : "Security code 2",
47
- "type" : "string"
40
+ {
41
+ "if" : {
42
+ "properties" : {
43
+ "n" : {
44
+ "const" : "securityCode"
45
+ }
48
46
  }
49
- }
50
- }
51
- },
52
- {
53
- "if" : {
54
- "properties" : {
55
- "n" : {
56
- "const" : "input"
47
+ },
48
+ "then" : {
49
+ "properties" : {
50
+ "v" : {
51
+ "description" : "Security code 2",
52
+ "type" : "string"
53
+ }
57
54
  }
58
55
  }
59
56
  },
60
- "then" : {
61
- "properties" : {
62
- "v" : {
63
- "description" : "Number of Input",
64
- "$ref" : "../defs/definitions.json#/integer"
57
+ {
58
+ "if" : {
59
+ "properties" : {
60
+ "n" : {
61
+ "const" : "input"
62
+ }
65
63
  }
66
- }
67
- }
68
- },
69
- {
70
- "if" : {
71
- "properties" : {
72
- "n" : {
73
- "const" : "inputValue"
64
+ },
65
+ "then" : {
66
+ "properties" : {
67
+ "v" : {
68
+ "description" : "Number of Input",
69
+ "$ref" : "../defs/definitions.json#/integer"
70
+ }
74
71
  }
75
72
  }
76
73
  },
77
- "then" : {
78
- "properties" : {
79
- "v" : {
80
- "description" : "False: input forced to False\nTrue: input forced to True",
81
- "$ref" : "../defs/definitions.json#/boolean"
74
+ {
75
+ "if" : {
76
+ "properties" : {
77
+ "n" : {
78
+ "const" : "inputValue"
79
+ }
80
+ }
81
+ },
82
+ "then" : {
83
+ "properties" : {
84
+ "v" : {
85
+ "description" : "False: input forced to False\nTrue: input forced to True",
86
+ "$ref" : "../defs/definitions.json#/boolean"
87
+ }
82
88
  }
83
89
  }
84
90
  }
85
- }
86
- ]
91
+ ]
92
+ }
87
93
  }
@@ -13,60 +13,66 @@
13
13
  "const" : "setSecurityCode"
14
14
  }
15
15
  },
16
- "allOf" : [
17
- {
18
- "if" : {
19
- "properties" : {
20
- "n" : {
21
- "const" : "status"
22
- }
23
- }
24
- },
25
- "then" : {
26
- "properties" : {
27
- "v" : {
28
- "type" : "string",
29
- "enum" : [
30
- "Level1",
31
- "Level2"
32
- ]
16
+ "if" : {
17
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
18
+ },
19
+ "then" : {},
20
+ "else" : {
21
+ "allOf" : [
22
+ {
23
+ "if" : {
24
+ "properties" : {
25
+ "n" : {
26
+ "const" : "status"
27
+ }
33
28
  }
34
- }
35
- }
36
- },
37
- {
38
- "if" : {
39
- "properties" : {
40
- "n" : {
41
- "const" : "oldSecurityCode"
29
+ },
30
+ "then" : {
31
+ "properties" : {
32
+ "v" : {
33
+ "type" : "string",
34
+ "enum" : [
35
+ "Level1",
36
+ "Level2"
37
+ ]
38
+ }
42
39
  }
43
40
  }
44
41
  },
45
- "then" : {
46
- "properties" : {
47
- "v" : {
48
- "description" : "Previous security code",
49
- "type" : "string"
42
+ {
43
+ "if" : {
44
+ "properties" : {
45
+ "n" : {
46
+ "const" : "oldSecurityCode"
47
+ }
50
48
  }
51
- }
52
- }
53
- },
54
- {
55
- "if" : {
56
- "properties" : {
57
- "n" : {
58
- "const" : "newSecurityCode"
49
+ },
50
+ "then" : {
51
+ "properties" : {
52
+ "v" : {
53
+ "description" : "Previous security code",
54
+ "type" : "string"
55
+ }
59
56
  }
60
57
  }
61
58
  },
62
- "then" : {
63
- "properties" : {
64
- "v" : {
65
- "description" : "New security code",
66
- "type" : "string"
59
+ {
60
+ "if" : {
61
+ "properties" : {
62
+ "n" : {
63
+ "const" : "newSecurityCode"
64
+ }
65
+ }
66
+ },
67
+ "then" : {
68
+ "properties" : {
69
+ "v" : {
70
+ "description" : "New security code",
71
+ "type" : "string"
72
+ }
67
73
  }
68
74
  }
69
75
  }
70
- }
71
- ]
76
+ ]
77
+ }
72
78
  }