GeneralManager 0.56.0__tar.gz → 0.57.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 (329) hide show
  1. {generalmanager-0.56.0/src/GeneralManager.egg-info → generalmanager-0.57.0}/PKG-INFO +10 -1
  2. {generalmanager-0.56.0 → generalmanager-0.57.0}/pyproject.toml +9 -1
  3. {generalmanager-0.56.0 → generalmanager-0.57.0/src/GeneralManager.egg-info}/PKG-INFO +10 -1
  4. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/GeneralManager.egg-info/SOURCES.txt +43 -0
  5. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/GeneralManager.egg-info/requires.txt +13 -0
  6. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/__init__.py +3 -3
  7. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/api.py +7 -1
  8. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/bucket.py +7 -9
  9. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/cache.py +7 -1
  10. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/general_manager.py +26 -2
  11. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/manager.py +4 -0
  12. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/permission.py +6 -0
  13. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/rule.py +4 -2
  14. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/utils.py +2 -0
  15. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/__init__.py +2 -2
  16. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql.py +282 -148
  17. generalmanager-0.57.0/src/general_manager/api/graphql_errors.py +588 -0
  18. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_mutations.py +172 -53
  19. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_prefetch.py +81 -17
  20. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_resolvers.py +252 -75
  21. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_search.py +209 -53
  22. generalmanager-0.57.0/src/general_manager/api/graphql_subscription_consumer.py +649 -0
  23. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_subscriptions.py +66 -19
  24. generalmanager-0.57.0/src/general_manager/api/graphql_view.py +234 -0
  25. generalmanager-0.57.0/src/general_manager/api/graphql_warmup.py +544 -0
  26. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/graphql_warmup_registry.py +154 -31
  27. generalmanager-0.57.0/src/general_manager/api/graphql_warmup_tasks.py +451 -0
  28. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/mutation.py +109 -38
  29. generalmanager-0.57.0/src/general_manager/api/property.py +354 -0
  30. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/registry.py +15 -7
  31. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/remote_api.py +221 -42
  32. generalmanager-0.57.0/src/general_manager/api/remote_invalidation.py +498 -0
  33. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/api/remote_invalidation_client.py +98 -13
  34. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/apps.py +129 -19
  35. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bootstrap.py +177 -61
  36. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/__init__.py +3 -3
  37. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/base_bucket.py +108 -20
  38. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/calculation_bucket.py +140 -53
  39. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/database_bucket.py +198 -86
  40. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/group_bucket.py +70 -32
  41. generalmanager-0.57.0/src/general_manager/bucket/indexing.py +367 -0
  42. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/bucket/request_bucket.py +215 -59
  43. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/__init__.py +3 -3
  44. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/cache_decorator.py +53 -51
  45. generalmanager-0.57.0/src/general_manager/cache/cache_tracker.py +154 -0
  46. generalmanager-0.57.0/src/general_manager/cache/dependency_cache.py +287 -0
  47. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/dependency_index.py +187 -39
  48. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/dependency_matching.py +81 -30
  49. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/dependency_publish.py +93 -11
  50. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/dependency_shards.py +261 -32
  51. generalmanager-0.57.0/src/general_manager/cache/model_dependency_collector.py +170 -0
  52. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/run_context.py +160 -33
  53. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/cache/signals.py +52 -6
  54. generalmanager-0.57.0/src/general_manager/chat/__init__.py +6 -0
  55. generalmanager-0.57.0/src/general_manager/chat/audit.py +84 -0
  56. generalmanager-0.57.0/src/general_manager/chat/bootstrap.py +141 -0
  57. generalmanager-0.57.0/src/general_manager/chat/checks.py +45 -0
  58. generalmanager-0.57.0/src/general_manager/chat/consumer.py +911 -0
  59. generalmanager-0.57.0/src/general_manager/chat/errors.py +23 -0
  60. generalmanager-0.57.0/src/general_manager/chat/evals/__init__.py +1 -0
  61. generalmanager-0.57.0/src/general_manager/chat/evals/__main__.py +166 -0
  62. generalmanager-0.57.0/src/general_manager/chat/evals/baseline.py +114 -0
  63. generalmanager-0.57.0/src/general_manager/chat/evals/diagnostics.py +259 -0
  64. generalmanager-0.57.0/src/general_manager/chat/evals/fingerprints.py +45 -0
  65. generalmanager-0.57.0/src/general_manager/chat/evals/fixtures.py +382 -0
  66. generalmanager-0.57.0/src/general_manager/chat/evals/judges/__init__.py +29 -0
  67. generalmanager-0.57.0/src/general_manager/chat/evals/judges/answer_quality.py +52 -0
  68. generalmanager-0.57.0/src/general_manager/chat/evals/judges/contract.py +429 -0
  69. generalmanager-0.57.0/src/general_manager/chat/evals/judges/result_accuracy.py +60 -0
  70. generalmanager-0.57.0/src/general_manager/chat/evals/judges/tool_sequence.py +103 -0
  71. generalmanager-0.57.0/src/general_manager/chat/evals/readiness.py +241 -0
  72. generalmanager-0.57.0/src/general_manager/chat/evals/runner.py +3111 -0
  73. generalmanager-0.57.0/src/general_manager/chat/evals/traces.py +26 -0
  74. generalmanager-0.57.0/src/general_manager/chat/grounding.py +130 -0
  75. generalmanager-0.57.0/src/general_manager/chat/models.py +315 -0
  76. generalmanager-0.57.0/src/general_manager/chat/providers/__init__.py +24 -0
  77. generalmanager-0.57.0/src/general_manager/chat/providers/_shared.py +82 -0
  78. generalmanager-0.57.0/src/general_manager/chat/providers/anthropic.py +175 -0
  79. generalmanager-0.57.0/src/general_manager/chat/providers/base.py +70 -0
  80. generalmanager-0.57.0/src/general_manager/chat/providers/google.py +130 -0
  81. generalmanager-0.57.0/src/general_manager/chat/providers/ollama.py +149 -0
  82. generalmanager-0.57.0/src/general_manager/chat/providers/openai.py +149 -0
  83. generalmanager-0.57.0/src/general_manager/chat/rate_limits.py +143 -0
  84. generalmanager-0.57.0/src/general_manager/chat/routing.py +36 -0
  85. generalmanager-0.57.0/src/general_manager/chat/schema_index.py +275 -0
  86. generalmanager-0.57.0/src/general_manager/chat/settings.py +236 -0
  87. generalmanager-0.57.0/src/general_manager/chat/signals.py +45 -0
  88. generalmanager-0.57.0/src/general_manager/chat/system_prompt.py +275 -0
  89. generalmanager-0.57.0/src/general_manager/chat/tool_metadata.py +184 -0
  90. generalmanager-0.57.0/src/general_manager/chat/tools.py +666 -0
  91. generalmanager-0.57.0/src/general_manager/chat/views.py +762 -0
  92. generalmanager-0.57.0/src/general_manager/conf.py +43 -0
  93. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/factory/__init__.py +3 -3
  94. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/factory/auto_factory.py +130 -49
  95. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/factory/factories.py +169 -71
  96. generalmanager-0.57.0/src/general_manager/factory/factory_methods.py +386 -0
  97. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/__init__.py +3 -3
  98. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/base_interface.py +149 -79
  99. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/bundles/calculation.py +1 -1
  100. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/bundles/database.py +4 -4
  101. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/bundles/remote_manager.py +1 -1
  102. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/bundles/request.py +3 -3
  103. generalmanager-0.57.0/src/general_manager/interface/capabilities/base.py +86 -0
  104. generalmanager-0.57.0/src/general_manager/interface/capabilities/builtin.py +176 -0
  105. generalmanager-0.57.0/src/general_manager/interface/capabilities/calculation/_compat.py +48 -0
  106. generalmanager-0.57.0/src/general_manager/interface/capabilities/calculation/lifecycle.py +369 -0
  107. generalmanager-0.57.0/src/general_manager/interface/capabilities/configuration.py +153 -0
  108. generalmanager-0.57.0/src/general_manager/interface/capabilities/core/observability.py +226 -0
  109. generalmanager-0.57.0/src/general_manager/interface/capabilities/core/utils.py +139 -0
  110. generalmanager-0.57.0/src/general_manager/interface/capabilities/exceptions.py +34 -0
  111. generalmanager-0.57.0/src/general_manager/interface/capabilities/existing_model/_compat.py +38 -0
  112. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/existing_model/resolution.py +101 -51
  113. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/factory.py +23 -9
  114. generalmanager-0.57.0/src/general_manager/interface/capabilities/orm/_compat.py +65 -0
  115. generalmanager-0.57.0/src/general_manager/interface/capabilities/orm/history.py +280 -0
  116. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm/lifecycle.py +72 -46
  117. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm/mutations.py +168 -73
  118. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm/support.py +153 -92
  119. generalmanager-0.57.0/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +166 -0
  120. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +160 -65
  121. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +67 -33
  122. generalmanager-0.57.0/src/general_manager/interface/capabilities/read_only/__init__.py +125 -0
  123. generalmanager-0.57.0/src/general_manager/interface/capabilities/read_only/_compat.py +85 -0
  124. generalmanager-0.57.0/src/general_manager/interface/capabilities/read_only/_types.py +96 -0
  125. generalmanager-0.57.0/src/general_manager/interface/capabilities/read_only/lifecycle.py +119 -0
  126. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/read_only/management.py +197 -81
  127. generalmanager-0.57.0/src/general_manager/interface/capabilities/registry.py +140 -0
  128. generalmanager-0.57.0/src/general_manager/interface/capabilities/remote_manager.py +318 -0
  129. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/request/__init__.py +249 -79
  130. generalmanager-0.57.0/src/general_manager/interface/infrastructure/startup_hooks.py +186 -0
  131. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/infrastructure/system_checks.py +15 -10
  132. generalmanager-0.57.0/src/general_manager/interface/interfaces/calculation.py +50 -0
  133. generalmanager-0.57.0/src/general_manager/interface/interfaces/database.py +43 -0
  134. generalmanager-0.57.0/src/general_manager/interface/interfaces/existing_model.py +165 -0
  135. generalmanager-0.57.0/src/general_manager/interface/interfaces/read_only.py +68 -0
  136. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/interfaces/remote_manager.py +101 -13
  137. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/interfaces/request.py +163 -28
  138. generalmanager-0.57.0/src/general_manager/interface/manifests/capability_builder.py +279 -0
  139. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/manifests/capability_manifest.py +45 -25
  140. generalmanager-0.57.0/src/general_manager/interface/manifests/capability_models.py +130 -0
  141. generalmanager-0.57.0/src/general_manager/interface/orm_interface.py +187 -0
  142. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/requests.py +347 -108
  143. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/utils/database_interface_protocols.py +25 -24
  144. generalmanager-0.57.0/src/general_manager/interface/utils/errors.py +228 -0
  145. generalmanager-0.57.0/src/general_manager/interface/utils/models.py +256 -0
  146. generalmanager-0.57.0/src/general_manager/logging.py +230 -0
  147. generalmanager-0.57.0/src/general_manager/management/commands/chat_cleanup.py +27 -0
  148. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/management/commands/graphql_warmup.py +20 -9
  149. generalmanager-0.57.0/src/general_manager/management/commands/graphql_warmup_refresh_due.py +108 -0
  150. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/management/commands/search_index.py +39 -6
  151. generalmanager-0.57.0/src/general_manager/management/commands/search_reconcile.py +145 -0
  152. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/management/commands/seed_manager_landscape.py +113 -16
  153. generalmanager-0.57.0/src/general_manager/management/commands/shell.py +62 -0
  154. generalmanager-0.57.0/src/general_manager/management/commands/workflow_drain_outbox.py +46 -0
  155. generalmanager-0.57.0/src/general_manager/management/commands/workflow_replay_dead_letters.py +119 -0
  156. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/manager/__init__.py +3 -3
  157. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/manager/general_manager.py +135 -45
  158. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/manager/group_manager.py +89 -43
  159. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/manager/input.py +214 -77
  160. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/manager/meta.py +192 -43
  161. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/measurement/__init__.py +3 -3
  162. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/measurement/measurement.py +374 -101
  163. generalmanager-0.57.0/src/general_manager/measurement/measurement_field.py +705 -0
  164. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/metrics/graphql.py +260 -49
  165. generalmanager-0.57.0/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +45 -0
  166. generalmanager-0.57.0/src/general_manager/migrations/0004_chat_persistence_models.py +158 -0
  167. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/migrations/0004_search_index_state.py +27 -1
  168. generalmanager-0.57.0/src/general_manager/migrations/0005_merge_chat_search.py +14 -0
  169. generalmanager-0.57.0/src/general_manager/migrations/0006_chat_pending_confirmation_scoped_ids.py +25 -0
  170. generalmanager-0.57.0/src/general_manager/models.py +34 -0
  171. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/permission/__init__.py +3 -3
  172. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/permission/audit.py +170 -58
  173. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/permission/base_permission.py +140 -40
  174. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/permission/graphql_capabilities.py +100 -35
  175. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/permission/manager_based_permission.py +51 -25
  176. generalmanager-0.57.0/src/general_manager/permission/mutation_permission.py +249 -0
  177. generalmanager-0.57.0/src/general_manager/permission/permission_checks.py +320 -0
  178. generalmanager-0.57.0/src/general_manager/permission/permission_data_manager.py +128 -0
  179. generalmanager-0.57.0/src/general_manager/permission/utils.py +79 -0
  180. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/public_api_registry.py +45 -0
  181. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/rule/__init__.py +6 -3
  182. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/rule/handler.py +168 -93
  183. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/rule/rule.py +164 -13
  184. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/__init__.py +1 -3
  185. generalmanager-0.57.0/src/general_manager/search/async_tasks.py +217 -0
  186. generalmanager-0.57.0/src/general_manager/search/backend.py +316 -0
  187. generalmanager-0.57.0/src/general_manager/search/backend_registry.py +160 -0
  188. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/backends/dev.py +83 -20
  189. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/backends/meilisearch.py +298 -81
  190. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/backends/opensearch.py +19 -7
  191. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/backends/typesense.py +19 -7
  192. generalmanager-0.57.0/src/general_manager/search/config.py +231 -0
  193. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/indexer.py +91 -16
  194. generalmanager-0.57.0/src/general_manager/search/models.py +153 -0
  195. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/reconciliation.py +133 -13
  196. generalmanager-0.57.0/src/general_manager/search/registry.py +284 -0
  197. generalmanager-0.57.0/src/general_manager/search/tasks.py +208 -0
  198. generalmanager-0.57.0/src/general_manager/search/utils.py +174 -0
  199. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/seeding/manager_landscape.py +132 -30
  200. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/utils/__init__.py +3 -3
  201. generalmanager-0.57.0/src/general_manager/utils/args_to_kwargs.py +76 -0
  202. generalmanager-0.57.0/src/general_manager/utils/filter_parser.py +319 -0
  203. generalmanager-0.57.0/src/general_manager/utils/format_string.py +86 -0
  204. generalmanager-0.57.0/src/general_manager/utils/json_encoder.py +35 -0
  205. generalmanager-0.57.0/src/general_manager/utils/make_cache_key.py +43 -0
  206. generalmanager-0.57.0/src/general_manager/utils/none_to_zero.py +29 -0
  207. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/utils/path_mapping.py +108 -30
  208. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/utils/public_api.py +15 -8
  209. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/utils/testing.py +120 -52
  210. generalmanager-0.57.0/src/general_manager/utils/type_checks.py +35 -0
  211. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/__init__.py +6 -0
  212. generalmanager-0.57.0/src/general_manager/workflow/actions.py +121 -0
  213. generalmanager-0.57.0/src/general_manager/workflow/backend_registry.py +154 -0
  214. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/backends/celery.py +166 -19
  215. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/backends/local.py +55 -15
  216. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/backends/n8n.py +21 -6
  217. generalmanager-0.57.0/src/general_manager/workflow/config.py +182 -0
  218. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/engine.py +49 -17
  219. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/event_registry.py +318 -47
  220. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/events.py +39 -16
  221. generalmanager-0.57.0/src/general_manager/workflow/models.py +220 -0
  222. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/signal_bridge.py +46 -21
  223. generalmanager-0.57.0/src/general_manager/workflow/tasks.py +442 -0
  224. generalmanager-0.57.0/src/general_manager/workflow/telemetry.py +312 -0
  225. generalmanager-0.56.0/src/general_manager/api/graphql_errors.py +0 -314
  226. generalmanager-0.56.0/src/general_manager/api/graphql_subscription_consumer.py +0 -439
  227. generalmanager-0.56.0/src/general_manager/api/graphql_view.py +0 -123
  228. generalmanager-0.56.0/src/general_manager/api/graphql_warmup.py +0 -302
  229. generalmanager-0.56.0/src/general_manager/api/graphql_warmup_tasks.py +0 -189
  230. generalmanager-0.56.0/src/general_manager/api/property.py +0 -250
  231. generalmanager-0.56.0/src/general_manager/api/remote_invalidation.py +0 -308
  232. generalmanager-0.56.0/src/general_manager/bucket/indexing.py +0 -184
  233. generalmanager-0.56.0/src/general_manager/cache/cache_tracker.py +0 -93
  234. generalmanager-0.56.0/src/general_manager/cache/dependency_cache.py +0 -164
  235. generalmanager-0.56.0/src/general_manager/cache/model_dependency_collector.py +0 -76
  236. generalmanager-0.56.0/src/general_manager/conf.py +0 -41
  237. generalmanager-0.56.0/src/general_manager/factory/factory_methods.py +0 -236
  238. generalmanager-0.56.0/src/general_manager/interface/capabilities/base.py +0 -56
  239. generalmanager-0.56.0/src/general_manager/interface/capabilities/builtin.py +0 -116
  240. generalmanager-0.56.0/src/general_manager/interface/capabilities/calculation/_compat.py +0 -22
  241. generalmanager-0.56.0/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -345
  242. generalmanager-0.56.0/src/general_manager/interface/capabilities/configuration.py +0 -99
  243. generalmanager-0.56.0/src/general_manager/interface/capabilities/core/observability.py +0 -161
  244. generalmanager-0.56.0/src/general_manager/interface/capabilities/core/utils.py +0 -67
  245. generalmanager-0.56.0/src/general_manager/interface/capabilities/exceptions.py +0 -16
  246. generalmanager-0.56.0/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -17
  247. generalmanager-0.56.0/src/general_manager/interface/capabilities/orm/_compat.py +0 -34
  248. generalmanager-0.56.0/src/general_manager/interface/capabilities/orm/history.py +0 -213
  249. generalmanager-0.56.0/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -104
  250. generalmanager-0.56.0/src/general_manager/interface/capabilities/read_only/__init__.py +0 -20
  251. generalmanager-0.56.0/src/general_manager/interface/capabilities/read_only/_compat.py +0 -17
  252. generalmanager-0.56.0/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -82
  253. generalmanager-0.56.0/src/general_manager/interface/capabilities/registry.py +0 -94
  254. generalmanager-0.56.0/src/general_manager/interface/capabilities/remote_manager.py +0 -179
  255. generalmanager-0.56.0/src/general_manager/interface/infrastructure/startup_hooks.py +0 -162
  256. generalmanager-0.56.0/src/general_manager/interface/interfaces/calculation.py +0 -24
  257. generalmanager-0.56.0/src/general_manager/interface/interfaces/database.py +0 -29
  258. generalmanager-0.56.0/src/general_manager/interface/interfaces/existing_model.py +0 -87
  259. generalmanager-0.56.0/src/general_manager/interface/interfaces/read_only.py +0 -24
  260. generalmanager-0.56.0/src/general_manager/interface/manifests/capability_builder.py +0 -185
  261. generalmanager-0.56.0/src/general_manager/interface/manifests/capability_models.py +0 -80
  262. generalmanager-0.56.0/src/general_manager/interface/orm_interface.py +0 -137
  263. generalmanager-0.56.0/src/general_manager/interface/utils/errors.py +0 -212
  264. generalmanager-0.56.0/src/general_manager/interface/utils/models.py +0 -135
  265. generalmanager-0.56.0/src/general_manager/logging.py +0 -133
  266. generalmanager-0.56.0/src/general_manager/management/commands/graphql_warmup_refresh_due.py +0 -32
  267. generalmanager-0.56.0/src/general_manager/management/commands/search_reconcile.py +0 -85
  268. generalmanager-0.56.0/src/general_manager/management/commands/shell.py +0 -41
  269. generalmanager-0.56.0/src/general_manager/management/commands/workflow_drain_outbox.py +0 -16
  270. generalmanager-0.56.0/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -37
  271. generalmanager-0.56.0/src/general_manager/measurement/measurement_field.py +0 -520
  272. generalmanager-0.56.0/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -22
  273. generalmanager-0.56.0/src/general_manager/models.py +0 -17
  274. generalmanager-0.56.0/src/general_manager/permission/mutation_permission.py +0 -196
  275. generalmanager-0.56.0/src/general_manager/permission/permission_checks.py +0 -238
  276. generalmanager-0.56.0/src/general_manager/permission/permission_data_manager.py +0 -97
  277. generalmanager-0.56.0/src/general_manager/permission/utils.py +0 -74
  278. generalmanager-0.56.0/src/general_manager/search/async_tasks.py +0 -141
  279. generalmanager-0.56.0/src/general_manager/search/backend.py +0 -205
  280. generalmanager-0.56.0/src/general_manager/search/backend_registry.py +0 -117
  281. generalmanager-0.56.0/src/general_manager/search/config.py +0 -185
  282. generalmanager-0.56.0/src/general_manager/search/models.py +0 -90
  283. generalmanager-0.56.0/src/general_manager/search/registry.py +0 -208
  284. generalmanager-0.56.0/src/general_manager/search/tasks.py +0 -108
  285. generalmanager-0.56.0/src/general_manager/search/utils.py +0 -101
  286. generalmanager-0.56.0/src/general_manager/utils/args_to_kwargs.py +0 -58
  287. generalmanager-0.56.0/src/general_manager/utils/filter_parser.py +0 -165
  288. generalmanager-0.56.0/src/general_manager/utils/format_string.py +0 -63
  289. generalmanager-0.56.0/src/general_manager/utils/json_encoder.py +0 -32
  290. generalmanager-0.56.0/src/general_manager/utils/make_cache_key.py +0 -39
  291. generalmanager-0.56.0/src/general_manager/utils/none_to_zero.py +0 -23
  292. generalmanager-0.56.0/src/general_manager/utils/type_checks.py +0 -8
  293. generalmanager-0.56.0/src/general_manager/workflow/actions.py +0 -76
  294. generalmanager-0.56.0/src/general_manager/workflow/backend_registry.py +0 -84
  295. generalmanager-0.56.0/src/general_manager/workflow/config.py +0 -152
  296. generalmanager-0.56.0/src/general_manager/workflow/models.py +0 -146
  297. generalmanager-0.56.0/src/general_manager/workflow/tasks.py +0 -244
  298. generalmanager-0.56.0/src/general_manager/workflow/telemetry.py +0 -110
  299. {generalmanager-0.56.0 → generalmanager-0.57.0}/LICENSE +0 -0
  300. {generalmanager-0.56.0 → generalmanager-0.57.0}/README.md +0 -0
  301. {generalmanager-0.56.0 → generalmanager-0.57.0}/setup.cfg +0 -0
  302. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
  303. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/GeneralManager.egg-info/top_level.txt +0 -0
  304. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/__init__.py +0 -0
  305. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/factory.py +2 -2
  306. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/interface.py +2 -2
  307. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/measurement.py +2 -2
  308. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/_types/search.py +2 -2
  309. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/bundles/__init__.py +0 -0
  310. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/__init__.py +0 -0
  311. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
  312. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
  313. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
  314. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
  315. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/infrastructure/__init__.py +0 -0
  316. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/interfaces/__init__.py +0 -0
  317. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/manifests/__init__.py +0 -0
  318. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/interface/utils/__init__.py +0 -0
  319. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/metrics/__init__.py +0 -0
  320. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/migrations/0001_initial.py +0 -0
  321. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
  322. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/migrations/__init__.py +0 -0
  323. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/py.typed +0 -0
  324. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/search/backends/__init__.py +0 -0
  325. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/seeding/__init__.py +0 -0
  326. {generalmanager-0.56.0 → generalmanager-0.57.0}/src/general_manager/workflow/backends/__init__.py +0 -0
  327. {generalmanager-0.56.0 → generalmanager-0.57.0}/tests/test_settings.py +0 -0
  328. {generalmanager-0.56.0 → generalmanager-0.57.0}/tests/test_urls.py +0 -0
  329. {generalmanager-0.56.0 → generalmanager-0.57.0}/tests/testing_asgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GeneralManager
