openc3 5.19.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -7
  3. data/bin/openc3cli +12 -120
  4. data/bin/pipinstall +5 -3
  5. data/data/config/command_modifiers.yaml +17 -1
  6. data/data/config/interface_modifiers.yaml +21 -4
  7. data/data/config/item_modifiers.yaml +1 -1
  8. data/data/config/microservice.yaml +15 -2
  9. data/data/config/param_item_modifiers.yaml +1 -1
  10. data/data/config/parameter_modifiers.yaml +1 -1
  11. data/data/config/table_manager.yaml +2 -2
  12. data/data/config/target.yaml +11 -0
  13. data/data/config/telemetry_modifiers.yaml +17 -1
  14. data/data/config/tool.yaml +12 -0
  15. data/data/config/widgets.yaml +41 -17
  16. data/ext/openc3/ext/packet/packet.c +3 -0
  17. data/lib/openc3/accessors/form_accessor.rb +4 -3
  18. data/lib/openc3/accessors/html_accessor.rb +3 -3
  19. data/lib/openc3/accessors/http_accessor.rb +13 -13
  20. data/lib/openc3/accessors/xml_accessor.rb +16 -4
  21. data/lib/openc3/api/cmd_api.rb +4 -5
  22. data/lib/openc3/api/limits_api.rb +3 -3
  23. data/lib/openc3/api/target_api.rb +0 -30
  24. data/lib/openc3/api/tlm_api.rb +2 -1
  25. data/lib/openc3/bridge/bridge_config.rb +1 -2
  26. data/lib/openc3/ccsds/ccsds_parser.rb +12 -8
  27. data/lib/openc3/config/config_parser.rb +10 -3
  28. data/lib/openc3/conversions/bit_reverse_conversion.rb +1 -0
  29. data/lib/openc3/conversions/conversion.rb +5 -1
  30. data/lib/openc3/conversions/generic_conversion.rb +3 -8
  31. data/lib/openc3/conversions/object_read_conversion.rb +1 -8
  32. data/lib/openc3/conversions/polynomial_conversion.rb +3 -8
  33. data/lib/openc3/conversions/processor_conversion.rb +13 -11
  34. data/lib/openc3/conversions/segmented_polynomial_conversion.rb +3 -11
  35. data/lib/openc3/conversions/unix_time_conversion.rb +4 -7
  36. data/lib/openc3/conversions/unix_time_formatted_conversion.rb +4 -3
  37. data/lib/openc3/conversions/unix_time_seconds_conversion.rb +4 -3
  38. data/lib/openc3/core_ext/array.rb +0 -16
  39. data/lib/openc3/core_ext.rb +0 -1
  40. data/lib/openc3/interfaces/file_interface.rb +198 -0
  41. data/lib/openc3/interfaces/http_client_interface.rb +71 -39
  42. data/lib/openc3/interfaces/http_server_interface.rb +1 -9
  43. data/lib/openc3/interfaces/interface.rb +3 -2
  44. data/lib/openc3/interfaces/mqtt_interface.rb +32 -15
  45. data/lib/openc3/interfaces/mqtt_stream_interface.rb +19 -4
  46. data/lib/openc3/interfaces/protocols/crc_protocol.rb +7 -0
  47. data/lib/openc3/interfaces/serial_interface.rb +1 -0
  48. data/lib/openc3/interfaces/tcpip_server_interface.rb +1 -2
  49. data/lib/openc3/interfaces/udp_interface.rb +5 -3
  50. data/lib/openc3/interfaces.rb +2 -4
  51. data/lib/openc3/io/json_drb.rb +5 -0
  52. data/lib/openc3/io/json_rpc.rb +10 -9
  53. data/lib/openc3/io/udp_sockets.rb +7 -5
  54. data/lib/openc3/microservices/decom_microservice.rb +24 -7
  55. data/lib/openc3/microservices/interface_microservice.rb +65 -7
  56. data/lib/openc3/microservices/microservice.rb +1 -2
  57. data/lib/openc3/microservices/multi_microservice.rb +3 -3
  58. data/lib/openc3/migrations/20241208080000_no_critical_cmd.rb +31 -0
  59. data/lib/openc3/migrations/20241208080001_no_trigger_group.rb +46 -0
  60. data/lib/openc3/models/activity_model.rb +7 -3
  61. data/lib/openc3/models/cvt_model.rb +7 -1
  62. data/lib/openc3/models/interface_model.rb +9 -3
  63. data/lib/openc3/models/microservice_model.rb +8 -1
  64. data/lib/openc3/models/model.rb +1 -0
  65. data/lib/openc3/models/plugin_model.rb +11 -6
  66. data/lib/openc3/models/python_package_model.rb +10 -3
  67. data/lib/openc3/models/reaction_model.rb +14 -10
  68. data/lib/openc3/models/scope_model.rb +87 -25
  69. data/lib/openc3/models/target_model.rb +17 -1
  70. data/lib/openc3/models/timeline_model.rb +17 -5
  71. data/lib/openc3/models/tool_model.rb +15 -3
  72. data/lib/openc3/models/trigger_group_model.rb +6 -3
  73. data/lib/openc3/operators/microservice_operator.rb +10 -3
  74. data/lib/openc3/packets/commands.rb +17 -6
  75. data/lib/openc3/packets/limits.rb +0 -12
  76. data/lib/openc3/packets/packet.rb +10 -1
  77. data/lib/openc3/packets/packet_config.rb +34 -1
  78. data/lib/openc3/packets/packet_item.rb +30 -32
  79. data/lib/openc3/packets/structure_item.rb +2 -2
  80. data/lib/openc3/script/calendar.rb +1 -6
  81. data/lib/openc3/script/commands.rb +19 -13
  82. data/lib/openc3/script/critical_cmd.rb +91 -0
  83. data/lib/openc3/script/screen.rb +2 -2
  84. data/lib/openc3/script/script.rb +17 -10
  85. data/lib/openc3/script/web_socket_api.rb +5 -5
  86. data/lib/openc3/streams/mqtt_stream.rb +41 -33
  87. data/lib/openc3/streams/serial_stream.rb +27 -27
  88. data/lib/openc3/streams/stream.rb +17 -17
  89. data/lib/openc3/streams/tcpip_client_stream.rb +1 -1
  90. data/lib/openc3/streams/tcpip_socket_stream.rb +19 -19
  91. data/lib/openc3/system/system.rb +1 -1
  92. data/lib/openc3/system.rb +2 -3
  93. data/lib/openc3/tools/table_manager/table.rb +2 -2
  94. data/lib/openc3/tools/table_manager/table_parser.rb +1 -1
  95. data/lib/openc3/top_level.rb +9 -5
  96. data/lib/openc3/topics/command_decom_topic.rb +0 -7
  97. data/lib/openc3/topics/command_topic.rb +16 -0
  98. data/lib/openc3/topics/interface_topic.rb +2 -0
  99. data/lib/openc3/utilities/authentication.rb +7 -3
  100. data/lib/openc3/utilities/bucket_utilities.rb +1 -1
  101. data/lib/openc3/utilities/cli_generator.rb +0 -1
  102. data/lib/openc3/utilities/logger.rb +1 -0
  103. data/lib/openc3/utilities/store_queued.rb +1 -0
  104. data/lib/openc3/version.rb +6 -6
  105. data/templates/conversion/conversion.rb +2 -0
  106. data/templates/plugin/README.md +1 -1
  107. data/templates/target/targets/TARGET/lib/target.rb +1 -1
  108. data/templates/tool_angular/package.json +9 -9
  109. data/templates/tool_angular/src/app/app.component.html +4 -13
  110. data/templates/tool_angular/src/app/app.component.scss +5 -13
  111. data/templates/tool_angular/src/app/app.component.ts +5 -4
  112. data/templates/tool_angular/src/app/custom-overlay-container.ts +2 -2
  113. data/templates/tool_angular/src/app/openc3-api.d.ts +1 -1
  114. data/templates/tool_angular/src/main.single-spa.ts +1 -1
  115. data/templates/tool_react/package.json +1 -0
  116. data/templates/tool_react/src/root.component.js +1 -1
  117. data/templates/tool_svelte/build/smui.css +1 -1
  118. data/templates/tool_svelte/package.json +11 -9
  119. data/templates/tool_svelte/rollup.config.js +2 -0
  120. data/templates/tool_svelte/src/App.svelte +2 -2
  121. data/templates/tool_vue/eslint.config.mjs +68 -0
  122. data/templates/tool_vue/jsconfig.json +1 -1
  123. data/templates/tool_vue/package.json +26 -43
  124. data/templates/tool_vue/src/App.vue +3 -5
  125. data/templates/tool_vue/src/main.js +12 -23
  126. data/templates/tool_vue/src/router.js +19 -18
  127. data/templates/tool_vue/src/tools/tool_name/tool_name.vue +2 -2
  128. data/templates/tool_vue/vite.config.js +52 -0
  129. data/templates/widget/package.json +19 -26
  130. data/templates/widget/src/Widget.vue +13 -15
  131. data/templates/widget/vite.config.js +26 -0
  132. metadata +25 -39
  133. data/lib/openc3/core_ext/hash.rb +0 -40
  134. data/lib/openc3/core_ext/httpclient.rb +0 -11
  135. data/lib/openc3/interfaces/linc_interface.rb +0 -480
  136. data/lib/openc3/interfaces/protocols/override_protocol.rb +0 -4
  137. data/lib/openc3/microservices/reaction_microservice.rb +0 -607
  138. data/lib/openc3/microservices/timeline_microservice.rb +0 -400
  139. data/lib/openc3/microservices/trigger_group_microservice.rb +0 -698
  140. data/lib/openc3/migrations/20230615000000_autonomic.rb +0 -86
  141. data/lib/openc3/migrations/20240915000000_activity_uuid.rb +0 -28
  142. data/lib/openc3/system/system_config.rb +0 -413
  143. data/templates/tool_svelte/src/services/api.js +0 -92
  144. data/templates/tool_svelte/src/services/axios.js +0 -85
  145. data/templates/tool_svelte/src/services/cable.js +0 -65
  146. data/templates/tool_svelte/src/services/config-parser.js +0 -198
  147. data/templates/tool_svelte/src/services/openc3-api.js +0 -606
  148. data/templates/tool_vue/.eslintrc.js +0 -43
  149. data/templates/tool_vue/babel.config.json +0 -11
  150. data/templates/tool_vue/vue.config.js +0 -38
  151. data/templates/widget/.eslintrc.js +0 -43
  152. data/templates/widget/babel.config.json +0 -11
  153. data/templates/widget/vue.config.js +0 -28
  154. /data/templates/tool_vue/{.prettierrc.js → .prettierrc.cjs} +0 -0
  155. /data/templates/widget/{.prettierrc.js → .prettierrc.cjs} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.19.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-01 00:00:00.000000000 Z
