utim-cli 2.2.0__tar.gz → 2.2.1__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 (125) hide show
  1. {utim_cli-2.2.0 → utim_cli-2.2.1}/CHANGELOG.md +9 -0
  2. {utim_cli-2.2.0/utim_cli.egg-info → utim_cli-2.2.1}/PKG-INFO +1 -2
  3. {utim_cli-2.2.0 → utim_cli-2.2.1}/pyproject.toml +1 -2
  4. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/__init__.py +1 -1
  5. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_version.py +1 -1
  6. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/brain.py +1 -1
  7. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/reflection.py +1 -1
  8. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/utim.py +2 -2
  9. {utim_cli-2.2.0 → utim_cli-2.2.1/utim_cli.egg-info}/PKG-INFO +1 -2
  10. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli.egg-info/requires.txt +0 -1
  11. {utim_cli-2.2.0 → utim_cli-2.2.1}/LICENSE +0 -0
  12. {utim_cli-2.2.0 → utim_cli-2.2.1}/MANIFEST.in +0 -0
  13. {utim_cli-2.2.0 → utim_cli-2.2.1}/README.md +0 -0
  14. {utim_cli-2.2.0 → utim_cli-2.2.1}/setup.cfg +0 -0
  15. {utim_cli-2.2.0 → utim_cli-2.2.1}/setup.py +0 -0
  16. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_check_obj.py +0 -0
  17. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_find_mcp.py +0 -0
  18. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_find_plan.py +0 -0
  19. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_find_tool.py +0 -0
  20. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_patch_multimodal.py +0 -0
  21. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/_test_regex.py +0 -0
  22. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/agent.py +0 -0
  23. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/auth.py +0 -0
  24. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/backup.py +0 -0
  25. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/billing.py +0 -0
  26. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/blender_agent.py +0 -0
  27. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/bootstrap.py +0 -0
  28. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/client_utils.py +0 -0
  29. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/config.py +0 -0
  30. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/constants.py +0 -0
  31. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/context_pruner.py +0 -0
  32. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/doctor.py +0 -0
  33. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/harbor.py +0 -0
  34. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/knowledge_graph.py +0 -0
  35. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/local_db.py +0 -0
  36. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/logger.py +0 -0
  37. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/mcp_clean_wrapper.py +0 -0
  38. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/mcp_client.py +0 -0
  39. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/mcp_registry.json +0 -0
  40. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/orchestrator.py +0 -0
  41. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/report.py +0 -0
  42. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/scrapy_search.py +0 -0
  43. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/__init__.py +0 -0
  44. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/attribution.py +0 -0
  45. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/audit_log.py +0 -0
  46. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/auth.py +0 -0
  47. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/batch_processor.py +0 -0
  48. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/captcha.py +0 -0
  49. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/cli_auth.py +0 -0
  50. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/db.py +0 -0
  51. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/SECRET_PROVISIONING.md +0 -0
  52. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/about.md +0 -0
  53. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/changelog.md +0 -0
  54. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/docs.md +0 -0
  55. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/features.md +0 -0
  56. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/license.md +0 -0
  57. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/pricing.md +0 -0
  58. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/privacy.md +0 -0
  59. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/refund.md +0 -0
  60. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/support.md +0 -0
  61. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/docs_md/terms.md +0 -0
  62. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/email_utils.py +0 -0
  63. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/exchange_rate.py +0 -0
  64. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/firebase.py +0 -0
  65. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/fix_duplicate_users.py +0 -0
  66. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/history.py +0 -0
  67. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/local_llm.py +0 -0
  68. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/logging_config.py +0 -0
  69. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/micro_batcher.py +0 -0
  70. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/model_agent.py +0 -0
  71. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/models.py +0 -0
  72. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/pricing_updater.py +0 -0
  73. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/provision_build.py +0 -0
  74. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/rate_limit.py +0 -0
  75. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/rewards_engine.py +0 -0
  76. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/router.py +0 -0
  77. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/__init__.py +0 -0
  78. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/auth_routes.py +0 -0
  79. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/completion_routes.py +0 -0
  80. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/credit_routes.py +0 -0
  81. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/feedback_routes.py +0 -0
  82. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/marketplace_routes.py +0 -0
  83. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/quota_routes.py +0 -0
  84. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/quota_share_routes.py +0 -0
  85. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/referral_routes.py +0 -0
  86. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/rewards_routes.py +0 -0
  87. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/security_routes.py +0 -0
  88. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/session_routes.py +0 -0
  89. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/routes/share_routes.py +0 -0
  90. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/server.py +0 -0
  91. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/server/storage_nodes.py +0 -0
  92. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/share.py +0 -0
  93. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/share_tui.py +0 -0
  94. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/situational_scoring.py +0 -0
  95. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/state.py +0 -0
  96. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/subagent_manager.py +0 -0
  97. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tools.py +0 -0
  98. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/__init__.py +0 -0
  99. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/feedback_dialog.py +0 -0
  100. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/history_dialog.py +0 -0
  101. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/marketplace_app_state.py +0 -0
  102. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/marketplace_dialog.py +0 -0
  103. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/marketplace_layout_engine.py +0 -0
  104. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/mcp_dialog.py +0 -0
  105. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/miniagents_dialog.py +0 -0
  106. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/model_dialog.py +0 -0
  107. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/publish_dialog.py +0 -0
  108. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/quota_dialog.py +0 -0
  109. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/quota_redeem_dialog.py +0 -0
  110. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/quota_share_dialog.py +0 -0
  111. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/resume_dialog.py +0 -0
  112. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/rewards_tui.py +0 -0
  113. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/skills_dialog.py +0 -0
  114. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/subagents_dialog.py +0 -0
  115. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/thinking_display.py +0 -0
  116. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/tools_dialog.py +0 -0
  117. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/tui/update_dialog.py +0 -0
  118. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/utilities.py +0 -0
  119. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/vector_memory.py +0 -0
  120. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/wheel.py +0 -0
  121. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli/workspace.py +0 -0
  122. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli.egg-info/SOURCES.txt +0 -0
  123. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli.egg-info/dependency_links.txt +0 -0
  124. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli.egg-info/entry_points.txt +0 -0
  125. {utim_cli-2.2.0 → utim_cli-2.2.1}/utim_cli.egg-info/top_level.txt +0 -0
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.2.1] - 2026-08-13
4
+
5
+ ### 🛠️ Fixes & Minor Polish
6
+ - **TUI Input Divider Line**: Updated input area horizontal divider line to extend full width across the terminal screen (`shutil.get_terminal_size().columns`) with line-wrap protection.
7
+ - **Subagent Swarm Visualizer Mobile Responsiveness**: Added mobile responsive breakpoint styles (`.st-swarm-canvas`), card container bounds, text truncation, and flex badge anchors (`DISPATCHER`, `DONE`, etc.) to prevent layout overflow on mobile screens.
8
+ - **OS-Specific Requirements Architecture**: Added dedicated lightweight requirement files (`requirements_android.txt`, `requirements_windows.txt`, `requirements_desktop.txt`, `requirements_full.txt`) and updated installer scripts (`install.sh`, `setup_utim1.py`) to select pure-Python requirements for Android/Termux without PyPI binary wheel dependencies.
9
+ - **Reflection Pipeline Primary Model**: Updated reflection and experience extraction model fallback chain to use `openrouter/free` as the primary model (`REFLECTION_PRIMARY_MODEL`).
10
+ - **Correction Fast-Path Engine**: Removed keyword-matching gate on correction detection, delegating judgment directly to the reflection LLM for zero false negatives.
11
+
3
12
  ## [2.2.0] - 2026-08-13
