tunacode-cli 0.0.62__py3-none-any.whl → 0.0.64__py3-none-any.whl

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.

Potentially problematic release.


This version of tunacode-cli might be problematic. Click here for more details.

@@ -1,5 +1,6 @@
1
1
  """System-level commands for TunaCode CLI."""
2
2
 
3
+ import os
3
4
  import shutil
4
5
  import subprocess
5
6
  import sys
@@ -107,6 +108,26 @@ class UpdateCommand(SimpleCommand):
107
108
  except (subprocess.TimeoutExpired, subprocess.CalledProcessError):
108
109
  pass
109
110
 
111
+ # Check if installed via venv (from install script)
112
+ if not installation_method:
113
+ venv_dir = os.path.expanduser("~/.tunacode-venv")
114
+ venv_tunacode = os.path.join(venv_dir, "bin", "tunacode")
115
+ venv_python = os.path.join(venv_dir, "bin", "python")
116
+
117
+ if os.path.exists(venv_tunacode) and os.path.exists(venv_python):
118
+ try:
119
+ # Try python -m pip first (works with UV-created venvs)
120
+ result = subprocess.run(
121
+ [venv_python, "-m", "pip", "show", "tunacode-cli"],
122
+ capture_output=True,
123
+ text=True,
124
+ timeout=10,
125
+ )
126
+ if result.returncode == 0:
127
+ installation_method = "venv"
128
+ except (subprocess.TimeoutExpired, subprocess.CalledProcessError):
129
+ pass
130
+
110
131
  # Check if installed via pip
111
132
  if not installation_method:
112
133
  try:
@@ -138,6 +159,35 @@ class UpdateCommand(SimpleCommand):
138
159
  text=True,
139
160
  timeout=60,
140
161
  )
162
+ elif installation_method == "venv":
163
+ venv_dir = os.path.expanduser("~/.tunacode-venv")
164
+ venv_python = os.path.join(venv_dir, "bin", "python")
165
+
166
+ # Check if uv is available (same logic as install script)
167
+ if shutil.which("uv"):
168
+ await ui.info("Updating via UV in venv...")
169
+ result = subprocess.run(
170
+ [
171
+ "uv",
172
+ "pip",
173
+ "install",
174
+ "--python",
175
+ venv_python,
176
+ "--upgrade",
177
+ "tunacode-cli",
178
+ ],
179
+ capture_output=True,
180
+ text=True,
181
+ timeout=60,
182
+ )
183
+ else:
184
+ await ui.info("Updating via pip in venv...")
185
+ result = subprocess.run(
186
+ [venv_python, "-m", "pip", "install", "--upgrade", "tunacode-cli"],
187
+ capture_output=True,
188
+ text=True,
189
+ timeout=60,
190
+ )
141
191
  else: # pip
142
192
  await ui.info("Updating via pip...")
