expluro 0.1.2__tar.gz → 0.1.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.
- {expluro-0.1.2 → expluro-0.1.3}/PKG-INFO +1 -1
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/PKG-INFO +1 -1
- {expluro-0.1.2 → expluro-0.1.3}/pyproject.toml +1 -1
- {expluro-0.1.2 → expluro-0.1.3}/topo/auth.py +22 -10
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/SOURCES.txt +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/dependency_links.txt +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/entry_points.txt +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/requires.txt +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/expluro.egg-info/top_level.txt +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/setup.cfg +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/__init__.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/backend.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/capture.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/constants.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/display.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/drivers/__init__.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/drivers/base.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/drivers/claude.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/main.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/picker.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/renderer.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/session.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/session_files.py +0 -0
- {expluro-0.1.2 → expluro-0.1.3}/topo/snapshot.py +0 -0
|
@@ -64,22 +64,34 @@ def login(email: str, password: str, base_url: str = DEFAULT_BASE_URL) -> dict[s
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
def login_command() -> None:
|
|
67
|
-
import
|
|
67
|
+
from rich.console import Console
|
|
68
|
+
from rich.prompt import Prompt
|
|
69
|
+
from rich.status import Status
|
|
70
|
+
from rich.padding import Padding
|
|
68
71
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
console = Console()
|
|
73
|
+
|
|
74
|
+
console.print()
|
|
75
|
+
console.print(" [bold #6366f1]◆[/bold #6366f1] [bold white]expluro[/bold white]", highlight=False)
|
|
76
|
+
console.print(Padding("[dim]Version control for your AI thinking.[/dim]", (0, 0, 1, 5)))
|
|
77
|
+
|
|
78
|
+
email = Prompt.ask(" [dim]Email[/dim]", console=console)
|
|
79
|
+
password = Prompt.ask(" [dim]Password[/dim]", console=console, password=True)
|
|
80
|
+
console.print()
|
|
72
81
|
|
|
73
82
|
from .backend import BackendError
|
|
74
83
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
with Status("[dim]Authenticating…[/dim]", console=console, spinner="dots"):
|
|
85
|
+
try:
|
|
86
|
+
tokens = login(email, password)
|
|
87
|
+
except BackendError as exc:
|
|
88
|
+
console.print(f" [bold red]✗[/bold red] {exc.detail}")
|
|
89
|
+
console.print()
|
|
90
|
+
raise SystemExit(1)
|
|
80
91
|
|
|
81
92
|
save_tokens(tokens["access"], tokens["refresh"])
|
|
82
|
-
|
|
93
|
+
console.print(f" [bold green]✓[/bold green] Logged in as [bold]{email}[/bold]")
|
|
94
|
+
console.print(Padding("[dim]Run [bold]expluro[/bold] in any project directory to start a session.[/dim]", (0, 0, 1, 5)))
|
|
83
95
|
|
|
84
96
|
|
|
85
97
|
def _load_config() -> dict:
|
|
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
|