12
+ date: 2024-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -235,20 +235,6 @@ dependencies:
235
235
  - - "~>"
236
236
  - !ruby/object:Gem::Version
237
237
  version: '0.9'
238
- - !ruby/object:Gem::Dependency
239
- name: httpclient
240
- requirement: !ruby/object:Gem::Requirement
241
- requirements:
242
- - - "~>"
243
- - !ruby/object:Gem::Version
244
- version: '2.8'
245
- type: :runtime
246
- prerelease: false
247
- version_requirements: !ruby/object:Gem::Requirement
248
- requirements:
249
- - - "~>"
250
- - !ruby/object:Gem::Version
251
- version: '2.8'
252
238
  - !ruby/object:Gem::Dependency
253
239
  name: aws-sdk-s3
254
240
  requirement: !ruby/object:Gem::Requirement
@@ -697,6 +683,20 @@ dependencies:
697
683
  - - "~>"
698
684
  - !ruby/object:Gem::Version
699
685
  version: '3.10'
686
+ - !ruby/object:Gem::Dependency
687
+ name: rspec-rails
688
+ requirement: !ruby/object:Gem::Requirement
689
+ requirements:
690
+ - - "~>"
691
+ - !ruby/object:Gem::Version
692
+ version: '7.0'
693
+ type: :development
694
+ prerelease: false
695
+ version_requirements: !ruby/object:Gem::Requirement
696
+ requirements:
697
+ - - "~>"
698
+ - !ruby/object:Gem::Version
699
+ version: '7.0'
700
700
  - !ruby/object:Gem::Dependency
