newcode 0.2.9__tar.gz → 0.2.10__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.
- {newcode-0.2.9 → newcode-0.2.10}/PKG-INFO +1 -1
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/base_agent.py +41 -6
- {newcode-0.2.9 → newcode-0.2.10}/pyproject.toml +1 -1
- {newcode-0.2.9 → newcode-0.2.10}/.gitignore +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/LICENSE +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/README.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/__main__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_c_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_code_agent.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_code_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_cpp_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_creator_agent.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_golang_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_javascript_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_pack_leader.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_planning.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_python_programmer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_python_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_qa_browser.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_qa_expert.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_security_auditor.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_terminal_qa.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/agent_typescript_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/event_stream_handler.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/json_agent.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/bloodhound.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/husky.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/retriever.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/shepherd.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/terrier.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/pack/watchdog.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/prompt_reviewer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/agents/subagent_stream_handler.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/app.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/main.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/pty_manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/routers/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/routers/agents.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/routers/commands.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/routers/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/routers/sessions.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/templates/terminal.html +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/api/websocket.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/chatgpt_codex_client.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/claude_cache_client.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/cli_runner.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/add_model_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/agent_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/attachments.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/autosave_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/clipboard.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/colors_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/command_handler.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/command_registry.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/config_commands.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/core_commands.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/diff_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/file_path_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/load_context_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/base.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/catalog_server_installer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/custom_server_form.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/custom_server_installer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/edit_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/handler.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/help_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/install_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/install_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/list_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/logs_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/remove_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/restart_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/search_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/start_all_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/start_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/status_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/stop_all_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/stop_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/test_command.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp/wizard_utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/mcp_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/model_picker_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/model_settings_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/motd.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/onboarding_slides.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/onboarding_wizard.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/pin_command_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/prompt_toolkit_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/session_commands.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/skills_completion.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/uc_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/command_line/wiggum_state.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/error_logging.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/gemini_code_assist.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/gemini_model.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/README.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/aliases.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/engine.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/executor.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/matcher.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/models.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/registry.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/hook_engine/validator.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/http_utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/image_utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/keymap.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/main.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/async_lifecycle.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/blocking_startup.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/captured_stdio_server.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/circuit_breaker.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/config_wizard.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/dashboard.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/error_isolation.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/examples/retry_example.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/health_monitor.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/managed_server.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/mcp_logs.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/registry.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/retry_manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/server_registry_catalog.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/status_tracker.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_/system_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_prompts/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/mcp_prompts/hook_creator.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/bus.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/commands.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/markdown_patches.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/message_queue.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/messages.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/queue_console.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/renderers.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/rich_renderer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/spinner/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/spinner/console_spinner.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/spinner/spinner_base.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/messaging/subagent_console.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/model_factory.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/model_switching.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/model_utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/models.json +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/models_dev_api.json +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/models_dev_parser.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/discovery.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/downloader.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/installer.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/metadata.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/prompt_builder.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/remote_catalog.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/skill_catalog.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/skills_install_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/agent_skills/skills_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/accounts.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/antigravity_model.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/constants.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/oauth.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/storage.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/test_plugin.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/token.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/transport.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/antigravity_oauth/utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/test_plugin.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/chatgpt_oauth/utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_hooks/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_hooks/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_hooks/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/README.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/SETUP.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/test_plugin.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/claude_code_oauth/utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/customizable_commands/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/customizable_commands/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/example_custom_command/README.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/example_custom_command/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/file_permission_handler/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/file_permission_handler/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/frontend_emitter/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/frontend_emitter/emitter.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/frontend_emitter/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_creator/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_creator/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_manager/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_manager/config.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_manager/hooks_menu.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/hook_manager/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/oauth_puppy_html.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/shell_safety/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/shell_safety/agent_shell_safety.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/shell_safety/command_cache.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/shell_safety/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/synthetic_status/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/synthetic_status/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/synthetic_status/status_api.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/universal_constructor/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/universal_constructor/models.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/universal_constructor/register_callbacks.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/universal_constructor/registry.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/plugins/universal_constructor/sandbox.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/prompts/antigravity_system_prompt.md +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/pydantic_patches.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/reopenable_async_client.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/round_robin_model.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/session_storage.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/status_display.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/summarization_agent.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/terminal_utils.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/agent_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/constants.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/demo_tui.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/handler.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/models.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/registration.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/renderers.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/terminal_ui.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/theme.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/ask_user_question/tui_loop.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/__init__.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_control.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_interactions.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_locators.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_navigation.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_screenshot.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_scripts.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/browser_workflows.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/chromium_terminal_manager.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/terminal_command_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/terminal_screenshot_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/browser/terminal_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/command_runner.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/common.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/display.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/file_modifications.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/file_operations.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/skills_tools.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/subagent_context.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/tools_content.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/tools/universal_constructor.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/uvx_detection.py +0 -0
- {newcode-0.2.9 → newcode-0.2.10}/newcode/version_checker.py +0 -0
|
@@ -1441,6 +1441,28 @@ class BaseAgent(ABC):
|
|
|
1441
1441
|
self._mcp_servers = filtered_mcp_servers
|
|
1442
1442
|
return self._code_generation_agent
|
|
1443
1443
|
|
|
1444
|
+
def _reload_live_agent_after_token_refresh(
|
|
1445
|
+
self,
|
|
1446
|
+
*,
|
|
1447
|
+
output_type: Optional[Type[Any]] = None,
|
|
1448
|
+
message_group: Optional[str] = None,
|
|
1449
|
+
) -> Optional[PydanticAgent]:
|
|
1450
|
+
"""Rebuild the live agent so refreshed OAuth tokens take effect immediately."""
|
|
1451
|
+
try:
|
|
1452
|
+
self.reload_code_generation_agent(message_group=message_group)
|
|
1453
|
+
if output_type is not None:
|
|
1454
|
+
return self._create_agent_with_output_type(output_type)
|
|
1455
|
+
return self._code_generation_agent
|
|
1456
|
+
except Exception as exc:
|
|
1457
|
+
emit_warning(
|
|
1458
|
+
(
|
|
1459
|
+
"Token refresh succeeded, but rebuilding the live model client "
|
|
1460
|
+
f"failed: {exc}"
|
|
1461
|
+
),
|
|
1462
|
+
group_id=message_group,
|
|
1463
|
+
)
|
|
1464
|
+
return None
|
|
1465
|
+
|
|
1444
1466
|
def _create_agent_with_output_type(self, output_type: Type[Any]) -> PydanticAgent:
|
|
1445
1467
|
"""Create a temporary agent configured with a custom output_type.
|
|
1446
1468
|
|
|
@@ -1763,10 +1785,11 @@ class BaseAgent(ABC):
|
|
|
1763
1785
|
pydantic_agent = (
|
|
1764
1786
|
self._code_generation_agent or self.reload_code_generation_agent()
|
|
1765
1787
|
)
|
|
1788
|
+
current_output_type = output_type
|
|
1766
1789
|
|
|
1767
1790
|
# If a custom output_type is specified, create a temporary agent with that type
|
|
1768
|
-
if
|
|
1769
|
-
pydantic_agent = self._create_agent_with_output_type(
|
|
1791
|
+
if current_output_type is not None:
|
|
1792
|
+
pydantic_agent = self._create_agent_with_output_type(current_output_type)
|
|
1770
1793
|
|
|
1771
1794
|
# Handle model-specific prompt transformations via prepare_prompt_for_model()
|
|
1772
1795
|
# This uses the get_model_system_prompt hook, so plugins can register their own handlers
|
|
@@ -1822,6 +1845,7 @@ class BaseAgent(ABC):
|
|
|
1822
1845
|
prompt_payload = prompt
|
|
1823
1846
|
|
|
1824
1847
|
async def run_agent_task():
|
|
1848
|
+
nonlocal pydantic_agent
|
|
1825
1849
|
_cloudflare_retry_attempted = False
|
|
1826
1850
|
|
|
1827
1851
|
while True:
|
|
@@ -1906,11 +1930,22 @@ class BaseAgent(ABC):
|
|
|
1906
1930
|
)
|
|
1907
1931
|
|
|
1908
1932
|
if refreshed_token:
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1933
|
+
rebuilt_agent = self._reload_live_agent_after_token_refresh(
|
|
1934
|
+
output_type=current_output_type,
|
|
1935
|
+
message_group=group_id,
|
|
1912
1936
|
)
|
|
1913
|
-
|
|
1937
|
+
if rebuilt_agent is not None:
|
|
1938
|
+
pydantic_agent = rebuilt_agent
|
|
1939
|
+
emit_info(
|
|
1940
|
+
"Token refresh successful, rebuilt Claude Code client, retrying request...",
|
|
1941
|
+
group_id=group_id,
|
|
1942
|
+
)
|
|
1943
|
+
_retry_after_cloudflare_refresh = True
|
|
1944
|
+
else:
|
|
1945
|
+
emit_info(
|
|
1946
|
+
"Token refresh succeeded, but retry aborted because the live Claude Code client could not be rebuilt.",
|
|
1947
|
+
group_id=group_id,
|
|
1948
|
+
)
|
|
1914
1949
|
|
|
1915
1950
|
if not _retry_after_cloudflare_refresh:
|
|
1916
1951
|
# Filter out CancelledError and UsageLimitExceeded from the exception group - let it propagate
|
|
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
|
|
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
|
|
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
|
|
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
|