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.

Files changed (66) hide show
  1. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/CHANGELOG.md +6 -0
  2. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/PKG-INFO +1 -1
  3. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/pyproject.toml +1 -1
  4. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/settings.py +11 -7
  5. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/uv.lock +1 -1
  6. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.github/workflows/publish.yml +0 -0
  7. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.gitignore +0 -0
  8. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/.python-version +0 -0
  9. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/CLAUDE.md +0 -0
  10. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/LICENSE +0 -0
  11. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/README.md +0 -0
  12. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/pytest.ini +0 -0
  13. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/sqlsaber.svg +0 -0
  14. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/__init__.py +0 -0
  15. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/__main__.py +0 -0
  16. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/__init__.py +0 -0
  17. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/anthropic.py +0 -0
  18. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/base.py +0 -0
  19. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/mcp.py +0 -0
  20. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/agents/streaming.py +0 -0
  21. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/__init__.py +0 -0
  22. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/auth.py +0 -0
  23. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/commands.py +0 -0
  24. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/completers.py +0 -0
  25. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/database.py +0 -0
  26. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/display.py +0 -0
  27. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/interactive.py +0 -0
  28. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/memory.py +0 -0
  29. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/models.py +0 -0
  30. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/cli/streaming.py +0 -0
  31. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/__init__.py +0 -0
  32. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/anthropic.py +0 -0
  33. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/base.py +0 -0
  34. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/exceptions.py +0 -0
  35. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/models.py +0 -0
  36. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/clients/streaming.py +0 -0
  37. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/__init__.py +0 -0
  38. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/api_keys.py +0 -0
  39. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/auth.py +0 -0
  40. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/database.py +0 -0
  41. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/oauth_flow.py +0 -0
  42. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/config/oauth_tokens.py +0 -0
  43. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/__init__.py +0 -0
  44. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/connection.py +0 -0
  45. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/database/schema.py +0 -0
  46. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/mcp/__init__.py +0 -0
  47. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/mcp/mcp.py +0 -0
  48. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/__init__.py +0 -0
  49. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/manager.py +0 -0
  50. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/memory/storage.py +0 -0
  51. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/__init__.py +0 -0
  52. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/events.py +0 -0
  53. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/src/sqlsaber/models/types.py +0 -0
  54. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/__init__.py +0 -0
  55. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/conftest.py +0 -0
  56. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_agents/test_anthropic_oauth.py +0 -0
  57. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_cli/__init__.py +0 -0
  58. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_cli/test_commands.py +0 -0
  59. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_clients/test_anthropic_client.py +0 -0
  60. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_clients/test_streaming.py +0 -0
  61. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/__init__.py +0 -0
  62. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_database.py +0 -0
  63. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_oauth.py +0 -0
  64. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_config/test_settings.py +0 -0
  65. {sqlsaber-0.8.0 → sqlsaber-0.8.1}/tests/test_database/__init__.py +0 -0
  66. {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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlsaber
3
- Version: 0.8.0
3
+ Version: 0.8.1
4
4
  Summary: SQLSaber - Agentic SQL assistant like Claude Code
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlsaber"
3
- version = "0.8.0"
3
+ version = "0.8.1"
4
4
  description = "SQLSaber - Agentic SQL assistant like Claude Code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -117,10 +117,14 @@ class Config:
117
117
 
118
118
  def validate(self):
119
119
  """Validate that necessary configuration is present."""
120
- if self.auth_method == AuthMethod.CLAUDE_PRO and not self.oauth_token:
121
- raise ValueError(
122
- "OAuth token not available. Run 'saber auth setup' to authenticate with Claude Pro."
123
- )
124
- else:
125
- if not self.api_key:
126
- raise ValueError("Anthropic API key not found.")
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.")
@@ -863,7 +863,7 @@ wheels = [
863
863
 
864
864
  [[package]]
865
865
  name = "sqlsaber"
866
- version = "0.8.0"
866
+ version = "0.8.1"
867
867
  source = { editable = "." }
868
868
  dependencies = [
869
869
  { name = "aiomysql" },
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