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.

Files changed (595) hide show
  1. sqlspec-0.28.0/.claude/AGENTS.md +1 -0
  2. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/README.md +24 -24
  3. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/docs-vision.md +6 -3
  4. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/expert.md +52 -6
  5. sqlspec-0.27.0/.claude/agents/planner.md → sqlspec-0.28.0/.claude/agents/prd.md +13 -10
  6. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/agents/testing.md +5 -2
  7. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/implement.md +8 -9
  8. sqlspec-0.27.0/.claude/commands/plan.md → sqlspec-0.28.0/.claude/commands/prd.md +3 -3
  9. {sqlspec-0.27.0 → sqlspec-0.28.0}/.pre-commit-config.yaml +2 -2
  10. {sqlspec-0.27.0 → sqlspec-0.28.0}/AGENTS.md +1124 -7
  11. sqlspec-0.28.0/CLAUDE.md +1 -0
  12. sqlspec-0.28.0/GEMINI.md +1 -0
  13. {sqlspec-0.27.0 → sqlspec-0.28.0}/PKG-INFO +2 -2
  14. {sqlspec-0.27.0 → sqlspec-0.28.0}/README.md +1 -1
  15. {sqlspec-0.27.0 → sqlspec-0.28.0}/pyproject.toml +4 -5
  16. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/README.md +10 -10
  17. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/README.md +1 -1
  18. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/_typing.py +93 -0
  19. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/adk/store.py +21 -11
  20. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/data_dictionary.py +27 -5
  21. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/driver.py +83 -14
  22. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/adk/store.py +27 -18
  23. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/adk/store.py +26 -16
  24. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/adk/store.py +26 -16
  25. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/data_dictionary.py +24 -17
  26. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/adk/store.py +30 -21
  27. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/config.py +11 -0
  28. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/driver.py +138 -1
  29. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/adk/store.py +21 -11
  30. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/driver.py +87 -1
  31. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/adk/store.py +89 -206
  32. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/driver.py +183 -2
  33. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/litestar/store.py +22 -24
  34. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/adk/store.py +28 -27
  35. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/data_dictionary.py +24 -17
  36. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/driver.py +7 -10
  37. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/adk/store.py +51 -33
  38. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/data_dictionary.py +48 -34
  39. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/adk/store.py +29 -19
  40. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/config.py +100 -2
  41. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/filters.py +18 -10
  42. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/result.py +133 -2
  43. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_async.py +89 -0
  44. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_common.py +64 -29
  45. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/_sync.py +95 -0
  46. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +2 -2
  47. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/service.py +3 -3
  48. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/store.py +8 -8
  49. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/aiosql/adapter.py +3 -15
  50. sqlspec-0.28.0/sqlspec/extensions/fastapi/__init__.py +21 -0
  51. sqlspec-0.28.0/sqlspec/extensions/fastapi/extension.py +331 -0
  52. sqlspec-0.28.0/sqlspec/extensions/fastapi/providers.py +543 -0
  53. sqlspec-0.28.0/sqlspec/extensions/flask/__init__.py +36 -0
  54. sqlspec-0.28.0/sqlspec/extensions/flask/_state.py +71 -0
  55. sqlspec-0.28.0/sqlspec/extensions/flask/_utils.py +40 -0
  56. sqlspec-0.28.0/sqlspec/extensions/flask/extension.py +389 -0
  57. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/config.py +3 -6
  58. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/plugin.py +26 -2
  59. sqlspec-0.28.0/sqlspec/extensions/starlette/__init__.py +10 -0
  60. sqlspec-0.28.0/sqlspec/extensions/starlette/_state.py +25 -0
  61. sqlspec-0.28.0/sqlspec/extensions/starlette/_utils.py +52 -0
  62. sqlspec-0.28.0/sqlspec/extensions/starlette/extension.py +254 -0
  63. sqlspec-0.28.0/sqlspec/extensions/starlette/middleware.py +154 -0
  64. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/protocols.py +40 -0
  65. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/_utils.py +1 -14
  66. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/fsspec.py +3 -5
  67. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/local.py +1 -1
  68. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/obstore.py +10 -18
  69. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/typing.py +16 -0
  70. sqlspec-0.28.0/sqlspec/utils/__init__.py +31 -0
  71. sqlspec-0.28.0/sqlspec/utils/arrow_helpers.py +81 -0
  72. sqlspec-0.28.0/sqlspec/utils/module_loader.py +293 -0
  73. sqlspec-0.28.0/sqlspec/utils/portal.py +311 -0
  74. sqlspec-0.28.0/sqlspec/utils/serializers.py +167 -0
  75. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/sync_tools.py +15 -5
  76. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/type_guards.py +25 -0
  77. sqlspec-0.28.0/tests/integration/test_adapters/test_adbc/test_arrow.py +219 -0
  78. sqlspec-0.28.0/tests/integration/test_adapters/test_aiosqlite/test_arrow.py +235 -0
  79. sqlspec-0.28.0/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_numpy_serialization.py +254 -0
  80. sqlspec-0.28.0/tests/integration/test_adapters/test_asyncmy/test_arrow.py +246 -0
  81. sqlspec-0.28.0/tests/integration/test_adapters/test_asyncpg/test_arrow.py +234 -0
  82. sqlspec-0.28.0/tests/integration/test_adapters/test_bigquery/test_arrow.py +266 -0
  83. sqlspec-0.28.0/tests/integration/test_adapters/test_duckdb/test_arrow.py +193 -0
  84. sqlspec-0.28.0/tests/integration/test_adapters/test_oracledb/test_arrow.py +267 -0
  85. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_inmemory.py +10 -5
  86. sqlspec-0.28.0/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_inmemory.py +280 -0
  87. sqlspec-0.28.0/tests/integration/test_adapters/test_psqlpy/test_arrow.py +229 -0
  88. {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
  89. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_migrations.py +7 -7
  90. sqlspec-0.28.0/tests/integration/test_adapters/test_psycopg/test_arrow.py +236 -0
  91. {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
  92. sqlspec-0.28.0/tests/integration/test_adapters/test_sqlite/test_arrow.py +223 -0
  93. sqlspec-0.28.0/tests/integration/test_extensions/__init__.py +1 -0
  94. sqlspec-0.28.0/tests/integration/test_extensions/test_fastapi_filters_integration.py +390 -0
  95. sqlspec-0.28.0/tests/integration/test_extensions/test_fastapi_integration.py +281 -0
  96. sqlspec-0.28.0/tests/integration/test_extensions/test_flask_integration.py +315 -0
  97. sqlspec-0.28.0/tests/integration/test_extensions/test_starlette_integration.py +222 -0
  98. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_storage/test_storage_integration.py +3 -3
  99. sqlspec-0.28.0/tests/unit/test_arrow_helpers.py +156 -0
  100. sqlspec-0.28.0/tests/unit/test_arrow_result.py +150 -0
  101. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/test_result_tools.py +1 -1
  102. sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/__init__.py +1 -0
  103. sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/test_extension.py +95 -0
  104. sqlspec-0.28.0/tests/unit/test_extensions/test_fastapi/test_providers.py +338 -0
  105. sqlspec-0.28.0/tests/unit/test_extensions/test_flask/__init__.py +1 -0
  106. sqlspec-0.28.0/tests/unit/test_extensions/test_flask/test_extension.py +98 -0
  107. sqlspec-0.28.0/tests/unit/test_extensions/test_flask/test_state.py +161 -0
  108. sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/__init__.py +1 -0
  109. sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_config_state.py +65 -0
  110. sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_extension.py +69 -0
  111. sqlspec-0.28.0/tests/unit/test_extensions/test_starlette/test_utils.py +143 -0
  112. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_fsspec_backend.py +9 -4
  113. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_local_store.py +9 -4
  114. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_obstore_backend.py +9 -4
  115. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_storage_utils.py +2 -1
  116. sqlspec-0.28.0/tests/unit/test_utils/test_dependencies.py +58 -0
  117. sqlspec-0.28.0/tests/unit/test_utils/test_portal.py +300 -0
  118. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_serializers.py +201 -1
  119. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_sync_tools.py +82 -5
  120. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_type_guards.py +53 -1
  121. {sqlspec-0.27.0 → sqlspec-0.28.0}/uv.lock +1478 -1322
  122. sqlspec-0.27.0/.claude/AGENTS.md +0 -554
  123. sqlspec-0.27.0/CLAUDE.md +0 -5
  124. sqlspec-0.27.0/GEMINI.md +0 -5
  125. sqlspec-0.27.0/sqlspec/utils/__init__.py +0 -10
  126. sqlspec-0.27.0/sqlspec/utils/module_loader.py +0 -93
  127. sqlspec-0.27.0/sqlspec/utils/serializers.py +0 -58
  128. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/review.md +0 -0
  129. {sqlspec-0.27.0 → sqlspec-0.28.0}/.claude/commands/test.md +0 -0
  130. {sqlspec-0.27.0 → sqlspec-0.28.0}/.gitignore +0 -0
  131. {sqlspec-0.27.0 → sqlspec-0.28.0}/CONTRIBUTING.rst +0 -0
  132. {sqlspec-0.27.0 → sqlspec-0.28.0}/LICENSE +0 -0
  133. {sqlspec-0.27.0 → sqlspec-0.28.0}/Makefile +0 -0
  134. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/active/.gitkeep +0 -0
  135. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/archive/.gitkeep +0 -0
  136. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/prd.md +0 -0
  137. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/recovery.md +0 -0
  138. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/research/.gitkeep +0 -0
  139. {sqlspec-0.27.0 → sqlspec-0.28.0}/specs/template-spec/tasks.md +0 -0
  140. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__init__.py +0 -0
  141. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__main__.py +0 -0
  142. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/__metadata__.py +0 -0
  143. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/_serialization.py +0 -0
  144. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/__init__.py +0 -0
  145. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/__init__.py +0 -0
  146. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/_types.py +0 -0
  147. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
  148. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/config.py +0 -0
  149. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
  150. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/litestar/store.py +0 -0
  151. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/adbc/type_converter.py +0 -0
  152. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
  153. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/_types.py +0 -0
  154. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
  155. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/config.py +0 -0
  156. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/data_dictionary.py +0 -0
  157. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/driver.py +0 -0
  158. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
  159. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
  160. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/aiosqlite/pool.py +0 -0
  161. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/__init__.py +0 -0
  162. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/_types.py +0 -0
  163. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
  164. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/config.py +0 -0
  165. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/data_dictionary.py +0 -0
  166. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/driver.py +0 -0
  167. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
  168. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
  169. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/__init__.py +0 -0
  170. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/_type_handlers.py +0 -0
  171. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/_types.py +0 -0
  172. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
  173. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/config.py +0 -0
  174. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/driver.py +0 -0
  175. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
  176. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
  177. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/__init__.py +0 -0
  178. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/_types.py +0 -0
  179. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/adk/__init__.py +0 -0
  180. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/data_dictionary.py +0 -0
  181. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
  182. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
  183. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/bigquery/type_converter.py +0 -0
  184. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/__init__.py +0 -0
  185. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/_types.py +0 -0
  186. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
  187. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/config.py +0 -0
  188. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/data_dictionary.py +0 -0
  189. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
  190. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
  191. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/pool.py +0 -0
  192. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/duckdb/type_converter.py +0 -0
  193. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/__init__.py +0 -0
  194. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/_numpy_handlers.py +0 -0
  195. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/_types.py +0 -0
  196. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
  197. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/config.py +0 -0
  198. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/data_dictionary.py +0 -0
  199. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
  200. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/migrations.py +0 -0
  201. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/oracledb/type_converter.py +0 -0
  202. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/__init__.py +0 -0
  203. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/_type_handlers.py +0 -0
  204. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/_types.py +0 -0
  205. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
  206. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/config.py +0 -0
  207. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
  208. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
  209. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
  210. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/__init__.py +0 -0
  211. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/_type_handlers.py +0 -0
  212. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/_types.py +0 -0
  213. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
  214. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/config.py +0 -0
  215. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/driver.py +0 -0
  216. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
  217. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
  218. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/__init__.py +0 -0
  219. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/_type_handlers.py +0 -0
  220. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/_types.py +0 -0
  221. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
  222. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/config.py +0 -0
  223. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/data_dictionary.py +0 -0
  224. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/driver.py +0 -0
  225. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
  226. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
  227. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/adapters/sqlite/pool.py +0 -0
  228. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/base.py +0 -0
  229. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/__init__.py +0 -0
  230. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_base.py +0 -0
  231. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_column.py +0 -0
  232. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_ddl.py +0 -0
  233. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_delete.py +0 -0
  234. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_dml.py +0 -0
  235. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_expression_wrappers.py +0 -0
  236. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_factory.py +0 -0
  237. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_insert.py +0 -0
  238. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_join.py +0 -0
  239. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_merge.py +0 -0
  240. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_parsing_utils.py +0 -0
  241. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_select.py +0 -0
  242. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/builder/_update.py +0 -0
  243. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/cli.py +0 -0
  244. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/__init__.py +0 -0
  245. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/cache.py +0 -0
  246. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/compiler.py +0 -0
  247. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/hashing.py +0 -0
  248. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/parameters.py +0 -0
  249. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/splitter.py +0 -0
  250. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/statement.py +0 -0
  251. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/core/type_conversion.py +0 -0
  252. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/__init__.py +0 -0
  253. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/__init__.py +0 -0
  254. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/_result_tools.py +0 -0
  255. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/driver/mixins/_sql_translator.py +0 -0
  256. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/exceptions.py +0 -0
  257. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/__init__.py +0 -0
  258. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/__init__.py +0 -0
  259. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/_types.py +0 -0
  260. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/converters.py +0 -0
  261. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
  262. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/aiosql/__init__.py +0 -0
  263. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/__init__.py +0 -0
  264. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/_utils.py +0 -0
  265. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/cli.py +0 -0
  266. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/handlers.py +0 -0
  267. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
  268. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
  269. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/providers.py +0 -0
  270. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/extensions/litestar/store.py +0 -0
  271. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/loader.py +0 -0
  272. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/__init__.py +0 -0
  273. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/base.py +0 -0
  274. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/commands.py +0 -0
  275. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/context.py +0 -0
  276. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/fix.py +0 -0
  277. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/loaders.py +0 -0
  278. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/runner.py +0 -0
  279. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/tracker.py +0 -0
  280. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/utils.py +0 -0
  281. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/migrations/validation.py +0 -0
  282. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/py.typed +0 -0
  283. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/__init__.py +0 -0
  284. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/__init__.py +0 -0
  285. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/backends/base.py +0 -0
  286. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/storage/registry.py +0 -0
  287. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/config_resolver.py +0 -0
  288. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/correlation.py +0 -0
  289. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/data_transformation.py +0 -0
  290. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/deprecation.py +0 -0
  291. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/fixtures.py +0 -0
  292. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/logging.py +0 -0
  293. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/schema.py +0 -0
  294. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/singleton.py +0 -0
  295. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/text.py +0 -0
  296. {sqlspec-0.27.0 → sqlspec-0.28.0}/sqlspec/utils/version.py +0 -0
  297. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/__init__.py +0 -0
  298. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/conftest.py +0 -0
  299. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/__init__.py +0 -0
  300. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/asset_maintenance.sql +0 -0
  301. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
  302. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
  303. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/example_usage.py +0 -0
  304. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/init.sql +0 -0
  305. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-config.sql +0 -0
  306. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
  307. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
  308. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
  309. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
  310. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
  311. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
  312. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
  313. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
  314. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
  315. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/collection-users.sql +0 -0
  316. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/mysql/init.sql +0 -0
  317. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/oracle.ddl.sql +0 -0
  318. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
  319. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
  320. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
  321. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
  322. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
  323. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
  324. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
  325. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
  326. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
  327. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
  328. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
  329. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
  330. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
  331. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
  332. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
  333. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
  334. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
  335. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
  336. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
  337. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/postgres/init.sql +0 -0
  338. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/readiness-check.sql +0 -0
  339. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/fixtures/sql_utils.py +0 -0
  340. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/__init__.py +0 -0
  341. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/conftest.py +0 -0
  342. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/__init__.py +0 -0
  343. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/__init__.py +0 -0
  344. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/conftest.py +0 -0
  345. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_arrow_features.py +0 -0
  346. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_backends.py +0 -0
  347. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_connection.py +0 -0
  348. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_driver.py +0 -0
  349. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_edge_cases.py +0 -0
  350. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_adbc_results.py +0 -0
  351. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_data_dictionary.py +0 -0
  352. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_exceptions.py +0 -0
  353. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/__init__.py +0 -0
  354. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/__init__.py +0 -0
  355. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_integration.py +0 -0
  356. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_support.py +0 -0
  357. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_edge_cases.py +0 -0
  358. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_event_operations.py +0 -0
  359. {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
  360. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_session_operations.py +0 -0
  361. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/__init__.py +0 -0
  362. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/test_store.py +0 -0
  363. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_migrations.py +0 -0
  364. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_adbc/test_parameter_styles.py +0 -0
  365. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/__init__.py +0 -0
  366. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/conftest.py +0 -0
  367. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_connection.py +0 -0
  368. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_driver.py +0 -0
  369. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_exceptions.py +0 -0
  370. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/__init__.py +0 -0
  371. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/__init__.py +0 -0
  372. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_store.py +0 -0
  373. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_migrations.py +0 -0
  374. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_parameter_styles.py +0 -0
  375. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_aiosqlite/test_pooling.py +0 -0
  376. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/__init__.py +0 -0
  377. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/conftest.py +0 -0
  378. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_asyncmy_features.py +0 -0
  379. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_config.py +0 -0
  380. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_driver.py +0 -0
  381. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_exceptions.py +0 -0
  382. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/__init__.py +0 -0
  383. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/__init__.py +0 -0
  384. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/conftest.py +0 -0
  385. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/test_store.py +0 -0
  386. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/__init__.py +0 -0
  387. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/test_store.py +0 -0
  388. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_migrations.py +0 -0
  389. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncmy/test_parameter_styles.py +0 -0
  390. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/__init__.py +0 -0
  391. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/conftest.py +0 -0
  392. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_connection.py +0 -0
  393. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_data_dictionary.py +0 -0
  394. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_driver.py +0 -0
  395. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_exceptions.py +0 -0
  396. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_execute_many.py +0 -0
  397. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/__init__.py +0 -0
  398. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/__init__.py +0 -0
  399. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/conftest.py +0 -0
  400. {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
  401. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_session_operations.py +0 -0
  402. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/__init__.py +0 -0
  403. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/test_store.py +0 -0
  404. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_migrations.py +0 -0
  405. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_parameter_styles.py +0 -0
  406. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_asyncpg/test_schema_migration.py +0 -0
  407. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/__init__.py +0 -0
  408. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/conftest.py +0 -0
  409. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_bigquery_features.py +0 -0
  410. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_config.py +0 -0
  411. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_connection.py +0 -0
  412. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_driver.py +0 -0
  413. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_exceptions.py +0 -0
  414. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_bigquery/test_type_handler_config.py +0 -0
  415. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/__init__.py +0 -0
  416. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_connection.py +0 -0
  417. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_driver.py +0 -0
  418. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_driver_features.py +0 -0
  419. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_exceptions.py +0 -0
  420. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_execute_many.py +0 -0
  421. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/__init__.py +0 -0
  422. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/__init__.py +0 -0
  423. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/test_store.py +0 -0
  424. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/__init__.py +0 -0
  425. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/test_store.py +0 -0
  426. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_migrations.py +0 -0
  427. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_mixed_parameter_styles.py +0 -0
  428. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_parameter_styles.py +0 -0
  429. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/test_pooling.py +0 -0
  430. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_duckdb/utils.py +0 -0
  431. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/__init__.py +0 -0
  432. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/conftest.py +0 -0
  433. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_connection.py +0 -0
  434. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_driver_async.py +0 -0
  435. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_driver_sync.py +0 -0
  436. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_exceptions.py +0 -0
  437. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_execute_many.py +0 -0
  438. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/__init__.py +0 -0
  439. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/__init__.py +0 -0
  440. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_oracle_specific.py +0 -0
  441. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/__init__.py +0 -0
  442. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_async.py +0 -0
  443. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_sync.py +0 -0
  444. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_migrations.py +0 -0
  445. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_msgspec_clob.py +0 -0
  446. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_numpy_vectors.py +0 -0
  447. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_oracle_features.py +0 -0
  448. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_oracledb/test_parameter_styles.py +0 -0
  449. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/__init__.py +0 -0
  450. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/conftest.py +0 -0
  451. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_connection.py +0 -0
  452. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_driver.py +0 -0
  453. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_exceptions.py +0 -0
  454. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/__init__.py +0 -0
  455. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/__init__.py +0 -0
  456. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/__init__.py +0 -0
  457. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/test_store.py +0 -0
  458. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_parameter_styles.py +0 -0
  459. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psqlpy/test_psqlpy_features.py +0 -0
  460. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/__init__.py +0 -0
  461. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/conftest.py +0 -0
  462. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_async_copy.py +0 -0
  463. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_connection.py +0 -0
  464. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_driver.py +0 -0
  465. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_exceptions.py +0 -0
  466. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_execute_many.py +0 -0
  467. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/__init__.py +0 -0
  468. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/__init__.py +0 -0
  469. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/__init__.py +0 -0
  470. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_async.py +0 -0
  471. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_sync.py +0 -0
  472. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_migrations.py +0 -0
  473. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_psycopg/test_parameter_styles.py +0 -0
  474. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/__init__.py +0 -0
  475. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/conftest.py +0 -0
  476. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_data_dictionary.py +0 -0
  477. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_driver.py +0 -0
  478. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_driver_features.py +0 -0
  479. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_exceptions.py +0 -0
  480. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/__init__.py +0 -0
  481. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/__init__.py +0 -0
  482. {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
  483. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/__init__.py +0 -0
  484. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/test_store.py +0 -0
  485. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_migrations.py +0 -0
  486. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_parameter_styles.py +0 -0
  487. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_pooling.py +0 -0
  488. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_adapters/test_sqlite/test_query_mixin.py +0 -0
  489. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_async_migrations.py +0 -0
  490. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/__init__.py +0 -0
  491. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/conftest.py +0 -0
  492. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_dishka/test_dishka_integration.py +0 -0
  493. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_loader/__init__.py +0 -0
  494. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_loader/test_file_system_loading.py +0 -0
  495. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/__init__.py +0 -0
  496. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_auto_sync.py +0 -0
  497. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_checksum_stability.py +0 -0
  498. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_file_operations.py +0 -0
  499. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_fix_idempotency_workflow.py +0 -0
  500. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_schema_migration.py +0 -0
  501. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_migrations/test_upgrade_downgrade_versions.py +0 -0
  502. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/integration/test_storage/__init__.py +0 -0
  503. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/conftest.py +0 -0
  504. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/__init__.py +0 -0
  505. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/conftest.py +0 -0
  506. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_adapter_implementations.py +0 -0
  507. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_adbc/test_adbc_serialization.py +0 -0
  508. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_async_adapters.py +0 -0
  509. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncmy/__init__.py +0 -0
  510. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/__init__.py +0 -0
  511. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/test_config.py +0 -0
  512. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_asyncpg/test_type_handlers.py +0 -0
  513. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_bigquery/__init__.py +0 -0
  514. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_duckdb/__init__.py +0 -0
  515. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_duckdb/test_type_converter.py +0 -0
  516. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_extension_config.py +0 -0
  517. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_oracledb/test_numpy_handlers.py +0 -0
  518. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_oracledb/test_type_converter_vectors.py +0 -0
  519. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_psycopg/test_type_handlers.py +0 -0
  520. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sqlite/__init__.py +0 -0
  521. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sqlite/test_type_handlers.py +0 -0
  522. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_adapters/test_sync_adapters.py +0 -0
  523. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/__init__.py +0 -0
  524. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/test_sql_integration.py +0 -0
  525. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_base/test_sqlspec_class.py +0 -0
  526. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/__init__.py +0 -0
  527. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_insert_builder.py +0 -0
  528. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_lateral_joins.py +0 -0
  529. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_parameter_naming.py +0 -0
  530. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder/test_select_locking.py +0 -0
  531. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_builder_parameter_naming.py +0 -0
  532. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/__init__.py +0 -0
  533. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_config_loading.py +0 -0
  534. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_migration_commands.py +0 -0
  535. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cli/test_shell_completion.py +0 -0
  536. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_config_resolver.py +0 -0
  537. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_cache.py +0 -0
  538. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_compiler.py +0 -0
  539. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_filters.py +0 -0
  540. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_hashing.py +0 -0
  541. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_parameters.py +0 -0
  542. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_result.py +0 -0
  543. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_core/test_statement.py +0 -0
  544. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_cte_parameter_collisions.py +0 -0
  545. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/__init__.py +0 -0
  546. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_driver/test_data_dictionary.py +0 -0
  547. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_exceptions.py +0 -0
  548. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/__init__.py +0 -0
  549. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/test_litestar/__init__.py +0 -0
  550. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_extensions/test_litestar/test_handlers.py +0 -0
  551. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/__init__.py +0 -0
  552. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_cache_integration.py +0 -0
  553. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_fixtures_directory_loading.py +0 -0
  554. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_loading_patterns.py +0 -0
  555. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_loader/test_sql_file_loader.py +0 -0
  556. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migration_context.py +0 -0
  557. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/__init__.py +0 -0
  558. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_checksum_canonicalization.py +0 -0
  559. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_extension_discovery.py +0 -0
  560. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_fix_regex_precision.py +0 -0
  561. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration.py +0 -0
  562. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_commands.py +0 -0
  563. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_context.py +0 -0
  564. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_execution.py +0 -0
  565. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_migration_runner.py +0 -0
  566. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_tracker_idempotency.py +0 -0
  567. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_utils.py +0 -0
  568. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_validation.py +0 -0
  569. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version.py +0 -0
  570. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version_conversion.py +0 -0
  571. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_migrations/test_version_parsing_edge_cases.py +0 -0
  572. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_parsing_utils.py +0 -0
  573. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_serialization.py +0 -0
  574. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_sql_factory.py +0 -0
  575. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/__init__.py +0 -0
  576. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_storage/test_storage_registry.py +0 -0
  577. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_type_conversion.py +0 -0
  578. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/__init__.py +0 -0
  579. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_correlation.py +0 -0
  580. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_data_transformation.py +0 -0
  581. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_deprecation.py +0 -0
  582. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_fixtures.py +0 -0
  583. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_logging.py +0 -0
  584. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_module_loader.py +0 -0
  585. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_singleton.py +0 -0
  586. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_utils/test_text.py +0 -0
  587. {sqlspec-0.27.0 → sqlspec-0.28.0}/tests/unit/test_where_or_operations.py +0 -0
  588. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/__init__.py +0 -0
  589. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/build_docs.py +0 -0
  590. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/fix_documentation.py +0 -0
  591. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/local-infra.sh +0 -0
  592. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/pypi_readme.py +0 -0
  593. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/sphinx_ext/__init__.py +0 -0
  594. {sqlspec-0.27.0 → sqlspec-0.28.0}/tools/sphinx_ext/changelog.py +0 -0
  595. {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. Plan a feature
11
- /plan implement vector search for Oracle
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. **Planner** - Strategic Planning
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 `requirements/{requirement}/`
30
+ - Creates workspace in `specs/active/{requirement}/`
31
31
 
32
- **Invoke:** `/plan {feature description}`
32
+ **Invoke:** `/prd {feature description}`
33
33
 
34
34
  ### 2. **Expert** - Implementation
35
35
 
36
- - Implements features following CLAUDE.md standards
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
- requirements/
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. **Plan:** Research → Structured planning → Create workspace
97
+ 1. **PRD:** Research → Structured planning → Create workspace
98
98
 
99
99
  ```bash
100
- /plan add connection pooling for asyncpg
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. **Plan (optional):** Quick plan for complex bugs
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("requirements/{requirement}/recovery.md") # Shows status, next steps
135
- Read("requirements/{requirement}/tasks.md") # Shows what's done
136
- Read("requirements/{requirement}/prd.md") # Full context
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 [CLAUDE.md](../CLAUDE.md) standards:
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:** Planner
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:** Planner, Expert
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 `requirements/archive/`
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
- - **[../requirements/README.md](../requirements/README.md)** - Workspace structure and usage
231
- - **[../CLAUDE.md](../CLAUDE.md)** - Code quality standards (mandatory reading)
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 (Planner, Expert, Testing, Docs & Vision)
253
- - Added `requirements/` workspace system
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 (`/plan`, `/implement`, `/test`, `/review`)
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](../CLAUDE.md) - MANDATORY coding standards
261
+ - [Code Quality Standards](../AGENTS.md) - MANDATORY coding standards
262
262
  - [Development Guides](../docs/guides/) - Canonical pattern reference
263
- - [Workspace Guide](../requirements/README.md) - Workspace management
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, Glob, Grep
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("CLAUDE.md") # Code quality standards
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** - CLAUDE.md compliance
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, Edit, Bash, Glob, Grep, Task
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 CLAUDE.md standards ruthlessly
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}/` (or `requirements/{requirement}/` if legacy) before making changes. Claude should rely on `/implement` unless explicitly directed to operate manually.
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("CLAUDE.md")
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 CLAUDE.md):
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** - CLAUDE.md compliance
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: planner
3
- description: Multi-session planning 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, 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
- # Planner Agent
11
+ # PRD Agent
9
12
 
10
- Strategic planning agent for SQLSpec development. Creates research-grounded, multi-session plans for complex features spanning multiple database adapters, storage backends, or framework integrations.
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 `/plan`. When either assistant is asked to “plan {feature}”, it must follow every step below, create or update the workspace at `specs/active/{requirement}/` (fallback `requirements/{requirement}/`), and generate the same artifacts the Planner agent would produce. Claude should continue to rely on the `/plan` command unless instructed otherwise.
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("CLAUDE.md")
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 CLAUDE.md standards:
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** - CLAUDE.md patterns enforced
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, Glob, Grep
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 CLAUDE.md):**
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 handles:**
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
- **After implementation:**
36
- Feature is complete, tested, documented, patterns captured, and archived!
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, research-grounded plan for: {{prompt}}
1
+ Create a comprehensive Product Requirements Document and design plan for: {{prompt}}
2
2
 
3
- Invoke the Planner agent to:
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 planner should reference:
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.0"
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.0"
43
+ rev: "v1.0.1"
44
44
  hooks:
45
45
  - id: sphinx-lint
46
46
  - repo: local