openc3 7.4.0 → 7.5.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/bin/openc3cli +4 -3
  3. data/bin/pipinstall +18 -5
  4. data/bin/pipuninstall +1 -1
  5. data/bin/uvinstall +36 -8
  6. data/data/config/default_plugins.yaml +43 -0
  7. data/data/config/interface_modifiers.yaml +22 -7
  8. data/data/config/item_modifiers.yaml +14 -4
  9. data/data/config/plugins.yaml +1 -1
  10. data/data/config/widgets.yaml +1 -1
  11. data/lib/openc3/api/cmd_api.rb +10 -13
  12. data/lib/openc3/api/interface_api.rb +1 -2
  13. data/lib/openc3/api/limits_api.rb +1 -1
  14. data/lib/openc3/api/metrics_api.rb +26 -1
  15. data/lib/openc3/api/router_api.rb +1 -2
  16. data/lib/openc3/api/tlm_api.rb +21 -21
  17. data/lib/openc3/config/config_parser.rb +3 -1
  18. data/lib/openc3/core_ext/tempfile.rb +2 -0
  19. data/lib/openc3/interfaces/file_interface.rb +6 -1
  20. data/lib/openc3/interfaces/http_client_interface.rb +14 -6
  21. data/lib/openc3/interfaces/interface.rb +27 -3
  22. data/lib/openc3/interfaces/protocols/protocol.rb +8 -0
  23. data/lib/openc3/interfaces/read_queue_interface.rb +331 -0
  24. data/lib/openc3/interfaces/stream_interface.rb +22 -3
  25. data/lib/openc3/interfaces/tcpip_server_interface.rb +13 -0
  26. data/lib/openc3/interfaces/udp_interface.rb +16 -2
  27. data/lib/openc3/interfaces.rb +1 -0
  28. data/lib/openc3/io/json_api_object.rb +24 -3
  29. data/lib/openc3/io/json_drb_object.rb +3 -2
  30. data/lib/openc3/logs/log_writer.rb +13 -4
  31. data/lib/openc3/microservices/decom_microservice.rb +7 -4
  32. data/lib/openc3/microservices/interface_microservice.rb +146 -50
  33. data/lib/openc3/microservices/log_microservice.rb +1 -3
  34. data/lib/openc3/microservices/microservice.rb +25 -1
  35. data/lib/openc3/microservices/plugin_microservice.rb +32 -0
  36. data/lib/openc3/microservices/text_log_microservice.rb +1 -3
  37. data/lib/openc3/models/interface_model.rb +1 -1
  38. data/lib/openc3/models/interface_status_model.rb +6 -0
  39. data/lib/openc3/models/metric_model.rb +52 -4
  40. data/lib/openc3/models/microservice_model.rb +7 -3
  41. data/lib/openc3/models/plugin_model.rb +12 -12
  42. data/lib/openc3/models/python_package_model.rb +3 -13
  43. data/lib/openc3/models/reaction_model.rb +6 -3
  44. data/lib/openc3/models/setting_model.rb +5 -3
  45. data/lib/openc3/models/target_model.rb +83 -9
  46. data/lib/openc3/operators/microservice_operator.rb +5 -0
  47. data/lib/openc3/operators/operator.rb +69 -0
  48. data/lib/openc3/packets/packet.rb +10 -4
  49. data/lib/openc3/packets/packet_config.rb +48 -2
  50. data/lib/openc3/packets/packet_item.rb +27 -14
  51. data/lib/openc3/packets/parsers/state_parser.rb +1 -1
  52. data/lib/openc3/packets/parsers/xtce_parser.rb +8 -1
  53. data/lib/openc3/packets/structure_item.rb +3 -2
  54. data/lib/openc3/script/api_shared.rb +58 -84
  55. data/lib/openc3/script/extract.rb +215 -19
  56. data/lib/openc3/script/plugins.rb +4 -11
  57. data/lib/openc3/script/storage.rb +81 -10
  58. data/lib/openc3/script/tables.rb +5 -1
  59. data/lib/openc3/system/system.rb +9 -6
  60. data/lib/openc3/topics/command_decom_topic.rb +1 -1
  61. data/lib/openc3/topics/command_topic.rb +2 -1
  62. data/lib/openc3/topics/router_topic.rb +2 -1
  63. data/lib/openc3/topics/telemetry_decom_topic.rb +1 -1
  64. data/lib/openc3/topics/telemetry_topic.rb +3 -2
  65. data/lib/openc3/topics/topic.rb +154 -2
  66. data/lib/openc3/utilities/cli_generator.rb +67 -15
  67. data/lib/openc3/utilities/config_overlay.rb +35 -17
  68. data/lib/openc3/utilities/default_plugins.rb +33 -0
  69. data/lib/openc3/utilities/local_mode.rb +82 -46
  70. data/lib/openc3/utilities/metric.rb +16 -0
  71. data/lib/openc3/utilities/process_stats.rb +160 -0
  72. data/lib/openc3/utilities/pypi_url.rb +65 -0
  73. data/lib/openc3/utilities/questdb_client.rb +43 -46
  74. data/lib/openc3/utilities/running_script.rb +22 -18
  75. data/lib/openc3/utilities/store_autoload.rb +20 -3
  76. data/lib/openc3/utilities/store_queued.rb +37 -9
  77. data/lib/openc3/utilities/target_file.rb +57 -12
  78. data/lib/openc3/utilities/topic_lag_monitor.rb +193 -0
  79. data/lib/openc3/version.rb +5 -5
  80. data/templates/conversion/conversion.py +6 -2
  81. data/templates/conversion/conversion.rb +5 -0
  82. data/templates/plugin/.github/workflows/playwright.yml +62 -0
  83. data/templates/plugin/.github/workflows/release.yml +45 -0
  84. data/templates/plugin/.github/workflows/unit-tests.yml +35 -0
  85. data/templates/plugin/.gitignore +6 -0
  86. data/templates/plugin/README.md +114 -2
  87. data/templates/plugin/lib/PACKAGE/__init__.py +4 -0
  88. data/templates/plugin/plugin.gemspec +10 -1
  89. data/templates/plugin/pyproject.toml +119 -0
  90. data/templates/tool_angular/package.json +2 -2
  91. data/templates/tool_angular/pnpm-workspace.yaml +16 -0
  92. data/templates/tool_react/package.json +1 -1
  93. data/templates/tool_react/pnpm-workspace.yaml +16 -0
  94. data/templates/tool_svelte/package.json +2 -1
  95. data/templates/tool_svelte/pnpm-workspace.yaml +20 -0
  96. data/templates/tool_vue/package.json +3 -3
  97. data/templates/tool_vue/pnpm-workspace.yaml +16 -0
  98. data/templates/widget/package.json +2 -2
  99. data/templates/widget/pnpm-workspace.yaml +16 -0
  100. metadata +36 -1
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: 7.4.0
4
+ version: 7.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -562,6 +562,26 @@ dependencies:
562
562
  - - "~>"
