code-puppy 0.0.318__tar.gz → 0.0.319__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.318 → code_puppy-0.0.319}/PKG-INFO +1 -1
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/model_settings_menu.py +6 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/model_factory.py +48 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/models.json +1 -1
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/utils.py +1 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/pyproject.toml +1 -1
- {code_puppy-0.0.318 → code_puppy-0.0.319}/.gitignore +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/LICENSE +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/README.md +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/__main__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_c_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_code_puppy.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_code_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_cpp_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_creator_agent.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_golang_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_javascript_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_manager.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_planning.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_python_programmer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_python_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_qa_expert.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_qa_kitten.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_security_auditor.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/agent_typescript_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/base_agent.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/json_agent.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/agents/prompt_reviewer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/chatgpt_codex_client.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/claude_cache_client.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/cli_runner.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/add_model_menu.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/attachments.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/autosave_menu.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/colors_menu.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/command_handler.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/command_registry.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/config_commands.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/core_commands.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/diff_menu.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/file_path_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/load_context_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/add_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/base.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/catalog_server_installer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/custom_server_form.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/custom_server_installer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/edit_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/handler.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/help_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/install_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/install_menu.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/list_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/logs_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/remove_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/restart_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/search_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/start_all_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/start_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/status_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/stop_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/test_command.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/model_picker_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/motd.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/pin_command_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/prompt_toolkit_completion.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/session_commands.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/config.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/error_logging.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/gemini_code_assist.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/http_utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/keymap.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/main.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/async_lifecycle.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/blocking_startup.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/captured_stdio_server.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/circuit_breaker.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/config_wizard.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/dashboard.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/error_isolation.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/examples/retry_example.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/health_monitor.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/managed_server.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/manager.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/mcp_logs.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/registry.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/retry_manager.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/server_registry_catalog.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/status_tracker.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/mcp_/system_tools.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/bus.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/commands.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/markdown_patches.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/message_queue.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/messages.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/queue_console.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/renderers.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/rich_renderer.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/spinner/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/spinner/console_spinner.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/messaging/spinner/spinner_base.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/model_utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/models_dev_api.json +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/models_dev_parser.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/README.md +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/config.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/customizable_commands/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/example_custom_command/README.md +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/oauth_puppy_html.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/agent_shell_safety.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/command_cache.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/register_callbacks.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/prompts/codex_system_prompt.md +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/pydantic_patches.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/reopenable_async_client.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/round_robin_model.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/session_storage.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/status_display.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/summarization_agent.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/terminal_utils.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/agent_tools.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/__init__.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_control.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_interactions.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_locators.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_navigation.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_screenshot.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_scripts.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/browser_workflows.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/camoufox_manager.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/browser/vqa_agent.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/command_runner.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/common.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/file_modifications.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/file_operations.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/tools/tools_content.py +0 -0
- {code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/version_checker.py +0 -0
|
@@ -84,6 +84,12 @@ SETTING_DEFINITIONS: Dict[str, Dict] = {
|
|
|
84
84
|
"default": 10000,
|
|
85
85
|
"format": "{:.0f}",
|
|
86
86
|
},
|
|
87
|
+
"interleaved_thinking": {
|
|
88
|
+
"name": "Interleaved Thinking",
|
|
89
|
+
"description": "Enable thinking between tool calls (Claude 4 only: Opus 4.5, Opus 4.1, Opus 4, Sonnet 4). Adds beta header. WARNING: On Vertex/Bedrock, this FAILS for non-Claude 4 models!",
|
|
90
|
+
"type": "boolean",
|
|
91
|
+
"default": False,
|
|
92
|
+
},
|
|
87
93
|
}
|
|
88
94
|
|
|
89
95
|
|
|
@@ -319,9 +319,21 @@ class ModelFactory:
|
|
|
319
319
|
http2=http2_enabled,
|
|
320
320
|
)
|
|
321
321
|
|
|
322
|
+
# Check if interleaved thinking is enabled for this model
|
|
323
|
+
# Only applies to Claude 4 models (Opus 4.5, Opus 4.1, Opus 4, Sonnet 4)
|
|
324
|
+
from code_puppy.config import get_effective_model_settings
|
|
325
|
+
|
|
326
|
+
effective_settings = get_effective_model_settings(model_name)
|
|
327
|
+
interleaved_thinking = effective_settings.get("interleaved_thinking", False)
|
|
328
|
+
|
|
329
|
+
default_headers = {}
|
|
330
|
+
if interleaved_thinking:
|
|
331
|
+
default_headers["anthropic-beta"] = "interleaved-thinking-2025-05-14"
|
|
332
|
+
|
|
322
333
|
anthropic_client = AsyncAnthropic(
|
|
323
334
|
api_key=api_key,
|
|
324
335
|
http_client=client,
|
|
336
|
+
default_headers=default_headers if default_headers else None,
|
|
325
337
|
)
|
|
326
338
|
|
|
327
339
|
# Ensure cache_control is injected at the Anthropic SDK layer
|
|
@@ -351,10 +363,21 @@ class ModelFactory:
|
|
|
351
363
|
http2=http2_enabled,
|
|
352
364
|
)
|
|
353
365
|
|
|
366
|
+
# Check if interleaved thinking is enabled for this model
|
|
367
|
+
from code_puppy.config import get_effective_model_settings
|
|
368
|
+
|
|
369
|
+
effective_settings = get_effective_model_settings(model_name)
|
|
370
|
+
interleaved_thinking = effective_settings.get("interleaved_thinking", False)
|
|
371
|
+
|
|
372
|
+
default_headers = {}
|
|
373
|
+
if interleaved_thinking:
|
|
374
|
+
default_headers["anthropic-beta"] = "interleaved-thinking-2025-05-14"
|
|
375
|
+
|
|
354
376
|
anthropic_client = AsyncAnthropic(
|
|
355
377
|
base_url=url,
|
|
356
378
|
http_client=client,
|
|
357
379
|
api_key=api_key,
|
|
380
|
+
default_headers=default_headers if default_headers else None,
|
|
358
381
|
)
|
|
359
382
|
|
|
360
383
|
# Ensure cache_control is injected at the Anthropic SDK layer
|
|
@@ -370,6 +393,31 @@ class ModelFactory:
|
|
|
370
393
|
)
|
|
371
394
|
return None
|
|
372
395
|
|
|
396
|
+
# Check if interleaved thinking is enabled (defaults to True for OAuth models)
|
|
397
|
+
from code_puppy.config import get_effective_model_settings
|
|
398
|
+
|
|
399
|
+
effective_settings = get_effective_model_settings(model_name)
|
|
400
|
+
interleaved_thinking = effective_settings.get("interleaved_thinking", True)
|
|
401
|
+
|
|
402
|
+
# Handle anthropic-beta header based on interleaved_thinking setting
|
|
403
|
+
if "anthropic-beta" in headers:
|
|
404
|
+
beta_parts = [p.strip() for p in headers["anthropic-beta"].split(",")]
|
|
405
|
+
if interleaved_thinking:
|
|
406
|
+
# Ensure interleaved-thinking is in the header
|
|
407
|
+
if "interleaved-thinking-2025-05-14" not in beta_parts:
|
|
408
|
+
beta_parts.append("interleaved-thinking-2025-05-14")
|
|
409
|
+
else:
|
|
410
|
+
# Remove interleaved-thinking from the header
|
|
411
|
+
beta_parts = [
|
|
412
|
+
p for p in beta_parts if "interleaved-thinking" not in p
|
|
413
|
+
]
|
|
414
|
+
headers["anthropic-beta"] = ",".join(beta_parts) if beta_parts else None
|
|
415
|
+
if headers.get("anthropic-beta") is None:
|
|
416
|
+
del headers["anthropic-beta"]
|
|
417
|
+
elif interleaved_thinking:
|
|
418
|
+
# No existing beta header, add one for interleaved thinking
|
|
419
|
+
headers["anthropic-beta"] = "interleaved-thinking-2025-05-14"
|
|
420
|
+
|
|
373
421
|
# Use a dedicated client wrapper that injects cache_control on /v1/messages
|
|
374
422
|
if verify is None:
|
|
375
423
|
verify = get_cert_bundle_path()
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"type": "anthropic",
|
|
82
82
|
"name": "claude-opus-4-5",
|
|
83
83
|
"context_length": 200000,
|
|
84
|
-
"supported_settings": ["temperature", "extended_thinking", "budget_tokens"]
|
|
84
|
+
"supported_settings": ["temperature", "extended_thinking", "budget_tokens", "interleaved_thinking"]
|
|
85
85
|
},
|
|
86
86
|
"zai-glm-4.6-coding": {
|
|
87
87
|
"type": "zai_coding",
|
|
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.318 → code_puppy-0.0.319}/code_puppy/command_line/load_context_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/catalog_server_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/mcp/custom_server_installer.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
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/command_line/model_picker_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/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
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py
RENAMED
|
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.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/register_callbacks.py
RENAMED
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/claude_code_oauth/test_plugin.py
RENAMED
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/customizable_commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/example_custom_command/README.md
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/file_permission_handler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/agent_shell_safety.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.318 → code_puppy-0.0.319}/code_puppy/plugins/shell_safety/register_callbacks.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
|