Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d0f5f35
feat(adk): core contract reset - full-event JSON storage, state persi…
cofin Mar 20, 2026
7444878
test(adk): add unit tests for core contract reset
cofin Mar 20, 2026
6f46431
test(adk): add store instantiation smoke tests
cofin Mar 20, 2026
d7939d8
fix(adk): align implementation with spec
cofin Mar 20, 2026
272e65c
refactor(adk): remove BigQuery from ADK surface
cofin Mar 20, 2026
92fa14b
feat(adk): rebuild duckdb store for new contract
cofin Mar 20, 2026
d172716
feat(adk): rebuild spanner stores for new contract
cofin Mar 20, 2026
2860eda
feat(adk): rebuild adbc store for new contract
cofin Mar 20, 2026
3e239fe
feat(adk): rebuild sqlite family stores for new contract
cofin Mar 20, 2026
59b548d
feat(adk): rebuild mysql family stores for new contract
cofin Mar 20, 2026
777348e
feat(adk): rebuild oracledb stores for new contract
cofin Mar 20, 2026
3fa4322
feat(adk): rebuild postgresql family stores for new contract
cofin Mar 20, 2026
e9ba77a
feat(adk): expand ADKConfig with capability-based configuration
cofin Mar 21, 2026
bc856af
feat(adk): add artifact service with storage-backed content
cofin Mar 21, 2026
c2e1518
docs(adk): update documentation for clean-break architecture
cofin Mar 21, 2026
5bbe63b
test(adk): update integration tests for clean-break contract
cofin Mar 21, 2026
1794e8a
refactor(adk): unify all stores behind async interface via sync_tools…
cofin Mar 21, 2026
194aeff
fix(adk): resolve all production code type errors
cofin Mar 21, 2026
a234cc7
fix(adk): add await to all tests after sync-to-async conversion
cofin Mar 21, 2026
50221d7
refactor: Remove detailed comment block explaining artifact storage U…
cofin Mar 21, 2026
93690e4
feat: Enhance ADK store `_get_events` with `after_timestamp` and `lim…
cofin Mar 21, 2026
a88d4a9
fix: Enhance ADK store robustness by improving Oracle NULL and JSON h…
cofin Mar 21, 2026
f9fd8a8
feat: Streamline migration CLI commands, update ADK schema guidance, …
cofin Mar 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
- name: Test
env:
PYTHONFAULTHANDLER: "1"
PYTEST_ADDOPTS: "--max-worker-restart=0 -s"
PYTEST_ADDOPTS: "--max-worker-restart=0"
run: timeout 900s uv run pytest -n 2 --dist=loadgroup

# test-linux-freethreaded:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,4 @@ uv.toml
.geminiignore
.beads/
tools/scripts/profiles/*.prof
.agents/
8 changes: 4 additions & 4 deletions docs/_tapes/migration_workflow.tape
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,31 @@ Type "# Initialize the migration environment"
Enter
Sleep 500ms

Type "sqlspec db init"
Type "sqlspec init"
Enter
Sleep 3s

Type "# Create a new migration"
Enter
Sleep 500ms

Type 'sqlspec db create-migration -m "add users table"'
Type 'sqlspec create-migration -m "add users table"'
Enter
Sleep 3s

Type "# Apply the migration"
Enter
Sleep 500ms

Type "sqlspec db upgrade"
Type "sqlspec upgrade"
Enter
Sleep 3s

Type "# Check current revision"
Enter
Sleep 500ms

Type "sqlspec db show-current-revision"
Type "sqlspec show-current-revision"
Enter
Sleep 3s

Expand Down
35 changes: 30 additions & 5 deletions docs/extensions/adk/adapters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,36 @@ Choosing an Adapter

Use async adapters for best performance with ADK runners:

- **PostgreSQL**: ``asyncpg`` (recommended), ``psycopg`` (async mode)
- **SQLite**: ``aiosqlite``
- **MySQL**: ``asyncmy``
- **PostgreSQL** (recommended): ``asyncpg``, ``psycopg`` (async mode), ``psqlpy``
- **CockroachDB**: ``cockroach_asyncpg``, ``cockroach_psycopg`` (full FTS support)
- **MySQL/MariaDB**: ``asyncmy``
- **SQLite**: ``aiosqlite`` (development and single-process)
- **Oracle**: ``oracledb``
- **DuckDB**: ``duckdb`` (analytics; reduced-scope for ADK)
- **ADBC**: ``adbc`` (Arrow-native, driver-agnostic)
- **Spanner**: ``spanner`` (Google Cloud, globally distributed)

Sync adapters work but require wrapping with ``anyio`` for async ADK runners.
Sync adapters (``psycopg`` sync mode, ``sqlite``, ``mysqlconnector``, ``pymysql``)
work but require wrapping with ``anyio`` for async ADK runners.

Each Adapter Provides
=====================

Every adapter with ADK support ships three store classes:

- **Session store** (e.g., ``AsyncpgADKStore``) -- sessions and events.
- **Memory store** (e.g., ``AsyncpgADKMemoryStore``) -- long-term memory with FTS.
- **Artifact store** (e.g., ``AsyncpgADKArtifactStore``) -- artifact metadata.

Import from the adapter's ``adk`` subpackage:

.. code-block:: python

from sqlspec.adapters.asyncpg.adk import (
AsyncpgADKStore,
AsyncpgADKMemoryStore,
AsyncpgADKArtifactStore,
)

Example
=======
Expand All @@ -30,6 +55,6 @@ Example
See Also
========

- :doc:`backends` for the full adapter support matrix.
- :doc:`backends` for the full support matrix and backend-specific notes.
- :doc:`/usage/drivers_and_querying` for adapter configuration patterns.
- :doc:`/reference/adapters` for the complete adapter API.
73 changes: 71 additions & 2 deletions docs/extensions/adk/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,20 @@ Services
:show-inheritance:
:no-index:

Base Stores
===========
.. autoclass:: sqlspec.extensions.adk.memory.SQLSpecSyncMemoryService
:members:
:undoc-members:
:show-inheritance:
:no-index:

.. autoclass:: SQLSpecArtifactService
:members:
:undoc-members:
:show-inheritance:
:no-index:

Session Stores
==============

.. autoclass:: BaseAsyncADKStore
:members:
Expand All @@ -34,6 +46,9 @@ Base Stores
:show-inheritance:
:no-index:

Memory Stores
=============

.. autoclass:: BaseAsyncADKMemoryStore
:members:
:undoc-members:
Expand All @@ -45,3 +60,57 @@ Base Stores
:undoc-members:
:show-inheritance:
:no-index:

Artifact Stores
===============

.. autoclass:: BaseAsyncADKArtifactStore
:members:
:undoc-members:
:show-inheritance:
:no-index:

.. autoclass:: BaseSyncADKArtifactStore
:members:
:undoc-members:
:show-inheritance:
:no-index:

Record Types
============

.. autoclass:: SessionRecord
:members:
:show-inheritance:
:no-index:

.. autoclass:: EventRecord
:members:
:show-inheritance:
:no-index:

.. autoclass:: MemoryRecord
:members:
:show-inheritance:
:no-index:

.. autoclass:: ArtifactRecord
:members:
:show-inheritance:
:no-index:

Configuration
=============

.. autoclass:: ADKConfig
:members:
:show-inheritance:
:no-index:

Converters
==========

.. automodule:: sqlspec.extensions.adk.converters
:members:
:undoc-members:
:no-index:
Loading
Loading