563
563
  - !ruby/object:Gem::Version
564
564
  version: '1.2'
565
+ - !ruby/object:Gem::Dependency
566
+ name: resolv
567
+ requirement: !ruby/object:Gem::Requirement
568
+ requirements:
569
+ - - "~>"
570
+ - !ruby/object:Gem::Version
571
+ version: '0.7'
572
+ - - ">="
573
+ - !ruby/object:Gem::Version
574
+ version: 0.7.2
575
+ type: :runtime
576
+ prerelease: false
577
+ version_requirements: !ruby/object:Gem::Requirement
578
+ requirements:
579
+ - - "~>"
580
+ - !ruby/object:Gem::Version
581
+ version: '0.7'
582
+ - - ">="
583
+ - !ruby/object:Gem::Version
584
+ version: 0.7.2
565
585
  - !ruby/object:Gem::Dependency
566
586
  name: resolv-replace
567
587
  requirement: !ruby/object:Gem::Requirement
@@ -933,6 +953,7 @@ files:
933
953
  - data/config/command_modifiers.yaml
934
954
  - data/config/command_telemetry.yaml
935
955
  - data/config/conversions.yaml
956
+ - data/config/default_plugins.yaml
936
957
  - data/config/graph_settings.yaml
937
958
  - data/config/interface_modifiers.yaml
938
959
  - data/config/item_modifiers.yaml
@@ -1074,6 +1095,7 @@ files:
1074
1095
  - lib/openc3/interfaces/protocols/slip_protocol.rb
1075
1096
  - lib/openc3/interfaces/protocols/template_protocol.rb
1076
1097
  - lib/openc3/interfaces/protocols/terminated_protocol.rb
1098
+ - lib/openc3/interfaces/read_queue_interface.rb
1077
1099
  - lib/openc3/interfaces/serial_interface.rb
1078
1100
  - lib/openc3/interfaces/simulated_target_interface.rb
1079
1101
  - lib/openc3/interfaces/stream_interface.rb
@@ -1280,6 +1302,7 @@ files:
1280
1302
  - lib/openc3/utilities/crc.rb
1281
1303
  - lib/openc3/utilities/csv.rb
1282
1304
  - lib/openc3/utilities/ctrf.rb
1305
+ - lib/openc3/utilities/default_plugins.rb
1283
1306
  - lib/openc3/utilities/env_helper.rb
