dbagent-cli 0.8.1__tar.gz → 0.8.3__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.8.1 → dbagent_cli-0.8.3}/PKG-INFO +1 -1
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/__init__.py +1 -1
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/cli.py +20 -7
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/PKG-INFO +1 -1
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/pyproject.toml +1 -1
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/README.md +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/confidence.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/conversation.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/doctor.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/error_classifier.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/generator.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/pipeline.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/recommender.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/agent/validator.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/config.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/connectors/base.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/connectors/factory.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/connectors/mongo.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/connectors/relational.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/__init__.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/cache.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/changeset.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/cost.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/recovery.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/sandbox.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/execution/streaming.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/anthropic_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/auto_setup.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/base.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/deepseek_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/factory.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/gemini_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/groq_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/mistral_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/mock_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/ollama_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/openai_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/llm/openrouter_provider.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/cache.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/formatter.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/graph.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/models.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/retriever.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/schema/selector.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/__init__.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/audit.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/environment.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/masking.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/modes.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/security/rbac.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/semantic/__init__.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/semantic/dictionary.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/semantic/templates.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/sql/__init__.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/sql/optimizer.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/sql/validator.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/ui/chat_screen.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/ui/console.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/ui/grid_window.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/ui/viewer.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent/ui/visualizer.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/SOURCES.txt +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/dependency_links.txt +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/entry_points.txt +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/requires.txt +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/dbagent_cli.egg-info/top_level.txt +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/setup.cfg +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_cache.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_cli.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_connectors.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_direct_sql.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_doctor_and_viz.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_generator.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_graph.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_providers.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_recovery.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_safety.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_sandbox.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_schema.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_security.py +0 -0
- {dbagent_cli-0.8.1 → dbagent_cli-0.8.3}/tests/test_semantic.py +0 -0
|
@@ -437,6 +437,7 @@ def chat_command(
|
|
|
437
437
|
provider: Optional[str] = typer.Option(None, "--provider", "-p", help="AI provider name"),
|
|
438
438
|
model: Optional[str] = typer.Option(None, "--model", "-m", help="AI model name"),
|
|
439
439
|
mode: str = typer.Option("CONFIRM", "--mode", help="Operation mode (SAFE, READ_ONLY, CONFIRM, SANDBOX, ADMIN)"),
|
|
440
|
+
inline: bool = typer.Option(False, "--inline", help="Run standard inline terminal prompt"),
|
|
440
441
|
):
|
|
441
442
|
"""Interactive multi-turn AI database copilot session."""
|
|
442
443
|
db_url = resolve_db_url(db)
|
|
@@ -492,7 +493,18 @@ def chat_command(
|
|
|
492
493
|
":explain", ":history", ":auto", ":noauto", ":run", ":clear", ":export",
|
|
493
494
|
":exit", ":quit", ":q",
|
|
494
495
|
], ignore_case=True)
|
|
495
|
-
|
|
496
|
+
chat_style = Style.from_dict({
|
|
497
|
+
"bottom-toolbar": "bg:#0f172a #94a3b8",
|
|
498
|
+
"bottom-toolbar.text": "#cbd5e1",
|
|
499
|
+
"bottom-toolbar.green": "#10b981 bold",
|
|
500
|
+
"bottom-toolbar.cyan": "#06b6d4 bold",
|
|
501
|
+
"bottom-toolbar.yellow": "#f59e0b bold",
|
|
502
|
+
})
|
|
503
|
+
session = PromptSession(
|
|
504
|
+
history=FileHistory(str(history_file)),
|
|
505
|
+
completer=chat_completer,
|
|
506
|
+
style=chat_style,
|
|
507
|
+
)
|
|
496
508
|
|
|
497
509
|
auto_execute = True
|
|
498
510
|
conversation_ctx = ConversationContext()
|
|
@@ -514,18 +526,19 @@ def chat_command(
|
|
|
514
526
|
def _get_bottom_toolbar():
|
|
515
527
|
curr_model = model or getattr(llm, "default_model", "default")
|
|
516
528
|
return HTML(
|
|
517
|
-
f" <
|
|
518
|
-
f"<
|
|
519
|
-
f"<
|
|
520
|
-
f"<
|
|
529
|
+
f" <style class='bottom-toolbar.green'>● Connected:</style> <b>{db_name}</b> <i>({dialect} • {len(table_names)} tables)</i> │ "
|
|
530
|
+
f"<style class='bottom-toolbar.cyan'>🤖 AI:</style> <b>{curr_model}</b> │ "
|
|
531
|
+
f"<style class='bottom-toolbar.yellow'>🛡️ {current_mode.value}</style> │ "
|
|
532
|
+
f"<b>:help</b> for commands · <b>:models</b> to switch"
|
|
521
533
|
)
|
|
522
534
|
|
|
523
535
|
while True:
|
|
524
536
|
try:
|
|
525
537
|
user_input = session.prompt(
|
|
526
|
-
HTML("<
|
|
538
|
+
HTML("<ansicyan><b>❯</b></ansicyan> "),
|
|
527
539
|
bottom_toolbar=_get_bottom_toolbar,
|
|
528
|
-
|
|
540
|
+
rprompt=HTML(f"<ansidarkgray>db-agent v{__version__}</ansidarkgray>"),
|
|
541
|
+
placeholder=HTML("<ansidarkgray><i>Ask in plain English or paste direct SQL...</i></ansidarkgray>"),
|
|
529
542
|
).strip()
|
|
530
543
|
if not user_input:
|
|
531
544
|
continue
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dbagent-cli"
|
|
7
|
-
version = "0.8.
|
|
7
|
+
version = "0.8.3"
|
|
8
8
|
description = "Enterprise AI Database Copilot, Schema Graph Introspector & Autonomous Recovery Agent (CLI)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
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
|
|
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
|