tunacode-cli 0.0.23__py3-none-any.whl → 0.0.24__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.
- tunacode/cli/main.py +4 -0
- tunacode/cli/repl.py +9 -2
- tunacode/constants.py +1 -1
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/METADATA +20 -1
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/RECORD +9 -9
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/WHEEL +0 -0
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/entry_points.txt +0 -0
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/licenses/LICENSE +0 -0
- {tunacode_cli-0.0.23.dist-info → tunacode_cli-0.0.24.dist-info}/top_level.txt +0 -0
tunacode/cli/main.py
CHANGED
|
@@ -14,6 +14,7 @@ from tunacode.core.state import StateManager
|
|
|
14
14
|
from tunacode.setup import setup
|
|
15
15
|
from tunacode.ui import console as ui
|
|
16
16
|
from tunacode.utils.system import check_for_updates
|
|
17
|
+
from tunacode.exceptions import UserAbortError
|
|
17
18
|
|
|
18
19
|
app_settings = ApplicationSettings()
|
|
19
20
|
app = typer.Typer(help="🐟 TunaCode - Your AI-powered development assistant")
|
|
@@ -49,6 +50,9 @@ def main(
|
|
|
49
50
|
try:
|
|
50
51
|
await setup(run_setup, state_manager, cli_config)
|
|
51
52
|
await repl(state_manager)
|
|
53
|
+
except (KeyboardInterrupt, UserAbortError):
|
|
54
|
+
update_task.cancel()
|
|
55
|
+
return
|
|
52
56
|
except Exception as e:
|
|
53
57
|
from tunacode.exceptions import ConfigurationError
|
|
54
58
|
|
tunacode/cli/repl.py
CHANGED
|
@@ -282,6 +282,7 @@ async def process_request(text: str, state_manager: StateManager, output: bool =
|
|
|
282
282
|
|
|
283
283
|
async def repl(state_manager: StateManager):
|
|
284
284
|
action = None
|
|
285
|
+
ctrl_c_pressed = False
|
|
285
286
|
|
|
286
287
|
# Professional startup information
|
|
287
288
|
await ui.muted(f"• Model: {state_manager.session.current_model}")
|
|
@@ -294,12 +295,18 @@ async def repl(state_manager: StateManager):
|
|
|
294
295
|
while True:
|
|
295
296
|
try:
|
|
296
297
|
line = await ui.multiline_input(state_manager, _command_registry)
|
|
297
|
-
except
|
|
298
|
-
|
|
298
|
+
except UserAbortError:
|
|
299
|
+
if ctrl_c_pressed:
|
|
300
|
+
break
|
|
301
|
+
ctrl_c_pressed = True
|
|
302
|
+
await ui.warning("Hit Ctrl+C again to exit")
|
|
303
|
+
continue
|
|
299
304
|
|
|
300
305
|
if not line:
|
|
301
306
|
continue
|
|
302
307
|
|
|
308
|
+
ctrl_c_pressed = False
|
|
309
|
+
|
|
303
310
|
if line.lower() in ["exit", "quit"]:
|
|
304
311
|
break
|
|
305
312
|
|
tunacode/constants.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tunacode-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.24
|
|
4
4
|
Summary: Your agentic CLI developer.
|
|
5
5
|
Author-email: larock22 <noreply@github.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -30,6 +30,7 @@ Requires-Dist: black; extra == "dev"
|
|
|
30
30
|
Requires-Dist: flake8; extra == "dev"
|
|
31
31
|
Requires-Dist: isort; extra == "dev"
|
|
32
32
|
Requires-Dist: pytest; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
33
34
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
34
35
|
Requires-Dist: textual-dev; extra == "dev"
|
|
35
36
|
Dynamic: license-file
|
|
@@ -131,6 +132,24 @@ Dynamic: license-file
|
|
|
131
132
|
pip install tunacode-cli
|
|
132
133
|
```
|
|
133
134
|
|
|
135
|
+
#### Development Installation
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Clone the repository
|
|
139
|
+
git clone https://github.com/larock22/tunacode.git
|
|
140
|
+
cd tunacode
|
|
141
|
+
|
|
142
|
+
# Run the setup script
|
|
143
|
+
./scripts/setup_dev_env.sh
|
|
144
|
+
|
|
145
|
+
# Or manually:
|
|
146
|
+
python3 -m venv venv
|
|
147
|
+
source venv/bin/activate
|
|
148
|
+
pip install -e ".[dev]"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed development setup.
|
|
152
|
+
|
|
134
153
|
#### One-line Install (Linux/macOS)
|
|
135
154
|
|
|
136
155
|
```bash
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
tunacode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
tunacode/constants.py,sha256=
|
|
2
|
+
tunacode/constants.py,sha256=UXLTZopdI4tNlRFmB5uApx45cRqJ61gZVCLaOlw80TI,3799
|
|
3
3
|
tunacode/context.py,sha256=6sterdRvPOyG3LU0nEAXpBsEPZbO3qtPyTlJBi-_VXE,2612
|
|
4
4
|
tunacode/exceptions.py,sha256=_Dyj6cC0868dMABekdQHXCg5XhucJumbGUMXaSDzgB4,2645
|
|
5
5
|
tunacode/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -7,8 +7,8 @@ tunacode/setup.py,sha256=dYn0NeAxtNIDSogWEmGSyjb9wsr8AonZ8vAo5sw9NIw,1909
|
|
|
7
7
|
tunacode/types.py,sha256=wH0nqGTJ_yllLzbhTJpiYjy30LDAmSqfWgzuOUZ0ZHM,7150
|
|
8
8
|
tunacode/cli/__init__.py,sha256=zgs0UbAck8hfvhYsWhWOfBe5oK09ug2De1r4RuQZREA,55
|
|
9
9
|
tunacode/cli/commands.py,sha256=VblfttlJsl66pZWy-r3m7grEtHle55jo2wcXI38Anuw,30798
|
|
10
|
-
tunacode/cli/main.py,sha256=
|
|
11
|
-
tunacode/cli/repl.py,sha256=
|
|
10
|
+
tunacode/cli/main.py,sha256=jQ58azaubmqQQHEogeoquVEL-98d_7HaU1_2FcTlOCw,2406
|
|
11
|
+
tunacode/cli/repl.py,sha256=sXtRHYameAlMjlee82ix8P2JjRyWLrdFfHwxfaMKPb8,13722
|
|
12
12
|
tunacode/cli/textual_app.py,sha256=14-Nt0IIETmyHBrNn9uwSF3EwCcutwTp6gdoKgNm0sY,12593
|
|
13
13
|
tunacode/cli/textual_bridge.py,sha256=CTuf5Yjg5occQa7whyopS_erbJdS2UpWqaX_TVJ2D2A,6140
|
|
14
14
|
tunacode/configuration/__init__.py,sha256=MbVXy8bGu0yKehzgdgZ_mfWlYGvIdb1dY2Ly75nfuPE,17
|
|
@@ -68,9 +68,9 @@ tunacode/utils/ripgrep.py,sha256=AXUs2FFt0A7KBV996deS8wreIlUzKOlAHJmwrcAr4No,583
|
|
|
68
68
|
tunacode/utils/system.py,sha256=FSoibTIH0eybs4oNzbYyufIiV6gb77QaeY2yGqW39AY,11381
|
|
69
69
|
tunacode/utils/text_utils.py,sha256=B9M1cuLTm_SSsr15WNHF6j7WdLWPvWzKZV0Lvfgdbjg,2458
|
|
70
70
|
tunacode/utils/user_configuration.py,sha256=IGvUH37wWtZ4M5xpukZEWYhtuKKyKcl6DaeObGXdleU,2610
|
|
71
|
-
tunacode_cli-0.0.
|
|
72
|
-
tunacode_cli-0.0.
|
|
73
|
-
tunacode_cli-0.0.
|
|
74
|
-
tunacode_cli-0.0.
|
|
75
|
-
tunacode_cli-0.0.
|
|
76
|
-
tunacode_cli-0.0.
|
|
71
|
+
tunacode_cli-0.0.24.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
|
|
72
|
+
tunacode_cli-0.0.24.dist-info/METADATA,sha256=UGjot1qmeyYwcRbVHqsruMwLOP0YrbgTsW-flg2Yde4,18937
|
|
73
|
+
tunacode_cli-0.0.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
74
|
+
tunacode_cli-0.0.24.dist-info/entry_points.txt,sha256=hbkytikj4dGu6rizPuAd_DGUPBGF191RTnhr9wdhORY,51
|
|
75
|
+
tunacode_cli-0.0.24.dist-info/top_level.txt,sha256=lKy2P6BWNi5XSA4DHFvyjQ14V26lDZctwdmhEJrxQbU,9
|
|
76
|
+
tunacode_cli-0.0.24.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|