matrx-orm 3.1.239__tar.gz → 3.1.240__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.
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/PKG-INFO +2 -2
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/postgres_connection.py +14 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/model.py +3 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/pyproject.toml +2 -2
- matrx_orm-3.1.240/tests/level1/test_sync_pool_declares_read_write.py +39 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/.gitignore +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/AGENTS.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/BASE_CLASS_METHODS.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/CHANGELOG.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/CLAUDE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/MODEL_API.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/database/orm/extended/managers/ai_model_base.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/docs/migrations.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/async_postgresql.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/base_adapter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/adapters/supabase_adapter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/admin/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/admin/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/admin/router.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/auth.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/handlers.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/protocol.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/api/server.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/associations.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/cache_debug.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/catalog.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/catalog_sql.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/postgrest.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/supabase_auth.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/supabase_config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/client/supabase_manager.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/EXTENDED-TASK.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/TASKS.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/admin_lane.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/async_db_manager.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/base.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/connections.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/db_function.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/diagnostics.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/expressions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/extended.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/fields.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/foreign_session_state.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/introspection.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/listen.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/loop_filters.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/model_dto.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/model_view.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/one_database.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/paginator.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/pool_maintenance.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/pool_watch.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/pooler_role.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/pydantic_bridge.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/read_write.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/registry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/relations.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/resilience.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/rls_session.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/session_context.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/signals.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/statement_ceiling.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/tls.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/transaction.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/types.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/write_queue.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/core/write_retry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/entity.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/error_handling.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/exceptions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/extended/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/extended/app_error_handler.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/identity_rule.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/local_sqlite.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/middleware/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/middleware/base.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/cli.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/ddl.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/diff.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/executor.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/integration.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/loader.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/operations.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/state.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/migrations/table_filter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/no_org_assignment.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/bulk_update_values.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/catalog_select.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/conflict.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/conflict_writes.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/create.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/db_functions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/delete.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/dynamic_admin.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/dynamic_crud.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/graph_walk.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/latest_rows.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/queue_claim.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/read.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/relational_backfill.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/staging_load.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/operations/update.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/platform_access.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/platform_db.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/py.typed +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/pytest_lock_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/pytest_plugin.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/db_objects.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/query/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/query/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/query/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/query/builder.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/query/executor.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/resources/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/resources/additional-assigners-2026-09-12.json +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/resources/org_assignment_trigger_baseline.json +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/code_handler.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/codegen_writer.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/columns.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/common.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/diff_preview.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/excluded_targets.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/generator.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/package_wiring.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/relationships.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/runner.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/schema.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/schema_manager.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/tables.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/views.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/FEATURE.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/attachments.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/backup_restore.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/crypto.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/host_authorization.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/items.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/mutation_receipts.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/native_enable.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/native_lifecycle.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/native_passkeys.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/native_source.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/org_service.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/org_vault_gate.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/service.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/secrets_battery/vault_history.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/coalesce.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/dag.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/errors.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/fallback.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/flush.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/lifecycle.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/managed.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/op.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/reads.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/session.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/session/telemetry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/executor.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/queries.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/registry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/types.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/sql_executor/utils.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/state.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/utils/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/utils/sql_utils.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/utils/type_converters.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/write_actor.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/scripts/git-branches.sh +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/scripts/publish.sh +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/scripts/release.sh +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/conftest.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_adapter_registry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_admin_db_columns.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_admin_response_rendering.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_admin_search_negation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_admin_search_sentinels.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_advisory_lock.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_agent_message.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_api_auth.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_api_config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_api_handlers.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_api_protocol.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_array_agg_order_by.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_association_trigger_actor_naming.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_associations.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_associations_wiring.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_borrowed_role_never_reaches_server_calls.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_bulk_hydration_offload.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_bulk_update_by_pk.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_cache_debug.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_call_function.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_case_when.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_catalog.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_column_scoped_writes.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_committed_row_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_composite_pk_filter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_composite_pk_write_paths.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_conflict_target.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_conflict_writes.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_connection_codecs.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_connection_poison_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_connection_primitives.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_count_composite_distinct.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_count_limit_param_leak.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_db_function_field.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_ddl_generator.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_deadlock_retry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_derived_table.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_dirty_tracking.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_dynamic_crud.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_exceptions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_execute_query_integrity_mapping.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_expression_primitives.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_fetch_on_init_holds_whole_table.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_fields.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_fk_cycle_resolution.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_from_alias.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_fts.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_func_expression_args.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_graph_walk.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_having_annotate_alias.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_introspect_rls_policies.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_join_and_aggregate.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_latest_rows.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_listen_notify.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_local_sqlite.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_lock_contention_retry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_managed_write_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_matrx_entity.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_migration_diff_types.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_migration_loader.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_model_instance.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_model_meta.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_optimistic_concurrency.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_order_by_expression.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_org_assignment_inventory.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_orm_banners_are_client_safe.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_parameter_name_hydration.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_patch_jsonb_path.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_percentile_cont.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_persisted_count.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_person_scoped_session_bypasses_shared_cache.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_pool_create_never_wedges.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_pool_holder_census.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_pool_loop_recreation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_pool_maintenance.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_postgrest_filters.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_pydantic_bridge.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_query_builder.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_query_error_detail.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_query_executor_sql.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_query_timeout.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_queue_claim.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_read_connection_retry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_read_write_declared.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_registry.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_registry_multi_database.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_registry_multi_schema.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_relational_backfill.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_relations.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_resilience.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_rls_session_scope.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_schema_exists.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_session_advisory_lock.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_standalone_write_session_context.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_state_cache.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_subquery_filter_raw.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_subquery_in_filter.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_subquery_nested_expressions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_supabase_auth.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_supabase_config.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_tls.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_transaction_database_identity.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_transaction_gucs_one_round_trip.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_transaction_pool_release_sends_nothing.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_typed_join_projection.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_typed_predicates.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_update_case_expression.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_update_subquery.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_update_with_rebase.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_upsert_default_leak.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_upsert_with_conflict.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_values_jsonb_decode.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_watched_lifecycle.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_write_queue_deadline.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level1/test_write_retry_semantics.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/MODULE_README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/conftest.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_bulk_ops.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_cache_integration.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_crud.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_foreign_keys.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_m2m.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_manager.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_migrations_live.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_query_execution.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/test_schema_diff.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/level2/verify_committed_row_guard_pg17.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/live_pooler_role.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/native_source_cases.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/native_source_oracle.rs +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/.env.example +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/generate.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/generated/.gitkeep +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/matrx_orm.yaml +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project/test_schema_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/.env.example +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/README.md +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/client_example.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/client_example.ts +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/client_supabase_example.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/sample_project_desktop/server.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/entity_tests.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_base_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_composite_pk_fk_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_composite_unique_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_dto_identity_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_entity_capability_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_enum_ordering.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_excluded_fk_targets.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_generate_schema.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_junction_analysis.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_multi_schema_output.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_schema_analysis.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_sql_expression_defaults.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_table_relationships_query.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema/test_view_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema_builder/test_array_default_parsing.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema_builder/test_enum_array_column.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema_builder/test_focused_generation_plan.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema_builder/test_host_models_aggregator.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/schema_builder/test_never_filter_columns.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/__init__.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/conftest.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_a_failed_capture_still_names_the_failure.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_a_grouped_update_writes_only_each_rows_own_fields.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_cache_no_downgrade.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_capture_poison_proof.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_coalesce.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_dag.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_disk_spill_fallback.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_flush_individual_fallback.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_governed_write.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_managed.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_op_enqueue_site.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_pending_insert_honors_operator_filters.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_reads.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_record_error_bounded_insert.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_record_error_storm.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_session.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_spill_guard_plugin.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/session/test_tests_never_write_live_system_error.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_backend_handed_over_mid_transaction_never_takes_our_writes.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_bulk_cache_never_stalls_the_loop.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_keyword_column_refuses_generation.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_list_of_uuids_binds_as_uuid_array.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_read_only_backend_never_refuses_our_writes.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_a_sealed_field_shows_no_character_of_its_value.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_array_arg_element_type.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_attachment_mutation_serialization.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_backup_alias_conflict.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_backup_history_restore.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_backup_restore_live.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_call_function_as.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_call_function_none_mode.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_composite_fk_is_not_a_column_fk.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_database_name_alias.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_db_functions.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_dsn_password_masking.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_dynamic_select_unregistered.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_first_asks_the_database_for_one_row.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_foreign_session_state.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_immutable_insert_or_exact_verify.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_keyed_digest.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_model_cls_refactor.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_native_enable.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_native_lifecycle.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_native_lifecycle_fences.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_native_passkey_receipts.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_native_source.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_no_blocking_asyncpg_tls.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_one_database.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_order_by_desc_nulls_last.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_org_vault_gate.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_package_wiring_views.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_pooler_role_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_secret_audit_names_its_organization.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_secrets_battery.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_secrets_minting_keys.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_shared_lock_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_sql_param_casts.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_state_cache_sweeps_stale.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_statement_ceiling_warning.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_sync_twins_guard.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_update_result_truthiness.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/tests/test_user_visible_lookup.py +0 -0
- {matrx_orm-3.1.239 → matrx_orm-3.1.240}/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.
|
|
3
|
+
Version: 3.1.240
|
|
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.
|
|
29
|
+
Requires-Dist: matrx-utils>=2.0.80
|
|
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
|
|
@@ -13,6 +13,19 @@ from matrx_orm import get_database_config
|
|
|
13
13
|
connection_pools: dict[str, ConnectionPool] = {}
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
def declare_read_write(conn: Any) -> None:
|
|
17
|
+
"""Make every transaction this connection opens a ``BEGIN READ WRITE``.
|
|
18
|
+
|
|
19
|
+
A transaction-mode pooler (Supavisor, port 6543) hands this connection whatever backend
|
|
20
|
+
is free, and a backend another client left with a session-level
|
|
21
|
+
read-only default (or one born read-only during a freeze or
|
|
22
|
+
failover) refuses every write — "cannot execute INSERT in a read-only transaction".
|
|
23
|
+
``BEGIN READ WRITE`` overrides that default for the transaction, so this door never
|
|
24
|
+
inherits it. Pool ``configure=`` callback; also called on one-off connections.
|
|
25
|
+
"""
|
|
26
|
+
conn.read_only = False
|
|
27
|
+
|
|
28
|
+
|
|
16
29
|
def init_connection_details(config_name: str) -> None:
|
|
17
30
|
"""Lazy-initialize the sync psycopg pool for ``config_name``.
|
|
18
31
|
|
|
@@ -85,6 +98,7 @@ def init_connection_details(config_name: str) -> None:
|
|
|
85
98
|
min_size=sync_pool_min,
|
|
86
99
|
max_size=sync_pool_max,
|
|
87
100
|
kwargs={"sslmode": "require", "prepare_threshold": None},
|
|
101
|
+
configure=declare_read_write,
|
|
88
102
|
open=False,
|
|
89
103
|
)
|
|
90
104
|
connection_pools[config_name].open(wait=True)
|
|
@@ -126,6 +126,9 @@ class CredentialAttachment(Model):
|
|
|
126
126
|
created_at = DateTimeField(null=False)
|
|
127
127
|
updated_at = DateTimeField(null=False)
|
|
128
128
|
deleted_at = DateTimeField()
|
|
129
|
+
# Per-attachment bookkeeping kept beside the bytes (e.g. which backup codes are spent).
|
|
130
|
+
# Without this field the ORM silently dropped it from reads and refused writes.
|
|
131
|
+
custom_fields = JSONBField(null=False, default={})
|
|
129
132
|
|
|
130
133
|
_table_name = "credential_attachments"
|
|
131
134
|
_db_schema = "users"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "matrx-orm"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.240"
|
|
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.
|
|
44
|
+
"matrx-utils>=2.0.80",
|
|
45
45
|
"pyyaml>=6.0.3",
|
|
46
46
|
"python-dotenv>=1.0",
|
|
47
47
|
"cryptography>=43.0",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""The sync psycopg pool and the common/supabase client begin every transaction as BEGIN READ WRITE.
|
|
2
|
+
|
|
3
|
+
A backend another client left read-only (transaction pooler, port 6543) must never refuse these writes.
|
|
4
|
+
The async door is covered by ``test_read_write_declared.py``; the live async half by
|
|
5
|
+
``tests/test_a_read_only_backend_never_refuses_our_writes.py``.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import Any
|
|
11
|
+
from unittest.mock import MagicMock
|
|
12
|
+
|
|
13
|
+
from matrx_orm.client import postgres_connection as pc
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class _Conn:
|
|
17
|
+
read_only: Any = None
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_declare_read_write_turns_every_begin_into_begin_read_write() -> None:
|
|
21
|
+
conn = _Conn()
|
|
22
|
+
pc.declare_read_write(conn)
|
|
23
|
+
assert conn.read_only is False # psycopg: BEGIN READ WRITE (None would mean "server default")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_the_sync_pool_is_built_with_the_declaration(monkeypatch) -> None:
|
|
27
|
+
pool_cls = MagicMock()
|
|
28
|
+
monkeypatch.setattr(pc, "ConnectionPool", pool_cls)
|
|
29
|
+
monkeypatch.setattr(pc, "vcprint", lambda *a, **k: None)
|
|
30
|
+
monkeypatch.setattr(
|
|
31
|
+
pc,
|
|
32
|
+
"get_database_config",
|
|
33
|
+
lambda config_name: {
|
|
34
|
+
"host": "h", "port": "6543", "database_name": "d", "user": "u", "password": "p", "pool_min": 1, "pool_max": 2,
|
|
35
|
+
},
|
|
36
|
+
)
|
|
37
|
+
monkeypatch.setattr(pc, "connection_pools", {})
|
|
38
|
+
pc.init_connection_details("rw_probe")
|
|
39
|
+
assert pool_cls.call_args.kwargs["configure"] is pc.declare_read_write
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/table_detailed_relationships.py
RENAMED
|
File without changes
|
{matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/python_sql/table_typescript_relationship.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/resources/additional-assigners-2026-09-12.json
RENAMED
|
File without changes
|
{matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/resources/org_assignment_trigger_baseline.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrx_orm-3.1.239 → matrx_orm-3.1.240}/matrx_orm/schema_builder/helpers/entity_generators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|