GeneralManager 0.86.2__tar.gz → 0.86.4__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.2/src/GeneralManager.egg-info → generalmanager-0.86.4}/PKG-INFO +1 -1
- {generalmanager-0.86.2 → generalmanager-0.86.4}/pyproject.toml +1 -1
- {generalmanager-0.86.2 → generalmanager-0.86.4/src/GeneralManager.egg-info}/PKG-INFO +1 -1
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/manager_based_permission.py +32 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/permission_data_manager.py +5 -1
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/meilisearch.py +29 -19
- {generalmanager-0.86.2 → generalmanager-0.86.4}/LICENSE +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/README.md +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/setup.cfg +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/GeneralManager.egg-info/SOURCES.txt +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/GeneralManager.egg-info/requires.txt +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/GeneralManager.egg-info/top_level.txt +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/api.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/cache.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/dataframes.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/factory.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/general_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/interface.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/measurement.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/permission.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/rule.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/search.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/_types/utils.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_as_of.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_errors.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_groups.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_identifiers.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_mutations.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_ordering.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_output.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_prefetch.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_relations.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_resolvers.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_search.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_subscription_consumer.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_subscriptions.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_type.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_view.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_warmup.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_warmup_registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_warmup_tasks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/mutation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/notification_batching.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/property.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/remote_api.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/remote_invalidation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/remote_invalidation_client.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/apps.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/as_of.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bootstrap.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/_materialized_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/_ordering.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/base_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/calculation_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/database_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/excel_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/group_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/indexing.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/projection.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/request_bucket.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/_dependency_graph.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/batch_refresh.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/cache_decorator.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/cache_tracker.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/data_change_context.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_cache.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_index.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_matching.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_publish.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_shards.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/model_dependency_collector.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/run_context.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/run_context_lru.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/signals.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/transaction_barrier.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/audit.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/bootstrap.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/consumer.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/context.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/errors.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/__main__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/baseline.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/basic_queries.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/demo_readiness.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/edge_cases.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/follow_ups.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/large_schema.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/multi_hop.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/datasets/planned_orchestration.yaml +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/diagnostics.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/fingerprints.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/fixtures.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/answer_quality.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/contract.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/result_accuracy.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/tool_sequence.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/readiness.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/runner.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/traces.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/grounding.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/budget.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/calculations.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/catalog.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/config.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/events.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/evidence.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/planner.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/provider_calls.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/resolver.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/routing.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/scheduler.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/synthesis.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/validation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/_shared.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/anthropic.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/base.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/google.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/ollama.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/openai.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/rate_limits.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/routing.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/schema_index.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/settings.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/signals.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/system_prompt.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/tool_metadata.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/tools.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/turns.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/views.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/conf.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/dataframes/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/dataframes/measurements.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/factory/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/factory/auto_factory.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/factory/factories.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/factory/factory_methods.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/base_interface.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/calculation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/database.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/excel.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/remote_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/request.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/base.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/builtin.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/calculation/_compat.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/calculation/input_resolution.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/configuration.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/core/observability.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/core/utils.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/excel/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/exceptions.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/existing_model/resolution.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/factory.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/_compat.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/bulk.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/create_many.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/history.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/lifecycle.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/mutations.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm/support.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/orm_utils/update_state.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/read_only/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/read_only/_compat.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/read_only/_types.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/read_only/management.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/remote_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/capabilities/request/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/excel.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/excel_store.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/excel_workbook.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/infrastructure/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/infrastructure/startup_hooks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/infrastructure/system_checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/calculation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/database.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/excel.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/existing_model.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/read_only.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/remote_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/interfaces/request.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/manifests/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/manifests/capability_builder.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/manifests/capability_manifest.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/manifests/capability_models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/orm_interface.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/requests.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/utils/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/utils/database_interface_protocols.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/utils/errors.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/utils/history.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/utils/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/logging.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/chat_cleanup.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/cleanup_upload_intents.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/graphql_warmup.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/graphql_warmup_refresh_due.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/search_index.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/search_reconcile.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/seed_manager_landscape.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/shell.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/sync_read_only.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/workflow_drain_outbox.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/bulk_create.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/general_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/group_manager.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/input.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/manager/meta.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/measurement/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/measurement/measurement.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/measurement/measurement_field.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/metrics/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/metrics/graphql.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0001_initial.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0004_chat_persistence_models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0004_search_index_state.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0005_merge_chat_search.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0006_chat_pending_confirmation_scoped_ids.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0007_upload_intent.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0008_upload_finalization_versions.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0009_upload_cleanup_state.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0010_chat_pending_confirmation_portable_uniqueness.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0011_search_index_state_dirty_generation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/0012_chat_context_watermarks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/migrations/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/audit.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/base_permission.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/graphql_capabilities.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/mutation_permission.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/permission_checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/permission/utils.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/public_api_registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/py.typed +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/rule/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/rule/handler.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/rule/rule.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/async_tasks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backend.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backend_registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/dev.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/opensearch.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/typesense.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/config.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/identity.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/indexer.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/invalidation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/m2m_invalidation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/reconciliation.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/tasks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/utils.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/seeding/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/seeding/manager_landscape.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/adapters.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/config.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/errors.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/finalization.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/graphql.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/graphql_types.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/metrics.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/public.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/s3.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/services.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/tokens.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/types.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/urls.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/uploads/views.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/_args_to_kwargs.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/_cache_key_encoder.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/_make_cache_key.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/_none_to_zero.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/filter_parser.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/format_string.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/json_encoder.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/path_mapping.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/public_api.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/testing.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/utils/type_checks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/actions.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/backend_registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/backends/__init__.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/backends/celery.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/backends/local.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/backends/n8n.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/config.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/engine.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/event_registry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/events.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/models.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/signal_bridge.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/tasks.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/workflow/telemetry.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/tests/test_settings.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/tests/test_urls.py +0 -0
- {generalmanager-0.86.2 → generalmanager-0.86.4}/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.4
|
|
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.4"
|
|
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.4
|
|
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
|
|
@@ -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
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/search/backends/meilisearch.py
RENAMED
|
@@ -171,7 +171,10 @@ class MeilisearchBackend:
|
|
|
171
171
|
Non-iterable setting values and strings/bytes are ignored; iterable
|
|
172
172
|
values such as lists, tuples, and sets are converted to strings. This
|
|
173
173
|
method creates the index with primary key ``id`` if it does not exist
|
|
174
|
-
and
|
|
174
|
+
and compares current effective settings before writing changes. Ranking
|
|
175
|
+
rules and searchable fields retain their order; plain filterable and
|
|
176
|
+
sortable fields are compared by membership. Each submitted settings
|
|
177
|
+
task completes before the next update or return.
|
|
175
178
|
|
|
176
179
|
Raises:
|
|
177
180
|
MeilisearchTaskFailedError: A create-index or settings task fails,
|
|
@@ -205,23 +208,31 @@ class MeilisearchBackend:
|
|
|
205
208
|
*sorted(shadow_fields - set(filterable_fields)),
|
|
206
209
|
]
|
|
207
210
|
sortable_fields = self._string_sequence_setting(settings, "sortable_fields")
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
)
|
|
220
|
-
self._wait_for_task(task)
|
|
221
|
-
if sortable_fields is not None:
|
|
222
|
-
task = index.update_settings({"sortableAttributes": list(sortable_fields)})
|
|
211
|
+
current = self._as_mapping(index.get_settings())
|
|
212
|
+
desired = {
|
|
213
|
+
"rankingRules": self._ranking_rules_with_sort_first(current, settings),
|
|
214
|
+
"searchableAttributes": searchable_fields,
|
|
215
|
+
"filterableAttributes": filterable_fields,
|
|
216
|
+
"sortableAttributes": sortable_fields,
|
|
217
|
+
}
|
|
218
|
+
for key, fields in desired.items():
|
|
219
|
+
if fields is None or self._settings_match(key, current.get(key), fields):
|
|
220
|
+
continue
|
|
221
|
+
task = index.update_settings({key: fields})
|
|
223
222
|
self._wait_for_task(task)
|
|
224
223
|
|
|
224
|
+
@staticmethod
|
|
225
|
+
def _settings_match(key: str, current: object, desired: list[str]) -> bool:
|
|
226
|
+
"""Compare ordered rules/search fields and unordered plain field lists."""
|
|
227
|
+
if not isinstance(current, Sequence) or isinstance(current, (str, bytes)):
|
|
228
|
+
return False
|
|
229
|
+
# Structured filter rules have different semantics from plain names.
|
|
230
|
+
if not all(isinstance(field, str) for field in current):
|
|
231
|
+
return False
|
|
232
|
+
if key in {"filterableAttributes", "sortableAttributes"}:
|
|
233
|
+
return set(current) == set(desired)
|
|
234
|
+
return list(current) == desired
|
|
235
|
+
|
|
225
236
|
def upsert(self, index_name: str, documents: Sequence[SearchDocument]) -> None:
|
|
226
237
|
"""
|
|
227
238
|
Ensure the index exists, then index or update the given documents and wait for the indexing task to complete.
|
|
@@ -419,7 +430,7 @@ class MeilisearchBackend:
|
|
|
419
430
|
|
|
420
431
|
@staticmethod
|
|
421
432
|
def _ranking_rules_with_sort_first(
|
|
422
|
-
|
|
433
|
+
current: Mapping[str, object], settings: Mapping[str, object]
|
|
423
434
|
) -> list[str]:
|
|
424
435
|
configured = settings.get("ranking_rules")
|
|
425
436
|
if isinstance(configured, Sequence) and not isinstance(
|
|
@@ -427,8 +438,7 @@ class MeilisearchBackend:
|
|
|
427
438
|
):
|
|
428
439
|
rules = [str(rule) for rule in configured]
|
|
429
440
|
else:
|
|
430
|
-
|
|
431
|
-
raw_rules = payload.get("rankingRules", ())
|
|
441
|
+
raw_rules = current.get("rankingRules", ())
|
|
432
442
|
rules = (
|
|
433
443
|
[str(rule) for rule in raw_rules]
|
|
434
444
|
if isinstance(raw_rules, Sequence)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_identifiers.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_mutations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_relations.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_resolvers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_subscriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_warmup_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/graphql_warmup_tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/api/notification_batching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/bucket/_materialized_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/bucket/calculation_bucket.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/bucket/request_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/_dependency_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/cache_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/data_change_context.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_cache.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_index.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_matching.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_publish.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/dependency_shards.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/cache/run_context_lru.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/diagnostics.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/fingerprints.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/evals/judges/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/calculations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/evidence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/provider_calls.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/scheduler.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/synthesis.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/planned/validation.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/_shared.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/google.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/chat/providers/ollama.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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.2 → generalmanager-0.86.4}/src/general_manager/dataframes/measurements.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/factory/factory_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/base_interface.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/calculation.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/database.py
RENAMED
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/excel.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/src/general_manager/interface/bundles/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.86.2 → generalmanager-0.86.4}/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
|