openc3 6.2.1 → 6.4.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -3
  3. data/bin/openc3cli +13 -14
  4. data/data/config/interface_modifiers.yaml +1 -1
  5. data/data/config/microservice.yaml +1 -1
  6. data/data/config/plugins.yaml +1 -1
  7. data/data/config/tool.yaml +1 -1
  8. data/data/config/widgets.yaml +3 -0
  9. data/ext/openc3/ext/burst_protocol/burst_protocol.c +5 -1
  10. data/lib/openc3/api/api.rb +7 -1
  11. data/lib/openc3/api/cmd_api.rb +5 -8
  12. data/lib/openc3/api/interface_api.rb +8 -4
  13. data/lib/openc3/api/tlm_api.rb +23 -8
  14. data/lib/openc3/interfaces/file_interface.rb +36 -7
  15. data/lib/openc3/interfaces/protocols/burst_protocol.rb +3 -3
  16. data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +20 -26
  17. data/lib/openc3/interfaces.rb +4 -3
  18. data/lib/openc3/io/json_api_object.rb +1 -1
  19. data/lib/openc3/io/json_drb_object.rb +1 -1
  20. data/lib/openc3/logs/log_writer.rb +11 -8
  21. data/lib/openc3/logs/packet_log_reader.rb +2 -2
  22. data/lib/openc3/logs/packet_log_writer.rb +1 -1
  23. data/lib/openc3/microservices/interface_decom_common.rb +4 -1
  24. data/lib/openc3/microservices/interface_microservice.rb +69 -6
  25. data/lib/openc3/microservices/microservice.rb +3 -1
  26. data/lib/openc3/microservices/multi_microservice.rb +1 -1
  27. data/lib/openc3/migrations/20250402000000_periodic_only_default.rb +24 -0
  28. data/lib/openc3/models/model.rb +6 -2
  29. data/lib/openc3/models/offline_access_model.rb +7 -6
  30. data/lib/openc3/models/scope_model.rb +5 -2
  31. data/lib/openc3/models/script_status_model.rb +242 -0
  32. data/lib/openc3/models/target_model.rb +150 -15
  33. data/lib/openc3/packets/commands.rb +10 -3
  34. data/lib/openc3/script/api_shared.rb +4 -0
  35. data/lib/openc3/script/commands.rb +1 -1
  36. data/lib/openc3/script/script.rb +14 -0
  37. data/lib/openc3/script/script_runner.rb +22 -7
  38. data/lib/openc3/utilities/authentication.rb +6 -6
  39. data/lib/openc3/utilities/cosmos_rails_formatter.rb +1 -1
  40. data/lib/openc3/utilities/local_mode.rb +5 -2
  41. data/lib/openc3/utilities/message_log.rb +2 -0
  42. data/lib/openc3/utilities/metric.rb +1 -1
  43. data/lib/openc3/utilities/ruby_lex_utils.rb +114 -279
  44. data/lib/openc3/utilities/target_file.rb +6 -2
  45. data/lib/openc3/version.rb +6 -6
  46. data/templates/tool_angular/package.json +2 -2
  47. data/templates/tool_react/package.json +1 -1
  48. data/templates/tool_svelte/package.json +1 -1
  49. data/templates/tool_vue/eslint.config.mjs +17 -41
  50. data/templates/tool_vue/package.json +3 -3
  51. data/templates/widget/package.json +2 -2
  52. metadata +21 -23
  53. data/ext/mkrf_conf.rb +0 -52
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
8
8
  - Jason Thomas
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-03-07 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
@@ -39,20 +38,6 @@ dependencies:
39
38
  - - "~>"
40
39
  - !ruby/object:Gem::Version
41
40
  version: '0.22'
42
- - !ruby/object:Gem::Dependency
43
- name: irb
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - '='
47
- - !ruby/object:Gem::Version
48
- version: 1.6.2
49
- type: :runtime
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - '='
54
- - !ruby/object:Gem::Version
55
- version: 1.6.2
56
41
  - !ruby/object:Gem::Dependency
57
42
  name: json
58
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,6 +80,20 @@ dependencies:
95
80
  - - "~>"
96
81
  - !ruby/object:Gem::Version
97
82
  version: '1.14'
83
+ - !ruby/object:Gem::Dependency
84
+ name: prism
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
98
97
  - !ruby/object:Gem::Dependency
99
98
  name: psych
100
99
  requirement: !ruby/object:Gem::Requirement
@@ -777,16 +776,16 @@ email:
777
776
  - ryan@openc3.com
