code-puppy-core-plugins 0.0.68__tar.gz → 0.0.70__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_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/PKG-INFO +3 -1
- code_puppy_core_plugins-0.0.70/THIRD_PARTY_NOTICES.md +56 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +16 -16
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +6 -6
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/responses_stream.py +8 -8
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/pyproject.toml +5 -1
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/agent.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/background_agents/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/restore.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/search.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/session_namer/namer.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/spill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/spill/store.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/termflow_tui.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/README.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/token_ratio_learner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/token_ratio_learner/ratios.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/token_ratio_learner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.68 → code_puppy_core_plugins-0.0.70}/code_puppy_core_plugins/yolo_cli/register_callbacks.py +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: code-puppy-core-plugins
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.70
|
|
4
4
|
Summary: Official plugin bundle for Code Puppy
|
|
5
5
|
Project-URL: Repository, https://github.com/mpfaffenberger/code_puppy_core_plugins
|
|
6
6
|
Project-URL: Homepage, https://github.com/mpfaffenberger/code_puppy_core_plugins
|
|
7
7
|
Author: Michael Pfaffenberger
|
|
8
8
|
License: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
|
+
License-File: THIRD_PARTY_NOTICES.md
|
|
10
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
12
|
Classifier: Operating System :: OS Independent
|
|
12
13
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -14,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
14
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
17
|
Requires-Python: <3.15,>=3.11
|
|
18
|
+
Requires-Dist: httpx2>=2.7
|
|
17
19
|
Requires-Dist: httpx<1,>=0.24.1
|
|
18
20
|
Requires-Dist: pydantic-ai-slim[anthropic,mcp,openai,typesafe]<3,>=2.51.0
|
|
19
21
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Third-Party Notices
|
|
2
|
+
|
|
3
|
+
This package includes material derived from the third-party projects listed
|
|
4
|
+
below. Each remains under its own license; the full license text is either
|
|
5
|
+
reproduced here or shipped next to the derived code, as noted.
|
|
6
|
+
|
|
7
|
+
## jg
|
|
8
|
+
|
|
9
|
+
- Source: https://github.com/remotehostai/jg (version 1.0.1, commit
|
|
10
|
+
`e4f464467130da8b60ee46f93bc6732f5c9bd196`)
|
|
11
|
+
- License: MIT
|
|
12
|
+
- Used in `code_puppy_core_plugins/jev_grep/`:
|
|
13
|
+
- `chunks.py`: ported from `src/chunks.mjs` (line windows, Python AST
|
|
14
|
+
partitioning, merging of short adjacent declarations)
|
|
15
|
+
- `retrieve.py`: ported from `src/retrieve.mjs` (BM25 ranking, identifier
|
|
16
|
+
term splitting, synonym groups)
|
|
17
|
+
- `search.py`: adapted from `src/search.mjs` (overlapping-window
|
|
18
|
+
de-duplication, narrower evidence block selection)
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
MIT License
|
|
22
|
+
|
|
23
|
+
Copyright (c) 2026 Remotehost
|
|
24
|
+
|
|
25
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
26
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
27
|
+
in the Software without restriction, including without limitation the rights
|
|
28
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
29
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
30
|
+
furnished to do so, subject to the following conditions:
|
|
31
|
+
|
|
32
|
+
The above copyright notice and this permission notice shall be included in all
|
|
33
|
+
copies or substantial portions of the Software.
|
|
34
|
+
|
|
35
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
36
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
37
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
38
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
39
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
40
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
41
|
+
SOFTWARE.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## DeepSeek Harness
|
|
45
|
+
|
|
46
|
+
- Source: https://github.com/deepseek-ai/DeepSeek-Harness
|
|
47
|
+
- License: MIT, Copyright (c) 2026 DeepSeek
|
|
48
|
+
- Used in `code_puppy_core_plugins/spill/`: ported spill design. The full
|
|
49
|
+
license text ships alongside it in `code_puppy_core_plugins/spill/LICENSE.deepseek`.
|
|
50
|
+
|
|
51
|
+
## llxprt-code
|
|
52
|
+
|
|
53
|
+
- Source: https://github.com/vybestack/llxprt-code
|
|
54
|
+
- License: Apache-2.0
|
|
55
|
+
- Used in `code_puppy_core_plugins/theme/`: the Green Screen theme's phosphor
|
|
56
|
+
color values. Attribution only; no llxprt-code source code is included.
|
|
@@ -10,7 +10,7 @@ pydantic-ai's ``openai_chat_send_back_thinking_parts="field"`` mode preserves
|
|
|
10
10
|
``reasoning_opaque``. The Copilot API returns **400 Bad Request** if
|
|
11
11
|
``reasoning_text`` is sent without the accompanying ``reasoning_opaque``.
|
|
12
12
|
|
|
13
|
-
This module monkey-patches the
|
|
13
|
+
This module monkey-patches the httpx2 client to transparently:
|
|
14
14
|
|
|
15
15
|
1. Capture ``reasoning_opaque`` (keyed by ``reasoning_text``) from responses
|
|
16
16
|
2. Inject the matching ``reasoning_opaque`` into outgoing request messages
|
|
@@ -25,8 +25,8 @@ import json
|
|
|
25
25
|
import logging
|
|
26
26
|
from typing import Any, Dict
|
|
27
27
|
|
|
28
|
-
import
|
|
29
|
-
from
|
|
28
|
+
import httpx2
|
|
29
|
+
from httpx2 import AsyncByteStream
|
|
30
30
|
|
|
31
31
|
logger = logging.getLogger(__name__)
|
|
32
32
|
|
|
@@ -57,8 +57,8 @@ class _OpaqueCapturingStream(AsyncByteStream):
|
|
|
57
57
|
lines, parses JSON, and pairs ``reasoning_text`` chunks with
|
|
58
58
|
``reasoning_opaque`` chunks for storage in *opaque_cache*.
|
|
59
59
|
|
|
60
|
-
Inherits from ``
|
|
61
|
-
``
|
|
60
|
+
Inherits from ``httpx2.AsyncByteStream`` so that
|
|
61
|
+
``httpx2.Response.aclose()`` recognises us as an async stream and
|
|
62
62
|
doesn't blow up with *"Attempted to call an async close on an sync
|
|
63
63
|
stream"*. Ask me how I know.
|
|
64
64
|
"""
|
|
@@ -188,9 +188,9 @@ def _capture_from_content(
|
|
|
188
188
|
|
|
189
189
|
|
|
190
190
|
def _rebuild_request_body(
|
|
191
|
-
request:
|
|
191
|
+
request: httpx2.Request,
|
|
192
192
|
body: dict,
|
|
193
|
-
client:
|
|
193
|
+
client: httpx2.AsyncClient,
|
|
194
194
|
) -> None:
|
|
195
195
|
"""Replace the request body in-place (mirrors ChatGPTCodexAsyncClient)."""
|
|
196
196
|
new_body = json.dumps(body).encode("utf-8")
|
|
@@ -210,9 +210,9 @@ def _rebuild_request_body(
|
|
|
210
210
|
|
|
211
211
|
|
|
212
212
|
def _inject_opaque_into_request(
|
|
213
|
-
request:
|
|
213
|
+
request: httpx2.Request,
|
|
214
214
|
opaque_cache: Dict[str, str],
|
|
215
|
-
client:
|
|
215
|
+
client: httpx2.AsyncClient,
|
|
216
216
|
thinking_field: str,
|
|
217
217
|
) -> None:
|
|
218
218
|
"""Add stored ``reasoning_opaque`` to assistant messages that need it.
|
|
@@ -288,8 +288,8 @@ def _inject_opaque_into_request(
|
|
|
288
288
|
|
|
289
289
|
|
|
290
290
|
def _strip_all_reasoning_fields(
|
|
291
|
-
request:
|
|
292
|
-
client:
|
|
291
|
+
request: httpx2.Request,
|
|
292
|
+
client: httpx2.AsyncClient,
|
|
293
293
|
thinking_field: str,
|
|
294
294
|
) -> bool:
|
|
295
295
|
"""Remove ALL reasoning fields from the request body.
|
|
@@ -340,17 +340,17 @@ def _strip_all_reasoning_fields(
|
|
|
340
340
|
|
|
341
341
|
|
|
342
342
|
def patch_client_for_reasoning_opaque(
|
|
343
|
-
client:
|
|
343
|
+
client: httpx2.AsyncClient,
|
|
344
344
|
thinking_field: str = "reasoning_text",
|
|
345
345
|
) -> None:
|
|
346
346
|
"""Monkey-patch *client* to round-trip ``reasoning_opaque`` transparently.
|
|
347
347
|
|
|
348
348
|
Call **after** creating the client but **before** handing it to
|
|
349
|
-
``OpenAIProvider``. Works with plain ``
|
|
349
|
+
``OpenAIProvider``. Works with plain ``httpx2.AsyncClient`` and the
|
|
350
350
|
``RetryingAsyncClient`` subclass returned by ``create_async_client``.
|
|
351
351
|
|
|
352
352
|
Args:
|
|
353
|
-
client: The
|
|
353
|
+
client: The httpx2 async client to patch.
|
|
354
354
|
thinking_field: JSON field name that carries the thinking content
|
|
355
355
|
(default ``"reasoning_text"`` — the Copilot Claude convention).
|
|
356
356
|
"""
|
|
@@ -358,8 +358,8 @@ def patch_client_for_reasoning_opaque(
|
|
|
358
358
|
original_send = client.send
|
|
359
359
|
|
|
360
360
|
async def _patched_send(
|
|
361
|
-
request:
|
|
362
|
-
) ->
|
|
361
|
+
request: httpx2.Request, *args: Any, **kwargs: Any
|
|
362
|
+
) -> httpx2.Response:
|
|
363
363
|
# 1) Inject reasoning_opaque into outgoing POST bodies.
|
|
364
364
|
# Also strips orphaned reasoning_text with no cached opaque.
|
|
365
365
|
if request.method == "POST":
|
|
@@ -371,11 +371,11 @@ def _create_copilot_model(model_name: str, model_config: Dict, config: Dict) ->
|
|
|
371
371
|
GPT-5.6 family, Codex, Grok, ...) are built as ``OpenAIResponsesModel``;
|
|
372
372
|
everything else keeps using Chat Completions.
|
|
373
373
|
"""
|
|
374
|
-
import
|
|
374
|
+
import httpx2
|
|
375
375
|
from pydantic_ai.models.openai import OpenAIChatModel, OpenAIResponsesModel
|
|
376
376
|
from pydantic_ai.providers.openai import OpenAIProvider
|
|
377
377
|
|
|
378
|
-
from code_puppy.
|
|
378
|
+
from code_puppy.httpx2_utils import create_async_client
|
|
379
379
|
|
|
380
380
|
# Discover token — match against the host stored in the model config
|
|
381
381
|
host = model_config.get("copilot_host", "github.com")
|
|
@@ -405,14 +405,14 @@ def _create_copilot_model(model_name: str, model_config: Dict, config: Dict) ->
|
|
|
405
405
|
"Openai-Intent": COPILOT_AUTH_CONFIG["openai_intent"],
|
|
406
406
|
}
|
|
407
407
|
|
|
408
|
-
class _CopilotAuth(
|
|
409
|
-
"""
|
|
408
|
+
class _CopilotAuth(httpx2.Auth):
|
|
409
|
+
"""httpx2 auth flow that refreshes the Copilot session token per-request."""
|
|
410
410
|
|
|
411
411
|
def __init__(self, oauth_token: str, token_host: str):
|
|
412
412
|
self._oauth_token = oauth_token
|
|
413
413
|
self._host = token_host
|
|
414
414
|
|
|
415
|
-
def auth_flow(self, request:
|
|
415
|
+
def auth_flow(self, request: httpx2.Request):
|
|
416
416
|
token = get_valid_session_token(self._oauth_token, self._host)
|
|
417
417
|
if token:
|
|
418
418
|
request.headers["Authorization"] = f"Bearer {token}"
|
|
@@ -447,7 +447,7 @@ def _create_copilot_model(model_name: str, model_config: Dict, config: Dict) ->
|
|
|
447
447
|
from .reasoning_client import patch_client_for_reasoning_opaque
|
|
448
448
|
|
|
449
449
|
# Field-mode so thinking persists across tool calls; the reasoning_opaque
|
|
450
|
-
# interceptor (patched onto the
|
|
450
|
+
# interceptor (patched onto the httpx2 client) re-injects the encrypted blob
|
|
451
451
|
# into subsequent requests, preventing 400s.
|
|
452
452
|
profile = OpenAIModelProfile(
|
|
453
453
|
openai_chat_thinking_field="reasoning_text",
|
|
@@ -14,7 +14,7 @@ brand-new part: tool calls come through with empty ``arguments`` (the
|
|
|
14
14
|
``read_file ... Field required: file_path`` failure) and assistant text is
|
|
15
15
|
split into one part per delta.
|
|
16
16
|
|
|
17
|
-
This module wraps the
|
|
17
|
+
This module wraps the httpx2 response byte-stream and rewrites each event so
|
|
18
18
|
every item keeps the first id seen for its ``output_index``. Bytes that
|
|
19
19
|
are not SSE ``data:`` JSON events pass through untouched. The wrapper
|
|
20
20
|
follows the ``_OpaqueCapturingStream`` pattern in ``reasoning_client``.
|
|
@@ -26,8 +26,8 @@ import json
|
|
|
26
26
|
import logging
|
|
27
27
|
from typing import Any, Dict
|
|
28
28
|
|
|
29
|
-
import
|
|
30
|
-
from
|
|
29
|
+
import httpx2
|
|
30
|
+
from httpx2 import AsyncByteStream
|
|
31
31
|
|
|
32
32
|
logger = logging.getLogger(__name__)
|
|
33
33
|
|
|
@@ -112,7 +112,7 @@ class _StableIdStream(AsyncByteStream):
|
|
|
112
112
|
Buffers bytes, splits on newlines, rewrites ``data:`` JSON events via
|
|
113
113
|
:func:`normalise_event_ids`, and re-emits them. Everything else (event
|
|
114
114
|
lines, blank separators, ``[DONE]``, unparseable payloads) is forwarded
|
|
115
|
-
verbatim. Inherits ``
|
|
115
|
+
verbatim. Inherits ``httpx2.AsyncByteStream`` so ``Response.aclose()``
|
|
116
116
|
treats it as an async stream.
|
|
117
117
|
"""
|
|
118
118
|
|
|
@@ -166,7 +166,7 @@ class _StableIdStream(AsyncByteStream):
|
|
|
166
166
|
return b"data: " + json.dumps(event, ensure_ascii=False).encode("utf-8")
|
|
167
167
|
|
|
168
168
|
|
|
169
|
-
def _is_responses_sse(request:
|
|
169
|
+
def _is_responses_sse(request: httpx2.Request, response: httpx2.Response) -> bool:
|
|
170
170
|
if request.method != "POST" or not request.url.path.rstrip("/").endswith(
|
|
171
171
|
"/responses"
|
|
172
172
|
):
|
|
@@ -175,7 +175,7 @@ def _is_responses_sse(request: httpx.Request, response: httpx.Response) -> bool:
|
|
|
175
175
|
return "text/event-stream" in content_type.lower()
|
|
176
176
|
|
|
177
177
|
|
|
178
|
-
def patch_client_for_stable_ids(client:
|
|
178
|
+
def patch_client_for_stable_ids(client: httpx2.AsyncClient) -> None:
|
|
179
179
|
"""Monkey-patch *client* so ``/responses`` SSE streams carry stable ids.
|
|
180
180
|
|
|
181
181
|
Call after creating the client and before handing it to
|
|
@@ -186,8 +186,8 @@ def patch_client_for_stable_ids(client: httpx.AsyncClient) -> None:
|
|
|
186
186
|
original_send = client.send
|
|
187
187
|
|
|
188
188
|
async def _patched_send(
|
|
189
|
-
request:
|
|
190
|
-
) ->
|
|
189
|
+
request: httpx2.Request, *args: Any, **kwargs: Any
|
|
190
|
+
) -> httpx2.Response:
|
|
191
191
|
response = await original_send(request, *args, **kwargs)
|
|
192
192
|
if (
|
|
193
193
|
response.status_code == 200
|
|
@@ -4,15 +4,19 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "code-puppy-core-plugins"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.70"
|
|
8
8
|
description = "Official plugin bundle for Code Puppy"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
|
11
11
|
dependencies = [
|
|
12
12
|
"httpx>=0.24.1,<1",
|
|
13
|
+
"httpx2>=2.7",
|
|
13
14
|
"pydantic-ai-slim[openai,anthropic,mcp,typesafe]>=2.51.0,<3",
|
|
14
15
|
]
|
|
15
16
|
license = {text = "MIT"}
|
|
17
|
+
# Ship third-party notices with every build: MIT requires the notice to
|
|
18
|
+
# accompany ported code (see THIRD_PARTY_NOTICES.md).
|
|
19
|
+
license-files = ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
16
20
|
authors = [{name = "Michael Pfaffenberger"}]
|
|
17
21
|
classifiers = [
|
|
18
22
|
"Programming Language :: Python :: 3",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|