701
701
  name: rspec_junit_formatter
702
702
  requirement: !ruby/object:Gem::Requirement
@@ -911,8 +911,6 @@ files:
911
911
  - lib/openc3/core_ext/exception.rb
912
912
  - lib/openc3/core_ext/faraday.rb
913
913
  - lib/openc3/core_ext/file.rb
914
- - lib/openc3/core_ext/hash.rb
915
- - lib/openc3/core_ext/httpclient.rb
916
914
  - lib/openc3/core_ext/io.rb
917
915
  - lib/openc3/core_ext/kernel.rb
918
916
  - lib/openc3/core_ext/math.rb
@@ -927,10 +925,10 @@ files:
927
925
  - lib/openc3/core_ext/time.rb
928
926
  - lib/openc3/ext/.keep
929
927
  - lib/openc3/interfaces.rb
928
+ - lib/openc3/interfaces/file_interface.rb
930
929
  - lib/openc3/interfaces/http_client_interface.rb
931
930
  - lib/openc3/interfaces/http_server_interface.rb
932
931
  - lib/openc3/interfaces/interface.rb
933
- - lib/openc3/interfaces/linc_interface.rb
934
932
  - lib/openc3/interfaces/mqtt_interface.rb
935
933
  - lib/openc3/interfaces/mqtt_stream_interface.rb
