metaobjects 0.19.7__tar.gz → 0.19.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {metaobjects-0.19.7 → metaobjects-0.19.8}/PKG-INFO +1 -1
- {metaobjects-0.19.7 → metaobjects-0.19.8}/pyproject.toml +1 -1
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/type_map.py +8 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/core_types.py +9 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/field/field_constants.py +5 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/field.json +9 -3
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_validation_conformance.py +19 -3
- {metaobjects-0.19.7 → metaobjects-0.19.8}/.gitignore +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/LICENSE +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/README.md +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/hatch_build.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/agent_context/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/agent_context/scaffold.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/api_model.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/builder.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/naming.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/paths.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/apidocs/renderer.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/attr_class_map.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/cli.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/KNOWN_GAPS.md +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/config.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/extract_delegate_emitter.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/extract_schema_emitter.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/format.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/fr010_field_mapping.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generator_registry.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/entity_model.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/extractor_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/filter_allowlist_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/fr019_shared_enum.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/m2m_codegen.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/output_parser_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/output_prompt_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/payload_vo_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/render_helper_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/router_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/template_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/tph_plan.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/trace_helper_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/instance_artifacts.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/output_format_spec_emitter.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/overwrite_policy.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/runner.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/runtime/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/runtime/filter_parser.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/output_pattern.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/template_data.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/template_spec.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/datatype.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/documentation/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/documentation/doc_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/documentation/doc_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/documentation/doc_schema.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/errors.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/merge.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/meta_data_loader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/registered_validation.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/directory_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/file_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/meta_data_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/uri_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_discriminator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_field_readonly.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_source_escapes.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_source_parameter_ref.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_source_physical_names.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validation_passes.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/attr/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/attr/attr_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/attr/meta_attr.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/field/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/field/meta_field.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/identity/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/identity/identity_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/identity/meta_identity.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/index/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/index/index_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/index/meta_index.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/meta_object.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/meta_object_aware.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_class_registry.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_extract.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/value_object.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/relationship/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/relationship/meta_relationship.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/relationship/relationship_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/validator/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/validator/validator_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/meta_data.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/meta_root.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/db/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/db/db_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/db/db_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/origin/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/origin/meta_origin.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/origin/origin_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/source/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/source/meta_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/source/source_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/layout/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/layout/layout_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/layout/meta_layout.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/ui/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/ui/ui_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/meta_view.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/view_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/provider_extends.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/template/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/template/meta_template.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/template/prompt_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/template/template_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/naming_refs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/parser.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/parser_yaml.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/py.typed +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/registry.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/registry_manifest.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/email_document.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/escapers.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/KNOWN_GAPS.md +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/coerce.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/extract.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/extract_map.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/json_forgiving_reader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/locate.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/normalize.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/strip.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/types.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/xml_forgiving_reader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/filesystem_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/output_format_renderer.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/output_format_spec.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/prompt_field.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/prompt_overrides.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/prompt_style.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/renderer.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/verify.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/runtime/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/runtime/llm_recorder.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/runtime/n2m_resolver.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/runtime/object_manager.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/runtime/tph.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/serializer_json.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/shared/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/shared/base_types.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/shared/separators.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/shared/structural.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/source/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/source/error_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/source/json_path.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/source/semantic_diff.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/source/yaml_positions.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/attr.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/db.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/documentation.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/identity.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/index.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/layout.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/object.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/origin.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/prompt.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/relationship.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/source.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/template.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/ui-web.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/ui.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/validator.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/spec_metamodel/view.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/super_resolve.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/validation_types.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/yaml_desugar.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/extends/expected/BaseEntity.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/extends/expected/Program.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/extends/meta.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/nested-array/expected/AuthorBrief.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/nested-array/expected/PostBrief.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/nested-array/meta.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/scalars/expected/Metric.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/scalars/expected/Report.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/scalars/meta.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/vanilla/expected/Subscriber.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/golden/vanilla/meta.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_abstract_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_api_docs_builder.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_api_docs_paths.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli_providers.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli_registry.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli_staleness_nudge.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli_verify_strict.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_cli_verify_subverbs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_constants_config.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_entity_model.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_enum_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_extends_abstract_field_inheritance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_extractor_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_filter_allowlist_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_format.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_fr010_nested_object_prompt.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_fr010_output_codegen.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_fr019_shared_provided_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_generator_extension_seams.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_golden.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_inherit_without_restate_gate.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_inheritance_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_instance_artifacts.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_m2m_codegen.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_origin_nullability.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_output_parser_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_overwrite_policy.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_payload_vo_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_projection_compile.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_render_helper_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_render_helper_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_reverse_finders.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_router_autoset.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_router_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_runner.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_data.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_output_pattern.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_scope_helpers.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_scope_walk.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_template_spec.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_tph_codegen.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_trace_helper_generator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_type_map.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/codegen/test_write_through.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/capabilities.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/conformance-expected-failures.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/conformance_adapter.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/corpus.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/expected_failures.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/fixture_discovery.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/navigator.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_api_docs_cross_port_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_extract_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_extract_object_verdict.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_fr010_loader_attrs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_fr011_attrs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_generator_registry_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_object_model_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_provider_composition_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_registry_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_runner_hardfail.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_spec_metamodel_embed.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_strict_attr_load.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_template_codegen_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_template_generator_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/test_yaml_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/conformance/yaml-conformance-expected-failures.json +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/api_contract_assertions.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/api_contract_jsonb_server.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/api_contract_m2m_server.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/api_contract_server.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/generated_jsonb_app.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/generated_m2m_app.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/generated_router_app.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/generated_tph_app.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/meta_ai_trace.yaml +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/normalization.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/postgres_container.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/query_runner.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/scenarios.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract_generated.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract_jsonb.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract_m2m.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract_m2m_generated.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_api_contract_tph_generated.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_generated_router_uuid_pk.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_llm_call_trace.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_normalization.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_query_scenarios.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/integration/test_runtime_return_types.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/open_closed_proof_test.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_coerce.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_extract.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_extract_map.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_json_forgiving_reader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_locate.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_model.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_normalize.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_strip.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/extract/test_xml_forgiving_reader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/prompt/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/prompt/test_output_format_renderer.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_email_document.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_filesystem_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_output_format_renderer_nested.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_output_prompt_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_render_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_render_max_chars.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_verify.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/render/test_verify_conformance.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_fr5c_merge_attribution.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_fr5d_reference_resolution.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_fr5e_database_source_shape.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_json_path.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_semantic_diff.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_source_on_node.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/source/test_yaml_positions.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/test_api_docs_accuracy.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/__init__.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_agent_context_staleness.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_capabilities.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_common_attrs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_core_types.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_effective_package.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_errors.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_field_enum.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_field_map_validation.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_field_uuid_dbcolumntype.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_fr016_source_name_and_kind_aliases.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_index_lookup.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_llm_recorder.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_loader.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_loader_bom.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_loader_class.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_merge.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_meta_attr.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_meta_data.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_meta_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_module_shortcuts.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_n2m_resolver.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_n2m_resolver_inherited.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_object_manager_autoset_stamping.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_object_manager_uuid_coercion.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_object_manager_write_through.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_one_primary_source.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_parser.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_parser_yaml.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_provider.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_provider_extension.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_registry.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_registry_completeness.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_registry_extend.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_registry_sealed.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_relationship_referential_actions.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_resolution_key.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_runtime_resolution_key_binding.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_serializer.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_shared_constants.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_smoke.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_source_escapes.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_sources.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_strict_child_placement.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_super_resolve.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_template_toolcall.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_template_wrong_subtype_attrs.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_attr_schema.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_filter_values.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_origin_195.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_origin_paths.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_sort_field.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_validation_warnings.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_write_coercion_arrays.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/tests/unit/test_yaml_desugar.py +0 -0
- {metaobjects-0.19.7 → metaobjects-0.19.8}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metaobjects
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.8
|
|
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 = "0.19.
|
|
3
|
+
version = "0.19.8"
|
|
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"
|
|
@@ -116,6 +116,14 @@ def py_type_for(field: MetaField) -> PyType:
|
|
|
116
116
|
# z.unknown() (#97) — since jsonb can hold any JSON value. (Other ports whose
|
|
117
117
|
# drivers return jsonb as raw text correctly keep their string type.)
|
|
118
118
|
base = PyType("Any", ("from typing import Any",))
|
|
119
|
+
elif (
|
|
120
|
+
field.sub_type in (fc.FIELD_SUBTYPE_URI, fc.FIELD_SUBTYPE_INET)
|
|
121
|
+
and field.attrs().get(fc.FIELD_ATTR_LENIENT) is True
|
|
122
|
+
):
|
|
123
|
+
# #234 — @lenient opts a field.uri / field.inet out of strict well-formedness:
|
|
124
|
+
# bind a plain ``str`` (not Pydantic AnyUrl / IPvAnyAddress, whose construction
|
|
125
|
+
# IS the validator) so a not-strictly-valid value round-trips unchanged.
|
|
126
|
+
base = PyType("str")
|
|
119
127
|
else:
|
|
120
128
|
base = _SCALAR.get(field.sub_type, PyType("str"))
|
|
121
129
|
if field_is_array(field):
|
|
@@ -391,6 +391,15 @@ for _def in core_provider._defs: # noqa: SLF001 (provider build-time enrichment
|
|
|
391
391
|
)
|
|
392
392
|
break
|
|
393
393
|
|
|
394
|
+
# #234 — field.uri / field.inet carry the @lenient attr (opt out of strict URI / IP-literal
|
|
395
|
+
# well-formedness; codegen binds a plain string, and field.inet a text column) IN ADDITION to the
|
|
396
|
+
# common field attrs. Mirrors the @stringFormat enrichment above (and TS/Java/C#).
|
|
397
|
+
for _def in core_provider._defs: # noqa: SLF001 (provider build-time enrichment)
|
|
398
|
+
if _def.type == TYPE_FIELD and _def.sub_type in (fc.FIELD_SUBTYPE_URI, fc.FIELD_SUBTYPE_INET):
|
|
399
|
+
_def.attrs.append(
|
|
400
|
+
AttrSchema(name=fc.FIELD_ATTR_LENIENT, value_type=ATTR_SUBTYPE_BOOLEAN, required=False)
|
|
401
|
+
)
|
|
402
|
+
|
|
394
403
|
# field.map carries the @valueType attr (scalar value subtype) IN ADDITION to the
|
|
395
404
|
# common field attrs (@objectRef is already common). The bulk loop registered
|
|
396
405
|
# field.map with the common attrs; append @valueType to that definition (mirrors
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/field/field_constants.py
RENAMED
|
@@ -132,6 +132,11 @@ STRING_FORMAT_EMAIL = "email"
|
|
|
132
132
|
STRING_FORMAT_HOSTNAME = "hostname"
|
|
133
133
|
STRING_FORMAT_VALUES = (STRING_FORMAT_EMAIL, STRING_FORMAT_HOSTNAME)
|
|
134
134
|
|
|
135
|
+
# #234: opt a field.uri / field.inet OUT of strict well-formedness enforcement (optional boolean;
|
|
136
|
+
# default strict). When true, codegen binds a plain string (no URL/IP validator, no native type;
|
|
137
|
+
# field.inet uses a text column). Only on field.uri / field.inet. Mirrors TS FIELD_ATTR_LENIENT.
|
|
138
|
+
FIELD_ATTR_LENIENT = "lenient"
|
|
139
|
+
|
|
135
140
|
# @autoSet allowed values (cross-port).
|
|
136
141
|
AUTO_SET_ON_CREATE = "onCreate"
|
|
137
142
|
AUTO_SET_ON_UPDATE = "onUpdate"
|
|
@@ -167,15 +167,21 @@
|
|
|
167
167
|
"dataType": "string",
|
|
168
168
|
"extendsBase": true,
|
|
169
169
|
"description": "A URI/URL string (ADR-0036/0037 — a concept with a native type + behavior, so a subtype not a @stringFormat). Binds to TS string (TS has no native URI type, same as field.uuid); other ports bind to their native URI type (Java java.net.URI, C# System.Uri, Python urllib.parse, Kotlin java.net.URI) and parse scheme/authority/path. DB column is text (Postgres has no uri type). Codegen emits a URL/URI validator (TS Zod z.string().url()). v1 ships WITHOUT @kind — the native type subsumes url/urn; @kind is reserved for a later url|urn value-constraint.",
|
|
170
|
-
"whenToUse": "A field holds a URL or URI. Use it for a typed URI column + URL validation instead of a plain string."
|
|
170
|
+
"whenToUse": "A field holds a URL or URI. Use it for a typed URI column + URL validation instead of a plain string.",
|
|
171
|
+
"children": [
|
|
172
|
+
{ "type": "attr", "subType": "boolean", "name": "lenient", "min": 0, "max": 1, "description": "#234: opt this field out of strict well-formedness enforcement. When true, codegen binds a plain string (no URL/IP validator, no native URI/InetAddress type; field.inet uses a text column, not the native inet type) so a not-strictly-valid value round-trips unchanged. Default (absent/false) is strict: an absolute-scheme URI / an IPv4-or-IPv6 literal." }
|
|
173
|
+
]
|
|
171
174
|
},
|
|
172
175
|
{
|
|
173
176
|
"type": "field",
|
|
174
177
|
"subType": "inet",
|
|
175
178
|
"dataType": "string",
|
|
176
179
|
"extendsBase": true,
|
|
177
|
-
"description": "An IP-address string (IPv4 or IPv6) (ADR-0036/0037 — a concept with a native type + behavior, so a subtype not a @stringFormat). Binds to TS string (TS has no native IP type, same as field.uuid); other ports bind to their native IP type (Java java.net.InetAddress, C# System.Net.IPAddress, Python ipaddress, Kotlin java.net.InetAddress). DB column is the Postgres-native inet type. Codegen emits an
|
|
178
|
-
"whenToUse": "A field holds an IPv4 or IPv6 address. Use it for a native Postgres inet column + IP validation instead of a plain string."
|
|
180
|
+
"description": "An IP-address string (IPv4 or IPv6) (ADR-0036/0037 — a concept with a native type + behavior, so a subtype not a @stringFormat). Binds to TS string (TS has no native IP type, same as field.uuid); other ports bind to their native IP type (Java java.net.InetAddress, C# System.Net.IPAddress, Python ipaddress, Kotlin java.net.InetAddress). DB column is the Postgres-native inet type. Codegen emits an IPv4-or-IPv6 literal validator (a Zod regex union in TS — z.string().ip() was removed in Zod 4 — native IP-type parsing in the other ports); add @lenient to bind a plain string with no validator. v1 ships WITHOUT @kind — the native type subsumes ipv4/ipv6; @kind is reserved for a later ipv4|ipv6 value-constraint.",
|
|
181
|
+
"whenToUse": "A field holds an IPv4 or IPv6 address. Use it for a native Postgres inet column + IP validation instead of a plain string.",
|
|
182
|
+
"children": [
|
|
183
|
+
{ "type": "attr", "subType": "boolean", "name": "lenient", "min": 0, "max": 1, "description": "#234: opt this field out of strict well-formedness enforcement. When true, codegen binds a plain string (no URL/IP validator, no native URI/InetAddress type; field.inet uses a text column, not the native inet type) so a not-strictly-valid value round-trips unchanged. Default (absent/false) is strict: an absolute-scheme URI / an IPv4-or-IPv6 literal." }
|
|
184
|
+
]
|
|
179
185
|
}
|
|
180
186
|
]
|
|
181
187
|
}
|
|
@@ -15,7 +15,10 @@ model, so asserting against the read model would no longer exercise Pin 1 at all
|
|
|
15
15
|
"""
|
|
16
16
|
from __future__ import annotations
|
|
17
17
|
|
|
18
|
+
import importlib.util
|
|
18
19
|
import json
|
|
20
|
+
import sys
|
|
21
|
+
import tempfile
|
|
19
22
|
from pathlib import Path
|
|
20
23
|
|
|
21
24
|
import pytest
|
|
@@ -52,9 +55,22 @@ def _build_generated_model() -> type[BaseModel]:
|
|
|
52
55
|
artifact), not the plain ``Account`` read model: FR-036 Pin 1 lives on the wire
|
|
53
56
|
tier only."""
|
|
54
57
|
source = render_entity_model(_load_account_entity())
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
# Import the generated source as a REAL module rather than exec'ing it into a
|
|
59
|
+
# bare dict: under ``from __future__ import annotations`` Pydantic resolves
|
|
60
|
+
# type annotations lazily via the class's module globals, so a non-builtin
|
|
61
|
+
# import (e.g. ``AnyUrl``/``IPvAnyAddress`` for field.uri/field.inet) only
|
|
62
|
+
# resolves when ``__name__`` and the module's imports are in scope. A bare
|
|
63
|
+
# exec namespace has no ``__name__`` (forward refs fall back to builtins and
|
|
64
|
+
# fail — #234); a proper module import mirrors the TS runner's temp-module.
|
|
65
|
+
tmp_dir = tempfile.mkdtemp()
|
|
66
|
+
mod_path = Path(tmp_dir) / "generated_account.py"
|
|
67
|
+
mod_path.write_text(source)
|
|
68
|
+
spec = importlib.util.spec_from_file_location("generated_account", mod_path)
|
|
69
|
+
assert spec and spec.loader
|
|
70
|
+
module = importlib.util.module_from_spec(spec)
|
|
71
|
+
sys.modules["generated_account"] = module
|
|
72
|
+
spec.loader.exec_module(module)
|
|
73
|
+
model = module.AccountCreate
|
|
58
74
|
assert isinstance(model, type) and issubclass(model, BaseModel)
|
|
59
75
|
return model
|
|
60
76
|
|
|
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-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/extract_delegate_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/entity_model.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/extractor_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/fr019_shared_enum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/payload_vo_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/router_generator.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/generators/template_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/output_format_spec_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/__init__.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/output_pattern.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/codegen/template_codegen/template_data.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/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
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/directory_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/sources/meta_data_source.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/loader/validate_source_parameter_ref.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/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
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/identity/identity_constants.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/identity/meta_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/index/index_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/meta_object_aware.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_class_registry.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_constants.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/object/object_extract.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/relationship/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/core/validator/validator_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/db/db_constants.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/db/db_provider.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/origin/__init__.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/origin/meta_origin.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/source/__init__.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/persistence/source/meta_source.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/layout/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/layout/meta_layout.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/ui/ui_provider.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/__init__.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/meta_view.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/presentation/view/view_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/meta/template/template_constants.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
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/json_forgiving_reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/extract/xml_forgiving_reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/output_format_renderer.py
RENAMED
|
File without changes
|
{metaobjects-0.19.7 → metaobjects-0.19.8}/src/metaobjects/render/prompt/output_format_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
|