feagi-core 2.2.5__tar.gz → 2.2.6__tar.gz

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 (175) hide show
  1. {feagi_core-2.2.5 → feagi_core-2.2.6}/PKG-INFO +14 -14
  2. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/__init__.py +1 -1
  3. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/bin/darwin-aarch64/feagi +0 -0
  4. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/bin/darwin-x86_64/feagi +0 -0
  5. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/bin/linux-aarch64/feagi +0 -0
  6. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/bin/linux-x86_64/feagi +0 -0
  7. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/bin/windows-x86_64/feagi.exe +0 -0
  8. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/brain_output.py +6 -0
  9. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/PKG-INFO +14 -14
  10. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/requires.txt +13 -13
  11. {feagi_core-2.2.5 → feagi_core-2.2.6}/pyproject.toml +14 -14
  12. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_brain_output_controller_api.py +3 -0
  13. {feagi_core-2.2.5 → feagi_core-2.2.6}/.pre-commit-config.yaml +0 -0
  14. {feagi_core-2.2.5 → feagi_core-2.2.6}/.ruff.toml +0 -0
  15. {feagi_core-2.2.5 → feagi_core-2.2.6}/LICENSE +0 -0
  16. {feagi_core-2.2.5 → feagi_core-2.2.6}/MANIFEST.in +0 -0
  17. {feagi_core-2.2.5 → feagi_core-2.2.6}/NOTICE +0 -0
  18. {feagi_core-2.2.5 → feagi_core-2.2.6}/README.md +0 -0
  19. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/esp32_controller/esp32_controller_example.py +0 -0
  20. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/example_video_simple.py +0 -0
  21. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/genome_vs_connectome/example_genome_vs_connectome.py +0 -0
  22. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/mixed_transport_agent/mixed_transport_agent.py +0 -0
  23. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/01_basic_metrics.py +0 -0
  24. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/02_data_logging.py +0 -0
  25. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/03_data_validation.py +0 -0
  26. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/04_performance_profiling.py +0 -0
  27. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/05_comprehensive_monitoring.py +0 -0
  28. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/observability/06_quick_start.py +0 -0
  29. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/servo_motor/example_servo_motor.py +0 -0
  30. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/simple_robot/example_simple_robot.py +0 -0
  31. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/video_streamer/example_rgbd_pair.py +0 -0
  32. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/video_streamer/example_rgbd_realsense.py +0 -0
  33. {feagi_core-2.2.5 → feagi_core-2.2.6}/examples/video_streamer/example_video_simple.py +0 -0
  34. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/agent/__init__.py +0 -0
  35. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/agent/base.py +0 -0
  36. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/agent/bluetooth.py +0 -0
  37. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/agent/esp32.py +0 -0
  38. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/agent/video.py +0 -0
  39. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/__init__.py +0 -0
  40. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/bv.py +0 -0
  41. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/bv_process.py +0 -0
  42. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/feagi_process.py +0 -0
  43. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/main.py +0 -0
  44. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/cli/process_utils.py +0 -0
  45. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/config.py +0 -0
  46. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/connectome/__init__.py +0 -0
  47. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/connectome/api.py +0 -0
  48. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/connectome/artifact.py +0 -0
  49. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/connectome/model.py +0 -0
  50. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/engine/__init__.py +0 -0
  51. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/engine/manager.py +0 -0
  52. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/genome/__init__.py +0 -0
  53. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/genome/api.py +0 -0
  54. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/genome/artifact.py +0 -0
  55. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/packaging/__init__.py +0 -0
  56. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/paths.py +0 -0
  57. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/__init__.py +0 -0
  58. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/brain_input.py +0 -0
  59. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/client.py +0 -0
  60. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/connector_utils.py +0 -0
  61. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/health_monitor.py +0 -0
  62. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/__init__.py +0 -0
  63. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/base.py +0 -0
  64. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/numeric.py +0 -0
  65. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/smart_imu.py +0 -0
  66. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/text.py +0 -0
  67. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/inputs/vision.py +0 -0
  68. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/__init__.py +0 -0
  69. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/controller_logger.py +0 -0
  70. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/formatters.py +0 -0
  71. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/inspector.py +0 -0
  72. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/logger.py +0 -0
  73. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/metrics.py +0 -0
  74. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/monitor.py +0 -0
  75. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/profiler.py +0 -0
  76. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/observability/utils.py +0 -0
  77. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/outputs/__init__.py +0 -0
  78. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/outputs/base.py +0 -0
  79. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/outputs/motor.py +0 -0
  80. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/outputs/numeric.py +0 -0
  81. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/outputs/text.py +0 -0
  82. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/pns/registration_manager.py +0 -0
  83. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/transports/__init__.py +0 -0
  84. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/transports/base.py +0 -0
  85. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/transports/bluetooth_direct.py +0 -0
  86. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/transports/websocket_client.py +0 -0
  87. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi/transports/websocket_relay.py +0 -0
  88. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi-bv/feagi_bv/__init__.py +0 -0
  89. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi-bv/feagi_bv/runtime.py +0 -0
  90. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi-bv/setup.py +0 -0
  91. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/SOURCES.txt +0 -0
  92. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/dependency_links.txt +0 -0
  93. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/entry_points.txt +0 -0
  94. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/not-zip-safe +0 -0
  95. {feagi_core-2.2.5 → feagi_core-2.2.6}/feagi_core.egg-info/top_level.txt +0 -0
  96. {feagi_core-2.2.5 → feagi_core-2.2.6}/scripts/bump_version.py +0 -0
  97. {feagi_core-2.2.5 → feagi_core-2.2.6}/scripts/migrate_capabilities_json.py +0 -0
  98. {feagi_core-2.2.5 → feagi_core-2.2.6}/scripts/test_genome_import.py +0 -0
  99. {feagi_core-2.2.5 → feagi_core-2.2.6}/setup.cfg +0 -0
  100. {feagi_core-2.2.5 → feagi_core-2.2.6}/setup.py +0 -0
  101. {feagi_core-2.2.5 → feagi_core-2.2.6}/src/api/routers/v1/inputs.py +0 -0
  102. {feagi_core-2.2.5 → feagi_core-2.2.6}/src/evo/mapping_helper.py +0 -0
  103. {feagi_core-2.2.5 → feagi_core-2.2.6}/src/inf/byte_processor.py +0 -0
  104. {feagi_core-2.2.5 → feagi_core-2.2.6}/src/pns/vision.py +0 -0
  105. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/__init__.py +0 -0
  106. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/__init__.py +0 -0
  107. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_brain_artifact_options.py +0 -0
  108. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_bv_process_manager.py +0 -0
  109. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_config_and_bv.py +0 -0
  110. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_config_command.py +0 -0
  111. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_engine_manager_spawn.py +0 -0
  112. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_feagi_process_manager.py +0 -0
  113. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/cli/test_main_interrupt_handling.py +0 -0
  114. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/__init__.py +0 -0
  115. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/bdu/__init__.py +0 -0
  116. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/bdu/test_connectome_manager.py +0 -0
  117. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/bdu/test_neuroembryogenesis.py +0 -0
  118. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/bdu/test_synaptogenesis.py +0 -0
  119. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/npu/__init__.py +0 -0
  120. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/npu/test_optimized_integration.py +0 -0
  121. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/npu_bdu_integration.py +0 -0
  122. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cli_config_show.py +0 -0
  123. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cortical_area_expansion.py +0 -0
  124. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cortical_area_parameter_updates.py +0 -0
  125. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cortical_mapping_flow.py +0 -0
  126. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cortical_mapping_reconstruction.py +0 -0
  127. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_cross_cortical_synaptic_propagation.py +0 -0
  128. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_debug_injection_issue.py +0 -0
  129. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_debug_power_area.py +0 -0
  130. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_essential_genome_power_injection.py +0 -0
  131. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_genome_burst_engine_auto_start.py +0 -0
  132. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_genome_connectome_sync.py +0 -0
  133. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_intelligent_expansion.py +0 -0
  134. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_morphology_dimension_sensitive.py +0 -0
  135. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_power_neuron_injection.py +0 -0
  136. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_real_world_synaptic_propagation.py +0 -0
  137. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_refractory_fire_ledger_api.py +0 -0
  138. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_ros_feagi_numeric_roundtrip.py +0 -0
  139. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_rust_fcl_workflow.py +0 -0
  140. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_rust_pns_visualization.py +0 -0
  141. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_sensory_fcl_pipeline.py +0 -0
  142. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_video_agent.py +0 -0
  143. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/test_video_to_feagi.py +0 -0
  144. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/workflows/__init__.py +0 -0
  145. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/integration/workflows/test_test_mode_integration.py +0 -0
  146. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_brain_input_helpers.py +0 -0
  147. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_client.py +0 -0
  148. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_connect_duplicate_registration.py +0 -0
  149. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_connectome_api.py +0 -0
  150. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_connectome_artifact.py +0 -0
  151. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_connectome_migration.py +0 -0
  152. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_connector_agent_register_callback.py +0 -0
  153. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_cortical_id_label.py +0 -0
  154. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_device_configuration_verification.py +0 -0
  155. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_device_registration_contract.py +0 -0
  156. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_engine_brain_artifacts.py +0 -0
  157. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_genome.py +0 -0
  158. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_genome_artifact.py +0 -0
  159. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_health_monitor.py +0 -0
  160. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_imu_sdk_helpers.py +0 -0
  161. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_motor_cortical_id_derivation.py +0 -0
  162. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_motor_decode_single_source_guardrail.py +0 -0
  163. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_motor_decoder_channel_span.py +0 -0
  164. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_motor_registration_tracking.py +0 -0
  165. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_recovery_config.py +0 -0
  166. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_rgbd_sdk_helpers.py +0 -0
  167. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_sensorimotor_area_registration.py +0 -0
  168. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_servo_motor.py +0 -0
  169. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_shm_cross_platform.py +0 -0
  170. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_smart_imu_input.py +0 -0
  171. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_text_token_stream.py +0 -0
  172. {feagi_core-2.2.5 → feagi_core-2.2.6}/tests/test_vision_segmentation.py +0 -0
  173. {feagi_core-2.2.5 → feagi_core-2.2.6}/tools/doc_helpers/convert_html_tables.py +0 -0
  174. {feagi_core-2.2.5 → feagi_core-2.2.6}/tools/doc_helpers/fix_broken_links.py +0 -0
  175. {feagi_core-2.2.5 → feagi_core-2.2.6}/tools/doc_helpers/fix_html_tables.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: feagi-core
