sqlsaber 0.8.0__tar.gz → 0.8.1__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 sqlsaber might be problematic. Click here for more details.
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/CHANGELOG.md +6 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/PKG-INFO +1 -1
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/pyproject.toml +1 -1
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/settings.py +11 -7
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/uv.lock +1 -1
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.github/workflows/publish.yml +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.gitignore +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.python-version +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/CLAUDE.md +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/LICENSE +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/README.md +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/pytest.ini +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/sqlsaber.svg +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/__main__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/anthropic.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/base.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/mcp.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/streaming.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/auth.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/commands.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/completers.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/database.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/display.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/interactive.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/memory.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/models.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/streaming.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/anthropic.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/base.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/exceptions.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/models.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/streaming.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/api_keys.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/auth.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/database.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/oauth_flow.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/oauth_tokens.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/connection.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/schema.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/mcp/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/mcp/mcp.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/manager.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/storage.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/events.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/types.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/conftest.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_agents/test_anthropic_oauth.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_cli/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_cli/test_commands.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_clients/test_anthropic_client.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_clients/test_streaming.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_database.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_oauth.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_settings.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_database/__init__.py +0 -0
- {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_database/test_connection.py +0 -0
|
@@ -4,6 +4,12 @@ All notable changes to SQLSaber will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.8.1] - 2025-07-07
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Fixed OAuth validation logic to not require API key when Claude Pro OAuth is configured
|
|
12
|
+
|
|
7
13
|
## [0.8.0] - 2025-07-07
|
|
8
14
|
|
|
9
15
|
### Added
|
|
@@ -117,10 +117,14 @@ class Config:
|
|
|
117
117
|
|
|
118
118
|
def validate(self):
|
|
119
119
|
"""Validate that necessary configuration is present."""
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
# 1. Claude-Pro flow → require OAuth token only
|
|
121
|
+
if self.auth_method == AuthMethod.CLAUDE_PRO:
|
|
122
|
+
if not self.oauth_token:
|
|
123
|
+
raise ValueError(
|
|
124
|
+
"OAuth token not available. Run 'saber auth setup' to authenticate with Claude Pro."
|
|
125
|
+
)
|
|
126
|
+
return # OAuth path satisfied – nothing more to check
|
|
127
|
+
|
|
128
|
+
# 2. Default / API-key flow → require API key
|
|
129
|
+
if not self.api_key:
|
|
130
|
+
raise ValueError("Anthropic API key not found.")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|