utim-cli 1.44.7__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.
Files changed (68) hide show
  1. {utim_cli-1.44.7/utim_cli.egg-info → utim_cli-1.44.9}/PKG-INFO +1 -1
  2. {utim_cli-1.44.7 → utim_cli-1.44.9}/pyproject.toml +1 -1
  3. utim_cli-1.44.9/utim_cli/server/__init__.py +1 -0
  4. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/router.py +16 -11
  5. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/utim.py +3 -3
  6. {utim_cli-1.44.7 → utim_cli-1.44.9/utim_cli.egg-info}/PKG-INFO +1 -1
  7. utim_cli-1.44.7/utim_cli/server/__init__.py +0 -4
  8. {utim_cli-1.44.7 → utim_cli-1.44.9}/CHANGELOG.md +0 -0
  9. {utim_cli-1.44.7 → utim_cli-1.44.9}/LICENSE +0 -0
  10. {utim_cli-1.44.7 → utim_cli-1.44.9}/MANIFEST.in +0 -0
  11. {utim_cli-1.44.7 → utim_cli-1.44.9}/README.md +0 -0
  12. {utim_cli-1.44.7 → utim_cli-1.44.9}/setup.cfg +0 -0
  13. {utim_cli-1.44.7 → utim_cli-1.44.9}/setup.py +0 -0
  14. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/__init__.py +0 -0
  15. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/agent.py +0 -0
  16. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/auth.py +0 -0
  17. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/backup.py +0 -0
  18. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/blender_agent.py +0 -0
  19. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/bootstrap.py +0 -0
  20. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/client_utils.py +0 -0
  21. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/config.py +0 -0
  22. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/constants.py +0 -0
  23. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/context_pruner.py +0 -0
  24. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/doctor.py +0 -0
  25. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/knowledge_graph.py +0 -0
  26. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/logger.py +0 -0
  27. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/mcp_clean_wrapper.py +0 -0
  28. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/mcp_client.py +0 -0
  29. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/mcp_registry.json +0 -0
  30. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/orchestrator.py +0 -0
  31. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/reflection.py +0 -0
  32. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/report.py +0 -0
  33. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/scrapy_search.py +0 -0
  34. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/auth.py +0 -0
  35. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/db.py +0 -0
  36. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/email_utils.py +0 -0
  37. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/firebase.py +0 -0
  38. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/history.py +0 -0
  39. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/logging_config.py +0 -0
  40. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/models.py +0 -0
  41. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/rate_limit.py +0 -0
  42. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/__init__.py +0 -0
  43. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/auth_routes.py +0 -0
  44. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/completion_routes.py +0 -0
  45. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/credit_routes.py +0 -0
  46. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/quota_routes.py +0 -0
  47. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/session_routes.py +0 -0
  48. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/routes/share_routes.py +0 -0
  49. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/server/server.py +0 -0
  50. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/share.py +0 -0
  51. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/share_tui.py +0 -0
  52. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/situational_scoring.py +0 -0
  53. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/state.py +0 -0
  54. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tools.py +0 -0
  55. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/__init__.py +0 -0
  56. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/history_dialog.py +0 -0
  57. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/mcp_dialog.py +0 -0
  58. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/model_dialog.py +0 -0
  59. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/resume_dialog.py +0 -0
  60. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/tools_dialog.py +0 -0
  61. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/tui/update_dialog.py +0 -0
  62. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/vector_memory.py +0 -0
  63. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli/workspace.py +0 -0
  64. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli.egg-info/SOURCES.txt +0 -0
  65. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli.egg-info/dependency_links.txt +0 -0
  66. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli.egg-info/entry_points.txt +0 -0
  67. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli.egg-info/requires.txt +0 -0
  68. {utim_cli-1.44.7 → utim_cli-1.44.9}/utim_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utim-cli
3
- Version: 1.44.7
3
+ Version: 1.44.9
4
4
  Summary: UTIM – Universal Terminal Intelligence Manager. A powerful agentic AI coding assistant for your terminal.
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://utim.dev
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "utim-cli"
7
- version = "1.44.7"
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"
@@ -0,0 +1 @@
1
+ """UTIM Production Server package."""
@@ -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
- """Returns 200 when the server and database are reachable."""
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
- logger.error("health_db_error", extra={"error": str(exc)})
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.2"
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.2"
204
-
205
- status_code = 200 if db_status == "ok" else 503
206
- return JSONResponse(
207
- content={"status": "ok" if db_status == "ok" else "degraded", "db": db_status, "version": _version},
208
- status_code=status_code
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.7[/dim]")
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.7"
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.7")
2890
+ print("U Think I Make v1.44.9")
2891
2891
  raise typer.Exit()
2892
2892
 
2893
2893
  @app.callback(invoke_without_command=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utim-cli
3
- Version: 1.44.7
3
+ Version: 1.44.9
4
4
  Summary: UTIM – Universal Terminal Intelligence Manager. A powerful agentic AI coding assistant for your terminal.
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://utim.dev
@@ -1,4 +0,0 @@
1
- """UTIM Production Server package."""
2
- from .router import app
3
-
4
- __all__ = ["app"]
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