code-puppy 0.0.326__py3-none-any.whl → 0.0.327__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.
- code_puppy/command_line/config_commands.py +24 -1
- {code_puppy-0.0.326.dist-info → code_puppy-0.0.327.dist-info}/METADATA +30 -1
- {code_puppy-0.0.326.dist-info → code_puppy-0.0.327.dist-info}/RECORD +8 -8
- {code_puppy-0.0.326.data → code_puppy-0.0.327.data}/data/code_puppy/models.json +0 -0
- {code_puppy-0.0.326.data → code_puppy-0.0.327.data}/data/code_puppy/models_dev_api.json +0 -0
- {code_puppy-0.0.326.dist-info → code_puppy-0.0.327.dist-info}/WHEEL +0 -0
- {code_puppy-0.0.326.dist-info → code_puppy-0.0.327.dist-info}/entry_points.txt +0 -0
- {code_puppy-0.0.326.dist-info → code_puppy-0.0.327.dist-info}/licenses/LICENSE +0 -0
|
@@ -46,6 +46,7 @@ def handle_show_command(command: str) -> bool:
|
|
|
46
46
|
get_use_dbos,
|
|
47
47
|
get_yolo_mode,
|
|
48
48
|
)
|
|
49
|
+
from code_puppy.keymap import get_cancel_agent_key, get_cancel_agent_display_name
|
|
49
50
|
from code_puppy.messaging import emit_info
|
|
50
51
|
|
|
51
52
|
puppy_name = get_puppy_name()
|
|
@@ -79,6 +80,7 @@ def handle_show_command(command: str) -> bool:
|
|
|
79
80
|
[bold]reasoning_effort:[/bold] [cyan]{get_openai_reasoning_effort()}[/cyan]
|
|
80
81
|
[bold]verbosity:[/bold] [cyan]{get_openai_verbosity()}[/cyan]
|
|
81
82
|
[bold]temperature:[/bold] [cyan]{effective_temperature if effective_temperature is not None else "(model default)"}[/cyan]{" (per-model)" if effective_temperature != global_temperature and effective_temperature is not None else ""}
|
|
83
|
+
[bold]cancel_agent_key:[/bold] [cyan]{get_cancel_agent_display_name()}[/cyan] (options: ctrl+c, ctrl+k, ctrl+q)
|
|
82
84
|
|
|
83
85
|
"""
|
|
84
86
|
emit_info(Text.from_markup(status_msg))
|
|
@@ -200,9 +202,13 @@ def handle_set_command(command: str) -> bool:
|
|
|
200
202
|
"\n[yellow]Session Management[/yellow]"
|
|
201
203
|
"\n [cyan]auto_save_session[/cyan] Auto-save chat after every response (true/false)"
|
|
202
204
|
)
|
|
205
|
+
keymap_help = (
|
|
206
|
+
"\n[yellow]Keyboard Shortcuts[/yellow]"
|
|
207
|
+
"\n [cyan]cancel_agent_key[/cyan] Key to cancel agent tasks (ctrl+c, ctrl+k, or ctrl+q)"
|
|
208
|
+
)
|
|
203
209
|
emit_warning(
|
|
204
210
|
Text.from_markup(
|
|
205
|
-
f"Usage: /set KEY=VALUE or /set KEY VALUE\nConfig keys: {', '.join(config_keys)}\n[dim]Note: compaction_strategy can be 'summarization' or 'truncation'[/dim]{session_help}"
|
|
211
|
+
f"Usage: /set KEY=VALUE or /set KEY VALUE\nConfig keys: {', '.join(config_keys)}\n[dim]Note: compaction_strategy can be 'summarization' or 'truncation'[/dim]{session_help}{keymap_help}"
|
|
206
212
|
)
|
|
207
213
|
)
|
|
208
214
|
return True
|
|
@@ -215,6 +221,23 @@ def handle_set_command(command: str) -> bool:
|
|
|
215
221
|
)
|
|
216
222
|
)
|
|
217
223
|
|
|
224
|
+
# Validate cancel_agent_key before setting
|
|
225
|
+
if key == "cancel_agent_key":
|
|
226
|
+
from code_puppy.keymap import VALID_CANCEL_KEYS
|
|
227
|
+
|
|
228
|
+
normalized_value = value.strip().lower()
|
|
229
|
+
if normalized_value not in VALID_CANCEL_KEYS:
|
|
230
|
+
emit_error(
|
|
231
|
+
f"Invalid cancel_agent_key '{value}'. Valid options: {', '.join(sorted(VALID_CANCEL_KEYS))}"
|
|
232
|
+
)
|
|
233
|
+
return True
|
|
234
|
+
value = normalized_value # Use normalized value
|
|
235
|
+
emit_info(
|
|
236
|
+
Text.from_markup(
|
|
237
|
+
"[yellow]⚠️ cancel_agent_key changed. Please restart Code Puppy for this change to take effect.[/yellow]"
|
|
238
|
+
)
|
|
239
|
+
)
|
|
240
|
+
|
|
218
241
|
set_config_value(key, value)
|
|
219
242
|
emit_success(f'Set {key} = "{value}" in puppy.cfg!')
|
|
220
243
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-puppy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.327
|
|
4
4
|
Summary: Code generation agent
|
|
5
5
|
Project-URL: repository, https://github.com/mpfaffenberger/code_puppy
|
|
6
6
|
Project-URL: HomePage, https://github.com/mpfaffenberger/code_puppy
|
|
@@ -100,6 +100,8 @@ uvx code-puppy -i
|
|
|
100
100
|
|
|
101
101
|
### UV (Recommended)
|
|
102
102
|
|
|
103
|
+
#### macOS / Linux
|
|
104
|
+
|
|
103
105
|
```bash
|
|
104
106
|
# Install UV if you don't have it
|
|
105
107
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
@@ -112,6 +114,33 @@ source ~/.zshrc # or ~/.bashrc
|
|
|
112
114
|
uvx code-puppy -i
|
|
113
115
|
```
|
|
114
116
|
|
|
117
|
+
#### Windows
|
|
118
|
+
|
|
119
|
+
On Windows, we recommend installing code-puppy as a global tool for the best experience with keyboard shortcuts (Ctrl+C/Ctrl+X cancellation):
|
|
120
|
+
|
|
121
|
+
```powershell
|
|
122
|
+
# Install UV if you don't have it (run in PowerShell as Admin)
|
|
123
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
124
|
+
|
|
125
|
+
# Install code-puppy as a global tool
|
|
126
|
+
uv tool install code-puppy
|
|
127
|
+
|
|
128
|
+
# Run code-puppy
|
|
129
|
+
code-puppy -i
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Why `uv tool install` on Windows?** Running with `uvx` creates an extra process layer that can interfere with keyboard signal handling (Ctrl+C, Ctrl+X). Installing as a tool runs code-puppy directly for reliable cancellation.
|
|
133
|
+
|
|
134
|
+
#### Upgrading
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Upgrade code-puppy to the latest version
|
|
138
|
+
uv tool upgrade code-puppy
|
|
139
|
+
|
|
140
|
+
# Or upgrade all installed tools
|
|
141
|
+
uv tool upgrade --all
|
|
142
|
+
```
|
|
143
|
+
|
|
115
144
|
UV will automatically download the latest compatible Python version (3.11+) if your system doesn't have one.
|
|
116
145
|
|
|
117
146
|
### pip (Alternative)
|
|
@@ -49,7 +49,7 @@ code_puppy/command_line/autosave_menu.py,sha256=7w2SXfEfR-SGFZcHxM-QZfT0p42KxJjX
|
|
|
49
49
|
code_puppy/command_line/colors_menu.py,sha256=F_OYuApwXWGP2w9o0CMEbIHtqwdKUh5eDhi7qtDP9h0,17144
|
|
50
50
|
code_puppy/command_line/command_handler.py,sha256=CY9F27eovZJK_kpU1YmbroYLWGTCuouCOQ-TXfDp-nw,10916
|
|
51
51
|
code_puppy/command_line/command_registry.py,sha256=qFySsw1g8dol3kgi0p6cXrIDlP11_OhOoaQ5nAadWXg,4416
|
|
52
|
-
code_puppy/command_line/config_commands.py,sha256=
|
|
52
|
+
code_puppy/command_line/config_commands.py,sha256=5RG8oBaG52vBbZ2Nd5BnHszh_uwPit23AYmEckJRyTc,25764
|
|
53
53
|
code_puppy/command_line/core_commands.py,sha256=qxIZ5tCAPkNDfDYjcG86h0tsi7RUQ4ueQ5C2BZ2H214,24809
|
|
54
54
|
code_puppy/command_line/diff_menu.py,sha256=6qolM8ECpXTAo2q0Yvqw8Oohsj3MLPxQI8PJvYuKGS4,24014
|
|
55
55
|
code_puppy/command_line/file_path_completion.py,sha256=gw8NpIxa6GOpczUJRyh7VNZwoXKKn-yvCqit7h2y6Gg,2931
|
|
@@ -159,10 +159,10 @@ code_puppy/tools/browser/browser_scripts.py,sha256=sNb8eLEyzhasy5hV4B9OjM8yIVMLV
|
|
|
159
159
|
code_puppy/tools/browser/browser_workflows.py,sha256=nitW42vCf0ieTX1gLabozTugNQ8phtoFzZbiAhw1V90,6491
|
|
160
160
|
code_puppy/tools/browser/camoufox_manager.py,sha256=RZjGOEftE5sI_tsercUyXFSZI2wpStXf-q0PdYh2G3I,8680
|
|
161
161
|
code_puppy/tools/browser/vqa_agent.py,sha256=DBn9HKloILqJSTSdNZzH_PYWT0B2h9VwmY6akFQI_uU,2913
|
|
162
|
-
code_puppy-0.0.
|
|
163
|
-
code_puppy-0.0.
|
|
164
|
-
code_puppy-0.0.
|
|
165
|
-
code_puppy-0.0.
|
|
166
|
-
code_puppy-0.0.
|
|
167
|
-
code_puppy-0.0.
|
|
168
|
-
code_puppy-0.0.
|
|
162
|
+
code_puppy-0.0.327.data/data/code_puppy/models.json,sha256=IPABdOrDw2OZJxa0XGBWSWmBRerV6_pIEmKVLRtUbAk,3105
|
|
163
|
+
code_puppy-0.0.327.data/data/code_puppy/models_dev_api.json,sha256=wHjkj-IM_fx1oHki6-GqtOoCrRMR0ScK0f-Iz0UEcy8,548187
|
|
164
|
+
code_puppy-0.0.327.dist-info/METADATA,sha256=8waMztx7WRaBW1dx_pizAmLEvWqXKzD5p7M4F9X-zGc,28854
|
|
165
|
+
code_puppy-0.0.327.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
166
|
+
code_puppy-0.0.327.dist-info/entry_points.txt,sha256=Tp4eQC99WY3HOKd3sdvb22vZODRq0XkZVNpXOag_KdI,91
|
|
167
|
+
code_puppy-0.0.327.dist-info/licenses/LICENSE,sha256=31u8x0SPgdOq3izJX41kgFazWsM43zPEF9eskzqbJMY,1075
|
|
168
|
+
code_puppy-0.0.327.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|