code-puppy-core-plugins 0.0.4__tar.gz → 0.0.5__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.4 → code_puppy_core_plugins-0.0.5}/PKG-INFO +1 -1
- code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/LICENSE.deepseek +28 -0
- code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/__init__.py +1 -0
- code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/register_callbacks.py +235 -0
- code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/store.py +97 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/pyproject.toml +2 -1
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/agent.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/downloader.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/installer.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/remote_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skill_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skills_install_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu_layout.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/agent_shell_safety.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/command_cache.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/README.md +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/ratios.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wide_completion_menu/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wide_completion_menu/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/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.5
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
DeepSeek Harness spill attribution
|
|
2
|
+
|
|
3
|
+
The spill functionality in this package is based on the spill packages from
|
|
4
|
+
DeepSeek Harness:
|
|
5
|
+
|
|
6
|
+
https://github.com/deepseek-ai/DeepSeek-Harness
|
|
7
|
+
|
|
8
|
+
MIT License
|
|
9
|
+
|
|
10
|
+
Copyright (c) 2026 DeepSeek
|
|
11
|
+
|
|
12
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
13
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
14
|
+
in the Software without restriction, including without limitation the rights
|
|
15
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
16
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
17
|
+
furnished to do so, subject to the following conditions:
|
|
18
|
+
|
|
19
|
+
The above copyright notice and this permission notice shall be included in all
|
|
20
|
+
copies or substantial portions of the Software.
|
|
21
|
+
|
|
22
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
23
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
24
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
25
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
26
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Keep oversized dict-shaped tool results out of model context."""
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"""Plugin: spill oversized dict-shaped tool results to private files.
|
|
2
|
+
|
|
3
|
+
Ported from DeepSeek Harness's MIT-licensed spill design. See
|
|
4
|
+
``LICENSE.deepseek`` in this package for its copyright and license notice.
|
|
5
|
+
|
|
6
|
+
The post-tool hook receives the same dict reference that Code Puppy later
|
|
7
|
+
serializes for the model, so this plugin can replace top-level string fields
|
|
8
|
+
in place. Non-dict results (notably plain strings) cannot be replaced through
|
|
9
|
+
this hook and are deliberately left untouched.
|
|
10
|
+
|
|
11
|
+
When the combined UTF-8 size of top-level string values exceeds the configured
|
|
12
|
+
cap, fields are considered largest-first. Their full text is saved verbatim,
|
|
13
|
+
then replaced by a bounded byte-sliced head/tail preview and a retrieval notice.
|
|
14
|
+
``read_file`` is skipped by default to avoid a read -> spill -> read loop.
|
|
15
|
+
Every failure is best-effort: the successful tool result stays available inline.
|
|
16
|
+
|
|
17
|
+
Config (puppy.cfg, also settable with ``/set``):
|
|
18
|
+
spill_max_inline_bytes = 32768 # 0 or negative disables
|
|
19
|
+
spill_preview_bytes = 4096 # source bytes retained per field
|
|
20
|
+
spill_root = # unset uses a private OS temp directory
|
|
21
|
+
spill_skip_tools = read_file # comma-separated tool names
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
from __future__ import annotations
|
|
25
|
+
|
|
26
|
+
import logging
|
|
27
|
+
import math
|
|
28
|
+
from pathlib import Path
|
|
29
|
+
from typing import Any
|
|
30
|
+
|
|
31
|
+
from code_puppy.callbacks import register_callback
|
|
32
|
+
|
|
33
|
+
from . import store
|
|
34
|
+
|
|
35
|
+
logger = logging.getLogger(__name__)
|
|
36
|
+
|
|
37
|
+
MAX_INLINE_KEY = "spill_max_inline_bytes"
|
|
38
|
+
PREVIEW_KEY = "spill_preview_bytes"
|
|
39
|
+
ROOT_KEY = "spill_root"
|
|
40
|
+
SKIP_TOOLS_KEY = "spill_skip_tools"
|
|
41
|
+
DEFAULT_MAX_INLINE_BYTES = 32768
|
|
42
|
+
DEFAULT_PREVIEW_BYTES = 4096
|
|
43
|
+
DEFAULT_SKIP_TOOLS = frozenset({"read_file"})
|
|
44
|
+
OMISSION_MARKER = "\n\n[...]\n\n"
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _get_value(key: str) -> Any:
|
|
48
|
+
try:
|
|
49
|
+
from code_puppy.config import get_value
|
|
50
|
+
|
|
51
|
+
return get_value(key)
|
|
52
|
+
except Exception:
|
|
53
|
+
return None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def _get_int(key: str, default: int) -> int:
|
|
57
|
+
raw = _get_value(key)
|
|
58
|
+
if raw is None or str(raw).strip() == "":
|
|
59
|
+
return default
|
|
60
|
+
try:
|
|
61
|
+
return int(str(raw).strip())
|
|
62
|
+
except (TypeError, ValueError):
|
|
63
|
+
logger.warning("Invalid %s value; falling back to %d", key, default)
|
|
64
|
+
return default
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _get_root() -> str | None:
|
|
68
|
+
raw = _get_value(ROOT_KEY)
|
|
69
|
+
if raw is None or not str(raw).strip():
|
|
70
|
+
return None
|
|
71
|
+
return str(raw).strip()
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _get_skip_tools() -> frozenset[str]:
|
|
75
|
+
raw = _get_value(SKIP_TOOLS_KEY)
|
|
76
|
+
if raw is None or not str(raw).strip():
|
|
77
|
+
return DEFAULT_SKIP_TOOLS
|
|
78
|
+
return frozenset(name.strip() for name in str(raw).split(",") if name.strip())
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _byte_size(text: str) -> int:
|
|
82
|
+
return len(text.encode("utf-8"))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def _preview(text: str, budget: int) -> tuple[str, int]:
|
|
86
|
+
"""Return a byte-sliced preview and the count of omitted source bytes."""
|
|
87
|
+
encoded = text.encode("utf-8")
|
|
88
|
+
kept_bytes = min(max(0, budget), len(encoded))
|
|
89
|
+
if kept_bytes == 0:
|
|
90
|
+
return "", len(encoded)
|
|
91
|
+
head_bytes = math.ceil(kept_bytes / 2)
|
|
92
|
+
tail_bytes = math.floor(kept_bytes / 2)
|
|
93
|
+
head = encoded[:head_bytes].decode("utf-8", errors="replace")
|
|
94
|
+
tail = encoded[-tail_bytes:].decode("utf-8", errors="replace") if tail_bytes else ""
|
|
95
|
+
return f"{head}{OMISSION_MARKER}{tail}", len(encoded) - kept_bytes
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def _notice(omitted: int, path: Path) -> str:
|
|
99
|
+
return (
|
|
100
|
+
f"(~{omitted} bytes omitted. Full output stored at: {path}. "
|
|
101
|
+
"Retrieve it with read_file using start_line/num_lines, or grep this path.)"
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def _build_replacement(
|
|
106
|
+
text: str,
|
|
107
|
+
path: Path,
|
|
108
|
+
preview_bytes: int,
|
|
109
|
+
max_bytes: int | None,
|
|
110
|
+
) -> str | None:
|
|
111
|
+
"""Build a strictly smaller replacement, optionally fitting ``max_bytes``."""
|
|
112
|
+
original_bytes = _byte_size(text)
|
|
113
|
+
budget = min(max(0, preview_bytes), original_bytes)
|
|
114
|
+
limit = original_bytes - 1
|
|
115
|
+
if max_bytes is not None:
|
|
116
|
+
limit = min(limit, max_bytes)
|
|
117
|
+
if limit < 0:
|
|
118
|
+
return None
|
|
119
|
+
|
|
120
|
+
while True:
|
|
121
|
+
preview, omitted = _preview(text, budget)
|
|
122
|
+
notice = _notice(omitted, path)
|
|
123
|
+
replacement = f"{preview}\n\n{notice}" if preview else notice
|
|
124
|
+
replacement_bytes = _byte_size(replacement)
|
|
125
|
+
if replacement_bytes <= limit:
|
|
126
|
+
return replacement
|
|
127
|
+
if budget == 0:
|
|
128
|
+
return None
|
|
129
|
+
budget = max(0, budget - max(1, replacement_bytes - limit))
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def _spill_result(tool_name: str, result: dict[Any, Any]) -> None:
|
|
133
|
+
cap = _get_int(MAX_INLINE_KEY, DEFAULT_MAX_INLINE_BYTES)
|
|
134
|
+
if cap <= 0 or tool_name in _get_skip_tools():
|
|
135
|
+
return
|
|
136
|
+
preview_bytes = _get_int(PREVIEW_KEY, DEFAULT_PREVIEW_BYTES)
|
|
137
|
+
if preview_bytes < 0:
|
|
138
|
+
logger.warning(
|
|
139
|
+
"Invalid %s value; falling back to %d",
|
|
140
|
+
PREVIEW_KEY,
|
|
141
|
+
DEFAULT_PREVIEW_BYTES,
|
|
142
|
+
)
|
|
143
|
+
preview_bytes = DEFAULT_PREVIEW_BYTES
|
|
144
|
+
|
|
145
|
+
fields = [
|
|
146
|
+
(key, value, _byte_size(value))
|
|
147
|
+
for key, value in result.items()
|
|
148
|
+
if isinstance(value, str)
|
|
149
|
+
]
|
|
150
|
+
total = sum(size for _, _, size in fields)
|
|
151
|
+
if total <= cap:
|
|
152
|
+
return
|
|
153
|
+
|
|
154
|
+
replacements: dict[Any, str] = {}
|
|
155
|
+
for key, original, original_bytes in sorted(
|
|
156
|
+
fields, key=lambda item: item[2], reverse=True
|
|
157
|
+
):
|
|
158
|
+
if total <= cap:
|
|
159
|
+
break
|
|
160
|
+
try:
|
|
161
|
+
path = store.save_text(original, tool_name, _get_root())
|
|
162
|
+
except Exception:
|
|
163
|
+
logger.warning(
|
|
164
|
+
"Failed to spill %s result field %r; keeping it inline",
|
|
165
|
+
tool_name,
|
|
166
|
+
key,
|
|
167
|
+
exc_info=True,
|
|
168
|
+
)
|
|
169
|
+
continue
|
|
170
|
+
|
|
171
|
+
other_bytes = total - original_bytes
|
|
172
|
+
field_limit = cap - other_bytes if other_bytes < cap else None
|
|
173
|
+
replacement = _build_replacement(
|
|
174
|
+
original,
|
|
175
|
+
path,
|
|
176
|
+
preview_bytes,
|
|
177
|
+
field_limit,
|
|
178
|
+
)
|
|
179
|
+
if replacement is None:
|
|
180
|
+
logger.warning(
|
|
181
|
+
"Spill notice for %s result field %r cannot fit; keeping it inline",
|
|
182
|
+
tool_name,
|
|
183
|
+
key,
|
|
184
|
+
)
|
|
185
|
+
continue
|
|
186
|
+
replacements[key] = replacement
|
|
187
|
+
total = other_bytes + _byte_size(replacement)
|
|
188
|
+
|
|
189
|
+
# Commit atomically. A partial preview set that still exceeds the cap is
|
|
190
|
+
# neither bounded nor graceful; keep every original inline in that case.
|
|
191
|
+
if total <= cap:
|
|
192
|
+
result.update(replacements)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def _on_post_tool_call(
|
|
196
|
+
tool_name: str,
|
|
197
|
+
tool_args: dict,
|
|
198
|
+
result: Any,
|
|
199
|
+
duration_ms: float,
|
|
200
|
+
context: Any = None,
|
|
201
|
+
) -> None:
|
|
202
|
+
"""Spill oversized top-level string fields without breaking tool calls."""
|
|
203
|
+
_ = tool_args, duration_ms, context
|
|
204
|
+
try:
|
|
205
|
+
if not isinstance(result, dict) or set(result) == {"error"}:
|
|
206
|
+
return
|
|
207
|
+
_spill_result(tool_name, result)
|
|
208
|
+
except Exception:
|
|
209
|
+
logger.debug(
|
|
210
|
+
"spill plugin failed; keeping the tool result inline", exc_info=True
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def _reset_state() -> None:
|
|
215
|
+
"""Reset lazy process storage state for tests and defensive re-init."""
|
|
216
|
+
store._reset_state()
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
register_callback("post_tool_call", _on_post_tool_call)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
__all__ = [
|
|
223
|
+
"DEFAULT_MAX_INLINE_BYTES",
|
|
224
|
+
"DEFAULT_PREVIEW_BYTES",
|
|
225
|
+
"DEFAULT_SKIP_TOOLS",
|
|
226
|
+
"MAX_INLINE_KEY",
|
|
227
|
+
"PREVIEW_KEY",
|
|
228
|
+
"ROOT_KEY",
|
|
229
|
+
"SKIP_TOOLS_KEY",
|
|
230
|
+
"_build_replacement",
|
|
231
|
+
"_get_int",
|
|
232
|
+
"_on_post_tool_call",
|
|
233
|
+
"_reset_state",
|
|
234
|
+
"_spill_result",
|
|
235
|
+
]
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"""Private local storage for spilled tool-result text."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import hashlib
|
|
6
|
+
import os
|
|
7
|
+
import re
|
|
8
|
+
import secrets
|
|
9
|
+
import tempfile
|
|
10
|
+
import uuid
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
_default_root: Path | None = None
|
|
14
|
+
_process_session_id: str | None = None
|
|
15
|
+
_UNSAFE_NAME = re.compile(r"[^A-Za-z0-9._-]+")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def private_root(configured_root: str | None = None) -> Path:
|
|
19
|
+
"""Return the configured root or a lazy private per-process temp root."""
|
|
20
|
+
global _default_root
|
|
21
|
+
if configured_root:
|
|
22
|
+
root = Path(configured_root).expanduser().resolve()
|
|
23
|
+
root.mkdir(mode=0o700, parents=True, exist_ok=True)
|
|
24
|
+
return root
|
|
25
|
+
if _default_root is None:
|
|
26
|
+
_default_root = Path(tempfile.mkdtemp(prefix="code-puppy-spill-"))
|
|
27
|
+
return _default_root
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def current_session_id() -> str:
|
|
31
|
+
"""Return the active agent session id, with a stable process fallback."""
|
|
32
|
+
global _process_session_id
|
|
33
|
+
try:
|
|
34
|
+
from code_puppy.messaging import get_session_context
|
|
35
|
+
|
|
36
|
+
session_id = get_session_context()
|
|
37
|
+
if session_id:
|
|
38
|
+
return str(session_id)
|
|
39
|
+
except Exception:
|
|
40
|
+
pass
|
|
41
|
+
if _process_session_id is None:
|
|
42
|
+
_process_session_id = uuid.uuid4().hex
|
|
43
|
+
return _process_session_id
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def session_dir(root: Path, session_id: str) -> Path:
|
|
47
|
+
"""Create and return a private, hashed session directory under ``root``."""
|
|
48
|
+
digest = hashlib.sha256(session_id.encode("utf-8")).hexdigest()[:12]
|
|
49
|
+
directory = root / f"session-{digest}"
|
|
50
|
+
directory.mkdir(mode=0o700, parents=True, exist_ok=True)
|
|
51
|
+
os.chmod(directory, 0o700)
|
|
52
|
+
return directory
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def safe_filename(tool_name: str) -> str:
|
|
56
|
+
"""Convert an untrusted tool name into one harmless filename segment."""
|
|
57
|
+
raw = f"{tool_name}.txt".replace("\x00", "_")
|
|
58
|
+
safe = _UNSAFE_NAME.sub("_", raw.replace("/", "_").replace("\\", "_"))
|
|
59
|
+
while ".." in safe:
|
|
60
|
+
safe = safe.replace("..", "_")
|
|
61
|
+
safe = safe.strip(".")
|
|
62
|
+
return safe or "tool.txt"
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def save_text(content: str, tool_name: str, configured_root: str | None = None) -> Path:
|
|
66
|
+
"""Persist ``content`` verbatim with exclusive owner-only creation."""
|
|
67
|
+
root = private_root(configured_root)
|
|
68
|
+
directory = session_dir(root, current_session_id())
|
|
69
|
+
path = directory / f"{secrets.token_hex(6)}-{safe_filename(tool_name)}"
|
|
70
|
+
flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL
|
|
71
|
+
descriptor = os.open(path, flags, 0o600)
|
|
72
|
+
try:
|
|
73
|
+
with os.fdopen(descriptor, "w", encoding="utf-8", newline="") as spill_file:
|
|
74
|
+
descriptor = -1
|
|
75
|
+
spill_file.write(content)
|
|
76
|
+
os.chmod(path, 0o600)
|
|
77
|
+
finally:
|
|
78
|
+
if descriptor >= 0:
|
|
79
|
+
os.close(descriptor)
|
|
80
|
+
return path
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _reset_state() -> None:
|
|
84
|
+
"""Forget lazy process state; test cleanup remains the caller's job."""
|
|
85
|
+
global _default_root, _process_session_id
|
|
86
|
+
_default_root = None
|
|
87
|
+
_process_session_id = None
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
__all__ = [
|
|
91
|
+
"_reset_state",
|
|
92
|
+
"current_session_id",
|
|
93
|
+
"private_root",
|
|
94
|
+
"safe_filename",
|
|
95
|
+
"save_text",
|
|
96
|
+
"session_dir",
|
|
97
|
+
]
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "code-puppy-core-plugins"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.5"
|
|
8
8
|
description = "Official plugin bundle for Code Puppy"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
|
@@ -69,6 +69,7 @@ puppy_spinner = "code_puppy_core_plugins.puppy_spinner.register_callbacks"
|
|
|
69
69
|
quick_resume = "code_puppy_core_plugins.quick_resume.register_callbacks"
|
|
70
70
|
review_pr = "code_puppy_core_plugins.review_pr.register_callbacks"
|
|
71
71
|
shell_safety = "code_puppy_core_plugins.shell_safety.register_callbacks"
|
|
72
|
+
spill = "code_puppy_core_plugins.spill.register_callbacks"
|
|
72
73
|
stack_dump = "code_puppy_core_plugins.stack_dump.register_callbacks"
|
|
73
74
|
statusline = "code_puppy_core_plugins.statusline.register_callbacks"
|
|
74
75
|
steer_queue = "code_puppy_core_plugins.steer_queue.register_callbacks"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|