936
934
  - lib/openc3/interfaces/protocols/burst_protocol.rb
@@ -940,7 +938,6 @@ files:
940
938
  - lib/openc3/interfaces/protocols/fixed_protocol.rb
941
939
  - lib/openc3/interfaces/protocols/ignore_packet_protocol.rb
942
940
  - lib/openc3/interfaces/protocols/length_protocol.rb
943
- - lib/openc3/interfaces/protocols/override_protocol.rb
944
941
  - lib/openc3/interfaces/protocols/preidentified_protocol.rb
945
942
  - lib/openc3/interfaces/protocols/protocol.rb
946
943
  - lib/openc3/interfaces/protocols/slip_protocol.rb
@@ -985,20 +982,17 @@ files:
985
982
  - lib/openc3/microservices/multi_microservice.rb
986
983
  - lib/openc3/microservices/periodic_microservice.rb
987
984
  - lib/openc3/microservices/plugin_microservice.rb
988
- - lib/openc3/microservices/reaction_microservice.rb
989
985
  - lib/openc3/microservices/reducer_microservice.rb
990
986
  - lib/openc3/microservices/router_microservice.rb
991
987
  - lib/openc3/microservices/scope_cleanup_microservice.rb
992
988
  - lib/openc3/microservices/text_log_microservice.rb
993
- - lib/openc3/microservices/timeline_microservice.rb
994
- - lib/openc3/microservices/trigger_group_microservice.rb
995
989
  - lib/openc3/migrations/20220420190000_log_stuff.rb
996
990
  - lib/openc3/migrations/20221202214600_add_target_names.rb
997
991
  - lib/openc3/migrations/20221210174900_convert_to_multi.rb
998
- - lib/openc3/migrations/20230615000000_autonomic.rb
999
992
  - lib/openc3/migrations/20230915000002_no_scope_log_messages.rb
1000
993
  - lib/openc3/migrations/20231022000000_tlm_viewer_config.rb
1001
- - lib/openc3/migrations/20240915000000_activity_uuid.rb
994
+ - lib/openc3/migrations/20241208080000_no_critical_cmd.rb
995
+ - lib/openc3/migrations/20241208080001_no_trigger_group.rb
1002
996
  - lib/openc3/models/activity_model.rb
1003
997
  - lib/openc3/models/auth_model.rb
1004
998
  - lib/openc3/models/cvt_model.rb
@@ -1067,6 +1061,7 @@ files:
1067
1061
  - lib/openc3/script/api_shared.rb
1068
1062
  - lib/openc3/script/calendar.rb
1069
1063
  - lib/openc3/script/commands.rb
1064
+ - lib/openc3/script/critical_cmd.rb
1070
1065
  - lib/openc3/script/exceptions.rb
1071
1066
  - lib/openc3/script/extract.rb
1072
1067
  - lib/openc3/script/limits.rb
@@ -1090,7 +1085,6 @@ files:
1090
1085
  - lib/openc3/streams/web_socket_client_stream.rb
1091
1086
  - lib/openc3/system.rb
1092
1087
  - lib/openc3/system/system.rb
1093
- - lib/openc3/system/system_config.rb
1094
1088
  - lib/openc3/system/target.rb
1095
1089
  - lib/openc3/tools/cmd_tlm_server/api.rb
1096
1090
  - lib/openc3/tools/cmd_tlm_server/interface_thread.rb
@@ -1227,37 +1221,29 @@ files:
1227
1221
  - templates/tool_svelte/rollup.config.js
