winterforge 0.2.0__tar.gz → 0.2.2__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 (477) hide show
  1. {winterforge-0.2.0 → winterforge-0.2.2}/PKG-INFO +4 -2
  2. {winterforge-0.2.0 → winterforge-0.2.2}/pyproject.toml +25 -19
  3. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/__init__.py +2 -2
  4. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_pass_two.py +9 -5
  5. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/lifecycle.py +4 -2
  6. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/testing/cli.py +4 -2
  7. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge.egg-info/PKG-INFO +4 -2
  8. winterforge-0.2.2/winterforge.egg-info/entry_points.txt +34 -0
  9. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge.egg-info/requires.txt +2 -0
  10. winterforge-0.2.0/winterforge.egg-info/entry_points.txt +0 -41
  11. {winterforge-0.2.0 → winterforge-0.2.2}/README.md +0 -0
  12. {winterforge-0.2.0 → winterforge-0.2.2}/setup.cfg +0 -0
  13. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_acceptance.py +0 -0
  14. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_canonical_resolution.py +0 -0
  15. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_channel_debug.py +0 -0
  16. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_clone_debug.py +0 -0
  17. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_e2e_integration.py +0 -0
  18. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_initialization.py +0 -0
  19. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_is_dirty_debug.py +0 -0
  20. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_kernel.py +0 -0
  21. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_mro_exploration.py +0 -0
  22. {winterforge-0.2.0 → winterforge-0.2.2}/tests/test_user_system_integration.py +0 -0
  23. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/__init__.py +0 -0
  24. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/base.py +0 -0
  25. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/composition.py +0 -0
  26. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/injectable.py +0 -0
  27. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/manifest.py +0 -0
  28. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/mixins/__init__.py +0 -0
  29. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/mixins/trait_mixin.py +0 -0
  30. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/primitives/__init__.py +0 -0
  31. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/primitives/render.py +0 -0
  32. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/primitives/rune.py +0 -0
  33. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/__init__.py +0 -0
  34. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/_namespaced_mixin.py +0 -0
  35. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/application_registry.py +0 -0
  36. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/config_registry.py +0 -0
  37. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/field_registry.py +0 -0
  38. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/frag_registry.py +0 -0
  39. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/permission_registry.py +0 -0
  40. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/profile_registry.py +0 -0
  41. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/role_registry.py +0 -0
  42. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/session_registry.py +0 -0
  43. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/frags/registries/user_registry.py +0 -0
  44. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/__init__.py +0 -0
  45. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/dedupe.py +0 -0
  46. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/filter.py +0 -0
  47. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/inject_default.py +0 -0
  48. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/move_front.py +0 -0
  49. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/handlers/topo_sort.py +0 -0
  50. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/__init__.py +0 -0
  51. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/bootstrap_config.py +0 -0
  52. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/commands.py +0 -0
  53. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/init_command.py +0 -0
  54. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/profile_installer.py +0 -0
  55. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/installer/profiles.py +0 -0
  56. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/kernel.py +0 -0
  57. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/materials/__init__.py +0 -0
  58. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/materials/manager.py +0 -0
  59. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/materials/registry.py +0 -0
  60. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/__init__.py +0 -0
  61. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_base.py +0 -0
  62. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_discovery.py +0 -0
  63. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_manager_manager.py +0 -0
  64. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_matchable.py +0 -0
  65. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/__init__.py +0 -0
  66. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/authentication.py +0 -0
  67. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/cache.py +0 -0
  68. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/counter.py +0 -0
  69. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/email_provider.py +0 -0
  70. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/encryption.py +0 -0
  71. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/hashing.py +0 -0
  72. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/http.py +0 -0
  73. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/identity.py +0 -0
  74. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/output_redirect.py +0 -0
  75. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/query_execution.py +0 -0
  76. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/session.py +0 -0
  77. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/status_printer.py +0 -0
  78. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/storage.py +0 -0
  79. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/token_provider.py +0 -0
  80. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/_protocols/validator.py +0 -0
  81. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/auditors/__init__.py +0 -0
  82. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/auditors/_manager.py +0 -0
  83. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/auditors/orphaned_fields/__init__.py +0 -0
  84. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/authentication/__init__.py +0 -0
  85. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/authentication/manager.py +0 -0
  86. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/authentication/password_provider.py +0 -0
  87. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/__init__.py +0 -0
  88. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/_backend.py +0 -0
  89. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/_listeners.py +0 -0
  90. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/_manager.py +0 -0
  91. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/cache_identifier.py +0 -0
  92. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/cached_value.py +0 -0
  93. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/cid_resolver_manager.py +0 -0
  94. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/cid_resolver_protocol.py +0 -0
  95. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/composition_cid_resolver.py +0 -0
  96. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/event_invalidation.py +0 -0
  97. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/id_cid_resolver.py +0 -0
  98. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/lru/__init__.py +0 -0
  99. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/manager.py +0 -0
  100. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/memory_backend.py +0 -0
  101. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/registry.py +0 -0
  102. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache/signature_cid_resolver.py +0 -0
  103. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/__init__.py +0 -0
  104. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/lazy.py +0 -0
  105. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/manager.py +0 -0
  106. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/passthrough.py +0 -0
  107. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/protocol.py +0 -0
  108. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cache_warmers/scheduled.py +0 -0
  109. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/__init__.py +0 -0
  110. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/_base.py +0 -0
  111. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/_manager.py +0 -0
  112. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/cascade.py +0 -0
  113. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/ignore.py +0 -0
  114. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/nullify.py +0 -0
  115. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cascade/restrict.py +0 -0
  116. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/__init__.py +0 -0
  117. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/__main__.py +0 -0
  118. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/_cli_commands.py +0 -0
  119. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/_context.py +0 -0
  120. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/_manager.py +0 -0
  121. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/_validation.py +0 -0
  122. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/main.py +0 -0
  123. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/cli/permissions.py +0 -0
  124. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/__init__.py +0 -0
  125. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/_base.py +0 -0
  126. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/gather.py +0 -0
  127. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/manager.py +0 -0
  128. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/ordered_concurrent.py +0 -0
  129. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/concurrency/passthrough.py +0 -0
  130. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/counter/__init__.py +0 -0
  131. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/counter/database_synced.py +0 -0
  132. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/counter/fresh.py +0 -0
  133. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/counter/manager.py +0 -0
  134. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/data/__init__.py +0 -0
  135. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/data/_manager.py +0 -0
  136. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/data/yaml/__init__.py +0 -0
  137. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/__init__.py +0 -0
  138. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_cache_method.py +0 -0
  139. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_configs.py +0 -0
  140. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_decorator_base.py +0 -0
  141. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_http_endpoint_config.py +0 -0
  142. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_manager.py +0 -0
  143. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_markers.py +0 -0
  144. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_namespaces.py +0 -0
  145. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_provider.py +0 -0
  146. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_scope_handler_manager.py +0 -0
  147. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/_via.py +0 -0
  148. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cache_backend.py +0 -0
  149. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cache_compiled.py +0 -0
  150. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cache_hotpath.py +0 -0
  151. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cached.py +0 -0
  152. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cid_resolver.py +0 -0
  153. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/cli_command.py +0 -0
  154. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/counter_provider.py +0 -0
  155. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/emits.py +0 -0
  156. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/emits_events.py +0 -0
  157. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/http_endpoint.py +0 -0
  158. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/material.py +0 -0
  159. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/named.py +0 -0
  160. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/openapi.py +0 -0
  161. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/output_redirect.py +0 -0
  162. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/provider_type.py +0 -0
  163. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/root.py +0 -0
  164. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/rune.py +0 -0
  165. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/sanitizer.py +0 -0
  166. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/__init__.py +0 -0
  167. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/_context.py +0 -0
  168. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/class_solo.py +0 -0
  169. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/cli_command.py +0 -0
  170. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/function.py +0 -0
  171. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/method_in_decorated_class.py +0 -0
  172. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/method_in_undecorated_class.py +0 -0
  173. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/scope_handlers/named_value.py +0 -0
  174. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/serializer.py +0 -0
  175. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/status_printer.py +0 -0
  176. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/transformer.py +0 -0
  177. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/decorators/version_root.py +0 -0
  178. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/disposition/__init__.py +0 -0
  179. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/disposition/_manager.py +0 -0
  180. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/disposition/allowed.py +0 -0
  181. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/disposition/blocked.py +0 -0
  182. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/disposition/neutral.py +0 -0
  183. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/email/__init__.py +0 -0
  184. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/email/console_provider.py +0 -0
  185. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/email/manager.py +0 -0
  186. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/email/smtp_provider.py +0 -0
  187. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/encryption/__init__.py +0 -0
  188. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/encryption/fernet_provider.py +0 -0
  189. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/encryption/manager.py +0 -0
  190. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/__init__.py +0 -0
  191. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/dispatcher_manager.py +0 -0
  192. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/dispatchers/__init__.py +0 -0
  193. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/dispatchers/event.py +0 -0
  194. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/listener_manager.py +0 -0
  195. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/manager.py +0 -0
  196. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/provider_manager.py +0 -0
  197. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/events/tests/plugins/test_event_manager.py +0 -0
  198. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/exporters/__init__.py +0 -0
  199. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/exporters/manager.py +0 -0
  200. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/exporters/yaml_file.py +0 -0
  201. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/extensions/__init__.py +0 -0
  202. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/extensions/_installer.py +0 -0
  203. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/extensions/_manager.py +0 -0
  204. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/hashing/__init__.py +0 -0
  205. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/hashing/argon2_provider.py +0 -0
  206. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/hashing/bcrypt_provider.py +0 -0
  207. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/hashing/identity_provider.py +0 -0
  208. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/hashing/manager.py +0 -0
  209. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/__init__.py +0 -0
  210. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/audit/__init__.py +0 -0
  211. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/audit/database_backend.py +0 -0
  212. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/audit/manager.py +0 -0
  213. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/audit/stderr_backend.py +0 -0
  214. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/csrf/__init__.py +0 -0
  215. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/csrf/manager.py +0 -0
  216. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/csrf/synchronizer_token.py +0 -0
  217. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/rate_limit/__init__.py +0 -0
  218. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/rate_limit/manager.py +0 -0
  219. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http/rate_limit/sliding_window.py +0 -0
  220. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_app/__init__.py +0 -0
  221. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_app/fastapi_provider.py +0 -0
  222. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_app/manager.py +0 -0
  223. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_authenticator/__init__.py +0 -0
  224. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_authenticator/basic_authenticator.py +0 -0
  225. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_authenticator/bearer_authenticator.py +0 -0
  226. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_authenticator/manager.py +0 -0
  227. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_request/__init__.py +0 -0
  228. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_request/form_handler.py +0 -0
  229. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_request/json_handler.py +0 -0
  230. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_request/manager.py +0 -0
  231. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_response/__init__.py +0 -0
  232. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_response/json_handler.py +0 -0
  233. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_response/manager.py +0 -0
  234. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/http_response/xml_handler.py +0 -0
  235. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/__init__.py +0 -0
  236. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/email_resolver.py +0 -0
  237. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/frag_id_resolver.py +0 -0
  238. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/frag_resolver.py +0 -0
  239. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/manager.py +0 -0
  240. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/slug_resolver.py +0 -0
  241. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/title_resolver.py +0 -0
  242. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/username_resolver.py +0 -0
  243. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/identity/uuid_resolver.py +0 -0
  244. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/importers/__init__.py +0 -0
  245. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/importers/manager.py +0 -0
  246. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/importers/yaml_file.py +0 -0
  247. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/__init__.py +0 -0
  248. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/_backend.py +0 -0
  249. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/_manager.py +0 -0
  250. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/composite/__init__.py +0 -0
  251. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/hash/__init__.py +0 -0
  252. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/indexes/trait_composition.py +0 -0
  253. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/initializers/__init__.py +0 -0
  254. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/initializers/application.py +0 -0
  255. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/initializers/manager.py +0 -0
  256. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/input_prompts/__init__.py +0 -0
  257. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/input_prompts/interactive_cli.py +0 -0
  258. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/input_prompts/manager.py +0 -0
  259. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/input_prompts/protocols.py +0 -0
  260. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/input_prompts/silent.py +0 -0
  261. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/materials/__init__.py +0 -0
  262. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/materials/manager.py +0 -0
  263. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/named_compositions/__init__.py +0 -0
  264. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/named_compositions/manager.py +0 -0
  265. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/__init__.py +0 -0
  266. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/bootstrap.py +0 -0
  267. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/debug.py +0 -0
  268. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/default.py +0 -0
  269. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/json_formatter.py +0 -0
  270. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/manager.py +0 -0
  271. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/quiet.py +0 -0
  272. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/source/__init__.py +0 -0
  273. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_formatters/source/formatter_source.py +0 -0
  274. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_redirects/__init__.py +0 -0
  275. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_redirects/cli_output_redirect.py +0 -0
  276. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_redirects/manager.py +0 -0
  277. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/output_redirects/passthrough.py +0 -0
  278. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/__init__.py +0 -0
  279. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/_manager.py +0 -0
  280. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/_primitives.py +0 -0
  281. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/context.py +0 -0
  282. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/core.py +0 -0
  283. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/decorators.py +0 -0
  284. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/permissions/provider_manager.py +0 -0
  285. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/__init__.py +0 -0
  286. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_factory.py +0 -0
  287. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_manager.py +0 -0
  288. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_operators.py +0 -0
  289. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_repository.py +0 -0
  290. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_repository_base.py +0 -0
  291. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/_repository_new.py +0 -0
  292. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/and_group.py +0 -0
  293. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/composition.py +0 -0
  294. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/condition/__init__.py +0 -0
  295. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/condition_group/__init__.py +0 -0
  296. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/execution/__init__.py +0 -0
  297. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/execution/_manager.py +0 -0
  298. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/execution/index/__init__.py +0 -0
  299. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/execution/memory/__init__.py +0 -0
  300. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/execution/storage/__init__.py +0 -0
  301. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executor/__init__.py +0 -0
  302. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/__init__.py +0 -0
  303. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/count.py +0 -0
  304. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/execute.py +0 -0
  305. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/exists.py +0 -0
  306. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/first.py +0 -0
  307. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/ids.py +0 -0
  308. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/executors/uuids.py +0 -0
  309. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/join/__init__.py +0 -0
  310. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/limit/__init__.py +0 -0
  311. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/offset/__init__.py +0 -0
  312. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/or_group.py +0 -0
  313. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/orphaned/__init__.py +0 -0
  314. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/range.py +0 -0
  315. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/scope.py +0 -0
  316. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/sort/__init__.py +0 -0
  317. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query/trait.py +0 -0
  318. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/__init__.py +0 -0
  319. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/analyzer.py +0 -0
  320. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/cli.py +0 -0
  321. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/integration.py +0 -0
  322. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/interceptor.py +0 -0
  323. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/refresh_scheduler.py +0 -0
  324. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/query_analytics/view_generator.py +0 -0
  325. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/repository.py +0 -0
  326. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/runes/__init__.py +0 -0
  327. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/runes/manager.py +0 -0
  328. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/__init__.py +0 -0
  329. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/_base.py +0 -0
  330. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/_manager.py +0 -0
  331. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/email.py +0 -0
  332. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/identifier.py +0 -0
  333. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/integer.py +0 -0
  334. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/path.py +0 -0
  335. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/string.py +0 -0
  336. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/sanitizers/url.py +0 -0
  337. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/security/__init__.py +0 -0
  338. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/security/audit.py +0 -0
  339. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/security/audit_listeners.py +0 -0
  340. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/__init__.py +0 -0
  341. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/callable.py +0 -0
  342. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/cid.py +0 -0
  343. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/manager.py +0 -0
  344. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/passthrough.py +0 -0
  345. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/rune.py +0 -0
  346. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/serializers/scalar.py +0 -0
  347. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/session/__init__.py +0 -0
  348. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/session/frag_provider.py +0 -0
  349. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/session/jwt_provider.py +0 -0
  350. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/session/manager.py +0 -0
  351. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/slug_convertors/__init__.py +0 -0
  352. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/slug_convertors/bootstrap.py +0 -0
  353. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/slug_convertors/manager.py +0 -0
  354. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/slug_convertors/python_slug.py +0 -0
  355. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/slug_convertors/sql_slug.py +0 -0
  356. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/__init__.py +0 -0
  357. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/boolean_result_printer.py +0 -0
  358. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/detailed_user_printer.py +0 -0
  359. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/list_frag_printer.py +0 -0
  360. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/manager.py +0 -0
  361. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/none_result_printer.py +0 -0
  362. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/single_frag_printer.py +0 -0
  363. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/status_printers/string_result_printer.py +0 -0
  364. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/__init__.py +0 -0
  365. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/_sql_base.py +0 -0
  366. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/env.py +0 -0
  367. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/manager.py +0 -0
  368. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/postgresql.py +0 -0
  369. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/sqlite.py +0 -0
  370. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/storage/yaml.py +0 -0
  371. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/token/__init__.py +0 -0
  372. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/token/frag_provider.py +0 -0
  373. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/token/jwt_provider.py +0 -0
  374. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/token/manager.py +0 -0
  375. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/__init__.py +0 -0
  376. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/_base.py +0 -0
  377. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/_field_info.py +0 -0
  378. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/_manager.py +0 -0
  379. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/api_async_builder.py +0 -0
  380. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/api_builder.py +0 -0
  381. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/authenticatable.py +0 -0
  382. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/authorizable.py +0 -0
  383. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/buildable.py +0 -0
  384. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/cache_aware.py +0 -0
  385. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/chainable.py +0 -0
  386. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/clearable.py +0 -0
  387. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/cli_result.py +0 -0
  388. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/collection.py +0 -0
  389. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/composable.py +0 -0
  390. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/emits_events.py +0 -0
  391. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/field_meta.py +0 -0
  392. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/fieldable.py +0 -0
  393. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_cache_key.py +0 -0
  394. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_concurrency.py +0 -0
  395. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_data_source.py +0 -0
  396. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_data_target.py +0 -0
  397. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_permanence.py +0 -0
  398. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/has_result.py +0 -0
  399. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/http_request.py +0 -0
  400. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/http_response.py +0 -0
  401. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/index_generator.py +0 -0
  402. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/injectable.py +0 -0
  403. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/is_application.py +0 -0
  404. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/is_dirty.py +0 -0
  405. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/last_match.py +0 -0
  406. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/machine_named.py +0 -0
  407. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/manifest.py +0 -0
  408. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/material_state.py +0 -0
  409. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/ownable.py +0 -0
  410. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/persistable.py +0 -0
  411. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/profileable.py +0 -0
  412. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/queryable.py +0 -0
  413. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/registry.py +0 -0
  414. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/resolvable.py +0 -0
  415. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/roleable.py +0 -0
  416. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/sessionable.py +0 -0
  417. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/sluggable.py +0 -0
  418. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/timestamped.py +0 -0
  419. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/titled.py +0 -0
  420. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/tokenable.py +0 -0
  421. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/transformable.py +0 -0
  422. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/typed.py +0 -0
  423. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/userable.py +0 -0
  424. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/traits/with_history.py +0 -0
  425. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/__init__.py +0 -0
  426. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/_base.py +0 -0
  427. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/_manager.py +0 -0
  428. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/all.py +0 -0
  429. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/any.py +0 -0
  430. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/average.py +0 -0
  431. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/coalesce.py +0 -0
  432. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/count.py +0 -0
  433. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/extend.py +0 -0
  434. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/head.py +0 -0
  435. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/implode.py +0 -0
  436. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/max.py +0 -0
  437. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/merge.py +0 -0
  438. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/min.py +0 -0
  439. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/product.py +0 -0
  440. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/resolve.py +0 -0
  441. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/sum.py +0 -0
  442. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/transformers/tail.py +0 -0
  443. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/__init__.py +0 -0
  444. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/bootstrap.py +0 -0
  445. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/email.py +0 -0
  446. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/manager.py +0 -0
  447. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/password_validators/__init__.py +0 -0
  448. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/password_validators/simple.py +0 -0
  449. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/password_validators/strong.py +0 -0
  450. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/required.py +0 -0
  451. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/plugins/validators/username.py +0 -0
  452. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/protocols/__init__.py +0 -0
  453. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/protocols/collections.py +0 -0
  454. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/protocols/compositional.py +0 -0
  455. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/protocols/disposition_state.py +0 -0
  456. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/protocols/resolvable.py +0 -0
  457. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/services/recomposition/__init__.py +0 -0
  458. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/testing/__init__.py +0 -0
  459. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/__init__.py +0 -0
  460. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/class_cache.py +0 -0
  461. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/class_lookup.py +0 -0
  462. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/cli_sanitize.py +0 -0
  463. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/concurrency.py +0 -0
  464. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/dependency_resolver.py +0 -0
  465. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/dev_support.py +0 -0
  466. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/encryption.py +0 -0
  467. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/errors.py +0 -0
  468. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/inspection.py +0 -0
  469. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/naming.py +0 -0
  470. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/plugin_resolution.py +0 -0
  471. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/protocol_generator.py +0 -0
  472. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/serializers.py +0 -0
  473. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/signature.py +0 -0
  474. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge/utils/sync.py +0 -0
  475. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge.egg-info/SOURCES.txt +0 -0
  476. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge.egg-info/dependency_links.txt +0 -0
  477. {winterforge-0.2.0 → winterforge-0.2.2}/winterforge.egg-info/top_level.txt +0 -0
