orionis 0.545.0__tar.gz → 0.547.0__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 (595) hide show
  1. orionis-0.547.0/MANIFEST.in +20 -0
  2. {orionis-0.545.0/orionis.egg-info → orionis-0.547.0}/PKG-INFO +1 -1
  3. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/base/scheduler_event_listener.py +0 -17
  4. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/schedule_event_listener.py +0 -18
  5. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/request/cli_request.py +2 -2
  6. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/app/entities/app.py +3 -2
  7. orionis-0.547.0/orionis/foundation/config/app/enums/ciphers.py +20 -0
  8. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/entities/session.py +2 -2
  9. orionis-0.547.0/orionis/foundation/providers/cli_request_provider.py +44 -0
  10. {orionis-0.545.0 → orionis-0.547.0}/orionis/metadata/framework.py +1 -1
  11. orionis-0.547.0/orionis/services/encrypter/encrypter.py +115 -0
  12. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/dynamic/caster.py +35 -27
  13. orionis-0.547.0/orionis/services/environment/key/key_generator.py +47 -0
  14. {orionis-0.545.0 → orionis-0.547.0/orionis.egg-info}/PKG-INFO +1 -1
  15. {orionis-0.545.0 → orionis-0.547.0}/orionis.egg-info/SOURCES.txt +3 -146
  16. {orionis-0.545.0 → orionis-0.547.0}/orionis.egg-info/top_level.txt +0 -1
  17. {orionis-0.545.0 → orionis-0.547.0}/setup.py +7 -7
  18. orionis-0.545.0/MANIFEST.in +0 -3
  19. orionis-0.545.0/orionis/foundation/config/app/enums/ciphers.py +0 -34
  20. orionis-0.545.0/orionis/services/environment/key/key_generator.py +0 -26
  21. orionis-0.545.0/tests/container/__init__.py +0 -0
  22. orionis-0.545.0/tests/container/context/__init__.py +0 -0
  23. orionis-0.545.0/tests/container/context/test_manager.py +0 -38
  24. orionis-0.545.0/tests/container/context/test_scope.py +0 -32
  25. orionis-0.545.0/tests/container/core/__init__.py +0 -0
  26. orionis-0.545.0/tests/container/core/test_advanced_async.py +0 -234
  27. orionis-0.545.0/tests/container/core/test_async_optimizations.py +0 -268
  28. orionis-0.545.0/tests/container/core/test_container.py +0 -453
  29. orionis-0.545.0/tests/container/core/test_singleton.py +0 -122
  30. orionis-0.545.0/tests/container/core/test_thread_safety.py +0 -90
  31. orionis-0.545.0/tests/container/entities/__init__.py +0 -0
  32. orionis-0.545.0/tests/container/entities/test_binding.py +0 -242
  33. orionis-0.545.0/tests/container/enums/__init__.py +0 -0
  34. orionis-0.545.0/tests/container/enums/test_lifetimes.py +0 -97
  35. orionis-0.545.0/tests/container/facades/__init__.py +0 -0
  36. orionis-0.545.0/tests/container/facades/test_facade.py +0 -78
  37. orionis-0.545.0/tests/container/mocks/__init__.py +0 -0
  38. orionis-0.545.0/tests/container/mocks/mock_advanced_async.py +0 -332
  39. orionis-0.545.0/tests/container/mocks/mock_async_optimizations.py +0 -407
  40. orionis-0.545.0/tests/container/mocks/mock_auto_resolution.py +0 -192
  41. orionis-0.545.0/tests/container/mocks/mock_complex_classes.py +0 -792
  42. orionis-0.545.0/tests/container/mocks/mock_simple_classes.py +0 -98
  43. orionis-0.545.0/tests/container/providers/__init__.py +0 -0
  44. orionis-0.545.0/tests/container/providers/test_providers.py +0 -55
  45. orionis-0.545.0/tests/container/validators/__init__.py +0 -0
  46. orionis-0.545.0/tests/container/validators/test_implements.py +0 -186
  47. orionis-0.545.0/tests/container/validators/test_is_abstract_class.py +0 -147
  48. orionis-0.545.0/tests/container/validators/test_is_callable.py +0 -102
  49. orionis-0.545.0/tests/container/validators/test_is_concrete_class.py +0 -160
  50. orionis-0.545.0/tests/container/validators/test_is_instance.py +0 -150
  51. orionis-0.545.0/tests/container/validators/test_is_not_subclass.py +0 -49
  52. orionis-0.545.0/tests/container/validators/test_is_subclass.py +0 -178
  53. orionis-0.545.0/tests/container/validators/test_is_valid_alias.py +0 -147
  54. orionis-0.545.0/tests/container/validators/test_lifetime.py +0 -106
  55. orionis-0.545.0/tests/example/__init__.py +0 -0
  56. orionis-0.545.0/tests/example/test_example.py +0 -725
  57. orionis-0.545.0/tests/foundation/__init__.py +0 -0
  58. orionis-0.545.0/tests/foundation/config/__init__.py +0 -0
  59. orionis-0.545.0/tests/foundation/config/app/__init__.py +0 -0
  60. orionis-0.545.0/tests/foundation/config/app/test_foundation_config_app.py +0 -262
  61. orionis-0.545.0/tests/foundation/config/auth/__init__.py +0 -0
  62. orionis-0.545.0/tests/foundation/config/auth/test_foundation_config_auth.py +0 -29
  63. orionis-0.545.0/tests/foundation/config/cache/__init__.py +0 -0
  64. orionis-0.545.0/tests/foundation/config/cache/test_foundation_config_cache.py +0 -143
  65. orionis-0.545.0/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -126
  66. orionis-0.545.0/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -156
  67. orionis-0.545.0/tests/foundation/config/cors/__init__.py +0 -0
  68. orionis-0.545.0/tests/foundation/config/cors/test_foundation_config_cors.py +0 -190
  69. orionis-0.545.0/tests/foundation/config/database/__init__.py +0 -0
  70. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database.py +0 -158
  71. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -203
  72. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -354
  73. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -288
  74. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -257
  75. orionis-0.545.0/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -207
  76. orionis-0.545.0/tests/foundation/config/filesystems/__init__.py +0 -0
  77. orionis-0.545.0/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -160
  78. orionis-0.545.0/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -189
  79. orionis-0.545.0/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -184
  80. orionis-0.545.0/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -143
  81. orionis-0.545.0/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -184
  82. orionis-0.545.0/tests/foundation/config/logging/__init__.py +0 -0
  83. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging.py +0 -112
  84. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -246
  85. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -217
  86. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -220
  87. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -196
  88. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -214
  89. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -178
  90. orionis-0.545.0/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -224
  91. orionis-0.545.0/tests/foundation/config/mail/__init__.py +0 -0
  92. orionis-0.545.0/tests/foundation/config/mail/test_foundation_config_mail.py +0 -145
  93. orionis-0.545.0/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -97
  94. orionis-0.545.0/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -106
  95. orionis-0.545.0/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -146
  96. orionis-0.545.0/tests/foundation/config/queue/__init__.py +0 -0
  97. orionis-0.545.0/tests/foundation/config/queue/test_foundation_config_queue.py +0 -88
  98. orionis-0.545.0/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -72
  99. orionis-0.545.0/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -134
  100. orionis-0.545.0/tests/foundation/config/root/__init__.py +0 -0
  101. orionis-0.545.0/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -112
  102. orionis-0.545.0/tests/foundation/config/session/__init__.py +0 -0
  103. orionis-0.545.0/tests/foundation/config/session/test_foundation_config_session.py +0 -213
  104. orionis-0.545.0/tests/foundation/config/startup/__init__.py +0 -0
  105. orionis-0.545.0/tests/foundation/config/startup/test_foundation_config_startup.py +0 -202
  106. orionis-0.545.0/tests/foundation/config/testing/__init__.py +0 -0
  107. orionis-0.545.0/tests/foundation/config/testing/test_foundation_config_testing.py +0 -235
  108. orionis-0.545.0/tests/metadata/__init__.py +0 -0
  109. orionis-0.545.0/tests/metadata/test_metadata_framework.py +0 -140
  110. orionis-0.545.0/tests/metadata/test_metadata_package.py +0 -139
  111. orionis-0.545.0/tests/services/__init__.py +0 -0
  112. orionis-0.545.0/tests/services/asynchrony/__init__.py +0 -0
  113. orionis-0.545.0/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -85
  114. orionis-0.545.0/tests/services/environment/__init__.py +0 -0
  115. orionis-0.545.0/tests/services/environment/test_services_environment.py +0 -226
  116. orionis-0.545.0/tests/services/introspection/__init__.py +0 -0
  117. orionis-0.545.0/tests/services/introspection/dependencies/__init__.py +0 -0
  118. orionis-0.545.0/tests/services/introspection/dependencies/mocks/__init__.py +0 -0
  119. orionis-0.545.0/tests/services/introspection/dependencies/mocks/mock_user.py +0 -30
  120. orionis-0.545.0/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -27
  121. orionis-0.545.0/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -41
  122. orionis-0.545.0/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -261
  123. orionis-0.545.0/tests/services/introspection/reflection/__init__.py +0 -0
  124. orionis-0.545.0/tests/services/introspection/reflection/mock/__init__.py +0 -0
  125. orionis-0.545.0/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -1115
  126. orionis-0.545.0/tests/services/introspection/reflection/test_reflection_abstract.py +0 -1011
  127. orionis-0.545.0/tests/services/introspection/reflection/test_reflection_callable.py +0 -206
  128. orionis-0.545.0/tests/services/introspection/reflection/test_reflection_concrete.py +0 -952
  129. orionis-0.545.0/tests/services/introspection/reflection/test_reflection_instance.py +0 -1233
  130. orionis-0.545.0/tests/services/introspection/reflection/test_reflection_module.py +0 -567
  131. orionis-0.545.0/tests/services/introspection/test_reflection.py +0 -462
  132. orionis-0.545.0/tests/services/log/__init__.py +0 -0
  133. orionis-0.545.0/tests/services/log/test_log.py +0 -97
  134. orionis-0.545.0/tests/services/system/__init__.py +0 -0
  135. orionis-0.545.0/tests/services/system/test_services_system_imports.py +0 -204
  136. orionis-0.545.0/tests/services/system/test_services_system_workers.py +0 -131
  137. orionis-0.545.0/tests/support/__init__.py +0 -0
  138. orionis-0.545.0/tests/support/entities/__init__.py +0 -0
  139. orionis-0.545.0/tests/support/entities/mock_dataclass.py +0 -40
  140. orionis-0.545.0/tests/support/entities/test_base.py +0 -64
  141. orionis-0.545.0/tests/support/patterns/__init__.py +0 -0
  142. orionis-0.545.0/tests/support/patterns/singleton/__init__.py +0 -0
  143. orionis-0.545.0/tests/support/patterns/singleton/test_patterns_singleton.py +0 -39
  144. orionis-0.545.0/tests/support/standard/__init__.py +0 -0
  145. orionis-0.545.0/tests/support/standard/test_services_std.py +0 -226
  146. orionis-0.545.0/tests/support/wrapper/__init__.py +0 -0
  147. orionis-0.545.0/tests/support/wrapper/test_services_wrapper_docdict.py +0 -202
  148. orionis-0.545.0/tests/testing/__init__.py +0 -0
  149. orionis-0.545.0/tests/testing/cases/__init__.py +0 -0
  150. orionis-0.545.0/tests/testing/cases/test_testing_asynchronous.py +0 -63
  151. orionis-0.545.0/tests/testing/cases/test_testing_synchronous.py +0 -57
  152. orionis-0.545.0/tests/testing/entities/__init__.py +0 -0
  153. orionis-0.545.0/tests/testing/entities/test_testing_result.py +0 -146
  154. orionis-0.545.0/tests/testing/enums/__init__.py +0 -0
  155. orionis-0.545.0/tests/testing/enums/test_testing_status.py +0 -63
  156. orionis-0.545.0/tests/testing/output/__init__.py +0 -0
  157. orionis-0.545.0/tests/testing/output/test_testing_dumper.py +0 -29
  158. orionis-0.545.0/tests/testing/output/test_testing_printer.py +0 -42
  159. orionis-0.545.0/tests/testing/records/__init__.py +0 -0
  160. orionis-0.545.0/tests/testing/records/test_testing_records.py +0 -171
  161. orionis-0.545.0/tests/testing/test_testing_unit.py +0 -164
  162. orionis-0.545.0/tests/testing/validators/__init__.py +0 -0
  163. orionis-0.545.0/tests/testing/validators/test_testing_validators.py +0 -392
  164. orionis-0.545.0/tests/testing/view/__init__.py +0 -0
  165. orionis-0.545.0/tests/testing/view/test_render.py +0 -30
  166. {orionis-0.545.0 → orionis-0.547.0}/LICENCE +0 -0
  167. {orionis-0.545.0 → orionis-0.547.0}/README.md +0 -0
  168. {orionis-0.545.0 → orionis-0.547.0}/orionis/__init__.py +0 -0
  169. {orionis-0.545.0 → orionis-0.547.0}/orionis/app.py +0 -0
  170. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/__init__.py +0 -0
  171. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/args/__init__.py +0 -0
  172. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/args/argument.py +0 -0
  173. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/base/__init__.py +0 -0
  174. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/base/command.py +0 -0
  175. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/base/scheduler.py +0 -0
  176. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/__init__.py +0 -0
  177. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/cache.py +0 -0
  178. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/help.py +0 -0
  179. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/make_listener.py +0 -0
  180. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/publisher.py +0 -0
  181. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/scheduler_list.py +0 -0
  182. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/scheduler_work.py +0 -0
  183. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/test.py +0 -0
  184. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/version.py +0 -0
  185. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/commands/workflow.py +0 -0
  186. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/__init__.py +0 -0
  187. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/base_command.py +0 -0
  188. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/base_scheduler.py +0 -0
  189. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/cli_request.py +0 -0
  190. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/command.py +0 -0
  191. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/console.py +0 -0
  192. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/dump.py +0 -0
  193. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/event.py +0 -0
  194. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/executor.py +0 -0
  195. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/kernel.py +0 -0
  196. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/progress_bar.py +0 -0
  197. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/reactor.py +0 -0
  198. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/contracts/schedule.py +0 -0
  199. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/core/__init__.py +0 -0
  200. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/core/reactor.py +0 -0
  201. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/dumper/__init__.py +0 -0
  202. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/dumper/dump.py +0 -0
  203. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/dynamic/__init__.py +0 -0
  204. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/dynamic/progress_bar.py +0 -0
  205. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/__init__.py +0 -0
  206. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/all_jobs_removed.py +0 -0
  207. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/command.py +0 -0
  208. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/event.py +0 -0
  209. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/event_job.py +0 -0
  210. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/executor_added.py +0 -0
  211. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/executor_removed.py +0 -0
  212. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_added.py +0 -0
  213. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_error.py +0 -0
  214. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_event_data.py +0 -0
  215. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_executed.py +0 -0
  216. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_max_instances.py +0 -0
  217. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_missed.py +0 -0
  218. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_modified.py +0 -0
  219. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_pause.py +0 -0
  220. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_removed.py +0 -0
  221. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_resume.py +0 -0
  222. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_store_added.py +0 -0
  223. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_store_removed.py +0 -0
  224. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/job_submitted.py +0 -0
  225. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_error.py +0 -0
  226. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_event_data.py +0 -0
  227. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_paused.py +0 -0
  228. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_resumed.py +0 -0
  229. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
  230. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/entities/scheduler_started.py +0 -0
  231. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/enums/__init__.py +0 -0
  232. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/enums/actions.py +0 -0
  233. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/enums/listener.py +0 -0
  234. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/enums/styles.py +0 -0
  235. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/exceptions/__init__.py +0 -0
  236. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/exceptions/cli_exception.py +0 -0
  237. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  238. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  239. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  240. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/fluent/__init__.py +0 -0
  241. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/fluent/command.py +0 -0
  242. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/fluent/event.py +0 -0
  243. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/kernel.py +0 -0
  244. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/output/__init__.py +0 -0
  245. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/output/console.py +0 -0
  246. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/output/executor.py +0 -0
  247. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/request/__init__.py +0 -0
  248. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/tasks/__init__.py +0 -0
  249. {orionis-0.545.0 → orionis-0.547.0}/orionis/console/tasks/schedule.py +0 -0
  250. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/__init__.py +0 -0
  251. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/container.py +0 -0
  252. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/context/__init__.py +0 -0
  253. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/context/manager.py +0 -0
  254. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/context/scope.py +0 -0
  255. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/contracts/__init__.py +0 -0
  256. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/contracts/container.py +0 -0
  257. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/contracts/service_provider.py +0 -0
  258. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/entities/__init__.py +0 -0
  259. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/entities/binding.py +0 -0
  260. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/enums/__init__.py +0 -0
  261. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/enums/lifetimes.py +0 -0
  262. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/exceptions/__init__.py +0 -0
  263. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/exceptions/attribute.py +0 -0
  264. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/exceptions/exception.py +0 -0
  265. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/exceptions/type.py +0 -0
  266. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/exceptions/value.py +0 -0
  267. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/facades/__init__.py +0 -0
  268. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/facades/facade.py +0 -0
  269. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/providers/__init__.py +0 -0
  270. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/providers/service_provider.py +0 -0
  271. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/__init__.py +0 -0
  272. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/implements.py +0 -0
  273. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_abstract_class.py +0 -0
  274. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_callable.py +0 -0
  275. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_concrete_class.py +0 -0
  276. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_instance.py +0 -0
  277. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_not_subclass.py +0 -0
  278. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_subclass.py +0 -0
  279. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/is_valid_alias.py +0 -0
  280. {orionis-0.545.0 → orionis-0.547.0}/orionis/container/validators/lifetime.py +0 -0
  281. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/__init__.py +0 -0
  282. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/base/__init__.py +0 -0
  283. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/base/handler.py +0 -0
  284. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/catch.py +0 -0
  285. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/contracts/__init__.py +0 -0
  286. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/contracts/catch.py +0 -0
  287. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/contracts/handler.py +0 -0
  288. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/entities/__init__.py +0 -0
  289. {orionis-0.545.0 → orionis-0.547.0}/orionis/failure/entities/throwable.py +0 -0
  290. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/__init__.py +0 -0
  291. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/application.py +0 -0
  292. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/__init__.py +0 -0
  293. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/app/__init__.py +0 -0
  294. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  295. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  296. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  297. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/auth/__init__.py +0 -0
  298. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  299. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  300. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/__init__.py +0 -0
  301. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  302. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  303. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  304. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  305. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  306. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  307. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cors/__init__.py +0 -0
  308. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  309. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  310. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/__init__.py +0 -0
  311. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  312. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  313. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/database.py +0 -0
  314. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  315. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  316. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  317. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  318. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  319. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  320. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  321. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  322. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  323. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  324. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  325. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  326. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  327. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  328. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  329. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  330. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  331. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  332. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  333. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  334. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  335. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  336. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  337. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/__init__.py +0 -0
  338. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  339. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  340. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  341. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  342. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  343. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  344. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  345. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  346. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  347. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  348. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  349. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  350. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  351. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  352. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/__init__.py +0 -0
  353. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  354. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  355. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  356. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  357. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  358. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/__init__.py +0 -0
  359. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  360. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  361. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  362. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  363. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  364. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  365. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/roots/__init__.py +0 -0
  366. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/roots/paths.py +0 -0
  367. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/__init__.py +0 -0
  368. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  369. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  370. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  371. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  372. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  373. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/startup.py +0 -0
  374. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/__init__.py +0 -0
  375. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  376. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  377. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  378. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  379. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  380. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  381. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/contracts/__init__.py +0 -0
  382. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/contracts/application.py +0 -0
  383. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/contracts/config.py +0 -0
  384. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/exceptions/__init__.py +0 -0
  385. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/exceptions/integrity.py +0 -0
  386. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/exceptions/runtime.py +0 -0
  387. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/exceptions/type.py +0 -0
  388. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/exceptions/value.py +0 -0
  389. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/__init__.py +0 -0
  390. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/catch_provider.py +0 -0
  391. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/console_provider.py +0 -0
  392. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/directory_provider.py +0 -0
  393. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  394. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/executor_provider.py +0 -0
  395. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  396. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/logger_provider.py +0 -0
  397. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  398. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  399. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  400. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  401. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/testing_provider.py +0 -0
  402. {orionis-0.545.0 → orionis-0.547.0}/orionis/foundation/providers/workers_provider.py +0 -0
  403. {orionis-0.545.0 → orionis-0.547.0}/orionis/metadata/__init__.py +0 -0
  404. {orionis-0.545.0 → orionis-0.547.0}/orionis/metadata/package.py +0 -0
  405. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/__init__.py +0 -0
  406. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/__init__.py +0 -0
  407. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  408. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  409. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/coroutines.py +0 -0
  410. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  411. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  412. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/__init__.py +0 -0
  413. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/contracts/__init__.py +0 -0
  414. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/contracts/caster.py +0 -0
  415. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/contracts/env.py +0 -0
  416. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/core/__init__.py +0 -0
  417. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/core/dot_env.py +0 -0
  418. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  419. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/enums/__init__.py +0 -0
  420. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/enums/value_type.py +0 -0
  421. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/env.py +0 -0
  422. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  423. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/exceptions/exception.py +0 -0
  424. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/exceptions/value.py +0 -0
  425. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/helpers/__init__.py +0 -0
  426. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/helpers/functions.py +0 -0
  427. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/key/__init__.py +0 -0
  428. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/validators/__init__.py +0 -0
  429. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/validators/key_name.py +0 -0
  430. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/environment/validators/types.py +0 -0
  431. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/file/__init__.py +0 -0
  432. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/file/contracts/__init__.py +0 -0
  433. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/file/contracts/directory.py +0 -0
  434. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/file/directory.py +0 -0
  435. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/inspirational/__init__.py +0 -0
  436. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  437. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  438. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/inspirational/inspire.py +0 -0
  439. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/inspirational/quotes.py +0 -0
  440. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/__init__.py +0 -0
  441. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  442. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  443. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  444. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  445. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/callables/__init__.py +0 -0
  446. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  447. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  448. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/callables/reflection.py +0 -0
  449. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  450. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  451. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  452. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  453. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dataclass/__init__.py +0 -0
  454. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dataclass/attributes.py +0 -0
  455. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  456. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  457. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  458. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  459. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  460. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  461. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  462. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  463. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  464. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/exceptions/type.py +0 -0
  465. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/exceptions/value.py +0 -0
  466. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/instances/__init__.py +0 -0
  467. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  468. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  469. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/instances/reflection.py +0 -0
  470. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/modules/__init__.py +0 -0
  471. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  472. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  473. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/modules/reflection.py +0 -0
  474. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/objects/__init__.py +0 -0
  475. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/objects/types.py +0 -0
  476. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/introspection/reflection.py +0 -0
  477. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/__init__.py +0 -0
  478. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/contracts/__init__.py +0 -0
  479. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/contracts/log_service.py +0 -0
  480. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/exceptions/__init__.py +0 -0
  481. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/exceptions/runtime.py +0 -0
  482. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/handlers/__init__.py +0 -0
  483. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/handlers/filename.py +0 -0
  484. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  485. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  486. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/log/log_service.py +0 -0
  487. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/__init__.py +0 -0
  488. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/contracts/__init__.py +0 -0
  489. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/contracts/imports.py +0 -0
  490. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/contracts/workers.py +0 -0
  491. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/imports.py +0 -0
  492. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/runtime/__init__.py +0 -0
  493. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/runtime/imports.py +0 -0
  494. {orionis-0.545.0 → orionis-0.547.0}/orionis/services/system/workers.py +0 -0
  495. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/__init__.py +0 -0
  496. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/entities/__init__.py +0 -0
  497. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/entities/base.py +0 -0
  498. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/__init__.py +0 -0
  499. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/application.py +0 -0
  500. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/application.pyi +0 -0
  501. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/console.py +0 -0
  502. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/console.pyi +0 -0
  503. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/directory.py +0 -0
  504. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/directory.pyi +0 -0
  505. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/dumper.py +0 -0
  506. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/dumper.pyi +0 -0
  507. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/executor.py +0 -0
  508. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/executor.pyi +0 -0
  509. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/inspire.py +0 -0
  510. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/inspire.pyi +0 -0
  511. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/logger.py +0 -0
  512. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/logger.pyi +0 -0
  513. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/performance_counter.py +0 -0
  514. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/performance_counter.pyi +0 -0
  515. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/progress_bar.py +0 -0
  516. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/progress_bar.pyi +0 -0
  517. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/reactor.py +0 -0
  518. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/reactor.pyi +0 -0
  519. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/testing.py +0 -0
  520. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/testing.pyi +0 -0
  521. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/workers.py +0 -0
  522. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/facades/workers.pyi +0 -0
  523. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/__init__.py +0 -0
  524. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  525. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  526. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  527. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  528. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/formatter/serializer.py +0 -0
  529. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/patterns/__init__.py +0 -0
  530. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  531. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/patterns/singleton/meta.py +0 -0
  532. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/performance/__init__.py +0 -0
  533. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/performance/contracts/__init__.py +0 -0
  534. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/performance/contracts/counter.py +0 -0
  535. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/performance/counter.py +0 -0
  536. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/__init__.py +0 -0
  537. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/contracts/__init__.py +0 -0
  538. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/contracts/std.py +0 -0
  539. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  540. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/exceptions/value.py +0 -0
  541. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/standard/std.py +0 -0
  542. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/wrapper/__init__.py +0 -0
  543. {orionis-0.545.0 → orionis-0.547.0}/orionis/support/wrapper/dot_dict.py +0 -0
  544. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/__init__.py +0 -0
  545. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/cases/__init__.py +0 -0
  546. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/cases/asynchronous.py +0 -0
  547. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/cases/synchronous.py +0 -0
  548. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/__init__.py +0 -0
  549. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/dumper.py +0 -0
  550. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/kernel.py +0 -0
  551. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/logs.py +0 -0
  552. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/printer.py +0 -0
  553. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/render.py +0 -0
  554. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/test_result.py +0 -0
  555. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/contracts/unit_test.py +0 -0
  556. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/core/__init__.py +0 -0
  557. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/core/unit_test.py +0 -0
  558. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/entities/__init__.py +0 -0
  559. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/entities/result.py +0 -0
  560. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/enums/__init__.py +0 -0
  561. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/enums/status.py +0 -0
  562. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/__init__.py +0 -0
  563. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/config.py +0 -0
  564. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/failure.py +0 -0
  565. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/persistence.py +0 -0
  566. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/runtime.py +0 -0
  567. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/exceptions/value.py +0 -0
  568. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/kernel.py +0 -0
  569. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/output/__init__.py +0 -0
  570. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/output/dumper.py +0 -0
  571. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/output/printer.py +0 -0
  572. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/records/__init__.py +0 -0
  573. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/records/logs.py +0 -0
  574. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/__init__.py +0 -0
  575. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/base_path.py +0 -0
  576. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/execution_mode.py +0 -0
  577. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/fail_fast.py +0 -0
  578. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/folder_path.py +0 -0
  579. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/module_name.py +0 -0
  580. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/name_pattern.py +0 -0
  581. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/pattern.py +0 -0
  582. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/persistent.py +0 -0
  583. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/persistent_driver.py +0 -0
  584. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/print_result.py +0 -0
  585. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/tags.py +0 -0
  586. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/throw_exception.py +0 -0
  587. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/verbosity.py +0 -0
  588. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/web_report.py +0 -0
  589. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/validators/workers.py +0 -0
  590. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/view/__init__.py +0 -0
  591. {orionis-0.545.0 → orionis-0.547.0}/orionis/test/view/render.py +0 -0
  592. {orionis-0.545.0 → orionis-0.547.0}/orionis.egg-info/dependency_links.txt +0 -0
  593. {orionis-0.545.0 → orionis-0.547.0}/orionis.egg-info/requires.txt +0 -0
  594. {orionis-0.545.0 → orionis-0.547.0}/orionis.egg-info/zip-safe +0 -0
  595. {orionis-0.545.0 → orionis-0.547.0}/setup.cfg +0 -0