1228
1222
  - templates/tool_svelte/src/App.svelte
1229
1223
  - templates/tool_svelte/src/App.test.js
1230
- - templates/tool_svelte/src/services/api.js
1231
- - templates/tool_svelte/src/services/axios.js
1232
- - templates/tool_svelte/src/services/cable.js
1233
- - templates/tool_svelte/src/services/config-parser.js
1234
- - templates/tool_svelte/src/services/openc3-api.js
1235
1224
  - templates/tool_svelte/src/theme/_smui-theme.scss
1236
1225
  - templates/tool_svelte/src/tool_name.js
1237
1226
  - templates/tool_vue/.browserslistrc
1238
1227
  - templates/tool_vue/.env.standalone
1239
- - templates/tool_vue/.eslintrc.js
1240
1228
  - templates/tool_vue/.gitignore
1241
1229
  - templates/tool_vue/.nycrc
1242
- - templates/tool_vue/.prettierrc.js
1243
- - templates/tool_vue/babel.config.json
1230
+ - templates/tool_vue/.prettierrc.cjs
1231
+ - templates/tool_vue/eslint.config.mjs
1244
1232
  - templates/tool_vue/jsconfig.json
1245
1233
  - templates/tool_vue/package.json
1246
1234
  - templates/tool_vue/src/App.vue
1247
1235
  - templates/tool_vue/src/main.js
1248
1236
  - templates/tool_vue/src/router.js
1249
1237
  - templates/tool_vue/src/tools/tool_name/tool_name.vue
1250
- - templates/tool_vue/vue.config.js
1238
+ - templates/tool_vue/vite.config.js
1251
1239
  - templates/widget/.browserslistrc
1252
- - templates/widget/.eslintrc.js
1253
1240
  - templates/widget/.nycrc
1254
- - templates/widget/.prettierrc.js
1241
+ - templates/widget/.prettierrc.cjs
1255
1242
  - templates/widget/LICENSE.txt
1256
1243
  - templates/widget/Rakefile
1257
- - templates/widget/babel.config.json
1258
1244
  - templates/widget/package.json
1259
1245
  - templates/widget/src/Widget.vue
1260
- - templates/widget/vue.config.js
1246
+ - templates/widget/vite.config.js
1261
1247
  homepage: https://github.com/OpenC3/cosmos
1262
1248
  licenses:
1263
1249
  - AGPL-3.0-only
@@ -1,40 +0,0 @@
1
- # encoding: ascii-8bit
2
-
3
- # Copyright 2022 Ball Aerospace & Technologies Corp.
4
- # All Rights Reserved.
5
- #
6
- # This program is free software; you can modify and/or redistribute it
7
- # under the terms of the GNU Affero General Public License
8
- # as published by the Free Software Foundation; version 3 with
9
- # attribution addendums as found in the LICENSE.txt
10
- #
11
- # This program is distributed in the hope that it will be useful,
12
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- # GNU Affero General Public License for more details.
15
-
16
- # Modified by OpenC3, Inc.
17
- # All changes Copyright 2022, OpenC3, Inc.
18
- # All Rights Reserved
19
- #
20
- # This file may also be used under the terms of a commercial license
21
- # if purchased from OpenC3, Inc.
22
-
23
- # OpenC3 specific additions to the Ruby Hash class
24
- class Hash
25
- # Redefine inspect to only print for small numbers of
26
- # items. Prevents exceptions taking forever to be raised with
27
- # large objects. See http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/105145
28
- alias old_inspect inspect
29
-
30
- # @param max_elements [Integer] The maximum number of elements in the Hash to
31
- # print out before simply displaying the Hash class and object id
32
- # @return [String] String representation of the hash
33
- def inspect(max_elements = 10)
34
- if self.length <= max_elements
35
- old_inspect()
36
- else
37
- '#<' + self.class.to_s + ':' + self.object_id.to_s + '>'
38
- end
39
- end
40
- end
@@ -1,11 +0,0 @@
1
- require 'httpclient'
2
-
3
- class HTTPClient
4
- alias original_initialize initialize
5
-
6
- def initialize(*args, &block)
7
- original_initialize(*args, &block)
8
- # Force use of the default system CA certs (instead of the 6 year old bundled ones)
9
- @session_manager&.ssl_config&.set_default_paths
10
- end
11
- end