code-puppy 0.0.325__py3-none-any.whl → 0.0.341__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/agents/base_agent.py +110 -124
- code_puppy/claude_cache_client.py +208 -2
- code_puppy/cli_runner.py +152 -32
- code_puppy/command_line/add_model_menu.py +4 -0
- code_puppy/command_line/autosave_menu.py +23 -24
- code_puppy/command_line/clipboard.py +527 -0
- code_puppy/command_line/colors_menu.py +5 -0
- code_puppy/command_line/config_commands.py +24 -1
- code_puppy/command_line/core_commands.py +85 -0
- code_puppy/command_line/diff_menu.py +5 -0
- code_puppy/command_line/mcp/custom_server_form.py +4 -0
- code_puppy/command_line/mcp/install_menu.py +5 -1
- code_puppy/command_line/model_settings_menu.py +5 -0
- code_puppy/command_line/motd.py +13 -7
- code_puppy/command_line/onboarding_slides.py +180 -0
- code_puppy/command_line/onboarding_wizard.py +340 -0
- code_puppy/command_line/prompt_toolkit_completion.py +118 -0
- code_puppy/config.py +3 -2
- code_puppy/http_utils.py +201 -279
- code_puppy/keymap.py +10 -8
- code_puppy/mcp_/managed_server.py +7 -11
- code_puppy/messaging/messages.py +3 -0
- code_puppy/messaging/rich_renderer.py +114 -22
- code_puppy/model_factory.py +102 -15
- code_puppy/models.json +2 -2
- code_puppy/plugins/antigravity_oauth/__init__.py +10 -0
- code_puppy/plugins/antigravity_oauth/accounts.py +406 -0
- code_puppy/plugins/antigravity_oauth/antigravity_model.py +668 -0
- code_puppy/plugins/antigravity_oauth/config.py +42 -0
- code_puppy/plugins/antigravity_oauth/constants.py +136 -0
- code_puppy/plugins/antigravity_oauth/oauth.py +478 -0
- code_puppy/plugins/antigravity_oauth/register_callbacks.py +406 -0
- code_puppy/plugins/antigravity_oauth/storage.py +271 -0
- code_puppy/plugins/antigravity_oauth/test_plugin.py +319 -0
- code_puppy/plugins/antigravity_oauth/token.py +167 -0
- code_puppy/plugins/antigravity_oauth/transport.py +664 -0
- code_puppy/plugins/antigravity_oauth/utils.py +169 -0
- code_puppy/plugins/chatgpt_oauth/register_callbacks.py +2 -0
- code_puppy/plugins/claude_code_oauth/register_callbacks.py +2 -0
- code_puppy/plugins/claude_code_oauth/utils.py +126 -7
- code_puppy/reopenable_async_client.py +8 -8
- code_puppy/terminal_utils.py +295 -3
- code_puppy/tools/command_runner.py +43 -54
- code_puppy/tools/common.py +3 -9
- code_puppy/uvx_detection.py +242 -0
- {code_puppy-0.0.325.data → code_puppy-0.0.341.data}/data/code_puppy/models.json +2 -2
- {code_puppy-0.0.325.dist-info → code_puppy-0.0.341.dist-info}/METADATA +26 -49
- {code_puppy-0.0.325.dist-info → code_puppy-0.0.341.dist-info}/RECORD +52 -36
- {code_puppy-0.0.325.data → code_puppy-0.0.341.data}/data/code_puppy/models_dev_api.json +0 -0
- {code_puppy-0.0.325.dist-info → code_puppy-0.0.341.dist-info}/WHEEL +0 -0
- {code_puppy-0.0.325.dist-info → code_puppy-0.0.341.dist-info}/entry_points.txt +0 -0
- {code_puppy-0.0.325.dist-info → code_puppy-0.0.341.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"""Detect if code-puppy was launched via uvx on Windows.
|
|
2
|
+
|
|
3
|
+
This module provides utilities to detect the launch method of code-puppy,
|
|
4
|
+
specifically to handle signal differences when running via uvx on Windows.
|
|
5
|
+
|
|
6
|
+
On Windows, when launched via `uvx code-puppy`, Ctrl+C (SIGINT) gets captured
|
|
7
|
+
by uvx's process handling before reaching our Python process. To work around
|
|
8
|
+
this, we detect the uvx launch scenario and switch to Ctrl+K for cancellation.
|
|
9
|
+
|
|
10
|
+
Note: This issue is specific to uvx.exe, NOT uv.exe. Running via `uv run`
|
|
11
|
+
handles SIGINT correctly on Windows.
|
|
12
|
+
|
|
13
|
+
On non-Windows platforms, this is not an issue - Ctrl+C works fine with uvx.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
import os
|
|
17
|
+
import platform
|
|
18
|
+
import sys
|
|
19
|
+
from functools import lru_cache
|
|
20
|
+
from typing import Optional
|
|
21
|
+
|
|
22
|
+
# Cache the detection result - it won't change during runtime
|
|
23
|
+
_uvx_detection_cache: Optional[bool] = None
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _get_parent_process_name_psutil(pid: int) -> Optional[str]:
|
|
27
|
+
"""Get parent process name using psutil (if available).
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
pid: Process ID to get parent name for
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
Parent process name (lowercase) or None if not found
|
|
34
|
+
"""
|
|
35
|
+
try:
|
|
36
|
+
import psutil
|
|
37
|
+
|
|
38
|
+
proc = psutil.Process(pid)
|
|
39
|
+
parent = proc.parent()
|
|
40
|
+
if parent:
|
|
41
|
+
return parent.name().lower()
|
|
42
|
+
except Exception:
|
|
43
|
+
pass
|
|
44
|
+
return None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _get_parent_process_chain_psutil() -> list[str]:
|
|
48
|
+
"""Get the entire parent process chain using psutil.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
List of process names from current process up to init/System
|
|
52
|
+
"""
|
|
53
|
+
chain = []
|
|
54
|
+
try:
|
|
55
|
+
import psutil
|
|
56
|
+
|
|
57
|
+
proc = psutil.Process(os.getpid())
|
|
58
|
+
while proc:
|
|
59
|
+
chain.append(proc.name().lower())
|
|
60
|
+
parent = proc.parent()
|
|
61
|
+
if parent is None or parent.pid in (0, proc.pid):
|
|
62
|
+
break
|
|
63
|
+
proc = parent
|
|
64
|
+
except Exception:
|
|
65
|
+
pass
|
|
66
|
+
return chain
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def _get_parent_process_chain_windows_ctypes() -> list[str]:
|
|
70
|
+
"""Get parent process chain on Windows using ctypes (no external deps).
|
|
71
|
+
|
|
72
|
+
This is a fallback when psutil is not available.
|
|
73
|
+
|
|
74
|
+
Returns:
|
|
75
|
+
List of process names from current process up to System
|
|
76
|
+
"""
|
|
77
|
+
if platform.system() != "Windows":
|
|
78
|
+
return []
|
|
79
|
+
|
|
80
|
+
chain = []
|
|
81
|
+
try:
|
|
82
|
+
import ctypes
|
|
83
|
+
from ctypes import wintypes
|
|
84
|
+
|
|
85
|
+
# Windows API constants
|
|
86
|
+
TH32CS_SNAPPROCESS = 0x00000002
|
|
87
|
+
INVALID_HANDLE_VALUE = -1
|
|
88
|
+
|
|
89
|
+
class PROCESSENTRY32(ctypes.Structure):
|
|
90
|
+
_fields_ = [
|
|
91
|
+
("dwSize", wintypes.DWORD),
|
|
92
|
+
("cntUsage", wintypes.DWORD),
|
|
93
|
+
("th32ProcessID", wintypes.DWORD),
|
|
94
|
+
("th32DefaultHeapID", ctypes.POINTER(wintypes.ULONG)),
|
|
95
|
+
("th32ModuleID", wintypes.DWORD),
|
|
96
|
+
("cntThreads", wintypes.DWORD),
|
|
97
|
+
("th32ParentProcessID", wintypes.DWORD),
|
|
98
|
+
("pcPriClassBase", wintypes.LONG),
|
|
99
|
+
("dwFlags", wintypes.DWORD),
|
|
100
|
+
("szExeFile", ctypes.c_char * 260),
|
|
101
|
+
]
|
|
102
|
+
|
|
103
|
+
kernel32 = ctypes.windll.kernel32
|
|
104
|
+
|
|
105
|
+
# Take a snapshot of all processes
|
|
106
|
+
snapshot = kernel32.CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
|
|
107
|
+
if snapshot == INVALID_HANDLE_VALUE:
|
|
108
|
+
return chain
|
|
109
|
+
|
|
110
|
+
try:
|
|
111
|
+
# Build a map of PID -> (parent_pid, exe_name)
|
|
112
|
+
process_map: dict[int, tuple[int, str]] = {}
|
|
113
|
+
pe = PROCESSENTRY32()
|
|
114
|
+
pe.dwSize = ctypes.sizeof(PROCESSENTRY32)
|
|
115
|
+
|
|
116
|
+
if kernel32.Process32First(snapshot, ctypes.byref(pe)):
|
|
117
|
+
while True:
|
|
118
|
+
pid = pe.th32ProcessID
|
|
119
|
+
parent_pid = pe.th32ParentProcessID
|
|
120
|
+
exe_name = pe.szExeFile.decode("utf-8", errors="ignore").lower()
|
|
121
|
+
process_map[pid] = (parent_pid, exe_name)
|
|
122
|
+
|
|
123
|
+
if not kernel32.Process32Next(snapshot, ctypes.byref(pe)):
|
|
124
|
+
break
|
|
125
|
+
|
|
126
|
+
# Traverse from current PID up the parent chain
|
|
127
|
+
current_pid = os.getpid()
|
|
128
|
+
visited = set() # Prevent infinite loops
|
|
129
|
+
|
|
130
|
+
while current_pid in process_map and current_pid not in visited:
|
|
131
|
+
visited.add(current_pid)
|
|
132
|
+
parent_pid, exe_name = process_map[current_pid]
|
|
133
|
+
chain.append(exe_name)
|
|
134
|
+
|
|
135
|
+
if parent_pid == 0 or parent_pid == current_pid:
|
|
136
|
+
break
|
|
137
|
+
current_pid = parent_pid
|
|
138
|
+
|
|
139
|
+
finally:
|
|
140
|
+
kernel32.CloseHandle(snapshot)
|
|
141
|
+
|
|
142
|
+
except Exception:
|
|
143
|
+
pass
|
|
144
|
+
|
|
145
|
+
return chain
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def _get_parent_process_chain() -> list[str]:
|
|
149
|
+
"""Get the parent process chain using best available method.
|
|
150
|
+
|
|
151
|
+
Returns:
|
|
152
|
+
List of process names from current process up to init/System
|
|
153
|
+
"""
|
|
154
|
+
# Try psutil first (more reliable, cross-platform)
|
|
155
|
+
try:
|
|
156
|
+
import psutil # noqa: F401
|
|
157
|
+
|
|
158
|
+
return _get_parent_process_chain_psutil()
|
|
159
|
+
except ImportError:
|
|
160
|
+
pass
|
|
161
|
+
|
|
162
|
+
# Fall back to ctypes on Windows
|
|
163
|
+
if platform.system() == "Windows":
|
|
164
|
+
return _get_parent_process_chain_windows_ctypes()
|
|
165
|
+
|
|
166
|
+
return []
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def _is_uvx_in_chain(chain: list[str]) -> bool:
|
|
170
|
+
"""Check if uvx is in the process chain.
|
|
171
|
+
|
|
172
|
+
Note: We only check for uvx.exe, NOT uv.exe. The uv.exe binary
|
|
173
|
+
(used by `uv run`) handles SIGINT correctly on Windows, but
|
|
174
|
+
uvx.exe captures it before it reaches Python.
|
|
175
|
+
|
|
176
|
+
Args:
|
|
177
|
+
chain: List of process names (lowercase)
|
|
178
|
+
|
|
179
|
+
Returns:
|
|
180
|
+
True if uvx.exe is found in the chain
|
|
181
|
+
"""
|
|
182
|
+
# Only uvx.exe has the SIGINT issue, not uv.exe
|
|
183
|
+
uvx_names = {"uvx.exe", "uvx"}
|
|
184
|
+
return any(name in uvx_names for name in chain)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
@lru_cache(maxsize=1)
|
|
188
|
+
def is_launched_via_uvx() -> bool:
|
|
189
|
+
"""Detect if code-puppy was launched via uvx.
|
|
190
|
+
|
|
191
|
+
Traverses the parent process chain to find uvx.exe or uv.exe.
|
|
192
|
+
Result is cached for the lifetime of the process.
|
|
193
|
+
|
|
194
|
+
Returns:
|
|
195
|
+
True if launched via uvx, False otherwise
|
|
196
|
+
"""
|
|
197
|
+
chain = _get_parent_process_chain()
|
|
198
|
+
return _is_uvx_in_chain(chain)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
def is_windows() -> bool:
|
|
202
|
+
"""Check if we're running on Windows.
|
|
203
|
+
|
|
204
|
+
Returns:
|
|
205
|
+
True if running on Windows, False otherwise
|
|
206
|
+
"""
|
|
207
|
+
return platform.system() == "Windows"
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def should_use_alternate_cancel_key() -> bool:
|
|
211
|
+
"""Determine if we should use an alternate cancel key (Ctrl+K) instead of Ctrl+C.
|
|
212
|
+
|
|
213
|
+
This returns True when:
|
|
214
|
+
- Running on Windows AND
|
|
215
|
+
- Launched via uvx
|
|
216
|
+
|
|
217
|
+
In this scenario, Ctrl+C is captured by uvx before reaching Python,
|
|
218
|
+
so we need to use a different key (Ctrl+K) for agent cancellation.
|
|
219
|
+
|
|
220
|
+
Returns:
|
|
221
|
+
True if alternate cancel key should be used, False otherwise
|
|
222
|
+
"""
|
|
223
|
+
return is_windows() and is_launched_via_uvx()
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
def get_uvx_detection_info() -> dict:
|
|
227
|
+
"""Get diagnostic information about uvx detection.
|
|
228
|
+
|
|
229
|
+
Useful for debugging and testing.
|
|
230
|
+
|
|
231
|
+
Returns:
|
|
232
|
+
Dictionary with detection details
|
|
233
|
+
"""
|
|
234
|
+
chain = _get_parent_process_chain()
|
|
235
|
+
return {
|
|
236
|
+
"is_windows": is_windows(),
|
|
237
|
+
"is_launched_via_uvx": is_launched_via_uvx(),
|
|
238
|
+
"should_use_alternate_cancel_key": should_use_alternate_cancel_key(),
|
|
239
|
+
"parent_process_chain": chain,
|
|
240
|
+
"current_pid": os.getpid(),
|
|
241
|
+
"python_executable": sys.executable,
|
|
242
|
+
}
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
"supported_settings": ["reasoning_effort", "verbosity"],
|
|
56
56
|
"supports_xhigh_reasoning": true
|
|
57
57
|
},
|
|
58
|
-
"Cerebras-GLM-4.
|
|
58
|
+
"Cerebras-GLM-4.7": {
|
|
59
59
|
"type": "cerebras",
|
|
60
|
-
"name": "zai-glm-4.
|
|
60
|
+
"name": "zai-glm-4.7",
|
|
61
61
|
"custom_endpoint": {
|
|
62
62
|
"url": "https://api.cerebras.ai/v1",
|
|
63
63
|
"api_key": "$CEREBRAS_API_KEY"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-puppy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.341
|
|
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
|
|
@@ -22,6 +22,7 @@ Requires-Dist: httpx[http2]>=0.24.1
|
|
|
22
22
|
Requires-Dist: json-repair>=0.46.2
|
|
23
23
|
Requires-Dist: logfire>=0.7.1
|
|
24
24
|
Requires-Dist: openai>=1.99.1
|
|
25
|
+
Requires-Dist: pillow>=10.0.0
|
|
25
26
|
Requires-Dist: playwright>=1.40.0
|
|
26
27
|
Requires-Dist: prompt-toolkit>=3.0.52
|
|
27
28
|
Requires-Dist: pydantic-ai==1.25.0
|
|
@@ -34,6 +35,7 @@ Requires-Dist: rich>=13.4.2
|
|
|
34
35
|
Requires-Dist: ripgrep==14.1.0
|
|
35
36
|
Requires-Dist: ruff>=0.11.11
|
|
36
37
|
Requires-Dist: tenacity>=8.2.0
|
|
38
|
+
Requires-Dist: termflow-md>=0.1.6
|
|
37
39
|
Requires-Dist: uvicorn>=0.30.0
|
|
38
40
|
Description-Content-Type: text/markdown
|
|
39
41
|
|
|
@@ -100,66 +102,32 @@ uvx code-puppy -i
|
|
|
100
102
|
|
|
101
103
|
### UV (Recommended)
|
|
102
104
|
|
|
105
|
+
#### macOS / Linux
|
|
106
|
+
|
|
103
107
|
```bash
|
|
104
108
|
# Install UV if you don't have it
|
|
105
109
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
106
110
|
|
|
107
|
-
|
|
108
|
-
echo 'export UV_MANAGED_PYTHON=1' >> ~/.zshrc # or ~/.bashrc
|
|
109
|
-
source ~/.zshrc # or ~/.bashrc
|
|
110
|
-
|
|
111
|
-
# Install and run code-puppy
|
|
112
|
-
uvx code-puppy -i
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
UV will automatically download the latest compatible Python version (3.11+) if your system doesn't have one.
|
|
116
|
-
|
|
117
|
-
### pip (Alternative)
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
pip install code-puppy
|
|
111
|
+
uvx code-puppy
|
|
121
112
|
```
|
|
122
113
|
|
|
123
|
-
|
|
114
|
+
#### Windows
|
|
124
115
|
|
|
125
|
-
|
|
116
|
+
On Windows, we recommend installing code-puppy as a global tool for the best experience with keyboard shortcuts (Ctrl+C/Ctrl+X cancellation):
|
|
126
117
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
# Set environment variable permanently
|
|
131
|
-
echo 'export UV_MANAGED_PYTHON=1' >> ~/.zshrc # or ~/.bashrc
|
|
132
|
-
source ~/.zshrc # or ~/.bashrc
|
|
118
|
+
```powershell
|
|
119
|
+
# Install UV if you don't have it (run in PowerShell as Admin)
|
|
120
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
133
121
|
|
|
134
|
-
|
|
135
|
-
uvx code-puppy # No need for --managed-python flag anymore
|
|
122
|
+
uvx code-puppy
|
|
136
123
|
```
|
|
137
124
|
|
|
138
|
-
|
|
125
|
+
## Changelog (By Kittylog!)
|
|
139
126
|
|
|
140
|
-
|
|
141
|
-
# Check which Python UV will use
|
|
142
|
-
uv python find
|
|
143
|
-
|
|
144
|
-
# Or check the current project's Python
|
|
145
|
-
uv run python --version
|
|
146
|
-
```
|
|
127
|
+
[📋 View the full changelog on Kittylog](https://kittylog.app/c/mpfaffenberger/code_puppy)
|
|
147
128
|
|
|
148
129
|
## Usage
|
|
149
130
|
|
|
150
|
-
### Custom Commands
|
|
151
|
-
Create markdown files in `.claude/commands/`, `.github/prompts/`, or `.agents/commands/` to define custom slash commands. The filename becomes the command name and the content runs as a prompt.
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
# Create a custom command
|
|
155
|
-
echo "# Code Review
|
|
156
|
-
|
|
157
|
-
Please review this code for security issues." > .claude/commands/review.md
|
|
158
|
-
|
|
159
|
-
# Use it in Code Puppy
|
|
160
|
-
/review with focus on authentication
|
|
161
|
-
```
|
|
162
|
-
|
|
163
131
|
### Adding Models from models.dev 🆕
|
|
164
132
|
|
|
165
133
|
While there are several models configured right out of the box from providers like Synthetic, Cerebras, OpenAI, Google, and Anthropic, Code Puppy integrates with [models.dev](https://models.dev) to let you browse and add models from **65+ providers** with a single command:
|
|
@@ -227,6 +195,18 @@ The following environment variables control DBOS behavior:
|
|
|
227
195
|
- `DBOS_SYSTEM_DATABASE_URL`: Database URL used by DBOS. Can point to a local SQLite file or a Postgres instance. Example: `postgresql://postgres:dbos@localhost:5432/postgres`. Default: `dbos_store.sqlite` file in the config directory.
|
|
228
196
|
- `DBOS_APP_VERSION`: If set, Code Puppy uses it as the [DBOS application version](https://docs.dbos.dev/architecture#application-and-workflow-versions) and automatically tries to recover pending workflows for this version. Default: Code Puppy version + Unix timestamp in millisecond (disable automatic recovery).
|
|
229
197
|
|
|
198
|
+
### Custom Commands
|
|
199
|
+
Create markdown files in `.claude/commands/`, `.github/prompts/`, or `.agents/commands/` to define custom slash commands. The filename becomes the command name and the content runs as a prompt.
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# Create a custom command
|
|
203
|
+
echo "# Code Review
|
|
204
|
+
|
|
205
|
+
Please review this code for security issues." > .claude/commands/review.md
|
|
206
|
+
|
|
207
|
+
# Use it in Code Puppy
|
|
208
|
+
/review with focus on authentication
|
|
209
|
+
```
|
|
230
210
|
|
|
231
211
|
## Requirements
|
|
232
212
|
|
|
@@ -246,9 +226,6 @@ For examples and more information about agent rules, visit [https://agent.md](ht
|
|
|
246
226
|
|
|
247
227
|
Use the `/mcp` command to manage MCP (list, start, stop, status, etc.)
|
|
248
228
|
|
|
249
|
-
Watch this video for examples! https://www.youtube.com/watch?v=1t1zEetOqlo
|
|
250
|
-
|
|
251
|
-
|
|
252
229
|
## Round Robin Model Distribution
|
|
253
230
|
|
|
254
231
|
Code Puppy supports **Round Robin model distribution** to help you overcome rate limits and distribute load across multiple AI models. This feature automatically cycles through configured models with each request, maximizing your API usage while staying within rate limits.
|
|
@@ -2,26 +2,27 @@ code_puppy/__init__.py,sha256=xMPewo9RNHb3yfFNIk5WCbv2cvSPtJOCgK2-GqLbNnU,373
|
|
|
2
2
|
code_puppy/__main__.py,sha256=pDVssJOWP8A83iFkxMLY9YteHYat0EyWDQqMkKHpWp4,203
|
|
3
3
|
code_puppy/callbacks.py,sha256=hqTV--dNxG5vwWWm3MrEjmb8MZuHFFdmHePl23NXPHk,8621
|
|
4
4
|
code_puppy/chatgpt_codex_client.py,sha256=Om0ANB_kpHubhCwNzF9ENf8RvKBqs0IYzBLl_SNw0Vk,9833
|
|
5
|
-
code_puppy/claude_cache_client.py,sha256=
|
|
6
|
-
code_puppy/cli_runner.py,sha256=
|
|
7
|
-
code_puppy/config.py,sha256=
|
|
5
|
+
code_puppy/claude_cache_client.py,sha256=MLIRSJP428r9IK_aV6XyCXrCfQnNti32U60psPymLM4,14860
|
|
6
|
+
code_puppy/cli_runner.py,sha256=BQu5Sa9y_ueqtgvbmuhWS-Tmd1FAjMbhTrtjFKbVZjM,34919
|
|
7
|
+
code_puppy/config.py,sha256=RlnrLkyFXm7h2Htf8rQA7vqoAyzLPMrESle417uLmFw,52373
|
|
8
8
|
code_puppy/error_logging.py,sha256=a80OILCUtJhexI6a9GM-r5LqIdjvSRzggfgPp2jv1X0,3297
|
|
9
9
|
code_puppy/gemini_code_assist.py,sha256=KGS7sO5OLc83nDF3xxS-QiU6vxW9vcm6hmzilu79Ef8,13867
|
|
10
|
-
code_puppy/http_utils.py,sha256=
|
|
11
|
-
code_puppy/keymap.py,sha256=
|
|
10
|
+
code_puppy/http_utils.py,sha256=H3N5Qz2B1CcsGUYOycGWAqoNMr2P1NCVluKX3aRwRqI,10358
|
|
11
|
+
code_puppy/keymap.py,sha256=IvMkTlB_bIqOWpbTpmftkdyjhtD5todXuEIw1zCZ4u0,3584
|
|
12
12
|
code_puppy/main.py,sha256=82r3vZy_XcyEsenLn82BnUusaoyL3Bpm_Th_jKgqecE,273
|
|
13
|
-
code_puppy/model_factory.py,sha256=
|
|
13
|
+
code_puppy/model_factory.py,sha256=BSGHZlwtF7jkYz2qFG9oJglG-NnfmbsQXbx4I6stXW0,38313
|
|
14
14
|
code_puppy/model_utils.py,sha256=NU8W8NW5F7QS_PXHaLeh55Air1koUV7IVYFP7Rz3XpY,3615
|
|
15
|
-
code_puppy/models.json,sha256=
|
|
15
|
+
code_puppy/models.json,sha256=FMQdE_yvP_8y0xxt3K918UkFL9cZMYAqW1SfXcQkU_k,3105
|
|
16
16
|
code_puppy/models_dev_api.json,sha256=wHjkj-IM_fx1oHki6-GqtOoCrRMR0ScK0f-Iz0UEcy8,548187
|
|
17
17
|
code_puppy/models_dev_parser.py,sha256=8ndmWrsSyKbXXpRZPXc0w6TfWMuCcgaHiMifmlaBaPc,20611
|
|
18
18
|
code_puppy/pydantic_patches.py,sha256=YecAEeCOjSIwIBu2O5vEw72atMSL37cXGrbEuukI07o,4582
|
|
19
|
-
code_puppy/reopenable_async_client.py,sha256=
|
|
19
|
+
code_puppy/reopenable_async_client.py,sha256=pD34chyBFcC7_OVPJ8fp6aRI5jYdN-7VDycObMZPwG8,8292
|
|
20
20
|
code_puppy/round_robin_model.py,sha256=kSawwPUiPgg0yg8r4AAVgvjzsWkptxpSORd75-HP7W4,5335
|
|
21
21
|
code_puppy/session_storage.py,sha256=T4hOsAl9z0yz2JZCptjJBOnN8fCmkLZx5eLy1hTdv6Q,9631
|
|
22
22
|
code_puppy/status_display.py,sha256=qHzIQGAPEa2_-4gQSg7_rE1ihOosBq8WO73MWFNmmlo,8938
|
|
23
23
|
code_puppy/summarization_agent.py,sha256=6Pu_Wp_rF-HAhoX9u2uXTabRVkOZUYwRoMP1lzNS4ew,4485
|
|
24
|
-
code_puppy/terminal_utils.py,sha256=
|
|
24
|
+
code_puppy/terminal_utils.py,sha256=TaS19x7EZqudlBUAQwLMzBMNxBHBNInvQQREXqRGtkM,12984
|
|
25
|
+
code_puppy/uvx_detection.py,sha256=tP9X9Nvzow--KIqtqjgrHQkSxMJ3EevfoaeoB9VLY2o,7224
|
|
25
26
|
code_puppy/version_checker.py,sha256=aq2Mwxl1CR9sEFBgrPt3OQOowLOBUp9VaQYWJhuUv8Q,1780
|
|
26
27
|
code_puppy/agents/__init__.py,sha256=PtPB7Z5MSwmUKipgt_qxvIuGggcuVaYwNbnp1UP4tPc,518
|
|
27
28
|
code_puppy/agents/agent_c_reviewer.py,sha256=1kO_89hcrhlS4sJ6elDLSEx-h43jAaWGgvIL0SZUuKo,8214
|
|
@@ -39,40 +40,43 @@ code_puppy/agents/agent_qa_expert.py,sha256=5Ikb4U3SZQknUEfwlHZiyZXKqnffnOTQagr_
|
|
|
39
40
|
code_puppy/agents/agent_qa_kitten.py,sha256=5PeFFSwCFlTUvP6h5bGntx0xv5NmRwBiw0HnMqY8nLI,9107
|
|
40
41
|
code_puppy/agents/agent_security_auditor.py,sha256=SpiYNA0XAsIwBj7S2_EQPRslRUmF_-b89pIJyW7DYtY,12022
|
|
41
42
|
code_puppy/agents/agent_typescript_reviewer.py,sha256=vsnpp98xg6cIoFAEJrRTUM_i4wLEWGm5nJxs6fhHobM,10275
|
|
42
|
-
code_puppy/agents/base_agent.py,sha256=
|
|
43
|
+
code_puppy/agents/base_agent.py,sha256=QnPmROIw-rs5wopcVTZdBZusP0mGRC6EFZ7y_V00rMI,84825
|
|
43
44
|
code_puppy/agents/json_agent.py,sha256=lhopDJDoiSGHvD8A6t50hi9ZBoNRKgUywfxd0Po_Dzc,4886
|
|
44
45
|
code_puppy/agents/prompt_reviewer.py,sha256=JJrJ0m5q0Puxl8vFsyhAbY9ftU9n6c6UxEVdNct1E-Q,5558
|
|
45
46
|
code_puppy/command_line/__init__.py,sha256=y7WeRemfYppk8KVbCGeAIiTuiOszIURCDjOMZv_YRmU,45
|
|
46
|
-
code_puppy/command_line/add_model_menu.py,sha256=
|
|
47
|
+
code_puppy/command_line/add_model_menu.py,sha256=caXxSQc6dgx0qQ68RRFrDTsiH-wZjl4nUv2r0javhaM,43262
|
|
47
48
|
code_puppy/command_line/attachments.py,sha256=4Q5I2Es4j0ltnz5wjw2z0QXMsiMJvEfWRkPf_lJeITM,13093
|
|
48
|
-
code_puppy/command_line/autosave_menu.py,sha256=
|
|
49
|
-
code_puppy/command_line/
|
|
49
|
+
code_puppy/command_line/autosave_menu.py,sha256=de7nOmFmEH6x5T7C95U8N8xgxxeF-l5lgaJzGJsF3ZY,19824
|
|
50
|
+
code_puppy/command_line/clipboard.py,sha256=oe9bfAX5RnT81FiYrDmhvHaePS1tAT-NFG1fSXubSD4,16869
|
|
51
|
+
code_puppy/command_line/colors_menu.py,sha256=LoFVfJ-Mo-Eq9hnb2Rj5mn7oBCnadAGr-8NNHsHlu18,17273
|
|
50
52
|
code_puppy/command_line/command_handler.py,sha256=CY9F27eovZJK_kpU1YmbroYLWGTCuouCOQ-TXfDp-nw,10916
|
|
51
53
|
code_puppy/command_line/command_registry.py,sha256=qFySsw1g8dol3kgi0p6cXrIDlP11_OhOoaQ5nAadWXg,4416
|
|
52
|
-
code_puppy/command_line/config_commands.py,sha256=
|
|
53
|
-
code_puppy/command_line/core_commands.py,sha256=
|
|
54
|
-
code_puppy/command_line/diff_menu.py,sha256=
|
|
54
|
+
code_puppy/command_line/config_commands.py,sha256=qS9Cm758DPz2QGvHLhAV4Tp_Xfgo3PyoCoLDusbnmCw,25742
|
|
55
|
+
code_puppy/command_line/core_commands.py,sha256=ujAPD4yDbXwYGJJfR2u4ei24eBV-Ps_-BVBjFMEoJy0,27668
|
|
56
|
+
code_puppy/command_line/diff_menu.py,sha256=_Gr9SP9fbItk-08dya9WTAR53s_PlyAvEnbt-8VWKPk,24141
|
|
55
57
|
code_puppy/command_line/file_path_completion.py,sha256=gw8NpIxa6GOpczUJRyh7VNZwoXKKn-yvCqit7h2y6Gg,2931
|
|
56
58
|
code_puppy/command_line/load_context_completion.py,sha256=a3JvLDeLLSYxVgTjAdqWzS4spjv6ccCrK2LKZgVJ1IM,2202
|
|
57
59
|
code_puppy/command_line/mcp_completion.py,sha256=eKzW2O7gun7HoHekOW0XVXhNS5J2xCtK7aaWyA8bkZk,6952
|
|
58
60
|
code_puppy/command_line/model_picker_completion.py,sha256=nDnlf0qFCG2zAm_mWW2eMYwVC7eROVQrFe92hZqOKa8,6810
|
|
59
|
-
code_puppy/command_line/model_settings_menu.py,sha256=
|
|
60
|
-
code_puppy/command_line/motd.py,sha256=
|
|
61
|
+
code_puppy/command_line/model_settings_menu.py,sha256=AI97IusDgMmWoCOp7C0Yrk_Uy6M9cmVhoZfVWgFWwXg,32392
|
|
62
|
+
code_puppy/command_line/motd.py,sha256=XuIk3UTLawwVFM-NfoaJGU5F2hPLASTFXq84UdDMT0Q,2408
|
|
63
|
+
code_puppy/command_line/onboarding_slides.py,sha256=tHob7rB_n32dfjtPH-RSG0WLMjDHhlmNxfsF7WCgcVc,7191
|
|
64
|
+
code_puppy/command_line/onboarding_wizard.py,sha256=U5lV_1P3IwDYZUHar0zKgdp121zzkvOwwORvdCZwFcw,10241
|
|
61
65
|
code_puppy/command_line/pin_command_completion.py,sha256=juSvdqRpk7AdfkPy1DJx5NzfEUU5KYGlChvP0hisM18,11667
|
|
62
|
-
code_puppy/command_line/prompt_toolkit_completion.py,sha256=
|
|
66
|
+
code_puppy/command_line/prompt_toolkit_completion.py,sha256=U6rRMU3gNqTf3vz3K5V5PZ1xjE8I2ldoEk2FiT8kHJg,32535
|
|
63
67
|
code_puppy/command_line/session_commands.py,sha256=Jh8GGfhlfBAEVfucKLbcZjNaXYd0twImiOwq2ZnGdQQ,9902
|
|
64
68
|
code_puppy/command_line/utils.py,sha256=7eyxDHjPjPB9wGDJQQcXV_zOsGdYsFgI0SGCetVmTqE,1251
|
|
65
69
|
code_puppy/command_line/mcp/__init__.py,sha256=0-OQuwjq_pLiTVJ1_NrirVwdRerghyKs_MTZkwPC7YY,315
|
|
66
70
|
code_puppy/command_line/mcp/add_command.py,sha256=iWqHReWbVOO3kuPE4NTMs3dv_BluxTBaasDPm9P1lU0,5892
|
|
67
71
|
code_puppy/command_line/mcp/base.py,sha256=pPeNnSyM0GGqD6mhYN-qA22rAT9bEapxliwH_YiIu3Q,823
|
|
68
72
|
code_puppy/command_line/mcp/catalog_server_installer.py,sha256=vY7MAy6O92bs-gRoZOO9jVPx23omr0jpSZucfjVkeOY,6170
|
|
69
|
-
code_puppy/command_line/mcp/custom_server_form.py,sha256=
|
|
73
|
+
code_puppy/command_line/mcp/custom_server_form.py,sha256=iLEe30NI_01PP7xETgckBqwlyVrPzbHmzx7by8QKiVA,22082
|
|
70
74
|
code_puppy/command_line/mcp/custom_server_installer.py,sha256=4NhHxf4wGUh4OvdIurZAlC7TrNcmm4j8dWucIKrekWg,5733
|
|
71
75
|
code_puppy/command_line/mcp/edit_command.py,sha256=_WxxpaTgxo9pbvMogG9yvh2mcLE5SYf0Qbi8a8IpZ0k,4603
|
|
72
76
|
code_puppy/command_line/mcp/handler.py,sha256=S8KSgf78w7vL7_ReArdcxTgZRoIi0Z0jCksNuELnCFU,4616
|
|
73
77
|
code_puppy/command_line/mcp/help_command.py,sha256=dU3ekOjjNKxRS-RjUXJZ7PBwmJeIe-5MhcMYCiyVu4w,5472
|
|
74
78
|
code_puppy/command_line/mcp/install_command.py,sha256=lmUyMUWtkGuy1SOQRHjQgt8mD3t1agVMQfEL5_TOzTM,8364
|
|
75
|
-
code_puppy/command_line/mcp/install_menu.py,sha256=
|
|
79
|
+
code_puppy/command_line/mcp/install_menu.py,sha256=GVNR7SJbheGLFc_r9N3CT1AT024ptzsEcj1cRnp4U3g,24769
|
|
76
80
|
code_puppy/command_line/mcp/list_command.py,sha256=UKQFPlhT9qGMCyG5VKjvnSMzDDtfAhIaKU_eErgZJDg,3181
|
|
77
81
|
code_puppy/command_line/mcp/logs_command.py,sha256=IZzOadnI2ch6j4AcdjuHwJYJWKw1_K1rrCh9_aVK94k,7759
|
|
78
82
|
code_puppy/command_line/mcp/remove_command.py,sha256=hyU_tKJWfyLnmufrFVLwlF0qFEbghXBVMOvSgWvaEgA,2755
|
|
@@ -95,7 +99,7 @@ code_puppy/mcp_/config_wizard.py,sha256=JNNpgnSD6PFSyS3pTdEdD164oXd2VKp4VHLSz3To
|
|
|
95
99
|
code_puppy/mcp_/dashboard.py,sha256=VtaFxLtPnbM_HL2TXRDAg6IqcM-EcFkoghGgkfhMrKI,9417
|
|
96
100
|
code_puppy/mcp_/error_isolation.py,sha256=mpPBiH17zTXPsOEAn9WmkbwQwnt4gmgiaWv87JBJbUo,12426
|
|
97
101
|
code_puppy/mcp_/health_monitor.py,sha256=n5R6EeYOYbUucUFe74qGWCU3g6Mep5UEQbLF0wbT0dU,19688
|
|
98
|
-
code_puppy/mcp_/managed_server.py,sha256=
|
|
102
|
+
code_puppy/mcp_/managed_server.py,sha256=APqFKjHtsG8iM4so1dYxvKnb0BTmppHnaY8UJ5DBE9g,14075
|
|
99
103
|
code_puppy/mcp_/manager.py,sha256=pJ4cALicTxfwG2JIjJraLLf0Mzes-cEVAKIcUwfOoKA,29172
|
|
100
104
|
code_puppy/mcp_/mcp_logs.py,sha256=o4pSHwELWIjEjqhfaMMEGrBvb159-VIgUp21E707BPo,6264
|
|
101
105
|
code_puppy/mcp_/registry.py,sha256=U_t12WQ-En-KGyZoiTYdqlhp9NkDTWafu8g5InvF2NM,15774
|
|
@@ -109,28 +113,40 @@ code_puppy/messaging/bus.py,sha256=TbdltJ0D5tqnaE4irq1fcXllDYm-mQ_SiX1IFm-S4sw,2
|
|
|
109
113
|
code_puppy/messaging/commands.py,sha256=77CtKVNaF5KS3Xyzd0ccDAisZWQxL3weVEt3J-SfYxo,5464
|
|
110
114
|
code_puppy/messaging/markdown_patches.py,sha256=dMIJozzJChuHa8QNMSEz_kC-dyt7kZiDLZ7rjthbcmg,1626
|
|
111
115
|
code_puppy/messaging/message_queue.py,sha256=e-viZxacBoNSxRJnCJ4hU4vzsSI3oX_rN58RwhJKFfU,11825
|
|
112
|
-
code_puppy/messaging/messages.py,sha256=
|
|
116
|
+
code_puppy/messaging/messages.py,sha256=F7RwMHeQrIk-8kuSSBU76wBq1NGuLb2H5cJrSMTC3XM,16464
|
|
113
117
|
code_puppy/messaging/queue_console.py,sha256=T0U_V1tdN6hd9DLokp-HCk0mhu8Ivpfajha368CBZrU,9983
|
|
114
118
|
code_puppy/messaging/renderers.py,sha256=GHVtMnxE1pJ-yrcRjacY81JcjlHRz3UVHzp-ohN-CGE,12058
|
|
115
|
-
code_puppy/messaging/rich_renderer.py,sha256=
|
|
119
|
+
code_puppy/messaging/rich_renderer.py,sha256=FiT1e5S8nNQte0E6CMFQ3KyTixadkgKSjp1hcZXtyOE,37892
|
|
116
120
|
code_puppy/messaging/spinner/__init__.py,sha256=KpK5tJqq9YnN3wklqvdH0BQmuwYnT83Mp4tPfQa9RqI,1664
|
|
117
121
|
code_puppy/messaging/spinner/console_spinner.py,sha256=YIReuWPD01YPy58FqWdMDWj2QhauTUxKo675Ub4-eDA,8451
|
|
118
122
|
code_puppy/messaging/spinner/spinner_base.py,sha256=JiQDAhCfwrWUFunb8Xcj1caEl34JJY7Bcio7mDeckSc,2694
|
|
119
123
|
code_puppy/plugins/__init__.py,sha256=gWgrXWoFpl-3Mxz2DAvxKW6SkCWrOnw-hKsY9O7nHcI,6710
|
|
120
124
|
code_puppy/plugins/oauth_puppy_html.py,sha256=Wpa-V_NlRiBAvo_OXHuR7wvOH_jSt8L9HSFGiab6xI0,13058
|
|
125
|
+
code_puppy/plugins/antigravity_oauth/__init__.py,sha256=1miHihSqRNXO20Vh_Gn9M3Aa2szh0gtdSCaKKj9nq0Q,362
|
|
126
|
+
code_puppy/plugins/antigravity_oauth/accounts.py,sha256=GQit2-K24bsopmTZyscFUq3M0cAEO5WutHWnipVdgz8,14304
|
|
127
|
+
code_puppy/plugins/antigravity_oauth/antigravity_model.py,sha256=g0_nXnMg288CvBE48CFgZ-iAqlYbtbi1dcB4Up6cYYc,26115
|
|
128
|
+
code_puppy/plugins/antigravity_oauth/config.py,sha256=BoQgqf5I2XoHWnBBo9vhCIc_XwPj9Mbp0Z95ygWwt78,1362
|
|
129
|
+
code_puppy/plugins/antigravity_oauth/constants.py,sha256=qsrA10JJvzNuY0OobvvwCQcoGpILBninllcUUMKkUrQ,4644
|
|
130
|
+
code_puppy/plugins/antigravity_oauth/oauth.py,sha256=ZHXJtZP63l6brOpX1WdLfuUClIleA79-4y36YUJc6Wo,15137
|
|
131
|
+
code_puppy/plugins/antigravity_oauth/register_callbacks.py,sha256=uKIvfzH-dXj1g_5_gbD1FFgJ_fOYlsFtt5UL1EGqBc0,13121
|
|
132
|
+
code_puppy/plugins/antigravity_oauth/storage.py,sha256=LW1DkY6Z-GRbBDrIitT6glKemZptp3NzldIrLRqTAK0,8971
|
|
133
|
+
code_puppy/plugins/antigravity_oauth/test_plugin.py,sha256=n0kjFG8Vt2n1j0GgTRSdSyhF0t9xxE8Ht60SH5CSwzw,11027
|
|
134
|
+
code_puppy/plugins/antigravity_oauth/token.py,sha256=WbiFCkrZvChpGXvwIYsJMgqU9xdJ81KwR062lFlnL3U,5038
|
|
135
|
+
code_puppy/plugins/antigravity_oauth/transport.py,sha256=yZztRm8NHWemAtv7aVKsHdCQtU9BJKAd9RcqF91ZQOw,27689
|
|
136
|
+
code_puppy/plugins/antigravity_oauth/utils.py,sha256=mXHRv0l07r27VjtSsIy9rlpkUheP88RaM4x4M0O1mMY,5401
|
|
121
137
|
code_puppy/plugins/chatgpt_oauth/__init__.py,sha256=Kjc6Hsz1sWvMD2OdAlWZvJRiKJSj4fx22boa-aVFKjA,189
|
|
122
138
|
code_puppy/plugins/chatgpt_oauth/config.py,sha256=H_wAH9Duyn8WH2Kq8oe72uda-_4qu1uXLPun_SDdtsk,2023
|
|
123
139
|
code_puppy/plugins/chatgpt_oauth/oauth_flow.py,sha256=i-CP2gpzEBT3ogUt-oTMexiP2on41N6PbRGIy2lZF30,11028
|
|
124
|
-
code_puppy/plugins/chatgpt_oauth/register_callbacks.py,sha256
|
|
140
|
+
code_puppy/plugins/chatgpt_oauth/register_callbacks.py,sha256=oPfAOdh5hp3Jg3tK5ylk1sy0ydxBebK9a9w1EL1dw9I,2965
|
|
125
141
|
code_puppy/plugins/chatgpt_oauth/test_plugin.py,sha256=oHX7Eb_Hb4rgRpOWdhtFp8Jj6_FDuvXQITRPiNy4tRo,9622
|
|
126
142
|
code_puppy/plugins/chatgpt_oauth/utils.py,sha256=fzpsCQOv0kqPWmG5vNEV_GLSUrMQh8cF7tdIjSOt1Dc,16504
|
|
127
143
|
code_puppy/plugins/claude_code_oauth/README.md,sha256=76nHhMlhk61DZa5g0Q2fc0AtpplLmpbwuWFZt7PHH5g,5458
|
|
128
144
|
code_puppy/plugins/claude_code_oauth/SETUP.md,sha256=lnGzofPLogBy3oPPFLv5_cZ7vjg_GYrIyYnF-EoTJKg,3278
|
|
129
145
|
code_puppy/plugins/claude_code_oauth/__init__.py,sha256=mCcOU-wM7LNCDjr-w-WLPzom8nTF1UNt4nqxGE6Rt0k,187
|
|
130
146
|
code_puppy/plugins/claude_code_oauth/config.py,sha256=DjGySCkvjSGZds6DYErLMAi3TItt8iSLGvyJN98nSEM,2013
|
|
131
|
-
code_puppy/plugins/claude_code_oauth/register_callbacks.py,sha256=
|
|
147
|
+
code_puppy/plugins/claude_code_oauth/register_callbacks.py,sha256=g8sl-i7jIOF6OFALeaLqTF3mS4tD8GR_FCzvPjVw2js,10165
|
|
132
148
|
code_puppy/plugins/claude_code_oauth/test_plugin.py,sha256=yQy4EeZl4bjrcog1d8BjknoDTRK75mRXXvkSQJYSSEM,9286
|
|
133
|
-
code_puppy/plugins/claude_code_oauth/utils.py,sha256=
|
|
149
|
+
code_puppy/plugins/claude_code_oauth/utils.py,sha256=TVgz5aFd2GFPHSiG9NnOYiw-y6KRkWwt_SZxmMpwMIY,17243
|
|
134
150
|
code_puppy/plugins/customizable_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
151
|
code_puppy/plugins/customizable_commands/register_callbacks.py,sha256=zVMfIzr--hVn0IOXxIicbmgj2s-HZUgtrOc0NCDOnDw,5183
|
|
136
152
|
code_puppy/plugins/example_custom_command/README.md,sha256=5c5Zkm7CW6BDSfe3WoLU7GW6t5mjjYAbu9-_pu-b3p4,8244
|
|
@@ -144,8 +160,8 @@ code_puppy/plugins/shell_safety/register_callbacks.py,sha256=W3v664RR48Fdbbbltf_
|
|
|
144
160
|
code_puppy/prompts/codex_system_prompt.md,sha256=hEFTCziroLqZmqNle5kG34A8kvTteOWezCiVrAEKhE0,24400
|
|
145
161
|
code_puppy/tools/__init__.py,sha256=BVTZ85jLHgDANwOnUSOz3UDlp8VQDq4DoGF23BRlyWw,6032
|
|
146
162
|
code_puppy/tools/agent_tools.py,sha256=snBI6FlFtR03CbYKXwu53R48c_fRSuDIwcNdVUruLcA,21020
|
|
147
|
-
code_puppy/tools/command_runner.py,sha256=
|
|
148
|
-
code_puppy/tools/common.py,sha256=
|
|
163
|
+
code_puppy/tools/command_runner.py,sha256=3qXVnVTaBPia6y2D29As47_TRKgpyCj82yMFK-8UUYc,44954
|
|
164
|
+
code_puppy/tools/common.py,sha256=IYf-KOcP5eN2MwTlpULSXNATn7GzloAKl7_M1Uyfe4Y,40360
|
|
149
165
|
code_puppy/tools/file_modifications.py,sha256=vz9n7R0AGDSdLUArZr_55yJLkyI30M8zreAppxIx02M,29380
|
|
150
166
|
code_puppy/tools/file_operations.py,sha256=CqhpuBnOFOcQCIYXOujskxq2VMLWYJhibYrH0YcPSfA,35692
|
|
151
167
|
code_puppy/tools/tools_content.py,sha256=bsBqW-ppd1XNAS_g50B3UHDQBWEALC1UneH6-afz1zo,2365
|
|
@@ -159,10 +175,10 @@ code_puppy/tools/browser/browser_scripts.py,sha256=sNb8eLEyzhasy5hV4B9OjM8yIVMLV
|
|
|
159
175
|
code_puppy/tools/browser/browser_workflows.py,sha256=nitW42vCf0ieTX1gLabozTugNQ8phtoFzZbiAhw1V90,6491
|
|
160
176
|
code_puppy/tools/browser/camoufox_manager.py,sha256=RZjGOEftE5sI_tsercUyXFSZI2wpStXf-q0PdYh2G3I,8680
|
|
161
177
|
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.
|
|
178
|
+
code_puppy-0.0.341.data/data/code_puppy/models.json,sha256=FMQdE_yvP_8y0xxt3K918UkFL9cZMYAqW1SfXcQkU_k,3105
|
|
179
|
+
code_puppy-0.0.341.data/data/code_puppy/models_dev_api.json,sha256=wHjkj-IM_fx1oHki6-GqtOoCrRMR0ScK0f-Iz0UEcy8,548187
|
|
180
|
+
code_puppy-0.0.341.dist-info/METADATA,sha256=TyW2aMaB5pukc2EP2CV8fjW-qotBUDUms_CeaiUbKv4,27550
|
|
181
|
+
code_puppy-0.0.341.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
182
|
+
code_puppy-0.0.341.dist-info/entry_points.txt,sha256=Tp4eQC99WY3HOKd3sdvb22vZODRq0XkZVNpXOag_KdI,91
|
|
183
|
+
code_puppy-0.0.341.dist-info/licenses/LICENSE,sha256=31u8x0SPgdOq3izJX41kgFazWsM43zPEF9eskzqbJMY,1075
|
|
184
|
+
code_puppy-0.0.341.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|