framework-m-core 0.30.0__tar.gz → 0.30.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/CHANGELOG.md +12 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/PKG-INFO +2 -2
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/pyproject.toml +2 -2
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/print_format.py +50 -1
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/mixins.py +4 -1
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/schema_enrichment.py +21 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_mixins.py +11 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_schema_enrichment.py +31 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/.gitignore +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/LICENSE +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/README.md +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/config.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/main.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/plugin_loader.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/utility.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/config.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/container.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/decorators.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/di.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/activity_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/api_key.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/auto_report.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/custom_permission.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/document_share.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/email_queue.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/error_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/file.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/idempotency_key.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/job_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/landing_candidate.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/letterhead.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/notification.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/recent_document.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/report.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/saved_view.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/scheduled_job.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/session.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/social_account.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/system_settings.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/tenant_translation.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/todo.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/translation.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/user.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/webhook.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/webhook_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow_state.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow_state_definition.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow_transition.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow_transition_definition.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/base_controller.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/base_doctype.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/diff.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/landing.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/meta.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/migration_engine.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/naming_counter.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/navigation.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/outbox.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/redactor.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/events/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/events/handlers.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/exceptions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/audit.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/auth_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/authentication.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/base_doctype.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/bootstrap.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/cache.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/composition.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/controller.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/db_resolver.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/defaults.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/discovery.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/email_queue.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/email_sender.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/event_bus.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/feature_entitlement.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/i18n.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/idempotency.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/identity.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/introspection.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/job_logger.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/job_queue.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/landing.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/logging.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/metering.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/navigation.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/notification.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/oauth.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/permission.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/print.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/read_model.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/redactor.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/report_engine.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/repository.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/schema_mapper.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/search.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/secrets.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/session.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/sms_gateway.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/socket.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/storage.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/tenant.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/ticker.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/webhook.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/worker.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/workflow.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/jobs_registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/en/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/es/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/fr/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/hi/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/mr/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/ta/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/ur/common.json +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/metadata_decorator.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/permission_lookup.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/permissions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/pii.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/py.typed +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/rls.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/rpc_registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/security.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/__init__.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/defaults_service.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/document_id.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/health_server.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/landing.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/secrets_service.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/user_manager.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/webhook_dispatcher.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/system_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/types/job_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/unit_of_work.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_cli_commands.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_cli_init.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_cli_main.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_config.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_info_plugins.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_plugin_loader.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/cli/test_utility.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/conftest.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_api_key.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_job_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_report.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_scheduled_job.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_social_account.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_user.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_webhook.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_webhook_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/doctypes/test_workflow_ui.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/domain/test_meta_discovery.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/domain/test_naming_counter.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/events/test_doc_events.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_cache.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_email_queue_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_idempotency.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_identity.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_repository_temporal.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_sms_gateway.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_socket.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/interfaces/test_workflow.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/services/test_user_manager.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/services/test_webhook_dispatcher.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_activity_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_child_table_permissions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_container.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_container_async.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_custom_permission.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_custom_protocols.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_di.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_document_share.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_email_queue.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_error_log.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_exceptions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_exports.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_file.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_job_decorator.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_landing_candidate.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_link_field_leakage.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_meta_registry_baking.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_meta_registry_overrides.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_metadata_decorator.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_metadata_runtime_patch.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_notification.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_object_level_permissions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_outbox.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_permission_config.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_permission_conveniences.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_permission_lookup.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_permissions.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_pii.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_print_format.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_rls.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_rpc_decorator.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_schema_extension.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_security.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_session.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_share_lookup.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_singles.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_system_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_system_settings.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_table_alteration.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_team_based_access.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_tenant.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_ui_context_registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_unit_of_work.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_user_preferences_locale.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/test_whitelist_decorator.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/core/types/test_job_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/domain/test_landing_models.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/domain/test_navigation_models.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/domain/test_registry_roles.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/events/test_auth_events.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_activity_registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_authentication.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_discovery_port.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_logging_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_redactor_port.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/interfaces/test_worker_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/services/test_health_server.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/doctypes/test_auto_report.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/doctypes/test_saved_view.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_base_controller.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_base_controller_audit.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_base_controller_submitted.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_base_doctype_implements_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_diff.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_migration_engine.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/domain/test_redactor_logic.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/events/test_read_model_projector.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_audit.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_auth_context.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_base_doctype_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_bootstrap_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_controller_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_core_report_engine.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_db_resolver.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_defaults.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_event_bus.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_feature_entitlement.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_i18n.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_introspection.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_job_queue.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_landing.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_metering.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_navigation.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_permission.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_print.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_repository.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_schema_mapper_protocol.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_search.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_smoke_interfaces.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_storage.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/interfaces/test_ticker.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/services/test_defaults_service.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/services/test_document_id.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/services/test_landing_service.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/services/test_secrets_service.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_config_expansion.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_config_schema.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_registry.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_registry_discovery.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_selective_apps.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_webhooks.py +0 -0
- {framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/test_base_doctype.py +0 -0
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## framework-m-core v0.30.2
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- dynamic resolution of app template directories via MetaRegistry (f4d3e66)
|
|
6
|
+
|
|
7
|
+
## framework-m-core v0.30.1
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- hide docstatus and support optional literal unions in schema enrichment (7b1e181)
|
|
12
|
+
|
|
1
13
|
## framework-m-core v0.30.0
|
|
2
14
|
|
|
3
15
|
### Features
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: framework-m-core
|
|
3
|
-
Version: 0.30.
|
|
3
|
+
Version: 0.30.2
|
|
4
4
|
Summary: Core protocols and dependency injection for Framework M
|
|
5
5
|
Author: Framework M Contributors
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
License-File: LICENSE
|
|
8
8
|
Requires-Python: >=3.12
|
|
9
|
-
Requires-Dist: cyclopts>=4.22.
|
|
9
|
+
Requires-Dist: cyclopts>=4.22.4
|
|
10
10
|
Requires-Dist: pydantic-settings>=2.14.2
|
|
11
11
|
Requires-Dist: pydantic>=2.13.4
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "framework-m-core"
|
|
3
|
-
version = "0.30.
|
|
3
|
+
version = "0.30.2"
|
|
4
4
|
description = "Core protocols and dependency injection for Framework M"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "Apache-2.0" }
|
|
@@ -11,7 +11,7 @@ authors = [
|
|
|
11
11
|
dependencies = [
|
|
12
12
|
"pydantic>=2.13.4",
|
|
13
13
|
"pydantic-settings>=2.14.2",
|
|
14
|
-
"cyclopts>=4.22.
|
|
14
|
+
"cyclopts>=4.22.4",
|
|
15
15
|
]
|
|
16
16
|
|
|
17
17
|
[build-system]
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/print_format.py
RENAMED
|
@@ -157,6 +157,55 @@ class PrintFormat(BaseDocType):
|
|
|
157
157
|
# List view defaults to the first 4 schema fields, which would put the
|
|
158
158
|
# raw Jinja template path/HTML in a table cell. Pick scannable columns.
|
|
159
159
|
ui_meta = { # noqa: RUF012
|
|
160
|
+
"form": {
|
|
161
|
+
"tabs": [
|
|
162
|
+
{
|
|
163
|
+
"label": "Basic Info",
|
|
164
|
+
"sections": [
|
|
165
|
+
{
|
|
166
|
+
"label": "Format Details",
|
|
167
|
+
"fields": ["name", "doctype", "is_default"],
|
|
168
|
+
"columns": 2,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"label": "Template",
|
|
172
|
+
"fields": ["template", "custom_html"],
|
|
173
|
+
"columns": 2,
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"label": "Styling",
|
|
177
|
+
"fields": ["css", "header_html", "footer_html"],
|
|
178
|
+
"columns": 2,
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"label": "Page Settings",
|
|
184
|
+
"sections": [
|
|
185
|
+
{
|
|
186
|
+
"label": "Page Layout",
|
|
187
|
+
"fields": ["page_size", "orientation", "repeat_header"],
|
|
188
|
+
"columns": 2,
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"label": "Page Numbers",
|
|
192
|
+
"fields": ["show_page_numbers", "page_number_style"],
|
|
193
|
+
"columns": 2,
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"label": "Margins (inches)",
|
|
197
|
+
"fields": [
|
|
198
|
+
"margin_top",
|
|
199
|
+
"margin_bottom",
|
|
200
|
+
"margin_left",
|
|
201
|
+
"margin_right",
|
|
202
|
+
],
|
|
203
|
+
"columns": 2,
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
160
209
|
"list": {
|
|
161
210
|
"columns": [
|
|
162
211
|
{"field": "name", "label": "Name"},
|
|
@@ -164,7 +213,7 @@ class PrintFormat(BaseDocType):
|
|
|
164
213
|
{"field": "is_default", "label": "Default", "width": 90},
|
|
165
214
|
{"field": "page_size", "label": "Page Size", "width": 100},
|
|
166
215
|
],
|
|
167
|
-
}
|
|
216
|
+
},
|
|
168
217
|
}
|
|
169
218
|
|
|
170
219
|
# Permissions - admins manage, all read
|
|
@@ -59,7 +59,10 @@ class SubmittableMixin(BaseModel):
|
|
|
59
59
|
invoice.can_edit() # False (submitted)
|
|
60
60
|
"""
|
|
61
61
|
|
|
62
|
-
docstatus: DocStatus = Field(
|
|
62
|
+
docstatus: DocStatus = Field(
|
|
63
|
+
default=DocStatus.DRAFT,
|
|
64
|
+
json_schema_extra={"ui_meta": {"hidden": True}},
|
|
65
|
+
)
|
|
63
66
|
|
|
64
67
|
def is_submitted(self) -> bool:
|
|
65
68
|
"""Check if document is in submitted state."""
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/schema_enrichment.py
RENAMED
|
@@ -104,11 +104,29 @@ def _enrich_property(
|
|
|
104
104
|
if "items" in prop and isinstance(prop["items"], dict):
|
|
105
105
|
prop["items"] = _enrich_property(prop["items"], defs)
|
|
106
106
|
|
|
107
|
+
# Recursively enrich schema combinations (anyOf, allOf, oneOf)
|
|
108
|
+
for comb_key in ("anyOf", "allOf", "oneOf"):
|
|
109
|
+
if comb_key in prop and isinstance(prop[comb_key], list):
|
|
110
|
+
prop[comb_key] = [
|
|
111
|
+
_enrich_property(item, defs) if isinstance(item, dict) else item
|
|
112
|
+
for item in prop[comb_key]
|
|
113
|
+
]
|
|
114
|
+
|
|
107
115
|
# Ensure ui_meta exists
|
|
108
116
|
ui_meta: dict[str, Any] = copy.deepcopy(prop.get("ui_meta", {}))
|
|
109
117
|
|
|
110
118
|
# Surface enum values under ui_meta.options if not already there
|
|
111
119
|
enum_values: list[Any] | None = prop.get("enum")
|
|
120
|
+
if not enum_values:
|
|
121
|
+
for comb_key in ("anyOf", "allOf", "oneOf"):
|
|
122
|
+
if comb_key in prop and isinstance(prop[comb_key], list):
|
|
123
|
+
for sub_schema in prop[comb_key]:
|
|
124
|
+
if isinstance(sub_schema, dict) and "enum" in sub_schema:
|
|
125
|
+
enum_values = sub_schema["enum"]
|
|
126
|
+
break
|
|
127
|
+
if enum_values:
|
|
128
|
+
break
|
|
129
|
+
|
|
112
130
|
if enum_values and "options" not in ui_meta:
|
|
113
131
|
ui_meta["options"] = [
|
|
114
132
|
{"value": v, "label": str(v).replace("_", " ").title()} for v in enum_values
|
|
@@ -152,6 +170,9 @@ def enrich_schema(schema: dict[str, Any]) -> dict[str, Any]:
|
|
|
152
170
|
|
|
153
171
|
enriched_properties: dict[str, Any] = {}
|
|
154
172
|
for field_name, prop in properties.items():
|
|
173
|
+
if field_name == "docstatus":
|
|
174
|
+
ui_meta = prop.setdefault("ui_meta", {})
|
|
175
|
+
ui_meta["hidden"] = True
|
|
155
176
|
enriched_properties[field_name] = _enrich_property(prop, defs)
|
|
156
177
|
|
|
157
178
|
schema["properties"] = enriched_properties
|
|
@@ -105,6 +105,17 @@ class TestSubmittableMixin:
|
|
|
105
105
|
|
|
106
106
|
assert invoice.docstatus == DocStatus.SUBMITTED
|
|
107
107
|
|
|
108
|
+
def test_docstatus_hidden_in_ui_meta(self) -> None:
|
|
109
|
+
"""docstatus should have ui_meta hidden=True by default in SubmittableMixin."""
|
|
110
|
+
|
|
111
|
+
class BareSubmittable(DocType, SubmittableMixin):
|
|
112
|
+
pass
|
|
113
|
+
|
|
114
|
+
field_extra = BareSubmittable.model_fields["docstatus"].json_schema_extra
|
|
115
|
+
assert isinstance(field_extra, dict) and field_extra.get("ui_meta") == {
|
|
116
|
+
"hidden": True
|
|
117
|
+
}
|
|
118
|
+
|
|
108
119
|
|
|
109
120
|
class TestMixinImports:
|
|
110
121
|
"""Tests for mixin imports."""
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/tests/unit/core/test_schema_enrichment.py
RENAMED
|
@@ -88,6 +88,32 @@ class TestLiteralFields:
|
|
|
88
88
|
result = enrich_schema(schema)
|
|
89
89
|
assert result["properties"]["status"]["ui_meta"]["options"] == custom_options
|
|
90
90
|
|
|
91
|
+
def test_optional_literal_union_options_populated(self) -> None:
|
|
92
|
+
"""Optional Literal fields (rendered as anyOf with null in Pydantic v2) must surface options."""
|
|
93
|
+
schema = _schema(
|
|
94
|
+
{
|
|
95
|
+
"valuation_method": {
|
|
96
|
+
"anyOf": [
|
|
97
|
+
{
|
|
98
|
+
"type": "string",
|
|
99
|
+
"enum": ["FIFO", "Moving Average", "Standard Costing"],
|
|
100
|
+
},
|
|
101
|
+
{"type": "null"},
|
|
102
|
+
],
|
|
103
|
+
"default": None,
|
|
104
|
+
"title": "Valuation Method",
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
result = enrich_schema(schema)
|
|
109
|
+
prop = result["properties"]["valuation_method"]
|
|
110
|
+
|
|
111
|
+
assert prop["ui_meta"]["options"] == [
|
|
112
|
+
{"value": "FIFO", "label": "Fifo"},
|
|
113
|
+
{"value": "Moving Average", "label": "Moving Average"},
|
|
114
|
+
{"value": "Standard Costing", "label": "Standard Costing"},
|
|
115
|
+
]
|
|
116
|
+
|
|
91
117
|
|
|
92
118
|
# ---------------------------------------------------------------------------
|
|
93
119
|
# Python Enum via $ref
|
|
@@ -282,3 +308,8 @@ class TestSchemaIntegrity:
|
|
|
282
308
|
schema = _schema({"description": {"type": "string", "title": "Description"}})
|
|
283
309
|
result = enrich_schema(schema)
|
|
284
310
|
assert "options" not in result["properties"]["description"]["ui_meta"]
|
|
311
|
+
|
|
312
|
+
def test_docstatus_automatically_hidden(self) -> None:
|
|
313
|
+
schema = _schema({"docstatus": {"type": "integer", "default": 0}})
|
|
314
|
+
result = enrich_schema(schema)
|
|
315
|
+
assert result["properties"]["docstatus"]["ui_meta"]["hidden"] is True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/cli/plugin_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/__init__.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/activity_log.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/api_key.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/auto_report.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/document_share.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/email_queue.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/error_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/idempotency_key.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/job_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/letterhead.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/notification.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/recent_document.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/saved_view.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/scheduled_job.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/session.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/social_account.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/system_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/translation.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/webhook.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/webhook_log.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/doctypes/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/base_controller.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/base_doctype.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/migration_engine.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/naming_counter.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/domain/navigation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/__init__.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/audit.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/auth_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/base_doctype.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/bootstrap.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/cache.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/composition.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/controller.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/db_resolver.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/defaults.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/discovery.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/email_queue.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/email_sender.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/event_bus.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/idempotency.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/identity.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/introspection.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/job_logger.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/job_queue.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/landing.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/logging.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/metering.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/navigation.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/notification.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/oauth.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/permission.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/print.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/read_model.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/redactor.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/registry.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/report_engine.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/repository.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/schema_mapper.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/search.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/secrets.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/session.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/sms_gateway.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/socket.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/storage.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/tenant.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/ticker.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/webhook.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/worker.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/interfaces/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/en/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/es/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/fr/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/hi/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/mr/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/ta/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/locales/ur/common.json
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/metadata_decorator.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/permission_lookup.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
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/document_id.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/health_server.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/landing.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/secrets_service.py
RENAMED
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/services/user_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{framework_m_core-0.30.0 → framework_m_core-0.30.2}/src/framework_m_core/types/job_context.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
|