utim-cli 1.45.9__tar.gz → 1.46.0__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 (67) hide show
  1. {utim_cli-1.45.9/utim_cli.egg-info → utim_cli-1.46.0}/PKG-INFO +1 -1
  2. {utim_cli-1.45.9 → utim_cli-1.46.0}/pyproject.toml +1 -1
  3. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/auth.py +27 -15
  4. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/utim.py +3 -3
  5. {utim_cli-1.45.9 → utim_cli-1.46.0/utim_cli.egg-info}/PKG-INFO +1 -1
  6. {utim_cli-1.45.9 → utim_cli-1.46.0}/CHANGELOG.md +0 -0
  7. {utim_cli-1.45.9 → utim_cli-1.46.0}/LICENSE +0 -0
  8. {utim_cli-1.45.9 → utim_cli-1.46.0}/MANIFEST.in +0 -0
  9. {utim_cli-1.45.9 → utim_cli-1.46.0}/README.md +0 -0
  10. {utim_cli-1.45.9 → utim_cli-1.46.0}/setup.cfg +0 -0
  11. {utim_cli-1.45.9 → utim_cli-1.46.0}/setup.py +0 -0
  12. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/__init__.py +0 -0
  13. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/agent.py +0 -0
  14. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/backup.py +0 -0
  15. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/blender_agent.py +0 -0
  16. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/bootstrap.py +0 -0
  17. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/client_utils.py +0 -0
  18. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/config.py +0 -0
  19. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/constants.py +0 -0
  20. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/context_pruner.py +0 -0
  21. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/doctor.py +0 -0
  22. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/knowledge_graph.py +0 -0
  23. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/logger.py +0 -0
  24. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/mcp_clean_wrapper.py +0 -0
  25. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/mcp_client.py +0 -0
  26. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/mcp_registry.json +0 -0
  27. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/orchestrator.py +0 -0
  28. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/reflection.py +0 -0
  29. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/report.py +0 -0
  30. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/scrapy_search.py +0 -0
  31. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/__init__.py +0 -0
  32. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/auth.py +0 -0
  33. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/db.py +0 -0
  34. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/email_utils.py +0 -0
  35. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/firebase.py +0 -0
  36. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/history.py +0 -0
  37. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/logging_config.py +0 -0
  38. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/models.py +0 -0
  39. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/rate_limit.py +0 -0
  40. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/router.py +0 -0
  41. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/__init__.py +0 -0
  42. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/auth_routes.py +0 -0
  43. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/completion_routes.py +0 -0
  44. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/credit_routes.py +0 -0
  45. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/quota_routes.py +0 -0
  46. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/session_routes.py +0 -0
  47. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/routes/share_routes.py +0 -0
  48. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/server/server.py +0 -0
  49. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/share.py +0 -0
  50. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/share_tui.py +0 -0
  51. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/situational_scoring.py +0 -0
  52. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/state.py +0 -0
  53. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tools.py +0 -0
  54. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/__init__.py +0 -0
  55. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/history_dialog.py +0 -0
  56. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/mcp_dialog.py +0 -0
  57. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/model_dialog.py +0 -0
  58. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/resume_dialog.py +0 -0
  59. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/tools_dialog.py +0 -0
  60. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/tui/update_dialog.py +0 -0
  61. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/vector_memory.py +0 -0
  62. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli/workspace.py +0 -0
  63. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli.egg-info/SOURCES.txt +0 -0
  64. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli.egg-info/dependency_links.txt +0 -0
  65. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli.egg-info/entry_points.txt +0 -0
  66. {utim_cli-1.45.9 → utim_cli-1.46.0}/utim_cli.egg-info/requires.txt +0 -0
  67. {utim_cli-1.45.9 → utim_cli-1.46.0}/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.45.9
3
+ Version: 1.46.0
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.45.9"
7
+ version = "1.46.0"
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"
@@ -92,11 +92,19 @@ def login() -> None:
92
92
  """
93
93
  Sign in by prompting the user to copy their UTIM API key from the web dashboard.
94
94
  """
