matrx-orm 3.1.196__tar.gz → 3.1.197__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 (423) hide show
  1. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/PKG-INFO +2 -2
  2. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/platform_access.py +1 -1
  3. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/diff_preview.py +2 -1
  4. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/runner.py +2 -1
  5. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/schema.py +21 -0
  6. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/tables.py +10 -1
  7. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/telemetry.py +1 -1
  8. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/pyproject.toml +2 -2
  9. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_query_executor_sql.py +3 -3
  10. matrx_orm-3.1.197/tests/schema_builder/test_never_filter_columns.py +70 -0
  11. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_session.py +1 -1
  12. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_user_visible_lookup.py +1 -1
  13. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/.gitignore +0 -0
  14. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/AGENTS.md +0 -0
  15. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/BASE_CLASS_METHODS.md +0 -0
  16. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/CHANGELOG.md +0 -0
  17. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/CLAUDE.md +0 -0
  18. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/MODEL_API.md +0 -0
  19. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/README.md +0 -0
  20. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/database/orm/extended/managers/ai_model_base.py +0 -0
  21. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/docs/migrations.md +0 -0
  22. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/FEATURE.md +0 -0
  23. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/MODULE_README.md +0 -0
  24. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/__init__.py +0 -0
  25. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/MODULE_README.md +0 -0
  26. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/__init__.py +0 -0
  27. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/async_postgresql.py +0 -0
  28. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/base_adapter.py +0 -0
  29. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
  30. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/adapters/supabase_adapter.py +0 -0
  31. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/admin/FEATURE.md +0 -0
  32. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/admin/__init__.py +0 -0
  33. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/admin/router.py +0 -0
  34. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/__init__.py +0 -0
  35. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/auth.py +0 -0
  36. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/config.py +0 -0
  37. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/handlers.py +0 -0
  38. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/protocol.py +0 -0
  39. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/api/server.py +0 -0
  40. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/associations.py +0 -0
  41. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/cache_debug.py +0 -0
  42. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/catalog.py +0 -0
  43. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/catalog_sql.py +0 -0
  44. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/MODULE_README.md +0 -0
  45. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/__init__.py +0 -0
  46. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/postgres_connection.py +0 -0
  47. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/postgrest.py +0 -0
  48. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/supabase_auth.py +0 -0
  49. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/supabase_config.py +0 -0
  50. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/client/supabase_manager.py +0 -0
  51. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/EXTENDED-TASK.md +0 -0
  52. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/FEATURE.md +0 -0
  53. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/MODULE_README.md +0 -0
  54. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
  55. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/TASKS.md +0 -0
  56. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/__init__.py +0 -0
  57. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/admin_lane.py +0 -0
  58. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/async_db_manager.py +0 -0
  59. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/base.py +0 -0
  60. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/config.py +0 -0
  61. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/connections.py +0 -0
  62. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/db_function.py +0 -0
  63. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/diagnostics.py +0 -0
  64. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/expressions.py +0 -0
  65. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/extended.py +0 -0
  66. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/fields.py +0 -0
  67. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/introspection.py +0 -0
  68. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/listen.py +0 -0
  69. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/loop_filters.py +0 -0
  70. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/model_dto.py +0 -0
  71. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/model_view.py +0 -0
  72. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/one_database.py +0 -0
  73. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/paginator.py +0 -0
  74. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/pool_maintenance.py +0 -0
  75. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/pool_watch.py +0 -0
  76. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/pooler_role.py +0 -0
  77. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/pydantic_bridge.py +0 -0
  78. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/registry.py +0 -0
  79. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/relations.py +0 -0
  80. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/resilience.py +0 -0
  81. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/rls_session.py +0 -0
  82. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/session_context.py +0 -0
  83. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/signals.py +0 -0
  84. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/tls.py +0 -0
  85. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/transaction.py +0 -0
  86. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/types.py +0 -0
  87. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/write_queue.py +0 -0
  88. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/core/write_retry.py +0 -0
  89. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/entity.py +0 -0
  90. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/error_handling.py +0 -0
  91. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/exceptions.py +0 -0
  92. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/extended/__init__.py +0 -0
  93. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/extended/app_error_handler.py +0 -0
  94. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/identity_rule.py +0 -0
  95. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/local_sqlite.py +0 -0
  96. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/middleware/__init__.py +0 -0
  97. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/middleware/base.py +0 -0
  98. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/MODULE_README.md +0 -0
  99. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/__init__.py +0 -0
  100. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/cli.py +0 -0
  101. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/ddl.py +0 -0
  102. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/diff.py +0 -0
  103. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/executor.py +0 -0
  104. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/integration.py +0 -0
  105. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/loader.py +0 -0
  106. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/operations.py +0 -0
  107. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/state.py +0 -0
  108. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/migrations/table_filter.py +0 -0
  109. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/no_org_assignment.py +0 -0
  110. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/FEATURE.md +0 -0
  111. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/MODULE_README.md +0 -0
  112. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/__init__.py +0 -0
  113. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/bulk_update_values.py +0 -0
  114. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/catalog_select.py +0 -0
  115. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/conflict.py +0 -0
  116. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/conflict_writes.py +0 -0
  117. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/create.py +0 -0
  118. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/db_functions.py +0 -0
  119. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/delete.py +0 -0
  120. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/dynamic_admin.py +0 -0
  121. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/dynamic_crud.py +0 -0
  122. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/graph_walk.py +0 -0
  123. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/latest_rows.py +0 -0
  124. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/queue_claim.py +0 -0
  125. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/read.py +0 -0
  126. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/relational_backfill.py +0 -0
  127. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/staging_load.py +0 -0
  128. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/operations/update.py +0 -0
  129. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/platform_db.py +0 -0
  130. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/py.typed +0 -0
  131. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/pytest_live_db_guard.py +0 -0
  132. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/pytest_lock_guard.py +0 -0
  133. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/pytest_plugin.py +0 -0
  134. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/python_sql/MODULE_README.md +0 -0
  135. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/python_sql/__init__.py +0 -0
  136. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/python_sql/db_objects.py +0 -0
  137. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
  138. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
  139. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/query/FEATURE.md +0 -0
  140. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/query/MODULE_README.md +0 -0
  141. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/query/__init__.py +0 -0
  142. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/query/builder.py +0 -0
  143. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/query/executor.py +0 -0
  144. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/resources/__init__.py +0 -0
  145. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/resources/additional-assigners-2026-09-12.json +0 -0
  146. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/resources/org_assignment_trigger_baseline.json +0 -0
  147. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/FEATURE.md +0 -0
  148. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/MODULE_README.md +0 -0
  149. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/__init__.py +0 -0
  150. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/code_handler.py +0 -0
  151. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/codegen_writer.py +0 -0
  152. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/columns.py +0 -0
  153. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/common.py +0 -0
  154. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
  155. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/generator.py +0 -0
  156. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
  157. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
  158. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
  159. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
  160. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/package_wiring.py +0 -0
  161. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/relationships.py +0 -0
  162. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/schema_manager.py +0 -0
  163. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/schema_builder/views.py +0 -0
  164. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/FEATURE.md +0 -0
  165. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/__init__.py +0 -0
  166. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/attachments.py +0 -0
  167. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/backup_restore.py +0 -0
  168. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/crypto.py +0 -0
  169. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/host_authorization.py +0 -0
  170. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/items.py +0 -0
  171. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/model.py +0 -0
  172. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/mutation_receipts.py +0 -0
  173. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/native_enable.py +0 -0
  174. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/native_lifecycle.py +0 -0
  175. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/native_passkeys.py +0 -0
  176. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/native_source.py +0 -0
  177. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/org_service.py +0 -0
  178. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/org_vault_gate.py +0 -0
  179. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/service.py +0 -0
  180. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/secrets_battery/vault_history.py +0 -0
  181. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/README.md +0 -0
  182. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/__init__.py +0 -0
  183. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/coalesce.py +0 -0
  184. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/dag.py +0 -0
  185. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/errors.py +0 -0
  186. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/fallback.py +0 -0
  187. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/flush.py +0 -0
  188. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/lifecycle.py +0 -0
  189. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/managed.py +0 -0
  190. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/op.py +0 -0
  191. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/reads.py +0 -0
  192. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/session/session.py +0 -0
  193. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/MODULE_README.md +0 -0
  194. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/__init__.py +0 -0
  195. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/executor.py +0 -0
  196. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/queries.py +0 -0
  197. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/registry.py +0 -0
  198. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/types.py +0 -0
  199. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/sql_executor/utils.py +0 -0
  200. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/state.py +0 -0
  201. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/utils/__init__.py +0 -0
  202. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/utils/sql_utils.py +0 -0
  203. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/utils/type_converters.py +0 -0
  204. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/matrx_orm/write_actor.py +0 -0
  205. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/scripts/git-branches.sh +0 -0
  206. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/scripts/publish.sh +0 -0
  207. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/scripts/release.sh +0 -0
  208. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/MODULE_README.md +0 -0
  209. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/__init__.py +0 -0
  210. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/conftest.py +0 -0
  211. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/MODULE_README.md +0 -0
  212. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/__init__.py +0 -0
  213. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_adapter_registry.py +0 -0
  214. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_admin_db_columns.py +0 -0
  215. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_admin_response_rendering.py +0 -0
  216. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_admin_search_negation.py +0 -0
  217. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_admin_search_sentinels.py +0 -0
  218. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_advisory_lock.py +0 -0
  219. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_agent_message.py +0 -0
  220. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_api_auth.py +0 -0
  221. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_api_config.py +0 -0
  222. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_api_handlers.py +0 -0
  223. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_api_protocol.py +0 -0
  224. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_array_agg_order_by.py +0 -0
  225. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_association_trigger_actor_naming.py +0 -0
  226. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_associations.py +0 -0
  227. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_associations_wiring.py +0 -0
  228. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_bulk_hydration_offload.py +0 -0
  229. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_bulk_update_by_pk.py +0 -0
  230. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
  231. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_cache_debug.py +0 -0
  232. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_call_function.py +0 -0
  233. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_case_when.py +0 -0
  234. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_catalog.py +0 -0
  235. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_column_scoped_writes.py +0 -0
  236. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_committed_row_guard.py +0 -0
  237. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_composite_pk_filter.py +0 -0
  238. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_composite_pk_write_paths.py +0 -0
  239. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_config.py +0 -0
  240. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_conflict_target.py +0 -0
  241. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_conflict_writes.py +0 -0
  242. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_connection_codecs.py +0 -0
  243. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_connection_poison_guard.py +0 -0
  244. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_connection_primitives.py +0 -0
  245. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_count_composite_distinct.py +0 -0
  246. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_count_limit_param_leak.py +0 -0
  247. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_db_function_field.py +0 -0
  248. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_ddl_generator.py +0 -0
  249. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_deadlock_retry.py +0 -0
  250. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_derived_table.py +0 -0
  251. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_dirty_tracking.py +0 -0
  252. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_dynamic_crud.py +0 -0
  253. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_exceptions.py +0 -0
  254. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_execute_query_integrity_mapping.py +0 -0
  255. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_expression_primitives.py +0 -0
  256. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_fields.py +0 -0
  257. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
  258. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_fk_cycle_resolution.py +0 -0
  259. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_from_alias.py +0 -0
  260. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_fts.py +0 -0
  261. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_func_expression_args.py +0 -0
  262. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_graph_walk.py +0 -0
  263. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_having_annotate_alias.py +0 -0
  264. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
  265. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_introspect_rls_policies.py +0 -0
  266. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_join_and_aggregate.py +0 -0
  267. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_latest_rows.py +0 -0
  268. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_listen_notify.py +0 -0
  269. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_local_sqlite.py +0 -0
  270. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_lock_contention_retry.py +0 -0
  271. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_managed_write_guard.py +0 -0
  272. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_matrx_entity.py +0 -0
  273. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_migration_diff_types.py +0 -0
  274. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_migration_loader.py +0 -0
  275. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_model_instance.py +0 -0
  276. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_model_meta.py +0 -0
  277. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_optimistic_concurrency.py +0 -0
  278. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_order_by_expression.py +0 -0
  279. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_org_assignment_inventory.py +0 -0
  280. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_orm_banners_are_client_safe.py +0 -0
  281. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_parameter_name_hydration.py +0 -0
  282. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_patch_jsonb_path.py +0 -0
  283. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_percentile_cont.py +0 -0
  284. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_persisted_count.py +0 -0
  285. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_person_scoped_session_bypasses_shared_cache.py +0 -0
  286. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_pool_create_never_wedges.py +0 -0
  287. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_pool_holder_census.py +0 -0
  288. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_pool_loop_recreation.py +0 -0
  289. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_pool_maintenance.py +0 -0
  290. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_postgrest_filters.py +0 -0
  291. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_pydantic_bridge.py +0 -0
  292. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_query_builder.py +0 -0
  293. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_query_error_detail.py +0 -0
  294. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_query_timeout.py +0 -0
  295. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
  296. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_queue_claim.py +0 -0
  297. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_read_connection_retry.py +0 -0
  298. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_registry.py +0 -0
  299. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_registry_multi_database.py +0 -0
  300. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_registry_multi_schema.py +0 -0
  301. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_relational_backfill.py +0 -0
  302. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_relations.py +0 -0
  303. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_resilience.py +0 -0
  304. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_rls_session_scope.py +0 -0
  305. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_schema_exists.py +0 -0
  306. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_session_advisory_lock.py +0 -0
  307. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_standalone_write_session_context.py +0 -0
  308. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_state_cache.py +0 -0
  309. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_subquery_filter_raw.py +0 -0
  310. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_subquery_in_filter.py +0 -0
  311. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_subquery_nested_expressions.py +0 -0
  312. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_supabase_auth.py +0 -0
  313. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_supabase_config.py +0 -0
  314. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_tls.py +0 -0
  315. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_transaction_database_identity.py +0 -0
  316. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_typed_join_projection.py +0 -0
  317. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_typed_predicates.py +0 -0
  318. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_update_case_expression.py +0 -0
  319. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_update_subquery.py +0 -0
  320. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_update_with_rebase.py +0 -0
  321. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_upsert_default_leak.py +0 -0
  322. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_upsert_with_conflict.py +0 -0
  323. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_values_jsonb_decode.py +0 -0
  324. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_watched_lifecycle.py +0 -0
  325. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_write_queue_deadline.py +0 -0
  326. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level1/test_write_retry_semantics.py +0 -0
  327. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/MODULE_README.md +0 -0
  328. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/__init__.py +0 -0
  329. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/conftest.py +0 -0
  330. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_bulk_ops.py +0 -0
  331. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_cache_integration.py +0 -0
  332. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_crud.py +0 -0
  333. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_foreign_keys.py +0 -0
  334. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_m2m.py +0 -0
  335. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_manager.py +0 -0
  336. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_migrations_live.py +0 -0
  337. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_query_execution.py +0 -0
  338. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/test_schema_diff.py +0 -0
  339. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/level2/verify_committed_row_guard_pg17.py +0 -0
  340. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/live_pooler_role.py +0 -0
  341. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/native_source_cases.py +0 -0
  342. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/native_source_oracle.rs +0 -0
  343. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/.env.example +0 -0
  344. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/README.md +0 -0
  345. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/__init__.py +0 -0
  346. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/generate.py +0 -0
  347. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/generated/.gitkeep +0 -0
  348. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/matrx_orm.yaml +0 -0
  349. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project/test_schema_generation.py +0 -0
  350. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/.env.example +0 -0
  351. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/README.md +0 -0
  352. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/__init__.py +0 -0
  353. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/client_example.py +0 -0
  354. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/client_example.ts +0 -0
  355. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/client_supabase_example.py +0 -0
  356. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/sample_project_desktop/server.py +0 -0
  357. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/entity_tests.py +0 -0
  358. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_base_generation.py +0 -0
  359. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_composite_pk_fk_generation.py +0 -0
  360. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_composite_unique_generation.py +0 -0
  361. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_dto_identity_generation.py +0 -0
  362. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_entity_capability_generation.py +0 -0
  363. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_enum_ordering.py +0 -0
  364. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_generate_schema.py +0 -0
  365. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_junction_analysis.py +0 -0
  366. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_multi_schema_output.py +0 -0
  367. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_schema_analysis.py +0 -0
  368. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_sql_expression_defaults.py +0 -0
  369. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_table_relationships_query.py +0 -0
  370. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema/test_view_generation.py +0 -0
  371. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema_builder/test_array_default_parsing.py +0 -0
  372. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema_builder/test_focused_generation_plan.py +0 -0
  373. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/schema_builder/test_host_models_aggregator.py +0 -0
  374. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/__init__.py +0 -0
  375. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/conftest.py +0 -0
  376. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_a_failed_capture_still_names_the_failure.py +0 -0
  377. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_cache_no_downgrade.py +0 -0
  378. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_capture_poison_proof.py +0 -0
  379. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_coalesce.py +0 -0
  380. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_dag.py +0 -0
  381. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_disk_spill_fallback.py +0 -0
  382. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_flush_individual_fallback.py +0 -0
  383. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_governed_write.py +0 -0
  384. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_live_db_guard_plugin.py +0 -0
  385. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_managed.py +0 -0
  386. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_op_enqueue_site.py +0 -0
  387. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_reads.py +0 -0
  388. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_record_error_bounded_insert.py +0 -0
  389. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_record_error_storm.py +0 -0
  390. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/session/test_spill_guard_plugin.py +0 -0
  391. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_array_arg_element_type.py +0 -0
  392. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_attachment_mutation_serialization.py +0 -0
  393. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_backup_alias_conflict.py +0 -0
  394. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_backup_history_restore.py +0 -0
  395. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_backup_restore_live.py +0 -0
  396. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_call_function_as.py +0 -0
  397. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_call_function_none_mode.py +0 -0
  398. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_composite_fk_is_not_a_column_fk.py +0 -0
  399. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_database_name_alias.py +0 -0
  400. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_db_functions.py +0 -0
  401. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_dsn_password_masking.py +0 -0
  402. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_dynamic_select_unregistered.py +0 -0
  403. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_immutable_insert_or_exact_verify.py +0 -0
  404. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_keyed_digest.py +0 -0
  405. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_model_cls_refactor.py +0 -0
  406. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_native_enable.py +0 -0
  407. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_native_lifecycle.py +0 -0
  408. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_native_lifecycle_fences.py +0 -0
  409. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_native_passkey_receipts.py +0 -0
  410. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_native_source.py +0 -0
  411. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_no_blocking_asyncpg_tls.py +0 -0
  412. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_one_database.py +0 -0
  413. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_order_by_desc_nulls_last.py +0 -0
  414. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_org_vault_gate.py +0 -0
  415. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_pooler_role_guard.py +0 -0
  416. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_secret_audit_names_its_organization.py +0 -0
  417. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_secrets_battery.py +0 -0
  418. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_secrets_minting_keys.py +0 -0
  419. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_shared_lock_guard.py +0 -0
  420. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_sql_param_casts.py +0 -0
  421. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_sync_twins_guard.py +0 -0
  422. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_update_result_truthiness.py +0 -0
  423. {matrx_orm-3.1.196 → matrx_orm-3.1.197}/tests/test_vault_aggregate_recovery_stateful.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: matrx-orm
