metaobjects 1.1.0__tar.gz → 1.1.1__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.
Files changed (571) hide show
  1. {metaobjects-1.1.0 → metaobjects-1.1.1}/PKG-INFO +2 -1
  2. {metaobjects-1.1.0 → metaobjects-1.1.1}/pyproject.toml +5 -2
  3. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/format.py +19 -1
  4. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_format.py +16 -0
  5. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/mysql_container.py +19 -33
  6. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/postgres_container.py +28 -43
  7. {metaobjects-1.1.0 → metaobjects-1.1.1}/uv.lock +27 -1
  8. {metaobjects-1.1.0 → metaobjects-1.1.1}/.gitignore +0 -0
  9. {metaobjects-1.1.0 → metaobjects-1.1.1}/LICENSE +0 -0
  10. {metaobjects-1.1.0 → metaobjects-1.1.1}/README.md +0 -0
  11. {metaobjects-1.1.0 → metaobjects-1.1.1}/hatch_build.py +0 -0
  12. {metaobjects-1.1.0 → metaobjects-1.1.1}/scripts/generate_embedded_library.py +0 -0
  13. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/__init__.py +0 -0
  14. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/agent_context/__init__.py +0 -0
  15. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/agent_context/scaffold.py +0 -0
  16. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/__init__.py +0 -0
  17. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/api_model.py +0 -0
  18. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/builder.py +0 -0
  19. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/naming.py +0 -0
  20. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/paths.py +0 -0
  21. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/apidocs/renderer.py +0 -0
  22. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/attr_class_map.py +0 -0
  23. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/cli.py +0 -0
  24. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/KNOWN_GAPS.md +0 -0
  25. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/__init__.py +0 -0
  26. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/_moved.py +0 -0
  27. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/collection_name_collision.py +0 -0
  28. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/collision_names.py +0 -0
  29. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/config.py +0 -0
  30. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/constants.py +0 -0
  31. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/eject.py +0 -0
  32. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/extract_delegate_emitter.py +0 -0
  33. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/extract_schema_emitter.py +0 -0
  34. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/fr010_field_mapping.py +0 -0
  35. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generator.py +0 -0
  36. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generator_registry.py +0 -0
  37. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/__init__.py +0 -0
  38. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/api_docs_generator.py +0 -0
  39. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/entity_model.py +0 -0
  40. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/extractor_generator.py +0 -0
  41. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/filter_allowlist_generator.py +0 -0
  42. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/find_inbound.py +0 -0
  43. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/fr019_shared_enum.py +0 -0
  44. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/m2m_codegen.py +0 -0
  45. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/names_generator.py +0 -0
  46. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/output_parser_generator.py +0 -0
  47. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/output_prompt_generator.py +0 -0
  48. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/render_helper_generator.py +0 -0
  49. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/requirement_tests_generator.py +0 -0
  50. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/router_generator.py +0 -0
  51. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/template_generator.py +0 -0
  52. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/tph_plan.py +0 -0
  53. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/generators/trace_helper_generator.py +0 -0
  54. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/instance_artifacts.py +0 -0
  55. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/metaobjects-config.schema.json +0 -0
  56. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/model_walk.py +0 -0
  57. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/orphan_sweep.py +0 -0
  58. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/output_format_spec_emitter.py +0 -0
  59. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/overwrite_policy.py +0 -0
  60. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/project_config.py +0 -0
  61. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/project_import.py +0 -0
  62. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/requirement_hooks.py +0 -0
  63. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/requirement_walk.py +0 -0
  64. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runner.py +0 -0
  65. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/__init__.py +0 -0
  66. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/api_docs_builder.py +0 -0
  67. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/api_docs_model.py +0 -0
  68. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/api_docs_paths.py +0 -0
  69. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/api_docs_renderer.py +0 -0
  70. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/constraint_errors.py +0 -0
  71. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/decimal_wire.py +0 -0
  72. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/extract_delegate_emitter.py +0 -0
  73. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/extract_schema_emitter.py +0 -0
  74. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/filter_parser.py +0 -0
  75. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/fr010_field_mapping.py +0 -0
  76. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/fr019_shared_enum.py +0 -0
  77. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/m2m_codegen.py +0 -0
  78. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/output_format_spec_emitter.py +0 -0
  79. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/runtime/shared_predicates.py +0 -0
  80. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/template_codegen/__init__.py +0 -0
  81. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/template_codegen/output_pattern.py +0 -0
  82. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/template_codegen/template_data.py +0 -0
  83. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/template_codegen/template_spec.py +0 -0
  84. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/type_map.py +0 -0
  85. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/codegen/value_objects.py +0 -0
  86. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/config/__init__.py +0 -0
  87. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/config/dependencies.py +0 -0
  88. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/config/neutral_config.py +0 -0
  89. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/config/source_resolver.py +0 -0
  90. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/core_types.py +0 -0
  91. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/datatype.py +0 -0
  92. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/documentation/__init__.py +0 -0
  93. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/documentation/doc_constants.py +0 -0
  94. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/documentation/doc_provider.py +0 -0
  95. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/documentation/doc_schema.py +0 -0
  96. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/errors.py +0 -0
  97. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/field_lint.py +0 -0
  98. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/fmt.py +0 -0
  99. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/library/__init__.py +0 -0
  100. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/library/embedded_library.py +0 -0
  101. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/library/library_sources.py +0 -0
  102. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/__init__.py +0 -0
  103. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/merge.py +0 -0
  104. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/meta_data_loader.py +0 -0
  105. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/registered_validation.py +0 -0
  106. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/resolve_references.py +0 -0
  107. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/sources/__init__.py +0 -0
  108. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/sources/directory_source.py +0 -0
  109. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/sources/file_source.py +0 -0
  110. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/sources/meta_data_source.py +0 -0
  111. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/sources/uri_source.py +0 -0
  112. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_discriminator.py +0 -0
  113. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_enum_normalize_ambiguity.py +0 -0
  114. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_field_mutability.py +0 -0
  115. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_reporting.py +0 -0
  116. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_source_escapes.py +0 -0
  117. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_source_parameter_ref.py +0 -0
  118. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validate_source_physical_names.py +0 -0
  119. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/loader/validation_passes.py +0 -0
  120. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/__init__.py +0 -0
  121. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/__init__.py +0 -0
  122. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/attr/__init__.py +0 -0
  123. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/attr/attr_constants.py +0 -0
  124. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/attr/meta_attr.py +0 -0
  125. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/field/__init__.py +0 -0
  126. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/field/field_constants.py +0 -0
  127. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/field/meta_field.py +0 -0
  128. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/identity/__init__.py +0 -0
  129. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/identity/identity_constants.py +0 -0
  130. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/identity/meta_identity.py +0 -0
  131. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/index/__init__.py +0 -0
  132. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/index/index_constants.py +0 -0
  133. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/index/meta_index.py +0 -0
  134. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/__init__.py +0 -0
  135. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/meta_object.py +0 -0
  136. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/meta_object_aware.py +0 -0
  137. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/object_class_registry.py +0 -0
  138. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/object_constants.py +0 -0
  139. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/object_extract.py +0 -0
  140. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/object/value_object.py +0 -0
  141. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/relationship/__init__.py +0 -0
  142. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py +0 -0
  143. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/relationship/meta_relationship.py +0 -0
  144. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/relationship/relationship_constants.py +0 -0
  145. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/relationship/relationship_references.py +0 -0
  146. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/__init__.py +0 -0
  147. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/meta_dimension.py +0 -0
  148. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/meta_measure.py +0 -0
  149. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/meta_segment.py +0 -0
  150. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/report_accessors.py +0 -0
  151. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/report_read_model.py +0 -0
  152. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/report_shape.py +0 -0
  153. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/reporting/reporting_constants.py +0 -0
  154. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/requirement/__init__.py +0 -0
  155. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/requirement/meta_requirement.py +0 -0
  156. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/requirement/requirement_constants.py +0 -0
  157. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/requirement/resolve_claim.py +0 -0
  158. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/validator/__init__.py +0 -0
  159. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/core/validator/validator_constants.py +0 -0
  160. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/meta_data.py +0 -0
  161. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/meta_root.py +0 -0
  162. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/__init__.py +0 -0
  163. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/db/__init__.py +0 -0
  164. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/db/db_constants.py +0 -0
  165. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/db/db_provider.py +0 -0
  166. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/origin/__init__.py +0 -0
  167. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/origin/meta_origin.py +0 -0
  168. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/origin/origin_constants.py +0 -0
  169. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/source/__init__.py +0 -0
  170. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/source/meta_source.py +0 -0
  171. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/persistence/source/source_constants.py +0 -0
  172. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/__init__.py +0 -0
  173. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/layout/__init__.py +0 -0
  174. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/layout/layout_constants.py +0 -0
  175. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/layout/meta_layout.py +0 -0
  176. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/ui/__init__.py +0 -0
  177. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/ui/ui_provider.py +0 -0
  178. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/view/__init__.py +0 -0
  179. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/view/meta_view.py +0 -0
  180. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/presentation/view/view_constants.py +0 -0
  181. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/provider_extends.py +0 -0
  182. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/template/__init__.py +0 -0
  183. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/template/meta_template.py +0 -0
  184. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/template/prompt_provider.py +0 -0
  185. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta/template/template_constants.py +0 -0
  186. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/meta_endpoint.py +0 -0
  187. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/naming.py +0 -0
  188. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/naming_refs.py +0 -0
  189. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/parser.py +0 -0
  190. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/parser_yaml.py +0 -0
  191. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/provider.py +0 -0
  192. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/py.typed +0 -0
  193. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/registry.py +0 -0
  194. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/registry_manifest.py +0 -0
  195. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/__init__.py +0 -0
  196. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/email_document.py +0 -0
  197. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/escapers.py +0 -0
  198. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/KNOWN_GAPS.md +0 -0
  199. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/__init__.py +0 -0
  200. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/coerce.py +0 -0
  201. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/extract.py +0 -0
  202. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/extract_map.py +0 -0
  203. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/json_forgiving_reader.py +0 -0
  204. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/locate.py +0 -0
  205. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/normalize.py +0 -0
  206. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/strip.py +0 -0
  207. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/types.py +0 -0
  208. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/extract/xml_forgiving_reader.py +0 -0
  209. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/filesystem_provider.py +0 -0
  210. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/payload_accessors.py +0 -0
  211. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/__init__.py +0 -0
  212. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/output_format_renderer.py +0 -0
  213. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/output_format_spec.py +0 -0
  214. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/prompt_field.py +0 -0
  215. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/prompt_overrides.py +0 -0
  216. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/prompt/prompt_style.py +0 -0
  217. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/renderer.py +0 -0
  218. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/render/verify.py +0 -0
  219. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/requirement_check.py +0 -0
  220. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/__init__.py +0 -0
  221. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/dialect.py +0 -0
  222. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/drivers.py +0 -0
  223. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/llm_recorder.py +0 -0
  224. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/n2m_resolver.py +0 -0
  225. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/object_manager.py +0 -0
  226. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/tph.py +0 -0
  227. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/runtime/validator_runner.py +0 -0
  228. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/scope.py +0 -0
  229. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/serializer_json.py +0 -0
  230. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/shared/__init__.py +0 -0
  231. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/shared/base_types.py +0 -0
  232. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/shared/separators.py +0 -0
  233. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/shared/structural.py +0 -0
  234. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source/__init__.py +0 -0
  235. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source/error_source.py +0 -0
  236. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source/json_path.py +0 -0
  237. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source/semantic_diff.py +0 -0
  238. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source/yaml_positions.py +0 -0
  239. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/source_resolution.py +0 -0
  240. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/__init__.py +0 -0
  241. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/attr.json +0 -0
  242. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/db.json +0 -0
  243. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/documentation.json +0 -0
  244. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/field.json +0 -0
  245. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/identity.json +0 -0
  246. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/index.json +0 -0
  247. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/layout.json +0 -0
  248. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/object.json +0 -0
  249. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/origin.json +0 -0
  250. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/prompt.json +0 -0
  251. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/relationship.json +0 -0
  252. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/reporting.json +0 -0
  253. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/requirement.json +0 -0
  254. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/source.json +0 -0
  255. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/template.json +0 -0
  256. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/ui-web.json +0 -0
  257. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/ui.json +0 -0
  258. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/validator.json +0 -0
  259. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/spec_metamodel/view.json +0 -0
  260. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/super_resolve.py +0 -0
  261. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/validation_types.py +0 -0
  262. {metaobjects-1.1.0 → metaobjects-1.1.1}/src/metaobjects/yaml_desugar.py +0 -0
  263. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/__init__.py +0 -0
  264. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/__init__.py +0 -0
  265. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/config_helpers.py +0 -0
  266. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/gen_suite.py +0 -0
  267. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/extends/expected/BaseEntity.py +0 -0
  268. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/extends/expected/Program.py +0 -0
  269. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/extends/meta.json +0 -0
  270. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/nested-array/expected/AuthorBrief.py +0 -0
  271. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/nested-array/expected/PostBrief.py +0 -0
  272. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/nested-array/meta.json +0 -0
  273. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/scalars/expected/Metric.py +0 -0
  274. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/scalars/expected/Report.py +0 -0
  275. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/scalars/meta.json +0 -0
  276. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/vanilla/expected/Subscriber.py +0 -0
  277. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/golden/vanilla/meta.json +0 -0
  278. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_abstract_conformance.py +0 -0
  279. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_api_docs_builder.py +0 -0
  280. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_api_docs_paths.py +0 -0
  281. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli.py +0 -0
  282. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_config_gen.py +0 -0
  283. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_config_verify.py +0 -0
  284. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_dependencies.py +0 -0
  285. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_fmt.py +0 -0
  286. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_gen_unknown_attr.py +0 -0
  287. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_help_removed_flags.py +0 -0
  288. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_providers.py +0 -0
  289. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_registry.py +0 -0
  290. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_render_helper_template_root.py +0 -0
  291. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_staleness_nudge.py +0 -0
  292. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_surface.py +0 -0
  293. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_verify_field_lint.py +0 -0
  294. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_verify_requirements.py +0 -0
  295. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_verify_strict.py +0 -0
  296. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cli_verify_subverbs.py +0 -0
  297. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_codegen_compile_conformance.py +0 -0
  298. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_collection_name_collision.py +0 -0
  299. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_config_run_settings.py +0 -0
  300. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_constants_config.py +0 -0
  301. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_cross_package_binding_conformance.py +0 -0
  302. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_docs_generators.py +0 -0
  303. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_eject.py +0 -0
  304. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_eject_alone.py +0 -0
  305. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_eject_independence.py +0 -0
  306. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_eject_runtime.py +0 -0
  307. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_entity_model.py +0 -0
  308. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_enum_conformance.py +0 -0
  309. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_extends_abstract_field_inheritance.py +0 -0
  310. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_extract_tier_collision.py +0 -0
  311. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_extractor_generator.py +0 -0
  312. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_filter_allowlist_generator.py +0 -0
  313. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_fmt_format_file.py +0 -0
  314. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_fr010_nested_object_prompt.py +0 -0
  315. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_fr010_output_codegen.py +0 -0
  316. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_fr019_shared_provided_conformance.py +0 -0
  317. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_gen_state_keying.py +0 -0
  318. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_generator.py +0 -0
  319. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_generator_extension_seams.py +0 -0
  320. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_golden.py +0 -0
  321. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_hand_edits.py +0 -0
  322. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_inherit_without_restate_gate.py +0 -0
  323. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_inheritance_conformance.py +0 -0
  324. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_instance_artifacts.py +0 -0
  325. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_m2m_codegen.py +0 -0
  326. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_moved_modules.py +0 -0
  327. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_names_extends_chain.py +0 -0
  328. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_names_generator.py +0 -0
  329. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_no_magic_physical_names.py +0 -0
  330. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_one_generator_list.py +0 -0
  331. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_origin_nullability.py +0 -0
  332. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_orphan_sweep.py +0 -0
  333. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_output_parser_generator.py +0 -0
  334. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_overwrite_policy.py +0 -0
  335. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_overwrite_policy_hash.py +0 -0
  336. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_project_config.py +0 -0
  337. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_project_import.py +0 -0
  338. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_projection_compile.py +0 -0
  339. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_projection_docs_routes.py +0 -0
  340. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_recipe_generators.py +0 -0
  341. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_render_helper_conformance.py +0 -0
  342. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_render_helper_generator.py +0 -0
  343. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_report_router.py +0 -0
  344. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_requirement_tests_generator.py +0 -0
  345. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_reverse_finders.py +0 -0
  346. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_route_path_naming.py +0 -0
  347. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_router_autoset.py +0 -0
  348. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_router_generator.py +0 -0
  349. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_router_generator_m2m_target_tph.py +0 -0
  350. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_router_generator_tph_m2m.py +0 -0
  351. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_router_generator_tph_m2m_shadowed.py +0 -0
  352. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_runner.py +0 -0
  353. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_source_resolution.py +0 -0
  354. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_sourceless_entity_surface.py +0 -0
  355. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_sourceless_projection.py +0 -0
  356. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_data.py +0 -0
  357. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_generator.py +0 -0
  358. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_output_pattern.py +0 -0
  359. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_scope_helpers.py +0 -0
  360. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_scope_walk.py +0 -0
  361. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_template_spec.py +0 -0
  362. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_tph_codegen.py +0 -0
  363. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_trace_helper_generator.py +0 -0
  364. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_type_map.py +0 -0
  365. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_validation_conformance.py +0 -0
  366. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_value_objects.py +0 -0
  367. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/codegen/test_write_through.py +0 -0
  368. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/__init__.py +0 -0
  369. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/test_dependencies.py +0 -0
  370. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/test_library_package_guard.py +0 -0
  371. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/test_neutral_config.py +0 -0
  372. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/test_neutral_config_unknown_key.py +0 -0
  373. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/config/test_source_resolver.py +0 -0
  374. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/__init__.py +0 -0
  375. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/capabilities.py +0 -0
  376. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/conformance-expected-failures.json +0 -0
  377. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/conformance_adapter.py +0 -0
  378. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/corpus.py +0 -0
  379. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/eject_contract.py +0 -0
  380. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/expected_failures.py +0 -0
  381. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/fixture_discovery.py +0 -0
  382. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/navigator.py +0 -0
  383. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_api_docs_cross_port_conformance.py +0 -0
  384. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_conformance.py +0 -0
  385. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_conformance_twin_roundtrip.py +0 -0
  386. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_dependency_conformance.py +0 -0
  387. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_eject_contract.py +0 -0
  388. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_extract_conformance.py +0 -0
  389. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_extract_object_array_bounds.py +0 -0
  390. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_extract_object_verdict.py +0 -0
  391. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_field_lint_conformance.py +0 -0
  392. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_fmt_conformance.py +0 -0
  393. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_fr010_loader_attrs.py +0 -0
  394. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_fr011_attrs.py +0 -0
  395. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_generator_registry_conformance.py +0 -0
  396. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_naming_conformance.py +0 -0
  397. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_object_model_conformance.py +0 -0
  398. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_provider_composition_conformance.py +0 -0
  399. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_registry_conformance.py +0 -0
  400. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_requirement_check_conformance.py +0 -0
  401. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_requirement_test_identity_conformance.py +0 -0
  402. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_runner_hardfail.py +0 -0
  403. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_scope_conformance.py +0 -0
  404. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_source_resolution_conformance.py +0 -0
  405. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_spec_metamodel_embed.py +0 -0
  406. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_strict_attr_load.py +0 -0
  407. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_template_codegen_conformance.py +0 -0
  408. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_template_generator_conformance.py +0 -0
  409. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/test_yaml_conformance.py +0 -0
  410. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/conformance/yaml-conformance-expected-failures.json +0 -0
  411. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/__init__.py +0 -0
  412. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/api_contract_assertions.py +0 -0
  413. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/api_contract_jsonb_server.py +0 -0
  414. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/api_contract_m2m_server.py +0 -0
  415. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/api_contract_server.py +0 -0
  416. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/conftest.py +0 -0
  417. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/engines.py +0 -0
  418. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_jsonb_app.py +0 -0
  419. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_m2m_app.py +0 -0
  420. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_projection_app.py +0 -0
  421. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_report_app.py +0 -0
  422. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_router_app.py +0 -0
  423. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/generated_tph_app.py +0 -0
  424. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/meta_ai_trace.yaml +0 -0
  425. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/normalization.py +0 -0
  426. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/query_runner.py +0 -0
  427. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/report_lane.py +0 -0
  428. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/scenarios.py +0 -0
  429. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract.py +0 -0
  430. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_decimal.py +0 -0
  431. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_generated.py +0 -0
  432. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_jsonb.py +0 -0
  433. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_m2m.py +0 -0
  434. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_m2m_generated.py +0 -0
  435. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_projection.py +0 -0
  436. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_report.py +0 -0
  437. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_api_contract_tph_generated.py +0 -0
  438. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_generated_decimal_wire.py +0 -0
  439. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_generated_router_uuid_pk.py +0 -0
  440. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_llm_call_trace.py +0 -0
  441. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_m2m_target_tph_generated.py +0 -0
  442. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_normalization.py +0 -0
  443. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_query_scenarios.py +0 -0
  444. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_runtime_return_types.py +0 -0
  445. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_tph_m2m_generated.py +0 -0
  446. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/integration/test_tph_m2m_shadowed_generated.py +0 -0
  447. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/__init__.py +0 -0
  448. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_abstract_subtype_authored.py +0 -0
  449. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_child_wrapper_body_shape.py +0 -0
  450. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_enum_extends_values_conflict.py +0 -0
  451. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_field_mutability_order.py +0 -0
  452. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_library_packages.py +0 -0
  453. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_naming_discovery.py +0 -0
  454. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_relative_package_multi_root.py +0 -0
  455. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_shipped_library_ai.py +0 -0
  456. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/loader/test_template_payload_target_210.py +0 -0
  457. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/open_closed_proof_test.py +0 -0
  458. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/__init__.py +0 -0
  459. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/__init__.py +0 -0
  460. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_coerce.py +0 -0
  461. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_extract.py +0 -0
  462. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_extract_map.py +0 -0
  463. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_json_forgiving_reader.py +0 -0
  464. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_locate.py +0 -0
  465. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_model.py +0 -0
  466. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_normalize.py +0 -0
  467. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_strip.py +0 -0
  468. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/extract/test_xml_forgiving_reader.py +0 -0
  469. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/prompt/__init__.py +0 -0
  470. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/prompt/test_output_format_renderer.py +0 -0
  471. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_email_document.py +0 -0
  472. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_filesystem_provider.py +0 -0
  473. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_output_format_renderer_nested.py +0 -0
  474. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_output_prompt_conformance.py +0 -0
  475. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_render_conformance.py +0 -0
  476. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_render_max_chars.py +0 -0
  477. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_render_model_payload.py +0 -0
  478. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_verify.py +0 -0
  479. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/render/test_verify_conformance.py +0 -0
  480. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_constraint_errors.py +0 -0
  481. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_decimal_wire.py +0 -0
  482. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_literal_naming_sqlite.py +0 -0
  483. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_object_manager_currency_read.py +0 -0
  484. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_object_manager_dialects.py +0 -0
  485. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_object_manager_enum_intvaluemap.py +0 -0
  486. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_object_manager_report.py +0 -0
  487. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_object_manager_table_name.py +0 -0
  488. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_validation_conformance_runtime.py +0 -0
  489. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/runtime/test_validator_runner.py +0 -0
  490. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/__init__.py +0 -0
  491. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_fr5c_merge_attribution.py +0 -0
  492. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_fr5d_reference_resolution.py +0 -0
  493. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_fr5e_database_source_shape.py +0 -0
  494. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_json_path.py +0 -0
  495. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_semantic_diff.py +0 -0
  496. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_source_on_node.py +0 -0
  497. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/source/test_yaml_positions.py +0 -0
  498. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_api_docs_accuracy.py +0 -0
  499. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_api_docs_packages.py +0 -0
  500. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_meta_endpoint.py +0 -0
  501. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_report_read_model.py +0 -0
  502. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_report_shape.py +0 -0
  503. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/test_reporting_inert.py +0 -0
  504. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/__init__.py +0 -0
  505. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_agent_context_staleness.py +0 -0
  506. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_capabilities.py +0 -0
  507. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_column_naming_strategy.py +0 -0
  508. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_common_attrs.py +0 -0
  509. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_core_types.py +0 -0
  510. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_derive_m2m_declaring_entity.py +0 -0
  511. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_effective_children_sibling_shadowing.py +0 -0
  512. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_effective_package.py +0 -0
  513. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_errors.py +0 -0
  514. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_field_enum.py +0 -0
  515. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_field_enum_intvaluemap.py +0 -0
  516. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_field_map_validation.py +0 -0
  517. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_field_uuid_dbcolumntype.py +0 -0
  518. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_file_source_id.py +0 -0
  519. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_fr016_source_name_and_kind_aliases.py +0 -0
  520. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_index_lookup.py +0 -0
  521. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_inherited_reference_binding.py +0 -0
  522. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_llm_recorder.py +0 -0
  523. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_loader.py +0 -0
  524. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_loader_bom.py +0 -0
  525. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_loader_class.py +0 -0
  526. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_merge.py +0 -0
  527. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_meta_attr.py +0 -0
  528. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_meta_data.py +0 -0
  529. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_meta_source.py +0 -0
  530. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_module_shortcuts.py +0 -0
  531. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_n2m_resolver.py +0 -0
  532. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_n2m_resolver_inherited.py +0 -0
  533. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_no_dead_config_fields.py +0 -0
  534. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_object_manager_autoset_stamping.py +0 -0
  535. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_object_manager_uuid_coercion.py +0 -0
  536. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_object_manager_write_through.py +0 -0
  537. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_one_primary_source.py +0 -0
  538. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_parser.py +0 -0
  539. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_parser_yaml.py +0 -0
  540. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_provider.py +0 -0
  541. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_provider_extension.py +0 -0
  542. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_registry.py +0 -0
  543. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_registry_completeness.py +0 -0
  544. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_registry_extend.py +0 -0
  545. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_registry_sealed.py +0 -0
  546. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_relationship_m2m_validation.py +0 -0
  547. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_relationship_references.py +0 -0
  548. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_relationship_referential_actions.py +0 -0
  549. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_reporting_accessors.py +0 -0
  550. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_reporting_validation_spine_default.py +0 -0
  551. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_resolution_key.py +0 -0
  552. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_resolve_claim.py +0 -0
  553. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_runtime_resolution_key_binding.py +0 -0
  554. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_serializer.py +0 -0
  555. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_serializer_shared_document.py +0 -0
  556. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_shared_constants.py +0 -0
  557. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_smoke.py +0 -0
  558. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_source_escapes.py +0 -0
  559. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_sources.py +0 -0
  560. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_strict_child_placement.py +0 -0
  561. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_super_resolve.py +0 -0
  562. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_template_toolcall.py +0 -0
  563. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_template_wrong_subtype_attrs.py +0 -0
  564. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_attr_schema.py +0 -0
  565. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_filter_values.py +0 -0
  566. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_origin_195.py +0 -0
  567. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_origin_paths.py +0 -0
  568. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_sort_field.py +0 -0
  569. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_validation_warnings.py +0 -0
  570. {metaobjects-1.1.0 → metaobjects-1.1.1}/tests/unit/test_write_coercion_arrays.py +0 -0
  571. {metaobjects-1.1.0 → metaobjects-1.1.1}/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.0
