GeneralManager 0.86.3__tar.gz → 0.86.5__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.
- {generalmanager-0.86.3/src/GeneralManager.egg-info → generalmanager-0.86.5}/PKG-INFO +1 -1
- {generalmanager-0.86.3 → generalmanager-0.86.5}/pyproject.toml +1 -1
- {generalmanager-0.86.3 → generalmanager-0.86.5/src/GeneralManager.egg-info}/PKG-INFO +1 -1
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/requests.py +38 -3
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/manager_based_permission.py +32 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/permission_data_manager.py +5 -1
- {generalmanager-0.86.3 → generalmanager-0.86.5}/LICENSE +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/README.md +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/setup.cfg +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/GeneralManager.egg-info/SOURCES.txt +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/GeneralManager.egg-info/requires.txt +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/GeneralManager.egg-info/top_level.txt +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/api.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/cache.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/dataframes.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/factory.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/general_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/interface.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/measurement.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/permission.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/rule.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/search.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/utils.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_as_of.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_errors.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_groups.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_identifiers.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_mutations.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_ordering.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_output.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_prefetch.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_relations.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_resolvers.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_search.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_subscription_consumer.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_subscriptions.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_type.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_view.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_warmup.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_warmup_registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_warmup_tasks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/mutation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/notification_batching.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/property.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/remote_api.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/remote_invalidation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/remote_invalidation_client.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/apps.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/as_of.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bootstrap.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/_materialized_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/_ordering.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/base_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/calculation_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/database_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/excel_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/group_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/indexing.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/projection.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/request_bucket.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/_dependency_graph.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/batch_refresh.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/cache_decorator.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/cache_tracker.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/data_change_context.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_cache.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_index.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_matching.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_publish.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_shards.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/model_dependency_collector.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/run_context.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/run_context_lru.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/signals.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/transaction_barrier.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/audit.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/bootstrap.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/consumer.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/context.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/errors.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/__main__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/baseline.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/basic_queries.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/demo_readiness.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/edge_cases.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/follow_ups.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/large_schema.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/multi_hop.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/datasets/planned_orchestration.yaml +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/diagnostics.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/fingerprints.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/fixtures.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/answer_quality.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/contract.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/result_accuracy.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/tool_sequence.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/readiness.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/runner.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/traces.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/grounding.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/budget.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/calculations.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/catalog.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/config.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/events.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/evidence.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/planner.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/provider_calls.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/resolver.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/routing.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/scheduler.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/synthesis.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/validation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/_shared.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/anthropic.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/base.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/google.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/ollama.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/openai.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/rate_limits.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/routing.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/schema_index.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/settings.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/signals.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/system_prompt.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/tool_metadata.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/tools.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/turns.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/views.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/conf.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/dataframes/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/dataframes/measurements.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/factory/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/factory/auto_factory.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/factory/factories.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/factory/factory_methods.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/base_interface.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/calculation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/database.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/excel.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/remote_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/request.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/base.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/builtin.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/calculation/_compat.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/calculation/input_resolution.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/configuration.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/core/observability.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/core/utils.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/excel/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/exceptions.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/existing_model/resolution.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/factory.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/_compat.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/bulk.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/create_many.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/history.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/lifecycle.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/mutations.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm/support.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/orm_utils/update_state.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/read_only/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/read_only/_compat.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/read_only/_types.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/read_only/management.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/remote_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/request/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/excel.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/excel_store.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/excel_workbook.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/infrastructure/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/infrastructure/startup_hooks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/infrastructure/system_checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/calculation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/database.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/excel.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/existing_model.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/read_only.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/remote_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/interfaces/request.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/manifests/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/manifests/capability_builder.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/manifests/capability_manifest.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/manifests/capability_models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/orm_interface.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/utils/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/utils/database_interface_protocols.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/utils/errors.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/utils/history.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/utils/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/logging.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/chat_cleanup.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/cleanup_upload_intents.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/graphql_warmup.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/graphql_warmup_refresh_due.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/search_index.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/search_reconcile.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/seed_manager_landscape.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/shell.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/sync_read_only.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/workflow_drain_outbox.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/bulk_create.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/general_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/group_manager.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/input.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/manager/meta.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/measurement/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/measurement/measurement.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/measurement/measurement_field.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/metrics/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/metrics/graphql.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0001_initial.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0004_chat_persistence_models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0004_search_index_state.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0005_merge_chat_search.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0006_chat_pending_confirmation_scoped_ids.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0007_upload_intent.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0008_upload_finalization_versions.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0009_upload_cleanup_state.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0010_chat_pending_confirmation_portable_uniqueness.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0011_search_index_state_dirty_generation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/0012_chat_context_watermarks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/migrations/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/audit.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/base_permission.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/graphql_capabilities.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/mutation_permission.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/permission_checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/permission/utils.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/public_api_registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/py.typed +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/rule/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/rule/handler.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/rule/rule.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/async_tasks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backend.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backend_registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backends/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backends/dev.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backends/meilisearch.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backends/opensearch.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/backends/typesense.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/config.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/identity.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/indexer.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/invalidation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/m2m_invalidation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/reconciliation.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/tasks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/search/utils.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/seeding/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/seeding/manager_landscape.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/adapters.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/config.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/errors.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/finalization.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/graphql.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/graphql_types.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/metrics.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/public.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/s3.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/services.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/tokens.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/types.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/urls.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/uploads/views.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/_args_to_kwargs.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/_cache_key_encoder.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/_make_cache_key.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/_none_to_zero.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/filter_parser.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/format_string.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/json_encoder.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/path_mapping.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/public_api.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/testing.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/utils/type_checks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/actions.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/backend_registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/backends/__init__.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/backends/celery.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/backends/local.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/backends/n8n.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/config.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/engine.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/event_registry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/events.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/models.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/signal_bridge.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/tasks.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/workflow/telemetry.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/tests/test_settings.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/tests/test_urls.py +0 -0
- {generalmanager-0.86.3 → generalmanager-0.86.5}/tests/testing_asgi.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.86.
|
|
3
|
+
Version: 0.86.5
|
|
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
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "GeneralManager"
|
|
7
|
-
version = "0.86.
|
|
7
|
+
version = "0.86.5"
|
|
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" }]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.86.
|
|
3
|
+
Version: 0.86.5
|
|
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
|
|
@@ -5,19 +5,22 @@ from __future__ import annotations
|
|
|
5
5
|
from abc import ABC, abstractmethod
|
|
6
6
|
import base64
|
|
7
7
|
from dataclasses import dataclass, field
|
|
8
|
+
from email.message import Message
|
|
8
9
|
import json
|
|
9
10
|
import random
|
|
10
11
|
from types import MappingProxyType
|
|
11
12
|
import time
|
|
12
13
|
from urllib.error import HTTPError, URLError
|
|
13
14
|
from urllib.parse import quote, urlencode, urlsplit
|
|
14
|
-
from urllib.request import Request as UrlRequest,
|
|
15
|
+
from urllib.request import HTTPRedirectHandler, Request as UrlRequest, build_opener
|
|
15
16
|
from uuid import uuid4
|
|
16
17
|
from typing import (
|
|
17
18
|
Callable,
|
|
19
|
+
IO,
|
|
18
20
|
Iterable,
|
|
19
21
|
Literal,
|
|
20
22
|
Mapping,
|
|
23
|
+
NoReturn,
|
|
21
24
|
Protocol,
|
|
22
25
|
TypeVar,
|
|
23
26
|
TypedDict,
|
|
@@ -1893,12 +1896,42 @@ def map_request_transport_error(
|
|
|
1893
1896
|
return mapped
|
|
1894
1897
|
|
|
1895
1898
|
|
|
1899
|
+
class _NoRedirectHandler(HTTPRedirectHandler):
|
|
1900
|
+
"""Leave redirect responses to the normal HTTP error handling path."""
|
|
1901
|
+
|
|
1902
|
+
def http_error_302(
|
|
1903
|
+
self,
|
|
1904
|
+
req: UrlRequest,
|
|
1905
|
+
fp: IO[bytes],
|
|
1906
|
+
code: int,
|
|
1907
|
+
msg: str,
|
|
1908
|
+
headers: Message,
|
|
1909
|
+
) -> NoReturn:
|
|
1910
|
+
# Reject before urllib parses Location, preserving malformed responses too.
|
|
1911
|
+
raise HTTPError(req.full_url, code, msg, headers, fp)
|
|
1912
|
+
|
|
1913
|
+
http_error_301 = http_error_302
|
|
1914
|
+
http_error_303 = http_error_302
|
|
1915
|
+
http_error_307 = http_error_302
|
|
1916
|
+
http_error_308 = http_error_302
|
|
1917
|
+
|
|
1918
|
+
|
|
1896
1919
|
class UrllibRequestTransport(SharedRequestTransport):
|
|
1897
1920
|
"""First-party JSON transport backed by Python's stdlib HTTP client.
|
|
1898
1921
|
|
|
1899
1922
|
The transport supports absolute HTTP(S) URLs, JSON request bodies, decoded
|
|
1900
1923
|
JSON object/list responses, operation-level timeout overrides, and HTTP
|
|
1901
|
-
status mapping through `RequestTransportStatusError`.
|
|
1924
|
+
status mapping through `RequestTransportStatusError`. The default opener
|
|
1925
|
+
rejects redirects, including same-origin redirects, instead of forwarding
|
|
1926
|
+
credentials or accessing response-controlled destinations. An injected
|
|
1927
|
+
`urlopen` callable is responsible for its own redirect policy.
|
|
1928
|
+
|
|
1929
|
+
The default opener does not inherit handlers registered globally with
|
|
1930
|
+
`urllib.request.install_opener`; environment proxy settings still apply.
|
|
1931
|
+
For custom TLS contexts or explicit proxy handlers, build an opener with
|
|
1932
|
+
those handlers plus redirect rejection and pass its `open` method as
|
|
1933
|
+
`urlopen`. Reject 301/302/303/307/308 before parsing `Location` to preserve
|
|
1934
|
+
the upstream status and headers even when that header is malformed.
|
|
1902
1935
|
"""
|
|
1903
1936
|
|
|
1904
1937
|
def __init__(
|
|
@@ -1907,7 +1940,9 @@ class UrllibRequestTransport(SharedRequestTransport):
|
|
|
1907
1940
|
urlopen: UrlopenCallable | None = None,
|
|
1908
1941
|
json_dumps: Callable[[object], str] | None = None,
|
|
1909
1942
|
) -> None:
|
|
1910
|
-
self._urlopen = urlopen or
|
|
1943
|
+
self._urlopen = urlopen or cast(
|
|
1944
|
+
UrlopenCallable, build_opener(_NoRedirectHandler()).open
|
|
1945
|
+
)
|
|
1911
1946
|
self._json_dumps = json_dumps or json.dumps
|
|
1912
1947
|
|
|
1913
1948
|
def send(
|
|
@@ -220,6 +220,20 @@ class _ConfiguredManagerPermission(BasePermission):
|
|
|
220
220
|
return None
|
|
221
221
|
|
|
222
222
|
basis_object = getattr(self.instance, __based_on__, notExistent)
|
|
223
|
+
normalized_basis = False
|
|
224
|
+
if (
|
|
225
|
+
isinstance(self.instance, PermissionDataManager)
|
|
226
|
+
and isinstance(self.instance.permission_data, dict)
|
|
227
|
+
and self.instance.manager is not None
|
|
228
|
+
and f"{__based_on__}_id" in self.instance.permission_data
|
|
229
|
+
):
|
|
230
|
+
field_type = self.instance.manager.Interface.get_field_type(__based_on__)
|
|
231
|
+
if isinstance(field_type, type) and issubclass(field_type, GeneralManager):
|
|
232
|
+
# Match ORM payload normalization: the last relation alias wins.
|
|
233
|
+
for key, value in self.instance.permission_data.items():
|
|
234
|
+
if key in (__based_on__, f"{__based_on__}_id"):
|
|
235
|
+
basis_object = value
|
|
236
|
+
normalized_basis = key != __based_on__
|
|
223
237
|
if (
|
|
224
238
|
basis_object is not None
|
|
225
239
|
and basis_object is not notExistent
|
|
@@ -232,6 +246,24 @@ class _ConfiguredManagerPermission(BasePermission):
|
|
|
232
246
|
if isinstance(basis_object, dict):
|
|
233
247
|
basis_object = field_type(**basis_object)
|
|
234
248
|
else:
|
|
249
|
+
if normalized_basis:
|
|
250
|
+
from django.db.models import ForeignKey
|
|
251
|
+
from general_manager.interface.orm_interface import (
|
|
252
|
+
OrmInterfaceBase,
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
interface = self.instance.manager.Interface
|
|
256
|
+
if issubclass(interface, OrmInterfaceBase):
|
|
257
|
+
relation = interface._model._meta.get_field(__based_on__)
|
|
258
|
+
if (
|
|
259
|
+
isinstance(relation, ForeignKey)
|
|
260
|
+
and not relation.target_field.primary_key
|
|
261
|
+
):
|
|
262
|
+
# A normalized FK value can target a unique non-PK field.
|
|
263
|
+
related = relation.related_model._default_manager.get(
|
|
264
|
+
**{relation.target_field.name: basis_object}
|
|
265
|
+
)
|
|
266
|
+
basis_object = related.pk
|
|
235
267
|
basis_object = field_type(id=basis_object)
|
|
236
268
|
if basis_object is notExistent:
|
|
237
269
|
if self._is_class_context:
|
|
@@ -110,7 +110,11 @@ class PermissionDataManager(Generic[GeneralManagerData]):
|
|
|
110
110
|
Returns:
|
|
111
111
|
Wrapper exposing the merged permission state.
|
|
112
112
|
"""
|
|
113
|
-
|
|
113
|
+
# Keep explicit updates after existing state, including relation aliases.
|
|
114
|
+
merged_data: dict[str, object] = {
|
|
115
|
+
key: value for key, value in base_data if key not in update_data
|
|
116
|
+
}
|
|
117
|
+
merged_data.update(update_data)
|
|
114
118
|
return cls(merged_data, base_data.__class__)
|
|
115
119
|
|
|
116
120
|
@property
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/GeneralManager.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/_types/general_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_identifiers.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_mutations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_relations.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_resolvers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_subscriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_warmup_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/graphql_warmup_tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/notification_batching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/api/remote_invalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/_materialized_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/calculation_bucket.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/database_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/bucket/request_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/_dependency_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/cache_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/data_change_context.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_cache.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_index.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_matching.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_publish.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/dependency_shards.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/run_context_lru.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/cache/transaction_barrier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/diagnostics.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/fingerprints.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/evals/judges/contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/calculations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/evidence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/provider_calls.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/scheduler.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/synthesis.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/planned/validation.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/_shared.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/google.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/ollama.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/chat/providers/openai.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/dataframes/measurements.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/factory/factory_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/base_interface.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/calculation.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/database.py
RENAMED
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/excel.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/bundles/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.3 → generalmanager-0.86.5}/src/general_manager/interface/capabilities/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|