metaobjects 1.1.2__tar.gz → 1.1.3__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.3}/PKG-INFO +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.3}/pyproject.toml +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/router_generator.py +90 -4
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_report_app.py +8 -1
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_report.py +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.3}/uv.lock +1 -1
- {metaobjects-1.1.2 → metaobjects-1.1.3}/.gitignore +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/LICENSE +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/README.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/hatch_build.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/scripts/generate_embedded_library.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/agent_context/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/agent_context/scaffold.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/api_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/apidocs/renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/attr_class_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/cli.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/KNOWN_GAPS.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/_moved.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/collection_name_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/collision_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/eject.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/extract_delegate_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/extract_schema_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/format.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/fr010_field_mapping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generator_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/api_docs_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/entity_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/extractor_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/filter_allowlist_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/find_inbound.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/fr019_shared_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/names_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/output_parser_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/output_prompt_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/render_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/requirement_tests_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/template_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/tph_plan.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/trace_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/instance_artifacts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/metaobjects-config.schema.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/model_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/orphan_sweep.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/output_format_spec_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/overwrite_policy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/project_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/project_import.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/requirement_hooks.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/requirement_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/api_docs_builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/api_docs_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/api_docs_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/api_docs_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/constraint_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/extract_delegate_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/extract_schema_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/filter_parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/fr010_field_mapping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/fr019_shared_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/output_format_spec_emitter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/shared_predicates.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/output_pattern.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/template_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/template_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/type_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/value_objects.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/config/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/config/dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/config/neutral_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/config/source_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/core_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/datatype.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/documentation/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/documentation/doc_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/documentation/doc_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/documentation/doc_schema.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/field_lint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/fmt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/library/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/library/embedded_library.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/library/library_sources.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/merge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/meta_data_loader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/registered_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/resolve_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/sources/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/sources/directory_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/sources/file_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/sources/meta_data_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/sources/uri_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_discriminator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_enum_normalize_ambiguity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_field_mutability.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_reporting.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_source_escapes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_source_parameter_ref.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_source_physical_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validation_passes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/attr/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/attr/attr_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/attr/meta_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/field/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/field/field_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/field/meta_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/identity/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/identity/identity_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/identity/meta_identity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/index/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/index/index_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/index/meta_index.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/meta_object.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/meta_object_aware.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/object_class_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/object_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/object_extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/value_object.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/meta_relationship.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/relationship_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/relationship_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/meta_dimension.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/meta_measure.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/meta_segment.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/report_accessors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/report_read_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/report_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/reporting_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/meta_requirement.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/requirement_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/resolve_claim.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/validator/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/validator/validator_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/meta_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/meta_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/db/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/db/db_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/db/db_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/origin/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/origin/meta_origin.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/origin/origin_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/source/meta_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/persistence/source/source_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/layout/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/layout/layout_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/layout/meta_layout.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/ui/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/ui/ui_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/view/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/view/meta_view.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/presentation/view/view_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/provider_extends.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/template/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/template/meta_template.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/template/prompt_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/template/template_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta_endpoint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/naming_refs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/parser_yaml.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/py.typed +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/registry_manifest.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/email_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/escapers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/KNOWN_GAPS.md +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/coerce.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/extract_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/json_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/locate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/normalize.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/strip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/extract/xml_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/filesystem_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/payload_accessors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/output_format_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/output_format_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/prompt_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/prompt_overrides.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/prompt/prompt_style.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/render/verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/requirement_check.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/dialect.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/drivers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/llm_recorder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/n2m_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/object_manager.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/tph.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/runtime/validator_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/scope.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/serializer_json.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/shared/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/shared/base_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/shared/separators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/shared/structural.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source/error_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source/json_path.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source/semantic_diff.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source/yaml_positions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/source_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/attr.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/db.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/documentation.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/field.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/identity.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/index.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/layout.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/object.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/origin.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/prompt.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/relationship.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/reporting.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/requirement.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/source.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/template.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/ui-web.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/ui.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/validator.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/spec_metamodel/view.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/super_resolve.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/validation_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/yaml_desugar.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/config_helpers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/gen_suite.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/extends/expected/BaseEntity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/extends/expected/Program.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/extends/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/nested-array/expected/AuthorBrief.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/nested-array/expected/PostBrief.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/nested-array/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/scalars/expected/Metric.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/scalars/expected/Report.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/scalars/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/vanilla/expected/Subscriber.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/golden/vanilla/meta.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_abstract_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_api_docs_builder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_api_docs_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_config_gen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_config_verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_fmt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_gen_unknown_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_help_removed_flags.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_providers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_render_helper_template_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_staleness_nudge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_surface.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_verify_field_lint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_verify_requirements.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_verify_strict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cli_verify_subverbs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_codegen_compile_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_collection_name_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_config_run_settings.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_constants_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_cross_package_binding_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_docs_generators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_eject.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_eject_alone.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_eject_independence.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_eject_runtime.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_entity_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_enum_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_extends_abstract_field_inheritance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_extract_tier_collision.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_extractor_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_filter_allowlist_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_fmt_format_file.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_format.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_fr010_nested_object_prompt.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_fr010_output_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_fr019_shared_provided_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_gen_state_keying.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_generator_extension_seams.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_golden.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_hand_edits.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_inherit_without_restate_gate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_inheritance_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_instance_artifacts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_m2m_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_moved_modules.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_names_extends_chain.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_names_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_no_magic_physical_names.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_one_generator_list.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_origin_nullability.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_orphan_sweep.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_output_parser_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_overwrite_policy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_overwrite_policy_hash.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_project_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_project_import.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_projection_compile.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_projection_docs_routes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_recipe_generators.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_render_helper_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_render_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_report_router.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_requirement_tests_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_reverse_finders.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_route_path_naming.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_router_autoset.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_router_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_router_generator_m2m_target_tph.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_router_generator_tph_m2m.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_router_generator_tph_m2m_shadowed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_source_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_sourceless_entity_surface.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_sourceless_projection.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_output_pattern.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_scope_helpers.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_scope_walk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_template_spec.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_tph_codegen.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_trace_helper_generator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_type_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_validation_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_value_objects.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/codegen/test_write_through.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/test_dependencies.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/test_library_package_guard.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/test_neutral_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/test_neutral_config_unknown_key.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/config/test_source_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/capabilities.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/conformance-expected-failures.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/conformance_adapter.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/corpus.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/eject_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/expected_failures.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/fixture_discovery.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/navigator.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_api_docs_cross_port_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_conformance_twin_roundtrip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_dependency_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_eject_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_extract_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_extract_object_array_bounds.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_extract_object_verdict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_field_lint_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_fmt_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_fr010_loader_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_fr011_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_generator_registry_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_naming_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_object_model_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_provider_composition_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_registry_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_requirement_check_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_requirement_test_identity_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_runner_hardfail.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_scope_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_source_resolution_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_spec_metamodel_embed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_strict_attr_load.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_template_codegen_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_template_generator_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_wire_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/test_yaml_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/conformance/yaml-conformance-expected-failures.json +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/api_contract_assertions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/api_contract_jsonb_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/api_contract_m2m_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/api_contract_server.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/conftest.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/corpus_config.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/engines.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_jsonb_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_m2m_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_projection_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_router_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/generated_tph_app.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/meta_ai_trace.yaml +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/mysql_container.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/normalization.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/postgres_container.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/query_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/report_lane.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/scenarios.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_decimal.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_jsonb.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_m2m.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_m2m_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_projection.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_api_contract_tph_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_generated_decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_generated_router_uuid_pk.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_llm_call_trace.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_m2m_target_tph_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_normalization.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_query_scenarios.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_runtime_return_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_tph_m2m_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/integration/test_tph_m2m_shadowed_generated.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_abstract_subtype_authored.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_child_wrapper_body_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_enum_extends_values_conflict.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_field_mutability_order.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_library_packages.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_naming_discovery.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_relative_package_multi_root.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_shipped_library_ai.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/loader/test_template_payload_target_210.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/open_closed_proof_test.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_coerce.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_extract.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_extract_map.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_json_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_locate.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_normalize.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_strip.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/extract/test_xml_forgiving_reader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/prompt/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/prompt/test_output_format_renderer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_email_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_filesystem_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_output_format_renderer_nested.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_output_prompt_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_render_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_render_max_chars.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_render_model_payload.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_verify.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/render/test_verify_conformance.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_constraint_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_decimal_wire.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_literal_naming_sqlite.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_object_manager_currency_read.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_object_manager_dialects.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_object_manager_enum_intvaluemap.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_object_manager_report.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_object_manager_table_name.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_validation_conformance_runtime.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/runtime/test_validator_runner.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_fr5c_merge_attribution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_fr5d_reference_resolution.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_fr5e_database_source_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_json_path.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_semantic_diff.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_source_on_node.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/source/test_yaml_positions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_api_docs_accuracy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_api_docs_packages.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_meta_endpoint.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_report_read_model.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_report_shape.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/test_reporting_inert.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/__init__.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_agent_context_staleness.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_capabilities.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_column_naming_strategy.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_common_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_core_types.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_derive_m2m_declaring_entity.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_effective_children_sibling_shadowing.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_effective_package.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_errors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_field_enum.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_field_enum_intvaluemap.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_field_map_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_field_uuid_dbcolumntype.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_file_source_id.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_fr016_source_name_and_kind_aliases.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_index_lookup.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_inherited_reference_binding.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_llm_recorder.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_loader.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_loader_bom.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_loader_class.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_merge.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_meta_attr.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_meta_data.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_meta_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_module_shortcuts.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_n2m_resolver.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_n2m_resolver_inherited.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_no_dead_config_fields.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_object_manager_autoset_stamping.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_object_manager_uuid_coercion.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_object_manager_write_through.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_one_primary_source.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_parser.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_parser_yaml.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_provider.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_provider_extension.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_registry.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_registry_completeness.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_registry_extend.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_registry_sealed.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_relationship_m2m_validation.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_relationship_references.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_relationship_referential_actions.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_reporting_accessors.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_reporting_validation_spine_default.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_resolution_key.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_resolve_claim.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_runtime_resolution_key_binding.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_serializer.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_serializer_shared_document.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_shared_constants.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_smoke.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_source_escapes.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_sources.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_strict_child_placement.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_super_resolve.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_template_toolcall.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_template_wrong_subtype_attrs.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_attr_schema.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_filter_values.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_origin_195.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_origin_paths.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_sort_field.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_validation_warnings.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/tests/unit/test_write_coercion_arrays.py +0 -0
- {metaobjects-1.1.2 → metaobjects-1.1.3}/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.3
|
|
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.3"
|
|
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.3}/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)
|
|
@@ -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
|
|
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.3}/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.3}/src/metaobjects/codegen/generators/api_docs_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/extractor_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/fr019_shared_enum.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/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.3}/src/metaobjects/codegen/generators/template_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/generators/trace_helper_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/metaobjects-config.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/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.3}/src/metaobjects/codegen/runtime/api_docs_renderer.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/constraint_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/extract_delegate_emitter.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/extract_schema_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/runtime/fr010_field_mapping.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/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.3}/src/metaobjects/codegen/runtime/shared_predicates.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/__init__.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/output_pattern.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/codegen/template_codegen/template_data.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/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
|
|
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.3}/src/metaobjects/loader/validate_enum_normalize_ambiguity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_source_parameter_ref.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/loader/validate_source_physical_names.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.3}/src/metaobjects/meta/core/identity/identity_constants.py
RENAMED
|
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.3}/src/metaobjects/meta/core/object/meta_object_aware.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/object_class_registry.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/object/object_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/relationship/meta_relationship.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/meta_dimension.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/report_accessors.py
RENAMED
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/report_read_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/reporting/reporting_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/meta_requirement.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-1.1.2 → metaobjects-1.1.3}/src/metaobjects/meta/core/requirement/resolve_claim.py
RENAMED
|
File without changes
|
|
File without changes
|