code-puppy 0.0.875__tar.gz → 0.0.877__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.875 → code_puppy-0.0.877}/PKG-INFO +2 -2
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/pydantic_patches.py +21 -7
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/image_tools.py +2 -5
- {code_puppy-0.0.875 → code_puppy-0.0.877}/pyproject.toml +2 -2
- {code_puppy-0.0.875 → code_puppy-0.0.877}/.gitignore +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/LICENSE +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/README.md +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/__main__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/_plugin_i18n_lifecycle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/_pydantic_tool_helpers.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/_pydantic_video_patch.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agent_completion_inbox.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agent_execution_context.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_builder.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_code_mode.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_code_mode_guidance.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_compaction.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_diagnostics.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_history.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_key_listeners.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_model_message_transform.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_non_streaming_render.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_output_limits.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_run_signals.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_runtime.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_steer_processor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_subagent_recursion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_windows_console.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/_wire_tool_names.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_code_puppy.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_creator_agent.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_helios.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_manager.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_model_judge.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_planning.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_qa_kitten.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/agent_web_retriever.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/base_agent.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/event_stream_handler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/json_agent.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/retry_checkpoint.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/retry_profiles.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/run_stats.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/smooth_stream.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/stream_status.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/subagent_stream_handler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/agents/thinking_output.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/asyncio_cleanup.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/atomic_io.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/atomic_json.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/callbacks.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/capabilities/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/capabilities/compaction.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/capabilities/eager_timing.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/chatgpt_codex_client.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/claude_cache_client.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/claude_oauth_transport.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/cli_runner.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/add_model_details.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/add_model_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/add_model_menus.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/add_model_vllm.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/agent_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/attachments.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/autosave_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/autosave_search.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/clipboard.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/colors_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/command_handler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/command_registry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/completers.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/completion_cache.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/config_apply.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/config_commands.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/core_commands.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/file_index.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/file_path_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/help_catalog.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/help_overlay.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/image_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/load_context_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/base.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/catalog_server_installer.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/custom_server_form.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/custom_server_installer.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/edit_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/handler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/help_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/install_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/install_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/list_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/logs_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/mcp_servers_store.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/remove_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/restart_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/search_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/silence_warning_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/start_all_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/start_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/status_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/stop_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/trust_command.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp_binding_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/menu_session.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/model_picker_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/model_settings_defs.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/model_settings_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/onboarding_slides.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/onboarding_wizard.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/pagination.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/pin_command_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/refresh_models.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/session_browser.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/session_browser_data.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/session_commands.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu_catalog.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu_schema.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu_settings.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu_shims.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/set_menu_values.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/shell_passthrough.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/skills_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/tui_style.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/uc_menu.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/config.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/config_file.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/diagnostics.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/error_logging.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/events/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/events/bridge.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/file_completion_io.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/file_completion_tokens.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/gemini_code_assist.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/gemini_common.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/gemini_model.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/README.md +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/aliases.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/engine.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/executor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/matcher.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/models.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/registry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/hook_engine/validator.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/http_retry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/http_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/httpx2_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/audit.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/catalog.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/formats.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/interpolation.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/locale.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/locales/en-US.json +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/locales/es.json +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/locales/fr-CA.json +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/plugin_catalog.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/plurals.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/pseudo.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/i18n/translate.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/kennel_provider.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/keymap.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/list_filtering.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/main.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/agent_bindings.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/async_lifecycle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/blocking_startup.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/circuit_breaker.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/config_wizard.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/dashboard.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/error_isolation.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/examples/retry_example.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/health_monitor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/http_auth.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/managed_server.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/manager.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/manager_lifecycle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/mcp_logs.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/project_config.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/registry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/retry_manager.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/server_registry_catalog.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/status_tracker.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/system_tools.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/tool_arg_coercion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_/toolset_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_prompts/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/mcp_prompts/hook_creator.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/bar_painters.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/bar_rendering.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/bottom_bar.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/bus.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/chords.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/commands.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_actions.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_completion.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_display.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_history.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_keys.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_paste.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_queue.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/editor_submission.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/external_editor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/identity_line.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/idle_status.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/inline_bar.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/line_editor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/markdown_patches.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/menu_lifecycle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/message_queue.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/messages.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/pause_controller.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/prompt_prefix_style.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/queue_console.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/renderers.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/rich_renderer.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/run_ui.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/run_ui_wiring.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/speculation_line.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/speculation_stats.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/speculation_toggle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/spinner/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/status_line.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/subagent_console.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/theme_accent.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/tool_output.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/messaging/transcript_guard.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/model_descriptions.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/model_factory.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/model_switching.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/model_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/models.json +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/models_dev_api.json +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/models_dev_parser.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/observability.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/platform_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/config.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/oauth_pasteback.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/oauth_puppy_html.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/trust.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/plugins/trust_notice.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/private_inference.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/provider_credentials.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/provider_identity.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/reopenable_async_client.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/round_robin_model.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/secret_store.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/secret_store_backends.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/session_format_migration.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/session_lifecycle.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/session_migration.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/session_storage.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/session_surrogate_unpickler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/shared_credentials.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/skill_provider.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/splash.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/status_display.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/steer_metadata.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/terminal_utils.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/token_usage.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/_browser_registry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/_lazy.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/agent_tools.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/constants.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/demo_tui.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/handler.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/models.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/registration.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/renderers.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/terminal_ui.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/theme.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/ask_user_question/tui_loop.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/__init__.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_control.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_interactions.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_locator_resolver.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_locators.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_manager.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_navigation.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_page_snapshot.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_screenshot.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_scripts.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_semantic_interactions.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/browser_workflows.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/browser/tool_registry.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/command_runner.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/common.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/display.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/file_modifications.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/file_operations.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/file_permission_state.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/fs_access.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/io_backends.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/model_tools.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/shell_backgrounding.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/skills_tools.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/subagent_context.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/subagent_invocation.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/subagent_usage_metrics.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/tools_content.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/tools/universal_constructor.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/undo_manager.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/universal_constructor_provider.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/version_checker.py +0 -0
- {code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/zai_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: code-puppy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.877
|
|
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
|
|
@@ -40,7 +40,7 @@ Requires-Dist: python-dotenv>=1.0.0
|
|
|
40
40
|
Requires-Dist: requests>=2.28.0
|
|
41
41
|
Requires-Dist: rich>=13.4.2
|
|
42
42
|
Requires-Dist: ripgrep==14.1.0; sys_platform != 'android'
|
|
43
|
-
Requires-Dist: termflow-md>=0.
|
|
43
|
+
Requires-Dist: termflow-md>=0.10.0
|
|
44
44
|
Requires-Dist: typer>=0.12.0
|
|
45
45
|
Requires-Dist: websockets>=14.0
|
|
46
46
|
Provides-Extra: bedrock
|
|
@@ -576,21 +576,35 @@ def patch_termflow_clipboard() -> bool:
|
|
|
576
576
|
|
|
577
577
|
PR #335 added explicit ``RenderFeatures(clipboard=False)`` at the two
|
|
578
578
|
known instantiation sites, but that's whack-a-mole: any future code path
|
|
579
|
-
(or a
|
|
579
|
+
(or a termflow helper like ``render.document``) reintroduces the bug.
|
|
580
580
|
|
|
581
|
-
This patch
|
|
582
|
-
|
|
583
|
-
|
|
581
|
+
This patch forces ``features.clipboard`` off for every ``Renderer`` right
|
|
582
|
+
after construction. It targets the public flag every termflow version
|
|
583
|
+
checks, not a private helper: 0.10.0 inlined and removed
|
|
584
|
+
``_copy_to_clipboard``, which silently disarmed the previous no-op patch.
|
|
585
|
+
The caller's ``RenderFeatures`` is copied, never mutated.
|
|
584
586
|
"""
|
|
585
587
|
try:
|
|
588
|
+
from dataclasses import replace
|
|
589
|
+
|
|
586
590
|
from termflow.render.renderer import Renderer
|
|
587
591
|
except ImportError as exc:
|
|
588
592
|
return _optional_lib_missing("patch_termflow_clipboard", exc)
|
|
589
593
|
|
|
590
594
|
try:
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
595
|
+
original_init = Renderer.__init__
|
|
596
|
+
if getattr(original_init, "_code_puppy_no_clipboard", False):
|
|
597
|
+
return True # already applied
|
|
598
|
+
|
|
599
|
+
def _init_without_clipboard(self, *args, **kwargs):
|
|
600
|
+
original_init(self, *args, **kwargs)
|
|
601
|
+
self.features = replace(self.features, clipboard=False)
|
|
602
|
+
|
|
603
|
+
_init_without_clipboard._code_puppy_no_clipboard = True # type: ignore[attr-defined]
|
|
604
|
+
Renderer.__init__ = _init_without_clipboard # type: ignore[method-assign]
|
|
605
|
+
# Fail loudly now if termflow ever stops storing a features dataclass.
|
|
606
|
+
if Renderer().features.clipboard:
|
|
607
|
+
raise AttributeError("termflow Renderer.features.clipboard not honored")
|
|
594
608
|
return True
|
|
595
609
|
except Exception as exc:
|
|
596
610
|
return _patch_failed(
|
|
@@ -25,9 +25,8 @@ from code_puppy.tools.common import generate_group_id
|
|
|
25
25
|
|
|
26
26
|
logger = logging.getLogger(__name__)
|
|
27
27
|
|
|
28
|
-
#
|
|
29
|
-
MAX_IMAGE_EDGE =
|
|
30
|
-
DEFAULT_MAX_HEIGHT = 768 # kept for backward-compat in tool signature
|
|
28
|
+
# Largest edge is always clamped to this (aspect ratio preserved) to save tokens.
|
|
29
|
+
MAX_IMAGE_EDGE = 1024
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
def _normalized_filename(value: str) -> str:
|
|
@@ -133,7 +132,6 @@ def _validate_and_prepare_image(
|
|
|
133
132
|
|
|
134
133
|
async def load_image(
|
|
135
134
|
image_path: str,
|
|
136
|
-
max_height: int = DEFAULT_MAX_HEIGHT,
|
|
137
135
|
) -> Union[ToolReturn, Dict[str, Any]]:
|
|
138
136
|
"""Load an image from the filesystem for visual analysis."""
|
|
139
137
|
group_id = generate_group_id("load_image", image_path)
|
|
@@ -193,7 +191,6 @@ async def load_image(
|
|
|
193
191
|
prepared_image["output_width"],
|
|
194
192
|
prepared_image["output_height"],
|
|
195
193
|
],
|
|
196
|
-
"max_height": max_height,
|
|
197
194
|
"max_edge": MAX_IMAGE_EDGE,
|
|
198
195
|
"timestamp": time.time(),
|
|
199
196
|
},
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "code-puppy"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.877"
|
|
8
8
|
description = "Code generation agent"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
|
@@ -32,7 +32,7 @@ dependencies = [
|
|
|
32
32
|
"openai>=2.45.0",
|
|
33
33
|
"ripgrep==14.1.0; sys_platform != 'android'",
|
|
34
34
|
"playwright>=1.40.0; sys_platform != 'android'",
|
|
35
|
-
"termflow-md>=0.
|
|
35
|
+
"termflow-md>=0.10.0",
|
|
36
36
|
"Pillow>=10.0.0",
|
|
37
37
|
"azure-identity>=1.15.0",
|
|
38
38
|
"anthropic>=1.0.0,<2",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.875 → code_puppy-0.0.877}/code_puppy/command_line/load_context_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/catalog_server_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.875 → code_puppy-0.0.877}/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
|
{code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/mcp/silence_warning_command.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
|
{code_puppy-0.0.875 → code_puppy-0.0.877}/code_puppy/command_line/model_picker_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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|