utim-cli 1.44.8__tar.gz → 1.44.9__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.44.8/utim_cli.egg-info → utim_cli-1.44.9}/PKG-INFO +1 -1
- {utim_cli-1.44.8 → utim_cli-1.44.9}/pyproject.toml +1 -1
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/router.py +16 -11
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/utim.py +3 -3
- {utim_cli-1.44.8 → utim_cli-1.44.9/utim_cli.egg-info}/PKG-INFO +1 -1
- {utim_cli-1.44.8 → utim_cli-1.44.9}/CHANGELOG.md +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/LICENSE +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/MANIFEST.in +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/README.md +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/setup.cfg +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/setup.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/__init__.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/agent.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/auth.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/backup.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/blender_agent.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/bootstrap.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/client_utils.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/config.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/constants.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/context_pruner.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/doctor.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/knowledge_graph.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/logger.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/mcp_clean_wrapper.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/mcp_client.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/mcp_registry.json +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/orchestrator.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/reflection.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/report.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/scrapy_search.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/__init__.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/auth.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/db.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/email_utils.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/firebase.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/history.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/logging_config.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/models.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/rate_limit.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/__init__.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/auth_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/completion_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/credit_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/quota_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/session_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/routes/share_routes.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/server/server.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/share.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/share_tui.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/situational_scoring.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/state.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tools.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/__init__.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/history_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/mcp_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/model_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/resume_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/tools_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/tui/update_dialog.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/vector_memory.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli/workspace.py +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli.egg-info/SOURCES.txt +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli.egg-info/dependency_links.txt +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli.egg-info/entry_points.txt +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/utim_cli.egg-info/requires.txt +0 -0
- {utim_cli-1.44.8 → utim_cli-1.44.9}/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.44.
|
|
7
|
+
version = "1.44.9"
|
|
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"
|
|
@@ -177,21 +177,25 @@ def _find_changelog_path():
|
|
|
177
177
|
|
|
178
178
|
@app.get("/health", tags=["system"], summary="Health check")
|
|
179
179
|
def health():
|
|
180
|
-
"""
|
|
180
|
+
"""Always returns 200 so Railway health checks pass.
|
|
181
|
+
DB status is reported in the body for diagnostics.
|
|
182
|
+
"""
|
|
183
|
+
db_status = "ok"
|
|
184
|
+
db_error = None
|
|
181
185
|
try:
|
|
182
186
|
db = SessionLocal()
|
|
183
187
|
db.execute(text("SELECT 1"))
|
|
184
188
|
db.close()
|
|
185
|
-
db_status = "ok"
|
|
186
189
|
except Exception as exc:
|
|
187
|
-
|
|
190
|
+
db_error = str(exc)
|
|
191
|
+
logger.error(f"health_db_error: {exc}")
|
|
188
192
|
db_status = "error"
|
|
189
193
|
|
|
190
194
|
# Derive version dynamically from CHANGELOG.md so a deploy auto-updates it
|
|
191
195
|
try:
|
|
192
196
|
import re as _re
|
|
193
197
|
_cl_path = _find_changelog_path()
|
|
194
|
-
_version = "1.44.
|
|
198
|
+
_version = "1.44.8"
|
|
195
199
|
if _cl_path:
|
|
196
200
|
with open(_cl_path, "r", encoding="utf-8") as _f:
|
|
197
201
|
for _line in _f:
|
|
@@ -200,13 +204,14 @@ def health():
|
|
|
200
204
|
_version = _m.group(1)
|
|
201
205
|
break
|
|
202
206
|
except Exception:
|
|
203
|
-
_version = "1.44.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
_version = "1.44.8"
|
|
208
|
+
|
|
209
|
+
# Always return 200 — Railway must see 200 or it will keep restarting.
|
|
210
|
+
# DB connectivity errors are surfaced in the body for debugging.
|
|
211
|
+
body = {"status": "ok" if db_status == "ok" else "degraded", "db": db_status, "version": _version}
|
|
212
|
+
if db_error:
|
|
213
|
+
body["db_error"] = db_error
|
|
214
|
+
return JSONResponse(content=body, status_code=200)
|
|
210
215
|
|
|
211
216
|
|
|
212
217
|
@app.get("/models", tags=["system"], summary="List available LLM models")
|
|
@@ -585,7 +585,7 @@ def _print_animated_banner():
|
|
|
585
585
|
# Speed up for spaces to make it feel more like typing
|
|
586
586
|
time.sleep(0.002 if char == " " else 0.005)
|
|
587
587
|
|
|
588
|
-
console.print(f"\n [bold white]U Think I Make[/bold white] [dim]v1.44.
|
|
588
|
+
console.print(f"\n [bold white]U Think I Make[/bold white] [dim]v1.44.9[/dim]")
|
|
589
589
|
user_email = config.email
|
|
590
590
|
user_type = "UTIM Community"
|
|
591
591
|
api_key = config.get("api_key")
|
|
@@ -2691,7 +2691,7 @@ def check_and_update_background():
|
|
|
2691
2691
|
return
|
|
2692
2692
|
|
|
2693
2693
|
latest_ver = resp.json().get("version", "")
|
|
2694
|
-
current_ver = "1.44.
|
|
2694
|
+
current_ver = "1.44.9"
|
|
2695
2695
|
|
|
2696
2696
|
def parse_ver(v):
|
|
2697
2697
|
return [int(x) for x in v.split(".") if x.isdigit()]
|
|
@@ -2887,7 +2887,7 @@ app = typer.Typer()
|
|
|
2887
2887
|
def version_callback(value: bool):
|
|
2888
2888
|
if value:
|
|
2889
2889
|
import typer
|
|
2890
|
-
print("U Think I Make v1.44.
|
|
2890
|
+
print("U Think I Make v1.44.9")
|
|
2891
2891
|
raise typer.Exit()
|
|
2892
2892
|
|
|
2893
2893
|
@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
|