3
- Version: 0.56.0
3
+ Version: 0.57.0
4
4
  Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
5
5
  Author-email: Tim Kleindick <tkleindick@yahoo.de>
6
6
  License: MIT License
@@ -65,12 +65,21 @@ Requires-Dist: Pint>=0.24.4
65
65
  Requires-Dist: platformdirs>=4.3.7
66
66
  Requires-Dist: promise>=2.3
67
67
  Requires-Dist: python-dateutil>=2.9.0.post0
68
+ Requires-Dist: PyYAML>=6.0.3
68
69
  Requires-Dist: six>=1.17.0
69
70
  Requires-Dist: smmap>=5.0.2
70
71
  Requires-Dist: sqlparse>=0.5.4
71
72
  Requires-Dist: text-unidecode>=1.3
72
73
  Requires-Dist: typing_extensions>=4.13.2
73
74
  Requires-Dist: tzdata>=2025.2
75
+ Provides-Extra: chat-ollama
76
+ Requires-Dist: ollama>=0.6.0; extra == "chat-ollama"
77
+ Provides-Extra: chat-openai
78
+ Requires-Dist: openai>=1.0.0; extra == "chat-openai"
79
+ Provides-Extra: chat-anthropic
80
+ Requires-Dist: anthropic>=0.34.0; extra == "chat-anthropic"
81
+ Provides-Extra: chat-google
82
+ Requires-Dist: google-genai>=1.0.0; extra == "chat-google"
74
83
  Dynamic: license-file