3
- Version: 2.2.5
3
+ Version: 2.2.6
4
4
  Summary: Core SDK for building FEAGI agents, controlling the neural engine, and creating marketplace packages (without Brain Visualizer)
5
5
  Author-email: "Neuraville Inc." <feagi@neuraville.com>
6
6
  License: Apache-2.0
@@ -25,15 +25,15 @@ Requires-Dist: numpy>=1.20.0
25
25
  Requires-Dist: aiohttp>=3.9.0
26
26
  Requires-Dist: toml>=0.10.2
27
27
  Requires-Dist: requests>=2.31.0
28
- Requires-Dist: feagi-rust-py-libs>=0.0.116
28
+ Requires-Dist: feagi-rust-py-libs==0.0.117
29
29
  Requires-Dist: pyserial>=3.5
30
30
  Provides-Extra: bv
31
- Requires-Dist: feagi-bv<3.0.0,>=2.6.6; extra == "bv"
32
- Requires-Dist: feagi-bv-linux<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "bv"
33
- Requires-Dist: feagi-bv-linux-arm64<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "bv"
34
- Requires-Dist: feagi-bv-macos-arm64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "bv"
35
- Requires-Dist: feagi-bv-macos-x86_64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "bv"
36
- Requires-Dist: feagi-bv-windows<3.0.0,>=2.6.6; sys_platform == "win32" and extra == "bv"
31
+ Requires-Dist: feagi-bv==2.6.9; extra == "bv"
32
+ Requires-Dist: feagi-bv-linux==2.6.9; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "bv"
33
+ Requires-Dist: feagi-bv-linux-arm64==2.6.9; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "bv"
34
+ Requires-Dist: feagi-bv-macos-arm64==2.6.9; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "bv"
35
+ Requires-Dist: feagi-bv-macos-x86_64==2.6.9; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "bv"
36
+ Requires-Dist: feagi-bv-windows==2.6.9; sys_platform == "win32" and extra == "bv"
37
37
  Provides-Extra: video
