code-puppy-core-plugins 0.0.81__tar.gz → 0.0.82__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.81 → code_puppy_core_plugins-0.0.82}/PKG-INFO +1 -1
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/permissions.py +83 -20
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/pyproject.toml +1 -1
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/THIRD_PARTY_NOTICES.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/agent.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/attachment_references/tool.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/background_agents/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/batch.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/launcher.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/restore.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/search.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/plugin_settings.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/session_namer/namer.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/spill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/spill/store.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/termflow_tui.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/README.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.81 → code_puppy_core_plugins-0.0.82}/code_puppy_core_plugins/yolo_cli/register_callbacks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: code-puppy-core-plugins
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.82
|
|
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
|
|
@@ -13,6 +13,9 @@ logic or forcing yolo mode:
|
|
|
13
13
|
and already runs on the ACP loop, so it can ``await`` the client directly.
|
|
14
14
|
|
|
15
15
|
Both edges fail **closed** (deny) if the connection is gone or the client errors.
|
|
16
|
+
A denial nobody chose -- a cancelled, failed or timed-out request, or an option
|
|
17
|
+
we do not recognize -- is reported as ``PermissionNotDecided`` rather than as the
|
|
18
|
+
user rejecting the operation, so the model is not told the user said no.
|
|
16
19
|
"""
|
|
17
20
|
|
|
18
21
|
from __future__ import annotations
|
|
@@ -27,6 +30,14 @@ from acp.schema import PermissionOption, ToolCallUpdate
|
|
|
27
30
|
from code_puppy.callbacks import register_callback
|
|
28
31
|
from code_puppy_core_plugins.acp import state
|
|
29
32
|
|
|
33
|
+
try:
|
|
34
|
+
from code_puppy.tools.file_permission_state import PermissionNotDecided
|
|
35
|
+
except ImportError: # pragma: no cover - code_puppy without the marker type
|
|
36
|
+
|
|
37
|
+
class PermissionNotDecided(str): # type: ignore[no-redef]
|
|
38
|
+
"""Stand-in for older cores, which report every denial as a rejection."""
|
|
39
|
+
|
|
40
|
+
|
|
30
41
|
logger = logging.getLogger(__name__)
|
|
31
42
|
|
|
32
43
|
# How long to wait for a human in the client to answer a permission dialog. Dialogs
|
|
@@ -39,6 +50,7 @@ _OPTIONS = [
|
|
|
39
50
|
PermissionOption(option_id="reject_once", name="Reject", kind="reject_once"),
|
|
40
51
|
]
|
|
41
52
|
_ALLOW_IDS = {"allow_once"}
|
|
53
|
+
_REJECT_IDS = {"reject_once"}
|
|
42
54
|
|
|
43
55
|
|
|
44
56
|
def _tool_call_ref(title: str) -> ToolCallUpdate:
|
|
@@ -55,24 +67,55 @@ def _tool_call_ref(title: str) -> ToolCallUpdate:
|
|
|
55
67
|
return ToolCallUpdate(tool_call_id=f"perm_{uuid.uuid4().hex[:12]}", title=title)
|
|
56
68
|
|
|
57
69
|
|
|
58
|
-
async def
|
|
59
|
-
|
|
70
|
+
async def _ask_client_outcome(
|
|
71
|
+
session_id: str, title: str
|
|
72
|
+
) -> Tuple[bool, Optional[PermissionNotDecided]]:
|
|
73
|
+
"""Show an allow/deny dialog in the client.
|
|
74
|
+
|
|
75
|
+
Returns ``(True, None)`` when allowed and ``(False, None)`` when a person
|
|
76
|
+
selected Reject. Every other denial -- no connection, a failed or
|
|
77
|
+
timed-out request, a cancelled dialog, an unknown option -- returns
|
|
78
|
+
``(False, PermissionNotDecided(reason))``.
|
|
79
|
+
"""
|
|
60
80
|
connection = state.get_connection()
|
|
61
81
|
if connection is None:
|
|
62
|
-
return False
|
|
82
|
+
return False, PermissionNotDecided("The client connection is unavailable.")
|
|
63
83
|
try:
|
|
64
|
-
response = await
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
84
|
+
response = await asyncio.wait_for(
|
|
85
|
+
connection.request_permission(
|
|
86
|
+
options=list(_OPTIONS),
|
|
87
|
+
session_id=session_id,
|
|
88
|
+
tool_call=_tool_call_ref(title),
|
|
89
|
+
),
|
|
90
|
+
timeout=_PERMISSION_TIMEOUT_S,
|
|
68
91
|
)
|
|
92
|
+
except asyncio.TimeoutError:
|
|
93
|
+
logger.warning("session/request_permission timed out; denying")
|
|
94
|
+
return False, PermissionNotDecided("The permission request timed out.")
|
|
69
95
|
except Exception: # noqa: BLE001
|
|
70
96
|
logger.exception("session/request_permission failed; denying")
|
|
71
|
-
return False
|
|
97
|
+
return False, PermissionNotDecided(
|
|
98
|
+
"The permission request could not be completed."
|
|
99
|
+
)
|
|
72
100
|
outcome = getattr(response, "outcome", None)
|
|
73
101
|
if getattr(outcome, "outcome", None) == "selected":
|
|
74
|
-
|
|
75
|
-
|
|
102
|
+
option_id = getattr(outcome, "option_id", None)
|
|
103
|
+
if option_id in _ALLOW_IDS:
|
|
104
|
+
return True, None
|
|
105
|
+
if option_id in _REJECT_IDS:
|
|
106
|
+
return False, None
|
|
107
|
+
return False, PermissionNotDecided(
|
|
108
|
+
"The client returned an unknown permission choice."
|
|
109
|
+
)
|
|
110
|
+
return False, PermissionNotDecided(
|
|
111
|
+
"The permission request was cancelled without a decision."
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
async def _ask_client(session_id: str, title: str) -> bool:
|
|
116
|
+
"""Show an allow/deny dialog in the client; return ``True`` if allowed."""
|
|
117
|
+
allowed, _ = await _ask_client_outcome(session_id, title)
|
|
118
|
+
return allowed
|
|
76
119
|
|
|
77
120
|
|
|
78
121
|
def _approval_backend(
|
|
@@ -80,13 +123,15 @@ def _approval_backend(
|
|
|
80
123
|
) -> Tuple[bool, Optional[str]]:
|
|
81
124
|
"""Approval backend for file ops; asks the client from the tool threadpool.
|
|
82
125
|
|
|
83
|
-
Returns ``(approved, feedback)``.
|
|
84
|
-
|
|
126
|
+
Returns ``(approved, feedback)``. The client's dialog is yes/no, not a
|
|
127
|
+
free-text channel, so feedback is ``None`` for an allow or a Reject, and a
|
|
128
|
+
``PermissionNotDecided`` when the operation was denied without anyone
|
|
129
|
+
choosing Reject.
|
|
85
130
|
"""
|
|
86
131
|
loop = state.get_loop()
|
|
87
132
|
session_id = state.get_active_session_id()
|
|
88
133
|
if loop is None or session_id is None:
|
|
89
|
-
return False,
|
|
134
|
+
return False, PermissionNotDecided("No client is available to ask.")
|
|
90
135
|
|
|
91
136
|
# Guard against being called on the loop thread itself: blocking on
|
|
92
137
|
# run_coroutine_threadsafe there would deadlock (file tools run off-loop).
|
|
@@ -96,17 +141,24 @@ def _approval_backend(
|
|
|
96
141
|
running = None
|
|
97
142
|
if running is loop:
|
|
98
143
|
logger.error("Approval backend hit on the ACP loop; denying to avoid deadlock")
|
|
99
|
-
return False,
|
|
144
|
+
return False, PermissionNotDecided(
|
|
145
|
+
"The permission request could not be completed."
|
|
146
|
+
)
|
|
100
147
|
|
|
101
|
-
future = asyncio.run_coroutine_threadsafe(
|
|
148
|
+
future = asyncio.run_coroutine_threadsafe(
|
|
149
|
+
_ask_client_outcome(session_id, title), loop
|
|
150
|
+
)
|
|
102
151
|
try:
|
|
103
|
-
|
|
152
|
+
# A little longer than the request's own timeout, which answers first.
|
|
153
|
+
allowed, not_decided = future.result(_PERMISSION_TIMEOUT_S + 5)
|
|
104
154
|
except Exception: # noqa: BLE001 - includes TimeoutError
|
|
105
155
|
# Abandon the in-flight request so it doesn't linger on the loop.
|
|
106
156
|
future.cancel()
|
|
107
157
|
logger.exception("ACP approval bridge failed; denying")
|
|
108
|
-
return False,
|
|
109
|
-
|
|
158
|
+
return False, PermissionNotDecided(
|
|
159
|
+
"The permission request could not be completed."
|
|
160
|
+
)
|
|
161
|
+
return bool(allowed), not_decided
|
|
110
162
|
|
|
111
163
|
|
|
112
164
|
async def _on_run_shell_command(
|
|
@@ -123,15 +175,26 @@ async def _on_run_shell_command(
|
|
|
123
175
|
auto-approve file writes yet still prompt for every shell command.
|
|
124
176
|
"""
|
|
125
177
|
session_id = state.get_active_session_id()
|
|
126
|
-
if
|
|
178
|
+
if session_id is None:
|
|
127
179
|
return None
|
|
128
180
|
from code_puppy.config import get_yolo_mode
|
|
129
181
|
|
|
130
182
|
if get_yolo_mode():
|
|
131
183
|
return None
|
|
132
|
-
allowed = await
|
|
184
|
+
allowed, not_decided = await _ask_client_outcome(
|
|
185
|
+
session_id, f"Run shell command: {command}"
|
|
186
|
+
)
|
|
133
187
|
if allowed:
|
|
134
188
|
return None
|
|
189
|
+
if not_decided is not None:
|
|
190
|
+
return {
|
|
191
|
+
"blocked": True,
|
|
192
|
+
"error_message": "Permission not granted",
|
|
193
|
+
"reasoning": (
|
|
194
|
+
f"{not_decided} The command was not run. The user did not "
|
|
195
|
+
"reject it; do not say they did."
|
|
196
|
+
),
|
|
197
|
+
}
|
|
135
198
|
return {
|
|
136
199
|
"blocked": True,
|
|
137
200
|
"error_message": "Command rejected in the client",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|