3
- Version: 3.1.196
3
+ Version: 3.1.197
4
4
  Summary: Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching
5
5
  Project-URL: Homepage, https://github.com/AI-Matrix-Engine/aidream-current
6
6
  Project-URL: Repository, https://github.com/AI-Matrix-Engine/aidream-current
@@ -26,7 +26,7 @@ Requires-Dist: asyncpg>=0.31.0
26
26
  Requires-Dist: cbor2<7,>=6.1.3
27
27
  Requires-Dist: cryptography>=43.0
28
28
  Requires-Dist: gitpython>=3.1.40
29
- Requires-Dist: matrx-utils>=2.0.57
29
+ Requires-Dist: matrx-utils>=2.0.58
30
30
  Requires-Dist: psycopg-pool>=3.2.5
31
31
  Requires-Dist: psycopg[binary]>=3.2.5
32
32
  Requires-Dist: python-dotenv>=1.0
@@ -350,7 +350,7 @@ class EdgeAccessRequirement:
350
350
  #: the same authority as sharing — editor on both ends.
351
351
  CONVEYING_EDGE = EdgeAccessRequirement((("editor", "editor"),))
352
352
 
353
- #: An ordinary edge: authority over one end, visibility of the other.
353
+ #: An ordinary edge: authority over one end, view access to the other.
354
354
  NON_CONVEYING_EDGE = EdgeAccessRequirement((("editor", "viewer"), ("viewer", "editor")))