38
38
  Requires-Dist: opencv-python>=4.9.0; extra == "video"
39
39
  Provides-Extra: bluetooth
@@ -61,12 +61,12 @@ Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
61
61
  Requires-Dist: mkdocstrings>=0.20.0; extra == "docs"
62
62
  Requires-Dist: mkdocstrings-python>=1.0.0; extra == "docs"
63
63
  Provides-Extra: full
64
- Requires-Dist: feagi-bv<3.0.0,>=2.6.6; extra == "full"
65
- Requires-Dist: feagi-bv-linux<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "full"
66
- Requires-Dist: feagi-bv-linux-arm64<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "full"
67
- Requires-Dist: feagi-bv-macos-arm64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "full"
68
- Requires-Dist: feagi-bv-macos-x86_64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "full"
69
- Requires-Dist: feagi-bv-windows<3.0.0,>=2.6.6; sys_platform == "win32" and extra == "full"
64
+ Requires-Dist: feagi-bv==2.6.9; extra == "full"
65
+ Requires-Dist: feagi-bv-linux==2.6.9; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "full"
66
+ Requires-Dist: feagi-bv-linux-arm64==2.6.9; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "full"
67
+ Requires-Dist: feagi-bv-macos-arm64==2.6.9; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "full"
68
+ Requires-Dist: feagi-bv-macos-x86_64==2.6.9; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "full"
69
+ Requires-Dist: feagi-bv-windows==2.6.9; sys_platform == "win32" and extra == "full"
70
70
  Requires-Dist: opencv-python>=4.9.0; extra == "full"