75
84
 
76
85
  # GeneralManager
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "GeneralManager"
7
- version = "0.56.0"
7
+ version = "0.57.0"
8
8
  description = "Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching."
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Tim Kleindick", email = "tkleindick@yahoo.de" }]
@@ -53,6 +53,7 @@ dependencies = [
53
53
  "platformdirs>=4.3.7",
54
54
  "promise>=2.3",
55
55
  "python-dateutil>=2.9.0.post0",
56
+ "PyYAML>=6.0.3",
56
57
  "six>=1.17.0",
57
58
  "smmap>=5.0.2",
58
59
  "sqlparse>=0.5.4",
@@ -68,6 +69,12 @@ Repository = "https://github.com/TimKleindick/general_manager"
68
69
  Issues = "https://github.com/TimKleindick/general_manager/issues"
69
70
  Changelog = "https://github.com/TimKleindick/general_manager/releases"
70
71
 
72
+ [project.optional-dependencies]
73
+ chat-ollama = ["ollama>=0.6.0"]
74
+ chat-openai = ["openai>=1.0.0"]
75
+ chat-anthropic = ["anthropic>=0.34.0"]
76
+ chat-google = ["google-genai>=1.0.0"]
77
+
71
78
  [tool.setuptools]
72
79
  include-package-data = true
73
80
 
@@ -139,6 +146,7 @@ docstring-code-format = true
139
146
 
140
147
  [tool.mypy]
141
148
  python_version = "3.12"
149
+ strict = true
142
150
  explicit_package_bases = true
143
151
  namespace_packages = true
144
152
  mypy_path = ["src"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GeneralManager
3
- Version: 0.56.0
3
+ Version: 0.57.0
4
4
  Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
5
5
  Author-email: Tim Kleindick <tkleindick@yahoo.de>
6
6
  License: MIT License
@@ -65,12 +65,21 @@ Requires-Dist: Pint>=0.24.4
65
65
  Requires-Dist: platformdirs>=4.3.7
66
66
  Requires-Dist: promise>=2.3
67
67
  Requires-Dist: python-dateutil>=2.9.0.post0
68
+ Requires-Dist: PyYAML>=6.0.3
68
69
  Requires-Dist: six>=1.17.0
69
70
  Requires-Dist: smmap>=5.0.2
70
71
  Requires-Dist: sqlparse>=0.5.4
71
72
  Requires-Dist: text-unidecode>=1.3
72
73
  Requires-Dist: typing_extensions>=4.13.2
73
74
  Requires-Dist: tzdata>=2025.2
75
+ Provides-Extra: chat-ollama
76
+ Requires-Dist: ollama>=0.6.0; extra == "chat-ollama"
77
+ Provides-Extra: chat-openai
78
+ Requires-Dist: openai>=1.0.0; extra == "chat-openai"
79
+ Provides-Extra: chat-anthropic
80
+ Requires-Dist: anthropic>=0.34.0; extra == "chat-anthropic"
81
+ Provides-Extra: chat-google
82
+ Requires-Dist: google-genai>=1.0.0; extra == "chat-google"
74
83
  Dynamic: license-file
75
84
 
76
85
  # GeneralManager
@@ -64,6 +64,44 @@ src/general_manager/cache/dependency_shards.py
64
64
  src/general_manager/cache/model_dependency_collector.py
65
65
  src/general_manager/cache/run_context.py
66
66
  src/general_manager/cache/signals.py
67
+ src/general_manager/chat/__init__.py
68
+ src/general_manager/chat/audit.py
69
+ src/general_manager/chat/bootstrap.py
70
+ src/general_manager/chat/checks.py
71
+ src/general_manager/chat/consumer.py
72
+ src/general_manager/chat/errors.py
73
+ src/general_manager/chat/grounding.py
74
+ src/general_manager/chat/models.py
75
+ src/general_manager/chat/rate_limits.py
76
+ src/general_manager/chat/routing.py
77
+ src/general_manager/chat/schema_index.py
78
+ src/general_manager/chat/settings.py
79
+ src/general_manager/chat/signals.py
80
+ src/general_manager/chat/system_prompt.py
81
+ src/general_manager/chat/tool_metadata.py
82
+ src/general_manager/chat/tools.py
83
+ src/general_manager/chat/views.py
84
+ src/general_manager/chat/evals/__init__.py
85
+ src/general_manager/chat/evals/__main__.py
86
+ src/general_manager/chat/evals/baseline.py
87
+ src/general_manager/chat/evals/diagnostics.py
88
+ src/general_manager/chat/evals/fingerprints.py
89
+ src/general_manager/chat/evals/fixtures.py
90
+ src/general_manager/chat/evals/readiness.py
91
+ src/general_manager/chat/evals/runner.py
92
+ src/general_manager/chat/evals/traces.py
93
+ src/general_manager/chat/evals/judges/__init__.py
94
+ src/general_manager/chat/evals/judges/answer_quality.py
95
+ src/general_manager/chat/evals/judges/contract.py
96
+ src/general_manager/chat/evals/judges/result_accuracy.py
97
+ src/general_manager/chat/evals/judges/tool_sequence.py
98
+ src/general_manager/chat/providers/__init__.py
99
+ src/general_manager/chat/providers/_shared.py
100
+ src/general_manager/chat/providers/anthropic.py
101
+ src/general_manager/chat/providers/base.py
102
+ src/general_manager/chat/providers/google.py
103
+ src/general_manager/chat/providers/ollama.py
104
+ src/general_manager/chat/providers/openai.py
67
105
  src/general_manager/factory/__init__.py
68
106
  src/general_manager/factory/auto_factory.py
69
107
  src/general_manager/factory/factories.py
@@ -105,6 +143,7 @@ src/general_manager/interface/capabilities/orm_utils/field_descriptors.py
105
143
  src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py
106
144
  src/general_manager/interface/capabilities/read_only/__init__.py
107
145
  src/general_manager/interface/capabilities/read_only/_compat.py
146
+ src/general_manager/interface/capabilities/read_only/_types.py
108
147
  src/general_manager/interface/capabilities/read_only/lifecycle.py
109
148
  src/general_manager/interface/capabilities/read_only/management.py
110
149
  src/general_manager/interface/capabilities/request/__init__.py
@@ -126,6 +165,7 @@ src/general_manager/interface/utils/__init__.py
126
165
  src/general_manager/interface/utils/database_interface_protocols.py
127
166
  src/general_manager/interface/utils/errors.py
128
167
  src/general_manager/interface/utils/models.py
168
+ src/general_manager/management/commands/chat_cleanup.py
129
169
  src/general_manager/management/commands/graphql_warmup.py
130
170
  src/general_manager/management/commands/graphql_warmup_refresh_due.py
131
171
  src/general_manager/management/commands/search_index.py
@@ -147,7 +187,10 @@ src/general_manager/metrics/graphql.py
147
187
  src/general_manager/migrations/0001_initial.py
148
188
  src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py
149
189
  src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py
190
+ src/general_manager/migrations/0004_chat_persistence_models.py
150
191
  src/general_manager/migrations/0004_search_index_state.py
192
+ src/general_manager/migrations/0005_merge_chat_search.py
193
+ src/general_manager/migrations/0006_chat_pending_confirmation_scoped_ids.py
151
194
  src/general_manager/migrations/__init__.py
152
195
  src/general_manager/permission/__init__.py
153
196
  src/general_manager/permission/audit.py
@@ -19,9 +19,22 @@ Pint>=0.24.4
19
19
  platformdirs>=4.3.7
20
20
  promise>=2.3
21
21
  python-dateutil>=2.9.0.post0
22
+ PyYAML>=6.0.3
22
23
  six>=1.17.0
23
24
  smmap>=5.0.2
24
25
  sqlparse>=0.5.4
25
26
  text-unidecode>=1.3
26
27
  typing_extensions>=4.13.2
27
28
  tzdata>=2025.2
29
+
30
+ [chat-anthropic]
31
+ anthropic>=0.34.0
32
+
33
+ [chat-google]
34
+ google-genai>=1.0.0
35
+
36
+ [chat-ollama]
37
+ ollama>=0.6.0
38
+
39
+ [chat-openai]
40
+ openai>=1.0.0
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import TYPE_CHECKING, Any
5
+ from typing import TYPE_CHECKING
6
6
 
7
7
  from general_manager.public_api_registry import GENERAL_MANAGER_EXPORTS
8
8
  from general_manager.utils.public_api import build_module_dir, resolve_export
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
15
15
  from general_manager._types.general_manager import * # noqa: F403
16
16
 
17
17
 
18
- def __getattr__(name: str) -> Any:
18
+ def __getattr__(name: str) -> object:
19
19
  """
20
20
  Dynamically resolve and return a requested export when a module attribute is accessed but not defined.
21
21
 
@@ -23,7 +23,7 @@ def __getattr__(name: str) -> Any:
23
23
  name (str): The attribute name being accessed on the module.
24
24
 
25
25
  Returns:
26
- Any: The resolved export object or value corresponding to `name`.
26
+ The resolved export object or value corresponding to `name`.
27
27
  """
28
28
  return resolve_export(
29
29
  name,
@@ -4,6 +4,9 @@ from __future__ import annotations
4
4
 
5
5
  __all__ = [
6
6
  "GraphQL",
7
+ "GraphQLPropertyReturnAnnotationError",
8
+ "GraphQLPropertyTimeoutConfigurationError",
9
+ "GraphQLPropertyWarmUpConfigurationError",
7
10
  "MeasurementScalar",
8
11
  "MeasurementType",
9
12
  "RemoteInvalidationClient",
@@ -12,8 +15,11 @@ __all__ = [
12
15
  ]
13
16
 
14
17
  from general_manager.api.graphql import GraphQL
18
+ from general_manager.api.property import GraphQLPropertyReturnAnnotationError
19
+ from general_manager.api.property import GraphQLPropertyTimeoutConfigurationError
20
+ from general_manager.api.property import GraphQLPropertyWarmUpConfigurationError
15
21
  from general_manager.api.graphql import MeasurementScalar
16
22
  from general_manager.api.graphql import MeasurementType
23
+ from general_manager.api.remote_invalidation_client import RemoteInvalidationClient
17
24
  from general_manager.api.mutation import graph_ql_mutation
18
25
  from general_manager.api.property import graph_ql_property
19
- from general_manager.api.remote_invalidation_client import RemoteInvalidationClient
@@ -1,7 +1,7 @@
1
- from __future__ import annotations
2
-
3
1
  """Type-only imports for public API re-exports."""
4
2
 
3
+ from __future__ import annotations
4
+
5
5
  __all__ = [
6
6
  "Bucket",
7
7
  "BucketIndexTooLargeError",
@@ -16,14 +16,12 @@ __all__ = [
16
16
  ]
17
17
 
18
18
  from general_manager.bucket.base_bucket import Bucket
19
+ from general_manager.bucket.indexing import BucketIndexTooLargeError
19
20
  from general_manager.bucket.calculation_bucket import CalculationBucket
20
21
  from general_manager.bucket.database_bucket import DatabaseBucket
22
+ from general_manager.bucket.indexing import DuplicateBucketIndexKeyError
21
23
  from general_manager.bucket.group_bucket import GroupBucket
22
- from general_manager.bucket.indexing import (
23
- BucketIndexTooLargeError,
24
- DuplicateBucketIndexKeyError,
25
- MissingBucketIndexKeyError,
26
- UnhashableBucketIndexKeyError,
27
- UnsupportedBucketIndexKeySpecError,
28
- )
24
+ from general_manager.bucket.indexing import MissingBucketIndexKeyError
29
25
  from general_manager.bucket.request_bucket import RequestBucket
26
+ from general_manager.bucket.indexing import UnhashableBucketIndexKeyError
27
+ from general_manager.bucket.indexing import UnsupportedBucketIndexKeySpecError
@@ -5,21 +5,27 @@ from __future__ import annotations
5
5
  __all__ = [
6
6
  "CacheBackend",
7
7
  "CalculationRunContext",
8
+ "Dependency",
8
9
  "DependencyTracker",
9
10
  "cached",
10
11
  "current_calculation_run_context",
11
12
  "ensure_calculation_run_context",
12
13
  "invalidate_cache_key",
14
+ "parse_dependency_identifier",
13
15
  "record_dependencies",
14
16
  "remove_cache_key_from_index",
17
+ "serialize_dependency_identifier",
15
18
  ]
16
19
 
17
20
  from general_manager.cache.cache_decorator import CacheBackend
21
+ from general_manager.cache.run_context import CalculationRunContext
22
+ from general_manager.cache.dependency_index import Dependency
18
23
  from general_manager.cache.cache_tracker import DependencyTracker
19
24
  from general_manager.cache.cache_decorator import cached
20
- from general_manager.cache.run_context import CalculationRunContext
21
25
  from general_manager.cache.run_context import current_calculation_run_context
22
26
  from general_manager.cache.run_context import ensure_calculation_run_context
23
27
  from general_manager.cache.dependency_index import invalidate_cache_key
28
+ from general_manager.cache.dependency_index import parse_dependency_identifier
24
29
  from general_manager.cache.dependency_index import record_dependencies
25
30
  from general_manager.cache.dependency_index import remove_cache_key_from_index
31
+ from general_manager.cache.dependency_index import serialize_dependency_identifier
@@ -1,14 +1,16 @@
1
- from __future__ import annotations
2
-
3
1
  """Type-only imports for public API re-exports."""
4
2
 
3
+ from __future__ import annotations
4
+
5
5
  __all__ = [
6
6
  "AdditiveManagerPermission",
7
7
  "CalculationInterface",
8
8
  "DatabaseInterface",
9
9
  "ExistingModelInterface",
10
+ "FieldConfig",
10
11
  "GeneralManager",
11
12
  "GraphQL",
13
+ "IndexConfig",
12
14
  "Input",
13
15
  "ManagerBasedPermission",
14
16
  "OverrideManagerPermission",
@@ -16,11 +18,20 @@ __all__ = [
16
18
  "RemoteManagerInterface",
17
19
  "RequestInterface",
18
20
  "Rule",
21
+ "SearchBackend",
22
+ "SearchConfigProtocol",
23
+ "SearchConfigSpec",
24
+ "SearchIndexer",
25
+ "configure_search_backend",
26
+ "configure_search_backend_from_settings",
19
27
  "get_logger",
28
+ "get_search_backend",
20
29
  "graph_ql_mutation",
21
30
  "graph_ql_property",
31
+ "iter_index_names",
22
32
  "permission_functions",
23
33
  "register_permission",
34
+ "resolve_search_config",
24
35
  ]
25
36
 
26
37
  from general_manager.permission.manager_based_permission import (
@@ -29,8 +40,10 @@ from general_manager.permission.manager_based_permission import (
29
40
  from general_manager.interface.interfaces.calculation import CalculationInterface
30
41
  from general_manager.interface.interfaces.database import DatabaseInterface
31
42
  from general_manager.interface.interfaces.existing_model import ExistingModelInterface
43
+ from general_manager.search.config import FieldConfig
32
44
  from general_manager.manager.general_manager import GeneralManager
33
45
  from general_manager.api.graphql import GraphQL
46
+ from general_manager.search.config import IndexConfig
34
47
  from general_manager.manager.input import Input
35
48
  from general_manager.permission.manager_based_permission import ManagerBasedPermission
36
49
  from general_manager.permission.manager_based_permission import (
@@ -40,8 +53,19 @@ from general_manager.interface.interfaces.read_only import ReadOnlyInterface
40
53
  from general_manager.interface.interfaces.remote_manager import RemoteManagerInterface
41
54
  from general_manager.interface.interfaces.request import RequestInterface
42
55
  from general_manager.rule.rule import Rule
56
+ from general_manager.search.backend import SearchBackend
57
+ from general_manager.search.config import SearchConfigProtocol
58
+ from general_manager.search.config import SearchConfigSpec
59
+ from general_manager.search.indexer import SearchIndexer
60
+ from general_manager.search.backend_registry import configure_search_backend
61
+ from general_manager.search.backend_registry import (
62
+ configure_search_backend_from_settings,
63
+ )
43
64
  from general_manager.logging import get_logger
65
+ from general_manager.search.backend_registry import get_search_backend
44
66
  from general_manager.api.mutation import graph_ql_mutation
45
67
  from general_manager.api.property import graph_ql_property
68
+ from general_manager.search.config import iter_index_names
46
69
  from general_manager.permission.permission_checks import permission_functions
47
70
  from general_manager.permission.permission_checks import register_permission
71
+ from general_manager.search.config import resolve_search_config
@@ -10,6 +10,8 @@ __all__ = [
10
10
  "Input",
11
11
  "InputDomain",
12
12
  "NumericRangeDomain",
13
+ "TrustedOrmHydrationNotSupportedError",
14
+ "UnsupportedUnionOperandError",
13
15
  "graph_ql_property",
14
16
  ]
15
17
 
@@ -20,4 +22,6 @@ from general_manager.manager.group_manager import GroupManager
20
22
  from general_manager.manager.input import Input
21
23
  from general_manager.manager.input import InputDomain
22
24
  from general_manager.manager.input import NumericRangeDomain
25
+ from general_manager.manager.general_manager import TrustedOrmHydrationNotSupportedError
26
+ from general_manager.manager.general_manager import UnsupportedUnionOperandError
23
27
  from general_manager.api.property import graph_ql_property
@@ -10,10 +10,12 @@ __all__ = [
10
10
  "DatabaseAuditLogger",
11
11
  "FileAuditLogger",
12
12
  "GraphQLPermissionCapability",
13
+ "InvalidPermissionDataError",
13
14
  "ManagerBasedPermission",
14
15
  "MutationPermission",
15
16
  "OverrideManagerPermission",
16
17
  "PermissionAuditEvent",
18
+ "PermissionDataManager",
17
19
  "configure_audit_logger",
18
20
  "configure_audit_logger_from_settings",
19
21
  "mutation_capability",
@@ -32,12 +34,16 @@ from general_manager.permission.graphql_capabilities import CapabilityEvaluation
32
34
  from general_manager.permission.audit import DatabaseAuditLogger
33
35
  from general_manager.permission.audit import FileAuditLogger
34
36
  from general_manager.permission.graphql_capabilities import GraphQLPermissionCapability
37
+ from general_manager.permission.permission_data_manager import (
38
+ InvalidPermissionDataError,
39
+ )
35
40
  from general_manager.permission.manager_based_permission import ManagerBasedPermission
36
41
  from general_manager.permission.mutation_permission import MutationPermission
37
42
  from general_manager.permission.manager_based_permission import (
38
43
  OverrideManagerPermission,
39
44
  )
40
45
  from general_manager.permission.audit import PermissionAuditEvent
46
+ from general_manager.permission.permission_data_manager import PermissionDataManager
41
47
  from general_manager.permission.audit import configure_audit_logger
42
48
  from general_manager.permission.audit import configure_audit_logger_from_settings
43
49
  from general_manager.permission.graphql_capabilities import mutation_capability
@@ -1,11 +1,13 @@
1
- from __future__ import annotations
2
-
3
1
  """Type-only imports for public API re-exports."""
4
2
 
3
+ from __future__ import annotations
4
+
5
5
  __all__ = [
6
6
  "BaseRuleHandler",
7
+ "InvalidRuleHandlerConfigurationError",
7
8
  "Rule",
8
9
  ]
9
10
 
10
11
  from general_manager.rule.handler import BaseRuleHandler
12
+ from general_manager.rule.rule import InvalidRuleHandlerConfigurationError
11
13
  from general_manager.rule.rule import Rule
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  __all__ = [
6
6
  "CustomJSONEncoder",
7
7
  "PathMap",
8
+ "UnknownInputFieldError",
8
9
  "args_to_kwargs",
9
10
  "camel_to_snake",
10
11
  "create_filter_function",
@@ -18,6 +19,7 @@ __all__ = [
18
19
 
19
20
  from general_manager.utils.json_encoder import CustomJSONEncoder
20
21
  from general_manager.utils.path_mapping import PathMap
22
+ from general_manager.utils.filter_parser import UnknownInputFieldError
21
23
  from general_manager.utils.args_to_kwargs import args_to_kwargs
22
24
  from general_manager.utils.format_string import camel_to_snake
23
25
  from general_manager.utils.filter_parser import create_filter_function
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import TYPE_CHECKING, Any
5
+ from typing import TYPE_CHECKING
6
6
 
7
7
  from general_manager.public_api_registry import API_EXPORTS
8
8
  from general_manager.utils.public_api import build_module_dir, resolve_export
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
15
15
  from general_manager._types.api import * # noqa: F403
16
16
 
17
17
 
18
- def __getattr__(name: str) -> Any:
18
+ def __getattr__(name: str) -> object:
19
19
  """
20
20
  Dynamically resolve and return a named export from this module.
21
21