dbagent-cli 0.3.7__tar.gz → 0.3.8__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.
Files changed (73) hide show
  1. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/PKG-INFO +2 -2
  2. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/__init__.py +1 -1
  3. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/cli.py +7 -0
  4. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/ui/console.py +19 -9
  5. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/PKG-INFO +2 -2
  6. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/pyproject.toml +2 -2
  7. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/README.md +0 -0
  8. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/confidence.py +0 -0
  9. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/conversation.py +0 -0
  10. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/doctor.py +0 -0
  11. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/error_classifier.py +0 -0
  12. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/generator.py +0 -0
  13. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/pipeline.py +0 -0
  14. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/recommender.py +0 -0
  15. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/agent/validator.py +0 -0
  16. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/config.py +0 -0
  17. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/connectors/base.py +0 -0
  18. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/connectors/factory.py +0 -0
  19. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/connectors/mongo.py +0 -0
  20. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/connectors/relational.py +0 -0
  21. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/__init__.py +0 -0
  22. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/cache.py +0 -0
  23. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/changeset.py +0 -0
  24. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/cost.py +0 -0
  25. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/recovery.py +0 -0
  26. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/sandbox.py +0 -0
  27. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/execution/streaming.py +0 -0
  28. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/auto_setup.py +0 -0
  29. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/base.py +0 -0
  30. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/factory.py +0 -0
  31. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/gemini_provider.py +0 -0
  32. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/groq_provider.py +0 -0
  33. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/mock_provider.py +0 -0
  34. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/ollama_provider.py +0 -0
  35. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/llm/openrouter_provider.py +0 -0
  36. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/cache.py +0 -0
  37. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/formatter.py +0 -0
  38. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/graph.py +0 -0
  39. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/models.py +0 -0
  40. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/retriever.py +0 -0
  41. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/schema/selector.py +0 -0
  42. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/__init__.py +0 -0
  43. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/audit.py +0 -0
  44. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/environment.py +0 -0
  45. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/masking.py +0 -0
  46. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/modes.py +0 -0
  47. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/security/rbac.py +0 -0
  48. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/semantic/__init__.py +0 -0
  49. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/semantic/dictionary.py +0 -0
  50. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/semantic/templates.py +0 -0
  51. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/sql/__init__.py +0 -0
  52. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/sql/optimizer.py +0 -0
  53. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/sql/validator.py +0 -0
  54. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/ui/viewer.py +0 -0
  55. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent/ui/visualizer.py +0 -0
  56. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/SOURCES.txt +0 -0
  57. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/dependency_links.txt +0 -0
  58. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/entry_points.txt +0 -0
  59. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/requires.txt +0 -0
  60. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/dbagent_cli.egg-info/top_level.txt +0 -0
  61. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/setup.cfg +0 -0
  62. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_cache.py +0 -0
  63. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_cli.py +0 -0
  64. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_connectors.py +0 -0
  65. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_doctor_and_viz.py +0 -0
  66. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_generator.py +0 -0
  67. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_graph.py +0 -0
  68. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_recovery.py +0 -0
  69. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_safety.py +0 -0
  70. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_sandbox.py +0 -0
  71. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_schema.py +0 -0
  72. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_security.py +0 -0
  73. {dbagent_cli-0.3.7 → dbagent_cli-0.3.8}/tests/test_semantic.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbagent-cli
3
- Version: 0.3.7
4
- Summary: Production-Grade AI Database Copilot with Seamless Column Scroller (CLI)
3
+ Version: 0.3.8
4
+ Summary: Production-Grade AI Database Copilot with Responsive Zoom-Out & Wide Table Viewing (CLI)
5
5
  Author: Santhosh Gupta
6
6
  Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
@@ -2,5 +2,5 @@
2
2
  DB-Agent: Universal Database Introspection and Script Generation AI Agent (CLI).