@@ -0,0 +1,20 @@
1
+ include README.md
2
+ include LICENSE
3
+
4
+ recursive-include orionis *.py *.html
5
+
6
+ exclude app/*
7
+ exclude bootstrap/*
8
+ exclude config/*
9
+ exclude database/*
10
+ exclude routes/*
11
+ exclude storage/*
12
+ exclude tests/*
13
+
14
+ recursive-exclude app *
15
+ recursive-exclude bootstrap *
16
+ recursive-exclude config *
17
+ recursive-exclude database *
18
+ recursive-exclude routes *
19
+ recursive-exclude storage *
20
+ recursive-exclude tests *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.545.0
3
+ Version: 0.547.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -44,23 +44,6 @@ class BaseScheduleEventListener(IScheduleEventListener):
44
44
  """
45
45
  pass # Placeholder for post-job execution logic
46
46
 
47
- async def onSuccess(self, event: EventJob, schedule):
48
- """
49
- Called when a job is successfully executed.
50
-
51
- Parameters
52
- ----------
53
- event : EventJob
54
- The successful job execution event containing details about the job.
55
- schedule : ISchedule
56
- The associated schedule instance managing the job.
57
-
58
- Returns
59
- -------
60
- None
61
- """
62
- pass # Placeholder for logic to handle successful job execution
63
-
64
47
  async def onFailure(self, event: EventJob, schedule):
65
48
  """
66
49
  Called when a job execution fails.
@@ -43,24 +43,6 @@ class IScheduleEventListener(ABC):
43
43
  """
44
44
  pass
45
45
 
46
- @abstractmethod
47
- async def onSuccess(self, event: EventJob, schedule):
48
- """
49
- Called when a job is successfully executed.
50
-
51
- Parameters
52
- ----------
53
- event : EventJob
54
- The successful job execution event containing details about the job.
55
- schedule : ISchedule
56
- The associated schedule instance managing the job.
57
-
58
- Returns
59
- -------
60
- None
61
- """
62
- pass
63
-
64
46
  @abstractmethod
65
47
  async def onFailure(self, event: EventJob, schedule):
66
48
  """
@@ -100,8 +100,8 @@ class CLIRequest(ICLIRequest):
100
100
 
101
101
  def __init__(
102
102
  self,
103
- command: str,
104
- args: dict
103
+ command: str = "__unknown__",
104
+ args: dict = {}
105
105
  ):
106
106
  """
107
107
  Initialize a CLI request object with command line arguments.
@@ -237,8 +237,9 @@ class App(BaseEntity):
237
237
  # Validate `key` attribute
238
238
  if self.key is None:
239
239
  self.key = SecureKeyGenerator.generate()
240
- if not isinstance(self.key, str):
241
- raise OrionisIntegrityException("The 'key' attribute must be a string.")
240
+ Env.set('APP_KEY', self.key)
241
+ if not isinstance(self.key, (bytes, str)) or not self.key.strip():
242
+ raise OrionisIntegrityException("The 'key' attribute must be a non-empty string.")
242
243
 
243
244
  # Validate `maintenance` attribute
244
245
  if not isinstance(self.maintenance, str) or not self.name.strip() or not self.maintenance.startswith('/'):
@@ -0,0 +1,20 @@
1
+ from enum import Enum
2
+
3
+ class Cipher(Enum):
4
+ """
5
+ Enumeration of supported AES cipher modes.
6
+
7
+ This enum defines various Advanced Encryption Standard (AES) cipher modes and key sizes
8
+ commonly used for encryption and decryption operations.
9
+
10
+ Members:
11
+ - AES_128_CBC: AES with a 128-bit key in Cipher Block Chaining (CBC) mode.
12
+ - AES_256_CBC: AES with a 256-bit key in Cipher Block Chaining (CBC) mode.
13
+ - AES_128_GCM: AES with a 128-bit key in Galois/Counter Mode (GCM).
14
+ - AES_256_GCM: AES with a 256-bit key in Galois/Counter Mode (GCM).
15
+ """
16
+
17
+ AES_128_CBC = "AES-128-CBC"
18
+ AES_256_CBC = "AES-256-CBC"
19
+ AES_128_GCM = "AES-128-GCM"
20
+ AES_256_GCM = "AES-256-GCM"
@@ -94,8 +94,8 @@ class Session(BaseEntity):
94
94
  # Validate secret_key
95
95
  if self.secret_key is None:
96
96
  self.secret_key = SecretKey.random()
97
- if not isinstance(self.secret_key, str) or not self.secret_key.strip():
98
- raise OrionisIntegrityException("Session secret_key must be a non-empty string")
97
+ if not isinstance(self.secret_key, (bytes, str)) or not self.secret_key.strip():
98
+ raise OrionisIntegrityException("secret_key must be a non-empty string")
99
99
 
100
100
  # Validate session_cookie
101
101
  if not isinstance(self.session_cookie, str) or not self.session_cookie.strip():
@@ -0,0 +1,44 @@
1
+ from orionis.console.contracts.cli_request import ICLIRequest
2
+ from orionis.console.request.cli_request import CLIRequest
3
+ from orionis.container.providers.service_provider import ServiceProvider
4
+
5
+ class CLRequestProvider(ServiceProvider):
6
+ """
7
+ Service provider for registering CLI request services in the Orionis framework.
8
+
9
+ This provider handles the registration and binding of CLI request interfaces
10
+ to their concrete implementations within the application container.
11
+ """
12
+
13
+ def register(self) -> None:
14
+ """
15
+ Register CLI request services in the application container.
16
+
17
+ Binds the ICLIRequest interface to the CLIRequest implementation as a
18
+ transient service, making it available for dependency injection throughout
19
+ the application with the specified alias.
20
+
21
+ Returns
22
+ -------
23
+ None
24
+ This method does not return any value.
25
+ """
26
+ # Register CLIRequest as a transient service bound to ICLIRequest interface
27
+ # Transient services create a new instance each time they are resolved
28
+ self.app.transient(ICLIRequest, CLIRequest, alias="x-orionis.console.request.cli_request")
29
+
30
+ def boot(self) -> None:
31
+ """
32
+ Perform any necessary bootstrapping after service registration.
33
+
34
+ This method is called after all services have been registered and can be
35
+ used to perform additional setup or configuration tasks. Currently, no
36
+ bootstrapping logic is required for CLI request services.
37
+
38
+ Returns
39
+ -------
40
+ None
41
+ This method does not return any value.
42
+ """
43
+ # No bootstrapping logic required for CLI request services
44
+ pass
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.545.0"
8
+ VERSION = "0.547.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -0,0 +1,115 @@
1
+ import base64
2
+ import json
3
+ import os
4
+ from typing import Optional
5
+ from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
6
+ from cryptography.hazmat.backends import default_backend
7
+ from cryptography.hazmat.primitives.ciphers.aead import AESGCM
8
+
9
+
10
+ class Encrypter:
11
+
12
+ SUPPORTED_CIPHERS = ["AES-128-CBC", "AES-256-CBC", "AES-128-GCM", "AES-256-GCM"]
13
+
14
+ def __init__(self, app_key: str, cipher: str = "AES-256-CBC"):
15
+ # Decodificar APP_KEY de Laravel
16
+ if app_key.startswith("base64:"):
17
+ key_bytes = base64.b64decode(app_key[7:])
18
+ else:
19
+ key_bytes = app_key.encode()
20
+
21
+ self.key = key_bytes
22
+ self.cipher = cipher
23
+
24
+ # Validar cipher
25
+ if cipher not in self.SUPPORTED_CIPHERS:
26
+ raise ValueError(f"Cipher '{cipher}' no soportado. Usa uno de: {self.SUPPORTED_CIPHERS}")
27
+
28
+ # Validar longitud de clave según el cipher
29
+ key_len = len(self.key)
30
+ if cipher.startswith("AES-128") and key_len != 16:
31
+ raise ValueError("La clave debe ser de 16 bytes para AES-128")
32
+ if cipher.startswith("AES-256") and key_len != 32:
33
+ raise ValueError("La clave debe ser de 32 bytes para AES-256")
34
+
35
+ def encrypt(self, plaintext: str) -> str:
36
+ data = plaintext.encode()
37
+
38
+ if "GCM" in self.cipher:
39
+ return self._encrypt_gcm(data)
40
+ else:
41
+ return self._encrypt_cbc(data)
42
+
43
+ def decrypt(self, payload: str) -> str:
44
+ # Decodificar base64 -> JSON
45
+ decoded = base64.b64decode(payload).decode()
46
+ data = json.loads(decoded)
47
+
48
+ cipher = data.get("cipher")
49
+ iv = base64.b64decode(data["iv"])
50
+ value = base64.b64decode(data["value"])
51
+ tag = base64.b64decode(data["tag"]) if data.get("tag") else None
52
+
53
+ if cipher != self.cipher:
54
+ raise ValueError(f"El cipher del payload '{cipher}' no coincide con el configurado '{self.cipher}'")
55
+
56
+ if "GCM" in cipher:
57
+ return self._decrypt_gcm(value, iv, tag).decode()
58
+ else:
59
+ return self._decrypt_cbc(value, iv).decode()
60
+
61
+ # -------------------
62
+ # Métodos privados CBC
63
+ # -------------------
64
+ def _encrypt_cbc(self, data: bytes) -> str:
65
+ iv = os.urandom(16)
66
+ cipher = Cipher(algorithms.AES(self.key), modes.CBC(iv), backend=default_backend())
67
+ encryptor = cipher.encryptor()
68
+
69
+ # PKCS7 padding
70
+ pad_len = 16 - (len(data) % 16)
71
+ data += bytes([pad_len]) * pad_len
72
+
73
+ ct = encryptor.update(data) + encryptor.finalize()
74
+
75
+ payload = {
76
+ "iv": base64.b64encode(iv).decode(),
77
+ "value": base64.b64encode(ct).decode(),
78
+ "tag": None,
79
+ "cipher": self.cipher,
80
+ }
81
+
82
+ return base64.b64encode(json.dumps(payload).encode()).decode()
83
+
84
+ def _decrypt_cbc(self, ct: bytes, iv: bytes) -> bytes:
85
+ cipher = Cipher(algorithms.AES(self.key), modes.CBC(iv), backend=default_backend())
86
+ decryptor = cipher.decryptor()
87
+ data = decryptor.update(ct) + decryptor.finalize()
88
+
89
+ # Unpad PKCS7
90
+ pad_len = data[-1]
91
+ return data[:-pad_len]
92
+
93
+ # -------------------
94
+ # Métodos privados GCM
95
+ # -------------------
96
+ def _encrypt_gcm(self, data: bytes) -> str:
97
+ iv = os.urandom(12)
98
+ aesgcm = AESGCM(self.key)
99
+ ct = aesgcm.encrypt(iv, data, None)
100
+
101
+ # separar ciphertext y tag (últimos 16 bytes)
102
+ value, tag = ct[:-16], ct[-16:]
103
+
104
+ payload = {
105
+ "iv": base64.b64encode(iv).decode(),
106
+ "value": base64.b64encode(value).decode(),
107
+ "tag": base64.b64encode(tag).decode(),
108
+ "cipher": self.cipher,
109
+ }
110
+
111
+ return base64.b64encode(json.dumps(payload).encode()).decode()
112
+
113
+ def _decrypt_gcm(self, value: bytes, iv: bytes, tag: Optional[bytes]) -> bytes:
114
+ aesgcm = AESGCM(self.key)
115
+ return aesgcm.decrypt(iv, value + tag, None)
@@ -255,64 +255,72 @@ class EnvironmentCaster(IEnvironmentCaster):
255
255
  """
256
256
  Convert the internal value to a Base64 encoded string with the type hint prefix.
257
257
 
258
+ - If the value is already valid base64, leave it as-is.
259
+ - Otherwise, encode it to base64.
260
+
258
261
  Returns
259
262
  -------
260
263
  str
261
- A string in the format "<type_hint>:<base64_value>", where <base64_value> is the Base64
262
- encoded representation of the internal value.
263
-
264
- Raises
265
- ------
266
- OrionisEnvironmentValueError
267
- If the internal value is not a string or bytes.
264
+ A string in the format "<type_hint>:<base64_value>".
268
265
  """
269
-
270
- # Import the base64 module for encoding
271
266
  import base64
272
267
 
273
- # Ensure the internal value is a string or bytes before encoding
274
268
  if not isinstance(self.__value_raw, (str, bytes)):
275
269
  raise OrionisEnvironmentValueError(
276
270
  f"Value must be a string or bytes to convert to Base64, got {type(self.__value_raw).__name__} instead."
277
271
  )
278
272
 
279
- # Encode the value in Base64
280
- encoded_value = base64.b64encode(str(self.__value_raw).encode()).decode()
273
+ # Normalizar a str
274
+ if isinstance(self.__value_raw, bytes):
275
+ candidate = self.__value_raw.decode("utf-8", errors="ignore")
276
+ else:
277
+ candidate = self.__value_raw
278
+
279
+ try:
280
+ # Validar si ya es base64 válido
281
+ base64.b64decode(candidate, validate=True)
282
+ encoded_value = candidate
283
+ except Exception:
284
+ # No era base64, entonces convertirlo
285
+ raw_bytes = (
286
+ self.__value_raw.encode() if isinstance(self.__value_raw, str) else self.__value_raw
287
+ )
288
+ encoded_value = base64.b64encode(raw_bytes).decode("utf-8")
281
289
 
282
- # Return the formatted string with type hint and Base64 encoded value
283
290
  return f"{self.__type_hint}:{encoded_value}"
284
291
 
285
- def __parseBase64(self) -> str:
292
+ def __parseBase64(self) -> bytes:
286
293
  """
287
294
  Decode the internal raw value from Base64 encoding.
288
295
 
289
- Decodes the Base64-encoded string stored in the internal raw value and returns the decoded result as a string.
290
- If decoding fails, raises an OrionisEnvironmentValueException.
291
-
292
296
  Returns
293
297
  -------
294
- str
295
- The decoded string from the Base64-encoded internal value.
298
+ bytes
299
+ The decoded raw bytes from the Base64-encoded internal value.
296
300
 
297
301
  Raises
298
302
  ------
299
303
  OrionisEnvironmentValueException
300
304
  If the internal value cannot be decoded from Base64.
301
305
  """
302
-
303
- # Import the base64 module for decoding
304
306
  import base64
305
307
 
306
308
  try:
309
+ raw_value = self.__value_raw
310
+ if isinstance(raw_value, bytes):
311
+ raw_value = raw_value.decode("utf-8", errors="ignore")
307
312
 
308
- # Decode the Base64 encoded value and return as string
309
- decoded_value = base64.b64decode(self.__value_raw).decode()
310
- return decoded_value
313
+ decoded = base64.b64decode(raw_value, validate=True)
311
314
 
312
- except Exception as e:
315
+ try:
316
+ return decoded.decode("utf-8")
317
+ except UnicodeDecodeError:
318
+ return decoded
313
319
 
314
- # Raise a custom exception if decoding fails
315
- raise OrionisEnvironmentValueException(f"Cannot decode Base64 value '{self.__value_raw}': {str(e)}")
320
+ except Exception as e:
321
+ raise OrionisEnvironmentValueException(
322
+ f"Cannot decode Base64 value '{self.__value_raw}': {str(e)}"
323
+ )
316
324
 
317
325
  def __parsePath(self):
318
326
  """
@@ -0,0 +1,47 @@
1
+ import os
2
+ import base64
3
+
4
+ class SecureKeyGenerator:
5
+ """
6
+ Utility class for generating Laravel-compatible APP_KEY values.
7
+
8
+ Laravel expects keys in Base64 format, prefixed with 'base64:'.
9
+ Supported ciphers: AES-128-CBC, AES-256-CBC, AES-128-GCM, AES-256-GCM.
10
+ """
11
+
12
+ KEY_SIZES = {
13
+ "AES-128-CBC": 16,
14
+ "AES-256-CBC": 32,
15
+ "AES-128-GCM": 16,
16
+ "AES-256-GCM": 32,
17
+ }
18
+
19
+ @staticmethod
20
+ def generate(cipher: str = "AES-256-CBC") -> str:
21
+ """
22
+ Generate a Laravel-compatible APP_KEY.
23
+
24
+ Parameters
25
+ ----------
26
+ cipher : str
27
+ The cipher algorithm. Options: AES-128-CBC, AES-256-CBC,
28
+ AES-128-GCM, AES-256-GCM. Default is AES-256-CBC.
29
+
30
+ Returns
31
+ -------
32
+ str
33
+ A string formatted like Laravel's APP_KEY (e.g., base64:xxxx).
34
+ """
35
+ if cipher not in SecureKeyGenerator.KEY_SIZES:
36
+ raise ValueError(
37
+ f"Cipher '{cipher}' no soportado. "
38
+ f"Opciones: {', '.join(SecureKeyGenerator.KEY_SIZES.keys())}"
39
+ )
40
+
41
+ key_length = SecureKeyGenerator.KEY_SIZES[cipher]
42
+
43
+ # Generate secure random bytes
44
+ key = os.urandom(key_length)
45
+
46
+ # Encode in Base64 and prepend 'base64:'
47
+ return "base64:" + base64.b64encode(key).decode("utf-8")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.545.0
3
+ Version: 0.547.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -237,6 +237,7 @@ orionis/foundation/exceptions/type.py
237
237
  orionis/foundation/exceptions/value.py
238
238
  orionis/foundation/providers/__init__.py
239
239
  orionis/foundation/providers/catch_provider.py
240
+ orionis/foundation/providers/cli_request_provider.py
240
241
  orionis/foundation/providers/console_provider.py
241
242
  orionis/foundation/providers/directory_provider.py
242
243
  orionis/foundation/providers/dumper_provider.py
@@ -259,6 +260,7 @@ orionis/services/asynchrony/contracts/__init__.py
259
260
  orionis/services/asynchrony/contracts/coroutines.py
260
261
  orionis/services/asynchrony/exceptions/__init__.py
261
262
  orionis/services/asynchrony/exceptions/exception.py
263
+ orionis/services/encrypter/encrypter.py
262
264
  orionis/services/environment/__init__.py
263
265
  orionis/services/environment/env.py
264
266
  orionis/services/environment/contracts/__init__.py
@@ -440,149 +442,4 @@ orionis/test/validators/verbosity.py
440
442
  orionis/test/validators/web_report.py
441
443
  orionis/test/validators/workers.py
442
444
  orionis/test/view/__init__.py
443
- orionis/test/view/render.py
444
- tests/container/__init__.py
445
- tests/container/context/__init__.py
446
- tests/container/context/test_manager.py
447
- tests/container/context/test_scope.py
448
- tests/container/core/__init__.py
449
- tests/container/core/test_advanced_async.py
450
- tests/container/core/test_async_optimizations.py
451
- tests/container/core/test_container.py
452
- tests/container/core/test_singleton.py
453
- tests/container/core/test_thread_safety.py
454
- tests/container/entities/__init__.py
455
- tests/container/entities/test_binding.py
456
- tests/container/enums/__init__.py
457
- tests/container/enums/test_lifetimes.py
458
- tests/container/facades/__init__.py
459
- tests/container/facades/test_facade.py
460
- tests/container/mocks/__init__.py
461
- tests/container/mocks/mock_advanced_async.py
462
- tests/container/mocks/mock_async_optimizations.py
463
- tests/container/mocks/mock_auto_resolution.py
464
- tests/container/mocks/mock_complex_classes.py
465
- tests/container/mocks/mock_simple_classes.py
466
- tests/container/providers/__init__.py
467
- tests/container/providers/test_providers.py
468
- tests/container/validators/__init__.py
469
- tests/container/validators/test_implements.py
470
- tests/container/validators/test_is_abstract_class.py
471
- tests/container/validators/test_is_callable.py
472
- tests/container/validators/test_is_concrete_class.py
473
- tests/container/validators/test_is_instance.py
474
- tests/container/validators/test_is_not_subclass.py
475
- tests/container/validators/test_is_subclass.py
476
- tests/container/validators/test_is_valid_alias.py
477
- tests/container/validators/test_lifetime.py
478
- tests/example/__init__.py
479
- tests/example/test_example.py
480
- tests/foundation/__init__.py
481
- tests/foundation/config/__init__.py
482
- tests/foundation/config/app/__init__.py
483
- tests/foundation/config/app/test_foundation_config_app.py
484
- tests/foundation/config/auth/__init__.py
485
- tests/foundation/config/auth/test_foundation_config_auth.py
486
- tests/foundation/config/cache/__init__.py
487
- tests/foundation/config/cache/test_foundation_config_cache.py
488
- tests/foundation/config/cache/test_foundation_config_cache_file.py
489
- tests/foundation/config/cache/test_foundation_config_cache_stores.py
490
- tests/foundation/config/cors/__init__.py
491
- tests/foundation/config/cors/test_foundation_config_cors.py
492
- tests/foundation/config/database/__init__.py
493
- tests/foundation/config/database/test_foundation_config_database.py
494
- tests/foundation/config/database/test_foundation_config_database_connections.py
495
- tests/foundation/config/database/test_foundation_config_database_mysql.py
496
- tests/foundation/config/database/test_foundation_config_database_oracle.py
497
- tests/foundation/config/database/test_foundation_config_database_pgsql.py
498
- tests/foundation/config/database/test_foundation_config_database_sqlite.py
499
- tests/foundation/config/filesystems/__init__.py
500
- tests/foundation/config/filesystems/test_foundation_config_filesystems.py
501
- tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py
502
- tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py
503
- tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py
504
- tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py
505
- tests/foundation/config/logging/__init__.py
506
- tests/foundation/config/logging/test_foundation_config_logging.py
507
- tests/foundation/config/logging/test_foundation_config_logging_channels.py
508
- tests/foundation/config/logging/test_foundation_config_logging_chunked.py
509
- tests/foundation/config/logging/test_foundation_config_logging_daily.py
510
- tests/foundation/config/logging/test_foundation_config_logging_hourly.py
511
- tests/foundation/config/logging/test_foundation_config_logging_monthly.py
512
- tests/foundation/config/logging/test_foundation_config_logging_stack.py
513
- tests/foundation/config/logging/test_foundation_config_logging_weekly.py
514
- tests/foundation/config/mail/__init__.py
515
- tests/foundation/config/mail/test_foundation_config_mail.py
516
- tests/foundation/config/mail/test_foundation_config_mail_file.py
517
- tests/foundation/config/mail/test_foundation_config_mail_mailers.py
518
- tests/foundation/config/mail/test_foundation_config_mail_smtp.py
519
- tests/foundation/config/queue/__init__.py
520
- tests/foundation/config/queue/test_foundation_config_queue.py
521
- tests/foundation/config/queue/test_foundation_config_queue_brokers.py
522
- tests/foundation/config/queue/test_foundation_config_queue_database.py
523
- tests/foundation/config/root/__init__.py
524
- tests/foundation/config/root/test_foundation_config_root_paths.py
525
- tests/foundation/config/session/__init__.py
526
- tests/foundation/config/session/test_foundation_config_session.py
527
- tests/foundation/config/startup/__init__.py
528
- tests/foundation/config/startup/test_foundation_config_startup.py
529
- tests/foundation/config/testing/__init__.py
530
- tests/foundation/config/testing/test_foundation_config_testing.py
531
- tests/metadata/__init__.py
532
- tests/metadata/test_metadata_framework.py
533
- tests/metadata/test_metadata_package.py
534
- tests/services/__init__.py
535
- tests/services/asynchrony/__init__.py
536
- tests/services/asynchrony/test_services_asynchrony_coroutine.py
537
- tests/services/environment/__init__.py
538
- tests/services/environment/test_services_environment.py
539
- tests/services/introspection/__init__.py
540
- tests/services/introspection/test_reflection.py
541
- tests/services/introspection/dependencies/__init__.py
542
- tests/services/introspection/dependencies/test_reflect_dependencies.py
543
- tests/services/introspection/dependencies/mocks/__init__.py
544
- tests/services/introspection/dependencies/mocks/mock_user.py
545
- tests/services/introspection/dependencies/mocks/mock_user_controller.py
546
- tests/services/introspection/dependencies/mocks/mock_users_permissions.py
547
- tests/services/introspection/reflection/__init__.py
548
- tests/services/introspection/reflection/test_reflection_abstract.py
549
- tests/services/introspection/reflection/test_reflection_callable.py
550
- tests/services/introspection/reflection/test_reflection_concrete.py
551
- tests/services/introspection/reflection/test_reflection_instance.py
552
- tests/services/introspection/reflection/test_reflection_module.py
553
- tests/services/introspection/reflection/mock/__init__.py
554
- tests/services/introspection/reflection/mock/fake_reflect_instance.py
555
- tests/services/log/__init__.py
556
- tests/services/log/test_log.py
557
- tests/services/system/__init__.py
558
- tests/services/system/test_services_system_imports.py
559
- tests/services/system/test_services_system_workers.py
560
- tests/support/__init__.py
561
- tests/support/entities/__init__.py
562
- tests/support/entities/mock_dataclass.py
563
- tests/support/entities/test_base.py
564
- tests/support/patterns/__init__.py
565
- tests/support/patterns/singleton/__init__.py
566
- tests/support/patterns/singleton/test_patterns_singleton.py
567
- tests/support/standard/__init__.py
568
- tests/support/standard/test_services_std.py
569
- tests/support/wrapper/__init__.py
570
- tests/support/wrapper/test_services_wrapper_docdict.py
571
- tests/testing/__init__.py
572
- tests/testing/test_testing_unit.py
573
- tests/testing/cases/__init__.py
574
- tests/testing/cases/test_testing_asynchronous.py
575
- tests/testing/cases/test_testing_synchronous.py
576
- tests/testing/entities/__init__.py
577
- tests/testing/entities/test_testing_result.py
578
- tests/testing/enums/__init__.py
579
- tests/testing/enums/test_testing_status.py
580
- tests/testing/output/__init__.py
581
- tests/testing/output/test_testing_dumper.py
582
- tests/testing/output/test_testing_printer.py
583
- tests/testing/records/__init__.py
584
- tests/testing/records/test_testing_records.py
585
- tests/testing/validators/__init__.py
586
- tests/testing/validators/test_testing_validators.py
587
- tests/testing/view/__init__.py
588
- tests/testing/view/test_render.py
445
+ orionis/test/view/render.py
@@ -54,13 +54,13 @@ setup(
54
54
  license='MIT',
55
55
  packages=find_packages(
56
56
  exclude=[
57
- 'app',
58
- 'bootstrap',
59
- 'config',
60
- 'database'
61
- 'routes',
62
- 'storage',
63
- 'tests'
57
+ 'app', 'app.*',
58
+ 'bootstrap', 'bootstrap.*',
59
+ 'config', 'config.*',
60
+ 'database', 'database.*',
61
+ 'routes', 'routes.*',
62
+ 'storage', 'storage.*',
63
+ 'tests', 'tests.*'
64
64
  ]
65
65
  ),
66
66
  include_package_data=True,
@@ -1,3 +0,0 @@
1
- include README.md
2
- include LICENSE
3
- recursive-include orionis *.py *.html