1284
1307
  - lib/openc3/utilities/local_bucket.rb
1285
1308
  - lib/openc3/utilities/local_mode.rb
@@ -1289,6 +1312,7 @@ files:
1289
1312
  - lib/openc3/utilities/migration.rb
1290
1313
  - lib/openc3/utilities/open_telemetry.rb
1291
1314
  - lib/openc3/utilities/process_manager.rb
1315
+ - lib/openc3/utilities/process_stats.rb
1292
1316
  - lib/openc3/utilities/pypi_url.rb
1293
1317
  - lib/openc3/utilities/python_proxy.rb
1294
1318
  - lib/openc3/utilities/python_venv.rb
@@ -1310,6 +1334,7 @@ files:
1310
1334
  - lib/openc3/utilities/target_file.rb
1311
1335
  - lib/openc3/utilities/thread_manager.rb
1312
1336
  - lib/openc3/utilities/throttle.rb
1337
+ - lib/openc3/utilities/topic_lag_monitor.rb
1313
1338
  - lib/openc3/utilities/zip.rb
1314
1339
  - lib/openc3/version.rb
1315
1340
  - lib/openc3/win32/excel.rb
@@ -1325,12 +1350,17 @@ files:
1325
1350
  - templates/limits_response/response.rb
1326
1351
  - templates/microservice/microservices/TEMPLATE/microservice.py
1327
1352
  - templates/microservice/microservices/TEMPLATE/microservice.rb
1353
+ - templates/plugin/.github/workflows/playwright.yml
1354
+ - templates/plugin/.github/workflows/release.yml
1355
+ - templates/plugin/.github/workflows/unit-tests.yml
1328
1356
  - templates/plugin/.gitignore
1329
1357
  - templates/plugin/LICENSE.md
1330
1358
  - templates/plugin/README.md
1331
1359
  - templates/plugin/Rakefile
1360
+ - templates/plugin/lib/PACKAGE/__init__.py
1332
1361
  - templates/plugin/plugin.gemspec
1333
1362
  - templates/plugin/plugin.txt
1363
+ - templates/plugin/pyproject.toml
1334
1364
  - templates/processor/processor.py
1335
1365
  - templates/processor/processor.rb
1336
1366
  - templates/target/targets/TARGET/cmd_tlm/cmd.txt
@@ -1350,6 +1380,7 @@ files:
1350
1380
  - templates/tool_angular/angular.json
1351
1381
  - templates/tool_angular/extra-webpack.config.js
1352
1382
  - templates/tool_angular/package.json
1383
+ - templates/tool_angular/pnpm-workspace.yaml
1353
1384
  - templates/tool_angular/src/app/app-routing.module.ts
1354
1385
  - templates/tool_angular/src/app/app.component.html
1355
1386
  - templates/tool_angular/src/app/app.component.scss
@@ -1377,6 +1408,7 @@ files:
1377
1408
  - templates/tool_react/babel.config.json
1378
1409
  - templates/tool_react/jest.config.js
1379
1410
  - templates/tool_react/package.json
1411
+ - templates/tool_react/pnpm-workspace.yaml
1380
1412
  - templates/tool_react/src/openc3-tool_name.js
1381
1413
  - templates/tool_react/src/root.component.js
1382
1414
  - templates/tool_react/src/root.component.test.js
@@ -1388,6 +1420,7 @@ files:
1388
1420
  - templates/tool_svelte/build/smui.css
1389
1421
  - templates/tool_svelte/jest.config.js
1390
1422
  - templates/tool_svelte/package.json
1423
+ - templates/tool_svelte/pnpm-workspace.yaml
1391
1424
  - templates/tool_svelte/rollup.config.js
1392
1425
  - templates/tool_svelte/src/App.svelte
1393
1426
  - templates/tool_svelte/src/App.test.js
@@ -1399,6 +1432,7 @@ files:
1399
1432
  - templates/tool_vue/eslint.config.mjs
1400
1433
  - templates/tool_vue/jsconfig.json
1401
1434
  - templates/tool_vue/package.json
1435
+ - templates/tool_vue/pnpm-workspace.yaml
1402
1436
  - templates/tool_vue/src/App.vue
1403
1437
  - templates/tool_vue/src/main.js
1404
1438
  - templates/tool_vue/src/router.js
@@ -1408,6 +1442,7 @@ files:
1408
1442
  - templates/widget/LICENSE.md
1409
1443
  - templates/widget/Rakefile
1410
1444
  - templates/widget/package.json
1445
+ - templates/widget/pnpm-workspace.yaml
1411
1446
  - templates/widget/src/Widget.vue
1412
1447
  - templates/widget/vite.config.js
1413
1448
  homepage: https://github.com/OpenC3/cosmos