@@ -1,15 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winterforge
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: AI-native framework with composable primitives
5
5
  Author: Beau Simensen
6
- Requires-Python: >=3.10
6
+ Requires-Python: >=3.11
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: typing-extensions>=4.0.0
9
9
  Requires-Dist: asyncpg>=0.29.0
10
10
  Requires-Dist: pydantic>=2.0.0
11
11
  Requires-Dist: pyyaml>=6.0
12
12
  Requires-Dist: click>=8.1.7
13
+ Requires-Dist: rich>=13.0.0
14
+ Requires-Dist: aiosqlite>=0.17.0
13
15
  Requires-Dist: argon2-cffi>=23.1.0
14
16
  Requires-Dist: bcrypt>=4.1.2
15
17
  Requires-Dist: PyJWT>=2.8.0
@@ -1,16 +1,18 @@
1
1
  [project]
2
2
  name = "winterforge"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "AI-native framework with composable primitives"
5
5
  readme = "README.md"
6
6
  authors = [{name = "Beau Simensen"}]
7
- requires-python = ">=3.10"
7
+ requires-python = ">=3.11"
8
8
  dependencies = [
9
9
  "typing-extensions>=4.0.0",
10
10
  "asyncpg>=0.29.0",
11
11
  "pydantic>=2.0.0",
12
12
  "pyyaml>=6.0",
13
13
  "click>=8.1.7",
14
+ "rich>=13.0.0",
15
+ "aiosqlite>=0.17.0",
14
16
  "argon2-cffi>=23.1.0",
15
17
  "bcrypt>=4.1.2",
16
18
  "PyJWT>=2.8.0",
@@ -43,28 +45,32 @@ registry = "winterforge.materials.registry:Registry"
43
45
  [project.entry-points."winterforge.named_compositions"]
44
46
 
45
47
  [project.entry-points."winterforge.frag_traits"]
46
- fieldable = "winterforge.frags.traits.fieldable:FieldableTrait"
47
- titled = "winterforge.frags.traits.titled:TitledTrait"
48
- typed = "winterforge.frags.traits.typed:TypedTrait"
49
- timestamped = "winterforge.frags.traits.timestamped:TimestampedTrait"
50
- sluggable = "winterforge.frags.traits.sluggable:SluggableTrait"
51
- persistable = "winterforge.frags.traits.persistable:PersistableTrait"
52
- userable = "winterforge.frags.traits.userable:UserableTrait"
53
- authenticatable = "winterforge.frags.traits.authenticatable:AuthenticatableTrait"
54
- authorizable = "winterforge.frags.traits.authorizable:AuthorizableTrait"
55
- sessionable = "winterforge.frags.traits.sessionable:SessionableTrait"
56
- tokenable = "winterforge.frags.traits.tokenable:TokenableTrait"
57
- permissioned = "winterforge.frags.traits.permissioned:PermissionedTrait"
58
- ownable = "winterforge.frags.traits.ownable:OwnableTrait"
48
+ fieldable = "winterforge.plugins.traits.fieldable:FieldableTrait"
49
+ titled = "winterforge.plugins.traits.titled:TitledTrait"
50
+ typed = "winterforge.plugins.traits.typed:TypedTrait"
51
+ timestamped = "winterforge.plugins.traits.timestamped:TimestampedTrait"
52
+ sluggable = "winterforge.plugins.traits.sluggable:SluggableTrait"
53
+ persistable = "winterforge.plugins.traits.persistable:PersistableTrait"
54
+ userable = "winterforge.plugins.traits.userable:UserableTrait"
55
+ authenticatable = "winterforge.plugins.traits.authenticatable:AuthenticatableTrait"
56
+ authorizable = "winterforge.plugins.traits.authorizable:AuthorizableTrait"
57
+ sessionable = "winterforge.plugins.traits.sessionable:SessionableTrait"
58
+ tokenable = "winterforge.plugins.traits.tokenable:TokenableTrait"
59
+ ownable = "winterforge.plugins.traits.ownable:OwnableTrait"
59
60
  has_permanence = "winterforge.plugins.traits.has_permanence:HasPermanenceTrait"
60
61
  material_state = "winterforge.plugins.traits.material_state:MaterialStateTrait"
61
62
 
62
63
 
64
+ # Built-in decorator scope handlers are NOT declared as entry points.
65
+ # They are infrastructure that processes the decorator system itself and
66
+ # cannot be discovered through the same two-pass mechanism they implement.
67
+ # They are registered eagerly, in canonical first-match order (specialized
68
+ # handlers before generic ones), by _bootstrap_scope_handlers() in
69
+ # winterforge/plugins/decorators/_pass_two.py. Declaring them here caused
70
+ # entry-point loading to register the generic method handlers ahead of the
71
+ # specialized cli_command/named_value handlers, breaking @cli_command
72
+ # routing. Downstream packages may still add custom handlers to this group.
63
73
  [project.entry-points."winterforge.decorator_scope_handlers"]
64
- class_solo = "winterforge.plugins.decorators.scope_handlers.class_solo:ClassSoloScopeHandler"
65
- function = "winterforge.plugins.decorators.scope_handlers.function:FunctionScopeHandler"
66
- method_in_decorated_class = "winterforge.plugins.decorators.scope_handlers.method_in_decorated_class:MethodInDecoratedClassScopeHandler"
67
- method_in_undecorated_class = "winterforge.plugins.decorators.scope_handlers.method_in_undecorated_class:MethodInUndecoratedClassScopeHandler"
68
74
 
69
75
  [project.scripts]
70
76
  winterforge = "winterforge.plugins.cli.main:cli"
@@ -3,10 +3,10 @@ Winterforge - AI-native framework with composable primitives.
3
3
 
4
4
  Author: Beau Simensen
5
5
  License: TBD
6
- Version: 0.2.0
6
+ Version: 0.2.1
7
7
  """
8
8
 
9
- __version__ = "0.2.0"
9
+ __version__ = "0.2.2"
10
10
 
11
11
  import asyncio
12
12
  from winterforge.plugins._discovery import discover_plugins
@@ -32,11 +32,15 @@ def _bootstrap_scope_handlers() -> None:
32
32
  )
33
33
 
34
34
  # Eager registration - scope handlers cannot bootstrap themselves
35
- # via the same two-pass mechanism they implement.
36
- # Order matters for resolve(): first match wins.
37
- # @named (value-producing) is most specific - register first.
38
- # Then method-on-decorated-class, method-on-undecorated-class,
39
- # class-solo, then function.
35
+ # via the same two-pass mechanism they implement, so this is the
36
+ # SOLE, authoritative registrar of the built-in handlers. They are
37
+ # deliberately NOT declared as entry points: entry-point loading runs
38
+ # before this bootstrap and would register the generic method handlers
39
+ # ahead of the specialized ones, stealing first-match resolution.
40
+ # Order matters for resolve(): first match wins. Specialized handlers
41
+ # (cli_command, named_value) overlap with the generic stamped_at-based
42
+ # handlers and MUST be registered first. The four generic handlers
43
+ # partition by stamped_at, so their relative order is irrelevant.
40
44
  if not DecoratorScopeHandlerManager.has('cli_command'):
41
45
  DecoratorScopeHandlerManager.register(
42
46
  'cli_command',
@@ -80,7 +80,8 @@ class LifecycleManager:
80
80
  self._started = True
81
81
 
82
82
  if errors:
83
- error_msg = f"Plugin startup failures:\n{'\n'.join(f' - {e}' for e in errors)}"
83
+ joined = '\n'.join(f' - {e}' for e in errors)
84
+ error_msg = f"Plugin startup failures:\n{joined}"
84
85
  raise RuntimeError(error_msg)
85
86
 
86
87
  async def shutdown_all(self) -> None:
@@ -109,7 +110,8 @@ class LifecycleManager:
109
110
  if errors:
110
111
  # Log but don't raise - shutdown should be best-effort
111
112
  import warnings
112
- error_msg = f"Plugin shutdown failures:\n{'\n'.join(f' - {e}' for e in errors)}"
113
+ joined = '\n'.join(f' - {e}' for e in errors)
114
+ error_msg = f"Plugin shutdown failures:\n{joined}"
113
115
  warnings.warn(error_msg, RuntimeWarning)
114
116
 
115
117
  def reset(self) -> None:
@@ -258,8 +258,9 @@ class CLITestHelper:
258
258
 
259
259
  if collisions:
260
260
  messages = [f" - {issue.message}" for issue in collisions]
261
+ joined = '\n'.join(messages)
261
262
  raise AssertionError(
262
- f"Command collisions in '{root_name}' namespace:\n{'\n'.join(messages)}"
263
+ f"Command collisions in '{root_name}' namespace:\n{joined}"
263
264
  )
264
265
 
265
266
  @classmethod
@@ -281,8 +282,9 @@ class CLITestHelper:
281
282
 
282
283
  if redundancy:
283
284
  messages = [f" - {issue.message}" for issue in redundancy]
285
+ joined = '\n'.join(messages)
284
286
  raise AssertionError(
285
- f"Redundant identifiers in '{root_name}' namespace:\n{'\n'.join(messages)}"
287
+ f"Redundant identifiers in '{root_name}' namespace:\n{joined}"
286
288
  )
287
289
 
288
290
  @classmethod
@@ -1,15 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winterforge
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: AI-native framework with composable primitives
5
5
  Author: Beau Simensen
6
- Requires-Python: >=3.10
6
+ Requires-Python: >=3.11
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: typing-extensions>=4.0.0
9
9
  Requires-Dist: asyncpg>=0.29.0
10
10
  Requires-Dist: pydantic>=2.0.0
11
11
  Requires-Dist: pyyaml>=6.0
12
12
  Requires-Dist: click>=8.1.7
13
+ Requires-Dist: rich>=13.0.0
14
+ Requires-Dist: aiosqlite>=0.17.0
13
15
  Requires-Dist: argon2-cffi>=23.1.0
14
16
  Requires-Dist: bcrypt>=4.1.2
15
17
  Requires-Dist: PyJWT>=2.8.0
@@ -0,0 +1,34 @@
1
+ [console_scripts]
2
+ winterforge = winterforge.plugins.cli.main:cli
3
+
4
+ [winterforge.frag_traits]
5
+ authenticatable = winterforge.plugins.traits.authenticatable:AuthenticatableTrait
6
+ authorizable = winterforge.plugins.traits.authorizable:AuthorizableTrait
7
+ fieldable = winterforge.plugins.traits.fieldable:FieldableTrait
8
+ has_permanence = winterforge.plugins.traits.has_permanence:HasPermanenceTrait
9
+ material_state = winterforge.plugins.traits.material_state:MaterialStateTrait
10
+ ownable = winterforge.plugins.traits.ownable:OwnableTrait
11
+ persistable = winterforge.plugins.traits.persistable:PersistableTrait
12
+ sessionable = winterforge.plugins.traits.sessionable:SessionableTrait
13
+ sluggable = winterforge.plugins.traits.sluggable:SluggableTrait
14
+ timestamped = winterforge.plugins.traits.timestamped:TimestampedTrait
15
+ titled = winterforge.plugins.traits.titled:TitledTrait
16
+ tokenable = winterforge.plugins.traits.tokenable:TokenableTrait
17
+ typed = winterforge.plugins.traits.typed:TypedTrait
18
+ userable = winterforge.plugins.traits.userable:UserableTrait
19
+
20
+ [winterforge.identity_resolvers]
21
+ email = winterforge.plugins.identity.email_resolver:EmailIdentityResolver
22
+ frag_id = winterforge.plugins.identity.frag_id_resolver:FragIdResolver
23
+ slug = winterforge.plugins.identity.slug_resolver:SlugResolver
24
+ username = winterforge.plugins.identity.username_resolver:UsernameIdentityResolver
25
+ uuid = winterforge.plugins.identity.uuid_resolver:UuidResolver
26
+
27
+ [winterforge.materials]
28
+ manager = winterforge.materials.manager:Manager
29
+ registry = winterforge.materials.registry:Registry
30
+
31
+ [winterforge.storage_backends]
32
+ postgresql = winterforge.plugins.storage.postgresql:PostgreSQLStorageBackend
33
+ sqlite = winterforge.plugins.storage.sqlite:SQLiteStorageBackend
34
+ yaml = winterforge.plugins.storage.yaml:YamlStorageBackend
@@ -3,6 +3,8 @@ asyncpg>=0.29.0
3
3
  pydantic>=2.0.0
4
4
  pyyaml>=6.0
5
5
  click>=8.1.7
6
+ rich>=13.0.0
7
+ aiosqlite>=0.17.0
6
8
  argon2-cffi>=23.1.0
7
9
  bcrypt>=4.1.2
8
10
  PyJWT>=2.8.0
@@ -1,41 +0,0 @@
1
- [console_scripts]
2
- winterforge = winterforge.plugins.cli.main:cli
3
-
4
- [winterforge.decorator_scope_handlers]
5
- class_solo = winterforge.plugins.decorators.scope_handlers.class_solo:ClassSoloScopeHandler
6
- function = winterforge.plugins.decorators.scope_handlers.function:FunctionScopeHandler
7
- method_in_decorated_class = winterforge.plugins.decorators.scope_handlers.method_in_decorated_class:MethodInDecoratedClassScopeHandler
8
- method_in_undecorated_class = winterforge.plugins.decorators.scope_handlers.method_in_undecorated_class:MethodInUndecoratedClassScopeHandler
9
-
10
- [winterforge.frag_traits]
11
- authenticatable = winterforge.frags.traits.authenticatable:AuthenticatableTrait
12
- authorizable = winterforge.frags.traits.authorizable:AuthorizableTrait
13
- fieldable = winterforge.frags.traits.fieldable:FieldableTrait
14
- has_permanence = winterforge.plugins.traits.has_permanence:HasPermanenceTrait
15
- material_state = winterforge.plugins.traits.material_state:MaterialStateTrait
16
- ownable = winterforge.frags.traits.ownable:OwnableTrait
17
- permissioned = winterforge.frags.traits.permissioned:PermissionedTrait
18
- persistable = winterforge.frags.traits.persistable:PersistableTrait
19
- sessionable = winterforge.frags.traits.sessionable:SessionableTrait
20
- sluggable = winterforge.frags.traits.sluggable:SluggableTrait
21
- timestamped = winterforge.frags.traits.timestamped:TimestampedTrait
22
- titled = winterforge.frags.traits.titled:TitledTrait
23
- tokenable = winterforge.frags.traits.tokenable:TokenableTrait
24
- typed = winterforge.frags.traits.typed:TypedTrait
25
- userable = winterforge.frags.traits.userable:UserableTrait
26
-
27
- [winterforge.identity_resolvers]
28
- email = winterforge.plugins.identity.email_resolver:EmailIdentityResolver
29
- frag_id = winterforge.plugins.identity.frag_id_resolver:FragIdResolver
30
- slug = winterforge.plugins.identity.slug_resolver:SlugResolver
31
- username = winterforge.plugins.identity.username_resolver:UsernameIdentityResolver
32
- uuid = winterforge.plugins.identity.uuid_resolver:UuidResolver
33
-
34
- [winterforge.materials]
35
- manager = winterforge.materials.manager:Manager
36
- registry = winterforge.materials.registry:Registry
37
-
38
- [winterforge.storage_backends]
39
- postgresql = winterforge.plugins.storage.postgresql:PostgreSQLStorageBackend
40
- sqlite = winterforge.plugins.storage.sqlite:SQLiteStorageBackend
41
- yaml = winterforge.plugins.storage.yaml:YamlStorageBackend
File without changes
File without changes