778
777
  - jason@openc3.com
779
778
  executables:
779
+ - cstol_converter
780
780
  - openc3cli
781
781
  - rubysloc
782
- - cstol_converter
783
782
  extensions:
784
783
  - ext/openc3/ext/array/extconf.rb
785
784
  - ext/openc3/ext/buffered_file/extconf.rb
786
785
  - ext/openc3/ext/burst_protocol/extconf.rb
787
786
  - ext/openc3/ext/config_parser/extconf.rb
788
- - ext/openc3/ext/openc3_io/extconf.rb
789
787
  - ext/openc3/ext/crc/extconf.rb
788
+ - ext/openc3/ext/openc3_io/extconf.rb
790
789
  - ext/openc3/ext/packet/extconf.rb
791
790
  - ext/openc3/ext/platform/extconf.rb
792
791
  - ext/openc3/ext/polynomial_conversion/extconf.rb
@@ -794,7 +793,6 @@ extensions:
794
793
  - ext/openc3/ext/string/extconf.rb
795
794
  - ext/openc3/ext/tabbed_plots_config/extconf.rb
796
795
  - ext/openc3/ext/telemetry/extconf.rb
797
- - ext/mkrf_conf.rb
798
796
  extra_rdoc_files: []
799
797
  files:
800
798
  - Gemfile
@@ -837,7 +835,6 @@ files:
837
835
  - data/config/tool.yaml
838
836
  - data/config/unknown.yaml
839
837
  - data/config/widgets.yaml
840
- - ext/mkrf_conf.rb
841
838
  - ext/openc3/ext/array/array.c
842
839
  - ext/openc3/ext/array/extconf.rb
843
840
  - ext/openc3/ext/buffered_file/buffered_file.c
@@ -1009,6 +1006,7 @@ files:
1009
1006
  - lib/openc3/migrations/20241208080000_no_critical_cmd.rb
1010
1007
  - lib/openc3/migrations/20241208080001_no_trigger_group.rb
1011
1008
  - lib/openc3/migrations/20250108060000_news_feed.rb
1009
+ - lib/openc3/migrations/20250402000000_periodic_only_default.rb
1012
1010
  - lib/openc3/models/activity_model.rb
1013
1011
  - lib/openc3/models/auth_model.rb
1014
1012
  - lib/openc3/models/cvt_model.rb
@@ -1035,6 +1033,7 @@ files:
1035
1033
  - lib/openc3/models/router_model.rb
1036
1034
  - lib/openc3/models/router_status_model.rb
1037
1035
  - lib/openc3/models/scope_model.rb
1036
+ - lib/openc3/models/script_status_model.rb
1038
1037
  - lib/openc3/models/secret_model.rb
1039
1038
  - lib/openc3/models/setting_model.rb
1040
1039
  - lib/openc3/models/sorted_model.rb
@@ -1286,8 +1285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1286
1285
  - !ruby/object:Gem::Version
1287
1286
  version: '0'
1288
1287
  requirements: []
1289
- rubygems_version: 3.3.14
1290
- signing_key:
1288
+ rubygems_version: 3.6.8
1291
1289
  specification_version: 4
1292
1290
  summary: OpenC3
1293
1291
  test_files: []
data/ext/mkrf_conf.rb DELETED
@@ -1,52 +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
- # This file gems specific to platform
24
-
25
- require 'rubygems'
26
- require 'rubygems/command.rb'
27
- require 'rubygems/dependency_installer.rb'
28
-
29
- def gem_installed?(name, version = Gem::Requirement.default)
30
- version = Gem::Requirement.create version unless version.is_a? Gem::Requirement
31
- Gem::Specification.each.any? { |spec| name == spec.name and version.satisfied_by? spec.version }
32
- end
33
-
34
- begin
35
- Gem::Command.build_args = ARGV
36
- rescue NoMethodError
37
- end
38
- inst = Gem::DependencyInstaller.new
39
- begin
40
- if !/mswin|mingw|cygwin/i.match?(RbConfig::CONFIG['target_os'])
41
- unless gem_installed?("ruby-termios", ">= 0.9")
42
- STDOUT.puts "Attempting to install ruby-termios... If this fails please manually \"gem install ruby-termios\" and try again."
43
- inst.install "ruby-termios", ">= 0.9"
44
- end
45
- end
46
- rescue
47
- exit(1)
48
- end
49
-
50
- f = File.open(File.join(File.dirname(__FILE__), "Rakefile"), "w") # create dummy rakefile to indicate success
51
- f.write("task :default\n")
52
- f.close