95
- console.print(f"\n [bold {PURPLE}]UTIM CLI Sign-In[/bold {PURPLE}]")
96
- console.print(" 1. Visit the UTIM Profile page in your browser:")
97
- console.print(f" [bold {BLUE}]{WEB_URL}/profile[/bold {BLUE}]")
98
- console.print(" 2. Copy your [bold white]UTIM API Key[/bold white].")
99
- console.print(" 3. Paste the key below to log in.\n")
95
+ # ANSI escape codes for formatting
96
+ PURPLE = "\033[1;35m"
97
+ BLUE = "\033[1;34m"
98
+ YELLOW = "\033[1;33m"
99
+ WHITE = "\033[1;37m"
100
+ RESET = "\033[0m"
101
+ DIM = "\033[2m"
102
+
103
+ print(f"\n {PURPLE}UTIM CLI Sign-In{RESET}")
104
+ print(" 1. Visit the UTIM Profile page in your browser:")
105
+ print(f" {BLUE}{WEB_URL}/profile{RESET}")
106
+ print(f" 2. Copy your {WHITE}UTIM API Key{RESET}.")
107
+ print(" 3. Paste the key below to log in.\n")
100
108
 
101
109
  import sys
102
110
  sys.stdout.flush()
@@ -107,14 +115,17 @@ def login() -> None:
107
115
  try:
108
116
  api_key = input(" Enter UTIM API Key (or press Enter to cancel): ").strip()
109
117
  except (EOFError, KeyboardInterrupt):
110
- console.print("\n [yellow]Cancelled.[/yellow]\n")
118
+ print("\n \033[1;33mCancelled.\033[0m\n")
119
+ sys.stdout.flush()
111
120
  return
112
121
 
113
122
  if not api_key:
114
- console.print("\n [yellow]Cancelled.[/yellow]\n")
123
+ print("\n \033[1;33mCancelled.\033[0m\n")
124
+ sys.stdout.flush()
115
125
  return
116
126
 
117
- console.print(f" [dim]Verifying with UTIM server…[/dim]")
127
+ print(f" {DIM}Verifying with UTIM server…{RESET}")
128
+ sys.stdout.flush()
118
129
  try:
119
130
  resp = requests.get(
120
131
  f"{SERVER_URL}/auth/me",
@@ -122,11 +133,13 @@ def login() -> None:
122
133
  timeout=15,
123
134
  )
124
135
  if resp.status_code != 200:
125
- console.print(f" [bold red]✗ Invalid API Key or server error (HTTP {resp.status_code}).[/bold red]\n")
136
+ print(f" \033[1;31m✗ Invalid API Key or server error (HTTP {resp.status_code}).\033[0m\n")
137
+ sys.stdout.flush()
126
138
  return
127
139
  payload = resp.json()
128
140
  except Exception as exc:
129
- console.print(f" [bold red]✗ Verification failed: {exc}[/bold red]\n")
141
+ print(f" \033[1;31m✗ Verification failed: {exc}\033[0m\n")
142
+ sys.stdout.flush()
130
143
  return
131
144
 
132
145
  # Persist credentials
@@ -136,11 +149,10 @@ def login() -> None:
136
149
  config.set("name", payload.get("display_name") or payload["email"].split("@")[0])
137
150
  config.set("api_key", api_key)
138
151
 
139
- console.print(
140
- f" [bold {YELLOW}]✓ Welcome back![/bold {YELLOW}]\n"
141
- f" [dim]Signed in as[/dim] [bold {BLUE}]{payload['email']}[/bold {BLUE}]\n"
142
- f" [dim]Credits:[/dim] [bold]{payload['credits']:,.0f} UTIM[/bold]\n"
143
- )
152
+ print(f" {YELLOW}✓ Welcome back!{RESET}\n")
153
+ print(f" Signed in as {BLUE}{payload['email']}{RESET}\n")
154
+ print(f" Credits: {payload['credits']:,.0f} UTIM\n")
155
+ sys.stdout.flush()
144
156
 
145
157
 
146
158
  # ── HTML templates ────────────────────────────────────────────────────────────
@@ -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.45.9[/dim]")
588
+ console.print(f"\n [bold white]U Think I Make[/bold white] [dim]v1.46.0[/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.45.9"
2694
+ current_ver = "1.46.0"
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.45.9")
2890
+ print("U Think I Make v1.46.0")
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.45.9
3
+ Version: 1.46.0
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
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