3
3
  """
4
4
 
5
- __version__ = "0.3.7"
5
+ __version__ = "0.3.8"
6
6
  __author__ = "Santhosh Gupta"
@@ -629,6 +629,13 @@ def chat_command(
629
629
  print_results_vertical(last_result.columns, last_result.rows)
630
630
  continue
631
631
 
632
+ if cmd_name in [":wide", ":all", ":raw"]:
633
+ if not last_result or not last_result.rows:
634
+ print_warning("No previous query results to display.")
635
+ continue
636
+ print_results_table(last_result.columns, last_result.rows, title="All Columns (Wide View)", show_all=True)
637
+ continue
638
+
632
639
  if cmd_name in [":scroll", ":scroller", ":pager"]:
633
640
  if not last_result or not last_result.rows:
634
641
  print_warning("No previous query results to scroll.")
@@ -62,25 +62,35 @@ def print_results_table(
62
62
  rows: List[Dict[str, Any]],
63
63
  title: str = "Results",
64
64
  col_page: int = 1,
65
- cols_per_page: int = 8,
65
+ cols_per_page: Optional[int] = None,
66
+ show_all: bool = False,
66
67
  ) -> None:
67
68
  """
68
- Print query results in a clean, readable Rich table with multi-column horizontal paging.
69
+ Print query results in a clean, readable Rich table.
70
+ Dynamically scales column count based on terminal zoom-out/width.
69
71
  """
70
72
  if not columns or not rows:
71
73
  console.print("[dim]Query returned 0 rows.[/dim]\n")
72
74
  return
73
75
 
74
76
  total_cols = len(columns)
75
- total_pages = max(1, math.ceil(total_cols / cols_per_page))
77
+ term_width = console.width or 120
78
+ auto_cols = max(8, term_width // 16)
79
+
80
+ if show_all or total_cols <= auto_cols:
81
+ effective_cols_per_page = total_cols
82
+ else:
83
+ effective_cols_per_page = cols_per_page or auto_cols
84
+
85
+ total_pages = max(1, math.ceil(total_cols / effective_cols_per_page))
76
86
  current_page = max(1, min(col_page, total_pages))
77
87
 
78
- start_idx = (current_page - 1) * cols_per_page
79
- end_idx = min(start_idx + cols_per_page, total_cols)
80
- display_cols = columns[start_idx:end_idx]
88
+ start_idx = (current_page - 1) * effective_cols_per_page
89
+ end_idx = min(start_idx + effective_cols_per_page, total_cols)
90
+ display_cols = columns if show_all else columns[start_idx:end_idx]
81
91
 
82
92
  tbl_title = f"[bold cyan]{title}[/bold cyan]"
83
- if total_pages > 1:
93
+ if total_pages > 1 and not show_all:
84
94
  tbl_title += f" [dim](Cols {start_idx + 1}–{end_idx} of {total_cols} | Page {current_page}/{total_pages})[/dim]"
85
95
 
86
96
  table = Table(title=tbl_title, show_header=True, header_style="bold magenta", border_style="dim")
@@ -101,9 +111,9 @@ def print_results_table(
101
111
  console.print("")
102
112
  console.print(table)
103
113
 
104
- if total_pages > 1:
114
+ if total_pages > 1 and not show_all:
105
115
  console.print(
106
- f"[dim]⚡ [bold]:page <1-{total_pages}>[/bold] to switch column view | [bold]:card[/bold] for expanded vertical view | [bold]:scroll[/bold] for full scroller[/dim]"
116
+ f"[dim]⚡ [bold]:page <1-{total_pages}>[/bold] to switch page | [bold]:wide[/bold] / zoom-out for all columns | [bold]:card[/bold] for vertical view | [bold]:scroll[/bold] for scroller[/dim]"
107
117
  )
108
118
  console.print(f"[bold green]Total rows:[/bold green] {len(rows)}\n")
109
119
 
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbagent-cli
3
- Version: 0.3.7
4
- Summary: Production-Grade AI Database Copilot with Seamless Column Scroller (CLI)
3
+ Version: 0.3.8
4
+ Summary: Production-Grade AI Database Copilot with Responsive Zoom-Out & Wide Table Viewing (CLI)
5
5
  Author: Santhosh Gupta
6
6
  Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dbagent-cli"
7
- version = "0.3.7"
8
- description = "Production-Grade AI Database Copilot with Seamless Column Scroller (CLI)"
7
+ version = "0.3.8"
8
+ description = "Production-Grade AI Database Copilot with Responsive Zoom-Out & Wide Table Viewing (CLI)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
11
11
  authors = [
File without changes
File without changes