mint-sdk 1.2.7__tar.gz → 1.2.8__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.
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/PKG-INFO +1 -1
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_version.py +2 -2
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deploy_command.py +33 -4
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/bundled/frontend.json +1 -1
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_deploy_command.py +75 -4
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/.gitignore +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/README.md +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/pyproject.toml +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_discover.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_envelope.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_files.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_optional.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_prompt.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_staging_base.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/_transport.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/actors.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_artifact.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_endpoint.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_hook.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_migration.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_schema.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_service.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_setting.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_backend_wiring.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_backend_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_assay_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_core_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_helpers.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_lab_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_pack_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_panel_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_workflow_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_router_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_field_specs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_frontend_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_frontend_routes.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_naming.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_project.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_r_analysis_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_r_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_source_edits.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_template_catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/ai_generated_instructions.md.template +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/ai_instructions.md.template +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/analysis.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/api_errors.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/app.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_build.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_build_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/_utils.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/add_scaffold_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/add_templates_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/admin_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/auth_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/debug_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/experiment_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/init_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/plugin_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/project_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/status_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/status_formatting.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_commands/update_cmd.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_data_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/cli_entry.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/_config.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/_exceptions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/_http.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/_types.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/client.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/admin.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/auth.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/experiments.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/objects.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/plugins.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/projects.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/client/resources/updates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/compat.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/config.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/context.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/contract_ts_types.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/contract_typescript.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/data_store.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/db_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/dependency_locks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/dependency_policy.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_api_catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_apis.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_destructure_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_doc_text_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_expression_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_import_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deprecated_frontend_tag_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/deps_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/design_validation.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/dev_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/dev_proxy_config.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/cache.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/cli_docs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/contract_docs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/formatter.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/frontend_component_catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/frontend_component_chooser.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/frontend_css_formatters.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/frontend_detail_formatters.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/frontend_extractor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/manifest_lookup.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/python_detail_formatters.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/python_extractor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/python_introspection.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/reference_docs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/reference_guides.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/reference_search.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/search.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/suggestions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/template_data.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/template_docs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/template_search.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/template_usage.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/terminal_style.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs/topic_routes.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/docs_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_boot.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_database_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_decorator_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_deprecated_api_usage.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_deprecated_frontend.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_deprecated_python.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_fixes.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_component_guidance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_component_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_guidance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_import_guidance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_sdk_catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_sdk_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_sidebar_guidance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_frontend_source_utils.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_guidance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_import_rules.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_models.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_output.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_platform_constraints.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_plugin_metadata.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_r_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_scan_config.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_sdk_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_source_files.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/doctor_workspace.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/endpoint.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/ephemeral_results.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/events_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/exceptions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/export.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/export_common.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/export_tree.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/filesystem.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/frontend_assets.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/generated_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/info_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_ai.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_backend_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_files.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_frontend_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_mode_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_naming.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_post_scaffold.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_script_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_versions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/init_workflow_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/instrument.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/integrations.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_manager.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_notifications.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_profiles.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_sessions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_staging.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/job_stream.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/jobs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/lcms.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/link_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/local_database.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/logging.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/logs_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/_alembic/env.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/_alembic/script.py.mako +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/_alembic_runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/base.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/conformance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/errors.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/locking.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/ops.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/runner.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/migrations/runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/models.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/package_metadata.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/path_staging.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/payloads.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/permissions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/platform_daemon.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/platform_daemon_supervisor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_database.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_decorators.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_exports.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_frontend.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_lifecycle.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_persistence.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/plugin_settings.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/project_layout.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/project_python.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/py.typed +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/pyproject_edit.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/r.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/remote_context.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/repositories.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/result_schema.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/runtime_dependencies.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/s3.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/schema.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/sdk_generate_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/settings_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/BaseModal-CJrCXCfY.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/ExperimentPopover-IJzKM7P3.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/ExperimentSelectorModal-Dl8aqFUv.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/SettingsModal-DRFa8esq.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/Skeleton--D2AoYDZ.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/chunk-5LNFb4hk.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/assets/plotly.min-DHWXmmi3.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/generated-ui.css +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/generated-ui.js +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/static/generated-ui/index.html +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/temp_byte_quota.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/assay_matrix.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/base.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/calibration_curve.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/dose_response.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/flow_cytometry_panel.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/instrument_run.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/packs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/plate_map.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/preset_catalog.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/preset_helpers.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/presets.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/protocol_steps.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/qpcr_plate.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/reagent_list.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/sample_prep.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/sample_sheet.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/templates/time_course.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/testing/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/testing/harness.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/testing/plugins.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/testing/recording_context.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/testing/subprocess.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/token_auth.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/update_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/verify_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/wire.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/conftest.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/scaffold_helpers.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_artifact.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_endpoint.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_hook.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_migration.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_schema.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_service.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_backend_setting.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_add_r_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_alembic_metadata.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_alembic_runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_alembic_runtime_concurrency.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_alembic_runtime_safety.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_api_errors.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_app.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_calendar_contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli_command_utils.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli_extras.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli_status_formatting.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli_typer.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_cli_utils.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/__init__.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_admin_plugin_update_api.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_analysis_artifacts_api.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_auth_api.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_client.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_config.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_exceptions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_experiments_api.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_http.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_client/test_objects_api.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_compat.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_config_runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_data_store.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_db_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_dependency_locks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_dependency_policy.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_deprecated_frontend_patterns.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_design_validation.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_dev_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_discover.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_manifest_lookup.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_python_detail_formatters.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_python_extractor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_python_introspection.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_docs_template_search.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_decorator_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_fixes_versions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_import_rules.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_output.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_platform_constraints.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_r_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_sdk_checks.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_doctor_workspace.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_endpoint_host_integration.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_endpoint_routing.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_ephemeral_results.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_error_envelope.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_events_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_exceptions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_experiment_endpoint_scope.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_export.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_filesystem.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_foreground_daemon.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_frontend_assets.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_generated_ui_example.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_generated_ui_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_info_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_init_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_init_modes.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_init_versions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_instrument.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_definition.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_manager.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_manager_activity.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_notification_bridge.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_results.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_staging.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_job_stream.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_jobs.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_lazy_exports.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_lcms.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_link_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_local_database.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_logs_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_base.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_conformance.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_errors.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_locking.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_ops.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migration_runner.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_migrations_lazy_import.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_models.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_models_color.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_notification_contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_path_staging.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_permission_decorators.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_permissions.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_platform_cli_commands.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_platform_daemon.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_platform_daemon_supervisor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_actor.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_database.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_decorators.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_save_load.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_settings_model.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_plugin_test_harness.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_project_layout.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_project_layout_integration.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_prompt.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_r_bridge.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_recording_context.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_remote_calendar_dispatch.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_remote_context.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_remote_notification_dispatch.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_remote_transport.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_repository_contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_runtime_dependencies.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_schema.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_sdk_dependency_ownership.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_sdk_documentation.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_sdk_generate_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_security_boundaries.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_settings_atomic_patch.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_settings_router.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_staged_job_runtime.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_temp_byte_quota.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_templates.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_testing.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_token_auth.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_typed_actor_contract.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_update_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_verify_command.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/tests/test_wire.py +0 -0
- {mint_sdk-1.2.7 → mint_sdk-1.2.8}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mint-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.8
|
|
4
4
|
Summary: MINT Plugin SDK - Build analysis plugins for the MINT (Mass-spec INtegrated Toolkit) platform
|
|
5
5
|
Project-URL: Homepage, https://github.com/MorscherLab/MINT
|
|
6
6
|
Project-URL: Documentation, https://github.com/MorscherLab/MINT/tree/main/packages/sdk-python#readme
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.2.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 2,
|
|
21
|
+
__version__ = version = '1.2.8'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 8)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -11,12 +11,13 @@ from __future__ import annotations
|
|
|
11
11
|
import json
|
|
12
12
|
import sys
|
|
13
13
|
import time
|
|
14
|
+
import zipfile
|
|
14
15
|
from collections.abc import Callable
|
|
15
|
-
from contextlib import nullcontext, redirect_stdout
|
|
16
|
+
from contextlib import nullcontext, redirect_stdout, suppress
|
|
16
17
|
from pathlib import Path
|
|
17
18
|
from typing import Any, NoReturn
|
|
18
19
|
|
|
19
|
-
from packaging.utils import canonicalize_name
|
|
20
|
+
from packaging.utils import canonicalize_name, canonicalize_version
|
|
20
21
|
|
|
21
22
|
from mint_sdk.client import ConflictError
|
|
22
23
|
|
|
@@ -113,6 +114,21 @@ def _normalize_plugin_name(value: str) -> str:
|
|
|
113
114
|
return str(canonicalize_name(value))
|
|
114
115
|
|
|
115
116
|
|
|
117
|
+
def _bundle_version(bundle: Path) -> str | None:
|
|
118
|
+
"""Return the plugin version in a ``.mint`` manifest; None for a legacy bundle without one."""
|
|
119
|
+
with zipfile.ZipFile(bundle) as zf:
|
|
120
|
+
if "manifest.json" not in zf.namelist():
|
|
121
|
+
return None
|
|
122
|
+
return str(json.loads(zf.read("manifest.json"))["plugin"]["version"])
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def _is_version(entry: dict[str, Any] | None, version: str | None) -> bool:
|
|
126
|
+
"""True when *entry* is loaded at *version* (any version when it is unknown)."""
|
|
127
|
+
if entry is None:
|
|
128
|
+
return False
|
|
129
|
+
return version is None or canonicalize_version(entry["version"]) == canonicalize_version(version)
|
|
130
|
+
|
|
131
|
+
|
|
116
132
|
def _conflict_message(error: ConflictError) -> str:
|
|
117
133
|
body = error.body if isinstance(error.body, dict) else {}
|
|
118
134
|
detail = body.get("detail")
|
|
@@ -202,9 +218,21 @@ def cmd_deploy(
|
|
|
202
218
|
|
|
203
219
|
plugin_name = result.get("name") or ""
|
|
204
220
|
restart_required = result.get("restart_required", True)
|
|
221
|
+
# The old process keeps answering until the restart lands, so "loaded"
|
|
222
|
+
# only counts once the entry reports the version this bundle carries.
|
|
223
|
+
bundle_version = _bundle_version(bundle)
|
|
205
224
|
|
|
206
225
|
if restart_required and restart:
|
|
207
226
|
if not json_output:
|
|
227
|
+
# Best-effort note only; a failed lookup must not block the restart.
|
|
228
|
+
with suppress(Exception):
|
|
229
|
+
running = _loaded_plugin_entry(client, plugin_name) if plugin_name and bundle_version else None
|
|
230
|
+
if _is_version(running, bundle_version):
|
|
231
|
+
print(
|
|
232
|
+
f"Note: {plugin_name} {bundle_version} is already loaded; "
|
|
233
|
+
"cannot confirm the restart picks up this build.",
|
|
234
|
+
file=sys.stderr,
|
|
235
|
+
)
|
|
208
236
|
print("Restarting platform ...")
|
|
209
237
|
client.admin.restart()
|
|
210
238
|
if not wait_for(
|
|
@@ -231,12 +259,13 @@ def cmd_deploy(
|
|
|
231
259
|
def _loaded() -> bool:
|
|
232
260
|
nonlocal entry
|
|
233
261
|
entry = _loaded_plugin_entry(client, plugin_name) if plugin_name else None
|
|
234
|
-
return entry
|
|
262
|
+
return _is_version(entry, bundle_version)
|
|
235
263
|
|
|
236
264
|
if plugin_name and not wait_for(_loaded, timeout=timeout):
|
|
265
|
+
seen = f" (loaded {entry['version']}, bundle {bundle_version})" if entry else ""
|
|
237
266
|
_fail(
|
|
238
267
|
f"Plugin '{plugin_name}' was installed but did not appear as loaded within "
|
|
239
|
-
f"{timeout:.0f}s. Check Admin → Plugins or the server logs on {target}.",
|
|
268
|
+
f"{timeout:.0f}s{seen}. Check Admin → Plugins or the server logs on {target}.",
|
|
240
269
|
json_output=json_output,
|
|
241
270
|
)
|
|
242
271
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
|
+
import zipfile
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from types import SimpleNamespace
|
|
8
9
|
from unittest.mock import Mock
|
|
@@ -53,8 +54,15 @@ class FakeClient:
|
|
|
53
54
|
return {"status": "ok"}
|
|
54
55
|
|
|
55
56
|
|
|
57
|
+
def _write_bundle(path: Path, version: str) -> Path:
|
|
58
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
59
|
+
with zipfile.ZipFile(path, "w") as zf:
|
|
60
|
+
zf.writestr("manifest.json", json.dumps({"plugin": {"version": version}}))
|
|
61
|
+
return path
|
|
62
|
+
|
|
63
|
+
|
|
56
64
|
def _fake_build(project_dir: Path, **_: object) -> Path:
|
|
57
|
-
return project_dir / "dist" / "demo-1.0.0.mint"
|
|
65
|
+
return _write_bundle(project_dir / "dist" / "demo-1.0.0.mint", "1.0.0")
|
|
58
66
|
|
|
59
67
|
|
|
60
68
|
def test_wait_for_swallows_exceptions_until_timeout() -> None:
|
|
@@ -139,6 +147,56 @@ def test_deploy_success_restarts_and_waits_for_load(tmp_path: Path, capsys) -> N
|
|
|
139
147
|
assert "/demo" in out
|
|
140
148
|
|
|
141
149
|
|
|
150
|
+
def test_deploy_waits_for_bundle_version_when_old_process_still_answers(
|
|
151
|
+
tmp_path: Path, capsys, monkeypatch
|
|
152
|
+
) -> None:
|
|
153
|
+
client = FakeClient(
|
|
154
|
+
upload_result={"success": True, "name": "demo-plugin", "restart_required": True},
|
|
155
|
+
loaded=[{"name": "demo-plugin", "version": "0.9.0", "routes_prefix": "/demo"}],
|
|
156
|
+
)
|
|
157
|
+
old = client.plugins.list()
|
|
158
|
+
new = {"loaded": [{"name": "demo-plugin", "version": "1.0.0", "routes_prefix": "/demo"}]}
|
|
159
|
+
stale_after_restart = iter([old]) # the old process answers once more before it exits
|
|
160
|
+
client.plugins.list = lambda: old if client.restart_calls == 0 else next(stale_after_restart, new)
|
|
161
|
+
monkeypatch.setattr("mint_sdk.deploy_command.time.sleep", lambda _: None)
|
|
162
|
+
|
|
163
|
+
cmd_deploy(
|
|
164
|
+
path=str(tmp_path),
|
|
165
|
+
get_client=lambda base_url=None: client,
|
|
166
|
+
build=_fake_build,
|
|
167
|
+
timeout=5,
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
assert "Deployed demo-plugin 1.0.0" in capsys.readouterr().out
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def test_deploy_restarts_when_pre_restart_plugin_list_fails(tmp_path: Path, monkeypatch) -> None:
|
|
174
|
+
client = FakeClient(
|
|
175
|
+
upload_result={"success": True, "name": "demo-plugin", "restart_required": True},
|
|
176
|
+
loaded=[{"name": "demo-plugin", "version": "1.0.0", "routes_prefix": "/demo"}],
|
|
177
|
+
)
|
|
178
|
+
old_list = client.plugins.list
|
|
179
|
+
calls = iter([ConnectionError("dropped")])
|
|
180
|
+
|
|
181
|
+
def flaky_list() -> dict:
|
|
182
|
+
error = next(calls, None)
|
|
183
|
+
if error:
|
|
184
|
+
raise error
|
|
185
|
+
return old_list()
|
|
186
|
+
|
|
187
|
+
client.plugins.list = flaky_list
|
|
188
|
+
monkeypatch.setattr("mint_sdk.deploy_command.time.sleep", lambda _: None)
|
|
189
|
+
|
|
190
|
+
cmd_deploy(
|
|
191
|
+
path=str(tmp_path),
|
|
192
|
+
get_client=lambda base_url=None: client,
|
|
193
|
+
build=_fake_build,
|
|
194
|
+
timeout=5,
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
assert client.restart_calls == 1
|
|
198
|
+
|
|
199
|
+
|
|
142
200
|
def test_deploy_failure_exits_with_conflict_hint(tmp_path: Path, capsys) -> None:
|
|
143
201
|
client = FakeClient(
|
|
144
202
|
upload_result={
|
|
@@ -237,7 +295,7 @@ def test_deploy_times_out_when_plugin_never_loads(tmp_path: Path, capsys, monkey
|
|
|
237
295
|
def test_deploy_forwards_force_flag(tmp_path: Path) -> None:
|
|
238
296
|
client = FakeClient(
|
|
239
297
|
upload_result={"success": True, "name": "demo-plugin", "restart_required": False},
|
|
240
|
-
loaded=[{"name": "demo-plugin"}],
|
|
298
|
+
loaded=[{"name": "demo-plugin", "version": "1.0.0"}],
|
|
241
299
|
)
|
|
242
300
|
|
|
243
301
|
cmd_deploy(
|
|
@@ -262,8 +320,7 @@ def test_deploy_builds_before_contacting_server(tmp_path: Path) -> None:
|
|
|
262
320
|
|
|
263
321
|
|
|
264
322
|
def test_deploy_prebuilt_bundle_skips_build(tmp_path: Path, capsys) -> None:
|
|
265
|
-
bundle = tmp_path / "demo-1.0.0.mint"
|
|
266
|
-
bundle.write_bytes(b"bundle")
|
|
323
|
+
bundle = _write_bundle(tmp_path / "demo-1.0.0.mint", "1.0.0")
|
|
267
324
|
client = FakeClient(
|
|
268
325
|
upload_result={"success": True, "name": "demo-plugin", "restart_required": False},
|
|
269
326
|
loaded=[{"name": "demo-plugin", "version": "1.0.0", "routes_prefix": "/demo"}],
|
|
@@ -316,6 +373,20 @@ def test_deploy_json_keeps_build_logs_off_stdout(tmp_path: Path, capsys) -> None
|
|
|
316
373
|
)
|
|
317
374
|
|
|
318
375
|
|
|
376
|
+
def test_deploy_legacy_bundle_without_manifest_waits_for_presence(tmp_path: Path, capsys) -> None:
|
|
377
|
+
bundle = tmp_path / "demo.mint"
|
|
378
|
+
with zipfile.ZipFile(bundle, "w") as zf:
|
|
379
|
+
zf.writestr("demo-1.0.0-py3-none-any.whl", b"")
|
|
380
|
+
client = FakeClient(
|
|
381
|
+
upload_result={"success": True, "name": "demo-plugin", "restart_required": False},
|
|
382
|
+
loaded=[{"name": "demo-plugin", "version": "1.0.0", "routes_prefix": "/demo"}],
|
|
383
|
+
)
|
|
384
|
+
|
|
385
|
+
cmd_deploy(bundle_path=str(bundle), get_client=lambda base_url=None: client, timeout=5)
|
|
386
|
+
|
|
387
|
+
assert "Deployed demo-plugin 1.0.0" in capsys.readouterr().out
|
|
388
|
+
|
|
389
|
+
|
|
319
390
|
def test_deploy_rejects_missing_prebuilt_bundle(tmp_path: Path, capsys) -> None:
|
|
320
391
|
with pytest.raises(SystemExit):
|
|
321
392
|
cmd_deploy(
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_assay_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_panel_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
{mint_sdk-1.2.7 → mint_sdk-1.2.8}/src/mint_sdk/add_data_template_frontend_workflow_templates.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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|