355
355
 
356
356
  #: Fail-safe for an unregistered pair: assume it conveys. An edge type nobody
@@ -724,6 +724,7 @@ def preview_schema_changes(
724
724
  from dotenv import load_dotenv
725
725
  from matrx_orm.core.config import register_database_from_env
726
726
  from matrx_orm.schema_builder.common import DEBUG_CONFIG, OutputConfig
727
+ from matrx_orm.schema_builder.schema import entry_manager_flags
727
728
  from matrx_orm.schema_builder.schema_manager import SchemaManager
728
729
 
729
730
  caller_dir = Path(sys.argv[0]).parent.resolve()
@@ -794,7 +795,7 @@ def preview_schema_changes(
794
795
  schema_name = entry.get("schema", "public")
795
796
  include_tables = entry.get("include_tables") or None
796
797
  exclude_tables = entry.get("exclude_tables") or None
797
- manager_flags = entry.get("manager_flags") or None
798
+ manager_flags = entry_manager_flags(cfg, entry)
798
799
 
799
800
  manager = SchemaManager(
800
801
  schema=schema_name,
@@ -25,6 +25,7 @@ from matrx_orm.schema_builder.common import (
25
25
  OutputConfig,
26
26
  )
27
27
  from matrx_orm.schema_builder.helpers.git_checker import check_git_status
28
+ from matrx_orm.schema_builder.schema import entry_manager_flags
28
29
  from matrx_orm.schema_builder.schema_manager import SchemaManager
29
30
 
30
31
 
@@ -355,7 +356,7 @@ def run_schema_generation(
355
356
 
356
357
  # manager_flags: yaml-level defaults for all tables in this generation run.
357
358
  # Per-table manager_config_overrides (from the databases section) stack on top.
358
- manager_flags = entry.get("manager_flags") or None
359
+ manager_flags = entry_manager_flags(cfg, entry)
359
360
 
360
361
  # skip_unchanged_managers: when True, manager files for tables whose
361
362
  # model definition has not changed are not rewritten. Default False
@@ -39,6 +39,27 @@ _MANAGER_FLAG_DEFAULTS: dict = {
39
39
  }
40
40
 
41
41
 
42
+ # Generation-wide list of column names that never get generated filter helpers
43
+ # (``load_*/filter_*_by_<column>`` manager methods and their ``filter_fields``
44
+ # entry). Declared once at the top level of matrx_orm.yaml as
45
+ # ``never_filter_columns: [...]``; a host uses it for a column it is retiring,
46
+ # so no new code gains a helper that filters on it while the column still exists
47
+ # (the model field stays until the column is dropped).
48
+ NEVER_FILTER_COLUMNS_KEY = "never_filter_columns"
49
+ EXCLUDE_FILTER_FIELDS_FLAG = "exclude_filter_fields"
50
+
51
+
52
+ def entry_manager_flags(cfg: dict, entry: dict) -> dict | None:
53
+ """The manager flags for one ``generate[]`` entry: its own ``manager_flags``
54
+ plus the config-wide ``never_filter_columns`` as ``exclude_filter_fields``."""
55
+ flags = dict(entry.get("manager_flags") or {})
56
+ never = [str(c) for c in (cfg.get(NEVER_FILTER_COLUMNS_KEY) or [])]
57
+ if never:
58
+ own = list(flags.get(EXCLUDE_FILTER_FIELDS_FLAG) or [])
59
+ flags[EXCLUDE_FILTER_FIELDS_FLAG] = sorted(set(own) | set(never))
60
+ return flags or None
61
+
62
+
42
63
  class Schema:
43
64
  def __init__(
44
65
  self,
@@ -1215,7 +1215,16 @@ class Table:
1215
1215
  MANAGER_CONFIG_OVERRIDES = get_manager_config(self.database_project)
1216
1216
 
1217
1217
  relations = self.get_all_relations_list()
1218
- filter_fields = [column.name for column in self.columns if column.is_default_filter_field]
1218
+ # exclude_filter_fields is an input to this method, never a generated
1219
+ # config key: it removes columns from filter_fields and is dropped from
1220
+ # the flags merged below (see schema.entry_manager_flags).
1221
+ global_manager_flags = dict(global_manager_flags or {})
1222
+ excluded_filter_fields = set(global_manager_flags.pop("exclude_filter_fields", None) or ())
1223
+ filter_fields = [
1224
+ column.name
1225
+ for column in self.columns
1226
+ if column.is_default_filter_field and column.name not in excluded_filter_fields
1227
+ ]
1219
1228
 
1220
1229
  m2m_config = self.to_python_many_to_many_config()
1221
1230
  m2m_relations = list(m2m_config.keys()) if m2m_config else None
@@ -9,7 +9,7 @@ Emits structured telemetry at the Session boundary so operators can see:
9
9
 
10
10
  The OTel SDK is an OPTIONAL dependency. If ``opentelemetry`` isn't
11
11
  installed, every emit is a no-op. matrx-utils ``vcprint`` continues to
12
- provide dev-mode visibility regardless.
12
+ provide dev-mode insight regardless.
13
13
 
14
14
  Wired up by ``matrx_orm.configure_session(...)`` which the host calls
15
15
  at startup. No-op when not configured.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "matrx-orm"
3
- version = "3.1.196"
3
+ version = "3.1.197"
4
4
  description = "Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -41,7 +41,7 @@ dependencies = [
41
41
  "gitpython>=3.1.40",
42
42
  "psycopg[binary]>=3.2.5",
43
43
  "psycopg-pool>=3.2.5",
44
- "matrx-utils>=2.0.57",
44
+ "matrx-utils>=2.0.58",
45
45
  "pyyaml>=6.0.3",
46
46
  "python-dotenv>=1.0",
47
47
  "cryptography>=43.0",
@@ -150,10 +150,10 @@ class TestBuildCondition:
150
150
  executor._full_query_dict = {"table": "workflow.definition", "joins": []}
151
151
  params = []
152
152
 
153
- sql = executor._render_q(Q(visibility__in=("internal", "link", "public")), params)
153
+ sql = executor._render_q(Q(status__in=("queued", "running", "done")), params)
154
154
 
155
- assert sql == "visibility = ANY($1)"
156
- assert params == [("internal", "link", "public")]
155
+ assert sql == "status = ANY($1)"
156
+ assert params == [("queued", "running", "done")]
157
157
 
158
158
  def test_nin(self):
159
159
  sql, val = QueryExecutor._build_condition("status", "nin", ["failed", "canceled"], 2)
@@ -0,0 +1,70 @@
1
+ """A column named in ``never_filter_columns`` gets no generated filter helpers.
2
+
3
+ A host retiring a column (aidream: access ladder T-13) lists it once at the top
4
+ of matrx_orm.yaml. Every ``generate[]`` entry then leaves it out of the manager's
5
+ ``filter_fields`` — so no ``load_*/filter_*_by_<column>`` methods and no
6
+ ``filter_fields`` entry in the auto_config — while the model field itself is
7
+ still generated. The flag is an input, never a key written into the auto_config
8
+ (it would also reach ``generate_manager_class`` as an unknown keyword).
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from types import SimpleNamespace
14
+
15
+ import matrx_orm.schema_builder.tables as tables_mod
16
+ from matrx_orm.schema_builder.schema import entry_manager_flags
17
+ from matrx_orm.schema_builder.tables import Table
18
+
19
+
20
+ def test_config_wide_list_reaches_every_entry() -> None:
21
+ cfg = {"never_filter_columns": ["retired_col"]}
22
+ assert entry_manager_flags(cfg, {}) == {"exclude_filter_fields": ["retired_col"]}
23
+ merged = entry_manager_flags(cfg, {"manager_flags": {"include_filter_fields": True, "exclude_filter_fields": ["other"]}})
24
+ assert merged == {"include_filter_fields": True, "exclude_filter_fields": ["other", "retired_col"]}
25
+
26
+
27
+ def test_no_list_changes_nothing() -> None:
28
+ assert entry_manager_flags({}, {}) is None
29
+ assert entry_manager_flags({}, {"manager_flags": {"include_filter_fields": False}}) == {"include_filter_fields": False}
30
+
31
+
32
+ def _fake_table() -> SimpleNamespace:
33
+ def col(name: str, filt: bool) -> SimpleNamespace:
34
+ return SimpleNamespace(name=name, is_default_filter_field=filt)
35
+
36
+ return SimpleNamespace(
37
+ database_project="p",
38
+ schema="s",
39
+ name="thing",
40
+ name_plural="things",
41
+ name_snake="thing",
42
+ python_model_name="Thing",
43
+ models_module_prefix="db",
44
+ columns=[col("status", True), col("retired_col", True), col("title", False)],
45
+ get_all_relations_list=lambda: [],
46
+ to_python_many_to_many_config=lambda: None,
47
+ )
48
+
49
+
50
+ def _render(monkeypatch, flags):
51
+ seen: dict = {}
52
+ monkeypatch.setattr(tables_mod, "get_manager_config", lambda _p: {})
53
+ monkeypatch.setattr(tables_mod, "get_database_alias", lambda _p: "p")
54
+ monkeypatch.setattr(tables_mod, "generate_manager_class", lambda **kw: seen.update(kw) or "")
55
+ monkeypatch.setattr(tables_mod, "generate_dto_and_manager", lambda *_a: "")
56
+ table = _fake_table()
57
+ Table.to_python_manager_string(table, flags)
58
+ return table.base_class_auto_config, seen
59
+
60
+
61
+ def test_listed_column_gets_no_filter_helpers(monkeypatch) -> None:
62
+ config, kwargs = _render(monkeypatch, entry_manager_flags({"never_filter_columns": ["retired_col"]}, {}))
63
+ assert config["filter_fields"] == ["status"]
64
+ assert "exclude_filter_fields" not in config
65
+ assert "exclude_filter_fields" not in kwargs
66
+
67
+
68
+ def test_without_the_list_the_column_is_a_filter_field(monkeypatch) -> None:
69
+ config, _ = _render(monkeypatch, None)
70
+ assert config["filter_fields"] == ["status", "retired_col"]
@@ -246,7 +246,7 @@ async def test_pending_op_for_row_returns_latest(FakeMessage):
246
246
 
247
247
 
248
248
  # ---------------------------------------------------------------------------
249
- # Stack-walk pending visibility — the contract behind pending-aware reads
249
+ # Stack-walk pending-op view — the contract behind pending-aware reads
250
250
  # for nested (child-agent) Sessions. A child Session MUST see ops its
251
251
  # ancestors queued-but-didn't-flush, or it re-INSERTs a reserved row and
252
252
  # the two coordinators collide on the PK at flush.
@@ -1,7 +1,7 @@
1
1
  """The `__user_visible` path lookup (folder-sync SPEC-SERVER S25).
2
2
 
3
3
  ONE EXPRESSION, not merely one rule: the change feed, `public.get_user_file_tree`
4
- and both partial index predicates must spell the visibility rule as the identical
4
+ and both partial index predicates must spell the user-visible rule as the identical
5
5
  call `files.is_user_visible_path(<column>)`, because Postgres's predicate-implication
6
6
  prover only matches an index predicate containing a function call against the same
7
7
  expression. These tests pin the emitted SQL text, so a refactor that "simplifies" the
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes