dbagent-cli 0.1.9__tar.gz → 0.2.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.
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/PKG-INFO +1 -1
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/__init__.py +1 -1
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/cli.py +27 -15
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent_cli.egg-info/PKG-INFO +1 -1
- dbagent_cli-0.2.1/dbagent_cli.egg-info/entry_points.txt +3 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/pyproject.toml +3 -3
- dbagent_cli-0.1.9/dbagent_cli.egg-info/entry_points.txt +0 -3
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/README.md +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/agent/generator.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/agent/pipeline.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/agent/validator.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/config.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/connectors/base.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/connectors/factory.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/connectors/mongo.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/connectors/relational.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/auto_setup.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/base.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/factory.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/gemini_provider.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/groq_provider.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/mock_provider.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/ollama_provider.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/llm/openrouter_provider.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/schema/formatter.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/schema/models.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/schema/selector.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/ui/console.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent/ui/viewer.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent_cli.egg-info/SOURCES.txt +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent_cli.egg-info/dependency_links.txt +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent_cli.egg-info/requires.txt +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/dbagent_cli.egg-info/top_level.txt +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/setup.cfg +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/tests/test_cli.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/tests/test_connectors.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/tests/test_generator.py +0 -0
- {dbagent_cli-0.1.9 → dbagent_cli-0.2.1}/tests/test_schema.py +0 -0
|
@@ -787,30 +787,30 @@ def config_command():
|
|
|
787
787
|
config_mgr.set_setting("default_provider", provider_choice)
|
|
788
788
|
print_success(f"Default provider updated to [bold]{provider_choice}[/bold]")
|
|
789
789
|
|
|
790
|
-
if provider_choice == "gemini"
|
|
791
|
-
|
|
790
|
+
if provider_choice == "gemini":
|
|
791
|
+
console.print("[dim]Get your free Gemini API key at: [bold]https://aistudio.google.com/apikey[/bold][/dim]")
|
|
792
|
+
key = Prompt.ask("Enter GEMINI_API_KEY", default=config_mgr.get_setting("gemini_api_key", "")).strip()
|
|
792
793
|
if key:
|
|
793
794
|
config_mgr.set_setting("gemini_api_key", key)
|
|
794
795
|
print_success("Gemini API key saved.")
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
key = Prompt.ask("Enter GROQ_API_KEY
|
|
796
|
+
elif provider_choice == "groq":
|
|
797
|
+
console.print("[dim]Get your free Groq API key at: [bold]https://console.groq.com[/bold][/dim]")
|
|
798
|
+
key = Prompt.ask("Enter GROQ_API_KEY", default=config_mgr.get_setting("groq_api_key", "")).strip()
|
|
798
799
|
if key:
|
|
799
800
|
config_mgr.set_setting("groq_api_key", key)
|
|
800
801
|
print_success("Groq API key saved.")
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
key = Prompt.ask("Enter OPENROUTER_API_KEY
|
|
802
|
+
elif provider_choice == "openrouter":
|
|
803
|
+
console.print("[dim]Get your OpenRouter API key at: [bold]https://openrouter.ai[/bold][/dim]")
|
|
804
|
+
key = Prompt.ask("Enter OPENROUTER_API_KEY", default=config_mgr.get_setting("openrouter_api_key", "")).strip()
|
|
804
805
|
if key:
|
|
805
806
|
config_mgr.set_setting("openrouter_api_key", key)
|
|
806
807
|
print_success("OpenRouter API key saved.")
|
|
808
|
+
elif provider_choice == "ollama":
|
|
809
|
+
base_url = Prompt.ask("Ollama Base URL", default=config_mgr.get_setting("ollama_base_url", "http://localhost:11434")).strip()
|
|
810
|
+
config_mgr.set_setting("ollama_base_url", base_url)
|
|
811
|
+
print_success("Ollama base URL configured.")
|
|
807
812
|
|
|
808
|
-
|
|
809
|
-
p_name = Prompt.ask("Profile Name (e.g. prod_pg, staging, local_dev)")
|
|
810
|
-
p_url = Prompt.ask("Connection URL (e.g. postgresql://user:pass@localhost:5432/dbname)")
|
|
811
|
-
p_desc = Prompt.ask("Description", default=f"{p_name} database")
|
|
812
|
-
config_mgr.save_profile(name=p_name, connection_url=p_url, description=p_desc)
|
|
813
|
-
print_success(f"Profile '[bold]{p_name}[/bold]' saved successfully!")
|
|
813
|
+
print_success("Configuration updated successfully!\n")
|
|
814
814
|
|
|
815
815
|
|
|
816
816
|
# ---- profiles ----
|
|
@@ -1013,5 +1013,17 @@ def use_command(
|
|
|
1013
1013
|
print_success(f"Default AI provider switched to [bold cyan]{p}[/bold cyan]!")
|
|
1014
1014
|
|
|
1015
1015
|
|
|
1016
|
+
def main():
|
|
1017
|
+
"""Top-level entry point with graceful Ctrl+C / interrupt handling."""
|
|
1018
|
+
try:
|
|
1019
|
+
app()
|
|
1020
|
+
except (KeyboardInterrupt, EOFError):
|
|
1021
|
+
console.print("\n[dim]Operation cancelled.[/dim]")
|
|
1022
|
+
sys.exit(0)
|
|
1023
|
+
except Exception as e:
|
|
1024
|
+
console.print(f"\n[red]Error:[/red] {e}")
|
|
1025
|
+
sys.exit(1)
|
|
1026
|
+
|
|
1027
|
+
|
|
1016
1028
|
if __name__ == "__main__":
|
|
1017
|
-
|
|
1029
|
+
main()
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dbagent-cli"
|
|
7
|
-
version = "0.1
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Universal Database Introspection and Script Generation AI Agent (CLI)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -35,8 +35,8 @@ dev = [
|
|
|
35
35
|
]
|
|
36
36
|
|
|
37
37
|
[project.scripts]
|
|
38
|
-
db-agent = "dbagent.cli:
|
|
39
|
-
dbagent = "dbagent.cli:
|
|
38
|
+
db-agent = "dbagent.cli:main"
|
|
39
|
+
dbagent = "dbagent.cli:main"
|
|
40
40
|
|
|
41
41
|
[tool.setuptools.packages.find]
|
|
42
42
|
where = ["."]
|
|
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
|