3
+ Version: 1.1.1
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
@@ -26,6 +26,7 @@ Requires-Dist: pyyaml>=6.0
26
26
  Provides-Extra: dev
27
27
  Requires-Dist: mypy>=1.10; extra == 'dev'
28
28
  Requires-Dist: pydantic>=2; extra == 'dev'
29
+ Requires-Dist: pytest-xdist>=3.6; extra == 'dev'
29
30
  Requires-Dist: pytest>=8; extra == 'dev'
30
31
  Requires-Dist: ruff>=0.6; extra == 'dev'
31
32
  Provides-Extra: integration
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "metaobjects"
3
- version = "1.1.0"
3
+ version = "1.1.1"
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"
@@ -50,7 +50,7 @@ Issues = "https://github.com/metaobjectsdev/metaobjects/issues"
50
50
  Changelog = "https://github.com/metaobjectsdev/metaobjects/blob/main/CHANGELOG.md"
51
51
 
52
52
  [project.optional-dependencies]
53
- dev = ["pytest>=8", "mypy>=1.10", "ruff>=0.6", "pydantic>=2"]
53
+ dev = ["pytest>=8", "pytest-xdist>=3.6", "mypy>=1.10", "ruff>=0.6", "pydantic>=2"]
54
54
  # On-demand cross-language conformance suites — persistence + api-contract.
