utim-cli 1.46.7__tar.gz → 1.46.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.
- {utim_cli-1.46.7/utim_cli.egg-info → utim_cli-1.46.8}/PKG-INFO +1 -1
- {utim_cli-1.46.7 → utim_cli-1.46.8}/pyproject.toml +1 -1
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/auth.py +7 -5
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/utim.py +3 -3
- {utim_cli-1.46.7 → utim_cli-1.46.8/utim_cli.egg-info}/PKG-INFO +1 -1
- {utim_cli-1.46.7 → utim_cli-1.46.8}/CHANGELOG.md +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/LICENSE +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/MANIFEST.in +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/README.md +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/setup.cfg +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/setup.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/__init__.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/agent.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/backup.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/blender_agent.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/bootstrap.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/client_utils.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/config.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/constants.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/context_pruner.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/doctor.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/knowledge_graph.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/local_db.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/logger.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/mcp_clean_wrapper.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/mcp_client.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/mcp_registry.json +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/orchestrator.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/reflection.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/report.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/scrapy_search.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/__init__.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/auth.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/db.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/email_utils.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/firebase.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/history.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/logging_config.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/models.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/rate_limit.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/router.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/__init__.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/auth_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/completion_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/credit_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/quota_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/session_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/routes/share_routes.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/server/server.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/share.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/share_tui.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/situational_scoring.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/state.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tools.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/__init__.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/history_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/mcp_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/model_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/resume_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/tools_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/tui/update_dialog.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/vector_memory.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli/workspace.py +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli.egg-info/SOURCES.txt +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli.egg-info/dependency_links.txt +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli.egg-info/entry_points.txt +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli.egg-info/requires.txt +0 -0
- {utim_cli-1.46.7 → utim_cli-1.46.8}/utim_cli.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "utim-cli"
|
|
7
|
-
version = "1.46.
|
|
7
|
+
version = "1.46.8"
|
|
8
8
|
description = "UTIM – Universal Terminal Intelligence Manager. A powerful agentic AI coding assistant for your terminal."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -187,13 +187,15 @@ def login() -> None:
|
|
|
187
187
|
poll_thread.start()
|
|
188
188
|
|
|
189
189
|
# Step 4 — block the main thread until authorized or expired
|
|
190
|
-
# NOTE: We
|
|
191
|
-
#
|
|
192
|
-
#
|
|
193
|
-
# Ctrl+C still works to abort (KeyboardInterrupt propagates normally).
|
|
190
|
+
# NOTE: We poll in a short loop with a timeout to allow Python's signal handlers
|
|
191
|
+
# to catch Ctrl+C / SIGINT on Unix/Android/Termux systems where a single blocking
|
|
192
|
+
# wait() would prevent signal propagation.
|
|
194
193
|
try:
|
|
195
|
-
|
|
194
|
+
deadline = time.time() + expires_in
|
|
195
|
+
while time.time() < deadline and not done_event.is_set():
|
|
196
|
+
done_event.wait(timeout=0.1)
|
|
196
197
|
except KeyboardInterrupt:
|
|
198
|
+
done_event.set()
|
|
197
199
|
print(f"\n {YELLOW}Cancelled.{RESET}\n")
|
|
198
200
|
sys.stdout.flush()
|
|
199
201
|
return
|
|
@@ -596,7 +596,7 @@ def _print_animated_banner(animated: bool = True):
|
|
|
596
596
|
else:
|
|
597
597
|
console.print(f"[bold {color}]{BANNER_BIG}[/bold {color}]")
|
|
598
598
|
|
|
599
|
-
console.print(f" [bold white]U Think I Make[/bold white] [dim]v1.46.
|
|
599
|
+
console.print(f" [bold white]U Think I Make[/bold white] [dim]v1.46.8[/dim]")
|
|
600
600
|
user_email = config.email
|
|
601
601
|
user_type = "UTIM Community"
|
|
602
602
|
api_key = config.get("api_key")
|
|
@@ -2740,7 +2740,7 @@ def check_and_update_background():
|
|
|
2740
2740
|
return
|
|
2741
2741
|
|
|
2742
2742
|
latest_ver = resp.json().get("version", "")
|
|
2743
|
-
current_ver = "1.46.
|
|
2743
|
+
current_ver = "1.46.8"
|
|
2744
2744
|
|
|
2745
2745
|
def parse_ver(v):
|
|
2746
2746
|
return [int(x) for x in v.split(".") if x.isdigit()]
|
|
@@ -2939,7 +2939,7 @@ app = typer.Typer()
|
|
|
2939
2939
|
def version_callback(value: bool):
|
|
2940
2940
|
if value:
|
|
2941
2941
|
import typer
|
|
2942
|
-
print("U Think I Make v1.46.
|
|
2942
|
+
print("U Think I Make v1.46.8")
|
|
2943
2943
|
raise typer.Exit()
|
|
2944
2944
|
|
|
2945
2945
|
@app.callback(invoke_without_command=True)
|
|
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
|