143
193
  result = subprocess.run(
@@ -9,7 +9,7 @@ from tunacode.constants import GUIDE_FILE_NAME, ToolName
9
9
  from tunacode.types import UserConfig
10
10
 
11
11
  DEFAULT_USER_CONFIG: UserConfig = {
12
- "default_model": "openai:gpt-4.1",
12
+ "default_model": "openrouter:openai/gpt-4.1",
13
13
  "env": {
14
14
  "ANTHROPIC_API_KEY": "",
15
15
  "GEMINI_API_KEY": "",
tunacode/constants.py CHANGED
@@ -9,7 +9,7 @@ from enum import Enum
9
9
 
10
10
  # Application info
11
11
  APP_NAME = "TunaCode"
12
- APP_VERSION = "0.0.62"
12
+ APP_VERSION = "0.0.64"
13
13
 
14
14
 
15
15
  # File patterns
@@ -12,6 +12,7 @@ CRITICAL BEHAVIOR RULES:
12
12
  3. Never describe what you'll do without doing it ALWAYS execute tools when discussing actions
13
13
  4. When a task is COMPLETE, start your response with: TUNACODE_TASK_COMPLETE
14
14
  5. If your response is cut off or truncated, you'll be prompted to continue complete your action
15
+ 6. YOU MUST NOT USE ANY EMOJIS, YOU WILL BE PUNISHED FOR EMOJI USE
15
16
 
16
17
  You MUST follow these rules:
17
18
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tunacode-cli
3
- Version: 0.0.62
3
+ Version: 0.0.64
4
4
  Summary: Your agentic CLI developer.
5
5
  Project-URL: Homepage, https://tunacode.xyz/
6
6
  Project-URL: Repository, https://github.com/alchemiststudiosDOTai/tunacode
@@ -1,5 +1,5 @@
1
1
  tunacode/__init__.py,sha256=yUul8igNYMfUrHnYfioIGAqvrH8b5BKiO_pt1wVnmd0,119
2
- tunacode/constants.py,sha256=zce_pMLW_z2asYsApRLRxyXruqKhFrrYIbYXQPm-cIw,6100
2
+ tunacode/constants.py,sha256=ZswgmnVTy2xIvgk8bl_MbQKeO2ycsF6J8-skeAg6IaE,6100
3
3
  tunacode/context.py,sha256=YtfRjUiqsSkk2k9Nn_pjb_m-AXyh6XcOBOJWtFI0wVw,2405
4
4
  tunacode/exceptions.py,sha256=oDO1SVKOgjcKIylwqdbqh_g5my4roU5mB9Nv4n_Vb0s,3877
5
5
  tunacode/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -18,7 +18,7 @@ tunacode/cli/commands/implementations/debug.py,sha256=ornvceGF4GbJd2OJXnnT9i9KpH
18
18
  tunacode/cli/commands/implementations/development.py,sha256=I8jHgYY3VgjTU8its0D0ysruuVqKbNTBur0JjPIUIZA,2844
19
19
  tunacode/cli/commands/implementations/model.py,sha256=uthx6IX9KwgwywNTDklkJpqCbaTX9h1_p-eVmqL73WQ,2245
20
20
  tunacode/cli/commands/implementations/plan.py,sha256=iZtvdGPqvGqMr8_lYil8_8NOL1iyc54Bxtb0gb9VOnw,1825
21
- tunacode/cli/commands/implementations/system.py,sha256=2cGw5iCJO3aNhXTFF28CgAIyLgslvHmpfyL2ZHVB6oQ,7903
21
+ tunacode/cli/commands/implementations/system.py,sha256=5Ig_7ws0egTH2ckIbEezQHgsyDyAQz2fOqdPqCmbpSE,10085
22
22
  tunacode/cli/commands/implementations/template.py,sha256=YeFOjbKKfPswPCHPvlDUwXvg6J0MesyAyVsujiIgPbU,5482
23
23
  tunacode/cli/commands/implementations/todo.py,sha256=Dtz5bgcuK2VXGPWEBBZQgnWUMYkRXNzTGf_qkVPLF2U,8125
24
24
  tunacode/cli/repl_components/__init__.py,sha256=5ZjPJ3yUvZ5x6Vg9EYJ03-tdxfEEdmfradCmwSlVY3E,334
@@ -27,7 +27,7 @@ tunacode/cli/repl_components/error_recovery.py,sha256=59DCv8PkWg3ZOjaNPkWmYw0u68
27
27
  tunacode/cli/repl_components/output_display.py,sha256=uzse2bhxSyCWnJD0Ni5lwnp0BmYDAr1tZbnlj3-x6ro,1484
28
28
  tunacode/cli/repl_components/tool_executor.py,sha256=i6KB_qXaFlbdv90_3xj3TwL6alFd_JAbSS0Cdln9zfU,3767
29
29
  tunacode/configuration/__init__.py,sha256=MbVXy8bGu0yKehzgdgZ_mfWlYGvIdb1dY2Ly75nfuPE,17
30
- tunacode/configuration/defaults.py,sha256=Kd0uBNrURdhDad_HsLeOz3MJu1o6atLJ3vjaESQqgnw,1269
30
+ tunacode/configuration/defaults.py,sha256=YRatto3D7G-InubBG8EPST7xq7vyXu4IR0ipY9Q9N9s,1280
31
31
  tunacode/configuration/models.py,sha256=buH8ZquvcYI3OQBDIZeJ08cu00rSCeNABtUwl3VQS0E,4103
32
32
  tunacode/configuration/settings.py,sha256=9wtIWBlLhW_ZBlLx-GA4XDfVZyGj2Gs6Zk49vk-nHq0,1047
33
33
  tunacode/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -68,7 +68,7 @@ tunacode/core/setup/template_setup.py,sha256=0lDGhNVCvGN7ykqHnl3pj4CONH3I2PvMzkm
68
68
  tunacode/core/token_usage/api_response_parser.py,sha256=plLltHg4zGVzxjv3MFj45bbd-NOJeT_v3P0Ki4zlvn4,1831
69
69
  tunacode/core/token_usage/cost_calculator.py,sha256=RjO-O0JENBuGOrWP7QgBZlZxeXC-PAIr8tj_9p_BxOU,2058
70
70
  tunacode/core/token_usage/usage_tracker.py,sha256=YUCnF-712nLrbtEvFrsC-VZuYjKUCz3hf-_do6GKSDA,6016
71
- tunacode/prompts/system.md,sha256=c7bqedMkHpRf85djDKHwb55mkFjqVm8V6zAA8z1btLY,10721
71
+ tunacode/prompts/system.md,sha256=DosWJgUDkE33mSQoLNz_R5S2CZ_s06yZ5O0lpC1pZtY,10788
72
72
  tunacode/prompts/system.md.bak,sha256=q0gbk_-pvQlNtZBonRo4gNILkKStqNxgDN0ZEwzC3E4,17541
73
73
  tunacode/services/__init__.py,sha256=w_E8QK6RnvKSvU866eDe8BCRV26rAm4d3R-Yg06OWCU,19
74
74
  tunacode/services/mcp.py,sha256=quO13skECUGt-4QE2NkWk6_8qhmZ5qjgibvw8tUOt-4,3761
@@ -134,8 +134,8 @@ tunacode/utils/system.py,sha256=J8KqJ4ZqQrNSnM5rrJxPeMk9z2xQQp6dWtI1SKBY1-0,1112
134
134
  tunacode/utils/text_utils.py,sha256=HAwlT4QMy41hr53cDbbNeNo05MI461TpI9b_xdIv8EY,7288
135
135
  tunacode/utils/token_counter.py,sha256=dmFuqVz4ywGFdLfAi5Mg9bAGf8v87Ek-mHU-R3fsYjI,2711
136
136
  tunacode/utils/user_configuration.py,sha256=Ilz8dpGVJDBE2iLWHAPT0xR8D51VRKV3kIbsAz8Bboc,3275
137
- tunacode_cli-0.0.62.dist-info/METADATA,sha256=MCI86Ltf9huWO0lJi9Er_3TG41tzu_-da4Uk-0lUQQs,10930
138
- tunacode_cli-0.0.62.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
- tunacode_cli-0.0.62.dist-info/entry_points.txt,sha256=hbkytikj4dGu6rizPuAd_DGUPBGF191RTnhr9wdhORY,51
140
- tunacode_cli-0.0.62.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
141
- tunacode_cli-0.0.62.dist-info/RECORD,,
137
+ tunacode_cli-0.0.64.dist-info/METADATA,sha256=Qh7-DTPFkOqpaPQqaSBCE3wj1QPkHf9a2_v-vDhvhiI,10930
138
+ tunacode_cli-0.0.64.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
+ tunacode_cli-0.0.64.dist-info/entry_points.txt,sha256=hbkytikj4dGu6rizPuAd_DGUPBGF191RTnhr9wdhORY,51
140
+ tunacode_cli-0.0.64.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
141
+ tunacode_cli-0.0.64.dist-info/RECORD,,