55
55
  # pg8000 is pure-python so this extra installs cleanly without native deps;
56
56
  # the persistence harness shells out to the docker CLI directly (matches the
@@ -103,6 +103,9 @@ exclude = ["tests/codegen/golden/"]
103
103
  [dependency-groups]
104
104
  dev = [
105
105
  "pytest>=9.0.3",
106
+ # scripts/ci-local.sh and scripts/integration-test.sh run the suite with `-n`; serial,
107
+ # the ~4,000 tests were the longest step in the full local run.
108
+ "pytest-xdist>=3.6",
106
109
  # `uv run` installs THIS group (PEP 735), not [project.optional-dependencies].
107
110
  # The validator-parity corpus (tests/codegen/test_validation_conformance.py)
108
111
  # imports pydantic to exercise the generated Pydantic models, so it must be here
@@ -4,6 +4,7 @@ Both passes read stdin / write stdout, so generated code is import-sorted AND
4
4
  formatted — i.e. `ruff check`- and `ruff format`-clean for downstream consumers."""
5
5
  from __future__ import annotations
6
6
 
7
+ import functools
7
8
  import importlib.util
8
9
  import subprocess
9
10
  import sys
@@ -16,9 +17,26 @@ _STDIN_NAME = "generated.py"
16
17
  _RUFF_AVAILABLE = importlib.util.find_spec("ruff") is not None
17
18
 
18
19
 
20
+ @functools.cache
21
+ def _ruff_command() -> list[str]:
22
+ """The installed ruff package's own binary, resolved once.
23
+
24
+ ``python -m ruff`` starts a second interpreter only to exec this same binary, and
25
+ ``gen`` formats every emitted file twice: the interpreter start was ~90% of codegen
26
+ wall time (measured: 59 ms vs 6 ms a call). ``find_ruff_bin`` is ruff's documented
27
+ lookup for the binary its package installed, so the version — and the output — is
28
+ the one ``-m ruff`` would have run. Falls back to ``-m ruff`` if it cannot find it."""
29
+ try:
30
+ from ruff import find_ruff_bin
31
+
32
+ return [str(find_ruff_bin())]
33
+ except (ImportError, FileNotFoundError):
34
+ return [sys.executable, "-m", "ruff"]
35
+
36
+
19
37
  def _run_ruff(args: list[str], source: str) -> str:
20
38
  proc = subprocess.run(
21
- [sys.executable, "-m", "ruff", *args],
39
+ [*_ruff_command(), *args],
22
40
  input=source,
23
41
  capture_output=True,
24
42
  text=True,
@@ -83,3 +83,19 @@ def test_nonzero_ruff_with_no_stderr_still_names_the_exit_code(monkeypatch) -> N
83
83
 
84
84
  assert "2" in msg
85
85
  assert not msg.rstrip().endswith(":")
86
+
87
+
88
+ def test_ruff_runs_as_its_own_binary_not_through_a_second_interpreter() -> None:
89
+ """`python -m ruff` starts an interpreter only to exec ruff's binary, and gen runs
90
+ ruff twice per emitted file: that start was ~90% of codegen wall time. The command
91
+ must be the binary the installed ruff package ships, which is the same ruff."""
92
+ import pytest
93
+
94
+ import metaobjects.codegen.format as fmt
95
+ from ruff import find_ruff_bin
96
+
97
+ try:
98
+ binary = find_ruff_bin()
99
+ except FileNotFoundError:
100
+ pytest.skip("this ruff install ships no binary; format.py falls back to `-m ruff`")
101
+ assert fmt._ruff_command() == [str(binary)]
@@ -11,7 +11,6 @@ against an existing server instead: the tests then OWN that database and drop ev
11
11
  from __future__ import annotations
12
12
 
13
13
  import os
14
- import socket
15
14
  import subprocess
16
15
  import time
17
16
  import uuid
@@ -20,6 +19,8 @@ from dataclasses import dataclass
20
19
  from typing import Any
21
20
  from urllib.parse import unquote, urlsplit
22
21
 
22
+ from .postgres_container import published_port
23
+
23
24
  SHARED_MYSQL_URL_ENV = "METAOBJECTS_TEST_MYSQL_URL"
24
25
 
25
26
 
@@ -65,7 +66,6 @@ class MySqlContainer:
65
66
  DATABASE = "mo_test"
66
67
  USER = "root"
67
68
  PASSWORD = "test"
68
- START_ATTEMPTS = 3
69
69
 
70
70
  def __init__(self) -> None:
71
71
  shared = os.environ.get(SHARED_MYSQL_URL_ENV)
@@ -79,31 +79,23 @@ class MySqlContainer:
79
79
  )
80
80
  return
81
81
  self._name = f"metaobjects-mysql-py-{uuid.uuid4().hex[:8]}"
82
- last_failure: Exception | None = None
83
- for _attempt in range(self.START_ATTEMPTS):
84
- port = _pick_free_port()
85
- self._info = MySqlInfo("localhost", port, self.DATABASE, self.USER, self.PASSWORD)
86
- try:
87
- _docker(
88
- "run", "-d", "--name", self._name,
89
- "-e", f"MYSQL_ROOT_PASSWORD={self.PASSWORD}",
90
- "-e", f"MYSQL_DATABASE={self.DATABASE}",
91
- "-p", f"{port}:3306", self.IMAGE,
92
- )
93
- except Exception as e: # noqa: BLE001 -- docker refused the bind; retry on a new port
94
- last_failure = e
95
- self._force_remove()
96
- continue
97
- try:
98
- self._wait_ready()
99
- return
100
- except Exception as e: # noqa: BLE001 -- died on startup; retry on a new port
101
- last_failure = e
102
- self._force_remove()
103
- raise RuntimeError(
104
- f"mysql container '{self._name}' failed to start in {self.START_ATTEMPTS} attempts; "
105
- f"last err: {last_failure}"
106
- )
82
+ # Docker assigns the host port at bind time; see the port note in postgres_container.
83
+ try:
84
+ _docker(
85
+ "run", "-d", "--name", self._name,
86
+ "-e", f"MYSQL_ROOT_PASSWORD={self.PASSWORD}",
87
+ "-e", f"MYSQL_DATABASE={self.DATABASE}",
88
+ # Native AIO reserves ~17k kernel aio-nr slots per server; with the default
89
+ # fs.aio-max-nr (65536) parallel lanes exhaust it and InnoDB dies with EAGAIN
90
+ # at io_setup(). Buffered I/O is plenty for a test database.
91
+ "-p", "127.0.0.1::3306", self.IMAGE, "--innodb-use-native-aio=0",
92
+ )
93
+ port = published_port(self._name, 3306)
94
+ self._info = MySqlInfo("127.0.0.1", port, self.DATABASE, self.USER, self.PASSWORD)
95
+ self._wait_ready()
96
+ except BaseException:
97
+ self._force_remove()
98
+ raise
107
99
 
108
100
  def info(self) -> MySqlInfo:
109
101
  return self._info
@@ -168,9 +160,3 @@ def _docker(*args: str) -> str:
168
160
  if r.returncode != 0:
169
161
  raise subprocess.CalledProcessError(r.returncode, ["docker", *args], output=r.stdout, stderr=r.stderr)
170
162
  return r.stdout.strip()
171
-
172
-
173
- def _pick_free_port() -> int:
174
- with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
175
- s.bind(("127.0.0.1", 0))
176
- return int(s.getsockname()[1])
@@ -16,11 +16,9 @@ Two modes, mirroring the TS/Java/Kotlin/C# integration suites:
16
16
  from __future__ import annotations
17
17
 
18
18
  import os
19
- import socket
20
19
  import subprocess
21
20
  import time
22
21
  import uuid
23
- from contextlib import closing
24
22
  from dataclasses import dataclass
25
23
  from urllib.parse import urlsplit
26
24
 
@@ -43,8 +41,6 @@ class PostgresContainer:
43
41
 
44
42
  IMAGE = "postgres:16-alpine"
45
43
 
46
- #: Fresh-port retries before giving up -- see the port-race note in __init__.
47
- START_ATTEMPTS = 3
48
44
  USER = "postgres"
49
45
  PASSWORD = "test"
50
46
  DATABASE = "postgres"
@@ -60,45 +56,30 @@ class PostgresContainer:
60
56
  self._shared = False
61
57
  self._admin_url = None
62
58
  self._name = f"metaobjects-test-{uuid.uuid4().hex[:8]}"
63
- # PORT RACE. _pick_free_port() closes its probe socket and hands the number to
64
- # docker, which binds it LATER -- a check-then-act gap. Alone it never bites;
65
- # under a full CI run several ports start containers at once and two can be
66
- # handed the same number. The loser's container is created and then dies, and a
67
- # readiness probe that only asks `docker exec` cannot tell that from a slow
68
- # boot. Retry on a FRESH port.
59
+ # The host port is assigned by docker at bind time (``-p 127.0.0.1::5432``) and
60
+ # read back with ``docker port``. Picking a free port here, releasing it and
61
+ # handing the number to docker is a check-then-act race that parallel CI lanes lose.
69
62
  #
70
63
  # Deliberately NOT `--rm`: an auto-removed container takes its logs with it, so
71
- # the one artefact explaining the failure vanishes exactly when it is needed.
64
+ # the one artefact explaining a failure vanishes exactly when it is needed.
72
65
  # close() force-removes, so nothing leaks.
73
- last_failure: Exception | None = None
74
- for _attempt in range(self.START_ATTEMPTS):
75
- self._port = _pick_free_port()
66
+ try:
67
+ _docker(
68
+ "run", "-d",
69
+ "--name", self._name,
70
+ "-e", f"POSTGRES_PASSWORD={self.PASSWORD}",
71
+ "-p", "127.0.0.1::5432",
72
+ self.IMAGE,
73
+ )
74
+ self._port = published_port(self._name, 5432)
76
75
  self._info = PostgresInfo(
77
- host="localhost", port=self._port, database=self.DATABASE,
76
+ host="127.0.0.1", port=self._port, database=self.DATABASE,
78
77
  user=self.USER, password=self.PASSWORD,
79
78
  )
80
- try:
81
- _docker(
82
- "run", "-d",
83
- "--name", self._name,
84
- "-e", f"POSTGRES_PASSWORD={self.PASSWORD}",
85
- "-p", f"{self._port}:5432",
86
- self.IMAGE,
87
- )
88
- except Exception as e: # noqa: BLE001 — docker refused the bind; retry on a new port
89
- last_failure = e
90
- self._force_remove()
91
- continue
92
- try:
93
- self._wait_ready()
94
- return
95
- except Exception as e: # noqa: BLE001 — died on startup; retry on a new port
96
- last_failure = e
97
- self._force_remove()
98
- raise RuntimeError(
99
- f"postgres container '{self._name}' failed to start in "
100
- f"{self.START_ATTEMPTS} attempts; last err: {last_failure}"
101
- )
79
+ self._wait_ready()
80
+ except BaseException:
81
+ self._force_remove()
82
+ raise
102
83
 
103
84
  # -- Shared-sidecar mode -------------------------------------------------
104
85
  # CREATE a fresh, uniquely-named database on the already-running Postgres
@@ -174,7 +155,7 @@ class PostgresContainer:
174
155
  # ready quickly (the loop polls every 250ms and returns immediately) and only
175
156
  # changes how long the pathological case takes to give up.
176
157
  def _force_remove(self) -> None:
177
- """Best-effort teardown between start attempts."""
158
+ """Best-effort teardown of a container that failed to start."""
178
159
  try:
179
160
  _docker("rm", "-f", self._name)
180
161
  except Exception: # noqa: BLE001 — already gone
@@ -218,7 +199,7 @@ class PostgresContainer:
218
199
  if ready.returncode == 0:
219
200
  try:
220
201
  conn = pg8000.dbapi.connect(
221
- host="localhost", port=self._port,
202
+ host="127.0.0.1", port=self._port,
222
203
  user=self.USER, password=self.PASSWORD, database=self.DATABASE,
223
204
  )
224
205
  conn.close()
@@ -243,7 +224,11 @@ def _docker(*args: str) -> str:
243
224
  return r.stdout.strip()
244
225
 
245
226
 
246
- def _pick_free_port() -> int:
247
- with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
248
- s.bind(("127.0.0.1", 0))
249
- return int(s.getsockname()[1])
227
+ def published_port(name: str, container_port: int) -> int:
228
+ """The host port docker assigned to *container_port* (``docker port`` prints ``127.0.0.1:<port>``)."""
229
+ out = _docker("port", name, f"{container_port}/tcp")
230
+ first = out.splitlines()[0] if out else ""
231
+ port = first.rsplit(":", 1)[-1].strip()
232
+ if not port.isdigit():
233
+ raise RuntimeError(f"docker port {name} {container_port}/tcp printed no port: {out!r}")
234
+ return int(port)
@@ -104,6 +104,15 @@ wheels = [
104
104
  { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
105
105
  ]
106
106
 
107
+ [[package]]
108
+ name = "execnet"
109
+ version = "2.1.2"
110
+ source = { registry = "https://pypi.org/simple" }
111
+ sdist = { url = "https://files.pythonhosted.org/packages/bf/89/780e11f9588d9e7128a3f87788354c7946a9cbb1401ad38a48c4db9a4f07/execnet-2.1.2.tar.gz", hash = "sha256:63d83bfdd9a23e35b9c6a3261412324f964c2ec8dcd8d3c6916ee9373e0befcd", size = 166622, upload-time = "2025-11-12T09:56:37.75Z" }
112
+ wheels = [
113
+ { url = "https://files.pythonhosted.org/packages/ab/84/02fc1827e8cdded4aa65baef11296a9bbe595c474f0d6d758af082d849fd/execnet-2.1.2-py3-none-any.whl", hash = "sha256:67fba928dd5a544b783f6056f449e5e3931a5c378b128bc18501f7ea79e296ec", size = 40708, upload-time = "2025-11-12T09:56:36.333Z" },
114
+ ]
115
+
107
116
  [[package]]
108
117
  name = "fastapi"
109
118
  version = "0.136.3"
@@ -250,7 +259,7 @@ wheels = [
250
259
 
251
260
  [[package]]
252
261
  name = "metaobjects"
253
- version = "1.1.0"
262
+ version = "1.1.1"
254
263
  source = { editable = "." }
255
264
  dependencies = [
256
265
  { name = "pyyaml" },
@@ -261,6 +270,7 @@ dev = [
261
270
  { name = "mypy" },
262
271
  { name = "pydantic" },
263
272
  { name = "pytest" },
273
+ { name = "pytest-xdist" },
264
274
  { name = "ruff" },
265
275
  ]
266
276
  integration = [
@@ -277,6 +287,7 @@ mysql = [
277
287
  dev = [
278
288
  { name = "pydantic" },
279
289
  { name = "pytest" },
290
+ { name = "pytest-xdist" },
280
291
  { name = "ruff" },
281
292
  ]
282
293
 
@@ -290,6 +301,7 @@ requires-dist = [
290
301
  { name = "pymysql", marker = "extra == 'integration'", specifier = ">=1.1" },
291
302
  { name = "pymysql", marker = "extra == 'mysql'", specifier = ">=1.1" },
292
303
  { name = "pytest", marker = "extra == 'dev'", specifier = ">=8" },
304
+ { name = "pytest-xdist", marker = "extra == 'dev'", specifier = ">=3.6" },
293
305
  { name = "pyyaml", specifier = ">=6.0" },
294
306
  { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.6" },
295
307
  ]
@@ -299,6 +311,7 @@ provides-extras = ["dev", "integration", "mysql"]
299
311
  dev = [
300
312
  { name = "pydantic", specifier = ">=2" },
301
313
  { name = "pytest", specifier = ">=9.0.3" },
314
+ { name = "pytest-xdist", specifier = ">=3.6" },
302
315
  { name = "ruff", specifier = ">=0.6" },
303
316
  ]
304
317
 
@@ -553,6 +566,19 @@ wheels = [
553
566
  { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" },
554
567
  ]
555
568
 
569
+ [[package]]
570
+ name = "pytest-xdist"
571
+ version = "3.8.0"
572
+ source = { registry = "https://pypi.org/simple" }
573
+ dependencies = [
574
+ { name = "execnet" },
575
+ { name = "pytest" },
576
+ ]
577
+ sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" }
578
+ wheels = [
579
+ { url = "https://files.pythonhosted.org/packages/ca/31/d4e37e9e550c2b92a9cbc2e4d0b7420a27224968580b5a447f420847c975/pytest_xdist-3.8.0-py3-none-any.whl", hash = "sha256:202ca578cfeb7370784a8c33d6d05bc6e13b4f25b5053c30a152269fd10f0b88", size = 46396, upload-time = "2025-07-01T13:30:56.632Z" },
580
+ ]
581
+
556
582
  [[package]]
557
583
  name = "python-dateutil"
558
584
  version = "2.9.0.post0"
File without changes
File without changes
File without changes
File without changes