4
13
 
5
14
  ### 🛠️ Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utim-cli
3
- Version: 2.2.0
3
+ Version: 2.2.1
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
@@ -31,7 +31,6 @@ Requires-Dist: rich>=13.0.0
31
31
  Requires-Dist: prompt_toolkit>=3.0.0
32
32
  Requires-Dist: nest-asyncio>=1.5.0
33
33
  Requires-Dist: sqlalchemy>=2.0.0
34
- Requires-Dist: ripgrep>=0.13.0
35
34
  Provides-Extra: search
36
35
  Requires-Dist: scrapy>=2.11.0; extra == "search"
37
36
  Requires-Dist: scrapy-playwright>=0.0.34; extra == "search"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "utim-cli"
7
- version = "2.2.0"
7
+ version = "2.2.1"
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"
@@ -33,7 +33,6 @@ dependencies = [
33
33
  "prompt_toolkit>=3.0.0",
34
34
  "nest-asyncio>=1.5.0",
35
35
  "sqlalchemy>=2.0.0",
36
- "ripgrep>=0.13.0",
37
36
  ]
38
37
 
39
38
  [project.urls]
@@ -5,7 +5,7 @@ try:
5
5
  from utim_cli._version import VERSION as __version__
6
6
  except ImportError:
7
7
  # Fallback during first-install / editable-install edge cases
8
- __version__ = "2.2.0"
8
+ __version__ = "2.2.1"
9
9
 
10
10
  import builtins, os, pathlib, urllib.parse, re
11
11
 
@@ -11,4 +11,4 @@
11
11
  # from here so every surface stays in sync automatically.
12
12
  # ─────────────────────────────────────────────────────────────────────────────
13
13
 
14
- VERSION = "2.2.0"
14
+ VERSION = "2.2.1"
@@ -87,7 +87,7 @@ QWEN_BRAIN_MODEL = "qwen/qwen2.5-1.5b-instruct" # fast reasoning model on
87
87
  try:
88
88
  from utim_cli.reflection import REFLECTION_MODELS
89
89
  except Exception:
90
- REFLECTION_MODELS = [QWEN_BRAIN_MODEL, "openrouter/free"]
90
+ REFLECTION_MODELS = ["openrouter/free", QWEN_BRAIN_MODEL]
91
91
 
92
92
  # ── Paths ──────────────────────────────────────────────────────────────────────
93
93
 
@@ -12,9 +12,9 @@ from utim_cli.constants import DEFAULT_MODEL
12
12
  # These are free-tier models optimized for structured JSON output tasks.
13
13
  # Primary is tried first; fallbacks are used on rate-limit or error.
14
14
  REFLECTION_MODELS = [
15
+ "openrouter/free",
15
16
  "qwen/qwen2.5-1.5b-instruct",
16
17
  "cohere/north-mini-code:free",
17
- "openrouter/free",
18
18
  "inclusionai/ling-3.0-flash:free",
19
19
  ]
20
20
 
@@ -1192,7 +1192,7 @@ def _print_animated_banner(animated: bool = True):
1192
1192
  else:
1193
1193
  console.print(f"[bold {color}]{BANNER_BIG}[/bold {color}]")
1194
1194
 
1195
- console.print(f" [bold white]U Think I Make[/bold white] [bold #cba6f7]v2.2.0[/bold #cba6f7]")
1195
+ console.print(f" [bold white]U Think I Make[/bold white] [bold #cba6f7]v2.2.1[/bold #cba6f7]")
1196
1196
  user_email = config.email
1197
1197
  is_logged_in = bool(config.token and user_email and user_email.upper() != "GUEST")
1198
1198
  user_type = "Guest Mode" if not is_logged_in else "UTIM Community"
@@ -4883,7 +4883,7 @@ def check_and_update_background():
4883
4883
  return
4884
4884
 
4885
4885
  latest_ver = resp.json().get("version", "")
4886
- current_ver = "2.2.0"
4886
+ current_ver = "2.2.1"
4887
4887
 
4888
4888
  def parse_ver(v):
4889
4889
  return [int(x) for x in v.split(".") if x.isdigit()]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utim-cli
3
- Version: 2.2.0
3
+ Version: 2.2.1
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
@@ -31,7 +31,6 @@ Requires-Dist: rich>=13.0.0
31
31
  Requires-Dist: prompt_toolkit>=3.0.0
32
32
  Requires-Dist: nest-asyncio>=1.5.0
33
33
  Requires-Dist: sqlalchemy>=2.0.0
34
- Requires-Dist: ripgrep>=0.13.0
35
34
  Provides-Extra: search
36
35
  Requires-Dist: scrapy>=2.11.0; extra == "search"
37
36
  Requires-Dist: scrapy-playwright>=0.0.34; extra == "search"
@@ -9,7 +9,6 @@ rich>=13.0.0
9
9
  prompt_toolkit>=3.0.0
10
10
  nest-asyncio>=1.5.0
11
11
  sqlalchemy>=2.0.0
12
- ripgrep>=0.13.0
13
12
 
14
13
  [full]
15
14
  scrapy>=2.11.0
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