code-puppy 0.0.198__tar.gz → 0.0.199__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.
- {code_puppy-0.0.198 → code_puppy-0.0.199}/PKG-INFO +1 -1
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/base_agent.py +14 -9
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/model_picker_completion.py +14 -5
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/settings.py +14 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/pyproject.toml +1 -1
- {code_puppy-0.0.198 → code_puppy-0.0.199}/.gitignore +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/LICENSE +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/README.md +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/__main__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_c_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_code_puppy.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_code_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_cpp_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_creator_agent.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_golang_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_javascript_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_manager.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_python_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_qa_expert.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_qa_kitten.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_security_auditor.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/agent_typescript_reviewer.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/agents/json_agent.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/callbacks.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/command_handler.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/file_path_completion.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/load_context_completion.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/add_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/base.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/handler.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/help_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/install_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/list_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/logs_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/remove_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/restart_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/search_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/start_all_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/start_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/status_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/stop_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/test_command.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/utils.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/motd.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/prompt_toolkit_completion.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/utils.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/config.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/http_utils.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/main.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/async_lifecycle.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/blocking_startup.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/captured_stdio_server.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/circuit_breaker.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/config_wizard.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/dashboard.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/error_isolation.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/examples/retry_example.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/health_monitor.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/managed_server.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/manager.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/registry.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/retry_manager.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/server_registry_catalog.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/status_tracker.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/mcp_/system_tools.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/message_queue.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/queue_console.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/renderers.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/spinner/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/spinner/console_spinner.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/spinner/spinner_base.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/messaging/spinner/textual_spinner.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/model_factory.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/models.json +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/plugins/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/reopenable_async_client.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/round_robin_model.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/session_storage.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/status_display.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/summarization_agent.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/agent_tools.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_control.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_interactions.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_locators.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_navigation.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_screenshot.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_scripts.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/browser_workflows.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/camoufox_manager.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/browser/vqa_agent.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/command_runner.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/common.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/file_modifications.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/file_operations.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tools/tools_content.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/app.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/chat_view.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/command_history_modal.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/copy_button.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/custom_widgets.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/human_input_modal.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/input_area.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/sidebar.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/status_bar.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/messages.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/models/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/models/chat_message.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/models/command_history.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/models/enums.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/__init__.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/autosave_picker.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/help.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/mcp_install_wizard.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/screens/tools.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui_state.py +0 -0
- {code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/version_checker.py +0 -0
@@ -460,16 +460,21 @@ class BaseAgent(ABC):
|
|
460
460
|
|
461
461
|
def get_model_context_length(self) -> int:
|
462
462
|
"""
|
463
|
-
|
464
|
-
"""
|
465
|
-
model_configs = ModelFactory.load_config()
|
466
|
-
model_name = get_global_model_name()
|
467
|
-
|
468
|
-
# Get context length from model config
|
469
|
-
model_config = model_configs.get(model_name, {})
|
470
|
-
context_length = model_config.get("context_length", 128000) # Default value
|
463
|
+
Return the context length for this agent's effective model.
|
471
464
|
|
472
|
-
|
465
|
+
Honors per-agent pinned model via `self.get_model_name()`; falls back
|
466
|
+
to global model when no pin is set. Defaults conservatively on failure.
|
467
|
+
"""
|
468
|
+
try:
|
469
|
+
model_configs = ModelFactory.load_config()
|
470
|
+
# Use the agent's effective model (respects /pin_model)
|
471
|
+
model_name = self.get_model_name()
|
472
|
+
model_config = model_configs.get(model_name, {})
|
473
|
+
context_length = model_config.get("context_length", 128000)
|
474
|
+
return int(context_length)
|
475
|
+
except Exception:
|
476
|
+
# Be safe; don't blow up status/compaction if model lookup fails
|
477
|
+
return 128000
|
473
478
|
|
474
479
|
def prune_interrupted_tool_calls(
|
475
480
|
self, messages: List[ModelMessage]
|
{code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/model_picker_completion.py
RENAMED
@@ -29,13 +29,22 @@ def set_active_model(model_name: str):
|
|
29
29
|
Sets the active model name by updating the config (for persistence).
|
30
30
|
"""
|
31
31
|
set_model_name(model_name)
|
32
|
-
# Reload agent
|
32
|
+
# Reload the currently active agent so the new model takes effect immediately
|
33
33
|
try:
|
34
|
-
from code_puppy.
|
35
|
-
|
36
|
-
|
34
|
+
from code_puppy.agents import get_current_agent
|
35
|
+
|
36
|
+
current_agent = get_current_agent()
|
37
|
+
# JSON agents may need to refresh their config before reload
|
38
|
+
if hasattr(current_agent, "refresh_config"):
|
39
|
+
try:
|
40
|
+
current_agent.refresh_config()
|
41
|
+
except Exception:
|
42
|
+
# Non-fatal, continue to reload
|
43
|
+
...
|
44
|
+
current_agent.reload_code_generation_agent()
|
37
45
|
except Exception:
|
38
|
-
|
46
|
+
# Swallow errors to avoid breaking the prompt flow; model persists for next run
|
47
|
+
pass
|
39
48
|
|
40
49
|
|
41
50
|
class ModelNameCompleter(Completer):
|
@@ -217,6 +217,20 @@ class SettingsScreen(ModalScreen):
|
|
217
217
|
# Save model selection
|
218
218
|
if selected_model:
|
219
219
|
set_model_name(selected_model)
|
220
|
+
# Reload the active agent so model switch takes effect immediately
|
221
|
+
try:
|
222
|
+
from code_puppy.agents import get_current_agent
|
223
|
+
|
224
|
+
current_agent = get_current_agent()
|
225
|
+
if hasattr(current_agent, "refresh_config"):
|
226
|
+
try:
|
227
|
+
current_agent.refresh_config()
|
228
|
+
except Exception:
|
229
|
+
...
|
230
|
+
current_agent.reload_code_generation_agent()
|
231
|
+
except Exception:
|
232
|
+
# Non-fatal: settings saved; reload will happen on next run if needed
|
233
|
+
pass
|
220
234
|
|
221
235
|
set_config_value("yolo_mode", yolo_mode)
|
222
236
|
|
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
|
{code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/load_context_completion.py
RENAMED
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
|
{code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/command_line/prompt_toolkit_completion.py
RENAMED
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{code_puppy-0.0.198 → code_puppy-0.0.199}/code_puppy/tui/components/command_history_modal.py
RENAMED
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
|