71
71
  Requires-Dist: bleak>=0.21.0; extra == "full"
72
72
  Requires-Dist: websockets>=12.0; extra == "full"
@@ -18,7 +18,7 @@ Main modules:
18
18
  - feagi.cli: Command-line tools
19
19
  """
20
20
 
21
- __version__ = "2.2.5"
21
+ __version__ = "2.2.6"
22
22
 
23
23
  # Import key classes for convenience, but keep optional dependencies lazy so
24
24
  # `import feagi` does not require platform-specific extras (e.g., pyserial).
@@ -86,6 +86,10 @@ class BrainOutput:
86
86
  # Latest motor data (for debugging)
87
87
  self._motor_data: Dict[str, Any] = {}
88
88
  self._last_logged_motor_values: Dict[str, float] = {}
89
+ # Raw motor frame from the latest successful receive, or None when
90
+ # this tick had no motor bytes. Embodiments scan it for core areas
91
+ # such as Brain_Death that are not registered motor units.
92
+ self._last_motor_frame: Optional[bytes] = None
89
93
 
90
94
  # Configuration
91
95
  self._agent_id = None
@@ -2787,12 +2791,14 @@ class BrainOutput:
2787
2791
  raise RuntimeError("ConnectorAgent cache is not initialized.")
2788
2792
 
2789
2793
  # 1. Pull raw motor bytes from the transport (no Python-side decode).
2794
+ self._last_motor_frame = None
2790
2795
  raw_bytes = self._client.receive_motor_data_raw()
2791
2796
  if not raw_bytes:
2792
2797
  # No FEAGI motor frame this tick: clear the command map so controllers
2793
2798
  # hold current pose instead of replaying the last absolute latch.
2794
2799
  self._motor_data = {}
2795
2800
  return
2801
+ self._last_motor_frame = bytes(raw_bytes)
2796
2802
 
2797
2803
  # 2. Decode through the shared Rust decoder. This fires the per-output
2798
2804
  # callbacks registered in _register_motor_decoder(), which update
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: feagi-core
3
- Version: 2.2.5
3
+ Version: 2.2.6
4
4
  Summary: Core SDK for building FEAGI agents, controlling the neural engine, and creating marketplace packages (without Brain Visualizer)
5
5
  Author-email: "Neuraville Inc." <feagi@neuraville.com>
6
6
  License: Apache-2.0
@@ -25,15 +25,15 @@ Requires-Dist: numpy>=1.20.0
25
25
  Requires-Dist: aiohttp>=3.9.0
26
26
  Requires-Dist: toml>=0.10.2
27
27
  Requires-Dist: requests>=2.31.0
28
- Requires-Dist: feagi-rust-py-libs>=0.0.116
28
+ Requires-Dist: feagi-rust-py-libs==0.0.117
29
29
  Requires-Dist: pyserial>=3.5
30
30
  Provides-Extra: bv
31
- Requires-Dist: feagi-bv<3.0.0,>=2.6.6; extra == "bv"
32
- Requires-Dist: feagi-bv-linux<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "bv"
33
- Requires-Dist: feagi-bv-linux-arm64<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "bv"
34
- Requires-Dist: feagi-bv-macos-arm64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "bv"
35
- Requires-Dist: feagi-bv-macos-x86_64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "bv"
36
- Requires-Dist: feagi-bv-windows<3.0.0,>=2.6.6; sys_platform == "win32" and extra == "bv"
31
+ Requires-Dist: feagi-bv==2.6.9; extra == "bv"
32
+ Requires-Dist: feagi-bv-linux==2.6.9; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "bv"
33
+ Requires-Dist: feagi-bv-linux-arm64==2.6.9; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "bv"
34
+ Requires-Dist: feagi-bv-macos-arm64==2.6.9; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "bv"
35
+ Requires-Dist: feagi-bv-macos-x86_64==2.6.9; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "bv"
36
+ Requires-Dist: feagi-bv-windows==2.6.9; sys_platform == "win32" and extra == "bv"
37
37
  Provides-Extra: video
38
38
  Requires-Dist: opencv-python>=4.9.0; extra == "video"
39
39
  Provides-Extra: bluetooth
@@ -61,12 +61,12 @@ Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
61
61
  Requires-Dist: mkdocstrings>=0.20.0; extra == "docs"
62
62
  Requires-Dist: mkdocstrings-python>=1.0.0; extra == "docs"
63
63
  Provides-Extra: full
64
- Requires-Dist: feagi-bv<3.0.0,>=2.6.6; extra == "full"
65
- Requires-Dist: feagi-bv-linux<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "full"
66
- Requires-Dist: feagi-bv-linux-arm64<3.0.0,>=2.6.6; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "full"
67
- Requires-Dist: feagi-bv-macos-arm64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "full"
68
- Requires-Dist: feagi-bv-macos-x86_64<3.0.0,>=2.6.6; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "full"
69
- Requires-Dist: feagi-bv-windows<3.0.0,>=2.6.6; sys_platform == "win32" and extra == "full"
64
+ Requires-Dist: feagi-bv==2.6.9; extra == "full"
65
+ Requires-Dist: feagi-bv-linux==2.6.9; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "full"
66
+ Requires-Dist: feagi-bv-linux-arm64==2.6.9; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "full"
67
+ Requires-Dist: feagi-bv-macos-arm64==2.6.9; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "full"
68
+ Requires-Dist: feagi-bv-macos-x86_64==2.6.9; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "full"
69
+ Requires-Dist: feagi-bv-windows==2.6.9; sys_platform == "win32" and extra == "full"
70
70
  Requires-Dist: opencv-python>=4.9.0; extra == "full"
71
71
  Requires-Dist: bleak>=0.21.0; extra == "full"
72
72
  Requires-Dist: websockets>=12.0; extra == "full"
@@ -2,7 +2,7 @@ numpy>=1.20.0
2
2
  aiohttp>=3.9.0
3
3
  toml>=0.10.2
4
4
  requests>=2.31.0
5
- feagi-rust-py-libs>=0.0.116
5
+ feagi-rust-py-libs==0.0.117
6
6
  pyserial>=3.5
7
7
 
8
8
  [bluetooth]
@@ -10,22 +10,22 @@ bleak>=0.21.0
10
10
  websockets>=12.0
11
11
 
12
12
  [bv]
13
- feagi-bv<3.0.0,>=2.6.6
13
+ feagi-bv==2.6.9
14
14
 
15
15
  [bv:sys_platform == "darwin" and platform_machine == "arm64"]
16
- feagi-bv-macos-arm64<3.0.0,>=2.6.6
16
+ feagi-bv-macos-arm64==2.6.9
17
17
 
18
18
  [bv:sys_platform == "darwin" and platform_machine == "x86_64"]
19
- feagi-bv-macos-x86_64<3.0.0,>=2.6.6
19
+ feagi-bv-macos-x86_64==2.6.9
20
20
 
21
21
  [bv:sys_platform == "linux" and platform_machine == "aarch64"]
22
- feagi-bv-linux-arm64<3.0.0,>=2.6.6
22
+ feagi-bv-linux-arm64==2.6.9
23
23
 
24
24
  [bv:sys_platform == "linux" and platform_machine == "x86_64"]
25
- feagi-bv-linux<3.0.0,>=2.6.6
25
+ feagi-bv-linux==2.6.9
26
26
 
27
27
  [bv:sys_platform == "win32"]
28
- feagi-bv-windows<3.0.0,>=2.6.6
28
+ feagi-bv-windows==2.6.9
29
29
 
30
30
  [dev]
31
31
  pytest>=7.0.0
@@ -45,25 +45,25 @@ mkdocstrings>=0.20.0
45
45
  mkdocstrings-python>=1.0.0
46
46
 
47
47
  [full]
48
- feagi-bv<3.0.0,>=2.6.6
48
+ feagi-bv==2.6.9
49
49
  opencv-python>=4.9.0
50
50
  bleak>=0.21.0
51
51
  websockets>=12.0
52
52
 
53
53
  [full:sys_platform == "darwin" and platform_machine == "arm64"]
54
- feagi-bv-macos-arm64<3.0.0,>=2.6.6
54
+ feagi-bv-macos-arm64==2.6.9
55
55
 
56
56
  [full:sys_platform == "darwin" and platform_machine == "x86_64"]
57
- feagi-bv-macos-x86_64<3.0.0,>=2.6.6
57
+ feagi-bv-macos-x86_64==2.6.9
58
58
 
59
59
  [full:sys_platform == "linux" and platform_machine == "aarch64"]
60
- feagi-bv-linux-arm64<3.0.0,>=2.6.6
60
+ feagi-bv-linux-arm64==2.6.9
61
61
 
62
62
  [full:sys_platform == "linux" and platform_machine == "x86_64"]
63
- feagi-bv-linux<3.0.0,>=2.6.6
63
+ feagi-bv-linux==2.6.9
64
64
 
65
65
  [full:sys_platform == "win32"]
66
- feagi-bv-windows<3.0.0,>=2.6.6
66
+ feagi-bv-windows==2.6.9
67
67
 
68
68
  [test]
69
69
  pytest>=7.0.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "feagi-core"
7
- version = "2.2.5"
7
+ version = "2.2.6"
8
8
  description = "Core SDK for building FEAGI agents, controlling the neural engine, and creating marketplace packages (without Brain Visualizer)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -28,18 +28,18 @@ dependencies = [
28
28
  "aiohttp>=3.9.0",
29
29
  "toml>=0.10.2",
30
30
  "requests>=2.31.0",
31
- "feagi-rust-py-libs>=0.0.116",
31
+ "feagi-rust-py-libs==0.0.117",
32
32
  "pyserial>=3.5", # For ESP32 serial communication
33
33
  ]
34
34
 
35
35
  [project.optional-dependencies]
36
36
  bv = [
37
- "feagi-bv>=2.6.6,<3.0.0",
38
- "feagi-bv-linux>=2.6.6,<3.0.0 ; sys_platform == 'linux' and platform_machine == 'x86_64'",
39
- "feagi-bv-linux-arm64>=2.6.6,<3.0.0 ; sys_platform == 'linux' and platform_machine == 'aarch64'",
40
- "feagi-bv-macos-arm64>=2.6.6,<3.0.0 ; sys_platform == 'darwin' and platform_machine == 'arm64'",
41
- "feagi-bv-macos-x86_64>=2.6.6,<3.0.0 ; sys_platform == 'darwin' and platform_machine == 'x86_64'",
42
- "feagi-bv-windows>=2.6.6,<3.0.0 ; sys_platform == 'win32'",
37
+ "feagi-bv==2.6.9",
38
+ "feagi-bv-linux==2.6.9 ; sys_platform == 'linux' and platform_machine == 'x86_64'",
39
+ "feagi-bv-linux-arm64==2.6.9 ; sys_platform == 'linux' and platform_machine == 'aarch64'",
40
+ "feagi-bv-macos-arm64==2.6.9 ; sys_platform == 'darwin' and platform_machine == 'arm64'",
41
+ "feagi-bv-macos-x86_64==2.6.9 ; sys_platform == 'darwin' and platform_machine == 'x86_64'",
42
+ "feagi-bv-windows==2.6.9 ; sys_platform == 'win32'",
43
43
  ]
44
44
  video = [
45
45
  "opencv-python>=4.9.0",
@@ -73,12 +73,12 @@ docs = [
73
73
  "mkdocstrings-python>=1.0.0",
74
74
  ]
75
75
  full = [
76
- "feagi-bv>=2.6.6,<3.0.0",
77
- "feagi-bv-linux>=2.6.6,<3.0.0 ; sys_platform == 'linux' and platform_machine == 'x86_64'",
78
- "feagi-bv-linux-arm64>=2.6.6,<3.0.0 ; sys_platform == 'linux' and platform_machine == 'aarch64'",
79
- "feagi-bv-macos-arm64>=2.6.6,<3.0.0 ; sys_platform == 'darwin' and platform_machine == 'arm64'",
80
- "feagi-bv-macos-x86_64>=2.6.6,<3.0.0 ; sys_platform == 'darwin' and platform_machine == 'x86_64'",
81
- "feagi-bv-windows>=2.6.6,<3.0.0 ; sys_platform == 'win32'",
76
+ "feagi-bv==2.6.9",
77
+ "feagi-bv-linux==2.6.9 ; sys_platform == 'linux' and platform_machine == 'x86_64'",
78
+ "feagi-bv-linux-arm64==2.6.9 ; sys_platform == 'linux' and platform_machine == 'aarch64'",
79
+ "feagi-bv-macos-arm64==2.6.9 ; sys_platform == 'darwin' and platform_machine == 'arm64'",
80
+ "feagi-bv-macos-x86_64==2.6.9 ; sys_platform == 'darwin' and platform_machine == 'x86_64'",
81
+ "feagi-bv-windows==2.6.9 ; sys_platform == 'win32'",
82
82
  "opencv-python>=4.9.0",
83
83
  "bleak>=0.21.0",
84
84
  "websockets>=12.0",
@@ -277,6 +277,7 @@ def test_receive_persists_unmapped_motor_channels_in_snapshot():
277
277
 
278
278
  # Raw bytes were handed to the Rust decoder (not Python-decoded).
279
279
  assert bo._cache.loaded == b"raw-motor-bytes"
280
+ assert bo._last_motor_frame == b"raw-motor-bytes"
280
281
  assert bo._cache.decoded is True
281
282
  assert bo._cache.updated_only_calls == 1
282
283
  # Snapshot channels are persisted even without registered output objects.
@@ -299,9 +300,11 @@ def test_receive_clears_motor_data_when_no_raw_bytes():
299
300
  bo._cache = object()
300
301
  bo._motor_data = {"1:0:absolute": 1.0}
301
302
 
303
+ bo._last_motor_frame = b"stale"
302
304
  bo.receive()
303
305
 
304
306
  assert bo._motor_data == {}
307
+ assert bo._last_motor_frame is None
305
308
 
306
309
 
307
310
  def test_connect_uses_both_agent_type_with_motor_and_scalar_sensory(monkeypatch):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes