metaobjects 1.1.2__tar.gz → 1.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {metaobjects-1.1.2 → metaobjects-1.1.4}/PKG-INFO +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/pyproject.toml +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/router_generator.py +90 -4
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_reporting.py +13 -3
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/reporting_constants.py +7 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/registry_manifest.py +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/dialect.py +11 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/object_manager.py +1 -2
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_report_app.py +8 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_report.py +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_object_manager_dialects.py +13 -2
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_object_manager_report.py +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_reporting_accessors.py +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/uv.lock +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.4}/.gitignore +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/LICENSE +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/README.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/hatch_build.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/scripts/generate_embedded_library.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/agent_context/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/agent_context/scaffold.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/api_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/apidocs/renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/attr_class_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/cli.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/KNOWN_GAPS.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/_moved.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/collection_name_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/collision_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/eject.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/extract_delegate_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/extract_schema_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/format.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/fr010_field_mapping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generator_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/api_docs_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/entity_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/extractor_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/filter_allowlist_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/find_inbound.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/fr019_shared_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/names_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/output_parser_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/output_prompt_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/render_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/requirement_tests_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/template_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/tph_plan.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/trace_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/instance_artifacts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/metaobjects-config.schema.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/model_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/orphan_sweep.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/output_format_spec_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/overwrite_policy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/project_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/project_import.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/requirement_hooks.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/requirement_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/api_docs_builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/api_docs_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/api_docs_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/api_docs_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/constraint_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/extract_delegate_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/extract_schema_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/filter_parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/fr010_field_mapping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/fr019_shared_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/output_format_spec_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/shared_predicates.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/output_pattern.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/template_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/template_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/type_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/value_objects.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/config/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/config/dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/config/neutral_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/config/source_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/core_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/datatype.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/documentation/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/documentation/doc_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/documentation/doc_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/documentation/doc_schema.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/field_lint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/fmt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/library/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/library/embedded_library.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/library/library_sources.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/merge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/meta_data_loader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/registered_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/resolve_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/sources/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/sources/directory_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/sources/file_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/sources/meta_data_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/sources/uri_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_discriminator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_enum_normalize_ambiguity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_field_mutability.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_source_escapes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_source_parameter_ref.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validate_source_physical_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/loader/validation_passes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/attr/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/attr/attr_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/attr/meta_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/field/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/field/field_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/field/meta_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/identity/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/identity/identity_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/identity/meta_identity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/index/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/index/index_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/index/meta_index.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/meta_object.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/meta_object_aware.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/object_class_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/object_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/object_extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/object/value_object.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/relationship/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/relationship/meta_relationship.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/relationship/relationship_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/relationship/relationship_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/meta_dimension.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/meta_measure.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/meta_segment.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/report_accessors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/report_read_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/report_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/requirement/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/requirement/meta_requirement.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/requirement/requirement_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/requirement/resolve_claim.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/validator/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/validator/validator_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/meta_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/meta_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/db/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/db/db_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/db/db_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/origin/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/origin/meta_origin.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/origin/origin_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/source/meta_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/persistence/source/source_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/layout/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/layout/layout_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/layout/meta_layout.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/ui/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/ui/ui_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/view/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/view/meta_view.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/presentation/view/view_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/provider_extends.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/template/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/template/meta_template.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/template/prompt_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/template/template_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta_endpoint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/naming_refs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/parser_yaml.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/py.typed +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/email_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/escapers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/KNOWN_GAPS.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/coerce.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/extract_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/json_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/locate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/normalize.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/strip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/extract/xml_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/filesystem_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/payload_accessors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/output_format_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/output_format_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/prompt_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/prompt_overrides.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/prompt/prompt_style.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/render/verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/requirement_check.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/drivers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/llm_recorder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/n2m_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/tph.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/runtime/validator_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/scope.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/serializer_json.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/shared/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/shared/base_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/shared/separators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/shared/structural.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source/error_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source/json_path.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source/semantic_diff.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source/yaml_positions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/source_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/attr.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/db.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/documentation.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/field.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/identity.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/index.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/layout.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/object.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/origin.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/prompt.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/relationship.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/reporting.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/requirement.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/source.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/template.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/ui-web.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/ui.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/validator.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/spec_metamodel/view.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/super_resolve.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/validation_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/yaml_desugar.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/config_helpers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/gen_suite.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/extends/expected/BaseEntity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/extends/expected/Program.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/extends/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/nested-array/expected/AuthorBrief.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/nested-array/expected/PostBrief.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/nested-array/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/scalars/expected/Metric.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/scalars/expected/Report.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/scalars/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/vanilla/expected/Subscriber.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/golden/vanilla/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_abstract_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_api_docs_builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_api_docs_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_config_gen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_config_verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_fmt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_gen_unknown_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_help_removed_flags.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_providers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_render_helper_template_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_staleness_nudge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_surface.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_verify_field_lint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_verify_requirements.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_verify_strict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cli_verify_subverbs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_codegen_compile_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_collection_name_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_config_run_settings.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_constants_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_cross_package_binding_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_docs_generators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_eject.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_eject_alone.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_eject_independence.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_eject_runtime.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_entity_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_enum_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_extends_abstract_field_inheritance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_extract_tier_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_extractor_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_filter_allowlist_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_fmt_format_file.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_format.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_fr010_nested_object_prompt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_fr010_output_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_fr019_shared_provided_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_gen_state_keying.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_generator_extension_seams.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_golden.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_hand_edits.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_inherit_without_restate_gate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_inheritance_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_instance_artifacts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_moved_modules.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_names_extends_chain.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_names_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_no_magic_physical_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_one_generator_list.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_origin_nullability.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_orphan_sweep.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_output_parser_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_overwrite_policy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_overwrite_policy_hash.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_project_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_project_import.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_projection_compile.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_projection_docs_routes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_recipe_generators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_render_helper_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_render_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_report_router.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_requirement_tests_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_reverse_finders.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_route_path_naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_router_autoset.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_router_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_router_generator_m2m_target_tph.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_router_generator_tph_m2m.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_router_generator_tph_m2m_shadowed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_source_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_sourceless_entity_surface.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_sourceless_projection.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_output_pattern.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_scope_helpers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_scope_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_template_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_tph_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_trace_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_type_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_validation_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_value_objects.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/codegen/test_write_through.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/test_dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/test_library_package_guard.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/test_neutral_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/test_neutral_config_unknown_key.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/config/test_source_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/capabilities.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/conformance-expected-failures.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/conformance_adapter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/corpus.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/eject_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/expected_failures.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/fixture_discovery.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/navigator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_api_docs_cross_port_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_conformance_twin_roundtrip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_dependency_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_eject_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_extract_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_extract_object_array_bounds.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_extract_object_verdict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_field_lint_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_fmt_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_fr010_loader_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_fr011_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_generator_registry_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_naming_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_object_model_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_provider_composition_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_registry_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_requirement_check_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_requirement_test_identity_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_runner_hardfail.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_scope_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_source_resolution_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_spec_metamodel_embed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_strict_attr_load.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_template_codegen_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_template_generator_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_wire_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/test_yaml_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/conformance/yaml-conformance-expected-failures.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/api_contract_assertions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/api_contract_jsonb_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/api_contract_m2m_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/api_contract_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/conftest.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/corpus_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/engines.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_jsonb_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_m2m_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_projection_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_router_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/generated_tph_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/meta_ai_trace.yaml +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/mysql_container.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/normalization.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/postgres_container.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/query_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/report_lane.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/scenarios.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_decimal.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_jsonb.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_m2m.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_m2m_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_projection.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_api_contract_tph_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_generated_decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_generated_router_uuid_pk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_llm_call_trace.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_m2m_target_tph_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_normalization.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_query_scenarios.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_runtime_return_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_tph_m2m_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/integration/test_tph_m2m_shadowed_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_abstract_subtype_authored.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_child_wrapper_body_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_enum_extends_values_conflict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_field_mutability_order.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_library_packages.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_naming_discovery.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_relative_package_multi_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_shipped_library_ai.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/loader/test_template_payload_target_210.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/open_closed_proof_test.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_coerce.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_extract_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_json_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_locate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_normalize.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_strip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/extract/test_xml_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/prompt/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/prompt/test_output_format_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_email_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_filesystem_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_output_format_renderer_nested.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_output_prompt_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_render_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_render_max_chars.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_render_model_payload.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/render/test_verify_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_constraint_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_literal_naming_sqlite.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_object_manager_currency_read.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_object_manager_enum_intvaluemap.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_object_manager_table_name.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_validation_conformance_runtime.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/runtime/test_validator_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_fr5c_merge_attribution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_fr5d_reference_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_fr5e_database_source_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_json_path.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_semantic_diff.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_source_on_node.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/source/test_yaml_positions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_api_docs_accuracy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_api_docs_packages.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_meta_endpoint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_report_read_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_report_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/test_reporting_inert.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_agent_context_staleness.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_capabilities.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_column_naming_strategy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_common_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_core_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_derive_m2m_declaring_entity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_effective_children_sibling_shadowing.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_effective_package.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_field_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_field_enum_intvaluemap.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_field_map_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_field_uuid_dbcolumntype.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_file_source_id.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_fr016_source_name_and_kind_aliases.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_index_lookup.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_inherited_reference_binding.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_llm_recorder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_loader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_loader_bom.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_loader_class.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_merge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_meta_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_meta_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_meta_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_module_shortcuts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_n2m_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_n2m_resolver_inherited.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_no_dead_config_fields.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_object_manager_autoset_stamping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_object_manager_uuid_coercion.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_object_manager_write_through.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_one_primary_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_parser_yaml.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_provider_extension.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_registry_completeness.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_registry_extend.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_registry_sealed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_relationship_m2m_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_relationship_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_relationship_referential_actions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_reporting_validation_spine_default.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_resolution_key.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_resolve_claim.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_runtime_resolution_key_binding.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_serializer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_serializer_shared_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_shared_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_smoke.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_source_escapes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_sources.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_strict_child_placement.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_super_resolve.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_template_toolcall.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_template_wrong_subtype_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_attr_schema.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_filter_values.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_origin_195.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_origin_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_sort_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_validation_warnings.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_write_coercion_arrays.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.4}/tests/unit/test_yaml_desugar.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: metaobjects
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.4
|
|
4
4
|
Summary: Cross-language metadata standard: declare typed entities once, generate idiomatic drift-checked code across languages — Python port.
|
|
5
5
|
Project-URL: Homepage, https://metaobjects.dev
|
|
6
6
|
Project-URL: Repository, https://github.com/metaobjectsdev/metaobjects
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "metaobjects"
|
|
3
|
-
version = "1.1.
|
|
3
|
+
version = "1.1.4"
|
|
4
4
|
description = "Cross-language metadata standard: declare typed entities once, generate idiomatic drift-checked code across languages — Python port."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/router_generator.py
RENAMED
|
@@ -658,6 +658,12 @@ def _auth_docstring_paragraph(*, read_only: bool) -> str:
|
|
|
658
658
|
)
|
|
659
659
|
|
|
660
660
|
|
|
661
|
+
#: The most rows a report list answers when no cap is configured, the same default in every
|
|
662
|
+
#: port. With no ``limit`` a report answers every row up to the cap and is refused above it,
|
|
663
|
+
#: never truncated.
|
|
664
|
+
DEFAULT_REPORT_MAX_ROWS = 10_000
|
|
665
|
+
|
|
666
|
+
|
|
661
667
|
class RouterGenerator:
|
|
662
668
|
"""One ``<entity_snake>_router.py`` per routed object (FastAPI ``APIRouter``):
|
|
663
669
|
full CRUD for a writable source, read-only for a view-backed one.
|
|
@@ -689,6 +695,13 @@ class RouterGenerator:
|
|
|
689
695
|
|
|
690
696
|
name = "router-generator"
|
|
691
697
|
|
|
698
|
+
def __init__(self, report_max_rows: int = DEFAULT_REPORT_MAX_ROWS) -> None:
|
|
699
|
+
"""*report_max_rows* is the row cap of a served report's list route: with no ``limit``
|
|
700
|
+
the route answers every row up to it, and one more row (or a ``limit`` above it) is
|
|
701
|
+
``400 {"error": "report_too_large", "maxRows": N}``. Reports only; an entity's list
|
|
702
|
+
keeps its paging."""
|
|
703
|
+
self.report_max_rows = report_max_rows
|
|
704
|
+
|
|
692
705
|
def _emit_repository_protocol(
|
|
693
706
|
self, repo_class: str, m2m: list[M2mDescriptor], pk_type: str
|
|
694
707
|
) -> list[str]:
|
|
@@ -758,12 +771,81 @@ class RouterGenerator:
|
|
|
758
771
|
create_autoset: list[str] = (),
|
|
759
772
|
update_autoset: list[str] = (),
|
|
760
773
|
frozen_strip: list[str] = (),
|
|
774
|
+
report_max_rows: int | None = None,
|
|
761
775
|
) -> list[str]:
|
|
762
776
|
"""One CRUD route handler block, dispatched by *name*
|
|
763
777
|
(``list`` / ``get`` / ``create`` / ``update`` / ``delete``). Override to
|
|
764
778
|
change a handler's body / decorators / response shape. *model_name* /
|
|
765
779
|
*patch_model* are the generated create + all-optional PATCH Pydantic models
|
|
766
|
-
used to run field constraints on POST / PATCH (FR-036).
|
|
780
|
+
used to run field constraints on POST / PATCH (FR-036). *report_max_rows* is
|
|
781
|
+
passed only for a served report's ``list``: every row up to that cap, refused above it."""
|
|
782
|
+
if name == "list" and report_max_rows is not None:
|
|
783
|
+
return [
|
|
784
|
+
'@router.get("")',
|
|
785
|
+
f"def list_{plural}(",
|
|
786
|
+
" request: Request,",
|
|
787
|
+
f" repo: Annotated[{repo_class}, Depends(get_repository)],",
|
|
788
|
+
" limit: str | None = Query(None),",
|
|
789
|
+
" offset: str | None = Query(None),",
|
|
790
|
+
" sort: str | None = Query(None),",
|
|
791
|
+
' with_count: int | None = Query(None, alias="withCount"),',
|
|
792
|
+
") -> Any:",
|
|
793
|
+
f" max_rows = {report_max_rows}",
|
|
794
|
+
" too_large = JSONResponse(",
|
|
795
|
+
' status_code=400, content={"error": "report_too_large", "maxRows": max_rows}',
|
|
796
|
+
" )",
|
|
797
|
+
" requested_limit: int | None = None",
|
|
798
|
+
" if limit is not None:",
|
|
799
|
+
" if not (limit.isascii() and limit.isdigit()) or int(limit) < 1:",
|
|
800
|
+
" return JSONResponse(",
|
|
801
|
+
" status_code=400,",
|
|
802
|
+
" content={",
|
|
803
|
+
' "error": "pagination.invalid_value",',
|
|
804
|
+
' "param": "limit",',
|
|
805
|
+
' "value": limit,',
|
|
806
|
+
' "expected": f"an integer from 1 to {max_rows}",',
|
|
807
|
+
" },",
|
|
808
|
+
" )",
|
|
809
|
+
" requested_limit = int(limit)",
|
|
810
|
+
" if requested_limit > max_rows:",
|
|
811
|
+
" return too_large",
|
|
812
|
+
" actual_offset = 0",
|
|
813
|
+
" if offset is not None:",
|
|
814
|
+
" if not (offset.isascii() and offset.isdigit()):",
|
|
815
|
+
" return JSONResponse(",
|
|
816
|
+
" status_code=400,",
|
|
817
|
+
" content={",
|
|
818
|
+
' "error": "pagination.invalid_value",',
|
|
819
|
+
' "param": "offset",',
|
|
820
|
+
' "value": offset,',
|
|
821
|
+
' "expected": "a non-negative integer (0 or more)",',
|
|
822
|
+
" },",
|
|
823
|
+
" )",
|
|
824
|
+
" actual_offset = int(offset)",
|
|
825
|
+
" sort_clause: _SortClause | None = None",
|
|
826
|
+
" if sort is not None:",
|
|
827
|
+
" sort_clause = _parse_sort(sort)",
|
|
828
|
+
" if sort_clause is None:",
|
|
829
|
+
' return JSONResponse(status_code=400, content={"error": "invalid_sort", "field": sort.split(":", 1)[0]})',
|
|
830
|
+
f" filter_result = parse_filter(request.query_params, {fields_const}, {ops_const})",
|
|
831
|
+
" if filter_result.error_envelope is not None:",
|
|
832
|
+
" return JSONResponse(status_code=400, content=filter_result.error_envelope)",
|
|
833
|
+
" predicates, decimal_error = coerce_decimal_predicates(",
|
|
834
|
+
" filter_result.predicates, _DECIMAL_FIELDS",
|
|
835
|
+
" )",
|
|
836
|
+
" if decimal_error is not None:",
|
|
837
|
+
" return JSONResponse(status_code=400, content=decimal_error)",
|
|
838
|
+
" # With no limit the repository is asked for one row past the cap, so the",
|
|
839
|
+
" # refusal comes before any body is written.",
|
|
840
|
+
" fetch_limit = requested_limit if requested_limit is not None else max_rows + 1",
|
|
841
|
+
" rows = repo.list(fetch_limit, actual_offset, sort_clause, predicates)",
|
|
842
|
+
" if requested_limit is None and len(rows) > max_rows:",
|
|
843
|
+
" return too_large",
|
|
844
|
+
" if with_count == 1:",
|
|
845
|
+
" total = repo.count(predicates)",
|
|
846
|
+
' return {"rows": render_wire(rows, _WIRE), "total": total}',
|
|
847
|
+
" return render_wire(rows, _WIRE)",
|
|
848
|
+
]
|
|
767
849
|
if name == "list":
|
|
768
850
|
return [
|
|
769
851
|
'@router.get("")',
|
|
@@ -1803,6 +1885,9 @@ class RouterGenerator:
|
|
|
1803
1885
|
# handlers do not read these; they are required by the shared signature.
|
|
1804
1886
|
model_name="",
|
|
1805
1887
|
patch_model="",
|
|
1888
|
+
# Only a report is capped; passed for it alone so an adopter's `_emit_route_handler`
|
|
1889
|
+
# override that does not take the keyword keeps working for a projection.
|
|
1890
|
+
**({"report_max_rows": self.report_max_rows} if is_report else {}),
|
|
1806
1891
|
)
|
|
1807
1892
|
for i, hname in enumerate(("list", "get") if item_route else ("list",)):
|
|
1808
1893
|
if i > 0:
|
|
@@ -1856,11 +1941,12 @@ def render_router(
|
|
|
1856
1941
|
return RouterGenerator().render_router(entity, object_index, column_naming)
|
|
1857
1942
|
|
|
1858
1943
|
|
|
1859
|
-
def router_generator() -> Generator:
|
|
1944
|
+
def router_generator(report_max_rows: int = DEFAULT_REPORT_MAX_ROWS) -> Generator:
|
|
1860
1945
|
"""Generator factory: one ``<entity_snake>_router.py`` per routed object —
|
|
1861
|
-
full CRUD for a writable source, read-only for a view-backed one.
|
|
1946
|
+
full CRUD for a writable source, read-only for a view-backed one. *report_max_rows*
|
|
1947
|
+
is the row cap of a served report's list route (default 10000).
|
|
1862
1948
|
|
|
1863
1949
|
Returns a :class:`RouterGenerator` (subclassable extension seam). Skips objects
|
|
1864
1950
|
without a ``source.rdb`` child and the non-collection read-only kinds
|
|
1865
1951
|
(storedProc / tableFunction)."""
|
|
1866
|
-
return RouterGenerator()
|
|
1952
|
+
return RouterGenerator(report_max_rows)
|
|
@@ -96,6 +96,8 @@ from ..meta.core.reporting.reporting_constants import (
|
|
|
96
96
|
AGG_MIN,
|
|
97
97
|
AGG_SUM,
|
|
98
98
|
FILTER_RELATIVE_NOW,
|
|
99
|
+
FILTER_RELATIVE_START_OF,
|
|
100
|
+
RELATIVE_START_OF_UNITS,
|
|
99
101
|
GRAIN_HOUR,
|
|
100
102
|
ISO_DURATION_RE,
|
|
101
103
|
MEASURE_SUBTYPE_AGGREGATE,
|
|
@@ -310,7 +312,7 @@ def _is_document_field(field: MetaData) -> bool:
|
|
|
310
312
|
|
|
311
313
|
def _is_relative_value(v: object) -> TypeGuard[dict[str, object]]:
|
|
312
314
|
"""An object operand carrying a ``now`` key — a relative-date value, well-formed
|
|
313
|
-
(
|
|
315
|
+
(``{ now }`` plus an optional ``startOf``) or not. A malformed one is refused, never read as data."""
|
|
314
316
|
return isinstance(v, dict) and FILTER_RELATIVE_NOW in v
|
|
315
317
|
|
|
316
318
|
|
|
@@ -861,10 +863,10 @@ def _check_filter(
|
|
|
861
863
|
relative = _relative_operand(operand)
|
|
862
864
|
if relative is None:
|
|
863
865
|
continue
|
|
864
|
-
if
|
|
866
|
+
if not set(relative) <= {FILTER_RELATIVE_NOW, FILTER_RELATIVE_START_OF}:
|
|
865
867
|
err(
|
|
866
868
|
f"@filter on '{key}' has a malformed relative date {_js_json(relative)}; a relative date is "
|
|
867
|
-
f'
|
|
869
|
+
f'{{ now: "<ISO-8601 duration>" }} with an optional startOf, and no other keys.'
|
|
868
870
|
)
|
|
869
871
|
continue
|
|
870
872
|
if field.sub_type not in _TEMPORAL_FIELD_SUBTYPES:
|
|
@@ -885,6 +887,14 @@ def _check_filter(
|
|
|
885
887
|
f"@filter on '{key}' has relative date '{_quote_value(duration)}', which is not an ISO-8601 "
|
|
886
888
|
f"duration (e.g. '-P7D', '-PT12H')."
|
|
887
889
|
)
|
|
890
|
+
continue
|
|
891
|
+
if FILTER_RELATIVE_START_OF in relative:
|
|
892
|
+
start_of = relative[FILTER_RELATIVE_START_OF]
|
|
893
|
+
if not isinstance(start_of, str) or start_of not in RELATIVE_START_OF_UNITS:
|
|
894
|
+
err(
|
|
895
|
+
f"@filter on '{key}' has startOf '{_quote_value(start_of)}'; startOf is one of "
|
|
896
|
+
f"{', '.join(RELATIVE_START_OF_UNITS)}."
|
|
897
|
+
)
|
|
888
898
|
|
|
889
899
|
|
|
890
900
|
# ---------------------------------------------------------------------------
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/meta/core/reporting/reporting_constants.py
RENAMED
|
@@ -107,6 +107,13 @@ REPORT_DIMENSION_GRAIN_SEPARATOR = ":"
|
|
|
107
107
|
#: Legal only in the ``@filter`` of a ``segment``, ``measure.aggregate`` or ``object.report``.
|
|
108
108
|
FILTER_RELATIVE_NOW = "now"
|
|
109
109
|
|
|
110
|
+
#: The optional second key of a relative-date value: ``{ "now": "-P90D", "startOf": "day" }``
|
|
111
|
+
#: truncates the instant (after the duration is applied) to the start of that UTC calendar unit.
|
|
112
|
+
FILTER_RELATIVE_START_OF = "startOf"
|
|
113
|
+
|
|
114
|
+
#: The calendar units ``startOf`` accepts. A week is the ISO week, Monday start.
|
|
115
|
+
RELATIVE_START_OF_UNITS: tuple[str, ...] = ("day", "week", "month")
|
|
116
|
+
|
|
110
117
|
#: A signed ISO-8601 duration (``-P7D``, ``P1Y2M``, ``-PT12H``). The lookaheads refuse
|
|
111
118
|
#: the degenerate ``P`` and ``PT`` forms (a designator with no component). The pattern
|
|
112
119
|
#: is the rule table's verbatim; ``\Z`` stands in for JS ``$`` (Python ``$`` would also
|
|
@@ -255,7 +255,7 @@ def _sorted_children(definition: TypeDefinition) -> list[dict[str, object]]:
|
|
|
255
255
|
return children
|
|
256
256
|
|
|
257
257
|
|
|
258
|
-
METAMODEL_VERSION = "1.
|
|
258
|
+
METAMODEL_VERSION = "1.2"
|
|
259
259
|
"""Rolled-up spec-version for the cross-port registry manifest.
|
|
260
260
|
|
|
261
261
|
``"0"`` = pre-1.0 / unstable (semver major-0). Flips to ``"1.0"`` at the
|
|
@@ -68,6 +68,12 @@ class Dialect:
|
|
|
68
68
|
"""``col LIKE pattern`` with the pattern verbatim and the match case-SENSITIVE."""
|
|
69
69
|
return f"{quoted_column} LIKE {self.placeholder}", [pattern]
|
|
70
70
|
|
|
71
|
+
def order_term(self, quoted_column: str, descending: bool) -> str:
|
|
72
|
+
"""One ``ORDER BY`` term with nulls LARGER than any value: ASC puts them last, DESC
|
|
73
|
+
first, on every engine. That is Postgres's own default, so this is its native form;
|
|
74
|
+
SQLite and MySQL would put nulls first on ASC."""
|
|
75
|
+
return f"{quoted_column} {'DESC NULLS FIRST' if descending else 'ASC NULLS LAST'}"
|
|
76
|
+
|
|
71
77
|
def false_predicate(self) -> str:
|
|
72
78
|
return "FALSE"
|
|
73
79
|
|
|
@@ -270,6 +276,11 @@ class MySqlDialect(Dialect):
|
|
|
270
276
|
default_values = "() VALUES ()"
|
|
271
277
|
unbounded_limit = "18446744073709551615"
|
|
272
278
|
|
|
279
|
+
def order_term(self, quoted_column: str, descending: bool) -> str:
|
|
280
|
+
# No NULLS FIRST/LAST on MySQL: a leading `col IS NULL` key (0 for a value, 1 for null).
|
|
281
|
+
d = "DESC" if descending else "ASC"
|
|
282
|
+
return f"({quoted_column} IS NULL) {d}, {quoted_column} {d}"
|
|
283
|
+
|
|
273
284
|
def quote(self, ident: str) -> str:
|
|
274
285
|
if "`" in ident:
|
|
275
286
|
raise ValueError(f"unsafe identifier: {ident}")
|
|
@@ -634,8 +634,7 @@ class ObjectManager:
|
|
|
634
634
|
for field_name, direction in sort:
|
|
635
635
|
f = entity.find_field(field_name)
|
|
636
636
|
col = _column_of(f, self._column_naming) if f is not None else field_name
|
|
637
|
-
|
|
638
|
-
order_parts.append(f"{self._d.quote(col)} {d}")
|
|
637
|
+
order_parts.append(self._d.order_term(self._d.quote(col), direction.lower() == "desc"))
|
|
639
638
|
if order_parts:
|
|
640
639
|
sql += " ORDER BY " + ", ".join(order_parts)
|
|
641
640
|
if limit is not None:
|
|
@@ -42,6 +42,7 @@ from metaobjects import MetaDataLoader
|
|
|
42
42
|
from .corpus_config import attach_corpus_wire
|
|
43
43
|
from metaobjects.codegen.config import GenConfig
|
|
44
44
|
from metaobjects.codegen.generator_registry import GeneratorBuildContext, list_generators
|
|
45
|
+
from metaobjects.codegen.generators.router_generator import router_generator
|
|
45
46
|
from metaobjects.codegen.runner import run_gen
|
|
46
47
|
from metaobjects.codegen.runtime.filter_parser import FilterPredicate
|
|
47
48
|
from metaobjects.naming import attach_naming
|
|
@@ -60,7 +61,11 @@ SERVED_REPORTS: dict[str, str] = {
|
|
|
60
61
|
"SalesBySku": "sales_by_sku",
|
|
61
62
|
"ProductRefunds": "product_refunds",
|
|
62
63
|
"TicketsByTags": "tickets_by_tags",
|
|
64
|
+
"ReadingLog": "reading_log",
|
|
63
65
|
}
|
|
66
|
+
#: The row cap every lane builds its report routers with: ``ReadingLog`` has one row more, so the
|
|
67
|
+
#: cap scenarios tell "exactly the cap" from "past it" (``report/README.md``).
|
|
68
|
+
REPORT_CORPUS_MAX_ROWS = 60
|
|
64
69
|
#: The sourceless report: generated nowhere, mounted nowhere.
|
|
65
70
|
UNSERVED_REPORT = "InvoiceDays"
|
|
66
71
|
|
|
@@ -121,7 +126,9 @@ def generate_reports(corpus_root: Path, model: LaneModel = REPORT_MODEL) -> Gene
|
|
|
121
126
|
templates = tmp / "templates"
|
|
122
127
|
templates.mkdir()
|
|
123
128
|
generators = [
|
|
124
|
-
|
|
129
|
+
router_generator(REPORT_CORPUS_MAX_ROWS)
|
|
130
|
+
if entry.name == "routes"
|
|
131
|
+
else entry.factory(GeneratorBuildContext(template_root=str(templates)))
|
|
125
132
|
for entry in list_generators()
|
|
126
133
|
if entry.name in _GENERATORS
|
|
127
134
|
]
|
|
@@ -102,7 +102,7 @@ def test_exactly_the_served_reports_are_generated() -> None:
|
|
|
102
102
|
allowlist and router (and the names module is not a route concern, so it is not asked
|
|
103
103
|
for here: only the three generators the lane runs)."""
|
|
104
104
|
emitted = generate_reports(_CORPUS).emitted
|
|
105
|
-
assert len(SERVED_REPORTS) ==
|
|
105
|
+
assert len(SERVED_REPORTS) == 11
|
|
106
106
|
for report, stem in SERVED_REPORTS.items():
|
|
107
107
|
assert f"{report}.py" in emitted
|
|
108
108
|
assert f"{stem}_filter_allowlist.py" in emitted
|
|
@@ -113,7 +113,7 @@ def test_sqlite_read_uses_qmark_placeholders_and_double_quotes() -> None:
|
|
|
113
113
|
sql, params = rec.sql[-1]
|
|
114
114
|
assert sql == (
|
|
115
115
|
'SELECT "id", "label", "qty", "active", "price", "ref", "madeOn", "seenAt" FROM "items" '
|
|
116
|
-
'WHERE "qty" >= ? AND "label" = ? ORDER BY "qty" DESC LIMIT 5 OFFSET 10'
|
|
116
|
+
'WHERE "qty" >= ? AND "label" = ? ORDER BY "qty" DESC NULLS FIRST LIMIT 5 OFFSET 10'
|
|
117
117
|
)
|
|
118
118
|
assert params == (2, "a")
|
|
119
119
|
|
|
@@ -264,7 +264,7 @@ def test_mysql_read_uses_backticks_and_percent_placeholders() -> None:
|
|
|
264
264
|
sql, params = conn.sql[-1]
|
|
265
265
|
assert sql == (
|
|
266
266
|
"SELECT `id`, `label`, `qty`, `active`, `price`, `ref`, `madeOn`, `seenAt` FROM `items` "
|
|
267
|
-
"WHERE `qty` >= %s AND `label` LIKE BINARY %s ORDER BY `qty` ASC "
|
|
267
|
+
"WHERE `qty` >= %s AND `label` LIKE BINARY %s ORDER BY (`qty` IS NULL) ASC, `qty` ASC "
|
|
268
268
|
"LIMIT 18446744073709551615 OFFSET 4"
|
|
269
269
|
)
|
|
270
270
|
assert params == (2, "A%")
|
|
@@ -415,3 +415,14 @@ def test_a_mysql_decimal_operand_is_cast_to_a_decimal() -> None:
|
|
|
415
415
|
sql, _ = _op_clause("amount", "in", [Decimal("1"), Decimal("2")], f, MYSQL)
|
|
416
416
|
assert sql.count("CAST(%s AS DECIMAL(65,30))") == 2
|
|
417
417
|
assert _op_clause("amount", "eq", Decimal("1.5"), f, POSTGRES)[0] == '"amount" = %s'
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
def test_order_term_puts_nulls_largest_on_every_dialect() -> None:
|
|
421
|
+
from metaobjects.runtime.dialect import MySqlDialect, PostgresDialect, SqliteDialect
|
|
422
|
+
|
|
423
|
+
for d in (PostgresDialect(), SqliteDialect()):
|
|
424
|
+
assert d.order_term('"c"', False) == '"c" ASC NULLS LAST'
|
|
425
|
+
assert d.order_term('"c"', True) == '"c" DESC NULLS FIRST'
|
|
426
|
+
my = MySqlDialect()
|
|
427
|
+
assert my.order_term("`c`", False) == "(`c` IS NULL) ASC, `c` ASC"
|
|
428
|
+
assert my.order_term("`c`", True) == "(`c` IS NULL) DESC, `c` DESC"
|
|
@@ -152,7 +152,7 @@ def test_filter_sort_limit_on_derived_fields() -> None:
|
|
|
152
152
|
"ProgramMinutes", {"weeks": {"gte": 2}}, sort=[("totalMinutes", "desc")], limit=1
|
|
153
153
|
)
|
|
154
154
|
sql = drv.sql[0]
|
|
155
|
-
assert sql.endswith('FROM "v_program_minutes" WHERE "weeks" >= %s ORDER BY "totalMinutes" DESC LIMIT 1')
|
|
155
|
+
assert sql.endswith('FROM "v_program_minutes" WHERE "weeks" >= %s ORDER BY "totalMinutes" DESC NULLS FIRST LIMIT 1')
|
|
156
156
|
assert drv.params[0] == (2,)
|
|
157
157
|
|
|
158
158
|
|
|
@@ -333,7 +333,7 @@ def test_malformed_relative_value_is_refused() -> None:
|
|
|
333
333
|
(
|
|
334
334
|
ErrorCode.ERR_BAD_ATTR_FILTER,
|
|
335
335
|
"report 'acme::shop::DailyRevenue': @filter on 'purchasedAt' has a malformed relative date "
|
|
336
|
-
'{"now":"-P7D","x":1}; a relative date is
|
|
336
|
+
'{"now":"-P7D","x":1}; a relative date is { now: "<ISO-8601 duration>" } with an optional startOf, and no other keys.',
|
|
337
337
|
)
|
|
338
338
|
]
|
|
339
339
|
|
|
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
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/collection_name_collision.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
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/api_docs_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/extractor_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/fr019_shared_enum.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/names_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/template_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/generators/trace_helper_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/metaobjects-config.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/output_format_spec_emitter.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
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/api_docs_renderer.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/constraint_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/extract_delegate_emitter.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/extract_schema_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/fr010_field_mapping.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/fr019_shared_enum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/runtime/shared_predicates.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/__init__.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/output_pattern.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/template_data.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.4}/src/metaobjects/codegen/template_codegen/template_spec.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
|