sqlspec 0.27.0__tar.gz → 0.28.0__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.
Potentially problematic release.
This version of sqlspec might be problematic. Click here for more details.
- sqlspec-0.28.0/.claude/AGENTS.md +1 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/README.md +24 -24
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/docs-vision.md +6 -3
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/expert.md +52 -6
- sqlspec-0.27.0/.claude/agents/planner.md → sqlspec-0.28.0/.claude/agents/prd.md +13 -10
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/testing.md +5 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/implement.md +8 -9
- sqlspec-0.27.0/.claude/commands/plan.md → sqlspec-0.28.0/.claude/commands/prd.md +3 -3
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.pre-commit-config.yaml +2 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/AGENTS.md +1124 -7
- sqlspec-0.28.0/CLAUDE.md +1 -0
- sqlspec-0.28.0/GEMINI.md +1 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/PKG-INFO +2 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/README.md +1 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/pyproject.toml +4 -5
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/README.md +10 -10
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/README.md +1 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/_typing.py +93 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/adk/store.py +21 -11
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/data_dictionary.py +27 -5
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/driver.py +83 -14
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/adk/store.py +27 -18
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/adk/store.py +26 -16
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/adk/store.py +26 -16
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/data_dictionary.py +24 -17
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/adk/store.py +30 -21
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/config.py +11 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/driver.py +138 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/adk/store.py +21 -11
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/driver.py +87 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/adk/store.py +89 -206
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/driver.py +183 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/litestar/store.py +22 -24
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/adk/store.py +28 -27
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/data_dictionary.py +24 -17
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/driver.py +7 -10
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/adk/store.py +51 -33
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/data_dictionary.py +48 -34
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/adk/store.py +29 -19
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/config.py +100 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/filters.py +18 -10
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/result.py +133 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_async.py +89 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_common.py +64 -29
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_sync.py +95 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +2 -2
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/service.py +3 -3
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/store.py +8 -8
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/aiosql/adapter.py +3 -15
- sqlspec-0.28.0/sqlspec/extensions/fastapi/__init__.py +21 -0
- sqlspec-0.28.0/sqlspec/extensions/fastapi/extension.py +331 -0
- sqlspec-0.28.0/sqlspec/extensions/fastapi/providers.py +543 -0
- sqlspec-0.28.0/sqlspec/extensions/flask/__init__.py +36 -0
- sqlspec-0.28.0/sqlspec/extensions/flask/_state.py +71 -0
- sqlspec-0.28.0/sqlspec/extensions/flask/_utils.py +40 -0
- sqlspec-0.28.0/sqlspec/extensions/flask/extension.py +389 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/config.py +3 -6
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/plugin.py +26 -2
- sqlspec-0.28.0/sqlspec/extensions/starlette/__init__.py +10 -0
- sqlspec-0.28.0/sqlspec/extensions/starlette/_state.py +25 -0
- sqlspec-0.28.0/sqlspec/extensions/starlette/_utils.py +52 -0
- sqlspec-0.28.0/sqlspec/extensions/starlette/extension.py +254 -0
- sqlspec-0.28.0/sqlspec/extensions/starlette/middleware.py +154 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/protocols.py +40 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/_utils.py +1 -14
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/fsspec.py +3 -5
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/local.py +1 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/obstore.py +10 -18
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/typing.py +16 -0
- sqlspec-0.28.0/sqlspec/utils/__init__.py +31 -0
- sqlspec-0.28.0/sqlspec/utils/arrow_helpers.py +81 -0
- sqlspec-0.28.0/sqlspec/utils/module_loader.py +293 -0
- sqlspec-0.28.0/sqlspec/utils/portal.py +311 -0
- sqlspec-0.28.0/sqlspec/utils/serializers.py +167 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/sync_tools.py +15 -5
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/type_guards.py +25 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_adbc/test_arrow.py +219 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_aiosqlite/test_arrow.py +235 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_numpy_serialization.py +254 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_asyncmy/test_arrow.py +246 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_asyncpg/test_arrow.py +234 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_bigquery/test_arrow.py +266 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_duckdb/test_arrow.py +193 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_oracledb/test_arrow.py +267 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_inmemory.py +10 -5
- sqlspec-0.28.0/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_inmemory.py +280 -0
- sqlspec-0.28.0/tests/integration/test_adapters/test_psqlpy/test_arrow.py +229 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/test_owner_id_column.py +8 -3
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_migrations.py +7 -7
- sqlspec-0.28.0/tests/integration/test_adapters/test_psycopg/test_arrow.py +236 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/test_owner_id_column.py +1 -1
- sqlspec-0.28.0/tests/integration/test_adapters/test_sqlite/test_arrow.py +223 -0
- sqlspec-0.28.0/tests/integration/test_extensions/__init__.py +1 -0
- sqlspec-0.28.0/tests/integration/test_extensions/test_fastapi_filters_integration.py +390 -0
- sqlspec-0.28.0/tests/integration/test_extensions/test_fastapi_integration.py +281 -0
- sqlspec-0.28.0/tests/integration/test_extensions/test_flask_integration.py +315 -0
- sqlspec-0.28.0/tests/integration/test_extensions/test_starlette_integration.py +222 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_storage/test_storage_integration.py +3 -3
- sqlspec-0.28.0/tests/unit/test_arrow_helpers.py +156 -0
- sqlspec-0.28.0/tests/unit/test_arrow_result.py +150 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/test_result_tools.py +1 -1
- sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/__init__.py +1 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/test_extension.py +95 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/test_providers.py +338 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_flask/__init__.py +1 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_flask/test_extension.py +98 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_flask/test_state.py +161 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/__init__.py +1 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_config_state.py +65 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_extension.py +69 -0
- sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_utils.py +143 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_fsspec_backend.py +9 -4
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_local_store.py +9 -4
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_obstore_backend.py +9 -4
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_storage_utils.py +2 -1
- sqlspec-0.28.0/tests/unit/test_utils/test_dependencies.py +58 -0
- sqlspec-0.28.0/tests/unit/test_utils/test_portal.py +300 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_serializers.py +201 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_sync_tools.py +82 -5
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_type_guards.py +53 -1
- {sqlspec-0.27.0 → sqlspec-0.28.0}/uv.lock +1478 -1322
- sqlspec-0.27.0/.claude/AGENTS.md +0 -554
- sqlspec-0.27.0/CLAUDE.md +0 -5
- sqlspec-0.27.0/GEMINI.md +0 -5
- sqlspec-0.27.0/sqlspec/utils/__init__.py +0 -10
- sqlspec-0.27.0/sqlspec/utils/module_loader.py +0 -93
- sqlspec-0.27.0/sqlspec/utils/serializers.py +0 -58
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/review.md +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/test.md +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/.gitignore +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/CONTRIBUTING.rst +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/LICENSE +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/Makefile +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/active/.gitkeep +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/archive/.gitkeep +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/prd.md +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/recovery.md +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/research/.gitkeep +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/tasks.md +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__main__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__metadata__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/_serialization.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/pool.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/pool.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/_numpy_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/pool.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/base.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_base.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_column.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_ddl.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_delete.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_dml.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_expression_wrappers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_factory.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_insert.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_join.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_merge.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_parsing_utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_select.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_update.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/cli.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/cache.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/compiler.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/hashing.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/parameters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/splitter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/statement.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/type_conversion.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/_result_tools.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/_sql_translator.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/_types.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/converters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/aiosql/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/_utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/cli.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/providers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/loader.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/base.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/commands.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/context.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/fix.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/loaders.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/runner.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/tracker.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/validation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/py.typed +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/base.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/registry.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/config_resolver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/correlation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/data_transformation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/deprecation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/fixtures.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/logging.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/schema.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/singleton.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/text.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/version.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/asset_maintenance.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/example_usage.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/init.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-config.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-users.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/init.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/oracle.ddl.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/init.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/readiness-check.sql +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/sql_utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_arrow_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_backends.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_edge_cases.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_results.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_integration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_support.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_edge_cases.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_event_operations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_session_operations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_pooling.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_asyncmy_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_execute_many.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_session_operations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_schema_migration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_bigquery_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_type_handler_config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_driver_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_execute_many.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_mixed_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_pooling.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_driver_async.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_driver_sync.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_execute_many.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_oracle_specific.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_async.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_sync.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_msgspec_clob.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_numpy_vectors.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_oracle_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_psqlpy_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_async_copy.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_connection.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_execute_many.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_async.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_sync.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_driver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_driver_features.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_pooling.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_query_mixin.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_async_migrations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/test_dishka_integration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_loader/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_loader/test_file_system_loading.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_auto_sync.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_checksum_stability.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_file_operations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_idempotency_workflow.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_schema_migration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_upgrade_downgrade_versions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_storage/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/conftest.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_adapter_implementations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_adbc/test_adbc_serialization.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_async_adapters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/test_config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/test_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_duckdb/test_type_converter.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_extension_config.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_oracledb/test_numpy_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_oracledb/test_type_converter_vectors.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_psycopg/test_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sqlite/test_type_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sync_adapters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/test_sql_integration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/test_sqlspec_class.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_insert_builder.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_lateral_joins.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_parameter_naming.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_select_locking.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder_parameter_naming.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_config_loading.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_migration_commands.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_shell_completion.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_config_resolver.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_cache.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_compiler.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_filters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_hashing.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_parameters.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_result.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_statement.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cte_parameter_collisions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/test_data_dictionary.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_exceptions.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/test_litestar/test_handlers.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_cache_integration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_fixtures_directory_loading.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_loading_patterns.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_sql_file_loader.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migration_context.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_checksum_canonicalization.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_extension_discovery.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_fix_regex_precision.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_commands.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_context.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_execution.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_runner.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_tracker_idempotency.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_validation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version_conversion.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version_parsing_edge_cases.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_parsing_utils.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_serialization.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_sql_factory.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_storage_registry.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_type_conversion.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_correlation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_data_transformation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_deprecation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_fixtures.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_logging.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_module_loader.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_singleton.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_text.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_where_or_operations.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/build_docs.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/fix_documentation.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/local-infra.sh +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/pypi_readme.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/sphinx_ext/__init__.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/sphinx_ext/changelog.py +0 -0
- {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/sphinx_ext/missing_references.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../AGENTS.md
|
|
@@ -7,8 +7,8 @@ Enhanced agent system for AI-assisted SQLSpec development, compatible with Claud
|
|
|
7
7
|
## Quick Start
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
# 1.
|
|
11
|
-
/
|
|
10
|
+
# 1. Create PRD for a feature
|
|
11
|
+
/prd implement vector search for Oracle
|
|
12
12
|
|
|
13
13
|
# 2. Implement it
|
|
14
14
|
/implement
|
|
@@ -22,18 +22,18 @@ Enhanced agent system for AI-assisted SQLSpec development, compatible with Claud
|
|
|
22
22
|
|
|
23
23
|
## Core Agents (Enhanced System)
|
|
24
24
|
|
|
25
|
-
### 1. **
|
|
25
|
+
### 1. **PRD** - Product Requirements and Design
|
|
26
26
|
|
|
27
27
|
- Research-grounded planning (guides + Context7 + WebSearch)
|
|
28
28
|
- Structured multi-step plans via zen.planner
|
|
29
29
|
- Multi-model consensus via zen.consensus
|
|
30
|
-
- Creates workspace in `
|
|
30
|
+
- Creates workspace in `specs/active/{requirement}/`
|
|
31
31
|
|
|
32
|
-
**Invoke:** `/
|
|
32
|
+
**Invoke:** `/prd {feature description}`
|
|
33
33
|
|
|
34
34
|
### 2. **Expert** - Implementation
|
|
35
35
|
|
|
36
|
-
- Implements features following
|
|
36
|
+
- Implements features following AGENTS.md standards
|
|
37
37
|
- Uses zen.debug for systematic debugging
|
|
38
38
|
- Uses zen.thinkdeep for complex decisions
|
|
39
39
|
- Uses zen.analyze for code analysis
|
|
@@ -63,7 +63,7 @@ Three sequential phases:
|
|
|
63
63
|
## Workspace Structure
|
|
64
64
|
|
|
65
65
|
```
|
|
66
|
-
|
|
66
|
+
specs/active/
|
|
67
67
|
├── {requirement-slug}/ # Active requirement
|
|
68
68
|
│ ├── prd.md # Product Requirements Document
|
|
69
69
|
│ ├── tasks.md # Implementation checklist
|
|
@@ -94,10 +94,10 @@ These guides are the **canonical source of truth** for SQLSpec patterns.
|
|
|
94
94
|
|
|
95
95
|
### Full Feature Development
|
|
96
96
|
|
|
97
|
-
1. **
|
|
97
|
+
1. **PRD:** Research → Structured planning → Create workspace
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
/
|
|
100
|
+
/prd add connection pooling for asyncpg
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
2. **Implement:** Read plan → Implement → Test → Update workspace
|
|
@@ -120,7 +120,7 @@ These guides are the **canonical source of truth** for SQLSpec patterns.
|
|
|
120
120
|
|
|
121
121
|
### Bug Fix
|
|
122
122
|
|
|
123
|
-
1. **
|
|
123
|
+
1. **PRD (optional):** Quick PRD for complex bugs
|
|
124
124
|
2. **Implement:** Use zen.debug for systematic investigation
|
|
125
125
|
3. **Test:** Add regression test
|
|
126
126
|
4. **Review:** Quality gate + cleanup
|
|
@@ -131,14 +131,14 @@ Resume work across sessions/context resets:
|
|
|
131
131
|
|
|
132
132
|
```python
|
|
133
133
|
# Find active work
|
|
134
|
-
Read("
|
|
135
|
-
Read("
|
|
136
|
-
Read("
|
|
134
|
+
Read("specs/active/{requirement}/recovery.md") # Shows status, next steps
|
|
135
|
+
Read("specs/active/{requirement}/tasks.md") # Shows what's done
|
|
136
|
+
Read("specs/active/{requirement}/prd.md") # Full context
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
## Code Quality Standards
|
|
140
140
|
|
|
141
|
-
All agents enforce [
|
|
141
|
+
All agents enforce [AGENTS.md](../AGENTS.md) standards:
|
|
142
142
|
|
|
143
143
|
### ✅ ALWAYS
|
|
144
144
|
|
|
@@ -160,13 +160,13 @@ All agents enforce [CLAUDE.md](../CLAUDE.md) standards:
|
|
|
160
160
|
|
|
161
161
|
Structured multi-step planning workflow
|
|
162
162
|
|
|
163
|
-
**Used by:**
|
|
163
|
+
**Used by:** PRD
|
|
164
164
|
|
|
165
165
|
### zen.consensus
|
|
166
166
|
|
|
167
167
|
Multi-model decision verification (gemini-2.5-pro, gpt-5)
|
|
168
168
|
|
|
169
|
-
**Used by:**
|
|
169
|
+
**Used by:** PRD, Expert
|
|
170
170
|
|
|
171
171
|
### zen.debug
|
|
172
172
|
|
|
@@ -217,7 +217,7 @@ Current best practices (2025+)
|
|
|
217
217
|
**MANDATORY after every `/review`:**
|
|
218
218
|
|
|
219
219
|
1. Remove all `tmp/` directories
|
|
220
|
-
2. Archive completed requirement to `
|
|
220
|
+
2. Archive completed requirement to `specs/active/archive/`
|
|
221
221
|
3. Keep only last 3 active requirements
|
|
222
222
|
4. Archive planning reports to `.claude/reports/archive/`
|
|
223
223
|
|
|
@@ -227,8 +227,8 @@ Current best practices (2025+)
|
|
|
227
227
|
|
|
228
228
|
- **[AGENTS.md](AGENTS.md)** - Comprehensive agent coordination guide
|
|
229
229
|
- **[../docs/guides/README.md](../docs/guides/README.md)** - Index of all development guides
|
|
230
|
-
- **[../
|
|
231
|
-
- **[../
|
|
230
|
+
- **[../specs/active/README.md](../specs/active/README.md)** - Workspace structure and usage
|
|
231
|
+
- **[../AGENTS.md](../AGENTS.md)** - Code quality standards (mandatory reading)
|
|
232
232
|
|
|
233
233
|
## Archive
|
|
234
234
|
|
|
@@ -249,15 +249,15 @@ Run enhancement bootstrap again when:
|
|
|
249
249
|
|
|
250
250
|
- **2025-10-09:** Major enhancement
|
|
251
251
|
- Consolidated guides to `docs/guides/`
|
|
252
|
-
- Created 4 core agents (
|
|
253
|
-
- Added `
|
|
252
|
+
- Created 4 core agents (PRD, Expert, Testing, Docs & Vision)
|
|
253
|
+
- Added `specs/active/` workspace system
|
|
254
254
|
- Added mandatory cleanup protocols
|
|
255
|
-
- Created workflow commands (`/
|
|
255
|
+
- Created workflow commands (`/prd`, `/implement`, `/test`, `/review`)
|
|
256
256
|
- Archived old agents and guides
|
|
257
257
|
|
|
258
258
|
## See Also
|
|
259
259
|
|
|
260
260
|
- [Agent Coordination Guide](AGENTS.md) - Detailed agent workflows
|
|
261
|
-
- [Code Quality Standards](../
|
|
261
|
+
- [Code Quality Standards](../AGENTS.md) - MANDATORY coding standards
|
|
262
262
|
- [Development Guides](../docs/guides/) - Canonical pattern reference
|
|
263
|
-
- [Workspace Guide](../
|
|
263
|
+
- [Workspace Guide](../specs/active/README.md) - Workspace management
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: docs-vision
|
|
3
3
|
description: Documentation excellence, quality gate validation, and workspace cleanup specialist - ensures code quality, comprehensive docs, and clean workspace before completion
|
|
4
|
-
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, Read, Write, Edit, Bash,
|
|
4
|
+
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, Read, Write, Edit, Glob, Grep, Bash, Find, Task
|
|
5
5
|
model: sonnet
|
|
6
|
+
standards_uri: ../AGENTS.md#mandatory-code-quality-standards
|
|
7
|
+
guides_root: ../docs/guides/
|
|
8
|
+
workspace_root: ../specs/active/
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Docs & Vision Agent
|
|
@@ -203,7 +206,7 @@ Quality gate MUST pass before moving to Phase 3 (Cleanup).
|
|
|
203
206
|
### Step 1: Read Quality Standards
|
|
204
207
|
|
|
205
208
|
```python
|
|
206
|
-
Read("
|
|
209
|
+
Read("AGENTS.md") # Code quality standards
|
|
207
210
|
Read("docs/guides/testing/testing.md") # Testing standards
|
|
208
211
|
```
|
|
209
212
|
|
|
@@ -814,6 +817,6 @@ def test_asyncpg_connection_basic():
|
|
|
814
817
|
✅ **Phase 4 Complete** - Re-validation passed after updates
|
|
815
818
|
✅ **Phase 5 Complete** - Workspace cleaned and archived
|
|
816
819
|
✅ **All tests pass** - `make lint && make test` success
|
|
817
|
-
✅ **Standards followed** -
|
|
820
|
+
✅ **Standards followed** - AGENTS.md compliance
|
|
818
821
|
✅ **Knowledge preserved** - Future implementations benefit
|
|
819
822
|
✅ **Clean handoff** - Ready for PR/commit
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: expert
|
|
3
3
|
description: SQLSpec domain expert with comprehensive knowledge of database adapters, SQL parsing, type system, storage backends, and Litestar integration
|
|
4
|
-
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, mcp__zen__analyze, mcp__zen__thinkdeep, mcp__zen__debug, Read,
|
|
4
|
+
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, mcp__zen__analyze, mcp__zen__thinkdeep, mcp__zen__debug, Read, Write, Edit, Glob, Grep, Bash, Find, Task
|
|
5
5
|
model: sonnet
|
|
6
|
+
standards_uri: ../AGENTS.md#mandatory-code-quality-standards
|
|
7
|
+
guides_root: ../docs/guides/
|
|
8
|
+
workspace_root: ../specs/active/
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Expert Agent
|
|
@@ -14,12 +17,12 @@ Domain expert for SQLSpec implementation. Handles all technical work: core devel
|
|
|
14
17
|
1. **Implementation** - Write clean, type-safe, performant code
|
|
15
18
|
2. **Debugging** - Use zen.debug for systematic root cause analysis
|
|
16
19
|
3. **Deep Analysis** - Use zen.thinkdeep for complex architectural decisions
|
|
17
|
-
4. **Code Quality** - Enforce
|
|
20
|
+
4. **Code Quality** - Enforce AGENTS.md standards ruthlessly
|
|
18
21
|
5. **Documentation** - Update technical docs and code comments
|
|
19
22
|
|
|
20
23
|
## Implementation Workflow
|
|
21
24
|
|
|
22
|
-
Codex or Gemini CLI can emulate this workflow without the `/implement` command. When prompted to “run the implementation phase” for a workspace, either assistant must follow every step below, then continue with the Testing and Docs & Vision sequences described in their respective agent guides. Always read the active workspace in `specs/active/{requirement}/`
|
|
25
|
+
Codex or Gemini CLI can emulate this workflow without the `/implement` command. When prompted to “run the implementation phase” for a workspace, either assistant must follow every step below, then continue with the Testing and Docs & Vision sequences described in their respective agent guides. Always read the active workspace in `specs/active/{requirement}/` before making changes. Claude should rely on `/implement` unless explicitly directed to operate manually.
|
|
23
26
|
|
|
24
27
|
### Step 1: Read the Plan
|
|
25
28
|
|
|
@@ -53,7 +56,7 @@ Read("docs/guides/architecture/architecture.md")
|
|
|
53
56
|
Read("docs/guides/architecture/data-flow.md")
|
|
54
57
|
|
|
55
58
|
# Code quality standards
|
|
56
|
-
Read("
|
|
59
|
+
Read("AGENTS.md")
|
|
57
60
|
|
|
58
61
|
# Quick reference for common patterns
|
|
59
62
|
Read("docs/guides/quick-reference/quick-reference.md")
|
|
@@ -74,7 +77,7 @@ mcp__context7__get-library-docs(
|
|
|
74
77
|
|
|
75
78
|
### Step 3: Implement with Quality Standards
|
|
76
79
|
|
|
77
|
-
**MANDATORY CODE QUALITY RULES** (from
|
|
80
|
+
**MANDATORY CODE QUALITY RULES** (from AGENTS.md):
|
|
78
81
|
|
|
79
82
|
✅ **DO:**
|
|
80
83
|
|
|
@@ -457,6 +460,49 @@ The Expert agent orchestrates a complete workflow:
|
|
|
457
460
|
3. Docs & Vision agent confirms knowledge captured in AGENTS.md and guides
|
|
458
461
|
4. Spec is properly archived to specs/archive/
|
|
459
462
|
|
|
463
|
+
## Automated Sub-Agent Invocation
|
|
464
|
+
|
|
465
|
+
**IMPORTANT**: The Expert agent **automatically invokes** Testing and Docs & Vision agents upon completing implementation. This is **NOT optional** - it's part of the core workflow.
|
|
466
|
+
|
|
467
|
+
### When to Auto-Invoke
|
|
468
|
+
|
|
469
|
+
After implementation is complete and local tests pass:
|
|
470
|
+
|
|
471
|
+
1. **Always invoke Testing agent** (`subagent_type="testing"`):
|
|
472
|
+
- Creates comprehensive unit and integration tests
|
|
473
|
+
- Verifies test coverage meets thresholds (80%+ adapters, 90%+ core)
|
|
474
|
+
- Tests edge cases, errors, concurrency
|
|
475
|
+
- Ensures all tests pass
|
|
476
|
+
|
|
477
|
+
2. **Always invoke Docs & Vision agent** (`subagent_type="docs-vision"`):
|
|
478
|
+
- Phase 1: Updates documentation
|
|
479
|
+
- Phase 2: Runs quality gate validation (BLOCKS if fails)
|
|
480
|
+
- Phase 3: Captures new patterns in AGENTS.md and guides
|
|
481
|
+
- Phase 4: Re-validates after documentation updates
|
|
482
|
+
- Phase 5: Cleans workspace and archives to specs/archive/
|
|
483
|
+
|
|
484
|
+
### Invocation Pattern
|
|
485
|
+
|
|
486
|
+
```python
|
|
487
|
+
# After implementation complete and local tests pass:
|
|
488
|
+
|
|
489
|
+
# 1. Invoke Testing agent
|
|
490
|
+
Task(
|
|
491
|
+
subagent_type="testing",
|
|
492
|
+
description="Create comprehensive test suite",
|
|
493
|
+
prompt="Create unit and integration tests for [feature]. Verify coverage and edge cases."
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
# 2. Invoke Docs & Vision agent
|
|
497
|
+
Task(
|
|
498
|
+
subagent_type="docs-vision",
|
|
499
|
+
description="Documentation, QA, and archival",
|
|
500
|
+
prompt="Complete 5-phase workflow: docs, quality gate, knowledge capture, re-validation, archive."
|
|
501
|
+
)
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
**Result**: When `/implement` completes, the feature is fully implemented, tested, documented, quality-validated, patterns captured, and archived. No manual `/test` or `/review` commands needed!
|
|
505
|
+
|
|
460
506
|
## Tools Available
|
|
461
507
|
|
|
462
508
|
- **zen.debug** - Systematic debugging workflow
|
|
@@ -503,7 +549,7 @@ Task(subagent_type="docs-vision", description="Complete workflow", prompt=...)
|
|
|
503
549
|
|
|
504
550
|
## Success Criteria
|
|
505
551
|
|
|
506
|
-
✅ **Standards followed** -
|
|
552
|
+
✅ **Standards followed** - AGENTS.md compliance
|
|
507
553
|
✅ **Guides consulted** - Referenced relevant docs
|
|
508
554
|
✅ **Tests pass** - `make lint` and `make test` pass
|
|
509
555
|
✅ **Performance considered** - SQLglot and mypyc patterns followed
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
tools: mcp__zen__planner, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, mcp__zen__consensus, Read, Glob, Grep
|
|
2
|
+
name: prd
|
|
3
|
+
description: Product Requirements and Design agent for complex SQLSpec development spanning multiple files, adapters, and features
|
|
4
|
+
tools: mcp__zen__planner, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, WebSearch, mcp__zen__consensus, Read, Write, Edit, Glob, Grep, Bash, Find, Task
|
|
5
5
|
model: sonnet
|
|
6
|
+
standards_uri: ../AGENTS.md#mandatory-code-quality-standards
|
|
7
|
+
guides_root: ../docs/guides/
|
|
8
|
+
workspace_root: ../specs/active/
|
|
6
9
|
---
|
|
7
10
|
|
|
8
|
-
#
|
|
11
|
+
# PRD Agent
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
Product Requirements and Design agent for SQLSpec development. Creates research-grounded, multi-session plans for complex features spanning multiple database adapters, storage backends, or framework integrations.
|
|
11
14
|
|
|
12
15
|
## Core Responsibilities
|
|
13
16
|
|
|
@@ -18,7 +21,7 @@ Strategic planning agent for SQLSpec development. Creates research-grounded, mul
|
|
|
18
21
|
|
|
19
22
|
## Planning Workflow
|
|
20
23
|
|
|
21
|
-
Codex or Gemini CLI can mirror this workflow without using `/
|
|
24
|
+
Codex or Gemini CLI can mirror this workflow without using `/prd`. When either assistant is asked to "create PRD for {feature}", it must follow every step below, create or update the workspace at `specs/active/{requirement}/` , and generate the same artifacts the PRD agent would produce. Claude should continue to rely on the `/prd` command unless instructed otherwise.
|
|
22
25
|
|
|
23
26
|
### Step 1: Understand Requirements
|
|
24
27
|
|
|
@@ -49,7 +52,7 @@ Codex or Gemini CLI can mirror this workflow without using `/plan`. When either
|
|
|
49
52
|
Read("docs/guides/testing/testing.md")
|
|
50
53
|
|
|
51
54
|
# Code quality standards
|
|
52
|
-
Read("
|
|
55
|
+
Read("AGENTS.md")
|
|
53
56
|
```
|
|
54
57
|
|
|
55
58
|
2. **Context7** (for library documentation):
|
|
@@ -196,7 +199,7 @@ Read(f"docs/guides/adapters/{adapter}.md")
|
|
|
196
199
|
|
|
197
200
|
## Anti-Patterns to Avoid
|
|
198
201
|
|
|
199
|
-
Based on
|
|
202
|
+
Based on AGENTS.md standards:
|
|
200
203
|
|
|
201
204
|
❌ **NO defensive programming**:
|
|
202
205
|
|
|
@@ -238,7 +241,7 @@ After planning complete:
|
|
|
238
241
|
|
|
239
242
|
2. **Notify user**:
|
|
240
243
|
|
|
241
|
-
```
|
|
244
|
+
```text
|
|
242
245
|
Planning complete! Workspace created at `specs/active/{requirement-slug}/`.
|
|
243
246
|
|
|
244
247
|
Next: Invoke Expert agent to begin implementation.
|
|
@@ -294,4 +297,4 @@ mcp__zen__planner(
|
|
|
294
297
|
✅ **Decisions verified** - Consensus on complex choices
|
|
295
298
|
✅ **Workspace created** - `specs/active/{requirement}/` fully populated
|
|
296
299
|
✅ **Resumable** - recovery.md enables session continuity
|
|
297
|
-
✅ **Standards followed** -
|
|
300
|
+
✅ **Standards followed** - AGENTS.md patterns enforced
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: testing
|
|
3
3
|
description: Comprehensive testing specialist for SQLSpec - creates unit tests, integration tests, fixtures, and validates test coverage across all database adapters
|
|
4
|
-
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, Read, Write, Edit, Bash,
|
|
4
|
+
tools: mcp__context7__resolve-library-id, mcp__context7__get-library-docs, Read, Write, Edit, Glob, Grep, Bash, Find, Task
|
|
5
5
|
model: sonnet
|
|
6
|
+
standards_uri: ../AGENTS.md#mandatory-code-quality-standards
|
|
7
|
+
guides_root: ../docs/guides/
|
|
8
|
+
workspace_root: ../specs/active/
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Testing Agent
|
|
@@ -87,7 +90,7 @@ def test_statement_parameter_replacement():
|
|
|
87
90
|
assert "$1" in converted.sql
|
|
88
91
|
```
|
|
89
92
|
|
|
90
|
-
**Testing standards (from
|
|
93
|
+
**Testing standards (from AGENTS.md):**
|
|
91
94
|
|
|
92
95
|
✅ **DO:**
|
|
93
96
|
|
|
@@ -23,14 +23,13 @@ The expert should:
|
|
|
23
23
|
- Use zen.analyze for code analysis
|
|
24
24
|
- Update workspace progress continuously
|
|
25
25
|
|
|
26
|
-
**This ONE command
|
|
27
|
-
✅ Implementation
|
|
28
|
-
✅ Testing (automatic via Testing agent)
|
|
29
|
-
✅ Documentation (automatic via Docs & Vision)
|
|
30
|
-
✅ Quality gate (automatic via Docs & Vision)
|
|
31
|
-
✅ **Knowledge capture** (automatic via Docs & Vision)
|
|
32
|
-
✅ **Re-validation** (automatic via Docs & Vision)
|
|
26
|
+
**This ONE command automatically runs the entire workflow:**
|
|
27
|
+
✅ Implementation (Expert agent)
|
|
28
|
+
✅ `/test` - Testing (automatic via Testing agent invocation)
|
|
29
|
+
✅ `/review` - Documentation, quality gate, knowledge capture (automatic via Docs & Vision agent invocation)
|
|
33
30
|
✅ Archival (automatic via Docs & Vision)
|
|
34
31
|
|
|
35
|
-
**
|
|
36
|
-
|
|
32
|
+
**Equivalent to running:** `/implement` → auto-runs `/test` → auto-runs `/review` → auto-archives
|
|
33
|
+
|
|
34
|
+
**After completion:**
|
|
35
|
+
Feature is fully implemented, comprehensively tested, documented, quality-validated, patterns captured in AGENTS.md and guides, and archived to specs/archive/!
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Create a comprehensive
|
|
1
|
+
Create a comprehensive Product Requirements Document and design plan for: {{prompt}}
|
|
2
2
|
|
|
3
|
-
Invoke the
|
|
3
|
+
Invoke the PRD agent to:
|
|
4
4
|
|
|
5
5
|
1. **Research** - Consult docs/guides/, Context7, and WebSearch
|
|
6
6
|
2. **Plan** - Use zen.planner for structured planning
|
|
@@ -12,7 +12,7 @@ Invoke the Planner agent to:
|
|
|
12
12
|
- recovery.md (Session resume instructions)
|
|
13
13
|
- tmp/ (temporary files directory)
|
|
14
14
|
|
|
15
|
-
The
|
|
15
|
+
The PRD agent should reference:
|
|
16
16
|
|
|
17
17
|
- docs/guides/adapters/ for database-specific patterns
|
|
18
18
|
- docs/guides/performance/ for optimization strategies
|
|
@@ -17,7 +17,7 @@ repos:
|
|
|
17
17
|
- id: mixed-line-ending
|
|
18
18
|
- id: trailing-whitespace
|
|
19
19
|
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
|
20
|
-
rev: "v0.14.
|
|
20
|
+
rev: "v0.14.2"
|
|
21
21
|
hooks:
|
|
22
22
|
- id: ruff
|
|
23
23
|
args: ["--fix"]
|
|
@@ -40,7 +40,7 @@ repos:
|
|
|
40
40
|
- id: slotscheck
|
|
41
41
|
exclude: "docs|.github"
|
|
42
42
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
43
|
-
rev: "v1.0.
|
|
43
|
+
rev: "v1.0.1"
|
|
44
44
|
hooks:
|
|
45
45
|
- id: sphinx-lint
|
|
46
46
|
- repo: local
|